840Dsl Basic FCT Man 1217 en-US
840Dsl Basic FCT Man 1217 en-US
840Dsl Basic FCT Man 1217 en-US
Fundamental safety
instructions 1
A2: Various NC/PLC
interface signals and 2
functions
SINUMERIK
A3: Axis monitoring functions 3
SINUMERIK 840D sl A5: Protection zones 4
Basic Functions B1: Continuous-path mode,
Exact stop, Look Ahead 5
B2: Acceleration 6
Function Manual
F1: Travel to fixed stop 7
G2: Velocities, setpoint /
actual value systems, closed- 8
loop control
H2: Auxiliary function outputs
to PLC 9
K1: Mode group, channel,
program operation, reset 10
response
K2: Axis Types, Coordinate
Systems, Frames 11
N2: Emergency stop 12
P1: Transverse axes 13
P3: Basic PLC program for
SINUMERIK 840D sl 14
P4: PLC for SINUMERIK
828D 15
R1: Referencing 16
Valid for S1: Spindles 17
Control
SINUMERIK 840D sl / 840DE sl V1: Feedrates 18
CNC software Version 4.8 SP2 W1: Tool offset 19
12/2017 Z1: NC/PLC interface signals 20
6FC5397-0BP40-6BA1
Appendix A
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.
Proper use of Siemens products
Note the following:
WARNING
Siemens products may only be used for the applications described in the catalog and in the relevant technical
documentation. If products and components from other manufacturers are used, these must be recommended or
approved by Siemens. Proper transport, storage, installation, assembly, commissioning, operation and
maintenance are required to ensure that the products operate safely and without any problems. The permissible
ambient conditions must be complied with. The information in the relevant documentation must be observed.
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.
SINUMERIK documentation
The SINUMERIK documentation is organized into the following categories:
● General documentation/catalogs
● User documentation
● Manufacturer/service documentation
Additional information
You can find information on the following topics at the following address (https://
support.industry.siemens.com/cs/de/en/view/108464614):
● Ordering documentation/overview of documentation
● Additional links to download documents
● Using documentation online (find and search in manuals/information)
If you have any questions regarding the technical documentation (e.g. suggestions,
corrections), please send an e-mail to the following address
(mailto:[email protected]).
mySupport/Documentation
At the following address (https://support.industry.siemens.com/My/ww/en/documentation),
you can find information on how to create your own individual documentation based on
Siemens' content, and adapt it for your own machine documentation.
Training
At the following address (http://www.siemens.com/sitrain), you can find information about
SITRAIN (Siemens training on products, systems and solutions for automation and drives).
FAQs
You can find Frequently Asked Questions in the Service&Support pages under Product
Support (https://support.industry.siemens.com/cs/de/en/ps/faq).
SINUMERIK
You can find information about SINUMERIK at the following address (http://www.siemens.com/
sinumerik).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 3
Preface
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
Country-specific telephone numbers for technical support are provided in the Internet at the
following address (https://support.industry.siemens.com/sc/ww/en/sc/2090) in the "Contact"
area.
Structure
This Function Manual is structured as follows:
● Inner title (page 3) with the title of the Function Manual, the SINUMERIK controls as well
as the software and the version for which this version of the Function Manual is applicable
and the overview of the individual functional descriptions.
● Description of the functions in alphabetical order (e.g. A2, A3, B1, etc.)
Basic Functions
4 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
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 machine data description
● For NC/PLC interface signals:
NC Variables and Interface Signals List Manual
● For alarms:
Diagnostics Manual
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, 12/2017, 6FC5397-0BP40-6BA1 5
Preface
Quantity structure
Explanations concerning the NC/PLC interface are based on the absolute maximum number
of the following 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:
Arrays
Arrays can only be formed from similar elementary data types. Up to 3-dimensional arrays are
possible.
Example: DEF INT ARRAY[2, 3, 4]
Number systems
The following number systems are available:
● Decimal: DEF INT number = 1234 or DEF REAL number = 1234.56
● Hexadecimal: DEF INT number = 'H123ABC'
● Binary: DEF INT number = 'B10001010010'
Basic Functions
6 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Preface
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 7
Preface
Basic Functions
8 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Table of contents
Preface.........................................................................................................................................................3
1 Fundamental safety instructions.................................................................................................................37
1.1 General safety instructions.....................................................................................................37
1.2 Warranty and liability for application examples......................................................................37
1.3 Industrial security...................................................................................................................38
2 A2: Various NC/PLC interface signals and functions.................................................................................39
2.1 Brief description.....................................................................................................................39
2.2 NC/PLC interface signals.......................................................................................................39
2.2.1 General information................................................................................................................39
2.2.2 Ready signal to PLC..............................................................................................................41
2.2.3 Status signals to PLC.............................................................................................................41
2.2.4 Signals to/from the operator panel front.................................................................................42
2.2.5 Signals to channel..................................................................................................................44
2.2.6 Signals to axis/spindle............................................................................................................44
2.2.7 Signals from axis/spindle.......................................................................................................53
2.2.8 Signals to axis/spindle (digital drives)....................................................................................55
2.2.9 Signals from axis/spindle (digital drives)................................................................................56
2.3 Functions................................................................................................................................58
2.3.1 Screen refresh behavior for overload - only 840D sl..............................................................58
2.3.2 Settings for involute interpolation - only 840D sl....................................................................59
2.3.3 Activate DEFAULT memory - only 840D sl............................................................................61
2.3.4 Read and write PLC variable - only 840D sl..........................................................................62
2.3.5 Access protection via password and keyswitch.....................................................................65
2.3.5.1 Password...............................................................................................................................67
2.3.5.2 Keyswitch positions (DB10, DBX56.4 to 7)............................................................................69
2.3.5.3 Parameterizable protection levels..........................................................................................70
2.3.6 Switching over motor/drive data sets.....................................................................................70
2.3.6.1 General Information...............................................................................................................70
2.3.6.2 Formatting interfaces.............................................................................................................71
2.3.6.3 Request interface...................................................................................................................72
2.3.6.4 Display interface.....................................................................................................................72
2.3.6.5 Example.................................................................................................................................72
2.3.6.6 Overview of the interfaces......................................................................................................73
2.3.6.7 Supplementary conditions......................................................................................................75
2.4 Examples...............................................................................................................................75
2.4.1 Parameter set changeover.....................................................................................................75
2.5 Data lists................................................................................................................................77
2.5.1 Machine data..........................................................................................................................77
2.5.1.1 Display machine data.............................................................................................................77
2.5.1.2 NC-specific machine data......................................................................................................77
2.5.1.3 Channelspecific machine data...............................................................................................78
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 9
Table of contents
Basic Functions
10 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Table of contents
3.9.3 Example: Changing an attachment head for a direct position measuring system...............127
3.9.4 Example: Changing an attachment head for two direct position measuring systems..........132
3.9.5 Example: Measuring system switchover when encoders are missing in certain parts of
the range..............................................................................................................................136
3.10 Switching over encoder data sets........................................................................................139
3.11 Data lists..............................................................................................................................142
3.11.1 Machine data........................................................................................................................142
3.11.1.1 NC-specific machine data....................................................................................................142
3.11.1.2 Channelspecific machine data.............................................................................................142
3.11.1.3 Axis/spindlespecific machine data.......................................................................................143
3.11.2 Setting data..........................................................................................................................144
3.11.2.1 Axis/spindlespecific setting data..........................................................................................144
3.11.3 Signals.................................................................................................................................144
3.11.3.1 Signals to axis/spindle..........................................................................................................144
3.11.3.2 Signals from axis/spindle.....................................................................................................145
4 A5: Protection zones................................................................................................................................147
4.1 Function...............................................................................................................................147
4.2 Commissioning.....................................................................................................................153
4.2.1 Machine data........................................................................................................................153
4.3 Programming........................................................................................................................154
4.3.1 Defining protection zones (CPROTDEF, NPROTDEF)........................................................154
4.3.2 Activating/deactivating protection zones (CPROT, NPROT)...............................................157
4.3.3 Checking for protection zone violation, working area limitation and software limit
switches (CALCPOSI)..........................................................................................................161
4.4 Special situations.................................................................................................................170
4.4.1 Temporary enabling of protection zones..............................................................................170
4.4.2 Behavior in the AUTOMATIC and MDA modes...................................................................171
4.4.3 Behavior in JOG mode.........................................................................................................172
4.5 Boundary conditions.............................................................................................................175
4.6 Example...............................................................................................................................176
4.6.1 Protection zone on a lathe...................................................................................................176
4.6.2 Protection zone definition in the part program.....................................................................177
4.6.3 Protection zone definition with system variables..................................................................177
4.6.4 Activating protection zones..................................................................................................185
4.7 Data lists..............................................................................................................................185
4.7.1 Machine data........................................................................................................................185
4.7.1.1 NC-specific machine data....................................................................................................185
4.7.1.2 Channelspecific machine data.............................................................................................186
4.7.2 Signals.................................................................................................................................186
4.7.2.1 Signals to channel................................................................................................................186
4.7.2.2 Signals from channel............................................................................................................186
5 B1: Continuous-path mode, Exact stop, Look Ahead...............................................................................187
5.1 Brief Description...................................................................................................................187
5.2 Exact stop mode..................................................................................................................189
5.3 Continuous-path mode.........................................................................................................193
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 11
Table of contents
Basic Functions
12 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Table of contents
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 13
Table of contents
6.2.12.1 Parameterization..................................................................................................................290
6.2.12.2 Programming........................................................................................................................291
6.2.13 Path-jerk limitation (channel-specific)..................................................................................291
6.2.13.1 General Information.............................................................................................................291
6.2.13.2 Parameterization..................................................................................................................292
6.2.13.3 Programming........................................................................................................................292
6.2.14 Path jerk for real-time events (channel-specific)..................................................................293
6.2.14.1 General Information.............................................................................................................293
6.2.14.2 Programming........................................................................................................................294
6.2.15 Jerk with programmed rapid traverse (G00) (axis-specific).................................................295
6.2.15.1 General Information.............................................................................................................295
6.2.15.2 Parameterization..................................................................................................................295
6.2.16 Excessive jerk for block transitions without constant curvature (axis-specific)....................295
6.2.16.1 General Information.............................................................................................................295
6.2.16.2 Parameterization..................................................................................................................296
6.2.17 Velocity-dependent jerk adaptation (axis-specific)...............................................................296
6.2.18 Jerk filter (axis-specific)........................................................................................................298
6.2.18.1 General Information.............................................................................................................298
6.2.18.2 Parameterization..................................................................................................................300
6.2.19 Kneeshaped acceleration characteristic curve.....................................................................301
6.2.19.1 Function: Adaptation to the motor characteristic curve........................................................301
6.2.19.2 Function: Effects on the path acceleration...........................................................................302
6.2.19.3 Function: Substitute curve....................................................................................................302
6.2.19.4 Parameterization..................................................................................................................305
6.2.19.5 Programming: Channel-specific activation (DRIVE)............................................................308
6.2.19.6 Programming: Axis-specific activation (DRIVEA).................................................................308
6.2.19.7 Boundary conditions.............................................................................................................309
6.2.20 Acceleration and jerk for JOG motions................................................................................310
6.2.20.1 Parameterization..................................................................................................................310
6.2.20.2 Supplementary conditions....................................................................................................312
6.3 Examples.............................................................................................................................313
6.3.1 Acceleration.........................................................................................................................313
6.3.1.1 Path velocity characteristic...................................................................................................313
6.3.2 Jerk......................................................................................................................................314
6.3.2.1 Path velocity characteristic...................................................................................................314
6.3.3 Acceleration and jerk............................................................................................................316
6.3.4 Knee-shaped acceleration characteristic curve...................................................................317
6.3.4.1 Activation..............................................................................................................................317
6.4 Data lists..............................................................................................................................318
6.4.1 Machine data........................................................................................................................318
6.4.1.1 NC-specific machine data....................................................................................................318
6.4.1.2 Channel-specific machine data............................................................................................318
6.4.1.3 Axis/spindlespecific machine data.......................................................................................319
6.4.2 Setting data..........................................................................................................................320
6.4.2.1 Channelspecific setting data................................................................................................320
6.4.3 System variables..................................................................................................................320
7 F1: Travel to fixed stop.............................................................................................................................321
7.1 Brief description...................................................................................................................321
7.2 Detailed description..............................................................................................................322
7.2.1 Programming........................................................................................................................322
Basic Functions
14 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Table of contents
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 15
Table of contents
Basic Functions
16 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Table of contents
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 17
Table of contents
Basic Functions
18 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Table of contents
10.9.11.1 Function...............................................................................................................................574
10.9.11.2 Parameterization..................................................................................................................578
10.9.11.3 Programming........................................................................................................................582
10.9.11.4 Boundary conditions.............................................................................................................583
10.9.11.5 Examples.............................................................................................................................583
10.9.12 Influencing the stop events by stop delay areas..................................................................585
10.9.12.1 Function...............................................................................................................................585
10.9.12.2 Parameterization..................................................................................................................588
10.9.12.3 Programming........................................................................................................................588
10.9.12.4 Supplementary conditions....................................................................................................590
10.10 Asynchronous subprograms (ASUPs).................................................................................591
10.10.1 Function...............................................................................................................................591
10.10.1.1 Execution sequence of an ASUP in program mode.............................................................594
10.10.1.2 ASUP with REPOSA............................................................................................................595
10.10.1.3 NC response........................................................................................................................596
10.10.2 Commissioning: Machine data.............................................................................................597
10.10.2.1 NC-spec.: Mode-group-specific NC/PLC interface signals and operating mode
switchover............................................................................................................................597
10.10.2.2 NC-spec.: ASUP start enable...............................................................................................598
10.10.2.3 NC-spec.: Effectiveness of the parameterized start enables...............................................598
10.10.2.4 Channel-spec.: Start enable despite non-referenced axes..................................................599
10.10.2.5 Channel-spec.: Start enable despite read-in disable...........................................................599
10.10.2.6 Channel-spec.: Continuous execution despite single block.................................................600
10.10.2.7 Channel-spec.: Refreshing the display................................................................................600
10.10.3 Programming: System variables..........................................................................................601
10.10.3.1 REPOS option ($P_REPINF)...............................................................................................601
10.10.3.2 Activation event ($AC_ASUP)..............................................................................................601
10.10.4 Programming (SETINT, PRIO).............................................................................................601
10.10.5 Restrictions..........................................................................................................................603
10.10.6 Examples.............................................................................................................................604
10.11 User-specific ASUB for RET and REPOS............................................................................605
10.11.1 Function...............................................................................................................................605
10.11.2 Parameter assignment.........................................................................................................605
10.11.3 Programming........................................................................................................................606
10.12 Perform ASUB start for user alarms.....................................................................................607
10.12.1 Function...............................................................................................................................607
10.12.2 Activation..............................................................................................................................608
10.12.3 Examples.............................................................................................................................609
10.12.3.1 User ASUB from reset - example 1......................................................................................609
10.12.3.2 User ASUB from reset - example 2......................................................................................610
10.12.3.3 User ASUB with M0.............................................................................................................611
10.12.3.4 User ASUB with stop............................................................................................................612
10.12.3.5 User ASUB from stopped.....................................................................................................613
10.13 Single block..........................................................................................................................614
10.13.1 Parameterization..................................................................................................................615
10.13.2 Programming........................................................................................................................617
10.13.2.1 Deactivating/activating single block machining (SBLOF, SBLON).......................................617
10.13.2.2 Supplementary conditions....................................................................................................617
10.13.2.3 Examples.............................................................................................................................618
10.13.3 Mode group-specific single block type A / B........................................................................621
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 19
Table of contents
Basic Functions
20 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Table of contents
10.20.1.2 Commissioning.....................................................................................................................692
10.20.1.3 Supplementary conditions....................................................................................................694
10.20.1.4 Examples.............................................................................................................................694
10.20.2 Workpiece counter...............................................................................................................695
10.20.2.1 Function...............................................................................................................................695
10.20.2.2 Commissioning.....................................................................................................................696
10.20.2.3 Supplementary conditions....................................................................................................697
10.20.2.4 Examples.............................................................................................................................698
10.21 Data lists..............................................................................................................................699
10.21.1 Function...............................................................................................................................699
10.21.2 Machine data........................................................................................................................700
10.21.2.1 General machine data..........................................................................................................700
10.21.2.2 Channel-specific machine data............................................................................................702
10.21.2.3 Axis/spindlespecific machine data.......................................................................................705
10.21.3 Setting data..........................................................................................................................705
10.21.3.1 Channelspecific setting data................................................................................................705
10.21.4 Signals.................................................................................................................................705
10.21.4.1 Signals to NC.......................................................................................................................705
10.21.4.2 Signals to mode group.........................................................................................................706
10.21.4.3 Signals to NC.......................................................................................................................706
10.21.4.4 Signals to channel................................................................................................................706
10.21.4.5 Signals from channel............................................................................................................707
10.21.4.6 Signals to NC.......................................................................................................................708
10.21.4.7 Signals from axis/spindle.....................................................................................................708
11 K2: Axis Types, Coordinate Systems, Frames.........................................................................................709
11.1 Brief description...................................................................................................................709
11.1.1 Axes.....................................................................................................................................709
11.1.2 Coordinate systems.............................................................................................................711
11.1.3 Frames.................................................................................................................................712
11.2 Axes.....................................................................................................................................715
11.2.1 Overview..............................................................................................................................715
11.2.2 Machine axes.......................................................................................................................716
11.2.3 Channel axes.......................................................................................................................717
11.2.4 Geometry axes.....................................................................................................................717
11.2.5 Special axes.........................................................................................................................717
11.2.6 Path axes.............................................................................................................................718
11.2.7 Positioning axes...................................................................................................................718
11.2.8 Main axes.............................................................................................................................719
11.2.9 Synchronized axes...............................................................................................................720
11.2.10 Axis configuration.................................................................................................................722
11.2.11 Link axes..............................................................................................................................724
11.3 Zeros and reference points..................................................................................................725
11.3.1 Reference points in working space......................................................................................725
11.3.2 Position of coordinate systems and reference points...........................................................727
11.4 Coordinate systems.............................................................................................................728
11.4.1 Overview..............................................................................................................................728
11.4.2 Machine coordinate system (MCS)......................................................................................730
11.4.2.1 Actual value setting with loss of the referencing status (PRESETON)................................731
11.4.2.2 Actual value setting without loss of the referencing status (PRESETONS).........................736
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 21
Table of contents
Basic Functions
22 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Table of contents
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 23
Table of contents
Basic Functions
24 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Table of contents
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 25
Table of contents
Basic Functions
26 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Table of contents
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 27
Table of contents
Basic Functions
28 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Table of contents
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 29
Table of contents
Basic Functions
30 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Table of contents
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 31
Table of contents
Basic Functions
32 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Table of contents
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 33
Table of contents
Basic Functions
34 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Table of contents
19.8.5.4 Activating the modification of the offset data for rotatable tools (CUTMOD, CUTMODK):
Further information.............................................................................................................1598
19.8.6 Example.............................................................................................................................1601
19.9 Incrementally programmed compensation values..............................................................1603
19.9.1 G91 extension....................................................................................................................1603
19.9.2 Traversing in the direction of tool orientation (MOVT).......................................................1604
19.10 Parameterizable basic tool orientation...............................................................................1606
19.10.1 Function.............................................................................................................................1606
19.10.2 Commissioning...................................................................................................................1607
19.10.2.1 Machine data......................................................................................................................1607
19.10.2.2 Setting data........................................................................................................................1607
19.10.2.3 System variables................................................................................................................1610
19.10.3 Example.............................................................................................................................1612
19.11 Special handling of tool compensations.............................................................................1612
19.11.1 Relevant setting data.........................................................................................................1612
19.11.2 Mirror tool lengths (SD42900 $SC_MIRROR_TOOL_LENGTH)........................................1613
19.11.3 Mirror wear lengths (SD42920 $SC_WEAR_SIGN_CUTPOS)..........................................1614
19.11.4 Tool length and plane change (SD42940 $SC_TOOL_LENGTH_CONST).......................1616
19.11.5 Tool type (SD42950 $SC_TOOL_LENGTH_TYPE)...........................................................1617
19.11.6 Tool lengths in the WCS, allowing for the orientation........................................................1618
19.11.7 Tool length offsets in tool direction.....................................................................................1618
19.12 Sum offsets and setup offsets............................................................................................1622
19.12.1 General information............................................................................................................1622
19.12.2 Description of function........................................................................................................1623
19.12.3 Activation............................................................................................................................1626
19.12.4 Examples...........................................................................................................................1632
19.12.5 Upgrades for Tool Length Determination...........................................................................1633
19.12.5.1 Calculation of compensation values on a location-specific and workpiece-specific basis..1633
19.12.5.2 Functionality of the individual wear values.........................................................................1637
19.13 Working with tool environments.........................................................................................1640
19.13.1 Save tool environment (TOOLENV)...................................................................................1641
19.13.2 Delete tool environment (DELTOOLENV)..........................................................................1643
19.13.3 Read T, D and DL number (GETTENV).............................................................................1644
19.13.4 Read information about the saved tool environments ($P_TOOLENVN, ($P_TOOLENV)..1645
19.13.5 Read tool lengths and/or tool length components (GETTCOR).........................................1645
19.13.6 Change tool components (SETTCOR)...............................................................................1651
19.14 Read the assignment of the tool lengths L1, L2, L3 to the coordinate axes (LENTOAX) ..1663
19.15 Supplementary conditions..................................................................................................1666
19.15.1 Flat D number structure.....................................................................................................1666
19.15.2 SD42935 expansions.........................................................................................................1666
19.15.3 Scratching..........................................................................................................................1667
19.16 Data lists............................................................................................................................1667
19.16.1 Machine data......................................................................................................................1667
19.16.1.1 NC-specific machine data..................................................................................................1667
19.16.1.2 Channelspecific machine data...........................................................................................1667
19.16.1.3 Axis/spindlespecific machine data.....................................................................................1669
19.16.2 Setting data........................................................................................................................1669
19.16.2.1 Channelspecific setting data..............................................................................................1669
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 35
Table of contents
19.16.3 Signals...............................................................................................................................1670
19.16.3.1 Signals from channel..........................................................................................................1670
20 Z1: NC/PLC interface signals.................................................................................................................1671
A Appendix.................................................................................................................................................1673
A.1 List of abbreviations...........................................................................................................1673
A.2 Documentation overview....................................................................................................1682
Glossary.................................................................................................................................................1683
Index.......................................................................................................................................................1705
Basic Functions
36 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Fundamental safety instructions 1
1.1 General safety instructions
WARNING
Danger to life if the safety instructions and residual risks are not observed
If the safety instructions and residual risks in the associated hardware documentation are not
observed, accidents involving severe injuries or death can occur.
● Observe the safety instructions given in the hardware documentation.
● Consider the residual risks for the risk evaluation.
WARNING
Malfunctions of the machine as a result of incorrect or changed parameter settings
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.
● Handle possible malfunctions by taking suitable measures, e.g. emergency stop or
emergency off.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 37
Fundamental safety instructions
1.3 Industrial security
Note
Industrial security
Siemens provides products and solutions with industrial security functions that support the
secure operation of plants, systems, machines and networks.
In order to protect plants, systems, machines and networks against cyber threats, it is
necessary to implement – and continuously maintain – a holistic, state-of-the-art industrial
security concept. Siemens products and solutions only represent one component of such a
concept.
The customer is responsible for preventing unauthorized access to its plants, systems,
machines and networks. Systems, machines and components should only be connected to
the enterprise network or the internet if and to the extent necessary and with appropriate
security measures (e.g. use of firewalls and network segmentation) in place.
Additionally, Siemens’ guidance on appropriate security measures should be taken into
account. For more information about industrial security, please visit:
Industrial security (http://www.siemens.com/industrialsecurity).
Siemens’ products and solutions undergo continuous development to make them more secure.
Siemens strongly recommends to apply product updates as soon as available and to always
use the latest product versions. Use of product versions that are no longer supported, and
failure to apply latest updates may increase customer’s exposure to cyber threats.
To stay informed about product updates, subscribe to the Siemens Industrial Security RSS
Feed at:
Industrial security (http://www.siemens.com/industrialsecurity).
WARNING
Unsafe operating states resulting from software manipulation
Software manipulations (e.g. viruses, trojans, malware or worms) can cause unsafe operating
states in your system that may lead to death, serious injury, and property damage.
● Keep the software up to date.
● Incorporate the automation and drive components into a holistic, state-of-the-art industrial
security concept for the installation or machine.
● Make sure that you include all installed products into the holistic industrial security concept.
● Protect files stored on exchangeable storage media from malicious software by with
suitable protection measures, e.g. virus scanners.
Basic Functions
38 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions 2
2.1 Brief description
Contents
The PLC/NC interface comprises a data interface on one side and a function interface on the
other. The data interface contains status and control signals, auxiliary and G commands, while
the function interface is used to transfer jobs from the PLC to the NC.
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)
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, 12/2017, 6FC5397-0BP40-6BA1 39
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
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.
Basic Functions
40 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
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 commands):
→ Function Manual, Basic Functions; Auxiliary Function Output to PLC (H2)
● Overview of all interface signals, functional and data components:
→ List Manual 2
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 41
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
Basic Functions
42 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
DB19 DBX 0.3 / 0.4 (Delete cancel alarms / Delete recall alarms)
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 DBB16 (program selection from the PLC: index of the program list)
Control byte for specifying the program list.
DB19 DBB17 (program selection from the PLC: program index in the program list)
Control byte for specifying the program number.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 43
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
References
For more information about the program selection of the PLC, see:
● Program selection (Page 936) for SINUMERIK 840D sl
● Program selection (Page 1145) for SINUMERIK 828D
NOTICE
Specifications for the drive test
It is the sole responsibility of the machine manufacturer / system startup engineer to take
suitable action / carry out appropriate tests to ensure that the machine axis can be traversed
during the drive test without putting personnel or machinery at risk.
If machine axes are traversed by special test functions such as "function generator", an explicit
drive-test-specific enable is requested for the motion:
DB31, ... DBX61.0 = 1 (drive test travel request)
The motion is carried out once the motion is enabled:
DB31, ... DBX1.0 == 1 (drive test travel enable)
Basic Functions
44 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
Stationary axis
If the interface signal is set for a stationary axis, all travel request are ignored as of this time.
The travel requests are retained. If the axis disable is canceled when a traversing request is
pending DB31, ... DBX1.3 = 0 the motion is carried out.
Traversing axis
If the interface signal is set for a traversing axis, the axis is stopped using the currently active
brake characteristic. If the interface signal is reset while the travel request is still present,
traversing is continued.
Spindle
● Open-loop control mode: Speed setpoint zero is output immediately
● Positioning mode: See "Stationary axis" / "Traversing axis" above
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, 12/2017, 6FC5397-0BP40-6BA1 45
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
Note
The following error is suddenly corrected if the controller enable is set without complying with
the axial acceleration characteristic (speed jump).
Application example
Positioning response of machine axis Y following clamping when "controller enable" is set.
Clamping pushed the machine axis from the actual position Y1 to the clamping position Yk.
3RVLWLRQVHWSRLQWIURP
WKH,32
3RVLWLRQ
FRQWUROOHU
&ORVHGORRS
FRQWUROOHUHQDEOH
UHPRYHG
8SGDWHVHWSRLQW
$FWXDOSRVLWLRQ
YDOXH
Basic Functions
46 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
167)ROORZXSPRGH
< 7DNHDZD\167&RQWUROOHUHQDEOH
7HUPLQDOV
<. 1 /RRVHQWHUPLQDOV
6HTXHQFH 6HW167&RQWUROOHUHQDEOH
<
1
<.
<
< 167)ROORZXSPRGH
7UDMHFWRU\LIQRSDUW
7DNHDZD\167&RQWUROOHUHQDEOH
SURJUDPLVDFWLYH
7HUPLQDOV
/RRVHQWHUPLQDOV
6HW167&RQWUROOHUHQDEOH
<.
6HTXHQFH
< 1
1
7UDMHFWRU\LIRQO\;LV
<. SURJUDPPHGLQ1
DQGWKHSDUWSURJUDPLV
DFWLYH
<
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 47
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
< 167)ROORZXSPRGH
7UDMHFWRU\LIQRSDUW
7DNHDZD\167&RQWUROOHUHQDEOH
SURJUDPLVDFWLYH
7HUPLQDOV
/RRVHQWHUPLQDOV
6HW167&RQWUROOHUHQDEOH
<.
6HTXHQFH
< 1
1
7UDMHFWRU\LIRQO\;LV
<. SURJUDPPHGLQ1
DQGWKHSDUWSURJUDPLV
DFWLYH
<
Basic Functions
48 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
not exceeded during follow-up mode. If the encoder limit frequency is exceeded, the controller
will detect this:
● DB31, ... DBX60.4 / 60.5 = 0 (referenced/synchronized 1/2)
● Alarm: "21610 Encoder frequency exceeded"
Note
If "follow-up mode" is deactivated for a machine axis, which is part of an active
transformation (e.g. TRANSMIT), this can generate motions as part of repositioning
(REPOS) other machine axes involved in the transformation.
Monitoring
If a machine axis is in follow-up mode, the following monitoring mechanisms will not act:
● Standstill monitoring
● Clamping monitoring
● Positioning monitoring
Effects on other interface signals:
● DB31, ... DBX60.7 = 0 (position reached with exact stop fine)
● DB31, ... DBX60.6 = 0 (position reached with exact stop coarse)
3RVLWLRQVHWSRLQWRI
LQWHUSRODWRU
LVROO
3RVLWLRQ 6SHHG &XUUHQW (QFR (QFR
0RWRU
FRQWUROOHU FRQWUROOHU FRQWUROOHU GHU GHU
LLVW
QLVW
/0
/0
/0
/0
3DUNLQJD[LV
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 49
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
Functionality of the "Position measuring system 1 / 2" interface signals in conjunction with the
"Controller enable":
Basic Functions
50 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
● The machine axis position control loop opens. Feedback via interface signal:
DB31, ... DBX61.5 == 0 (position controller active).
The time for the parameterized cut-off delay of the controller enable is started by the
machine data:
MD36620 $MA_SERVO_DISABLE_DELAY_TIME (OFF delay of the controller enable)
● As soon as the actual speed has reached the zero speed range, the drive controller enable
is cancelled. Feedback via interface signal:
DB31, ... DBX61.6 == 0 (speed controller active)
● The actual position value of the machine axis continues to be acquired by the controller.
● At the end of the braking operation, the machine axis is switched to follow-up mode,
regardless of the corresponding NC/PLC interface signal. Standstill and clamping
monitoring are not effective. See the description above for the interface signal:
DB31, ... DBX1.4 (follow-up mode).
Synchronizing the actual value (reference point approach)
Once the controller enable has been set, the actual position of the machine axis does not need
to be synchronized again (reference point approach) if the maximum permissible limit
frequency of the measuring system was not exceeded during the time in which the machine
axis was not in position-control mode.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 51
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
3RVLWLRQFRQWUROOHULVLPPHGLDWHO\RSHQHG
Y
9LVW
$[LVPRYLQJ
4XLFNVWRS
ZLWKRSHQSRVLWLRQFRQWURO
9VROO ORRS
0'67$1'67,//B9(/2B72/
W
0'$;B(0(5*(1&<B6723B7,0(
0'6(592B',6$%/(B'(/$<B7,0(
167&RQWUROOHUHQDEOH
W
1673RVLWLRQFRQWUROOHUDFWLYH
W
&RQWUROOHUHQDEOHRQGULYH
1676SHHGFRQWUROOHUDFWLYH
W
Figure 2-5 Cancelling the controller enable when the machine axis is in motion
Basic Functions
52 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
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 1333)".
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":
To ensure a relatively jerk-free changeover, the parameter set changeover does not take
place until the axis is "stopped", i.e. the assigned standstill velocity has been reached or
exceeded:
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 405)".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 53
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
Basic Functions
54 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 55
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
● Setpoint enable
● "Ready to run state"
– No drive alarm (DClink1 error)
– DC link connected
– Ramp-up completed
Feedback signal via: DB31, ... DBX93.7 (pulses enabled)
Basic Functions
56 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.2 NC/PLC interface signals
Note
Temperature prewarning DB31, ... DBX94.0 and DBX94.1
The interface signals are derived from the following signals of the cyclic drive telegram:
● Case 1: Temperature warning in the message word
– DB31, ... DBX94.0 = MELDW, bit 6 (no motor overtemperature warning)
– DB31, ... DBX94.1 = MELDW, bit 7 (no thermal overload in power unit warning)
● Case 2: Warning of warning class B (only in interface mode "SIMODRIVE 611U", p2038 = 1)
DB31, ... DBX94.0 == 1 and DBX94.1 == 1, if the following applies:
Cyclic drive telegram, status word 1 (ZSW1), bits 11/12 == 2 (warning class B)
The interface signals are derived from the warning of warning class B if there is no specific
information from the message word.
An alarm is displayed. Alarm number = 200.000 + alarm value (r2124)
For a detailed description of the motor temperature monitoring setting, see:
References:
● S120 Commissioning Manual, Section "Commissioning" > "Temperature sensors for
SINAMICS components"
● S120 Function Manual, Section "Monitoring and protective functions"
● S120 List Manual
– MELDW, bit 6 ≙ BO: r2135.14 → function diagram: 2548, 8016
– MELDW, bit 7 ≙ BO: r2135.15 → function diagram: 2548, 2452, 2456, 8016
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 57
A2: Various NC/PLC interface signals and functions
2.3 Functions
2.3 Functions
Value Meaning
0 If the preprocessing run of a channel is too slow, the display is not refreshed in all channels.
1 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.
2 Display refresh is not suppressed.
Basic Functions
58 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.3 Functions
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.
&HQWHURIEDVLFFLUFOH
6WDUWLQJSRLQW
;<
) [
)
%DVLFFLUFOH
(QGSRLQW
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.
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)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 59
A2: Various NC/PLC interface signals and functions
2.3 Functions
6WDUWLQJ
5
SRLQW
(QGSRLQW
%DVLFFLUFOH
0D[GHYLDWLRQ
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
6WDUWLQJSRLQW
Figure 2-8 Limited angle of rotation towards base circle
The alarm display can be suppressed using the following parameter settings:
MD21016 $MC_INVOLUTE_AUTO_ANGLE_LIMIT = TRUE (automatic angle limitation for
involute interpolation)
Basic Functions
60 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.3 Functions
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:
MD28530 $MC_MM_PATH_VELO_SEGMENTS > 1 (number of memory elements for limiting
the path velocity)
A setting of 5 is recommended. This setting need not be made if only involute sections are
used which have radii of curvature that change over a relatively small area.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 61
A2: Various NC/PLC interface signals and functions
2.3 Functions
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.
Basic Functions
62 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.3 Functions
1&$B'%'> 3/&&$//)&
'DWHQW\S'%'%\WH
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).
● The user's programming engineer is responsible for coordinating access operations to the
communications buffer from different channels.
● Data consistency can be guaranteed only for access operations up to 16 bits (byte and
word). The user is solely responsible for ensuring consistent transmission of 32-bit variables
(double and real). A simple semaphore mechanism is available in the PLC for this purpose.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 63
A2: Various NC/PLC interface signals and functions
2.3 Functions
Program code
N10 DEF REAL DBR
N12 DEF REAL EPSILON = 0.00001
N20 $A_DBR[0]=145.145
N30 G4 F2
N40 STOPRE
N50 DBR=$A_DBR[0]
N60 IF ( ABS(DBR/145.145-1.0) < EPSILON ) GOTOF ENDE
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 4th byte. The position
offset must be a whole-number multiple of the data width.
Basic Functions
64 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.3 Functions
References
A detailed description of the data exchange by the PLC with FC 21 can be found in:
SINUMERIK 840D sl: Section "Function (Page 1090)"
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 65
A2: Various NC/PLC interface signals and functions
2.3 Functions
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
66 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.3 Functions
● Options can be protected on each protection level. However, option data can only be
entered in protection levels 0 and 1.
● Access rights for protection levels 4 to 7 are only suggestions and can be altered by the
machine tool manufacturer or end user.
2.3.5.1 Password
Set password
The password for a protection level (0 – 3) is entered via the HMI user interface.
Operating area "Commissioning" > "Password" > "Set password"
Delete password
Access rights assigned by means of setting a password remain effective until they are explicitly
revoked by deleting the password:
Operating area "Commissioning" > "Password" > "Delete password"
Change password
The password for a protection level (0 – 3) is changed via the HMI user interface.
Operating area "Commissioning" > "Password" > "Change password"
Note
Warm restart
Access rights and password status (set/deleted) are not affected by a warm restart!
New password
A password may contain up to eight characters. We recommend that you confine yourself to
the characters available on the operator panel front when selecting the password.
Where a password consists of less than eight characters, the additional characters are
interpreted as blanks.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 67
A2: Various NC/PLC interface signals and functions
2.3 Functions
When assigning a new password, the rules for assigning secure passwords must be taken into
account.
Note
Assigning secure passwords
Observe the following rules when assigning new passwords:
● When assigning new passwords, make sure that you do not assign passwords that can be
easily guessed, e.g. simple words, key combinations that can be easily guessed, etc.
● Passwords must always contain a combination of upper-case and lower-case letters as
well as numbers and special characters. Passwords must comprise at least eight
characters. PINS must comprise an arbitrary sequence of digits.
● Wherever possible and where it is supported by the IT systems, a password must always
have a character sequence as complex as possible.
Further rules for the assignment of secure passwords can be found at Federal Office for
Information Security (Bundesamt für Sicherheit in der Informationstechnik, abbreviated as
BSI). (https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/International/
GSK_15_EL_EN_Draft.pdf?__blob=publicationFile&v=2)
You can use a program for password management for assistance when dealing with
passwords. With its help, you can save passwords and PINs in encrypted form, manage them
and generate secure passwords.
Defaults
As standard, the following passwords are effective for protection levels 1 - 3:
● Protection level 1: SUNRISE
● Protection level 2: EVENING
● Protection level 3: CUSTOMER
NOTICE
A cold restart reset the passwords to the default settings
After a cold restart (the NC powers up and standard machine data is loaded), the passwords
of protection levels 1 - 3 are again reset to the default settings. For security reasons, after a
cold restart we urgently recommend that the default settings of the passwords are changed.
References
● "SINUMERIK 840D sl Basic Software and Operating Software" Commissioning Manual,
Section "SINUMERIK Operate (IM9)" > "General settings" > "Access levels".
● Commissioning Manual, "Commissioning CNC: NC, PLC, Drive"; Section "Requirements
for commissioning" > "Switch-on and power up" and "Access levels"
Basic Functions
68 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.3 Functions
Keyswitch
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.
3RVLWLRQ %LW
RU
3RVLWLRQ %ODFNNH\ %LW
RURU
3RVLWLRQ *UHHQNH\ %LW
RURU
3RVLWLRQ RU %LW
5HGNH\
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:
References
● CNC Commissioning Manual: NC, PLC, Drives, Fundamentals,
Section: Basics on the protection levels
● Commissioning Manual SINUMERIK Operate (IM9); General Settings,
Section: Access levels
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 69
A2: Various NC/PLC interface signals and functions
2.3 Functions
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.
Note
References
Commissioning Manual: CNC: NC, PLC, Drive, Section "Commissioning NC-controlled drives"
The following duplication and management of the data sets is performed via the user interface:
SINUMERIK Operate: Operating area "Start-up" > "Drive system" > "Drives" > "Data sets"
The activation of the motor data set (MDS) or drive data set (DDS) required for a machine axis
in a specific machining situation, must be made from the PLC user program via the interfaces
described below.
Basic Functions
70 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.3 Functions
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
0 Bit position for motor data set (MDS) – or invalid bit position
1 Bit position for drive data set (DDS)
Note
With invalid request and display interfaces, it however remains the sole responsibility of the
user / machine manufacturer to perform a data set switchover via the invalid request and
display interfaces.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 71
A2: Various NC/PLC interface signals and functions
2.3 Functions
See also
Example (Page 72)
Overview of the interfaces (Page 73)
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 71).
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 74).
Basic Functions
72 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.3 Functions
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
See also
Overview of the interfaces (Page 73)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 73
A2: Various NC/PLC interface signals and functions
2.3 Functions
Basic Functions
74 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.4 Examples
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 74):
● Motor data sets: MDS[ 0 ], MDS[ 1 ], ... MDS[ 3 ] ("last" motor data set)
● Drive data sets per motor data set: DDS[ 0 ] ... DDS[ 7 ]
The number of drive data sets for the individual motor data sets is therefore:
Motor data set (MDS) Number of drive data sets (DDS) per motor data set (MDS)
MDS[ 0 ] ... MDS[ 2 ] 8
MDS[ 3 ] 1-8
See also
Overview of the interfaces (Page 73)
2.4 Examples
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 75
A2: Various NC/PLC interface signals and functions
2.4 Examples
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)
Basic Functions
76 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.5 Data lists
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, 12/2017, 6FC5397-0BP40-6BA1 77
A2: Various NC/PLC interface signals and functions
2.5 Data lists
Basic Functions
78 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.5 Data lists
Names Description
$P_FUMB Unassigned part program memory (Free User Memory Buffer)
$A_DBB[n] Data on PLC (data type BYTE)
$A_DBW[n] Data on PLC (WORD type data)
$A_DBD[n] Data on PLC (DWORD type data)
$A_DBR[n] Data on PLC (REAL type data)
2.5.3 Signals
2.5.3.1 Signals to NC
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 79
A2: Various NC/PLC interface signals and functions
2.5 Data lists
Basic Functions
80 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A2: Various NC/PLC interface signals and functions
2.5 Data lists
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 81
A2: Various NC/PLC interface signals and functions
2.5 Data lists
Basic Functions
82 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions 3
3.1 Contour monitoring
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 83
A3: Axis monitoring functions
3.1 Contour 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.
The following error that arises depends on:
● Position control loop gain
MD32200 $MA_POSCTRL_GAIN (servo gain factor)
● Maximum acceleration
MD32300 $MA_MAX_AX_ACCEL (maximum axis acceleration)
● Maximum velocity
MD32000 $MA_MAX_AX_VELO (maximum axis velocity)
● With activated feedforward control:
Precision of the path model and the parameters:
MD32610 $MA_VELO_FFW_WEIGHT (factor for the velocity feedforward control)
MD32800 $MA_EQUIV_CURRCTRL_TIME (equivalent time constant current control loop
for feedforward control)
MD32810 $MA_EQUIV_SPEEDCTRL_TIME (equivalent time constant speed control loop
for feedforward control)
In the acceleration phase, the following error initially increases when traversing along a
machine axis. After a time depending on the parameterization of the position control loop, the
following error then remains constant in the ideal case. Due to external influences, more or
less large fluctuations in the following error always arise during a machining process. To
prevent these fluctuations in the following error from triggering an alarm, a tolerance range
within which the following error may change must be defined for the following-error monitoring:
MD36400 $MA_CONTOUR_TOL (Contour monitoring tolerance range)
)ROORZLQJHUURU
7ROHUDQFHEDQG
'V )LUVWFXW
0HDVXUHG
IROORZLQJHUURU 0'0$B&217285B72/
&DOFXODWHG
IROORZLQJHUURUPRGHO
%HJLQPDFKLQLQJ
W
Basic Functions
84 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.1 Contour monitoring
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)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 85
A3: Axis monitoring functions
3.2 Positioning, zero speed and clamping monitoring
Overview
The following overview shows the correlation between the positioning, zero speed and
clamping monitoring functions:
9RUV
(IIHFWLYHWROHUDQFH
IRUGRZQWLPHRUFODPSLQJ
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' ([DFWVWRSILQH6LJQDO W
0$B67$1'67,//
B'(/$<B7,0( ([DFWVWRSFRDUVH6LJQDO
0'0$B326,7,21,1*B7,0(
Function
At the end of a positioning operation:
● Set velocity = 0 AND
● DB31, ... DBX64.6/7 (motion command minus/plus) = 0
Basic Functions
86 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.2 Positioning, zero speed and clamping monitoring
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)
MD36020 $MA_POSITIONING_TIME (delay time exact stop fine)
After reaching "Exact stop fine", the position monitoring is deactivated.
Note
The smaller the exact stop fine tolerance is, the longer the positioning operation takes and the
longer the time until block change.
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)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 87
A3: Axis monitoring functions
3.2 Positioning, zero speed and clamping monitoring
Function
At the end of a positioning operation:
● Set velocity = 0 AND
● DB31, ... DBX64.6/7 (motion command minus/plus) = 0
checks the zero-speed monitoring to ensure that the following error of every participating
machine axis is smaller than the standstill tolerance during the delay time.
MD36040 $MA_STANDSTILL_DELAY_TIME (zero-speed monitoring delay time)
MD36030 $MA_STANDSTILL_POS_TOL (standstill tolerance)
After reaching the required exact-stop state, the positioning operation is completed:
DB31, ... DBX60.6/7 (position reached with exact stop coarse/fine) = 1
The position-monitoring function is deactivated and is replaced by the zero-speed monitoring.
Zero-speed monitoring monitors the adherence to the standstill tolerance. If no new travel
request is received, the machine axis must not depart from the standstill tolerance.
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)
Basic Functions
88 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.2 Positioning, zero speed and clamping monitoring
3.2.5.1 Function
For machine axes that are mechanically clamped upon completion of a positioning operation,
a displacement of the axis from the position setpoint can result from the clamping process.
Setting the NC/PLC interface signal DB31, ... DBX2.3 (clamping in progress) causes the
clamping tolerance (MD36050 $MA_CLAMP_POS_TOL) rather than the standstill tolerance
(MD36030 $MA_STANDSTILL_POS_TOL) to be monitored for the duration of the clamping
process. Alarm 26000 "clamping monitoring" is issued if the clamping tolerance is overshot.
Clamping tolerance
The clamping tolerance, which is higher than the standstill tolerance, is entered in machine
data:
MD36050 $MA_CLAMP_POS_TOL[<axis>] = <clamping tolerance>
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 89
A3: Axis monitoring functions
3.2 Positioning, zero speed and clamping monitoring
When the clamping tolerance is exceeded, alarm 26000 "Clamping monitoring" is only
displayed after the alarm delay time has elapsed.
An alarm is not output, if the clamping tolerance is fallen below again before the alarm delay
time lapses.
The alarm delay time is restarted when the clamping tolerance is exceeded again.
Basic Functions
90 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.2 Positioning, zero speed and clamping monitoring
Parameterization
MD36052 $MA_STOP_ON_CLAMPING[<clamping axis>] = 'H01'
Requirements/assumptions
● If, for the clamping axis there is a traversing command (DB31, ... DBX64.6 / .7), then the
clamping is released by the PLC user program.
● The following relationship must exist between the controller enable signal (DB31, ...
DBX2.1) and the clamping of the clamping axis:
Example:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 91
A3: Axis monitoring functions
3.2 Positioning, zero speed and clamping monitoring
Schematic change of the NC/PLC interface signals and states for the N310 and N410 blocks:
'%'%;
WUDYHOFRPPDQG
'%'%;
FODPSLQJLQSURJUHVV
&ODPSLQJSUHVVXUH
'%'%;
IHHGUDWHVWRS
'%'%;
FRQWUROOHUHQDEOH
3DWKYHORFLW\
W>V@
7UDYHUVLQJEORFNV
1*= 1*$
① NC: The automatically inserted stop causes a stop at the N310 block end.
② NC → PLC: After the block change, the travel command for the clamping axis is set.
PLC: The clamping is released based on the travel command.
③ PLC → NC: The clamping pressure is removed appropriately. The clamping axis is enabled for
traversal.
Activation
MD36052 $MA_STOP_ON_CLAMPING[<clamping axis>] = 'H03'
Basic Functions
92 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.2 Positioning, zero speed and clamping monitoring
Requirements/assumptions
● If, for the clamping axis there is a traversing command (DB31, ... DBX64.6 / .7), then the
clamping is released by the PLC user program.
● While other axes are traversing with rapid traverse (G0), the clamping axis must not be
clamped.
Example:
Schematic change of the NC/PLC interface signals and states for the N220 to N410 blocks:
'%'%;
WUDYHOFRPPDQG
'%'%;
FODPSLQJLQSURJUHVV
&ODPSLQJSUHVVXUH
'%'%;
IHHGUDWHVWRS
'%'%;
FRQWUROOHUHQDEOH
3DWKYHORFLW\
W>V@
7UDYHUVLQJEORFNV
1*;< 1*= 1*$
① NC → PLC: The travel command for the clamping axis is set because of the block change.
PLC: The clamping is released based on the travel command.
② PLC → NC: The clamping pressure is removed appropriately. The clamping axis is enabled for
traversal.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 93
A3: Axis monitoring functions
3.2 Positioning, zero speed and clamping monitoring
Activation
MD36052 $MA_STOP_ON_CLAMPING[<clamping axis>] = 'H04'
Requirements/assumptions
● If, for the clamping axis, there is no traversing command (DB31, ... DBX64.6 / .7), then the
clamping isclosed by the PLC user program.
● While other axes are traversing with rapid traverse (G0), the clamping axis must not be
clamped.
● If the channel-specific feedrate override is not equal to 0% (DB21, ... DBB4 ≠ 0%), then the
clamping axis is clamped.
Example
Schematic change of the NC/PLC interface signals and states for the N410 to N610 blocks:
Basic Functions
94 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.2 Positioning, zero speed and clamping monitoring
'%'%;
WUDYHOFRPPDQG
'%'%;
FODPSLQJLQSURJUHVV
&ODPSLQJSUHVVXUH
'%'%;
IHHGUDWHVWRS
'%'%;
FRQWUROOHUHQDEOH
'%'%%
IHHGUDWHRYHUULGH
3DWKYHORFLW\
W>V@
7UDYHUVLQJEORFNV
1*$ 1*; 1*= 1*=
① NC → PLC: The travel command for the clamping axis is reset because of the block change.
② PLC: The clamping is initiated
③ PLC → NC: The clamping pressure is sufficiently large to reset the controller enable
④ PLC → NC: Enable the N610 machining by setting the channel-specific feedrate override not
0%.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 95
A3: Axis monitoring functions
3.2 Positioning, zero speed and clamping monitoring
If during the above-described clamping functions, the continuous-path mode and thus also the
"LookAhead" function is interrupted by blocks without traversing (e.g. output of an M function
M82/M83), the functions behave as follows:
● Clamping function: "Time-optimized release of the axis clamping"
(MD36052 $MA_STOP_ON_CLAMPING[<axis>] = 'B011')
The function no longer acts because the travel command is set in Look Ahead mode only
for blocks with active continuous-path mode. The output of the M function M82 in block
N320 of the sample program below stops the traversing and so interrupts the continuous-
path mode.
The Look Ahead stopping on N410 by the function is not necessary because stopping
occurs anyway by N320.
● Clamping function: "Automatic stop to set the clamping":
(MD36052 $MA_STOP_ON_CLAMPING[<axis] = 'B100')
The function generates a stop irrespective of M83 that is executed as a function of "feedrate
override 0%". The axis is thus stopped before the first machining block.
Note
Using clamping functions without clamping
The following clamping functions can also be used independent of clamping the axis:
● "Automatic stop to release the clamping":
MD36052 $MA_STOP_ON_CLAMPING[<axis>] = 'B001'
Behavior: A stop is made in the current block on the path when the controller enable
(DB31, ... DBX2.1) for the parameterized <axis> is not set, but it is traversed in one of the
following blocks.
● "Automatic stop to set the clamping":
MD36052 $MA_STOP_ON_CLAMPING[<axis>] = 'B100'
Behavior: A stop is made in the current block on the path when at the transition from rapid
traverse blocks (G0) to traversing blocks (G1), the channel-specific feedrate override
(DB21, ... DBB4) is 0%.
In both cases it is ensured that the path motion in continuous-path mode is already stopped
before the start of the relevant part program block and not just within the block.
Basic Functions
96 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.2 Positioning, zero speed and clamping monitoring
Note
The following data can be evaluated by the PLC user program as the criterion for activating
the follow-up mode (DB31, ... DBX1.4):
● DB31, ... DBX60.6/.7 (position reached with coarse/fine exact stop)
● Actual position of the clamping axis
Follow-up mode
The clamping monitoring is not active in follow-up mode
DB31, ... DBX1.4 == 1 (follow-up mode).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 97
A3: Axis monitoring functions
3.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)
'ULIWYDOXH
3UHFRQWUROYDOXH RQO\IRUDQDORJGULYHV
7RVSHHG
.9
FRQWUROOHU
)ROORZLQJ
HUURU 6SHHGVHWSRLQW
PRQLWRULQJ
3RVLWLRQ
FRQWUROOHU
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>@
0'0$B&75/287B/,0,7>Q@
0'0$B&75/287B/,0,7>Q@
HJ
IRUWHVWPRGH
W
Figure 3-3 Speed setpoint limitation
Basic Functions
98 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.4 Actual-velocity monitoring
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.
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).
Activation
The actual-velocity monitoring is activated as soon as the active measuring system returns
valid actual values (encoder limit frequency not exceeded).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 99
A3: Axis monitoring functions
3.5 Measuring system monitoring
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)
Basic Functions
100 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.5 Measuring system monitoring
MD36310 $MA_ENC_ZERO_MONITORING
Value 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.
> 0 but < 100 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: ON with attenuated error message:
The POWER ON alarm 25000 is replaced by the reset alarm 25010
and the reset alarm 25001 replaced by the cancel alarm 25011.
Zero-mark monitoring: ON (see above)
Note
For hardware faults, the referencing status of the machine axis is reset:
DB31, ... DBX60.4/5 (referenced/synchronized 1/2) = 0
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 101
A3: Axis monitoring functions
3.5 Measuring system 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
102 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.5 Measuring system monitoring
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 re-
referenced (see Section "R1: Referencing (Page 1227)").
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 absolute-
position faults.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 103
A3: Axis monitoring functions
3.5 Measuring system monitoring
Note
Rotary absolute encoders
If the plausibility check is to be used for a rotary absolute encoder, the SINAMICS parameter
p0979 must be taken into account when setting the modulo range (MD34220
$MA_ENC_ABS_TURNS_MODULO).
Note
Upgrading the NC software
If the plausibility check is activated in absolute encoders (MD36310 > 0), the existing MD36310
settings must be checked and, if necessary, increased during an upgrade of the NC software.
Value Meaning
0 No zero mark diagnostics
>0 Permissible deviation in 1/2 coarse increments between the absolute and the incremental
encoder track
Note
Depending on the rigidity of the machine (minimal load masses / moments of inertia are
optimum) and the controller settings, the control play "oscillates" with varying degrees of
intensity. Account must be taken of this by entering machine-specific limit values in MD36310.
Basic Functions
104 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.5 Measuring system monitoring
Error case
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 1257)").
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.
Example:
Users can adjust the alarm and reaction behavior so that when machining an expensive
workpiece, which could be damaged if the axis is stopped as a result of an alarm, machining
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 105
A3: Axis monitoring functions
3.5 Measuring system monitoring
stops before the machining quality of the workpiece is assessed using appropriate
synchronized action commands.
Effectiveness
Customized monitoring can be activated in parallel to or as an alternative to standard zero-
mark monitoring, depending on the setting in machine data:
MD36310 $MA_ENC_ZERO_MONITORING
Value Meaning
0 If only user-specific monitoring is to be implemented, the default zero-mark monitoring
must be deactivated:
MD36310 = 0
and
MD36312 = 0
>0 Customized monitoring and standard zero-mark monitoring operate in parallel.
100 All encoder monitoring functions are deactivated.
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
106 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.5 Measuring system monitoring
System variables
You can implement customized error reactions using the following system variables:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 107
A3: Axis monitoring functions
3.6 Limit-switch monitoring
7UDYHUVLQJUDQJH0LQXV 7UDYHUVLQJUDQJH3OXV
:RUNLQJDUHDOLPLWDWLRQ
QGVRIWZDUHOLPLWVZLWFK
VWVRIWZDUHOLPLWVZLWFK
+DUGZDUHOLPLWVZLWFK
(PHUJHQF\VWRS
0HFKDQLFDOWUDYHUVLQJOLPLW
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
0 Braking with the configured axial acceleration
1 Rapid stop (set velocity = 0)
Basic Functions
108 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.6 Limit-switch monitoring
Effectiveness
The hardware limit-switch monitoring is active after the controller has ramped up in all modes.
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.
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.
Supplementary 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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 109
A3: Axis monitoring functions
3.6 Limit-switch monitoring
● 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
Effects
Automatic operating modes (AUTOMATIC, MDI)
● 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 software limit switch
<direction>"
Basic Functions
110 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.7 Working area limitation monitoring
3.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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 111
A3: Axis monitoring functions
3.7 Working area limitation monitoring
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
112 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.7 Working area limitation monitoring
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>
<value> Meaning
0 The working area limitation is deactivated during the geometry axis change.
1 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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 113
A3: Axis monitoring functions
3.7 Working area limitation monitoring
[ 3URJUDPPDEOHZRUNLQJ
DUHDOLPLWDWLRQ
*
[PD[
: ]
[PLQ * *
]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 direction-
specific 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
0 The working area limitation in positive or negative direction is switched off.
1 The working area limitation in positive or negative direction is active.
Basic Functions
114 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.7 Working area limitation monitoring
Reset position
The reset position for the working area limitation (WALIMON or WALIMOF) is configurable via:
MD20150 $MC_GCODE_RESET_VALUES (reset setting of the G groups)
Application
The "working area limitation" in the WCS/SZS enables a flexible workpiece-specific 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.
Requirement
The channel axes must be referenced.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 115
A3: Axis monitoring functions
3.7 Working area limitation monitoring
The number of the working area limitation groups is set channel-specific in the machine data:
MD28600 $MC_MM_NUM_WORKAREA_CS_GROUPS
Maximum 10 working area limitation groups are possible per channel.
Basic Functions
116 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.7 Working area limitation monitoring
<value> Meaning
1 The reference system is the WCS.
3 The reference system is the SZS.
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:
● _N_CHx_WAL
To save the system variable values for channel x.
● _N_COMPLETE_WAL
To save the system variable values for all channels.
Note
The system variables of the working area limits are part of the "_N_INITIAL_INI" file.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 117
A3: Axis monitoring functions
3.7 Working area limitation monitoring
<value> Meaning
0 The working area group takes effect in accordance with MD20150 (default setting).
1 The last active working area group remains active.
Assumption
Channel axes
Four axes are defined in the channel:
● Linear axes: X, Y, Z
● Rotary axis: A (not modulo)
Basic Functions
118 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.7 Working area limitation monitoring
Requirements
Channel axes
Four axes are defined in the channel:
● Linear axes: X, Y, Z
● Rotary axis: A (not modulo)
Coordinate systems
● Working area limitation group 1: Working area limitation in the adjustable zero system
(AZS).
● Working area limitation group 2: Working area limitation in the workpiece coordinate system
(WCS).
Program code
; Working area limitation group 1
$P_WORKAREA_CS_COORD_SYSTEM[1] = 3 ; working area limitation in the
SZS
$P_WORKAREA_CS_PLUS_ENABLE[1,X] = TRUE
$P_WORKAREA_CS_LIMIT_PLUS[1,X] = 10
$P_WORKAREA_CS_MINUS_ENABLE[1,X] = FALSE
$P_WORKAREA_CS_PLUS_ENABLE[1,Y] = FALSE
$P_WORKAREA_CS_MINUS_ENABLE[1,Y] = TRUE
$P_WORKAREA_CS_LIMIT_MINUS[1,Y] = 25
$P_WORKAREA_CS_PLUS_ENABLE[1,Z] = FALSE
$P_WORKAREA_CS_MINUS_ENABLE[1,Z] = FALSE
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 119
A3: Axis monitoring functions
3.7 Working area limitation monitoring
Program code
$P_WORKAREA_CS_PLUS_ENABLE[1,A] = TRUE
$P_WORKAREA_CS_LIMIT_PLUS[1,A] = 10
$P_WORKAREA_CS_MINUS_ENABLE[1,A] = TRUE
$P_WORKAREA_CS_LIMIT_MINUS[1,A] = -40
Program code
; Working area limitation group 2
$P_WORKAREA_CS_COORD_SYSTEM[2] = 1 ; working area limitation in the
WCS
$P_WORKAREA_CS_PLUS_ENABLE[2,X] = TRUE
$P_WORKAREA_CS_LIMIT_PLUS[2,X] = 10
$P_WORKAREA_CS_MINUS_ENABLE[2,X] = FALSE
$P_WORKAREA_CS_PLUS_ENABLE[2,Y] = TRUE
$P_WORKAREA_CS_LIMIT_PLUS[2,Y] = 34
$P_WORKAREA_CS_MINUS_ENABLE[2,Y] = TRUE
$P_WORKAREA_CS_LIMIT_MINUS[2,Y] = –25
$P_WORKAREA_CS_PLUS_ENABLE[2,Z] = FALSE
$P_WORKAREA_CS_MINUS_ENABLE[2,Z] = TRUE
$P_WORKAREA_CS_LIMIT_PLUS[2,Z] = –600
$P_WORKAREA_CS_PLUS_ENABLE[2,A] = FALSE
$P_WORKAREA_CS_MINUS_ENABLE[2,A] = FALSE
Activation
The working area limitation groups are activated in the NC program using command
WALCS<x>, with x: Number of the working area limitation group
Basic Functions
120 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.8 Parking a machine axis
Activation / deactivation
Activate parking
The "Parking" function is activated for a machine axis by resetting the axis-specific NC/PLC
interface signals for the position measuring systems and the controller enable:
● DB31, ... DBX1.5 = 0 (position measuring system 1)
● DB31, ... DBX1.6 = 0 (position measuring system 2)
● DB31, ... DBX2.1 = 0 (controller enable)
The encoder status of the position measuring system of the axis is then set to "Not referenced":
● DB31, ... DBX60.4 = 0 (referenced / synchronized, position measuring system 1)
● DB31, ... DBX60.5 = 0 (referenced/synchronized, position measuring system 2)
The following further NC/PLC interface signals are also reset:
● DB31, ... DBX61.5 = 0 (position controller active)
● DB31, ... DBX61.6 = 0 (speed controller active)
● DB31, ... DBX61.7 = 0 (current controller active)
● DB31, ... DBX93.7 = 0 (pulses enabled)
● DB31, ... DBX102.5 = 0 (position measuring system 1 activated)
● DB31, ... DBX102.6 = 0 (position measuring system 2 activated)
Deactivate parking
The "Parking" function is deactivated for a machine axis by setting the axis-specific NC/PLC
interface signals for the position measuring system to be activated and the controller enable:
● DB31, ... DBX1.5 = 1 (position measuring system 1)
or
DB31, ... DBX1.6 = 1 (position measuring system 2) = 1
● DB31, ... DBX2.1 = 1 (controller enable) = 1
The position control for the machine axis becomes active again at the current position.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 121
A3: Axis monitoring functions
3.8 Parking a machine axis
The encoder state of the position measuring systems depends on the measuring system type:
● Incremental position measuring system ⇒ "not referenced" state
– DB31, ... DBX60.4 = 0 (referenced / synchronized, position measuring system 1)
– DB31, ... DBX60.5 = 0 (referenced/synchronized, position measuring system 2)
● Absolute position measuring system ⇒ "referenced/synchronized" state
– DB31, ... DBX60.4 = 1 (referenced / synchronized, position measuring system 1)
– DB31, ... DBX60.5 = 1 (referenced/synchronized, position measuring system 2)
The following NC/PLC interface signals are also set again:
● DB31, ... DBX61.5 = 1 (position controller active)
● DB31, ... DBX61.6 = 1 (speed controller active)
● DB31, ... DBX61.7 = 1 (current controller active)
● DB31, ... DBX93.7 = 1 (pulses enabled)
● DB31, ... DBX102.5 = 1 (position measuring system 1 activated)
● DB31, ... DBX102.6 = 1 (position measuring system 2 activated)
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 Section
"R1: Referencing (Page 1227)."
Basic Functions
122 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.9 Parking the passive position measuring system
3.9.1 Function
Contrary to the "Parking a machine axis (Page 121)" 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 366)".
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 127)
– Example: Changing an attachment head for two direct position measuring systems
(Page 132)
● 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 136)".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 123
A3: Axis monitoring functions
3.9 Parking the passive position measuring system
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
Basic Functions
124 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.9 Parking the passive position measuring system
Note
Switching over to a parked position measuring system takes longer than to a non-parked
position measuring system. Because of the time taken, we recommend switching over while
the axes are stationary.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 125
A3: Axis monitoring functions
3.9 Parking the passive position measuring system
Value Meaning
1 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
2 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 1227)".
Basic Functions
126 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.9 Parking the passive position measuring system
3.9.3 Example: Changing an attachment head for a direct position measuring system
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, 12/2017, 6FC5397-0BP40-6BA1 127
A3: Axis monitoring functions
3.9 Parking the passive position measuring system
Objective
The user would like to change from attachment head "A" to attachment head "B."
Basic Functions
128 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.9 Parking the passive position measuring system
Execution
6SLQGOH63
$GDSWHUKHDG$
*HDUER[
0RWRU
(
(
$GDSWHUKHDG$
*HDUER[
6SLQGOH63
$GDSWHUKHDG$ (
*HDUER[
0RWRU
( $GDSWHUKHDG%
(
6SLQGOH63
$GDSWHUKHDG%
$FWLYHHQFRGHU
0RWRU
3DVVLYHHQFRGHU
(
3DUNHGHQFRGHU
① Before changing an attachment head, the user must deactivate all position measuring systems
of the machine axis using the "Parking a machine axis (Page 121)" function:
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 attachment head "A" and
coupling. The absence of encoder E2 does not generate any NC or drive faults.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 129
A3: Axis monitoring functions
3.9 Parking the passive position measuring system
Objective
The user now wishes to remount attachment head "A" again.
Basic Functions
130 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.9 Parking the passive position measuring system
Execution
6SLQGOH63
$GDSWHUKHDG%
0RWRU
(
$GDSWHUKHDG%
6SLQGOH63
$GDSWHUKHDG%
0RWRU
$GDSWHUKHDG$
(
*HDUER[
(
6SLQGOH63
$GDSWHUKHDG$
*HDUER[ $FWLYHHQFRGHU
0RWRU
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.
③ Attachment head "A" is now mounted on the spindle.
④ The user activates position measuring system 2:
DB31, ... DBX1.6 (position measuring system 2) = 1
As a consequence, position measuring system 1 is also simultaneously activated; This is be‐
cause the "Park passive position measuring system" function is not active for position measuring
system 1 (motor measuring system!). Position measuring system 1 becomes a passive position
measuring system.
The controller then sets the status signals for the position measuring systems:
DB31, ... DBX102.5 (position measuring system 1 activated) == 1
DB31, ... DBX102.6 (position measuring system 2 activated) == 1
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 131
A3: Axis monitoring functions
3.9 Parking the passive position measuring system
3.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
Objective
The user would like to change from attachment head "A" to attachment head "B."
Basic Functions
132 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.9 Parking the passive position measuring system
Execution
6SLQGOH63
$GDSWHUKHDG$
*HDUER[ *HDUER[
0RWRU
(
( (
$GDSWHUKHDG$
*HDUER[
6SLQGOH63
$GDSWHUKHDG$ (
*HDUER[ *HDUER[
0RWRU
( $GDSWHUKHDG%
( (
6SLQGOH63
$GDSWHUKHDG%
*HDUER[
$FWLYHHQFRGHU
0RWRU
3DVVLYHHQFRGHU
( (
3DUNHGHQFRGHU
① Before changing an attachment head, the user must deactivate all position measuring systems
of the machine axis using the "Parking a machine axis (Page 121)" function:
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 attachment head "A" and
coupling. The absence of encoder E3 does not generate any NC or drive faults.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 133
A3: Axis monitoring functions
3.9 Parking the passive position measuring system
Objective
The user now wishes to remount attachment head "A" again.
Basic Functions
134 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.9 Parking the passive position measuring system
Execution
6SLQGOH63
$GDSWHUKHDG%
*HDUER[
0RWRU
( (
$GDSWHUKHDG%
6SLQGOH63
$GDSWHUKHDG%
*HDUER[
0RWRU
$GDSWHUKHDG$
( (
*HDUER[
(
6SLQGOH63
$GDSWHUKHDG$
*HDUER[ *HDUER[
$FWLYHHQFRGHU
0RWRU
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.
③ Attachment head "A" is now mounted on the spindle.
④ The user activates position measuring system 2:
DB31, ... DBX1.6 (position measuring system 2) = 1
As a consequence, position measuring system 1 is also simultaneously activated; This is be‐
cause the "Park passive position measuring system" function is not active for position measuring
system 1. Position measuring system 1 becomes a passive position measuring system.
The controller then sets the status signals for the position measuring systems:
DB31, ... DBX102.5 (position measuring system 1 activated) == 1
DB31, ... DBX102.6 (position measuring system 2 activated) == 1
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 135
A3: Axis monitoring functions
3.9 Parking the passive position measuring system
3.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
● 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
● Transfer of the position and the "referenced" status is activated for position measuring
system 2:
MD34210 $MA_ENC_REFP_STATE[ 1 ] = 2
Basic Functions
136 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.9 Parking the passive position measuring system
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 137
A3: Axis monitoring functions
3.9 Parking the passive position measuring system
Execution
*HDUER[
7DEOH
0RWRU %DOOVFUHZ
/LQHDUVFDOH
(
(
*HDUER[
7DEOH
0RWRU %DOOVFUHZ
/LQHDUVFDOH
(
(
*HDUER[
7DEOH
0RWRU %DOOVFUHZ
/LQHDUVFDOH
(
(
( 0RWRUHQFRGHU $FWLYHHQFRGHU
( 'LUHFWOLQHDUHQFRGHU 3DVVLYHHQFRGHU
7UDYHUVLQJPRWLRQ 3DUNHGHQFRGHU
① 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 measuring
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 meas‐
uring system.
Basic Functions
138 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.10 Switching over encoder data sets
③ 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.
Application
Different attachment heads may be used in succession on one and the same power unit in
order to perform different machining tasks.
One motor data set (MDS) and one encoder data set (EDS) must be programmed for each
attachment head that is equipped with a motor or an encoder. These data sets must be
switched over in the PLC program whenever the attachment head is changed. An MDS/EDS
switchover can only be implemented indirectly in this regard via switchover of the drive data
set (DDS).
Function
NOTICE
Machine damage
If the following drive parameters and machine data have different settings, the axis might not
traverse at the programmed speed or to the programmed position.
The machine data must be changed simultaneously and consistently with encoder data
switchover in the parked state.
Encoder data switchover in the control is limited to the following SINAMICS drive parameters.
● p0408 (rotary encoder pulse number)
● p0418 (fine resolution of encoder emulation Gx_XIST1 (in bits))
● p0419 (fine resolution absolute value Gx_XIST2 (in bits))
With these parameters, it is possible to switch over encoder data sets with the same encoder
type but a different number of encoder pulses.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 139
A3: Axis monitoring functions
3.10 Switching over encoder data sets
Value Meaning
0 Encoder data set switchover EDS is not used.
1. Encoder data set switchover EDS is used.
A machine data item is provided for each of the drive parameters p0408, p0418, and p0419,
which must be parameterized in accordance with the active encoder data set:
● MD31710 $MA_ENC_RESOL_EDS (encoder pulses per revolution for EDS use)
● MD31720 $MA_ENC_PULSE_MULT_EDS (encoder multiplication (high resolution) for
EDS use)
● MD31730 $MA_ABS_INC_RATIO_EDS (absolute encoder: ratio between absolute
resolution and incremental resolution for EDS use)
Effectiveness
If MD31700 $MA_ENC_EDS_ACTIVE = 1, the following machine data no longer take effect:
● MD30260 $MA_ABS_INC_RATIO (absolute encoder: ratio between absolute resolution
and incremental resolution)
● MD31020 $MA_ENC_RESOL (encoder pulses per revolution)
● MD31025 $MA_ENC_PULSE_MULT (encoder multiplication (high resolution))
The drive data switchover in DB3x.DBX21.0 - 4 also switches over the encoder data sets.
Switchover is performed in the parked state (see Chapter "Parking a machine axis
(Page 121)" and "Parking the passive position measuring system (Page 123)").
Note
If MD31700 $MA_ENC_EDS_ACTIVE = 1, no plausibility check between the values set in the
drive and control is performed.
Basic Functions
140 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.10 Switching over encoder data sets
Supplementary conditions
SINUMERIK supplementary conditions
● Only machine data for rotary encoders are available.
● Traversing range extension for absolute-value encoders
MD30270 $MA_ENC_ABS_BUFFERING = 0 is not permissible.
SINAMICS supplementary conditions are described in the following documentation.
References
SINAMICS S120 Function Manual Drive Functions;
"Basic information about the drive system" > "Data sets"
● Chapter "DDS: Drive Data Set"
● Chapter "EDS: Encoder Data Set"
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 141
A3: Axis monitoring functions
3.11 Data lists
Basic Functions
142 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.11 Data lists
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 143
A3: Axis monitoring functions
3.11 Data lists
3.11.3 Signals
Basic Functions
144 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A3: Axis monitoring functions
3.11 Data lists
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 145
A3: Axis monitoring functions
3.11 Data lists
Basic Functions
146 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones 4
4.1 Function
Protection zones are static or moveable in 2- or 3-dimensional ranges within a machine to
protect machine elements against collisions - and must be defined by the user.
The following elements can be protected:
● Fixed machine elements (e.g. tool magazine, probe that can be swiveled).
● Moving machine elements that belong to the tool (e.g. tool, tool holder)
● Moving machine elements that belong to the workpiece (e.g. parts of the workpiece,
clamping table, clamping shoe, spindle chuck, tailstock).
In order that it is guaranteed that the machine element is protected, the protection zones must
be defined so that they completely envelope the element to be protected.
Protection zone monitoring is channel-specific, i.e. all the active protection zones of a channel
monitor one another for 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.
<
%
=
;
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 147
A5: Protection zones
4.1 Function
3rd dimension
Extending the protection zone in the 3rd dimension can be limited between - ∞ and + ∞:
● -∞ to +∞
● -∞ up to the upper limit
● Lower limit to +∞
● Lower limit to upper limit
Coordinate system
The definition of a protection zone takes place with reference to the geometry axis of a channel
and therefore in the basic coordinate system (BCS).
Reference
● Tool-related protection zones
Coordinates for tool-related protection zones must be specified as absolute values referred
to the tool holder reference point F.
● Workpiece-related protection zones
Coordinates for workpiece-related protection zones must be specified as absolute values
referred to the zero point of the basic coordinate system (BCS).
Note
If no tool-related protection zone is active, the tool path is checked against the workpiece-
related protection zones.
If no workpiece-oriented protection area is active, then there is no protection zone monitoring.
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 workpiece-related
protection zones.
Basic Functions
148 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.1 Function
System variable
When the protection zones are defined using commands in the part program, 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 using commands in the part program (see "Defining
protection zones (CPROTDEF, NPROTDEF) (Page 154)").
The protection zone definitions cover following system variables:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 149
A5: Protection zones
4.1 Function
Note
The system variables of the protection zone definitions are not restored with REORG!
File Blocks
_N_NCK_PRO Data block for machine-specific protection zones
_N_CHAN1_PRO Data block for channel-specific protection zones in channel 1
_N_CHAN2_PRO Data block for channel-specific protection zones in channel 2
Data backup
The protection zone definitions are saved in the following files:
File Blocks
_N_INITIAL_INI All data blocks of the protection zones
_N_COMPLETE_PRO All data blocks of the protection zones
_N_CHAN_PRO All data blocks of the channel-specific protection zones
Activation state
The activation state of a protection zone can have the following values:
● Activated
● Preactivated
Basic Functions
150 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.1 Function
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.
Protection zones that are to be activated at a later time from the PLC user program (see below)
must be preactivated in the part program:
Preactivated protection zones are displayed via the following NC/PLC interface signals:
● DB21, ... DBX272.0 - 273.1 (machine-specific protection zone 1 - 10 preactivated) == 1
● DB21, ... DBX274.0 - 275.1 (channel-specific protection zone 1 - 10 preactivated) ==== 1
NOTICE
Protection zone violation possible
If a preactivated protection zone with conditional stop is not activated in good time, the NC
may no longer be able to stop before the protection zone in good time because the braking
distance after the activation point has not been taken into account.
In the case of a preactivated protection zone with conditional stop, a traversing motion is not
stopped before this if the traversing motion goes into the protection zone. A stop is only
performed when the protection zone has been activated. This behavior is to enable
uninterrupted machining controlled by the user when the protection zone is only required
temporarily.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 151
A5: Protection zones
4.1 Function
Note
The activation of preactivated protection zones must be performed prior to the traversing
motion of the geometry axes!
Program test
In the AUTOMATIC and MDI modes, activated and preactivated protection zones are also
monitored in the "Program test" state.
Basic Functions
152 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.2 Commissioning
4.2 Commissioning
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 machine-
specific protection zones)
– MD28200 $MC_MM_NUM_PROTECT_AREA_CHAN (number of available channel-
specific 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)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 153
A5: Protection zones
4.3 Programming
4.3 Programming
Syntax
DEF INT <Var>
G17/G18/G19
CPROTDEF/NPROTDEF(<n>,<t>,<AppLim>,<AppPlus>,<AppMinus>)
G0/G1/... X/Y/Z...
...
EXECUTE(<Var>)
Meaning
DEF INT <Var>: Definition of a local help variable, of the INTEGER data type
<Var>: Name of the Help variable
G17/G18/G19: Machining plane
Note:
It is not permissible to change the machining plane before the
end of the definition. Programming the applicate is not permitted
between start and end of the definition.
CPROTDEF(): Predefined procedure to define a channel-specific protection
zone
NPROTDEF(): Predefined procedure to define a machine-specific protection
zone
<n>: Number of defined protection zone
Data type: INT
Basic Functions
154 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.3 Programming
Example
See example under "Activating/deactivating protection zones (CPROT, NPROT) (Page 157)".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 155
A5: Protection zones
4.3 Programming
Additional information
Basic Functions
156 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.3 Programming
General conditions
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
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.
Note
Monitoring protection zones
If a tool-related protection area is not active, the tool path is checked against the workpiece-
related protection zones.
If no workpiece-oriented protection zone is active, then there is no protection zone monitoring.
Syntax
CPROT(<n>,<Status>,<XMov>,<YMov>,<ZMov>)
NPROT(<n>,<Status>,<XMov>,<YMov>,<ZMov>)
Meaning
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 157
A5: Protection zones
4.3 Programming
Example
Possible collision of a milling cutter with the measuring probe is to be monitored on a milling
machine. The position of the measuring probe is to be defined by an offset when the function
is activated.
The following protection zones are defined for this:
● A machine-specific and a workpiece-related protection zone for both the measuring probe
holder (n-PZ1) and the measuring probe itself (n-PZ2).
● A channel-specific and a tool-related protection zone for the milling cutter holder (c-PZ1),
the cutter shank (c-PZ2) and the milling cutter itself (c-PZ3).
The orientation of all protection zones is in the Z direction.
The position of the reference point of the measuring probe on activation of the function must
be X = -120, Y = 60 and Z = 80.
Basic Functions
158 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.3 Programming
)
Q3=
Q3= F3=
F3=
F3=
=
<
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 159
A5: Protection zones
4.3 Programming
Further information
Basic Functions
160 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.3 Programming
4.3.3 Checking for protection zone violation, working area limitation and software limit
switches (CALCPOSI)
Function
In the workpiece coordinate system (WCS), the CALCPOSI function checks whether, starting
from the starting position, the geometry axes can be traversed a specified distance without
violating active limits. For the case that the distance cannot be fully traversed because of limits,
a positive, decimal-coded status value and the maximum possible traversing distance are
returned.
Definition
INT CALCPOSI(VAR REAL[3] <Start>, VAR REAL[3] <Dist>, VAR REAL[5]
<Limit>, VAR REAL[3] <MaxDist>, BOOL <MeasSys>, INT <TestLim>)
Syntax
<Status> = CALCPOSI(VAR <Start>, VAR <Dist>, VAR <Limit>, VAR
<MaxDist>, <MeasSys>, <TestLim>)
Meaning
CALCPOSI(...): Predefined function for testing limit violations regarding the geometry axes
Preprocessing No
stop:
Alone in the block: Yes
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 161
A5: Protection zones
4.3 Programming
Basic Functions
162 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.3 Programming
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 163
A5: Protection zones
4.3 Programming
Basic Functions
164 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.3 Programming
<MaxDist>: Reference to a vector with the incremental traversing distance in which the speci‐
fied minimum clearance of an axis limit is not violated by any of the relevant ma‐
chine axes:
● <Dist> [0]: 1st geometry axis
● <Dist> [1]: 2nd geometry axis
● <Dist> [2]: 3rd geometry axis
If the traversing distance is not restricted, the contents of this return parameter
are the same as the contents of <Dist>.
For <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 independent. The absolute value
of <MaxDist> is arbitrary. For the calculation of the motion direction, see the de‐
scription for <Dist>.
Parameter type: Output
Data type: VAR REAL [3]
Value range: -max. REAL value ≤ x[<n>] ≤ +max. REAL value
<MeasSys>: Measuring system (inch/metric) for position and distance specifications (optional)
Data type: BOOL
Value: FALSE System of units corresponding to the currently active G com‐
(De‐ mand from the G group 13 (G70, G71, G700, G710).
fault) 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 System of units according to the set basic system:
MD52806 $MN_ISO_SCALING_SYSTEM
<TestLim>: Bit-coded selection of the limits to be monitored (optional)
Data type: INT
Default value: Bits 0, 1, 2, 3, 6, 7 == 1 (207)
Bit Decimal Meaning
0 1 Software limit switch
1 2 Working area limitation
2 4 Activated conventional protection zones
3 8 Preactivated conventional protection zones
4 16 With violated software limit switches or working area limits in
<Dist>, return the traversing direction as in Case 1 (see
above).
5 32 With violated software limit switches or working area limits in
<Dist>, return the traversing direction as in Case 2 (see
above).
6 64 Activated collision avoidance protection zones
7 128 Preactivated collision avoidance protection zones
8 256 Pairs of activated and preactivated collision avoidance pro‐
tection zones
1)
If several protection zones are violated, the protection zone with the greatest restriction on the speci‐
fied traversing distance is returned.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 165
A5: Protection zones
4.3 Programming
Example
Limitations
<
6RIWZDUHOLPLWVZLWFK
&
1
1
:RUNLQJDUHDOLPLWDWLRQ
1
11
&
;
5
11
In the example, the active software limit switches and working area limits in the X-Y 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: Machine-specific protection zone, active, rectangular, side length = 10 mm x 15 mm
NC program
The protection zones and working area limits are defined first in the NC program. The
CALCPOSI() function is then called with different parameter assignments.
Program code
N10 DEF REAL _START[3]
N20 DEF REAL _DIST[3]
N30 DEF REAL _LIMIT[5]
N40 DEF REAL _MAXDIST[3]
N50 DEF INT _PA
N60 DEF INT _STATUS
Basic Functions
166 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.3 Programming
Program code
: toolrelated protection zone C2
N70 CPROTDEF(2, TRUE, 0)
N80 G17 G1 X-2 Y0
N90 G3 I2 X2
N100 I-2 X-2
N110 EXECUTE(_PA)
; workpiece-related protection zone C4
N120 CPROTDEF(4, FALSE, 0)
N130 G17 G1 X0 Y15
N140 X10
N150 Y25
N160 X0
N170 Y15
N180 EXECUTE(_PA)
; machine-specific protection zone N3
N190 NPROTDEF(3, FALSE, 0)
N200 G17 G1 X10 Y5
N210 X25
N220 Y15
N230 X10
N240 Y5
N250 EXECUTE(_PA)
; activate or preactivate protection zones
N260 CPROT(2, 2, 0, 0, 0)
N270 CPROT(4, 1, 0, 0, 0)
N280 NPROT(3, 2, 0, 0, 0)
; define working area limits
N290 G25 XX=-10 YY=-10
N300 G26 XX=20 YY=21
N310 _START[0] = 0.
N320 _START[1] = 0.
N330 _START[2] = 0.
N340 _DIST[0] = 35.
N350 _DIST[1] = 20.
N360 _DIST[2] = 0.
N370 _LIMIT[0] = 0.
N380 _LIMIT[1] = 0.
N390 _LIMIT[2] = 0.
N400 _LIMIT[3] = 0.
N410 _LIMIT[4] = 0.
N420 _STATUS = CALCPOSI(_START, _DIST, _LIMIT, _MAXDIST)
N430 _STATUS = CALCPOSI(_START, _DIST, _LIMIT, _MAXDIST,,3)
N440 _STATUS = CALCPOSI(_START, _DIST, _LIMIT, _MAXDIST,,1)
N450 _START[0] = 5.
N460 _START[1] = 17.
N470 _START[2] = 0.
N480 _DIST[0] = 0.
N490 _DIST[1] =-27.
N500 _DIST[2] = 0.
N510 _STATUS = CALCPOSI(_START, _DIST, _LIMIT, _MAXDIST,,14)
N520 _STATUS = CALCPOSI(_START, _DIST, _LIMIT, _MAXDIST,, 6)
N530 _LIMIT[1] = 2.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 167
A5: Protection zones
4.3 Programming
Program code
N540 _STATUS = CALCPOSI(_START, _DIST, _LIMIT, _MAXDIST,, 6)
N550 _START[0] = 27.
N560 _START[1] = 17.1
N570 _START[2] = 0.
N580 _DIST[0] =-27.
N590 _DIST[1] = 0.
N600 _DIST[2] = 0.
N610 _LIMIT[3] = 2.
N620 _STATUS = CALCPOSI(_START, _DIST, _LIMIT, _MAXDIST,,12)
N630 _START[0] = 0.
N640 _START[1] = 0.
N650 _START[2] = 0.
N660 _DIST[0] = 0.
N670 _DIST[1] = 30.
N680 _DIST[2] = 0.
N690 TRANS X10
N700 AROT Z45
N710 _STATUS = CALCPOSI(_START,_DIST, _LIMIT, _MAXDIST)
; delete frames from N690 and N700 again
N720 TRANS
N730 _START[0] = 0.
N740 _START[1] = 10.
N750 _START[2] = 0.
; vectors_DIST and _MAXDIST define the motion plane
N760 _DIST[0] = 30.
N770 _DIST[1] = 30.
N780 _DIST[2] = 0.
N790 _MAXDIST[0] = 1.
N800 _MAXDIST[1] = 0.
N810 _MAXDIST[2] = 1.
N820 _STATUS = CALCPOSI(_START, _DIST, _LIMIT, _MAXDIST,,17)
N830 M30
Results of CALCPOSI()
Basic Functions
168 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.3 Programming
Additional information
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 169
A5: Protection zones
4.4 Special situations
Note
Preprocessing stop
When using CALCPOSI() in conjunction with transformations, it is the sole responsibility of
the user to program a preprocessing stop (STOPRE) with the preprocessing before
CALCPOSI() for the synchronization of the machine axis positions.
Basic Functions
170 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.4 Special situations
See also:
● Behavior in the AUTOMATIC and MDA modes (Page 171)
● Behavior in JOG mode (Page 172)
Note
Temporarily enabling protection zones is only possible for workpiece-related protection zones.
Tool-related protection zones must either be deactivated in the part program or via the NC/
PLC interface in the "Preactivated" state.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 171
A5: Protection zones
4.4 Special situations
Example:
Three activated protection zones and simultaneous traversing of two geometry axes:
Basic Functions
172 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.4 Special situations
3URWHFWLRQ]RQH
6WDUWLQJSRLQW
$[LV;
3URWHFWLRQ]RQH
$[LV<
3URWHFWLRQ]RQH
0D[LPXPWUDYHUVLQJUDQJH
$WWKHVWDUWLQVWDQW
DEVROXWHWUDYHUVLQJUDQJHOLPLW
5HODWLYHWUDYHUVLQJUDQJHOLPLW 0D[LPXPD[LDOWUDYHUVLQJUDQJH
DVDUHVXOWRIWKHSURWHFWLRQ]RQH $WWKHVWDUWLQVWDQW
Figure 4-2 Motion range of the geometry axes at the start time
At the start time of traversing motion of axes X and Y, the axis-specific 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
switches)
● Y axis
– Positive traversing direction: Protection zone 1
– Negative traversing direction: Absolute traversing range limit (e.g. working area
limitation)
The resulting maximum traversing range at the start time does not take protection zone 3 into
account. As a consequence, protection zone 3 could be violated.
Note
Activated and preactivated protection zones are also monitored in the manual operating modes
JOG, INC and DRF.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 173
A5: Protection zones
4.4 Special situations
The enable signal is reset if a motion is started that does not lead into the enabled protection
zone.
If further protection zones are affected by the traversing motion, additional alarms 10702 or
10703 are displayed for each protection zone. The protection zones displayed in the alarms
can be enabled by creating further positive edges on the NC/PLC interface signal DB21, ...
DBX1.1:
Basic Functions
174 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.5 Boundary conditions
Reset of an enable
The enable signal is reset internally and on the NC/PLC interface at the next standstill of a
geometry axis for which the temporarily enabled protection zone has been completely exited:
DB21, … DBX276.0 – 277.1 (machine-specific protection zone 1 - 10 violated) == 0
or
DB21, ... DBX278.0 – 279.1 (channel-specific protection zone 1 - 10 violated) == 0
Positioning axes
For positioning axes, only the programmed block end point is monitored. Alarm 10704
"Protection zone monitoring is not guaranteed" is output while a positioning axis traverses:
Axis interchange
With regard to the protection zones after an axis replacement, the starting position is the last
position approached in the relinquishing channel. Traversing motion in the channel taking over
is not taken into account. For this reason, you must ensure that an axis replacement is not
performed from a position with protection zone violation.
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, 0.0 is taken as the position.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 175
A5: Protection zones
4.6 Example
4.6 Example
6WDUWLQJSRLQW
)
;
3URWHFWLRQ]RQHIRU 7RROFDUULHU
VSLQGOHFKXFN
6WDUWLQJSRLQW
6WDUWLQJSRLQW
'ULOO
0 3
=
: 5
3URWHFWLRQ]RQHIRU
WRROFDUULHU
3URWHFWLRQ]RQHIRU
ZRUNSLHFH
;
Basic Functions
176 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.6 Example
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 177
A5: Protection zones
4.6 Example
Basic Functions
178 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.6 Example
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 179
A5: Protection zones
4.6 Example
Basic Functions
180 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.6 Example
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 181
A5: Protection zones
4.6 Example
Basic Functions
182 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.6 Example
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 183
A5: Protection zones
4.6 Example
Basic Functions
184 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
A5: Protection zones
4.7 Data lists
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 185
A5: Protection zones
4.7 Data lists
4.7.2 Signals
Basic Functions
186 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead 5
5.1 Brief Description
Continuous-path mode
In the 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 and uniform 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 has the following advantages:
● Machining with higher path velocities on average
● Improved surface quality by avoiding deceleration and acceleration
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 187
B1: Continuous-path mode, Exact stop, Look Ahead
5.1 Brief Description
Basic Functions
188 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.2 Exact stop mode
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 189
B1: Continuous-path mode, Exact stop, Look Ahead
5.2 Exact stop mode
Application
Exact stop mode should always be used when the programmed contour must be executed
exactly.
Activation
In a program, exact stop operation can be specified using the following commands, either
modal or for specific blocks:
Command Meaning
G60 Exact stop operation is effective from the current modal block.
G9 Exact stop operation is effective in the current block.
Exact stop conditions - "Exact stop coarse" and "Exact stop fine"
The exact stop condition "coarse" or "fine" is fulfilled by a machine axis if its current following
error is less than or equal to the tolerance range around the setpoint position, parameterized
in the machine data:
● MD36000 $MA_STOP_LIMIT_COARSE (exact stop coarse)
● MD36010 $MA_STOP_LIMIT_FINE (exact stop fine)
)ROORZLQJHUURU 6HWSRLQWSRVLWLRQ
9HORFLW\VHWSRLQW
*
0'
0$B6723B/,0,7B&2$56(
*
0'
0$B6723B/,0,7B),1(
W
Basic Functions
190 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.2 Exact stop mode
Note
The tolerance windows of the exact stop conditions "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"
)ROORZLQJHUURU 6HWSRLQWSRVLWLRQ
%ORFNFKDQJHWLPHV
*
9HORFLW\VHWSRLQW
*
0'
0$B6723B/,0,7B&2$56(
*
0'
0$B6723B/,0,7B),1(
W
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 191
B1: Continuous-path mode, Exact stop, Look Ahead
5.2 Exact stop mode
Application examples
● Adaptation of the positioning response to different mass ratios, such as after a new gearbox
stage has been selected.
● Reduction in positioning time, depending on various machining states, such as roughing
and finishing
Example
MD20550 $MC_EXACT_POS_MODE = 02
● <E> = 2: With rapid traverse, exact stop condition G602 (exact stop window coarse) is
always active, irrespective of any programming.
● <Z> = 0: When traversing with all other commands of the 1st G group, the programmed
exact stop condition is effective.
Basic Functions
192 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
Block change behavior for block transitions from G0 ↔ non-G0 to continuous path mode
For the continuous path mode, the block change behavior between rapid traverse and non
rapid traverse blocks (G0 ↔ non-G0) can be set using the following machine data:
MD20552 $MC_EXACT_POS_MODE_G0_TO_G1 = <Value>
<Value> Meaning
0 No additional stop at the block transition.
1 Stop at the block transition.
The behavior corresponds to G601 (exact stop window, fine)
2 Stop at the block transition.
The behavior corresponds to G602 (exact stop window, coarse)
3 Stop at the block transition.
The behavior corresponds to G603 (interpolator end)
4 No stop at the block transition.
For the continuous path mode, for block changes from G0 → non-G0, in the G0 block, the
actual value of the feedrate correction of the subsequent non-G0 block is predicatively taken
into account. Depending on the axis dynamic performance and the path length of the current
block, the block change is executed with the exact or the best possible adapted velocity of
the following block.
5 No stop at the block transition.
For the continuous path mode, for block changes from G0 → non-G0 and non-G0 → G0, the
current value of the feedrate correction (G0 → non-G0) or the rapid traverse contour (non-
G0 → G0) of the following block is predicatively taken into account. Depending on the axis
dynamic performance and the path length of the current block, the block change is executed
with the exact or the best possible adapted velocity of the following block.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 193
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
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.
Basic Functions
194 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 195
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
%ORFNFKDQJH [
3DWKYHORFLW\
%ORFNFKDQJH W
*UDGLHQWD[
9HORFLW\RI;D[LV
*UDGLHQWI[
D[
$[LDO
YHORFLW\MXPS I[!
,32 W
&<&/(
$[LDO
I\!I[! YHORFLW\MXPS
,32
&<&/( W
I2YHUORDGIDFWRU
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.
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
Basic Functions
196 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
equivalent to the function "Exact stop with interpolator end". This is undesirable for continuous-
path 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
5.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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 197
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
Note
We recommend that when the "Rounding" function is used, synchronization conditions apply
to the end of the block before the rounding location rather than the end of the inserted rounding
block. The following block would then not be started and with a stop at the block end, the
contour of the following block can still be changed manually.
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:
Basic Functions
198 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
The insertion of the rounding block would slow part program machining overproportionally
Possible causes:
● A program or program section consists of a number of very short traversal blocks (≈ 1
interpolator cycle / traversal block; because each traversal block requires at least one
interpolator cycle, the inserted intermediate block would almost double the machining time)
● G64 (path control operation without rounding) without speed reduction active for block
change
● The parameterized overload factor (MD32310 $MA_MAX_ACCEL_OVL_FACTOR) permits
the traversal of the programmed contour without the path speed needing to be reduced.
See also: MD20490 $MC_IGNORE_OVL_FACTOR_FOR_ADIS
Note
We recommend that when the "Rounding" function is used, synchronization conditions apply
to the end of the block before the rounding location rather than the end of the inserted rounding
block. The following block would then not be started and with a stop at the block end, the
contour of the following block can still be changed.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 199
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
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.
3URJUDPPHG
3DWKFULWHULRQ ,QWHUPHGLDWHSRLQWLQVHW
$',6
$',6326
6PRRWKLQJFRQWRXU
3URJUDPPHG
,QSXWVHW 3URJUDPPHG
,QLWLDOVHW
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.
Basic Functions
200 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
● If a very small value is used for ADIS, the controller must make sure that every interpolated
block, even an intermediate rounding block, contains at least one interpolation point. The
maximum path velocity is thereby limited to ADIS / interpolator cycle.
● Irrespective of ADIS and ADISPOS, the rounding area is limited by the block length.
In blocks with short distances (distance < 4* ADIS and < 4 * ADISPOS respectively), the
rounding distance is reduced so that a traversable part of the original block is retained. The
remaining length depends on the axis path and is approximately 60% of the distance still
to be traversed in the block. ADIS or ADISPOS is therefore reduced to the remaining 40%
of the distance to be traversed. This algorithm prevents a rounding block being inserted for
a very small change in contour. In this case, switchover to continuous-path mode G64 is
automatic until rounding blocks can be inserted again.
QRVPRRWKLQJ
1
YE UHPDLQLQJSDWK
1
1
$',6
YESDWK1
1
$',6 $',6
YESDWK1 YESDWK1
6WDUWRIVHW1
$',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, 12/2017, 6FC5397-0BP40-6BA1 201
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
Program example
Program code Comment
N1 G641 Y50 F10 ADIS=0.5 ; Continuous-path mode with rounding based on a path
criterion (rounding clearance: 0.5 mm)
N2 X50
N3 X50.7
N4 Y50.7
N5 Y51.4
N6 Y51.0
N7 X52.1
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
G642 G643
With G642, the rounding path is determined on the In the case of G643, each axis may have a differ‐
basis of the shortest distance for rounding all axes. ent rounding path. The rounding travels are taken
This value is taken into account when generating into account axis-specifically and block-internally
a rounding block. (⇒ no separate rounding block).
With G642, the rounding area results from the Very different specifications for the contour toler‐
smallest tolerance setting. ance and the tolerance of the tool orientation can
only have effect with G643.
Basic Functions
202 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
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
0 All axes:
Rounding by maintaining the maximum permitted path deviation:
MD33100 $MA_COMPRESS_POS_TOL
1 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
2 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, 12/2017, 6FC5397-0BP40-6BA1 203
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
Value E or Z Meaning
3 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
4 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.
Value 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: No velocity profile for G641
2xx: No velocity profile for G642
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:
Basic Functions
204 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
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, 12/2017, 6FC5397-0BP40-6BA1 205
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
Value 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.
Note
Apart from the ones mentioned, the following limitation can also become active additionally:
The rounding distance cannot exceed half the length of the original participating blocks.
Basic Functions
206 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
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
With jerk limitation, the jerk of each axis is limited to its maximum value within the rounding
area. The rounding motion thus generally consists of three phases:
● Phase 1
During phase 1, each axis builds up its maximum acceleration. The jerk is constant and
equal to the maximum possible jerk on the respective axis.
● Phase 2
During phase 2, the maximum permissible acceleration is applied.
● Phase 3
During phase 3, which is the last phase, the acceleration of each axis is reduced back to
zero with the maximum permissible jerk.
9HORFLW\
3RVLWLRQ
7LPH
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 207
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
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 202)").
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.
Basic Functions
208 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
See also
Free-form surface mode: Basic functions (Page 233)
Example
Programmed: Two traversing blocks N10 and N20 with programmed rounding G641.
The traversing motion is interrupted in the rounding area. The axes, e.g. manually, are then
traversed to the REPOS start point. Depending on the selected REPOS mode, the
repositioning on the contour is made at the points ①, ② or ③.
5(326VWDUWLQJSRLQW
50%%/
50,%/50(%/
%UHDNSRLQW
501%/
1
7UDYHUVLQJ
GLUHFWLRQ
6PRRWKLQJVHW
1
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 209
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
5.3.4 LookAhead
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.
)HHGUDWH *3UHGLFWLYHYHORFLW\FRQWURO
SURJUDPPHG
)
Figure 5-5 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
Basic Functions
210 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
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.
9VHWSRLQW
9
9DFW
Figure 5-6 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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 211
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
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
unnecessarily. For this reason, the required number of blocks is derived from the velocity which
is calculated from the following multiplication:
● Programmed velocity * MD12100 $MN_OVR_FACTOR_LIMIT_BIN
(when using a binary-coded feedrate override switch)
● Programmed velocity * MD12030 $MN_OVR_FACTOR_FEEDRATE[30]
(when using a Gray-coded feedrate override switch)
The value for MD12100 or the 31st override value for MD12030 defines the dynamic response
reserves which the velocity control provides for when the path feedrate is overshot.
Note
The 31st override value for MD12030 should correspond to the highest override factor which
is actually used.
Note
The number of blocks considered by the LookAhead function is limited by the possible number
of NC blocks in the IPO buffer.
Velocity profiles
In addition to the fixed, plannable velocity limitations, LookAhead can also take account of the
programmed velocity. This makes it possible to achieve a lower velocity by applying
LookAhead beyond the current block.
● Determination of the following block velocity
One possible velocity profile contains the determination of the following block velocity.
Using information from the current and the following NC block, a velocity profile is calculated
from which, in turn, the required velocity reduction for the current override is derived.
The calculated maximum value of the velocity profile is limited by the maximum path velocity.
With this function it is possible to initiate a speed reduction in the current block taking
override into account such that the lower velocity of the following block can be achieved. If
the reduction in velocity takes longer than the travel time of the current block, the velocity
is further reduced in the following block. Velocity control is only ever considered for the
following block.
The function is activated via the machine data:
MD20400 $MC_LOOKAH_USE_VELO_NEXT_BLOCK
Basic Functions
212 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
Value Meaning
TRUE Function active
FALSE Function not active
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 213
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
3URJUDPPHG
YtPD[
6HWSRLQW
9HORFLW\SURILOHV
DQG
Basic Functions
214 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
Note
If neither of the procedures has been activated, the setpoint velocity is always applied in the
current block.
Note
Plannable velocity limits restrict override-specific velocity limits.
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-
specific feed stop via the PLC to stop the path immediately (see also Section "Function
(Page 89)").
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
machining (see also Section "Free-form surface mode: Basic functions (Page 233)").
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 215
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
● 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 machine workpieces which
primarily comprise free-form surfaces.
Note
As better results are not achieved for standard machining applications, standard Look Ahead
functionality should be used in these cases.
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 machining 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 machined.
Basic Functions
216 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
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 231)"):
MD20443 $MC_LOOKAH_FFORM[<n>]= <value>
Index <n> Dynamic response mode <value> Free-form surface mode: Extension
function
0 Standard dynamic response set‐ 0 Off
tings (DYNNORM) 1 On
1 Positioning mode, tapping 0 Off
(DYNPOS) 1 On
2 Roughing (DYNROUGH) 0 Off
1 On
3 Finishing (DYNSEMIFIN) 0 Off
1 On
4 Smooth finishing (DYNFINISH) 0 Off
1 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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 217
B1: Continuous-path mode, Exact stop, Look Ahead
5.3 Continuous-path mode
MD20443 $MC_LOOKAH_FFORM[4] = 1
Change of the dynamic response mode in the part program:
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
Basic Functions
218 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
Use of FLIN
The FLIN feedrate profile cannot be used in conjunction with the "Free-form surface mode:
extension function" function:
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 219
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
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.
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 Smoothing of the path velocity not active (default)
>0 Smoothing of the path velocity active
Parameterization
Smoothing factor
The smoothing factor is set via the channel-specific machine data:
MD20460 $MC_LOOKAH_SMOOTH_FACTOR (smoothing factor for LookAhead)
Basic Functions
220 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
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
0 Programmed feedrate is not taken into consideration.
1 Programmed feedrate is considered (default setting).
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)
Acceleration and deceleration processes, which run with a high frequency, are smoothed
depending upon the parameterization of the following machine data or else are reduced in
dynamics:
MD20460 $MC_LOOKAH_SMOOTH_FACTOR (smoothing factor for LookAhead)
MD20465 $MC_ADAPT_PATH_DYNAMIC (adaptation of the dynamic path response)
For further information on MD20465, see Section "Adaptation of the dynamic path response
(Page 223)".
Note
If vibrations are generated in the mechanical system of an axis and if the corresponding
frequency is known, MD32440 should be set to a value smaller than this frequency.
The needed resonance frequencies can be calculated using the built-in measuring functions.
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).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 221
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
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:
Y
Y
W W W
Figure 5-7 Characteristic of time-optimum path velocity (without smoothing)
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
W
W W W
Figure 5-8 Characteristic of the smoothed path velocity
Basic Functions
222 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
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.
The dynamic response of the acceleration and deceleration processes can be adapted to the
machine conditions using the "adaptation of the dynamic path response" function.
Note
The "adaptation of the dynamic path response" function only concerns the resulting path and
not the deceleration and acceleration processes of the individual axes involved in the path.
For this reason, critical deceleration and acceleration processes of the axes with respect to
the excitation of mechanical vibrations can occur due to discontinuous contour profiles or
kinematic transformations, even with a constant path velocity profile.
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 Dynamic adaptation not active (default setting)
> 1.0 Dynamic adaptation active
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 223
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
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 219)").
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.
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 axis-
specific basis via the machine data:
MD32440 $MA_LOOKAH_FREQUENCY (smoothing frequency for LookAhead)
For further information, see Section "Smoothing of the path velocity (Page 219)".
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
Basic Functions
224 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
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.
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:
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 225
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
Y% WDGDSW
Y
WDGDSW
WDGDSW
WDGDSW
W W W W W W W W W
Y%
WDGDSW
Y
WDGDSW
WDGDSW
W W W W W W W W W
Figure 5-9 Path velocity profile optimized for time without smoothing or dynamic adaptation response
Y%
WDGDSW
Y
WDGDSW
WDGDSW
W W W W W W W W W
Figure 5-10 Path velocity profile with adaptation of dynamic path response
Basic Functions
226 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
Intervals t0 - t1 and t2 - t3: The acceleration process between t0 - t1 and the deceleration
process between t2 - t3 are extended in terms of time to tadapt01
or tadapt23 as a result of the acceleration being adapted.
Interval t4 - t5: The acceleration process between t4 - t5 is executed with an
acceleration reduced by the maximum adaptation factor of 1.5.
However, the acceleration process is completed before time
tadapt45.
Interval t6 - t7: The deceleration process between t6 - t7 remains unchanged
as it lasts longer than tadapt67.
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 227
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
5.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 TAX1 = 1/20 Hz = 50 ms
MD32440 $MA_LOOKAH_FREQUENCY[AX2] = 20 TAX2 = 1/20 Hz = 50 ms
MD32440 $MA_LOOKAH_FREQUENCY[AX3] = 20 TAX3 = 1/20 Hz = 50 ms
Y%
Y
Y
W W W W W W
Figure 5-11 Path velocity profile optimized for time without smoothing or dynamic adaptation response
Y%
Y
W
W
W
W
W
W
Figure 5-12 Path velocity profile with smoothing of the path velocity and adaptation of dynamic path
response
Basic Functions
228 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
Interval t1 - t2: The acceleration and deceleration process between t1 and t2 does not
take place because the lengthening of the machining time without the
acceleration process to v12 is less than the resulting time if a smoothing
factor of 80 % is applied.
Interval t3 - t5: The acceleration and braking profile between t3 and t5 does not fulfill this
condition or takes longer than the parameterized smoothing time
TAxn = 2/20 Hz = 100 ms.
Effects of the dynamic response adaptation:
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 TAX1 = 1/20 Hz = 100 ms
MD32440 $MA_LOOKAH_FREQUENCY[AX2] = 10 TAX2 = 1/20 Hz = 100 ms
MD32440 $MA_LOOKAH_FREQUENCY[AX3] = 20 TAX3 = 1/20 Hz = 50 ms
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:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 229
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
/LPLWLQJRISDWKYHORFLW\EDVHGRQG\QDPLF
D[LVUHVSRQVHRUSURJUDPPHGIHHG
3DWKYHORFLW\FKDUDFWHULVWLF
7LPHLQLQWHUSRODWLRQF\FOHV
%ORFNFKDQJHPDUNHUV
MD20465 $MC_ADAPT_PATH_DYNAMIC[1] = 4
MD20460 $MC_LOOKAH_SMOOTH_FACTOR = 1.0
This results in a path velocity profile with adaptation of the dynamic path response and with
minimum, and thus virtually deactivated, smoothing of the path velocity:
0RUHVWDEOHSDWKYHORFLW\WKDQNVWRUHGXFHGMHUNRQSDWK
7LPHLQ,32F\FOHV
The smoothing factor is set to 0% instead of 1% (in accordance with the default!):
Basic Functions
230 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
$FFHOHUDWLRQVDQGEUDNLQJDUHGLVSHQVHGZLWK
(IIHFWRISDWKVPRRWKLQJ
0RUHVWDEOHSDWKYHORFLW\
GXHWRUHGXFHGMHUNRQSDWK
7LPHLQ,32F\FOHV
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 group 59 (dynamic response mode
for path interpolation).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 231
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
Note
The dynamic response of the path axes alone is determined by the commands from G 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
Basic Functions
232 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
2 for DYNROUGH
3 for DYNSEMIFIN
4 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 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]=" "
References
You can find detailed information about programming the G commands from G group 59
(dynamic response mode for path interpolation) in:
References:
Programming Manual, Job Planning; Section: Path traversing behavior
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 233
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
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)
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".
Basic Functions
234 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
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 231)"):
MD20606 $MC_PREPDYN_SMOOTHING_ON[<n>] = <value>
Index <n> Dynamic response mode <value> Free-form surface mode: Basic func‐
tions
0 Standard dynamic response set‐ 0 Off
tings (DYNNORM) 1 On
1 Positioning mode, tapping 0 Off
(DYNPOS) 1 On
2 Roughing (DYNROUGH) 0 Off
1 On
3 Finishing (DYNSEMIFIN) 0 Off
1 On
4 Smooth finishing (DYNFINISH) 0 Off
1 On
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
The secant error which occurs during the interpolation of curved contours is dependent on the
following factors:
● Curvature
● Interpolator clock cycle (display in the MD10071 $MN_IPO_CYCLE_TIME)
● Velocity with which the relevant contour is traversed
The maximum possible secant error is defined for each axis in the machine data:
MD33100 $MA_COMPRESS_POS_TOL (maximum tolerance with compression)
If the set interpolator clock cycle is not sufficiently small, the max. path velocity may be reduced
in the case of contours with greater curvature. This is necessary for ensuring that the surface
of the workpiece is also produced with an adequate degree of precision in this case.
By changing the contour sampling factor, the time interval with which a curved contour is
sampled in the interpolator (contour sampling time) can be set differently than the interpolator
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 235
B1: Continuous-path mode, Exact stop, Look Ahead
5.4 Dynamic adaptations
clock cycle. A contour sampling time which is shorter than the interpolator clock cycle can
prevent a reduction in path velocity in the case of contours with greater curvature.
The contour sampling factor is set with the machine data:
MD10682 $MN_CONTOUR_SAMPLING_FACTOR
The effective contour sampling time is calculated as follows:
Ts = f * T1
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
the commands DYNROUGH, DYNSEMIFIN, and DYNFINISH and switched off via the commands
DYNNORM and DYNPOS.
See also
Rounding of tangential block transitions (G645) (Page 208)
Velocity-dependent jerk adaptation (axis-specific) (Page 296)
Free-form surface mode: Extension function (Page 215)
Basic Functions
236 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.5 Compressor functions
5.5.1.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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 237
B1: Continuous-path mode, Exact stop, Look Ahead
5.5 Compressor functions
If commands that are not traverse commands (e.g. auxiliary function output), are programmed
in and between the traversing blocks to be compressed, compression is interrupted.
The maximum tolerable deviation of the calculated path to the programmed positions can be
specified in machine data for all compressor functions (see "Parameterization (Page 239)").
Unlike COMPON and COMPCURV, the parameterized tolerances are not used in different
directions in neighboring paths with COMPCAD and COMPSURF.
Value Meaning
0xx Circular blocks and G0 blocks are not compressed. This is compatible with earlier SW
versions.
1xx Circular blocks are linearized and compressed by COMPCAD.
Advantage:
The compressor function operates more precisely and therefore creates generally better
surfaces.
Disadvantage:
The compressor function is more sensitive to defects in the NC programs. For reasons of
compatibility it might therefore be necessary to keep the setting 0xx.
Basic Functions
238 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.5 Compressor functions
Value Meaning
2xx G0 blocks are compressed - it is possible that a different tolerance becomes effective (see
"Tolerances for rapid traverse movements (Page 258)").
Advantage:
As a result that the tolerance has been set higher and the compression of G0 infeed motion,
these can be more quickly and more fluidly executed.
3xx Combination of the two previous options: Circular blocks as well as G0 blocks are com‐
pressed.
Activation / deactivation
Compressor functions COMPON, COMPCURV, COMPCAD and COMPSURF are activated/
deactivated using the G commands of G group 30 (see "Programming (Page 247)").
5.5.1.2 Commissioning
Parameterization
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 239
B1: Continuous-path mode, Exact stop, Look Ahead
5.5 Compressor functions
Note
Corner limit angle and compressor function COMPCAD
The corner limit angle for the compressor function 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
Compressor functions are very important in tool and mold making. The appropriate
recommendations for setting the machine and setting data are provided in the following table:
Table 5-1 Recommended settings for tool and mold making with Advanced Surface / Top Surface
Basic Functions
240 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.5 Compressor functions
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 241
B1: Continuous-path mode, Exact stop, Look Ahead
5.5 Compressor functions
Basic Functions
242 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.5 Compressor functions
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 243
B1: Continuous-path mode, Exact stop, Look Ahead
5.5 Compressor functions
Basic Functions
244 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.5 Compressor functions
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 245
B1: Continuous-path mode, Exact stop, Look Ahead
5.5 Compressor functions
Basic Functions
246 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.5 Compressor functions
5.5.1.3 Programming
Syntax
COMPON / COMPCURV / COMPCAD / COMPSURF
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 247
B1: Continuous-path mode, Exact stop, Look Ahead
5.5 Compressor functions
...
COMPOF
Meaning
Note
The rounding function G642 and jerk limitation SOFT further improve the surface quality. These
commands must be written at the beginning of the program.
Example: COMPCAD
Program code Comment
N10 G00 X30 Y6 Z40
N20 G1 F10000 G642 ; Activation: Rounding function G642
N30 SOFT ; Activation: Jerk limitation SOFT
N40 COMPCAD ; Activation: Compressor function COMPCAD
N50 STOPFIFO
N24050 Z32.499 ; 1st traversing block
N24051 X41.365 Z32.500 ; 2nd traversing block
...
N99999 X... Z... ; last traversing block
COMPOF ; compressor function off.
...
Basic Functions
248 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.5 Compressor functions
Function
When spline blocks are generated to describe complex contours using 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 Standard (basic scope)
SINUMERIK 828D Option
Commissioning
Activation
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>
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 249
B1: Continuous-path mode, Exact stop, Look Ahead
5.6 Contour/Orientation tolerance
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)
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
5.6.1 Commissioning
Machine data
Basic Functions
250 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.6 Contour/Orientation tolerance
Smoothing mode
MD20480 $MC_SMOOTHING_MODE (rounding behavior with G64x)
Compressor mode
MD20482 $MC_COMPRESSOR_MODE (mode of compression)
Smoothing G645
MD33120 $MA_PATH_TRANS_POS_TOL (maximum contour deviation for smoothing G645)
Effective for rounding tangential, but not continuously curved block transitions (e.g. circle -
straight line)
Setting data
5.6.2 Programming
Syntax
CTOL=<Value>
OTOL=<Value>
ATOL[<Axis>]=<Value>
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 251
B1: Continuous-path mode, Exact stop, Look Ahead
5.6 Contour/Orientation tolerance
Meaning
Basic Functions
252 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.6 Contour/Orientation tolerance
Note
The channel-specific tolerance values programmed with CTOL and OTOL have higher priority
than the axis-specific tolerance values programmed with ATOL.
Note
Scaling frames
Scaling frames affect programmed tolerances in the same way as axis positions; in other
words, the relative tolerance remains the same.
Example
Program code Comment
COMPCAD G645 G1 F10000 ; Activate COMPCAD compressor function.
X... Y... Z... ; The machine and setting data is applied here.
X... Y... Z...
X... Y... Z...
CTOL=0.02 ; A contour tolerance of 0.02 mm is applied start-
ing from here.
X... Y... Z...
X... Y... Z...
X... Y... Z...
ASCALE X0.25 Y0.25 Z0.25 ; A contour tolerance of 0.005 mm is applied start-
ing from here.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 253
B1: Continuous-path mode, Exact stop, Look Ahead
5.6 Contour/Orientation tolerance
System variables
Basic Functions
254 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.6 Contour/Orientation tolerance
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 returns a value value "0.1."
Supplementary conditions
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 smoothing functions are not affected by the programming of CTOL, OTOL and
ATOL:
● Smoothing the orientation with OSD
OSD does not use a tolerance, it uses a distance from the block transition.
● Smoothing with G644
G644 is not used for smoothing, it is used for optimizing tool changes and other motion not
involving machining.
● Smoothing 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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 255
B1: Continuous-path mode, Exact stop, Look Ahead
5.7 Rapid traverse movements
5.7.1 Function
Application
Rapid traversing movements are used for the following tasks, for example:
● Quickly positioning of the tool
● Passing around the workpiece
● Approaching tool change points
● Retracting the tool
Note
Rapid traversing movements are not suitable for workpiece machining!
Activation
Rapid traverse is activated by programming of G0 in the part program (see "Programming
(Page 260)").
Basic Functions
256 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.7 Rapid traverse movements
Liner/non-linear interpolation
Path axes can be traversed in linear or non-linear interpolation mode in rapid traverse
movement.
<
Linear interpolation
Properties:
● The path axes are interpolated together.
● The tool movement programmed with G0 is executed at the highest possible velocity (rapid
traverse).
● The rapid traverse velocity is defined separately for each axis.
● If the rapid traverse movement is executed simultaneously on several axes, the rapid
traverse speed is determined by the axis which requires the most time for its section of the
path.
Linear interpolation is always performed in the following cases:
● For a G command combination with G0 that does not allow positioning axis motion, e.g.:
G40, G41, G42, G96, G961 and MD20750 $MC_ALLOW_G0_IN_G96 == FALSE
● With a combination of G0 and G64.
● When a compressor or transformation is active.
● In point-to-point (PTP) travel mode.
● When a contour handwheel is selected (FD = 0).
● In case of an active frame with rotation of geometry axes.
● If nibbling is active for geometry axes.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 257
B1: Continuous-path mode, Exact stop, Look Ahead
5.7 Rapid traverse movements
Non-linear interpolation
Properties:
● Each path axis interpolates as a single axis (positioning axis) independently of the other
axes at the axis-specific rapid traverse velocity.
● The channel-specific "Delete distance-to-go" command via the PLC and synchronized
action is applied to all positioning axes that were programmed as path axes.
In non-linear interpolation, with reference to the axis-specific jerk, one of the following two
settings applies alternatively:
● Positioning axis commands BRISKA, SOFTA, DRIVEA
● Machine data:
– MD32420 $MA_JOG_AND_POS_JERK_ENABLE
– MD32430 $MA_JOG_AND_POS_MAX_JERK
The existing system variables which refer to the distance-to-go ($AC_PATH, $AC_PLTBB and
$AC_PLTEB) are supported.
CAUTION
Risk of collision
Since the tool movement for non-linear interpolation can differ from the tool movement for
linear interpolation, synchronous actions relative to the coordinates of the path movement
may not become active.
Advantage
Larger tolerances for rapid traverse movements (G0 tolerance factor > 1) allow G0 blocks to
be traversed through faster.
Basic Functions
258 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.7 Rapid traverse movements
Preconditions
The G0 tolerance factor is only effective, if the following conditions are fulfilled:
● One of the following functions is active:
– Compressor functions COMPON, COMPCURV, COMPCAD or COMPSURF
– Smoothing function G642 or G645
– Orientation smoothing OST
– Orientation smoothing ORISON
– Smoothing for path-relevant orientation ORIPATH
● Several (≥ 2) consecutive G0 blocks in the part program.
For a single G0 block, the G0 tolerance factor is not effective, as at the transition from a
non G0 motion to a G0 motion (and vice versa), the "lower tolerance" always applies
(workpiece machining tolerance)!
5.7.2 Commissioning
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 259
B1: Continuous-path mode, Exact stop, Look Ahead
5.7 Rapid traverse movements
<value> Meaning
0 In the rapid traversing mode (G0) the non-linear interpolation is active.
Path axes are traversed as positioning axes.
1 In the rapid traversing mode (G0) the linear interpolation is active.
The path axes are interpolated together.
G0 tolerance factor
The tolerance factor for rapid traverse movements is channel-specifically set via the machine
data:
MD20560 $MC_G0_TOLERANCE_FACTOR (tolerance factor for G0)
The tolerance factor can be both greater or less than 1.0. If the factor is equal to 1.0 (default
value), then the same tolerances are active for rapid traverse movements as for non-rapid
traverse movements. Normally, the tolerance factor is set to > 1.0.
5.7.3 Programming
Syntax
G0 X… Y… Z…
G0 RP=… AP=…
Meaning
Basic Functions
260 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.7 Rapid traverse movements
Examples
Example 1: Milling
<
1
1
;
Example 2: Turning
1
1
=
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 261
B1: Continuous-path mode, Exact stop, Look Ahead
5.7 Rapid traverse movements
5.7.3.2 Switch on/off linear interpolation for rapid traverse movements (RTLION, RTLIOF)
Independently of the default setting (MD20730 $MC_G0_LINEAR_MODE), the interpolation
response for rapid traverse movements can also be set in the part program using the
commands of the G group 55.
Syntax
RTLIOF
...
RTLION
Meaning
Note
Preconditions for RTLIOF
To ensure, with RTLIOF non-linear interpolation, the following conditions must be fulfilled:
● No transformation (TRAORI, TRANSMIT, etc.) active.
● G60 active (stop at the block end).
● No compressor active (COMPOF).
● No tool radius compensation active (G40).
● No contour handwheel selected.
● No nibbling active.
If one of these conditions is not met, linear interpolation is as with RTLION.
Basic Functions
262 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.7 Rapid traverse movements
Example
Program code Comment
; Linear interpolation is the default:
; MD20730 $MC_GO_LINEAR_MODE == TRUE
...
N30 RTLIOF ; Switch off linear interpolation.
N40 G0 X0 Y10 ; G0 blocks are traversed using non-linear inter-
polation.
N50 G41 X20 Y20 ; TRC active ⇒ G0 blocks are traversed using lin-
ear interpolation.
N60 G40 X30 Y30 ; TRC not active ⇒ G0 blocks are traversed using
non-linear interpolation.
N70 RTLION ; Switch on linear interpolation.
...
Further information
Syntax
STOLF=<value>
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 263
B1: Continuous-path mode, Exact stop, Look Ahead
5.7 Rapid traverse movements
Meaning
Example
Program code Comment
COMPCAD G645 G1 F10000 ; Compressor function COMPCAD
X... Y... Z... ; The machine and setting data apply here.
X... Y... Z...
X... Y... Z...
G0 X... Y... Z...
G0 X... Y... Z... ; $MC_G0_TOLERANCE_FACTOR (e.g. =3) is effective here,
i.e. a smoothing tolerance of:
$MC_G0_TOLERANCE_FACTOR * $MA_COMPRESS_POS_TOL
CTOL=0.02
STOLF=4
G1 X... Y... Z... ; A contour tolerance of 0.02 mm is applied starting
from here.
X... Y... Z...
X... Y... Z...
G0 X... Y... Z...
X... Y... Z... ; From here, a G0 tolerance factor of 4 applies, i.e. a
contour tolerance of 0.08 mm.
Basic Functions
264 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.8 RESET behavior
Additional information
MD20150
With the reset (channel or mode group reset), the initial setting parameterized channel-
specifically becomes effective for all G groups:
MD20150 $MC_GCODE_RESET_VALUES (initial setting of the G groups)
The following G 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 483)."
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 265
B1: Continuous-path mode, Exact stop, Look Ahead
5.10 Data lists
Basic Functions
266 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.10 Data lists
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 267
B1: Continuous-path mode, Exact stop, Look Ahead
5.10 Data lists
Basic Functions
268 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B1: Continuous-path mode, Exact stop, Look Ahead
5.10 Data lists
5.10.3 Signals
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 269
B1: Continuous-path mode, Exact stop, Look Ahead
5.10 Data lists
Basic Functions
270 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration 6
6.1 Brief description
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.
6.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, 12/2017, 6FC5397-0BP40-6BA1 271
B2: Acceleration
6.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
Basic Functions
272 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
6.2 Functions
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 high-
frequency and difficult-to-control mechanical vibrations.
Acceleration profile
D
DPD[
DPD[
YPD[
W W W W
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 273
B2: Acceleration
6.2 Functions
● 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 276)").
● Interval: t1 - t2
Constant acceleration with -amax; linear decrease in velocity
6.2.1.2 Parameterization
Note
It is possible for the maximum value to be exceeded in connection with specific machining
situations (see Section "Acceleration matching (ACC) (axis-specific) (Page 278)" and "Path
acceleration for real-time events (channel-specific) (Page 281)").
<mode> Meaning
0 Effective maximum axial acceleration: MD32300 $MA_MAX_AX_ACCEL[ 0 ]
1 Effective maximum axial acceleration: MD32300 $MA_MAX_AX_ACCEL[ 1 ]
Basic Functions
274 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
6.2.1.3 Programming
Syntax
BRISK
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.
Syntax
BRISKA (axis{,axis})
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 275
B2: Acceleration
6.2 Functions
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
Overview
For acceleration without jerk limitation, an acceleration jump of 2 * amax occurs when changing
from acceleration and braking. To prevent this acceleration jump, a channel-specific constant
traversing time can be parameterized. The constant traversing time specifies the time for
constant velocity traversing between the acceleration and the braking phase:
MD20500 $MC_CONST_VELO_MIN_TIME (minimum time with constant velocity)
Note
Constant traversing time does not act for:
● Active function: LookAhead
● In traversal blocks with a traversal time less than or equal to the interpolation cycle.
Basic Functions
276 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
D
DPD[
DPD[
YPD[
W W W
W W
W W
The above figure shows the effect of the constant traversing time:
● Instant: t1
End of the acceleration phase with acceleration jump 1 * amax
● Interval: t1 - t2
Acceleration 0; constant velocity over the parameterized constant traversing time
● Instant: t2
Start of the braking phase with acceleration jump 1 * amax
The instants t0, t1' and t2' indicate the associated curve that would have resulted without
constant traversing time.
6.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, 12/2017, 6FC5397-0BP40-6BA1 277
B2: Acceleration
6.2 Functions
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).
6.2.3.2 Programming
Syntax
ACC[<axis>]=<reduction factor>
ACC[SPI(<spindle number>)]=<reduction factor>
ACC(S<spindle number>)=<reduction factor>
Meaning
<ACC>: Command for the axis-specific reduction of the currently maximum possible
acceleration, derived from the machine data
Effectiveness: Modal
<axis>: Channel axis name of path axis
Data type: AXIS
Value range: Channel axis names
SPI(<spindle The SPI(...) function converts the spindle number into the corresponding
number>): channel axis name.
S<spindle Spindle name in the channel
number>:
Basic Functions
278 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.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
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.
6.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)
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, 12/2017, 6FC5397-0BP40-6BA1 279
B2: Acceleration
6.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
6.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)
6.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.
Basic Functions
280 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
Parameter: Value
● Value range: TRUE, FALSE
Application:
● Part program
● Static synchronized action
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, 12/2017, 6FC5397-0BP40-6BA1 281
B2: Acceleration
6.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 282)".
6.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).
Basic Functions
282 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
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 (part-
program instruction G00), a specific maximum value can be programmed for the axis-specific
acceleration.
6.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, 12/2017, 6FC5397-0BP40-6BA1 283
B2: Acceleration
6.2 Functions
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 axis-
specific 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
6.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)
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
Basic Functions
284 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
6.2.9.2 Parameterization
Excessive acceleration for non-tangential block transitions is parameterized using the axis-
specific machine data:
MD32310 $MA_MAX_ACCEL_OVL_FACTOR
(overload factor for velocity jumps)
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.
1
1
D3DWK
D5DGLDO
1
Radial acceleration =
MD20602 $MC_CURV_EFFECT_ON_PATH_ACCEL * MD32300 $MA_MAX_AX_ACCEL
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 285
B2: Acceleration
6.2 Functions
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:
Y >PPLQ@
D 5DGLDO 3DWK PV
U>PP@
>PV@
0'0&B&859B())(&7B21B3$7+B$&&(/
Linear motions
The acceleration margin referred to above is ineffective in the case of linear motions (linear
interpolation) without active kinematic transformation.
6.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)
Basic Functions
286 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
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, 12/2017, 6FC5397-0BP40-6BA1 287
B2: Acceleration
6.2 Functions
Acceleration profile
U
UPD[
UPD[
D
DPD[
W
DPD[
Y
YPD[
W W W W W W W W
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
● 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
Basic Functions
288 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
6.2.11.2 Parameterization
Note
It is possible for the maximum value to be exceeded in connection with specific machining
situations (see Section "Path jerk for real-time events (channel-specific) (Page 293)").
6.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.
G group: 21
Effective: Modal
Reset response
The channel-specific initial setting is activated via a reset:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 289
B2: Acceleration
6.2 Functions
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.
6.2.12.1 Parameterization
<mode> Meaning
The following is effective as maximum axial jerk for positioning axis motions:
0 MD32430 $MA_JOG_AND_POS_MAX_JERK
With active G75 (fixed-point approach): MD32431 $MA_MAX_AX_JERK[0]
1 MD32431 $MA_MAX_AX_JERK[1]
Basic Functions
290 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
6.2.12.2 Programming
Syntax
SOFTA (Axis {Axis})
Functionality
The SOFTA part-program command is used to select acceleration with jerk limitation for single-
axis 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
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.
The limitation must be activated for specific channels using setting data:
SD42512 $SC_IS_SD_MAX_PATH_JERK = TRUE
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 291
B2: Acceleration
6.2 Functions
6.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)
6.2.13.3 Programming
Syntax
$SC_SD_MAX_PATH_JERK = jerk value
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.
Parameter: Value
● Value range: TRUE, FALSE
Basic Functions
292 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
Application:
● Part program
● Static synchronized action
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.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 293
B2: Acceleration
6.2 Functions
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 294)".
6.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.
Boundary conditions
Programming $AC_PATHJERK in the part program automatically triggers a preprocessing
stop with REORG (STOPRE).
Basic Functions
294 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
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 (part-
program instruction G00), a specific maximum value can be programmed for the axis-specific
jerk.
6.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
6.2.16 Excessive jerk for block transitions without constant curvature (axis-specific)
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 295
B2: Acceleration
6.2 Functions
6.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)
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.
Availability
The "velocity-dependent jerk adaptation" function is available independent of the function
"Free-form surface mode: Basic functions (Page 233)".
Basic Functions
296 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
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 231)"):
● 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 231)"):
● 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.
PD[LPXPSHUPLWWHG
D[LDOMHUN
M
M
Y Y $[LVVSHHG
Note
The velocity-dependent jerk adaptation is only active, if:
MD32439 $MA_MAX_AX_JERK_FACTOR > 1.0
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 297
B2: Acceleration
6.2 Functions
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.
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.
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
Basic Functions
298 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
V
V
' =
˭
I=
˭
I=
+V
V
V
' 1
˭
I1
˭
I1
where:
fZ: Numerator natural freq.
fN: Denominator natural freq.
DZ: Numerator damping
DN: Denominator damping
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 299
B2: Acceleration
6.2 Functions
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[ 6KDQQRQ7KHRUHP
˭
7
=PLQ
˭
7
3RVLWLRQFRQWUROF\FOHFORFN
6.2.18.2 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.
Filter mode
The filter mode is selected via the machine data:
Basic Functions
300 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
MD32402 $MA_AX_JERK_MODE
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.
0>1P@
0PD[
0UHG
Q>@
QUHG QPD[
① Normal range
② Reducing range
nred Speed as of which traversing is done with reduced torque
nmax Maximum speed
Mmax Maximum torque
Mred Torque at nmax (corresponds to acceleration reduction)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 301
B2: Acceleration
6.2 Functions
Basic Functions
302 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
DPD[
DHUV
D
DUHG
① Normal range
② Reducing range
③ Locked area
aers: Substitute characteristic curve constant acceleration
a15% Minimal constant acceleration
a15% = 0.15 * (amax - ared) + ared
vers Substitute characteristic curve velocity
vprog Programmed velocity
v15%a Velocity at a15%
Figure 6-6 Substitute path characteristic curve: Linear path
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 303
B2: Acceleration
6.2 Functions
DPD[
Yt
D 1 U
DHUV
DUHG
① Normal range
② Reducing range
aN Normal acceleration
aers: Substitute characteristic curve constant acceleration
vers Substitute characteristic curve velocity
r Path radius
Figure 6-7 Substitute path characteristic curve: Curved path
Basic Functions
304 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
D
DPD[
DHUV
DUHG
6.2.19.4 Parameterization
Path axis
Parameter assignment
The parameterization of the axis-specific velocity limit, above which the reduced acceleration
acts as an axis for traversing movements, is done via the machine data:
MD35220 $MA_ACCEL_REDUCTION_SPEED_POINT = <speed limit>
Single axis
Activation
The activation of the axis-specific velocity limit, above which the reduced acceleration acts as
a single axis for traversing movements, is done via machine data:
MD35240 $MA_ACCEL_TYPE_DRIVE = TRUE
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 305
B2: Acceleration
6.2 Functions
Parameter assignment
The following machine data is relevant for parameterizing the axis-specific acceleration
characteristic curve above the configured velocity limit:
● MD32000 $MA_MAX_AX_VELO (maximum axis velocity)
● MD35220 $MA_ACCEL_REDUCTION_SPEED_POINT = <speed limit>
From the parameterized velocity, the reduced acceleration is in effect>
● MD35230 $MA_ACCEL_REDUCTION_FACTOR = <reduction factor>
Beyond the reduction speed, interpolation between the maximum and minimum
acceleration occurs up to the maximum speed. The minimum acceleration is calculated as:
minimum acceleration = maximum acceleration * (1 - reduction factor)
● MD35242 $MA_ACCEL_REDUCTION_TYPE (see paragraph below: "Selection of the
torque characteristic curve")
● MD32300 $MA_MAX_AX_ACCEL (Maximum axis acceleration)
Value Meaning
0 Constant torque characteristic
1 Hyperbolic torque characteristic
2 Linear torque characteristic
Basic Functions
306 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
The following figures show the principal velocity and acceleration characteristic curves for the
respective types of characteristic curve:
● Constant torque characteristic (value = 0)
D Y
YPD[
DPD[
YUHG
DUHG
YUHG YPD[ Y W
D Y
YPD[
DPD[
YUHG
DUHG
YUHG YPD[ Y W
D Y
YPD[
DPD[
YUHG
DUHG
YUHG YPD[ Y W
Characteristic parameters
The characteristic curve parameters result from the following machine data:
① Normal range
② Reducing range
vmax $MA_MAX_AX_VELO
vred $MA_ACCEL_REDUCTION_SPEED_POINT * $MA_MAX_AX_VELO
amax $MA_MAX_AX_ACCEL
ared (1 - $MA_ACCEL_REDUCTION_FACTOR) * $MA_MAX_AX_ACCEL
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 307
B2: Acceleration
6.2 Functions
Functionality
The axis-specific velocity limit, above which the reduced acceleration acts as an axis for
traversing movements, is activated with the command DRIVE.
Syntax
DRIVE
Meaning
Supplementary conditions
Characteristic changeover
If the acceleration reduction is active due to the programming of DRIVE and the acceleration
profile is changed over by SOFT or BRISK, traversing is then done with a substitute
characteristic with reduced dynamic limit values.
With the re-programming of DRIVE, the reduction in acceleration can be re-activated beyond
the parameterized velocity limit.
See also
Parameterization (Page 305)
Functionality
The axis-specific velocity limit, above which the reduced acceleration acts as a single axis for
traversing movements, is activated for the programmed axes with the pre-defined procedure
DRIVEA().
Syntax
DRIVEA(<Axis_1>, <Axis_2>, ...)
Basic Functions
308 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
Meaning
Supplementary conditions
If the knee-shaped acceleration characteristic curve is parameterized for an axis, then this
becomes the default acceleration profile for 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.
Path interpolation
If for a machine axis involved in a programmed path, the knee-shaped acceleration
characteristic curve parameterized without the part program instruction DRIVE is active, then
a substitute characteristic curve with reduced dynamic limit values is determined for the path.
Kinematic transformation
The knee-shaped acceleration characteristic curve 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, 12/2017, 6FC5397-0BP40-6BA1 309
B2: Acceleration
6.2 Functions
To avoid unwanted machine motions in JOG mode, separate axis-specific acceleration and
jerk limit values can be specified for JOG motion.
It is also possible to limit acceleration and jerk channel-specifically for manual traversing of
geometry and orientation axes. This enables better handling of the kinematics that generate
Cartesian motions entirely via rotary axes (robots).
6.2.20.1 Parameterization
Note
MD32436 $MA_JOG_MAX_JERK acts only when the axial-specific jerk limitation in JOG mode
has been enabled for the machine axes to be traversed:
MD32420 $MA_JOG_AND_POS_JERK_ENABLE [<axis>] == TRUE
This is also possible by programming SOFTA(<Axis1>,<Axis2>, ... ) in the part
program.
Basic Functions
310 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.2 Functions
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 axis-specific acceleration.
Note
MD21168 $MC_JOG_JERK_GEO acts only when the axis-specific jerk limitation in JOG mode
has been enabled for the base machine axes:
MD32420 $MA_JOG_AND_POS_JERK_ENABLE [<axis>] == 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, 12/2017, 6FC5397-0BP40-6BA1 311
B2: Acceleration
6.2 Functions
Note
Only the dynamic response mode DYNNORM is always effective for JOG mode.
Behavior for the manual traversing of geometry axes with active rotation
When manually traversing geometry axes in the SOFT acceleration mode (acceleration with
jerk limitation), the value from MD32436 $MA_JOG_MAX_JERK or MD32430
$MA_JOG_AND_POS_MAX_JERK is also used with active rotation or active orientable
toolholder.
Note
On the other hand the SOFT part program instruction has no effect on the JOG mode.
Basic Functions
312 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.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.
6.3 Examples
6.3.1 Acceleration
Program code
; Synchronized action: Acceleration switchover depending on fast input 1
($A_IN[1]):
N53 ID=1 WHEN $A_IN[1] == 1 DO $AC_PATHACC = 2.*$MA_MAX_AX_ACCEL[X]
; Synchronized action: Test override profile (simulation of external
interventions):
N54 ID=2 WHENEVER ($AC_TIMEC > 16) DO $AC_OVR=10
N55 ID=3 WHENEVER ($AC_TIMEC > 30) DO $AC_OVR=100
;Approach
N1000 G0 X0 Y0 BRISK
N1100 TRANS Y=-50
N1200 AROT Z=30 G642
; Contour
N2100 X0 Y0
N2200 X = 70 G1 F10000 RNDM=10 ACC[X]=30 ACC[Y]=30
N2300 Y = 70
N2400 X0
N2500 Y0
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 313
B2: Acceleration
6.3 Examples
Y>PV@
$&B295
$&B295
W>PV@
1 1
6.3.2 Jerk
Program code
; Setting of path acceleration and path jerk in the event of external
intervention:
N0100 $AC_PATHACC = 0.0
N0200 $AC_PATHJERK = 4.0 * ($MA_MAX_AX_JERK[X] + $MA_MAX_AX_JERK[Y]) / 2.0
Basic Functions
314 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.3 Examples
Program code
; Synchronized action: varying the override (simulation of external
interventions)
N0530 ID=1 WHENEVER ($AC_TIMEC > 16) DO $AC_OVR=10
N0540 ID=2 WHENEVER ($AC_TIMEC > 30) DO $AC_OVR=100
;Approach
N1000 G0 X0 Y0 SOFT
N1100 TRANS Y=-50
N1200 AROT Z=30 G642
; Contour
N2100 X0 Y0
N2200 X = 70 G1 F10000 RNDM=10
N2300 Y = 70
N2400 X0
N2500 Y0
Y>PV@
295
W>PV@
1 1
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 315
B2: Acceleration
6.3 Examples
Contour
1
1
1
1
[
Basic Functions
316 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.3 Examples
0'0$;B$;B$&&(/>;@ 0'62)7B$&&(/B)$&725>;@
0'0$;B$&&(/B29/B)$&725>;@
0'0$;B$;B-(5.>;@
$[OHDFFHOHUDWLRQ
$[LVYHORFLW\ 0'3$7+B75$16B-(5.B/,0>;@
6.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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 317
B2: Acceleration
6.4 Data lists
Basic Functions
318 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
B2: Acceleration
6.4 Data lists
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 319
B2: Acceleration
6.4 Data lists
Identifier Description
$AC_PATHACC Path acceleration for real-time events
$AC_PATHJERK Path jerk for real-time events
Basic Functions
320 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
F1: Travel to fixed stop 7
7.1 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, 12/2017, 6FC5397-0BP40-6BA1 321
F1: Travel to fixed stop
7.2 Detailed description
7.2.1 Programming
Function
Note
Synchronized actions
The "Travel to fixed stop" function can also be controlled via synchronized actions.
References:
Function Manual, Synchronized Actions
Syntax
FXS[<axis>]=<request>
FXST[<axis>]=<clamping torque>
FXSW[<axis>] = <window width>
Meaning
Parameter Meaning
FXS: "Travel to fixed stop" function, effectiveness: Modal
<Request>: 0 = switch off through
1 = switch on
FXST: Set clamping torque
<Clamping torque>: Clamping torque in % of the maximum drive torque.
SINAMICS S120: p2003
FXSW: Set monitoring window
<Window width>: Width of the tolerance window around the fixed stop
Unit: mm, inch or degrees
<axis>: Name of the channel axis, type: AXIS
Basic Functions
322 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
F1: Travel to fixed stop
7.2 Detailed description
Ramp-shaped change
A time can be set using the machine data, within which the torque limit value is linearly changed.
MD37012 $MA_FIXED_STOP_TORQUE_RAMP_TIME (time until the new torque limit is
reached)
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, 12/2017, 6FC5397-0BP40-6BA1 323
F1: Travel to fixed stop
7.2 Detailed description
7.2.2.1 Selection
$FWXDOSRVLWLRQDIWHU
7UDYHOWRIL[HGVWRS
)L[HGVWRSPRQLWRULQJ 6WDUWLQJSRVLWLRQ
3URJU ZLQGRZ
(QGSRVLWLRQ
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.
Basic Functions
324 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
F1: Travel to fixed stop
7.2 Detailed description
<value> Meaning
0 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)
1 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)
2 The fixed stop has been reached, if one of the conditions, specified under <value> == 0
OR <value> == 1 applies.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 325
F1: Travel to fixed stop
7.2 Detailed description
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.
Basic Functions
326 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
F1: Travel to fixed stop
7.2 Detailed description
Overview
)ROORZLQJHUURU 0'0$B),;('B6723B7+5(6+2/'
W
'%'%;
DFWLYDWH7UDYHOWRIL[HG
VWRS
'%'%;
)L[HGVWRSUHDFKHG
%ORFNFKDQJH
9$B);6
Alarm suppression
Alarms for various causes of breakage can be suppressed using the machine data:
MD37050 $MA_FIXED_STOP_ALARM_MASK = <value>
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 327
F1: Travel to fixed stop
7.2 Detailed description
Overview
)ROORZLQJHUURU
W
'%'%;
DFWLYDWH7UDYHOWRIL[HG
VWRS
'%'%;
)L[HGVWRSUHDFKHG
%ORFNFKDQJH
9$B);6
7.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.
Basic Functions
328 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
F1: Travel to fixed stop
7.2 Detailed description
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)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 329
F1: Travel to fixed stop
7.2 Detailed description
Overview
D Y
DPD[ YPD[
DUHG YUHG
YUHG YPD[ Y W
D Y
DPD[ YPD[
DUHG YUHG
YUHG YPD[ Y W
D Y
DPD[ YPD[
DUHG YUHG
YUHG YPD[ Y W
Basic Functions
330 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
F1: Travel to fixed stop
7.2 Detailed description
Function
Effectiveness of FOCON/FOCOF
The state of the modal-acting torque/force reduction FOCON/FOCOF is maintained during the
block search and is effective in the approach block.
CAUTION
SERUPRO approach does not really take the FXS command into account.
The approach to the programmed end position of the FXS block is only simulated without
torque limitation.
If FXS is located between the beginning of the program and the search target, the command
is not executed by the NC. The motion is only simulated up to the programmed end point.
The user can log the turning on and turning off of FXS in the part program. If necessary, the
user can start an ASUP in order to activate or deactivate FXS in this SERUPRO-ASUP.
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)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 331
F1: Travel to fixed stop
7.2 Detailed description
Activation status of the "travel to fixed stop" func‐ System variable $AA_FXS ==
tion
"Deactivated" 0 (axis not at fixed stop)
"Activated" 3 ("Travel to fixed stop" selection is active)
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.
Example
The current state of the "Travel to fixed stop" function can be determined in the SERUPRO
ASUP via the system variables $AA_FXS and $VA_FXS, and the appropriate response
initiated:
Example:
If the axis is at the fixed stop and the target block is available after deselection of FXS, the new
target position is displayed via DB31, ... DBX62.5 (fixed stop reached) as the REPOS offset.
Basic Functions
332 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
F1: Travel to fixed stop
7.2 Detailed description
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_ASUP
Note
A SERUPRO ASUP without FXS treatment or no SERUPRO ASUP 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 command 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 499)".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 333
F1: Travel to fixed stop
7.2 Detailed description
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.
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.
Basic Functions
334 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
F1: Travel to fixed stop
7.2 Detailed description
Contour monitoring
The axis contour monitoring function is inoperative while "Travel to fixed stop" is active.
Positioning axes
For "Travel to fixed stop" with positioning axes POSA, the block change is executed even when
the positioning axis has not yet reached the fixed stop by this time.
Vertical axes
The "Travel to fixed stop" function can be used for vertical axes even when alarms are active.
If a function-specific alarm occurs for a vertical axis when traveling to fixed stop, the NC/PLC
interface signal DB11, DBX6.3 (mode group ready) is not reset: This means that the
corresponding drive is not de-energized.
This corresponds to an electronic weight compensation for the vertical axis and can be
configured via the following machine data:
MD37052 $MA_FIXED_STOP_ALARM_REACTION
References
Further information on vertical axes can be found in:
● SINAMICS S120 Function Manual
● Function Manual, Extended Functions; Compensation (K3),
Section: Electronic counterweight
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 335
F1: Travel to fixed stop
7.2 Detailed description
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)
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
Basic Functions
336 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
F1: Travel to fixed stop
7.2 Detailed description
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‐ Description
ue>
0 Axis is not at fixed stop
1 Fixed stop was successfully approached
2 Approach to fixed stop failed
3 Selection "Travel to fixed stop" is active.
4 Fixed stop was detected.
5 Travel to fixed stop deselection active
Additional information
If errors occurred when traversing to the fixed stop ($VA_FXS == 2), then additional information
is displayed in the following system variables:
● $VA_FXS_INFO = <value> (additional information when "traveling to fixed stop")
<val‐ Description
ue>
0 No additional information available
1 No approach motion programmed
2 Programmed end position reached, motion stopped
3 Cancellation using a reset, DB21, ... DBX7.7 == 1
4 Monitoring window was exited
5 Torque reduction rejected by drive
6 PLC has withdrawn the enable, DB31, ... DBX3.1 == 0 (travel to fixed stop enabled)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 337
F1: Travel to fixed stop
7.2 Detailed description
7.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.
Basic Functions
338 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
F1: Travel to fixed stop
7.2 Detailed description
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>]
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 339
F1: Travel to fixed stop
7.2 Detailed description
FOC[<axis>]
Meaning
Parameter Meaning
FOCON: Activate torque/force limiting
FOCOF: Deactivate torque/force limiting
FOC: Activate non-modal torque/force limiting
<axis>: Channel axis name, type: AXIS
Example
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)
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)
Basic Functions
340 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
F1: Travel to fixed stop
7.2 Detailed description
System variable
$AA_FOC
Value Meaning
0 FOC not active
1 FOC modal active
2 FOC non-modal active
$VA_TORQUE_AT_LIMIT
Value Meaning
0 actually effective torque < torque limit value
1 actually effective torque == torque limit value
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 341
F1: Travel to fixed stop
7.3 Examples
● 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.
7.3 Examples
Basic Functions
342 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
F1: Travel to fixed stop
7.3 Examples
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
Note
A block-related synchronized action is processed in the following main program block.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 343
F1: Travel to fixed stop
7.4 Data lists
Basic Functions
344 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
F1: Travel to fixed stop
7.4 Data lists
7.4.3 Signals
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 345
F1: Travel to fixed stop
7.4 Data lists
Basic Functions
346 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-
loop control 8
8.1 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
8.2.1 Velocities
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 347
G2: Velocities, setpoint / actual value systems, closed-loop control
8.2 Velocities, traversing ranges, accuracies
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
9PLQุ
&RPSXWDWLRQDO > ,QFU
PPRUGHJUHHV @
,32F\FOH>V@
UHVROXWLRQ
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:
Basic Functions
348 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.2 Velocities, traversing ranges, accuracies
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 349
G2: Velocities, setpoint / actual value systems, closed-loop control
8.2 Velocities, traversing ranges, accuracies
,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
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.
Basic Functions
350 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.2 Velocities, traversing ranges, accuracies
The input and display resolution is determined by the specified operator panel front used,
whereby the display resolution for position values with the machine data:
MD9004 $MM_DISPLAY_RESOLUTION (display resolution)
can be changed.
The machine data:
MD9011 $MM_DISPLAY_RESOLUTION_INCH (display resolution for INCH measuring
system)
can be used to configure the display resolution for position values with inch setting.
This allows you to display up to six decimal places with the inch setting.
For the programming of part programs, the input resolutions listed in the Programming Guide
apply.
The desired computational resolution is defined using the machine data:
MD10200 $MN_INT_INCR_PER_MM (computational resolution for linear positions)
and
MD10210 $MN_INT_INCR_PER_ DEG (computational resolution for angular positions).
It is independent of the input/display resolution but should have at least the same
resolution.
The maximum number of places after the decimal point for position values, velocities, etc., in
the part program and the number of places after the decimal point for tool offsets, zero offsets,
etc. (and therefore also for the maximum possible accuracy) is defined by the computational
resolution.
The accuracy of angle and linear positions is limited to the computational resolution by rounding
the product of the programmed value with the computational resolution to an integer number.
To make the rounding clear, powers of 10 should be used for the calculation resolution.
Example of rounding:
Computational resolution: 1000 incr./mm
Programmed path: 97.3786 mm
Effective value: 97.379 mm
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 351
G2: Velocities, setpoint / actual value systems, closed-loop control
8.2 Velocities, traversing ranges, accuracies
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:
Internally in the control, the following units are used, whatever basic system is selected:
Basic Functions
352 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.2 Velocities, traversing ranges, accuracies
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]
,QSXWRXWSXWXQLWVIRU
PDFKLQHDQGVHWWLQJGDWD
'RWKHLQSXW
RXWSXWXQLWV
FRUUHVSRQGWR 1R
WKH
VWDQGDUGEDVLF
V\VWHP"
8VHUGHILQHG
0'6&$/,1*B)$&7256B86(5B'()>Q@
0'6&$/,1*B)$&7256B86(5B'()B0$6.
<HV
)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, 12/2017, 6FC5397-0BP40-6BA1 353
G2: Velocities, setpoint / actual value systems, closed-loop control
8.2 Velocities, traversing ranges, accuracies
⇒ 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)
6HOHFWHGLQSXWRXWSXWXQLW
0'6&$/,1*B)$&7256B86(5B'()>Q@
,QWHUQDOXQLW
P PP
PLQ V
0'6&$/,1*B)$&7256B86(5B'()>Q@
PP PP
V V
ය 0'6&$/,1*B)$&7256B86(5B'()>Q@
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.)
IW
PP
V V
ය 0'6&$/,1*B)$&7256B86(5B'()>@ PP PP
V V
ය 0'6&$/,1*B)$&7256B86(5B'()>@
Index 4 defines the "linear acceleration" in the "Scaling factors of physical quantities" list.
Basic Functions
354 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.3 System of units, metric/inch
8.3.1 Function
The basic system also defines the interpretation of the programmed F value for linear axes:
HMI display
Data relating to length is displayed as follows on the user interface:
Display
in the basic system in the programmed system of
units
Machine data x
Data in the machine coordinate x
system
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 355
G2: Velocities, setpoint / actual value systems, closed-loop control
8.3 System of units, metric/inch
Display
in the basic system in the programmed system of
units
Tool data x
Work offsets x
Data in the workpiece coordinate x
system
NC/PLC interface
In the case of NC/PLC interface signals containing dimension information, e.g. feedrate for
path and positioning axes, data exchange is carried out with the PLC in the configured basic
system.
Requirement
Extended system of units functionality is active (MD10260
$MN_CONVERT_SCALING_SYSTEM = 1; see "Commissioning (Page 358)")
Basic Functions
356 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.3 System of units, metric/inch
Function
The relevant softkey on the HMI in the "Machine" operating area is used to change the system
of units of the control system.
The system of units is only switched over under the following conditions:
● 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.
The following machine data are automatically switched over consistently for all configured
channels:
● MD10240 $MN_SCALING_SYSTEM_IS_METRIC
● MD20150 $MN_GCODE_RESET_VALUES
Reset position
When the system of units is switched over from the user interface, the reset position of the G
group 13 is automatically adapted to the actual system of units.
MD20150 $MC_GCODE_RESET_VALUES[12] = <actual system of units>
NCU link
Note
If several NCUs are linked by NCU link, the switchover has the same effect on all linked NCUs.
If the requirements for a switchover are not fulfilled on one of the connected NCUs, no
switchover will take place on any of the NCUs. It is assumed that when there is a NCU link,
interpolations between several NCUs will take place on the existing NCUs, whereby the
interpolations can provide correct results only if the same systems of units are used.
References:
Function Manual, Extended Functions; Section "B3: distributed systems"
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 357
G2: Velocities, setpoint / actual value systems, closed-loop control
8.3 System of units, metric/inch
● Jerk
● Tool offsets
● Programmable, adjustable and external work offsets and DRF offsets
● Compensation values
● Protection zones
● Machine data
● JOG and handwheel factors
After the switchover, all of the above mentioned data is available in physical quantities.
Data, for which no unique physical units are defined, is not converted automatically.
This includes:
● R parameters
● GUDs (Global User Data)
● LUDs (Local User Data)
● PUDs (Program global User Data)
● Analog inputs/outputs
● Data exchange via FC21
The user is prompted to take the currently valid system of units MD10240
$MN_SCALING_SYSTEM_IS_METRIC into consideration.
NC/PLC interface
The current system of units setting can be read at the NC/PLC interface using the following
signal:
DB10 DBX107.7 (inch system of units)
The number of times that the system of units has been switched over since the last time the
control powered up can be read out using the following signal byte:
DB10 DBB71 (change counter, system of units inch/metric)
Starting value after the control powered up: 1
8.3.2 Commissioning
Basic system
Das von der open loop control zu verwendende Basic system for the scaling
lengthndependinger physical Größen bei der data-input/output if predefined Monitor das
machine data:
Basic Functions
358 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.3 System of units, metric/inch
MD10240 $MN_SCALING_SYSTEM_IS_METRIC
Value Meaning
0 (= FALSE) Data relating to length is interpreted as inch data.
1 (= TRUE) Data relating to length is interpreted as metric data.
The system must be powered up again after changing this machine data as otherwise
associated machine data, which have physical units, will be incorrectly scaled.
The following procedure must be complied with:
● Changing the MD using manual entry:
– 1. Power up the system.
– 2. Machine data with physical units: Enter a value.
● The MD is changed using machine data.
– 1. Power up the system.
– 2. Load the machine data file once again so that the new physical units are taken into
account.
When changing MD10240, Alarm 4070 "Normalizing machine data has been changed" is
output.
Note
When changing over the system of units at a control system, all length-related data must be
converted consistently and completely into the other measuring system.
Note
By changing the conversion factor, the control system can be adapted to customer-specific
systems of units.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 359
G2: Velocities, setpoint / actual value systems, closed-loop control
8.3 System of units, metric/inch
Value Meaning
0 (= FALSE) Extended system of units functionality notactive (default setting; compatibility
to previous software releases)
1 (= TRUE) Extended system of units functionality active
When changing MD10240, Alarm 4070 "Normalizing machine data has been changed" is
output.
Data backup
Individual data sets that are read from the control system 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
The identifier records in which system of units the data have been read out. This ensures that
no data sets are read into the control with a system of units other than that which is currently
set.
Since the identifier is also evaluated in part programs, these can also be "protected" against
operator errors as described above. You can therefore prevent part programs containing, e.g.
only metric data, from running on an inch system of units.
Archive and machine data sets are downward-compatible with the following setting:
MD11220 $MN_INI_FILE_MODE = 2
Note
The INCH/METRIC identifier is only generated if the compatibility machine data:
MD10260 $MN_CONVERT_SCALING_SYSTEM = TRUE
Note
Rounding machine data
All length-related machine data is rounded to the nearest 1 pm when writing in the inch system
of units (MD10240 $MN_SCALING_SYSTEM_IS_METRIC=0 and MD10260
$MN_CONVERT_SCALING_SYSTEM=1), to avoid rounding problems.
This corrects the loss of accuracy resulting from conversion to ASCII when reading out a data
backup in the inch system of units when the data is read back into the system.
Basic Functions
360 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.3 System of units, metric/inch
MD10200 $MN_INT_INCR_PER_MM
The precision of entry of linear positions is limited to the calculation resolution. The product of
the programmed position value and the calculation resolution is rounded up to the next integer.
To make the rounding clear and understandable, powers of 10 should be used for the
calculation resolution.
Example:
1 inch = 25.4 mm ⇒ 0.0001 inch = 0.00254 mm = 2.54 μm = 2540 nm
To be able to program and display the last 40 nm, a value of 100,000 must be parameterized
for the input and calculation resolution.
Only with this identical setting for both systems of units is it possible to change the system of
units without a significant loss of accuracy. Once MD10200 has been set to this value, it will
not need to be changed each time the measuring system is switched over.
Note
When the system of units is switched over, all length-related tool data is converted to the new
system of units.
Reset position
For each channel, the reset position of G group 13 (system of units, inch/metric) is set in the
machine data:
MD20150 $MC_GCODE_RESET_VALUES[12] (reset position of G group 13)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 361
G2: Velocities, setpoint / actual value systems, closed-loop control
8.3 System of units, metric/inch
Note
The conversion factor should be identical for all three geometry axes.
8.3.3 Programming
Basic Functions
362 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.3 System of units, metric/inch
Activation
In order that commands G700 and G710 are available, the extended system of units
functionality must be switched on (MD10260 $MN_CONVERT_SCALING_SYSTEM = 1).
Syntax
G70
G71
G700
G710
Meaning
NOTICE
Axis-specific data of rotary axes
Axis-specific data of rotary axes is read and written using the parameterized basic system.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 363
G2: Velocities, setpoint / actual value systems, closed-loop control
8.3 System of units, metric/inch
Example
The basic system is metric (MD10240 $MN_SCALING_SYSTEM_IS_METRIC = 1). However,
the workpiece drawing has dimensions shown in inches. This is the reason why within the part
program, the inch system of units is selected. After the inch dimensions have been processed,
the metric system of units is again selected.
<
*
* *
*
;
Additional information
Basic Functions
364 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.3 System of units, metric/inch
Synchronized actions
Note
Reading 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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 365
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
Control loop
A control loop with the following structure can be configured for every closed-loop controlled
axis/spindle:
6SHHG
6SHHGVHWSRLQW 0RWRU
&ORVHG VHWS 0
ORRS RXWSXW DVVLJQPHQW
FRQWURO
&75/287B7<3( VLPOXDWLRQ
,6SRVLWLRQPHDV
V\VWHP
(1&B7<3( VLPOXDWLRQ
$FWXDOYDOXH (QFRGHU
SURFHVVLQJ (
$FWXDOYDOXH
180B(1&6 DVVLJQPHQW
$FWXDOYDOXH (QFRGHU
SURFHVVLQJ (
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.
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.
Basic Functions
366 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
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.
If the axis is not referenced (at least in the current control measuring system), then the related
monitoring is not active if MD36510 = 0 or if neither of the two measuring systems in the axis
is active/available.
Simulation axes
The speed control loop of an axis can be simulated for test purposes.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 367
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
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
Setpoint marshalling
The following machine data is relevant for the setpoint assignment of a machine axis.
MD30100 $MA_CTRLOUT_SEGMENT_NR
Setpoint assignment: Bus segment
System Value Meaning
840D sl 5 PROFIBUS DP / PROFINET (default)
Basic Functions
368 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
MD30110 $MA_CTRLOUT_MODULE_NR
Setpoint assignment: Drive number / module number
System Value Meaning
840D sl x 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
Setpoint assignment: Setpoint output on drive module/module
System Value Meaning
840D sl 1 Modular drive at PROFIBUS / PROFINET with PROFIdrive profile (default)
MD30130 $MA_CTRLOUT_TYPE
Setpoint output type
System Value Meaning
840D sl 0 Simulation (operation without drive)
1 Setpoint output active
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 ]
Actual value assignment, bus segment
System Value Meaning
840D sl 5 PROFIBUS DP / PROFINET
MD30220 $MA_ENC_MODULE_NR[ n ]
Actual value assignment: Drive number/measuring circuit number
System Value Meaning
840D sl x 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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 369
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
MD30230 $MA_ENC_INPUT_NR[ n ]
Actual value assignment: Input on drive module/measuring circuit module
System Value Meaning
840D sl x 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 ]
Encoder type of the actual value acquisition (actual position value)
System Value Meaning
840D sl 0 Simulation (operation without encoder)
1 Incremental encoder
4 Absolute encoder
Note:
Corresponds to PROFIdrive parameter p979
Basic Functions
370 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 371
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
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"
Gear types
The following gear types are available for adapting the mechanical ratios:
0 7RROV
0RWRUORDG
JHDUER[
'5,9(B$;B5$7,2B180(5$ 1RRIORDGUHY
'5,9(B$;B5$7,2B'(120 1RRIWRROUHY
'5,9(B$;B5$7,2B180(5$ 1RRIPRWRUUHY
'5,9(B$;B5$7,2B'(120 1RRIORDGUHY
Basic Functions
372 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
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 gear)
● MD31050 $MA_DRIVE_AX_RATIO_DENOM (denominator load gear)
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 control system 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 1277)".
Intermediate gear
Additional, configurable load intermediate gears are also supported by the control system:
● MD31066 $MA_DRIVE_AX_RATIO2_NUMERA (intermediate gear numerator)
● MD31064 $MA_DRIVE_AX_RATIO2_DENOM (intermediate gear denominator)
Power tools generally have their "own" intermediate gear. Such variable mechanics can be
configured by multiplying the active intermediate gear and the motor/load gear.
CAUTION
Different gear transmission ratios for switching
Unlike the motor/load gear, there is no parameter set for the intermediate gear and, therefore,
no way of controlling the time-synchronized switchover to the part program or PLC (NC/PLC
interface). Part machining during gear change is, therefore, ruled out. It remains the task of
the user to match the synchronization of the relevant changed machine data to the
corresponding mechanical switchover and activate it. On switchover during a motion,
compensations cannot be ruled out due to jumps in the scaling factors. These are not
monitored for violation of the maximum acceleration.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 373
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
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.
CAUTION
Loss of machine reference
The control cannot detect all situations that can lead to loss of the machine reference.
Therefore, it is the general responsibility of the commissioning engineer or user to initiate
explicit referencing of zero marker synchronization in such cases.
In the case of gear changes, it is not possible to make a statement about the effect of the
reference point or machine position reference on the encoder scaling. In such cases, the
control partially cancels the status "Axis referenced/synchronized".
If the machine reference has been lost, it must first be restored through an adjustment or
referencing of the lost machine reference.
See also
R1: Referencing (Page 1227)
Basic Functions
374 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 375
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
QVHW VSHHGVHWSRLQW
0D[VSHHGVHWSRLQW
0'&75/287B/,0,7
0D[D[LVYHORFLW\
0'0$;B$;B9(/2
W>VHF@
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.
Basic Functions
376 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
Note
The "Activate machine data" can be activated either in the part program with the command
NEWCONF or via the user interface by pressing a softkey.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 377
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
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 Linear axis Linear axis Rotary axis
Linear scale / Indirect Direct Indirect Direct
direct measuring measur‐ measuring measur‐ measur‐
system ing system system: ing sys‐ ing sys‐
Machine/ tem tem: Ma‐
tool chine/tool
MD30300 $MA_IS_ROT_AX 0 0 0 1 1
MD31000 $MA_ENC_IS_LINEAR[ n ] 1 0 0 0 0
MD31010 $MA_ENC_GRID_POINT_DIST[ n ] Spacing - - - -
MD34320 $MA_ENC_INVERS[ n ] 1)
- - - -
MD31020 $MA_ENC_RESOL[ n ] - Pulses/ Pulses/ Pulses/ Pulses/
rev rev rev 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 0 1 0 1
MD31044 $MA_ENC_IS_DIRECT2[ n ] -/1 0 1 0 1
MD31050 $MA_DRIVE_AX_RATIO_DENOM[ n ] - Load -/1 Load 2)
rev. rev.
MD31060 $MA_DRIVE_AX_RATIO_NUMERA[ n ] - Motor -/1 Motor 2)
- 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
378 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
&RPSXWDWLRQDOUHVROXWLRQ ,QWHUQDOLQFUHPHQWVPP
$FWXDOYDOXHUHVROXWLRQ (QFRGHULQFUHPHQWVPP
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 379
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
Machine data
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.
&RPSXWDWLRQDOUHVROXWLRQ
ื
$FWXDOYDOXHUHVROXWLRQ
0',6B527B$;
7DEOH
0 %DOOVFUHZ
/RDGJHDUER[ /LQHDUVFDOH
0'(1&B,6B/,1($5
0'(1&B*5,'B32,17B',67 OLQHDUHQFRGHU
0'(1&B,19(56 FRXQWHUFORFNZLVH
The ratio of the internal increments to the encoder increments per mm is calculated as follows:
Basic Functions
380 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
(1&B,6B/,1($5
(1&B,6B',5(&7 ,6B527B$;
Q(QFRGHU Q6SLQGOH
7DEOH
( 0 %DOOVFUHZ
0HDVXULQJ /RDG
JHDUER[ JHDUER[ /($'6&5(:B3,7&+
'5,9(B(1&B5$7,2B180(5$ 1XPEHURIPRWRUUHYROXWLRQV
'5,9(B(1&B5$7,2B'(120 1XPEHURIHQFRGHUUHYROXWLRQV
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 381
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
,QWHUQDOLQFUHPHQWVPP
(QFRGHULQFUHPHQWVPP
PP
,6B527B$; (1&B,6B',5(&7
(1&B,6B/,1($5
7DEOH
0 *
%DOOVFUHZ (1&B5(62/
/RDG 0HDV
JHDU JHDU
/($'6&5(:B3,7&+
Q 6SLQGOH Q (QFRGHU
'5,9(B(1&B5$7,2B180(5$ 1RRIVSLQGOHUHYV
'5,9(B(1&B5$7,2B'(120 1RRIHQFRGHUUHYV
The ratio of the internal increments to the encoder increments per mm is calculated as follows:
Basic Functions
382 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
,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@
/($'6&5(:B3,7&+
,17B,1&5B3(5B00
(1&B,6B/,1($5
(1&B,6B',5(&7
Q(QFRGHU Q /RDG ,6B527B$;
( 0 / 5RWDU\WDEOH
(1&B5(62/ Q 0RWRU
'5,9(B$;B5$7,2B180(5$ 1XPEHUPRWRUUHYV
'5,9(B$;B5$7,2B'(120 1XPEHUORDGUHYV
0HDVXULQJJHDUER[ /RDGJHDUER[
'5,9(B(1&B5$7,2B180(5$ 1XPEHURIPRWRUUHYROXWLRQV
'5,9(B(1&B5$7,2B'(120 1XPEHURIHQFRGHUUHYROXWLRQV
The ratio of the internal increments to the encoder increments per degree is calculated as
follows:
,QWHUQDOLQFUHPHQWVGHJUHH GHJUHHV
(QFRGHULQFUHPHQWVGHJUHH (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, 12/2017, 6FC5397-0BP40-6BA1 383
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
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
(1&B,6B',5(&7
5RWDU\WDEOH
Q /RDG Q(QFRGHU
(1&B5(62/
0 / (
(1&B,6B/,1($5
,6B527B$;
'5,9(B(1&B5$7,2B180 1XPEHUORDGUHYV
'5,9(B(1&B5$7,2B'(120(5$ 1XPEHUHQFRGHUUHYV
/RDGJHDUER[ 0HDVXULQJJHDUER[
The ratio of the internal increments to the encoder increments per degree is calculated as
follows:
Basic Functions
384 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.4 Setpoint/actual-value system
,QWHUQDOLQFUHPHQWVGHJUHH GHJUHHV
(QFRGHULQFUHPHQWVGHJUHH (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'(*
Q(QFRGHU Q7RRO
'ULYHQWRRO
( 0 7RRO
,QWHUPHGLDWHJHDUER[
(1&B5(62/ Q0RWRU
(1&B,6B',5(&7 (1&B,6B',5(&7
(1&B,6B',5(&7 (1&B,6B',5(&7
0HDVXULQJJHDUER[ /RDGJHDUER[
'5,9(B$;B5$7,2B180(5$ 1XPEHUPRWRUUHYV
'5,9(B$;B5$7,2B'(120 1XPEHUVSLQGOHUHYV
'5,9(B(1&B5$7,2B180(5$ 1XPEHURIPRWRUUHYROXWLRQV
'5,9(B(1&B5$7,2B'(120 1XPEHURIHQFRGHUUHYROXWLRQV
Figure 8-9 Intermediate gear with encoder directly on the rotating tool
The ratio of the internal increments to the encoder increments per degree is calculated as
follows:
,QWHUQDOLQFUHPHQWVGHJUHH GHJUHHV
(QFRGHULQFUHPHQWVGHJUHH (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, 12/2017, 6FC5397-0BP40-6BA1 385
G2: Velocities, setpoint / actual value systems, closed-loop control
8.5 Closed-loop control
0'0$B$;B-(5.B(1$%/(
0'0$B$;B-(5.B02'( 0'0$B'(69$/B'(/$<B(1$%/(
0'0$B$;B-(5.B7,0( 0'0$B'(69$/B'(/$<B7,0( 0'0$B326&75/B*$,1>Q@
,6
3RVLWLRQPHDVXULQJ
V\VWHP
$FWXDOYDOXH
0'0$B)):B02'( SURFHVVLQJ
0'0$B)):B$&7,9$7,21B02'(
0'0$B9(/2B)):B:(,*+7>Q@
0'0$B$;B,1(57,$ 0'0$B(1&B)(('%$&.B32/>Q@
0'0$B$;B0$66 0'0$B(1&B&203B(1$%/(>Q@
0'0$B(48,9B63(('&75/B7,0(>Q@ 0'0$B%$&./$6+>Q@
0'0$B(48,9B&855&75/B7,0(>Q@ 0'0$B%$&./$6+B)$&725>Q@
Figure 8-10 Principle representation of the setpoint processing and closed-loop control
For information on the jerk limitation, see Section "B2: Acceleration (Page 271)".
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:
Basic Functions
386 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.5 Closed-loop control
KV factor
In order that few contour deviations occur in the continuous-path mode, a high servo gain factor
(KV) is necessary:
MD32200 $MA_POSCTRL_GAIN[n]
However, if the servo gain factor (KV) is too high, instability, overshoot and possibly
impermissible high loads on the machine will result.
The maximum permissible servo gain factor (KV) depends on the following:
● Design and dynamics of the drive
(rise time, acceleration and braking capacity)
● Machine quality
(elasticity, oscillation damping)
● Position control cycle or speed control cycle for active DSC
The servo gain factor (KV) is defined as:
9HORFLW\ >PPLQ@
.Y
)ROORZLQJHUURU >PP@
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 387
G2: Velocities, setpoint / actual value systems, closed-loop control
8.5 Closed-loop control
6WHSUHVSRQVH
RIWKH
SRVLWLRQFRQWURO
(TXLYDOHQWWLPHD[LV
ORRS
(TXLYDOHQW 0'
WLPH
D[LV 0$B'<1B0$7&+B7,0(
$[LVZLWKKLJK.9
DQGG\QDPLFUHVSRQVHDGDSWDWLRQ
$[LVZLWK
KLJK.9
$[LVZLWKORZ.9
Example of a dynamic response adaptation of three axes without speed feedforward control
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:
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:
7(TXLY ป
0'326&75/B*$,1>V@
Basic Functions
388 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.5 Closed-loop control
7(TXLY ป 0'(48,9B63(('&75/B7,0(
7(TXLY ป 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: NC, PLC, Drives
Machine data
A parameter set comprises the following machine data:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 389
G2: Velocities, setpoint / actual value systems, closed-loop control
8.6 Optimization of the control
For further information on gear stages for spindles, see Section "S1: Spindles (Page 1277)".
Function
With feedforward control active, the position setpoint is sent through a so-called 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 axis-
specific machine data:
Basic Functions
390 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.6 Optimization of the control
Value Meaning
3 Speed precontrol
4 Combined torque/speed precontrol
Parameterization
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, 12/2017, 6FC5397-0BP40-6BA1 391
G2: Velocities, setpoint / actual value systems, closed-loop control
8.6 Optimization of the control
Note
The effects are similar to modification of the position controller gain (MD32200
$MA_POSCTRL_GAIN). They can be observed on the user interface in the operating section
"Diagnostics" > "Axis service" using the computed KV value.
Basic Functions
392 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.6 Optimization of the control
Setting the equivalent time constant of the current control loop (MD32800)
The activation of the torque feedforward control filter is performed with:
MD32620 $MA_FFW_MODE = 4
The same rules and recommendations apply to setting the time constant of the current control
loop MD32800 $MA_EQUIV_CURRCTRL_TIME as to the speed feedforward control.
Limitation to stiff machines
Experience has shown that this expenditure is only worthwhile in the case of very stiff
machines, and requires appropriate experience. The elasticities of the machine are often
excited due to the injection of the torque so strongly that the existing vibrations neutralize the
gain in contour accuracy.
In this case, it would be worth trying the function "Dynamic Stiffness Control" (DSC) as an
alternative:
MD32640 $MA_STIFFNESS_CONTROL_ENABLE = 1
Note
The following conditions apply to use of DSC:
● In the NC, no actual value inversion (MD32110 $MA_ENC_FEEDBACK_POL = -1) must
be parameterized. Actual-value inversion in the drive (SINAMICS parameter p0410) is
permissible.
● The function must be activated for all axes that are in an interpolation relationship (path
motion or coupling) (MD32640 = 1).
● If one of the axes is parameterized as a simulated axis (MD30130 $MA_CTRLOUT_TYPE
= 0, MD30240 $MA_ENC_TYPE = 0), DSC cannot be applied. In this case, the function
must be deactivated for all axes that are in an interpolation relationship (MD32640 = 0).
CAUTION
Exception error condition
An exception error condition may occur if p1192 is set for a non-existing measuring system
and DSC is activated!
For service situations in which an additional measuring system has to be disabled and DSC
is active, it must be assured that p1192 is also adapted.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 393
G2: Velocities, setpoint / actual value systems, closed-loop control
8.6 Optimization of the control
Function
In some applications, such as when milling sculptured surfaces, it can be advantageous to
smooth the position setpoint curves using the jerk filter. The objective to optimize the surface
quality by minimizing 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.
The effect of the filter can be monitored by means of the effective servo gain factor (KV), which
is displayed on the "Axis service" screen form. The filtering effect rounds the position setpoints
slightly, thus reducing the path accuracy so that with increasing filter time a smaller effective
servo gain factor (KV) is displayed.
Note
The jerk filter creates a dependent phase offset for each amplitude setting. Only the additional
use of the phase filter (see "Position controller, position setpoint filter: Phase filter (Page 396)")
permits a transparent setting of the axis dynamic response.
Activation
The function of the axis-specific jerk filter setpoint must be activated with the following machine
data:
MD32400 $MA_AX_JERK_ENABLE[<axis>] = "TRUE"
Parameterization
Basic Functions
394 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.6 Optimization of the control
MD32402 $MA_AX_JERK_MODE[<axis>] = 2
Note
If filter type MD32402 $MA_AX_JERK_MODE = 2 was not activated previously, "Power On"
must be initiated once. Otherwise, "Enable machine data" or "Reset" at the machine control
panel are sufficient.
Fine adjustment
The fine adjustment of the jerk filter is carried out as follows:
1. Assess the traversing response of the axis (e.g. based on positioning processes with servo
trace).
2. Modify the filter time in MD32410 $MA_AX_JERK_TIME.
3. Activate the modified time via "Enable machine data" or RESET on the machine control
panel.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 395
G2: Velocities, setpoint / actual value systems, closed-loop control
8.6 Optimization of the control
References
For further information on jerk limitation at the interpolator level, see Sections "Jerk limitation
with single-axis interpolation (SOFTA) (axis-specific) (Page 290)" and "Axis/spindlespecific
machine data (Page 319)".
Function
The axis-specific phase filter setpoint (dead time / delay) implements a pure phase shifter with
which the setpoint phase response can be influenced. Together with the axis-specific jerk filter
setpoint (MD32402_$MA_AX_JERK_MODE[<axis>] = 2; see Section "Position controller,
position setpoint filter: Jerk filter (Page 394)") it is 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 path together.
6HWSRLQW
7LPHW
Note
The time constant of the phase filter setpoint delays the axis' response characteristics for
tapping, retractions, and exact stops / block changes, etc. It is therefore recommended to set
the time constant as low as possible.
Basic Functions
396 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.6 Optimization of the control
Examples
Assumption: Position controller 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 controller 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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 397
G2: Velocities, setpoint / actual value systems, closed-loop control
8.6 Optimization of the control
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%
Basic Functions
398 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.6 Optimization of the control
Note
The weighting factor MD32950 $MA_POSCTRL_DAMPING can be set on the basis of step
responses, for example.
If the control approaches the stability limit (vibration inclination increases), the parameter is
too large or the value has the incorrect sign.
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, 12/2017, 6FC5397-0BP40-6BA1 399
G2: Velocities, setpoint / actual value systems, closed-loop control
8.6 Optimization of the control
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
Basic Functions
400 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.6 Optimization of the control
Supplementary conditions
DSC
If the integrator function is used, DSC (Dynamic Stiffness Control) must be switched off.
Example
*UDSKLF7U$[LV;7U$[LV;!
7U)ROORZLQJHUURU 0DUNHU;
7U$FWXDOYHORFLW\
*UDSKLF7U$[LV;7U$[LV;!
7U$FWXDOSRVLWLRQPHDVXULQJV\VW 0DUNHU;
7U3RVLWLRQVHWSRLQW
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 401
G2: Velocities, setpoint / actual value systems, closed-loop control
8.7 Data lists
Basic Functions
402 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
G2: Velocities, setpoint / actual value systems, closed-loop control
8.7 Data lists
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 403
G2: Velocities, setpoint / actual value systems, closed-loop control
8.7 Data lists
8.7.2 Signals
8.7.2.2 Signals to NC
Basic Functions
404 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC 9
9.1 Brief description
9.1.1 Function
Auxiliary functions permit activation of the system functions of the NC 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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 405
H2: Auxiliary function outputs to PLC
9.1 Brief description
M functions
M (special function)
Address extension Value
Range of values Meaning Value range 10) Type Meaning Number 8)
0 (implicit) --- 0 ... 99 INT Function 5
Range of values Meaning Value range 11)
Type Meaning Number 8)
Basic Functions
406 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.1 Brief description
M (special function)
1 ... 20 Spindle number 1 ... 99 INT Function 5
Range of values Meaning Value range 12)
Type Meaning Number 8)
0 ... 99 Any 100 ... 2147483647 INT Function 5
8)
See "Meaning of footnotes" at the end of the overview.
10)
For the value range 0 ... 99, the address extension is 0. Mandatory without address extension: M0, M1, M2, M17, M30
11)
M3, M4, M5, M19, M70: The address extension is the spindle number, e.g. M2=5 ⇒ spindle stop (M5) for spindle 2.
Without address extension, the M function acts on the master spindle.
12)
User-specific M functions.
Use
Controlling machine functions in synchronism with the part program.
Additional 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.
● A dynamic NC/PLC interface signal for displaying the validity is assigned to the M functions
(M0 - M99). In addition, 64 additional signals can be assigned for user M functions (see
Section "P3: Basic PLC program for SINUMERIK 840D sl (Page 873)").
● For subprograms, machine data can be used to set whether an output of the M function
should be realized for the end of the part program M17, M2 or M30 to the PLC:
MD20800 $MC_SPF_END_TO_VDI (subprogram end to PLC)
● For the predefined M functions M40 – M45, only limited redefinition of the output
specification is possible.
● The predefined auxiliary functions M0, M1, M17, M30, M6, M4, M5 cannot be redefined.
● M function-specific machine data:
– MD10800 $MN_EXTERN_CHAN_SYNC_M_NO_MIN
– MD10802 $MN_EXTERN_CHAN_SYNC_M_NO_MAX
– MD10804 $MN_EXTERN_M_NO_SET_INT
– MD10806 $MN_EXTERN_M_NO_DISABLE_INT
– MD10814 $MN_EXTERN_M_NO_MAC_CYCLE
– MD10815 $MN_EXTERN_M_NO_MAC_CYCLE_NAME
– MD20094 $MC_SPIND_RIGID_TAPPING_M_NR
– MD20095 $MC_EXTERN_RIGID_TAPPING_M_NR
– MD20096 $MC_T_M_ADDRESS_EXT_IS_SPINO
– MD22200 $MC_AUXFU_M_SYNC_TYPE
– MD22530 $MC_TOCARR_CHANGE_M_CODE
– MD22532 $MC_GEOAX_CHANGE_M_CODE
– MD22534 $MC_TRAFO_CHANGE_M_CODE
– MD22560 $MC_TOOL_CHANGE_M_CODE
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 407
H2: Auxiliary function outputs to PLC
9.1 Brief description
S functions
S (spindle function)
Address extension10) Value
Range of values Meaning Range of values Type Meaning Number 8)
0 ... 20 Spindle number 5) 0 ... ± 3.4028 exp38 3) REAL Spindle speed 3
3) 5) 8)
See "Meaning of footnotes" at the end of the overview
10)
The master spindle of the channel is addressed if no address extension is specified.
Use
Spindle speed.
Additional information
● The S functions are assigned to the 3rd auxiliary function group as default setting.
● 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
The functionality of an H function must be implemented in the PLC user program.
Use
User-specific auxiliary functions.
Additional 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)
Basic Functions
408 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.1 Brief description
T functions
Tool names are not output at the NC/PLC interface.
T (tool number) 1) 5) 6)
Address extension Value
Range of values Meaning Range of values Type Meaning Number 8)
1 ... 12 Spindle number 0 ... 32000 INT Selection of the tool 1
(with active tool man‐ (also symbolic names for ac‐
agement) tive tool management)
1) 5) 6) 8)
See "Meaning of footnotes" at the end of the overview.
Use
Tool selection.
Additional information
● Identification of the tools, optionally via tool number or location number (see Section "W1:
Tool offset (Page 1455)").
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)
D functions
The tool offset is deselected using D0. Default setting is D1.
D (tool offset)
Address extension Value
Range of values Meaning Range of values Type Meaning Number 8)
--- --- 0 ... 9 INT Selection of the tool 1
offset
8)
See "Meaning of footnotes" at the end of the overview.
Use
Selection of the tool offset.
Additional 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)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 409
H2: Auxiliary function outputs to PLC
9.1 Brief description
DL functions
The additive tool offset selected with DL refers to the active D number.
Use
Selection of the additive tool offset with reference to an active tool offset.
Additional 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)
● Deselection of the additive tool offset: DL = 0
● DL function-specific machine data:
MD22252 $MC_AUXFU_DL_SYNC_TYPE (output time DL functions)
F functions
F (feedrate)
Address extension Value
Range of values Meaning Range of values Type Meaning Number 8)
--- --- 0.001 ... 999 999.999 REAL Path feedrate 6
8)
See "Meaning of footnotes" at the end of the overview.
Use
Path velocity.
Additional information
F function-specific machine data:
● MD22240 $MC_AUXFU_F_SYNC_TYPE (output time of F functions)
Basic Functions
410 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.1 Brief description
FA functions
FA (axes-specific feedrate)
Address extension Value
Range of values Meaning Range of values Type Meaning Number 8)
1 - 31 Axis number 0.001 ... 999 999.999 REAL Axial feedrate 6
8)
See "Meaning of footnotes" at the end of the overview.
Use
Axis-specific velocity.
Additional information
F function-specific machine data:
● MD22240 $MC_AUXFU_F_SYNC_TYPE (output time of F functions)
Meaning of footnotes
1)
If tool management is active, neither a T change signal nor a T word is output at the channel-
specific NC/PLC interface.
2)
The type for the values can be selected by the user via MD22110 $MC_AUX‐
FU_H_TYPE_INT.
3)
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.
4)
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.
5)
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.
6)
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 tool holder
7)
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.
8)
Maximum number of auxiliary functions per part program block.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 411
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
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
NC.
Parameter Meaning
Index <n> Machine data index of the parameters of an auxiliary function
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>]
Basic Functions
412 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 413
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
Basic Functions
414 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 415
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
Basic Functions
416 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 417
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
Basic Functions
418 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 419
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
Basic Functions
420 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 421
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
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)
Basic Functions
422 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
2)
The value can be preset with a different value using the following machine data:
MD20095 $MC_EXTERN_RIGID_TAPPING_M_NR (M function for switching over to con‐
trolled axis mode (ext. mode))
MD20094 $MC_SPIND_RIGID_TAPPING_M_NR (M function for switching over to control‐
led axis mode)
Note
The value 70 is always output at the PLC.
3)
The value is set using machine data:
MD22254 $MC_AUXFU_ASSOC_M0_VALUE (additional M function for program stop)
4)
The value is set using machine data:
MD22256 $MC_AUXFU_ASSOC_M1_VALUE (additional M function for conditional stop)
5)
The value is set using machine data:
MD10714 $MN_M_NO_FCT_EOP (M function for spindle active after reset)
6)
The value is set using machine data:
MD26008 $MC_NIBBLE_PUNCH_CODE (definition of M functions)
Parameter Meaning
Index <n> Machine data index of the parameters of an auxiliary function
Output behavior MD22080 $MC_AUXFU_PREDEF_SPEC[<n>], Bits 0 ... 18
Bits 19 ... 31: Reserved
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 423
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
Bit Meaning
0 Acknowledgement "normal" after an OB1 cycle
An auxiliary function with normal acknowledgment is output to the NC/PLC interface at the beginning of the OB1 cycle.
The auxiliary function-specific change signal indicates to the PLC user program that the auxiliary function is valid.
The auxiliary function is acknowledged as soon as organization block OB1 has run once. This corresponds to a
complete PLC user cycle.
The auxiliary function with normal acknowledgment is output in synchronism with the part program block in which it
is programmed. If execution of the parts program block, e.g. path and/or positioning axis movements, is completed
before acknowledgment of the auxiliary function, the block change is delayed until after acknowledgment by the PLC.
In continuous-path mode, a constant path velocity can be maintained in conjunction with an auxiliary function with
normal acknowledgment, if the auxiliary function is output by the PLC during the traversing motion and before reaching
the end of the block.
Basic Functions
424 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
Bit Meaning
1 Acknowledgement "quick" with OB40
An auxiliary function with quick acknowledgment is output to the NC/PLC interface before the next OB1 cycle. The
auxiliary function-specific change signal indicates to the PLC user program that the auxiliary function is valid.
The auxiliary function is acknowledged immediately by the PLC basic program in the next OB40 cycle. Acknowledg‐
ment of the auxiliary function is not confirmation that the corresponding PLC user function has been executed. The
auxiliary function is still executed in the OB1 cycle. Next output of the auxiliary functions to the PLC is therefore not
possible until after this OB1 cycle has run completely. This is noticeable in continuous-path mode (drop in path velocity)
especially if auxiliary functions with quick acknowledgment are output in several consecutive part program blocks.
With auxiliary functions with quick acknowledgment, it cannot be guaranteed that the PLC user program will respond
in synchronism with the block.
Note
Parameterization of the output behavior of auxiliary functions as "quick auxiliary functions" is only possible in con‐
junction with user-defined auxiliary functions.
2 No predefined auxiliary function
A predefined auxiliary function is treated like a user-defined auxiliary function with this setting. The auxiliary function
then no longer triggers the corresponding system function but is only output to the PLC.
Example:
Reconfiguration of the "Position spindle" auxiliary function (index 9) to a user-defined auxiliary function with normal
acknowledgment and output prior to the traversing motion.
MD22080 $MC_AUXFU_PREDEF_SPEC [ 9 ] = 'H25' (100101B)
3 No output to the PLC
The auxiliary function is not output to the PLC.
4 Spindle response after acknowledgement by the PLC
The associated system function is only executed after acknowledgment by the PLC.
5 Output prior to motion
The auxiliary function is output to the PLC before the traversing motions programmed in the part program block (path
and/or block-related positioning axis movements).
6 Output during motion
The auxiliary function is output to the PLC during the traversing motions programmed in the part program block (path
and/or block-related positioning axis movements).
7 Output at block end
The auxiliary function is output to the PLC after the traversing motions programmed in the part program block have
been completed (path and/or block-related positioning axis movements).
8 Not output after block search, types 1, 2, 4
Block search, types 1, 2, 4: The auxiliary function collected during the block search is not output.
9 Collection during block search with program test (type 5, SERUPRO)
For a block search with program test, the auxiliary function is collected group-specific in the following system variables:
● $AC_AUXFU_M_VALUE[<n>]
● $AC_AUXFU_M_EXT[<n>]
● $AC_AUXFU_M_STATE[<n>]
10 No output during block search with program test (type 5, SERUPRO)
For block search with program test, the auxiliary function is not output to the PLC.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 425
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
Bit Meaning
11 Cross-channel auxiliary function (SERUPRO)
For block search with program test (SERUPRO), the help function is collected on a cross-channel basis in the global
list of the auxiliary functions.
Note
For each auxiliary function group, only the last auxiliary function of the group is always collected.
12 Output performed via synchronized action (read only)
The bit is set if the auxiliary function was output to the PLC via a synchronized action.
13 Implicit auxiliary function (read-only)
The bit is set if the auxiliary function was implicitly output to the PLC.
14 Active M01 (read only)
The bit is set if the auxiliary function, for active M01, was output to the PLC.
15 No output during positioning test run
During the run-in test, the auxiliary function is not output to the PLC.
16 Nibbling off
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
9.2.3 Parameterization
Basic Functions
426 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
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.
Type
The identifier of an auxiliary function is defined via the "type," e.g.:
Note
The "type" cannot be changed for predefined auxiliary functions.
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:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 427
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
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 ] =2
MD22050 $MC_AUXFU_PREDEF_TYPE[ 6 ] = "M"
MD22060 $MC_AUXFU_PREDEF_EXTENSION[ 6 ] = -1
MD22070 $MC_AUXFU_PREDEF_VALUE[ 6 ] =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:
MD22070 $MC_AUXFU_PREDEF_VALUE[<n>] (value of predefined auxiliary functions)
Note
The "value" cannot be changed for a predefined auxiliary function. For some predefined
auxiliary functions, the "value" can be reconfigured via additional machine data (see Section
"Associated auxiliary functions (Page 436)").
Basic Functions
428 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 429
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
06;
Y 2XWSXWEHKDYLRU
6SLQGOHUHVSRQVH
2XWSXW $FNQ
0 $[LVPRYHPHQW
%ORFNFKDQJH W
06;
Y 2XWSXWEHKDYLRU
6SLQGOHUHVSRQVH
2XWSXW $FNQ
0 $[LVPRYHPHQW
%ORFNFKDQJH W
06;
Y 2XWSXWEHKDYLRU
6SLQGOHUHVSRQVH
2XWSXW $FNQ
0 $[LVPRYHPHQW
%ORFNFKDQJH W
06;
Y 2XWSXWEHKDYLRU
6SLQGOHUHVSRQVH
2XWSXW $FNQ
0 $[LVPRYHPHQW
%ORFNFKDQJH W
Basic Functions
430 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.2 Predefined auxiliary functions
0;
Y 2XWSXWEHKDYLRU
6SLQGOHUHVSRQVH
2XWSXW $FNQ
$[LVPRYHPHQW
0
%ORFNFKDQJH W
0;
Y
6SLQGOHUHVSRQVH 2XWSXWEHKDYLRU
2XWSXW $FNQ
$[LVPRYHPHQW
0
%ORFNFKDQJH W
Y 'HIDXOWVHWWLQJ
6SLQGOHUHVSRQVH 06;
2XWSXWEHKDYLRU
2XWSXW $FNQ
$[LVPRYHPHQW
0
%ORFNFKDQJH W
Y 'HIDXOWVHWWLQJ
6SLQGOHUHVSRQVH 06;
2XWSXWEHKDYLRU
2XWSXW $FNQ
$[LVPRYHPHQW
0
%ORFNFKDQJH W
'HIDXOWVHWWLQJ
Y 0;
6SLQGOHUHVSRQVH
2XWSXWEHKDYLRU
2XWSXW $FNQ
$[LVPRYHPHQW
0
%ORFNFKDQJH W
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 431
H2: Auxiliary function outputs to PLC
9.3 Userdefined auxiliary functions
Y 'HIDXOWVHWWLQJ
6SLQGOHUHVSRQVH 0;
2XWSXWEHKDYLRU
2XWSXW $FNQ
$[LVPRYHPHQW
0
%ORFNFKDQJH W
'HIDXOWVHWWLQJ
Y 0;
6SLQGOHUHVSRQVH
2XWSXWEHKDYLRU
2XWSXW $FNQ
$[LVPRYHPHQW
0
%ORFNFKDQJH W
Y 'HIDXOWVHWWLQJ
6SLQGOHUHVSRQVH 06;
2XWSXWEHKDYLRU
2XWSXW $FNQ
6 $[LVPRYHPHQW
%ORFNFKDQJH W
Basic Functions
432 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.3 Userdefined auxiliary functions
The relevant predefined auxiliary functions can be extended for the following system functions:
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, 12/2017, 6FC5397-0BP40-6BA1 433
H2: Auxiliary function outputs to PLC
9.3 Userdefined auxiliary functions
● A user-specific auxiliary function is output to the PLC according to the parameterized output
behavior.
● The functionality of a user-specific auxiliary function is implemented by the machine
manufacturer/user in the PLC user program.
9.3.1 Parameterization
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.
Basic Functions
434 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.3 Userdefined auxiliary functions
Type
The name of an auxiliary function is defined via the "type".
The identifiers for user-defined auxiliary functions are:
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 ] = 10
MD22010 $MC_AUXFU_ ASSIGN_TYPE [ 1 ] = "H"
MD22020 $MC_AUXFU_ ASSIGN_EXTENSION [ 1 ] = -1
MD22030 $MC_AUXFU_ ASSIGN_VALUE [ 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, 12/2017, 6FC5397-0BP40-6BA1 435
H2: Auxiliary function outputs to PLC
9.4 Associated auxiliary functions
All user-specific auxiliary functions with the address extension "= 2" are assigned to the
eleventh auxiliary function group.
MD22000 $MC_AUXFU_ASSIGN_GROUP [ 2 ] = 11
MD22010 $MC_AUXFU_ ASSIGN_TYPE [ 2 ] = "H"
MD22020 $MC_AUXFU_ ASSIGN_EXTENSION [ 2 ] =2
MD22030 $MC_AUXFU_ ASSIGN_VALUE [ 2 ] = -1
Function
Associated help functions are user-defined help functions with the same properties as the
corresponding predefined help functions. User-defined auxiliary functions can be associated
for the following predefined auxiliary functions:
● M0 (programmed stop)
● M1 (optional stop)
G group
An associated help function is assigned to the G group of the corresponding predefined help
function.
Parameterization
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 (associated M function for "Programmed
stop")
● MD22256 $MC_AUXFU_ASSOC_M1_VALUE (associated M function for "Optional stop")
Basic Functions
436 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.4 Associated auxiliary functions
Selection
Selection of "Associated help function" (M-1) is made via the SINUMERIK Operate user
interface in the operating area "Automatic" > "Program control" by setting the HMI/PLC
interface signal DB21, ... DBX24.4.
Depending on the value of the FB1 parameter MMCToIf, the interface signal is transmitted
from the basic PLC program to the NC/PLC interface signal DB21, ... DBX30.5:
● "TRUE": Transmission
● "FALSE": No transmission
By default, the value of the parameter is "TRUE".
Note
Selection option via user interface SINUMERIK Operate
The selection of an associated help function is only displayed in the "Automatic" > "Program
control" operating area if it is parameterized in the machine data.
Application
Associated auxiliary functions can be used in:
● Main program
● Subprogram
● Cycle
Note
Associated auxiliary functions may not be used in synchronized actions.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 437
H2: Auxiliary function outputs to PLC
9.5 Type-specific output behavior
Boundary conditions
Please note the following boundary conditions:
● A user-defined auxiliary function may not be associated a multiple number of times.
● It is not permissible to associate predefined auxiliary functions (e.g. M3, M4, M5 etc.).
Examples
1. Associating the user-defined auxiliary function M111 for M0:
MD22254 $MC_AUXFU_ASSOC_M0_VALUE = 111
The user-defined auxiliary function M111 therefore has the same functionality as M0.
2. Associating the user-defined auxiliary function M222 for M1:
MD22256 $MC_AUXFU_ASSOC_M1_VALUE = 222
The user-defined auxiliary function M222 therefore has the same functionality as M1.
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>
Basic Functions
438 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.5 Type-specific output behavior
For a description of the various output behaviors, see the section titled "Output behavior
(Page 428)".
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.
Output behavior for which parameters have been assigned:
Program code
...
N10 G01 X100 M07 H5 T5
...
;
7
0
+
!6WDUW1
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 439
H2: Auxiliary function outputs to PLC
9.6 Priorities of the output behavior for which parameters have been assigned
9.6 Priorities of the output behavior for which parameters have been
assigned
The following priorities must be observed for the following areas in connection with the
parameterized output behavior of an auxiliary function:
● Output duration (normal / quick acknowledgement)
● Output relative to motion (prior to / during / after the motion)
As a general rule, the parameterized output behavior with lower priority becomes active if no
output behavior with higher priority has been parameterized.
Output duration
The following priorities apply to the output duration:
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.
Basic Functions
440 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.7 Programming an auxiliary function
Syntax
An auxiliary function is programmed in a part program block with the following syntax:
<Type>[<Address extension>=]<Value>
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 1st spindle:
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 441
H2: Auxiliary function outputs to PLC
9.8 Programmable output duration
Example 2: Programming examples of auxiliary functions with the corresponding values for
output to the PLC
Function
User-specific auxiliary functions, for which the output behavior "Output duration of an OB1
cycle (slow acknowledgment)" was parameterized, can be defined for individual outputs via
the part program guide QU (Quick) for auxiliary functions with quick acknowledgment.
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 part 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
Basic Functions
442 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.8 Programmable output duration
1)
Without a traversing motion, 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 part program blocks N20 and N30.
;D[LV
<D[LV
0
0
%ORFNQXPEHU 1 1 1 1 1
6WUREHIURP1&.DQG 0
DFNQRZOHGJHPHQWE\3/&
EDVLFSURJUDP 0
0FKDQJH167
0FKDQJH167
3/&F\FOHWLPH2%
2%
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 443
H2: Auxiliary function outputs to PLC
9.10 Auxiliary functions without block change delay
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
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
Basic Functions
444 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.11 M function with an implicit preprocessing stop
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
0 In the case of quick auxiliary function output to the PLC, the block change is delayed until
acknowledgment by the PLC (OB40).
1 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.
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.
Parameterization:
MD10713 $MN_M_NO_FCT_STOPRE [ 0 ] = 88
Application:
Part program (extract)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 445
H2: Auxiliary function outputs to PLC
9.12 Response to overstore
Supplementary conditions
If a subprogram is 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 subprogram)
● M98 (ISO dialect T / ISO dialect M)
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.
Possible applications include:
● Addition of auxiliary functions after block search
● Restoring the initial state to position a part program
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.
Basic Functions
446 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
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
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)
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 447
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
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.
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.
Basic Functions
448 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
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
MD22020 $MC_AUXFU_ASSIGN_EXTENSION [0] = 0
MD22020 $MC_AUXFU_ASSIGN_EXTENSION [1] = 0
MD22020 $MC_AUXFU_ASSIGN_EXTENSION [2] = 0
MD22020 $MC_AUXFU_ASSIGN_EXTENSION [3] = 0
MD22030 $MC_AUXFU_ASSIGN_VALUE [0] = 7
MD22030 $MC_AUXFU_ASSIGN_VALUE [1] = 9
MD22030 $MC_AUXFU_ASSIGN_VALUE [2] = 8
MD22030 $MC_AUXFU_ASSIGN_VALUE [3] = 9
MD22035 $MC_AUXFU_ASSIGN_SPEC [0] = 'H121'
MD22035 $MC_AUXFU_ASSIGN_SPEC [1] = 'H121'
MD22035 $MC_AUXFU_ASSIGN_SPEC [2] = 'H121'
MD22035 $MC_AUXFU_ASSIGN_SPEC [3] = 'H121'
Part program (section):
Program code
...
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 449
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
Program code
N10 ... M8
N20 ... M9
N30 ... M7
...
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
Function
The following predefined procedure is provided to simplify the process of determining the
output sequence of M auxiliary functions for the programmer:
AUXFUMSEQ(VAR INT _NUM_IN, VAR INT _M_IN[], VAR INT _EXT_IN[], VAR
INT _NUM_OUT, VAR INT _M_OUT[], VAR INT _EXT_OUT[])
Input parameters:
VAR INT _NUM_IN: Number of relevant M commands
VAR INT _M_IN[]: Field of relevant M codes
VAR INT _EXT_IN[]: Field of relevant M address extensions
Output parameters:
VAR INT _NUM_OUT: Number of determined M codes
VAR INT _M_OUT[]: Field of determined M codes
VAR INT _EXT_OUT[]: Field of determined M address extensions
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 450)").
Basic Functions
450 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
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
Program code
...
N10 ... M8
N20 ... M9
N30 ... M7
...
During block searches, the auxiliary functions are collected on the basis of specific groups.
The last auxiliary function in an auxiliary function group is output to the PLC following a block
search:
● Group 5: M7
● Group 6: M9
If they are output in the sequence M7 → M9, no coolant is then active. However, coolant 2
would be active during the execution of the program. Therefore, the correct output sequence
for the M auxiliary functions is determined with an ASUP which contains the predefined
procedure AUXFUMSEQ(…):
Program code
DEF INT _I, _M_IN[3], _EXT_IN[3], _NUM_OUT, _M_OUT[2], _EXT_OUT[2]
_M_IN[0]=7 _EXT_IN[0]=0
_M_IN[1]=8 _EXT_IN[1]=0
_M_IN[2]=9 _EXT_IN[2]=0
AUXFUMSEQ(3,_M_IN,_EXT_IN,_NUM_OUT,_M_OUT,_EXT_OUT)
FOR _I = 0 TO _NUM_OUT-1
M[_EXT_OUT[_I]]=_M_OUT[_I]
ENDFOR
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 451
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
Function
In certain situations, such as a tool change, it may be necessary not to output the spindle-
specific 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 ASUP.
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)
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:
For later output of the spindle-specific auxiliary functions, the system variables can be read in
an ASUP, for example, and output after the action blocks are output:
Basic Functions
452 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
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 ASUP, block search and action blocks, see Section "K1:
Mode group, channel, program operation, reset response (Page 483)".
Example
Block search for contour with suppression of output of the spindle-specific auxiliary functions
and start of an ASUP after output of action blocks.
Parameterization: MD11450 $MN_SEARCH_RUN_MODE, bit 2 = 1
After the block search on N55, the ASUP is started.
Part program:
ASUP:
Explanation of example
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 453
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
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 ASUP 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 ASUP 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 ASUP).
Supplementary conditions
Collected S values
The meaning of an S value in the part program depends on the feed type that is currently active:
G93, G94, G95, G97, G971: The S value is interpreted as the speed
G96, G961: The S value is interpreted as a constant cutting rate
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 ASUP.
Basic Functions
454 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
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 468)".
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)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 455
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
Output counter
The user can output the collected auxiliary functions to the PLC on a channel-by-channel basis
in the block search ASUP. 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:
Explanation
● An auxiliary function package comprises a maximum of ten auxiliary functions.
● Two packages can be processed per IPO cycle in each channel during SERUPRO because
synchronized actions are processed in this cycle.
● An output sequence of up to a maximum of 20 packages (2 packages per channel * 10
channels) can be processed within an IPO cycle across all channels.
The encoding indicates how many auxiliary function packages and, within these, how many
auxiliary functions have been processed during the same IPO cycle:
● Auxiliary functions which have been collected in one IPO cycle have the same sequence
counter.
● Auxiliary functions which have been collected in one package (block or synchronized action)
all have the same package counter.
The total on the auxiliary function counter increases every time an auxiliary function is collected.
Basic Functions
456 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
Q Q
Q
$&B$8;)8B35('()B,1'(;>Q@
$&B$8;)8B35('()B,1'(;>Q@ $&B$8;)8B35('()B,1'(;>Q@
$&B$8;)8B7<3(>Q@ $&B$8;)8B7<3(>Q@ $&B$8;)8B7<3(>Q@
$&B$8;)8B(;7>Q@ $&B$8;)8B(;7>Q@ $&B$8;)8B(;7>Q@
$&B$8;)8B9$/8(>Q@ $&B$8;)8B9$/8(>Q@ $&B$8;)8B9$/8(>Q@
$&B$8;)8B67$7(>Q@ $&B$8;)8B67$7(>Q@ $&B$8;)8B67$7(>Q@
$&B$8;)8B63(&>Q@ $&B$8;)8B63(&>Q@
$&B$8;)8B63(&>Q@
$&B$8;)8B7,&.>Q@ $&B$8;)8B7,&.>Q@ $&B$8;)8B7,&.>Q@
*OREDOOLVWRIDX[LOLDU\IXQFWLRQV
Q 0$;180B*52836
0$;180B&+$11(/6
Q $1B$8;)8B/,67B*5283,1'(;>Q@ $1B$8;)8B/,67B&+$112>Q@
$1B$8;)8B/,67B(1',1'(;
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
ASUP 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, 12/2017, 6FC5397-0BP40-6BA1 457
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
This affects the groups of auxiliary functions for any spindle configured in the system, whereby
the spindle number corresponds to an auxiliary function's address extension.
Note
Within the context of the "axis interchange" and "axis container rotation" functions, the auxiliary
functions for programming the spindle must always be specified in a way which ensures
compatibility with the actual (motor) state during interchange/rotation. A distinction is made
here between the axis interchange and axis container mechanisms.
Example of axis container rotation:
An axis container has four spindles, each assigned to a separate channel (1 - 4). M3 S1000
is always programmed in channel 1, and an axis container rotation is then executed. The other
channels do not perform any spindle programming. After the 3rd axis container rotation and
the 4th spindle programming, M3, all four spindles rotate clockwise at a speed of 1000 rpm. If
the end of the SERUPRO now lies within this range, every ASUP for a channel is expected to
contain an M3 S1000 for the local spindle.
During interchange however, the collected auxiliary functions may only be assigned to the
channel where the spindle is currently located.
Basic Functions
458 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
The spindle auxiliary functions are filtered out beforehand at the end of the block search
depending on the spindle state. The channel data is updated accordingly. The global auxiliary
function list can be processed sequentially in the ASUPs at the end of the SERUPRO, and the
sorted auxiliary functions can be output with channel synchronization.
Function
After completing the block search with the program test (SERUPRO), before starting the
subsequent processing, the auxiliary functions collected during the block search must be
output. For this purpose, during the block search, the auxiliary functions are collected in a
global list. The SERUPRO end ASUPs 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 ASUP is a component of the NC software.
Users/machinery construction OEMs can change the SERUPRO end ASUP. 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, 12/2017, 6FC5397-0BP40-6BA1 459
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
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>: Contains information about the part program block, supplied in param‐
eter <ASSEMBLED> or the auxiliary functions contained in it.
Value range: -1, 0, 1 ... 10
Value Meaning
≥1 Number of auxiliary functions contained in the part program block
0 Part program block without auxiliary functions, e.g. WAITM, G4
-1 End identifier. The global list of auxiliary functions has been com‐
pletely processed for the actual channel.
<GROUP INDEX>: Contains the indices of the auxiliary function groups contained in the
part program block. With index = number of the auxiliary function group
-1
<ASSEMBLED>: Contains the complete part program block for the channel-specific SER‐
UPRO end ASUP as string.
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>)
Basic Functions
460 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
Parameters:
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:
NOTICE
Multi-channel block search and AUXFUDEL / AUXFUDELG
If, for a multi-channel block search in the SERUPRO end ASUPs, auxiliary functions with
AUXFUDEL / AUXFUDELG are deleted from the global list of auxiliary functions, before
calling the AUXFUSYNC function, the channels involved must be synchronized. The
synchronization ensures that before calling the AUXFUSYNC, all delete requests are
processed and a consistent list is available.
Examples
Two examples for configuring a user-specific SERUPRO end ASUP.
Example 1: Deleting auxiliary functions and generating the auxiliary function output with
AUXFUSYNC(...)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 461
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
Basic Functions
462 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
Example 2: Deleting auxiliary functions and generating the auxiliary function output without
AUXFUSYNC(...)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 463
H2: Auxiliary function outputs to PLC
9.13 Behavior during block search
Basic Functions
464 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.14 Implicitly output auxiliary functions
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, 12/2017, 6FC5397-0BP40-6BA1 465
H2: Auxiliary function outputs to PLC
9.15 Information options
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>].
Basic Functions
466 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.15 Information options
Function
The output status and acknowledgment status of M auxiliary functions can be displayed on
the user interface on a group-specific basis.
Requirements
To implement function-oriented acknowledgment 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 acknowledgment of these auxiliary functions.
The programmer must 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 acknowledgment 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 group at Transfer and End of
function. 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:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 467
H2: Auxiliary function outputs to PLC
9.15 Information options
Display update
The display is organized in such a way that the collected auxiliary functions are always output
first, before those managed by the PLC and before those managed by the NC. A collected
auxiliary function is marked as collected until it has been output from the NC to the PLC. PLC-
managed auxiliary functions are retained until they are substituted by another auxiliary
function. At a reset, only the collected auxiliary functions and the NC-managed auxiliary
functions are deleted.
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>
Basic Functions
468 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.15 Information options
Example
All M-auxiliary functions of the 1st group are to be stored in the order of their output:
id=1 every $AC_AUXFU_M_STATE[0]==2 do $AC_FIFO[0,0]=
$AC_AUXFU_M_VALUE[0]
References
For further information on the system variables, see:
List Manual, System Variables
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 469
H2: Auxiliary function outputs to PLC
9.16 Supplementary conditions
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
Basic Functions
470 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.16 Supplementary conditions
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)
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)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 471
H2: Auxiliary function outputs to PLC
9.17 Examples
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
9.17 Examples
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)
Basic Functions
472 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.17 Examples
MD22000 $MC_AUXFU_ASSIGN_GROUP[ 0 ] =5
MD22010 $MC_AUXFU_ASSIGN_TYPE [ 0 ] = "M"
MD22020 $MC_AUXFU_ASSIGN_EXTENSION [ 0 ] =2
MD22030 $MC_AUXFU_ASSIGN_VALUE [ 0 ] =3
MD22035 $MC_AUXFU_ASSIGN_SPEC [ 0 ] = '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 ] =5
MD22010 $MC_AUXFU_ASSIGN_TYPE [ 1 ] = "M"
MD22020 $MC_AUXFU_ASSIGN_EXTENSION [ 1 ] =2
MD22030 $MC_AUXFU_ASSIGN_VALUE [ 1 ] =4
MD22035 $MC_AUXFU_ASSIGN_SPEC [ 1 ] = '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, 12/2017, 6FC5397-0BP40-6BA1 473
H2: Auxiliary function outputs to PLC
9.17 Examples
MD22000 $MC_AUXFU_ASSIGN_GROUP [ 2 ] =5
MD22010 $MC_AUXFU_ASSIGN_TYPE [ 2 ] = "M"
MD22020 $MC_AUXFU_ASSIGN_EXTENSION [ 2 ] =2
MD22030 $MC_AUXFU_ASSIGN_VALUE [ 2 ] =5
MD22035 $MC_AUXFU_ASSIGN_SPEC [ 2 ] = 'H91'
Task
Parameterization 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
Basic Functions
474 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.17 Examples
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 2nd auxiliary function group.
● All S and S1 values of spindle 1 (master spindle) are assigned as standard to the
3rd auxiliary function group.
● The gear stage last programmed is to be output after block search. The following auxiliary
functions are assigned for this reason to the 9th auxiliary function group:
– 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 (2nd auxiliary
function group) and S and S1 values (3rd 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 (9th auxiliary
function group) should have the following output behavior:
– Output duration of 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 for this reason to the 10th auxiliary function group:
– M2=3, M2=4, M2=5, M2=70
● All S2 values are assigned to the 11th auxiliary function group.
● The auxiliary functions M2=3, M2=4, M2=5, M2=70 (10th auxiliary function group) and S2
values (11th auxiliary function group) should have the following output behavior:
– Output duration one OB40 cycle (quick acknowledgment)
– Output prior to motion
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 475
H2: Auxiliary function outputs to PLC
9.17 Examples
Cooling water
● It is not permissible to switch the cooling water on and off in one part program block. After
a block search, the cooling water will be switched on or off. The following auxiliary functions
are assigned for this reason, e.g. to the 12th or 13th auxiliary function group:
– 12th auxiliary function group: M50, M51
– 13th auxiliary function group: M52, M53
● The auxiliary functions M50, M51 (12th auxiliary function group) and M52, M53
(13th auxiliary function group) should have the following output behavior:
– Output duration of one OB1 cycle (normal acknowledgment)
– Output prior to motion
Basic Functions
476 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.17 Examples
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 477
H2: Auxiliary function outputs to PLC
9.18 Data lists
Basic Functions
478 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.18 Data lists
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 479
H2: Auxiliary function outputs to PLC
9.18 Data lists
9.18.2 Signals
Basic Functions
480 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
H2: Auxiliary function outputs to PLC
9.18 Data lists
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 481
H2: Auxiliary function outputs to PLC
9.18 Data lists
Basic Functions
482 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset
response 10
10.1 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, 12/2017, 6FC5397-0BP40-6BA1 483
K1: Mode group, channel, program operation, reset response
10.1 Product brief
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
basic 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
Basic Functions
484 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.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, 12/2017, 6FC5397-0BP40-6BA1 485
K1: Mode group, channel, program operation, reset response
10.2 Mode group
A mode group is essentially characterized by the fact that all channels assigned to it are any
instant are always in the same mode (AUTOMATIC, JOG, MDI).
Note
This description continues on the assumption that there is one mode group and one channel.
Functions that need several channels, e.g. "Axis interchange" function, are described in:
References:
Function Manual, Extended Functions; "K5: Cross-channel program coordination" and "K10:
Cross-channel axis interchange"
Parameterization
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.
Basic Functions
486 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.2 Mode group
Activated channel
A channel with a mode group number ≠ 0 is an active channel.
Non-activated channel
A channel with a mode group number 0 is a non-activated channel. It does not take up any
memory internally in the control.
Channel gaps
A channel with a mode group number 0 is not only a non-activated channel. It is also a so-
called channel gap in the sequence of the channels.
The advantage of channel gaps is that the configuration data can be kept largely identical in
a series of similar machines. For the specific commissioning, only those channels are activated
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 487
K1: Mode group, channel, program operation, reset response
10.2 Mode group
that are required for the machine in question. The unoccupied memory can be freely used as
additional user memory.
See also
K2: Axis Types, Coordinate Systems, Frames (Page 709)
S1: Spindles (Page 1277)
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)
Function
A mode group reset is requested via a mode group-specific NC/PLC interface signal:
DB11 DBX0.7 = 1 (mode group reset)
Basic Functions
488 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.3 Mode types and mode type change
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 commands) 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)
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, 12/2017, 6FC5397-0BP40-6BA1 489
K1: Mode group, channel, program operation, reset response
10.3 Mode types and mode type change
● JOG
Manual traversing of axes via traversing keys of the machine control panel or via a
handwheel connected to the machine control panel:
– Channel-specific signals and interlocks are taken into account for motions executed by
means of an ASUP or via static synchronized actions.
– Couplings are taken into account.
– Every channel in the mode group can be active.
● MDI
Manual Data Automatic (the blocks are entered via the user interface)
– Restricted execution of part programs and part program sections.
– Part program test
– A maximum of one channel per mode group can be active (applies only to TEACH IN).
– Axes can only be traversed manually in subordinate machine functions such as JOG,
REPOS or TEACH IN.
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)
Basic Functions
490 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.3 Mode types and mode type change
Display
The current mode of the mode group is displayed via the NC/PLC interface:
DB11 DBX6.0, 0.1, 0.2 (active mode)
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)
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, 12/2017, 6FC5397-0BP40-6BA1 491
K1: Mode group, channel, program operation, reset response
10.3 Mode types and mode type change
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 = 0→1 edge). "JOG in
AUTOMATIC" is then active if the NC 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 interchange: 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 motion, and the mode group is switched internally to JOG. (i.e.
"Internal JOG").
● Moving the handwheels causes a JOG motion, and the mode group is switched internally
to JOG, unless DRF is active.
Basic Functions
492 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.3 Mode types and mode type change
● An ongoing JOG motion is not complete until the end position of the increment has been
reached (if this has been set) or the motion has been aborted with "Delete distance-to-go".
In this way an increment can be stopped using Stop and then moved to the end using Start.
The NC remains in "Internal JOG" during this time. A partial increment is possible, but it
must not be interrupted using Stop. There is a mode in which releasing the travel key causes
interruption within an increment.
● Without any JOG motion, "JOG in AUTOMATIC" responds in the same way as "Automatic".
In particular, the Start key starts the selected part program and the appropriate HMI softkey
initiates a block search.
● If JOG motion is active, the NC is internally in JOG mode, and, thus, a block search request
is refused and a Start cannot start the part program. Start starts any remaining increment
or has no effect.
● While a mode group axis is being traversed in JOG mode, the mode group remains
internally in JOG mode.
Comment: This phase can begin with the JOG motion of an axis and end with the end of
the JOG motion of another axis.
● Axis interchange is not possible for an axis with active JOG movement (the axis might
change the mode group). The NC blocks any axis interchange attempt.
● The PLC user interface indicates "Automatic" mode:
– DB11 DBX6.0, 6.1, 6.2 = 1
– DB11 DBX7.0, 7.1, 7.2 = 0
● In "JOG in AUTOMATIC", the NC/PLC interface displays whether the mode group is in
"Mode group RESET".
– DB11 DBX6.4 (mode group has been reset, mode group 1)
– DB11 DBX26.4 (mode group has been reset, mode group 2)
– DB11 DBX46.4 (mode group has been reset, mode group 3)
● In "JOG in AUTOMATIC", the NC/PLC interface displays whether the NC has automatically
switched to "Internal JOG".
– DB11 DBX6.5 (NC internal JOG active, mode group 1)
– DB11 DBX26.5 (NC internal JOG active, mode group 2)
– DB11 DBX46.5 (NC internal JOG active, mode group 3)
Supplementary conditions
"JOG in AUTOMATIC" can only switch internally to JOG if the mode group is in the "mode
group reset" status, i.e. it is not possible to jog immediately in the middle of a stopped program.
The user can jog in this situation by pressing the JOG key or the Reset key in all channels of
the mode group.
Selecting AUTOMATIC disables the INC keys and the user can/must press the INC keys again
to select the desired increment. If the NC switches to "Internal JOG", the selected increment
is retained.
If the user attempts to jog the geometry or orientation axes, the NC switches to "Internal JOG"
and the movement executed. Several axes can be physically moved in this way; they must all
be "JOG-capable".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 493
K1: Mode group, channel, program operation, reset response
10.3 Mode types and mode type change
Following the JOG motion, the NC deactivates "Internal JOG" again and selects AUTO mode
again. The internal mode change is delayed until the movement is complete. This avoids
unnecessary multiple switching operations, e.g. when using the handwheel. The PLC can only
rely on the "Internal JOG active" PLC signal.
The NC will then switch to "Internal JOG" even if the axis is not enabled.
See also
R1: Referencing (Page 1227)
Introduction
A mode change is requested and activated via the mode group interface (DB11). A mode group
will either be in AUTOMATIC, JOG, or MDI 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.
Basic Functions
494 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.4 Channel
Special cases
● Error 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).
10.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 485) (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, 12/2017, 6FC5397-0BP40-6BA1 495
K1: Mode group, channel, program operation, reset response
10.4 Channel
● A channel has an interface with the PLC. Via this NC/PLC interface, the PLC user program
can read various channel-specific status data and write requests to the channel.
● Channel-specific tool offsets (Page 1455) are active in a channel.
● Channel-specific coordinate systems (Page 728) are active in a channel.
● Each channel has a unique channel name by default. The defined channel name can be
changed in machine data:
MD20000 $MC_CHAN_NAME = "<channel name>"
Multiple channels can be combined to form a mode group. The channels of a mode group are
always in the same mode (AUTOMATIC, JOG, MDI).
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 (reset 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.
Basic Functions
496 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.4 Channel
The assignment between the link axes and a channel is implemented as follows:
● For permanent assignment using machine data:
Allow the direct logic machine axis image to show link axes.
● For dynamic assignment:
Allow the axis container slot machine data to show link axes.
Further information on link axes and container axes can be found in:
References:
Function Manual, Extended Functions; Several Operator Panel Fronts and Multiple NCUs,
Distributed Systems (B3)
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 NC.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 497
K1: Mode group, channel, program operation, reset response
10.4 Channel
Function
In ShopMill/ShopTurn, a program can only be started by default in the machine area. Starting
a program in any of the other areas (e.g. tools) is prevented by a global start lock (PI service).
The automated start lock sequences can be deactivated using a NC/PLC interface signal.
Machine data
The machine data is used to set an alarm if a start is requested with the start lock set:
MD11411 $MN_ENABLE_ALARM_MASK, bit 6
OPI variables
Variable Description
startLockState Status of the global start lock
chanStartLockState Status of the channel-specific start lock
Basic Functions
498 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.5 Program test
Variable Description
startRejectCounter Start counter for a global start lock
startLockCounter Start counter for a channel-specific start lock
PI services
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 499
K1: Mode group, channel, program operation, reset response
10.5 Program test
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.
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)
Basic Functions
500 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.5 Program test
exactly the same as that output during normal part program execution. The position control is
not interrupted, so the axes do not have to be referenced when the function is switched off.
Note
The signals for exact stop DB31, ... DBX60.6/60.7 (exact stop coarse/fine) mirror the actual
status on the machine.
They are only canceled during program testing if the axis is pushed out of its set position (the
set position remains constant during program testing).
With signal DB21, ... DBX33.7 (program test active) both the PLC program and the part
program can use variable $P_ISTEST to decide how to react or branch in response to these
signals during testing.
Note
Dry run feedrate
"Program execution without axis motion" can also be activated with the function "Dry run
feedrate". With this function, part program sections with a small programmed feedrate can be
processed in a shorter time.
Note
Tool management
Because of the axis disable, the assignment of a tool magazine is not changed during program
testing. A PLC application must be used to ensure that the integrity of the data in the tool
management system and the magazine is not corrupted. The toolbox diskettes contain an
example of the basic PLC program.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 501
K1: Mode group, channel, program operation, reset response
10.5 Program test
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.
The single-block types are determined via the user interface in the menu "Program controls".
CAUTION
Function feature for single-block type series
In a series of G33/G34/G35 blocks, a single block is only operative if "dry run feed" is selected.
Calculation blocks are not processed in single-step mode (only if single decoding block is
active).
SBL2 is also ineffective with G33/G34/G35.
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)
Basic Functions
502 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.5 Program test
Function
The "Program processing with drive run feedrate" function is used to test the coordination of
the NC program, selected in the channel, with the PLC user program, external signals and/or
other channels of the NC, for example. The NC program is executed precisely corresponding
to the programmed commands, functions and traversing velocity. To reduce program
processing time during the test, traversing motion can be executed faster by activating the
drive run feedrate. For example, for G01, G02, G03, G33, G34, G35, G95 the test feedrate
applies instead of the programmed feedrate.
The dry run feedrate is selected at the user interface in the AUTOMATIC and MDA modes,
and can be activated when automatic operation is interrupted or at the end of the block. The
activation is realized from the PLC user program via the NC/PLC interface.
For further information on influencing the feedrate, see Chapter "V1: Feedrates (Page 1393)".
NOTICE
Destroyed tool or workpiece as a result of excessively high cutting velocities
When a workpiece is machined with the "Program processing with dry run feedrate" function
active, it is possible that cutting velocities are obtained that lie outside the permissible range.
These high velocities can destroy the tool and/or workpiece.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 503
K1: Mode group, channel, program operation, reset response
10.5 Program test
Parameterization
Note
Revolutional feedrate
The dry run feedrate also replaces the programmed revolutional feedrate in program blocks
with G95.
<Val‐ Meaning
ue>
0 The maximum from SD42100 and the programmed feedrate are effective as dry run feedrate.
1 The minimum from SD42100 and the programmed feedrate are effective as dry run feedrate.
2 SD42100 is effective as dry run feedrate.
10 As for a value of 0, except for thread cutting (G33, G34, G35) and tapping (G331, G332, G63).
For these functions, the programmed feedrate applies.
11 As for a value of 1, except for thread cutting (G33, G34, G35) and tapping (G331, G332, G63).
For these functions, the programmed feedrate applies.
12 As for a value of 2, except for thread cutting (G33, G34, G35) and tapping (G331, G332, G63).
For these functions, the programmed feedrate applies.
Activation
Selection
The function is selected at the user interface via the operating area "Machine" > Operating
mode "AUTOMATIC" or "MDA" > "Program control " > "Dry run feedrate".
The following NC/PLC interface signal is set to request that the PLC user program activates
the function:
DB21, ... DBX24.6 = 1 (dry run feedrate selected)
Activation
To request that the NC activates the function, the PLC user program must set the following
NC/PLC interface signal:
DB21, ... DBX0.6 = 1 (activate dry run feedrate)
Basic Functions
504 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.5 Program test
Feedback signal
DRY is displayed on the user interface in the status display of the "Machine" operating area
as feedback signal for the machine operator that the function is active in the NC.
References
Detailed information on using the "Program processing with dry run feedrate" function is
available in:
● Operating Manual, Turning
● Operating Manual, Milling
Bullet points: Program control, dry run feedrate, DRY
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.
0DLQSURJUDPVXESURJUDP
1
1
%ORFNLQ
1
H[HFXWLRQ
6NLSEORFNV
1 1DQG1GXULQJ
H[HFXWLRQ
1
1
1
1
1
1
1
10
Selection
This function is selected via the operator interface in the "Program control" menu.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 505
K1: Mode group, channel, program operation, reset response
10.6 Workpiece simulation
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.
Display
Activated "Skip block" function is indicated by a reversal of the relevant field on the operator
interface.
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 NC
The simulation uses its own NC instance (simulation NC). Therefore, before a simulation is
started, the real NC must be aligned to the simulation NC. With this alignment, all active
machine data is read out of the NC and read into the simulation NC. The NC and cycle machine
data is included in the active machine data.
Basic Functions
506 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.7 Block search, types 1, 2, and 4:
Note
In part programs, CC-specific language commands and machine data of unsupported CCs
cannot be used (see also paragraph "CC-commands in the part program").
Special motion of supported CCs (OEM transformations) are - under certain circumstances -
incorrectly displayed.
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, 12/2017, 6FC5397-0BP40-6BA1 507
K1: Mode group, channel, program operation, reset response
10.7 Block search, types 1, 2, and 4:
Note
For further explanations regarding the block search, see Section "Behavior during block
search (Page 447)."
Subsequent actions
After completion of a block search, the following subsequent actions may occur:
● Type 1 - Type 5: Automatic Start of an ASUP
When the last action block is activated, a user program can be started as an ASUP.
● Type 1 - Type 4: Cascaded block search
A further block search with a different target specification can be started from "Search target
found".
Basic Functions
508 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.7 Block search, types 1, 2, and 4:
Time sequence
%ORFNVHDUFK
DFWLYH'%
'%;
$FWLRQVHW
DFWLYH'%
'%;
/DVWDFWLRQVHW
DFWLYH'%
'%;
&KDQQHOVWDWH
5HVHW'%
'%;
&KDQQHOVWDWH
,QWHUUXSWHG
'%'%;
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 509
K1: Mode group, channel, program operation, reset response
10.7 Block search, types 1, 2, and 4:
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
Single block
If you do not wish to stop after each action block after the search target during block search
type 2 or type 4 (block search with calculation to ...) is found and while function "Single block"
(DB21, ... DBX0.4 == 1 (activate single block)) is active, this behavior can be deactivated in
machine data:
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK, Bit 3 = 1 (ignore signal block for action
blocks)
Basic Functions
510 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.7 Block search, types 1, 2, and 4:
Effect
If the following system variables are read in the ASUP, they contain the following values:
● $P_EP: Current actual position of the channel axis in the WCS
● $AC_RETPOINT: Collected block search position of the channel axis in the WCS
Effect
● All channel axes are moved to their search position that was collected during the block
search.
● $P_EP == "collected block search position of the channel axis (WCS)"
Effect:
● After exiting the ASUP, the system variable $P_EP (programmed end position) contains
the actual position, at which the channel axes were positioned by the ASUP or manually
(mode: JOG).
$P_EP == "current actual position of the channel axis in the WCS
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 511
K1: Mode group, channel, program operation, reset response
10.7 Block search, types 1, 2, and 4:
<value> Meaning
0 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
1 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)
<value> Meaning
0 Output of spindle-specific auxiliary functions collected during block search (M3, M4, M5, M19,
M70) in action blocks.
1 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:
Basic Functions
512 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.7 Block search, types 1, 2, and 4:
System variables
The spindle-specific auxiliary functions collected during block search are stored in the following
system variables:
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 452)" and "Program test (Page 499)."
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 513
K1: Mode group, channel, program operation, reset response
10.7 Block search, types 1, 2, and 4:
Parameter assignment
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:
MD11620 $MN_PROG_EVENT_NAME
<value> Meaning
0 Single-block processing is active.
1 Single-block processing is suppressed.
<value> Meaning
0 Read-in disable is active.
1 Read-in disable is suppressed.
Note
For more information on parameterizing MD11620, MD20108, and MD20107, see Section
"Parameterization (Page 578)."
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."
Basic Functions
514 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.7 Block search, types 1, 2, and 4:
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.
7. Last ASUP block (REPOSA) is activated ⇒ DB21, ... DBX32.6 = 1 (last action block active)
8. Optional: Execution of user-specific requirements via PLC user program
9. Display of the alarm 10208 "Continue program with NC start"?
Note
With MD11450 $MN_SEARCH_RUN_MODE, Bit 0 == 1, alarm 10208 will only be output
after enabling by the PLC user program (DB21, ... DBX1.6 = 1 (PLC action ended)).
10.User: Continue program with NC start ⇒ DB21, ... DBX7.1 = 1 (NC start)
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 515
K1: Mode group, channel, program operation, reset response
10.7 Block search, types 1, 2, and 4:
Activation
The "cascaded block search" is configured in the existing machine data:
MD11450 $MN_SEARCH_RUN_MODE
● The 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
Basic Functions
516 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.7 Block search, types 1, 2, and 4:
%ORFNVHDUFK
DFWLYH'%
'%;
$FWLRQVHW
DFWLYH'%
'%;
/DVWDFWLRQVHW
DFWLYH'%
'%;
&KDQQHOVWDWH
UHVHW'%
'%;
&KDQQHOVWDWXV
LQWHUUXSWHG
'%'%;
Selection
From the following examples, select the type of block search that corresponds to your task.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 517
K1: Mode group, channel, program operation, reset response
10.7 Block search, types 1, 2, and 4:
7RROFKDQJH
SRLQW
$SSURDFKPRYHPHQW
WDUJHWVHW1
$SSURDFKSRLQW
[
Figure 10-3 Approach motion for block search to block end point (target block N220)
Note
"Block search at contour" with target block N220 would generate an approach motion to
the tool change point (start point of the target block).
Basic Functions
518 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.7 Block search, types 1, 2, and 4:
7RROFKDQJH
SRLQW
$SSURDFKPRYHPHQW
$SSURDFKSRLQW
[
Figure 10-4 Approach motion for block search at contour (target block N260)
Note
"Block search to block end point" with target block N260 would result in Alarm 14040 (circle
end point error).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 519
K1: Mode group, channel, program operation, reset response
10.7 Block search, types 1, 2, and 4:
Basic Functions
520 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
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] Enable block search function for HMI and select block search configuration
SeruproEnabled=1 ;SERUPRO softkey available for HMI. Default value is (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, 12/2017, 6FC5397-0BP40-6BA1 521
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
Activation
SERUPRO is activated via the HMI. SERUPRO is operated using the "Prog.Test Contour"
softkey.
SERUPRO uses REPOS to approach the target block.
Note
After program testing has been deactivated, a REPOS operation is initiated that is subject to
the same restrictions as a SERUPRO approach operation. Any adverse effects can be inhibited
using an ASUP.
Basic Functions
522 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 523
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
Basic Functions
524 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
The "Reposition to the contour" (REPOS) function can be used to continue an interrupted
machining at the interrupted location. Unlike REPOS, SERUPRO permits the "refetching" or
"repetition" of a program section. For this purpose, once SERUPRO has found the target block,
the contour is positioned at the location selected with REPOS mode and the machining
continued.
<REPOS mode>
Bit Value Meaning
0 0 An interrupted delay time is repeated
1 An interrupted delay time is continued
1 - Reserved
2 0 DB31, ... DBX10.0 (REPOS delay) not considered in the repositioning deceleration
block.
1 DB31, ... DBX10.0 (REPOS delay) considered in the repositioning deceleration
block.
3 0 SERUPRO: Only path axes traverse in the repositioning block
1 SERUPRO: Path and positioning axes traverse concurrently in the repositioning
block
4 0 REPOS: Only path axes traverse in the repositioning block
1 REPOS: Path and positioning axes traverse concurrently in the repositioning block
5 0 During the interruption, changed feedrates and spindle speeds act only after the
first part program block following the interruption location
1 Modified feedrates and spindle speeds during the interruption are valid immedi‐
ately from the interruption point onward, i.e. they are already valid in the residual
block and are given priority. This behavior relates to every REPOS operation.
6 0 SERUPRO: In the repositioning block, neutral axes and positioning spindles tra‐
verse as path axes.
1 SERUPRO: In the repositioning block, neutral axes and positioning spindles tra‐
verse as command axes.
Neutral axes and positioning spindles are repositioned after SERUPRO.
For neutral axes, where it is not permissible to reposition them, the REPOS delay
must be set: DB31, ... DBX10.0 = 1 (REPOS delay)
7 0 The REPOS delay is not enabled.
1 The REPOS delay is enabled.
Axes with active REPOS delay (DB31, ... DBX10.0 == 1), which are neither ge‐
ometry nor orientation axes, are not traversed when repositioning.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 525
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
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.
DANGER
Risk of collision
Signal DB31, ... DBX2.2 (delete distance-to-go) produces the following dangerous behavior
when function "Prevent repositioning of individual axes" is selected:
MD11470 $MN_REPOS_MODE_MASK.bit 2 == 1
As long as an axis is programmed incrementally after the interruption, the NC approaches
different positions than those approached with no interruption.
See the example below: Axis is programmed incrementally
Basic Functions
526 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
DANGER
Risk of collision
As, after the interruption, the axis is incrementally programmed, it moves to 16° instead
of 32°.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 527
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
Whether this axis is currently subject to a REPOS offset can be read via synchronized actions
with $AA_REPOS_DELAY.
CAUTION
Risk of collision
DB31, ... DBX10.0 (REPOS delay) have no effect on machine axes, which form a path.
Whether an axis is a path axis can be determined using DB31, ... DBX76.4 (path axis).
Note
In a running ASUP, DB21, ... DBX31.4 (REPOS mode change) does not act on the final
REPOS, unless the signal is inadvertently set at the instant in time that the REPOS blocks are
being executed.
In the 1st case, the signal is allowed only in the stopped state.
Response to RESET:
● The NC has already acknowledged the PLC signal:
DB21, ... DBX31.4 == 1 (REPOS mode change) AND
DB21, ... DBX319.0 == 1 (REPOS mode change acknowledgment)
If, in this situation, a channel reset occurs, then the active REPOS mode is cleared:
DB21, ... DBX319.1 - 3 = 0 (active REPOS mode)
● The NC has still not acknowledged the PLC signal:
DB21, ... DBX31.4 == 1 (REPOS mode change) AND
DB21, ... DBX319.0 == 0 (REPOS mode change acknowledgment)
If, in this situation, a channel reset occurs, then acknowledgment of the REPOS mode
change and the active REPOS mode are cleared:
DB21, ... DBX319.0 = 0 (REPOS mode change acknowledgment)
DB21, ... DBX319.1 - 3 = 0 (active REPOS mode)
Basic Functions
528 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
Note
If the NC has not yet acknowledged interface signal DB21, ... DBX31.4 (REPOS MODE
CHANGE) with interface signal DB21, ... DBX319.0 (REPOS mode change acknowledgment)
, then a channel reset in this situation causes the program to be canceled, and the REPOS,
which is to be used to control the REPOS mode, is not executed.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 529
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
A REPOS mode issued from the PLC is acknowledged by the NC using the following interface
signals:
● DB21, ... DBX319.1 - 3 (active REPOS mode)
● DB31, ... DBX10.0 (REPOS delay)
● DB31, ... DBX70.2 (REPOS delay acknowledgment)
Example
● Instant in time ②: An NC program in block N20 is stopped with an NC stop. All axes are
braked along their parameterized braking ramps to standstill.
● Instant in time ③: After the PLC user program has set the "REPOS mode", the NC accepts
the REPOS mode with the 0/1 edge of "REPOS mode change".
● Instant in time ④: "REPOS mode change acknowledgment" remains set until the ASUP is
initiated.
● Instant in time ⑤: The REPOS operation begins in the ASUP.
● Instant in time ⑥: The residual block of the ASUP is reloaded.
&RPPDQGZLWK$683LVEHJXQ
5HDSSURDFKPRYHPHQWRI
5(326LVHQGHG
7KHUHPDLQGHUVHWEHJLQV
1
3UHVHOHFW501%/
6WRSRIWKHSDUWSURJUDP
6WRSRIWKHSDUWSURJUDP 7KHUHPDLQGHUVHWHQGV
5(3263$7+02'(
5(32602'(('*(
5(32602'(('*($&.1
5HSRV3DWK0RGH4XLWW
W
Figure 10-5 REPOS sequence in part program with timed acknowledgment signals from NC
Basic Functions
530 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
As soon as the REPOS repositioning motion of the ASUP is executed, the NC sets the "Repos
Path Mode Ackn" again (→ Time (5)). If no REPOSPATHMODE has been preselected via an
NC/PLC interface signal, the programmed REPOS mode is displayed.
"Repos Path Mode Ackn" is canceled when the residual block is activated (→ Time (6)).
The part program block N30 following the block at → Time (2) is resumed.
Interface signal:
DB31, ... DBX70.2 (REPOS delay acknowledgment) is analogously defined.
DB31, ... DBX70.1 (REPOS offset valid) = 1, if:
DB21, ... DBX319.1-319.3 (active REPOS mode) = 4 (RMNBL).
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 ASUP or the automatic ASUP
start.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 531
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
Value 0: All axes currently controlled by this channel have either no REPOS offset or their
REPOS offsets are invalid.
Value 1: Miscellaneous.
Basic Functions
532 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
Example
The program is interrupted at any point in the block N110. The axes were then traversed to
position (A), e.g. manually. Once SERUPRO has found target block N110, the REPOS
operation with REPOS mode RMNBL is performed. With regard to the REPOS start position
(A), point (B) is the next nearest point of the contour. The REPOS operation is completed when
point (B) is reached. The programmed contour of the interrupted program is traversed again
starting at point (B).
%UHDNSRLQW 1
1 1
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 533
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
<Value> Meaning
0 Program test with block search velocity / 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.
1 Program test with programmed velocity:
● Axes: Dry run feedrate
● Spindles: Programmed speed
Dynamic limitations of axes / spindles are considered.
2 Program test with dry run feedrate
Under program test, traversing is performed with the programmed velocity / speed.
Dynamic limitations of axes / spindles are considered.
3 Program test with block search velocity
Under program test, traversing is performed with the following velocity:
● Axes: MD22601 $MC_SERUPRO_SPEED_FACTOR * programmed feedrate
● Spindles: MD22601 $MC_SERUPRO_SPEED_FACTOR * programmed speed.
Dynamic limitations of axes / spindles are not considered.
Note
When revolutional feedrate is active (e.g. G95), the programmed feedrate is not multiplied
by MD22601 $MC_SERUPRO_SPEED_FACTOR but only the programmed spindle speed.
This results, here too, in an increase in the effective path velocity by MD22601 $MC_SER‐
UPRO_SPEED_FACTOR.
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
Basic Functions
534 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
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.
Tool management
If tool management is active, the following setting is recommended:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 535
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
Example
Tool change subprogram
N580 GETSELT(TNR_VORWAHL) ; Read T number of the preselected tool of the master spindle
; Execute tool change only if tool is not yet current
N590 IF TNR_AKTUELL <> TNR_VORWAHL ; Approach tool change point
N600 G0 G40 G60 G90 SUPA X450 Y300
Z300 D0
N610 M206 ; Execute tool change
N620 ENDIF
N630 M17
Basic Functions
536 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
ASUP for calling the tool change routine after type 5 block search
N1085 ASUP_ENDE1:
N1090 IF TNR_VORWAHL == TNR_SUCHLAUF GOTOF AS-
UP_ENDE
N1100 T = $TC_TP2[TNR_VORWAHL] ; Restore T preselection by tool name
N1110 ASUP_ENDE:
N1110 M90 ; Feedback to PLC
N1120 REPOSA ; ASUP end
In both of the programs PROC L6 and PROC ASUPWZV2, the tool change is programmed
with M206 instead of M6.
ASUP "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 ASUP is started, the spindle is not accelerated to the speed specified
in the program because the SERUPRO ASUP 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 ASUP as follows:
● SERUPRO operation has finished completely.
● The user starts the SERUPRO ASUP via function block FC 9
in order to ramp up the spindle.
● The start after M0 in the ASUP does not change the spindle status.
● SERUPRO ASUP automatically stops before the REPOS part program block.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 537
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
Self-acting 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.
A special channel, the "serurpoMasterChan", can also be defined for each "Self-acting
SERUPRO". A search target can be defined in this channel.
The "Self-acting SERUPRO" function supports the SERUPRO cross-channel block search.
Function
The "Self-acting SERUPRO" operation cannot be used to find a search target. If the search
target is not reached, then no channel is stopped. However, in certain situations the channel
is temporarily stopped. Generally, the channel waits for another channel. Examples are: Wait
marks, couplings or axis interchange.
Basic Functions
538 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
Activation
"Self-acting SERUPRO" is activated via the HMI as a block search start for the Type 5 block
search for target channel "seruproMasterChan".
A search target is not specified for the dependent channels started from the target channel.
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 539
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
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
Supplementary 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.
Basic Functions
540 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
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"
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 541
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
This program section begins with the last executable block before the activation and ends with
the deactivation.
The automatic interrupt pointer is not active for couplings that were activated or deactivated
via synchronized actions.
Example: Automatically declaring axial master value coupling as search-suppressed:
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.
SERUPRO is inactive at Power On. The operating mode change is permitted during
SERUPRO. RESET aborts SERUPRO, the internally selected program test is deselected
again. SERUPRO cannot be combined with other block search types.
Basic Functions
542 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
Via an implicit STOPRE before N50, the NC can read and correctly calculate the current work
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 543
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
System variable
The system variables for "Travel to fixed stop" have the following meaning with SERUPRO:
● $AA_FXS: Progress of the program simulation
● $VA_FXS: Real machine state
The two system variables always have the same values outside the SERUPRO function.
ASUP
A user-specific ASUP can be activated for SERUPRO.
Basic Functions
544 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
References
For detailed information on the SERUPRO block search, see Section "Detailed description
(Page 322)".
System variable
The system variables for "Travel with limited torque/force" have the following meaning with
SERUPRO:
● $AA_FOC: Progress of the program simulation
● $VA_FOC: Real machine state
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 322)".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 545
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
CAUTION
Incorrect simulation
In order to be able to simulate couplings correctly, they must have been switched off
previously.
This can be performed with machine data MD10708 $MA_SERUPRO_MASK.
LEADON
The following specifications apply for the simulation of axial master value couplings:
1. Simulation always takes place with setpoint coupling.
2. SERUPRO approach takes place with active coupling and an overlaid motion of the
following axis in order to reach the simulated target point.
The following axis that is moved solely by the coupling cannot always reach the target point.
In SERUPRO approach, an overlaid linear motion is calculated for the following axis to
approach the simulated point!
Basic Functions
546 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
Note
For further information on the repositioning of axis couplings, see Section "Repositioning to
the contour (REPOS) (Page 525)".
Master-slave
A system ASUP can be started automatically after the block search has finished. In this ASUP,
the user can control the coupling state and the associated axis positions subsequently. The
required information is provided via the following system variables:
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"
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 547
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
Example
● System ASUP
– Path and name: /_N_CMA_DIR/PROGEVENT.SPF
– Master axis: X
– Slave axis: Y
Program code
PROG PROGEVENT
N10 IF(($S_SEARCH_MASLC[Y]< >0) AND ($AA_MASL_STAT[Y]< >0))
N20 MASLOF(Y)
N30 SUPA Y = $AA_IM[X] - $P_SEARCH_MASLD[Y]
N40 MASLON(Y)
N50 ENDIF
N60 REPOSA
...
RET
● Machine data
To ensure that the ASUP 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 ASUP 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
MD20115 $MC_IGNORE_REFP_LOCK_ASUP, bits 8 to 31 enable the system
interrupts.
Bit 8 / interrupt 9 starts an ASUP that contains traversing motions.
Basic Functions
548 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
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 execution speed has no effect (MD22601
(Page 533)$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"
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 PLC → NC
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 549
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
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.
Operational sequences
The gear stage change (GSC) requires physical motions from the NC 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
550 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
The gear stage change must then be performed in REPOS; this will work even if the axis
involved is to be in "speed control mode" at the target block. In other cases, the automatic gear
stage change is denied with an alarm if, for example, the axis was involved in a transformation
or coupling between the gear stage change and the target block.
Note
For further information on gear stage changes in DryRun, Program test and SERUPRO, see
Section "S1: Spindles (Page 1277)".
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 551
K1: Mode group, channel, program operation, reset response
10.8 Block search Type 5 (SERUPRO)
Example:
The synchronous spindle coupling at the beginning of the SERUPRO operation is retained for
the part program start.
Basic Functions
552 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Definition
Program mode is present when in the AUTOMATIC or MDI operating modes, NC programs
or PC program blocks are processed.
References
● Function Manual, Basic Functions; Section "Z1: NC/PLC interface signals
● Function Manual, Extended Functions; Section "Z2: NC/PLC interface signals
● Function Manual, Special Functions; Section "Z3: NC/PLC interface signals
An overview of all NC/PLC interface signals can be found in:
References
List Manual, NC Variable and Interface Signals; Section "Interface signals - Overview".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 553
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Basic settings can be programmed in channel-specific machine data for each channel. These
basic settings affect, for example, G groups and auxiliary function output.
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 basic setting is
automatically active during program start or in Reset until it is deselected by a G command
from the same G group.
Via MD22510 $MC_GCODE_GROUPS_TO_PLC (G commands which are output to interface
NC-PLC after block change / RESET), the output of the G commands to the PLC interface can
be activated.
References
A list of G groups with the associated G commands can be found in:
Programming Manual, Fundamentals
NC language scope
The way that non-active options and functions should be handled with language commands
can be set with the following machine data:
MD10711 $MN_NC_LANGUAGE_CONFIGURATION = <value>
Value Meaning
0 All language commands are available. Whether or not the needed function is activated can only be recognized
upon execution.
1 All language commands are available.
Language commands for non-enabled options are recognized during the program interpretation ⇒ Alarm 12553
"Option/function is not active".
2 Only the language commands of the enabled options are available.
Language commands for non-enabled options are recognized during the program interpretation ⇒ Alarm 12550
"Name not defined or option/function available".
Basic Functions
554 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Value Meaning
3 All language commands are available.
Language commands of not activated functions are recognized during the program interpretation ⇒ Alarm 12553
"Option/function is not active".
Example:
1. Option set for the cylinder surface transformation.
2. The cylinder surface transformation in the machine data MD24100 $MC_TRAOF_TYPE_1 is not activated
3. Alarm 12553 is issued already when programming the TRACYL command.
4 Only the language commands of the active functions are available.
Language commands of non-active functions are not recognized ⇒ Alarm 12550 "Name not defined or option/
function not available".
Note
Whether the associated language commands are generally unavailable in the Siemens language or whether
this is true only on the corresponding system cannot be distinguished in this scenario.
10.9.1.2 Programming
The function "STRINGIS(...)" checks whether the specified character string is available as
element of the NC programming language in the actual language scope.
The following elements of the NC programming language can be checked:
● G commands of all existing G groups
● DIN or NC addresses
● Functions
● Procedures
● Keywords
● System data, such as machine data $M... , setting data $S... or option data $O...
● System variables $A... , $V... , $P...
● Arithmetic parameters R...
● Cycle names of activated cycles
● GUD and LUD variables
● Macro names
● Label names
Definition
INT STRINGIS(STRING <name>)
Syntax
<return value> = STRINGIS(<name>)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 555
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Meaning
<return The return value is coded in the first three decimal places yxx
value>: 000 The specified string is not an element of the current language scope 1).
100 The specified string is an element of the NC programming language, but
currently cannot be programmed (option/function is inactive).
2xx The specified string is a programmable element of the current language
scope (option/function is active).
Detailed information is contained in the first and second decimal places:
xx Meaning
01 DIN address or NC address2)
02 G command (e.g. G04, INVCW)
03 Function with return value
04 Function without return value
05 Keyword, e.g. DEFINE
06 Machine ($M...), setting ($S...) or option data ($O...)
07 System parameter, e.g. system variable ($...) or arithmetic param‐
eter (R...)
08 Cycle (the cycle must be loaded to the NC and the cycle program
must be active 3) )
09 GUD variable (the GUD variable must be defined in the GUD defi‐
nition files and the GUD variables activated)
10 Macro name (the macro must be defined in the macro definition
files and macros activated) 4)
11 LUD variable of the actual part program
12 ISO G command (ISO language mode must be active)
400 The specified string is an NC address that was not identified as DIN ad‐
dress or NC address (xx==01) or macro name (xx==10), and is not G or R
2)
Basic Functions
556 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Examples
In the following examples it is assumed that the specified NC language element, unless noted
otherwise, can in principle be programmed in the control.
1. String "T" is defined as auxiliary function:
400 == STRINGIS("T")
000 == STRINGIS ("T3")
2. String "X" is defined as axis:
201 == STRINGIS("X")
201 == STRINGIS("X1")
3. String "A2" is defined as NC address with extension:
201 == STRINGIS("A")
201 == STRINGIS("A2")
4. String "INVCW" is defined as named G command:
202 == STRINGIS("INVCW")
5. String "$MC_GCODE_RESET_VALUES" is defined as machine data:
206 == STRINGIS("$MC_GCODE_RESET_VALUES")
6. String "GETMDACT" is an NC language function:
203 == STRINGIS("GETMDACT ")
7. String "DEFINE" is a keyword:
205 == STRINGIS("DEFINE")
8. String "$TC_DP3" is a system parameter (tool length component):
207 == STRINGIS("$TC_DP3")
9. String "$TC_TP4" is a system parameter (tool size):
207 == STRINGIS("$TC_TP4")
10.String "$TC_MPP4" is a system parameter (magazine location status):
– Tool magazine management is active: 207 == STRINGIS("$TC_MPP4") ;
– Tool magazine management is not active: 000 == STRINGIS("$TC_MPP4")
See also the paragraph below: Tool magazine management.
11.String "MACHINERY_NAME" is defined as GUD variable:
209 == STRINGIS("MACHINERY_NAME")
12.String "LONGMACRO" is defined as macro:
210 == STRINGIS("LONGMACRO")
13.String "MYVAR" is defined as LUD variable:
211 == STRINGIS("MYVAR")
14.String "XYZ" is a command that is not known in the NC, GUD variable, macro or cycle name:
000 == STRINGIS("XYZ")
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 557
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Supplementary conditions
ISO Mode
If the "ISO Mode" function is active:
STRINGIS() checks the specified string initially as SINUMERIK G command:
● MD18800 $MN_MM_EXTERN_LANGUAGE (activation of external NC languages)
● MD10880 $MN_ MM_EXTERN_CNC_SYSTEM (control system to be adapted)
For active "ISO Mode", STRINGIS() checks the specified character string first whether it
belongs to the SINUMERIK G command.
If the string is not a SINUMERIK G command, it is subsequently checked whether it is an ISO
G command.
Selection
An NC program can be selected only if the relevant channel is in the reset status.
● DB21, ... DBX35.7 == 1 (reset)
Start
An NC program is started by two different events:
1. DB21, ... DBX7.1 = 1 (NC start), the signal is normally initiated by pressing the "NC start"
key on the machine control panel.
2. START command in an NC program of another active channel. The channel must be in the
AUTOMATIC or MDI mode and in the "reset" or "interrupted" status.
– DB21, ... DBX35.7 == 1 (reset)
– DB21, ... DBX35.6 == 1 (interrupted)
Basic Functions
558 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Initial conditions
An NC program can be started only when the following initial conditions are satisfied.
● DB11 DBX4.4 == 1 (mode group ready)
● DB11 DBX0.7 == 0 (mode group reset)
● DB21, ... DBX1.7 == 0 (activate program test)
● DB21, ... DBX7.0 == 0 (NC start lock)
● DB21, ... DBX7.2 == 0 (NC stop at block limit)
● DB21, ... DBX7.3 == 0 (NC stop)
● DB21, ... DBX7.4 == 0 (NC stop, axes plus spindles)
● DB21, ... DBX7. 7 == 0 (reset)
● DB10 DBX56.1 == 0 (emergency stop)
● No axis or NC-specific alarm may be pending
Execution of command
The part program or the part program block is automatically executed and 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.
References
A detailed description of the interface signals can be found in the NC Variables and Interface
Signals List Manual.
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 559
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Requirements
A program interruption is performed only when the channel and the NC program are active:
● DB21, ... D35.5 == 1 (channel: active)
● DB21, ... D35.0 == 1 (program: running)
Program interruption
The program processing can be interrupted by the following events:
● DB21, ... DBX7.2 == 1 (NC stop at block limit)
● DB21, ... DBX7.3 == 1 (NC stop)
● DB21, ... DBX7.4 == 1 (NC stop, axes plus spindles)
● DB21, ... DBX2.0 == 1 (single block)
● Programmed M00 or M01 command in the processed NC program
The channel and the NC program are then in the "interrupted" status:
● DB21, ... D35.6 == 1 (channel interrupted)
● DB21, ... D35.3 == 1 (program interrupted)
References
A detailed description of the interface signals can be found in the NC Variables and Interface
Signals List Manual.
Sequence
The following actions are performed when a program interruption is detected:
● Interrupt the program processing:
– At the next block limit for the following events: "NC stop at block limit", M00, M01 or
single block
– Immediately: All other events
● The traversing axes of the channel are stopped via a braking ramp. The braking of the axes
can extend 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
560 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Function
A channel reset causes an NC program being processed in automatic mode or program block
being processed in the MDI mode to be terminated.
The NC program or the program block cannot be continued at the point of interruption. After
completion of the channel reset, all axes and spindles of the channel are in the "exact stop"
status (exception: follow-up mode).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 561
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Sequence
The NC reset causes the following actions to be performed in the channel:
● The program preparation is stopped immediately.
● Axes and spindles are braked via their parameterized braking ramps to standstill.
● Any auxiliary functions of the current block not yet output are no longer output to the PLC.
● The block indicator is reset to the start of the selected NC program.
● All reset alarms of the channel are cleared from the display.
Rules
● A channel reset is performed in any channel state.
● A channel reset is not aborted by any other command.
References
A detailed description of the interface signals can be found in the NC Variables and Interface
Signals List Manual.
Basic Functions
562 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Status changes
The program status is influenced by commands, NC/PLC interface and alarms. Starting at the
"running" program status, the table shows the following status based on the associated event.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 563
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Status changes
The channel status is influenced by commands and NC/PLC interface signals. Starting at the
"active" channel status, the table shows the following status based on the associated event.
The "active" channel status is achieved when an NC program or NC program block is being
executed or when axes are traversed in JOG mode.
Status transitions
The following table shows the channel and program states that result after certain operator
and program actions.
Basic Functions
564 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
The left-hand part of the table lists the various states of the channel and of the program selected
in the channel, and the active operating mode.
The right-hand part of the table lists the operating/program actions and the following status.
Status Channel sta‐ Program status Operating Operating or program action => following status
tus mode
R U A R U S W A A M J
1 x x x RESET ⇒ 4
2 x x x RESET ⇒ 5
3 x x x RESET ⇒ 6
4 x x x NC start ⇒ 13; mode change ⇒ 5 or 6
5 x x x NC start ⇒ 14; mode change ⇒ 4 or 6
6 x x x Direction key ⇒ 15; mode change ⇒ 4 or 5
7 x x x NC start ⇒ 14
8 x x x NC start ⇒ 15
9 x x x NC start ⇒ 13; mode change ⇒ 10 or 11
10 x x x NC start ⇒ 16; mode change ⇒ 9 or 11
11 x x x Direction key ⇒ 17; mode change ⇒ 9 or 10
12 x x x NC start ⇒ 13; mode change ⇒ 10 or 11
13 x x x NC stop ⇒ 12
14 x x x NC stop ⇒ 7; for block end ⇒ 5
15 x x x NC stop ⇒ 8; for JOG end ⇒ 6
16 x x x NC stop ⇒ 10; for block end ⇒ 10
17 x x x NC stop ⇒ 11; for JOG end ⇒ 11
18 x x x Reset ⇒ 4; wait for other channel ⇒ 18
Program code
N10 G01 G90 X100 M3 S1000 F1000 M170
N20 M0
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 565
K1: Mode group, channel, program operation, reset response
10.9 Program operation
1&VWDUWIURP3/&+0,XVHUODQJXDJH
1&VWRSIURP3/&+0,XVHUODQJXDJH
'%'%;1&VWDUWGLVDEOH
'%'%;UHDGLQGLVDEOH
3/&!1&
'%'%;FRQWUROOHUHQDEOH;D[LV
'%'%;IHHGUDWHVWRS
'%'%;FRQWUROOHUHQDEOHVSLQGOH
'%'%;VSLQGOHVWRS
'%'%;SURJUDPVWDWHUXQQLQJ
'%'%;SURJUDPVWDWHLQWHUUXSWHG
'%'%;SURJUDPVWDWHVWRSSHG
1&!3/&
'%'%;SURJUDPVWDWHFDQFHOHG
'%'%%WUDYHOFRPPDQG;D[LV
'%'%;H[DFWVWRSILQH
'%'%;VSLQGOHVWDWLRQDU\
'%'%;VSLQGOHLQVHWSRLQWUDQJH
6SLQGOH $[LV;WUDYHUVHV
SRZHUXS
1 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)
Basic Functions
566 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
● The timer for the program runtime can be reset to "0" at the restart of the program.
● The timer for workpiece counting can be incremented by "1" at program restart.
Application example
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.
Parameterization
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 Section
" Program runtime (Page 689) ")
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.Bit 8 = <value> (activate the program runtime
measurement)
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 Section "Workpiece Counter (Page 699)").
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":
MD27880 $MC_PART_COUNTER.Bit <n> = <value> (activating the workpiece counter)
Bit Value Meaning: In case of a program restart through the function "jump back to start of
program", the workpiece counter:
7 0 $AC_TOTAL_PARTS is not incremented.
1 $AC_TOTAL_PARTS is incremented.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 567
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Bit Value Meaning: In case of a program restart through the function "jump back to start of
program", the workpiece counter:
11 0 $AC_ACT_PARTS is not incremented.
1 $AC_ACT_PARTS is incremented.
15 0 $AC_SPECIAL_PARTS is not incremented.
1 $AC_SPECIAL_PARTS is incremented.
Programming
Syntax
GOTOS
Meaning
Example:
Programming Comment
N10 ... ; Start of the program
...
IF ...
N100 GOTOS Return to the program start (N10)
ENDIF
...
RET
10.9.10.1 Programming
The program section repetition permits the repetition of program sections within an NC
program.
Basic Functions
568 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
The program lines or program sections to be repeated are identified by jump markers (labels).
Note
Jump markers (labels)
Jump markers are always located at the beginning of a block. If a program number exists, the
jump marker is located immediately after the block number.
The following rules apply when naming jump markers:
● Number of characters:
– Minimum 2
– Maximum 32
● Permissible characters are:
– Letters
– Digits
– Underscores
● The first two characters must be letters or underscores.
● The name of the jump marker is followed by a colon (":").
Syntax
2. REPEAT + jump marker: Repeat program section between jump marker and REPEAT
statement
3. REPEAT + jump marker_1 + jump marker_2: Repeat section between two jump markers
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 569
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Note
It is not possible to nest the REPEAT statement with the two jump markers in parentheses. If
the <start jump marker> appears before the REPEAT statement and the <end jump
marker> is not reached before the REPEAT statement, the section between the <start
jump marker> and the REPEAT statement will be repeated.
4. REPEAT + jump marker + ENDLABEL: Repeat section between jump marker and
ENDLABEL:
Note
It is not possible to nest the REPEAT statement with the <jump marker> and the
ENDLABEL in parentheses. If the <jump marker> appears before the REPEAT statement and
the ENDLABEL is not reached before the REPEAT statement, the section between the <jump
marker> and the REPEAT statement will be repeated.
Meaning
Basic Functions
570 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Examples
Example 2: Repeat program section between jump marker and REPEAT statement:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 571
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Basic Functions
572 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Further information
● Program section repetitions can be nested. Each call uses a subprogram level.
● If M17 or RET is programmed while processing a program section repetition, the program
section repetition is canceled. The program is resumed at the block following the REPEAT
line.
● In the actual program display, the program section repetition is displayed as a separate
subprogram level.
● If the level is canceled during the program section processing, the program resumes at the
point after the program section repetition call.
Example:
● Check structures and program section repetitions can be used in combination. There should
be no overlap between the two, however. A program section repetition should appear within
a check structure branch or a check structure should appear within a program section
repetition.
● If jumps and program section repetitions are mixed, the blocks are executed purely
sequentially. For example, if a jump is performed from a program section repetition,
processing continues until the programmed end of the program section is found.
Example:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 573
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Program code
N10 G1 F300 Z-10
N20 BEGIN1:
N30 X=10
N40 Y=10
N50 GOTOF BEGIN2
N60 ENDLABEL:
N70 BEGIN2:
N80 X20
N90 Y30
N100 ENDLABEL: Z10
N110 X0 Y0 Z0
N120 Z-10
N130 REPEAT BEGIN1 P=2
N140 Z10
N150 X0 Y0
N160 M30
Note
The REPEAT statement should appear after the traversing block.
10.9.11.1 Function
Function
The "Event-driven program call" (PROG_EVENT) function starts, for the occurrence of a
selected event in the NC, a user-specific NC program (PROG_EVENT-program).
Application examples
Initial setting for functions or initialization of system or user variables.
Events
The triggering events are selected with the machine data MD20108
$MC_PROG_EVENT_MASK (see Section "Parameterization (Page 578)").
PROG_EVENT program
The name of the PROG_EVENT program is set with the machine data
MD11620 $MN_PROG_EVENT_NAME up (see Section "Parameterization (Page 578)").
The PROG_EVENT program is executed in the channel in which the event occurred.
Basic Functions
574 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
The PROG_EVENT program is executed with the lowest priority and so can be interrupted by
a user ASUP.
Processing sequences
Channel: Active
Mode: AUTOMATIC (optional: Overstore (active)
MDI
TEACH IN
1. In the channel, the end of program block is exchanged in 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 PROG_EVENT program as ASUP
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 575
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Channel: Any
Mode: Any
1. Control activates reset-sequence with evaluation of machine data:
– MD20110 $MC_RESET_MODE_MASK
– MD20150 $MC_GCODE_RESET_VALUES
– MD20152 $MC_GCODE_RESET_MODE
2. Implicit call of the PROG_EVENT program as ASUP
3. Control activates reset-sequence with evaluation of machine data:
– MD20110 $MC_RESET_MODE_MASK
– MD20150 $MC_GCODE_RESET_VALUES
– MD20152 $MC_GCODE_RESET_MODE
Basic Functions
576 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
'%'%;
SURJUDPVWDWHUXQQLQJ
'%'%;
3URJUDPVWDWXVVWRSSHG
'%'%;
3URJUDPVWDWXVFDQFHOHG
'%'%;
&KDQQHOVWDWXVDFWLYH
'%'%;
&KDQQHOVWDWXVLQWHUUXSWHG
'%'%;
&KDQQHOVWDWXVUHVHW
B1B352*B B1B352*B
2SHUDWRUSDQHO (9(17B63) (9(17B63)
UHVHW $FWLYH (QG
'%'%;
SURJUDPVWDWHUXQQLQJ
'%'%;
3URJUDPVWDWXVVWRSSHG
'%'%;
3URJUDPVWDWXVFDQFHOHG
'%'%;
&KDQQHOVWDWXVDFWLYH
'%'%;
&KDQQHOVWDWXVLQWHUUXSWHG
'%'%;
&KDQQHOVWDWXVUHVHW
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 577
K1: Mode group, channel, program operation, reset response
10.9 Program operation
NC/PLC interface signals: DB21, ... DBX35.4 (program status aborted) and DB21, ... DBX35.7 (channel
status reset)
● The interface signals are set only when the PROG_EVENT program has completed again.
● The interface signals are not set between:
– Program end and PROG_EVENT program start
– Channel reset and PROG_EVENT program start
If the PROG_EVENT program has completed or been canceled with a channel reset, the
interface signals are cleared again.
The interface signals are available for at least the duration of a PLC cycle.
10.9.11.2 Parameterization
Event selection
The events that start the PROG_EVENT program are set channel-specific using the machine
data:
MD20108 $MC_PROG_EVENT_MASK.Bit <n> = 1
Note
MD20108 $MC_PROG_EVENT_MASK is not evaluated in the simulation.
Basic Functions
578 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
PROG_EVENT program
The PROG_EVENT program (default: _N_PROG_EVENT_SPF) must be loaded and enabled.
Default setting
As default setting, when an event occurs, user program _N_CMA_DIR/
_N_PROG_EVENT_SPF is executed.
The PROG_EVENT program must be loaded and enabled.
User-specific setting
If, for an event, a different PROG_EVENT program than the default setting is to be executed,
the NC program name must be entered into the following machine data:
MD11620 $MN_PROG_EVENT_NAME = <program name>
Search path
The PROG_EVENT program must be located in one of the following cycle directories. The
following search path is passed through when the parameterized 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 name specified in MD11620 $MN_PROG_EVENT_NAME is
executed.
Note
● The specified program name is checked syntactically as in case of a subprogram name,
i.e. the first two characters must be letters or underscores (no digits). 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, 12/2017, 6FC5397-0BP40-6BA1 579
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Bit Value Meaning: In the PROG_EVENT program, the single-block processing for event:
0 0 Part program start: acts
1 Part program start: is suppressed
1 0 Part program end: acts
1 Part program end: is suppressed
2 0 Channel reset: acts
1 Channel reset: is suppressed
3 0 Power-up: acts
1 Power-up: is suppressed
Note
● MD20106 $MC_PROG_EVENT_IGN_SINGLEBLOCK affects all single-block processing
types.
● The single-block processing in the PROG_EVENT program can be disabled with the
following setting:
MD10702 $MN_IGNORE_SINGLEBLOCK_MASK, bit 0 = 1 (prevent single-block stop)
The settings in MD20106 $MC_PROG_EVENT_IGN_SINGLEBLOCK then do not act.
Bit Value Meaning: In the PROG_EVENT program, the read-in disable for event:
0 0 Part program start: acts
If the PROG_EVENT program is terminated with the RET command, no executable
block is created
1 Part program start: is suppressed
If the PROG_EVENT program is terminated with the RET command, an executable
block analog to M17 is created.
1 0 Part program end: acts
1 Part program end: is suppressed
2 0 Channel reset: acts
1 Channel reset: is suppressed
Basic Functions
580 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Bit Value Meaning: In the PROG_EVENT program, the read-in disable for event:
3 0 Power-up: acts
1 Power-up: is suppressed
Bit Value Meaning: While processing the PROG_EVENT program, the refresh of the display
of the program and channel states for event:
1 0 Part program end: Not suppressed
1 Part program end: Suppressed
2 0 Channel reset: Not suppressed
1 Channel reset: Suppressed
3 0 Power-up: Not suppressed
1 Power-up: Suppressed
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 581
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Application example
An edge change of the interface signal DB21, ... DBX7.3 (NC stop) initiated by the operator
by pressing the NC Stop key during a channel reset or power-up is ignored during the execution
of the PROG_EVENT program and so an undesired stop behavior at the machine is prevented.
Note
Programming DELAYFSTON/DELAYFSTOF in the PROG_EVENT program cannot replace the
behavior set with MD20193. NC stop before executing the DELAYFSTON command can still
cause an interruption.
10.9.11.3 Programming
PROG_EVENT program
End of program
The following must be kept in mind, if the user program is to be activated through the part
program start.
● The user program must be ended with M17 or RET.
● A return jump with the REPOS command is not permissible.
Block display
The display can be suppressed in the current block display using the DISPLOF attribute in the
PROC statement.
System variable
Basic Functions
582 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Note
The PROG_EVENT program is processed in the channel in which the initiating event occurred.
Power-up is an event that takes place concurrently in all channels.
Note
The "power-up" event occurs in all channels concurrently.
10.9.11.5 Examples
Parameterization
Programming
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 583
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Parameterization
Programming
Parameterization
Machine data assignment, extract from the commissioning file (_N_INITIAL_INI)
Basic Functions
584 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Meaning
The PROG_EVENT program _N_CMA_DIR/_N_PROG_EVENT_SPF is started for channel
reset in the 3rd channel and processed until program end, irrespective of whether or not the
read-in disable is activated or deactivated.
10.9.12.1 Function
Application
Example: Machining a thread.
Definition
The definition of a stop delay area is made in the part program with the predefined
DELAYFSTON and DELAYFSTOF procedures (see "Programming (Page 588)").
Stop events
Overview of the events that cause a stop:
Event Reaction
DB21, ... DBX7.7 (reset) or DB11 DBX20.7 (mode group reset) Immediate
NC program: M30 Alarm 16954
User interrupt to start an ASUP: Delayed
FC 9 or DB10 DBB1 (setting the digital NC inputs for the PLC)
DB21, ... DBX6.2 / DB31, ... DBX2.2 (clear distance-to-go) channel/axis-spe‐ Immediate
cific
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 585
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Event Reaction
DB21, ... DBX6.3 (clear the number of subprogram repetitions) Delayed
DB21, ... DBX6.4 (program level abort) Delayed
Stop because of single block Delayed
● In the stop delay area:
The NC stops at the end of the 1st block outside the stop delay area.
● Single block is active before the stop delay area:
NC stops at each block limit, i.e. also in the stop delay area:
DB21, ... DBX7.2 (NC stop at the block limit)
This deselects the stop delay area!
DB11 DBX21.7 (activate single-block type A) Delayed
DB11 DBX21.6 (activate single-block type B) Delayed
DB21, ... DBX7.4 (NC stop) and DB11 DBX0.6 (mode group stop, axes plus Immediate
spindles)
DB21, ... DBX7.3 (NC stop at block limit) and DB11 DBX0.5 (mode group Delayed
stop)
NC program: Stop because of empty overstore buffer Alarm 16954
NC program: Programmed or implicit STOPRE Alarm 16954
NC program: M0 or M1 Alarm 16954
DB21, ... DBX7.2 (NC stop at the block limit) Delayed
Subprogram end should always deselect the stop delay area. System error
NC program: WAITM Alarm 16954
NC program: WAITE Alarm 16954
NC program: INIT with parameter "S" Alarm 16954
NC program: MMC (STRING, CHAR) Alarm 16954
DB21, ... DBB26 (activate/deactivate skip block) Delayed
DB21, ... DBB26 (deactivate skip block) Delayed
DB21, ... DBX0.6 (activate DryRun) Delayed
DB21, ... DBX0.6 (deactivate DryRun) Delayed
DB21, ... DBX6.1 (read-in disable) Delayed
Alarm: Alarm configuration STOPATENDBYALARM Immediate
Alarm: Alarm configuration STOPBYALARM Immediate
Internal: Stop after alarm for empty IPO buffer Immediate
Internal: Stop after alarm for empty IPO buffer Immediate
NC program: Alarm 16954 for LFON Alarm 16954
NC program: WAITMC Alarm 16954
NC program: NEWCONF Alarm 16954
NC program: NEWCONF Alarm 16954
OPI: PI "_N_SETUDT" Delayed
Extended stop and retract Delayed
DB31, ... DBX3.0 (accept external work offset) Delayed
OPI: PI "_N_FINDST" STOPRUN Alarm 16955
Alarms with NOREADY response Immediate
Basic Functions
586 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Event Reaction
DB21, ... DBX7.2 == 1 (NC stop at block limit) Delayed
DB21, ... DBX7.3 == 1 (NC stop)
DB21, ... DBX7.4 == 1 (NC stop, axes plus spindles)
DB21, ... DBX6.1 == 1 (read-in disable) Delayed
DB21, ... DBX2.0 == 1 (single block) Delayed
Reaction
● Immediate
Stops immediately, even in the stop delay area. Designated 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 occurred 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.
Note
Some NC events are stopped for only a short time, in order to perform a switching operation,
and restart immediately. This includes, e.g. an interrupt that stops the NC program briefly in
order to start the associated ASUP. 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".
Note
If a "hard" stop event coincides with the "stop delay area", the entire "stop delay area" is
deselected! Thus, if any other stop occurs in this program section, it will be stopped
immediately. A new program setting (new DELAYFSTON) must be made in order to start a
new stop delay area.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 587
K1: Mode group, channel, program operation, reset response
10.9 Program operation
10.9.12.2 Parameterization
Machine data
10.9.12.3 Programming
Note
DELAYFSTON and DELAYFSTOF are not permitted in synchronized actions!
Syntax
DELAYFSTON
...
DELAYFSTOF
Meaning
Basic Functions
588 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Programming example
The following program block is repeated in a loop:
Program code
...
N99 MY_LOOP:
N100 G0 Z200
N200 G0 X0 Z200
N300 DELAYFSTON
N400 G33 Z5 K2 M3 S1000
N500 G33 Z0 X5 K3
N600 G0 X100
N700 DELAYFSTOF
N800 GOTOB MY_LOOP
...
In the following diagram it can be seen that the user pressed "Stop" in the stop delay range,
and the NC started braking outside the stop delay range, i.e. in block N100. That causes the
NC to stop at the beginning of N100.
1&VWRSSW 1*=
1*; 1*;=
1*=;.
1*=.
;
6WRSEXWWRQ
6WRSEXWWRQGXULQJD*
= PDFKLQLQJ
Additional information
End of subprogram
DELAYFSTOF is activated implicitly at the end of the subprogram in which DELAYFSTON is
called.
Nesting
If subprogram 1 calls subprogram 2 in a stop delay area, the whole of subprogram 2 is a stop
delay area. In particular, DELAYFSTOF in subprogram 2 has no effect.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 589
K1: Mode group, channel, program operation, reset response
10.9 Program operation
Example:
System variables
The following system variables can be queried to determine whether part program processing
is currently in a stop delay area:
● in the part program with $P_DELAYFST
● in synchronized actions with $AC_DELAYFST
Value Meaning
0 Delay stop range not active
1 Delay stop area active
Overlap
If two stop delay areas overlap, one from DELAYFSTON/DELAYFSTOF and the other from
MD11550 $MN_STOP_MODE_MASK, the largest possible stop delay area will be generated.
Override
If the override is changed before a stop delay area, the override takes effect in the stop delay
area.
Basic Functions
590 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.10 Asynchronous subprograms (ASUPs)
If the override is changed in the stop delay area, the change takes effect after the stop delay
area.
Note
Override = 0
If the override is reduced to 0 before a stop delay area, the stop delay area cannot be activated.
Feed disable
DB21, ... DBX6.0 The feed disable has no effect in the stop delay area; the program does not
stop until after the stop delay area.
Single block
If the single block is activated in the stop delay area, the NC stops at the end of the first block
outside the stop delay area.
If the single block is already selected before the stop delay area, the NC stops at each block
limit, i.e. also in the stop delay area! This deselects the stop delay area.
10.10.1 Function
Note
The terms "asynchronous subprogram", "ASUP" and "interrupt routine" used interchangeably
in the description below refer to the same functionality.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 591
K1: Mode group, channel, program operation, reset response
10.10 Asynchronous subprograms (ASUPs)
General
Asynchronous subprograms (ASUPs) are NC programs that are started in an NC channel as
response to asynchronous events (interrupt input signals, process and machine states). The
activation of an ASUP interrupts an NC program currently executing. The NC program can be
continued at the interrupt position when the ASUP ends.
0DLQSURJUDPVXESURJUDP ,QWHUUXSWURXWLQH
16(7,17 $VVLJQDURXWLQHWRDQHYHQW
DQGVZLWFKWRUHDG\
1
1 0
1
1
1 5HWXUQSRVVLEOH
10
The NC program being executed in the channel can be protected from being interrupted by
an ASUP either completely or only in sections. See Section "Programming (SETINT, PRIO)
(Page 601)" "Flexible programming".
Definition
To make an ASUP (interrupt routine) from an NC program, the NC program must be assigned
an interrupt signal via the SETINT command (see Section "Programming (SETINT, PRIO)
(Page 601)") or via the "ASUP" PI service (see Section "PI service: ASUP (Page 996)").
Interrupt signals
● A total of eight I/O inputs are available as interrupt signals.
● The I/O input signals can be influenced via the PLC user program.
● The first four I/O inputs are the four fast inputs of the NCU module. The signal states can
be read via the NC/PLC interface in the DB10 data block. The input signals can also be
locked via the NC/PLC interface in the DB10 data block.
For further information about PLC control of the fast NC inputs (interrupt signals) see Section
"P3: Basic PLC program for SINUMERIK 840D sl (Page 873)".
Basic Functions
592 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.10 Asynchronous subprograms (ASUPs)
References:
Function Manual, Extended Functions; A4: Digital and analog NC I/O
Call
Activation
An ASUP is activated 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 ASUP" (see Section "P3: Basic PLC program for SINUMERIK
840D sl (Page 873)")
● Setting an output via synchronized action which is parameterized on an interrupt via short-
circuit (see "Examples (Page 604)")
References:
Function Manual, Synchronized Actions
Display
The activation of an ASUP is shown channel-specifically with the following NC/PLC interface
signal:
DB21, … DBX378.0 == 1 (ASUP active)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 593
K1: Mode group, channel, program operation, reset response
10.10 Asynchronous subprograms (ASUPs)
352*B1$0( ,17(5B1$0(
1 1
1< $68%WUDYHOSDWK (QGSRLQWRIWKH 1
1; $68% 1
1 1 15(326/0
10 &RQWLQXH*
1
ZLWKRXW5(326
1
6 WK
1
L
5( LRQZ
1
1
32
LW
SRV
&RQWLQXH*
5H
ZLWKRXW5(326
1
1
&RQWLQXHDIWHU
5(326 1
,QWHUUXSWLRQSRLQW
1
Basic Functions
594 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.10 Asynchronous subprograms (ASUPs)
Note
For ASUPs without REPOS, the FC9 acknowledge signal "ASUP done" and the reset of
the NC/PLC interface signal DB21, ... DBX318.0 = 0 (ASUP is stopped) coincide from a
timing perspective.
3DWKPRWLRQRIDQ &RQWUROLVVWRSSHG
$68%ZLWK5(326$ $68%ZLWK5(326$ DXWRPDWLFDOO\
(YHQWWKDWSXWVWKHFRQWURO
LQWRWKHVWRSSHGVWDWXV ,6$68%VWRSSHGLV
RFFXUV VHW
([DPSOH6WRSNH\
)&EORFNVLJQDOV$68%'RQH
&RQWUROKDVVWRSSHGDIWHU
ZKLFKWKH$683LVVWDUWHG
E\WKH)& 3DWKRIWKHSDUWSURJUDP
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 595
K1: Mode group, channel, program operation, reset response
10.10 Asynchronous subprograms (ASUPs)
10.10.1.3 NC response
The different responses in the various states for channel, mode group or NC on an activated
ASUP are listed in the following table:
Basic Functions
596 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.10 Asynchronous subprograms (ASUPs)
10.10.2.1 NC-spec.: Mode-group-specific NC/PLC interface signals and operating mode switchover
The machine data specifies the effectiveness of the mode-group-specific NC/PLC interface
signals of DB11 and the channels in which an operating mode switchover is performed:
MD11600 $MN_BAG_MASK = <Value>
Val‐ Meaning
ue
0 The mode-group-specific NC/PLC interface signals of DB11 are effective.
An internal operating mode switchover is performed in all channels of the mode group.
1 The mode-group-specific NC/PLC interface signals of DB11 are not effective.
An internal operating mode switchover is performed only in the channel in which an ASUP is
active.
2 The mode-group-specific NC/PLC interface signals of DB11 are effective.
An internal operating mode switchover is performed only in the channel in which an ASUP is
active.
3 The mode-group-specific NC/PLC interface signals of DB11 are not effective.
An internal operating mode switchover is performed only in the channel in which an ASUP is
active.
Note
Multi-channel systems
If the "Manual traversing during an ASUP interruption in JOG mode" function is to be possible
in multi-channel systems (see below), MD11600 $MN_BAG_MASK must be set to "2" or "3".
See also
Programming (SETINT, PRIO) (Page 601)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 597
K1: Mode group, channel, program operation, reset response
10.10 Asynchronous subprograms (ASUPs)
Note
The ASUP for "fast retraction from the contour" (LIFTFAST) is started in every case.
Basic Functions
598 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.10 Asynchronous subprograms (ASUPs)
Example
MD11604 $MN_ASUP_START_PRIO_LEVEL = 5
The settings in MD11602 $MN_ASUP_START_MASK are effective for ASUPs of priorities 1
→ 5.
NOTICE
System interrupts
With MD20115 $MC_IGNORE_REFP_LOCK_ASUP, bits 8 - 31, the ASUPs assigned to the
system interrupts are enabled.
Bit 8 / interrupt 9 starts an ASUP that contains traversing motions.
NC-specific ASUP start enable
If MD11602 $MN_ASUP_START_MASK, bit 2 == TRUE, the ASUP start enable is set for all
channels of the NC despite the parameterized channel-specific "NC start disable without
reference point" function (MD20700 $MC_REFP_NC_START_LOCK). It is therefore strongly
recommended that the channel-specific enable is used instead of the NC-specific enable.
NOTICE
System interrupts
With MD20116 $MC_IGNORE_INHIBIT_ASUP, bits 8 - 31, the ASUPs assigned to the
system interrupts are enabled.
Bit 8 / interrupt 9 starts an ASUP that contains traversing motions.
NC-specific ASUP start enable
If MD11602 $MN_ASUP_START_MASK, bit 2 == TRUE, the channel-specific settings in
MD20116 $MC_IGNORE_INHIBIT_ASUP are ignored in all channels of the NC. It is therefore
strongly recommended that the channel-specific enable is used instead of the NC-specific
enable.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 599
K1: Mode group, channel, program operation, reset response
10.10 Asynchronous subprograms (ASUPs)
Supplementary conditions
The settings in MD20117 $MC_IGNORE_SINGLEBLOCK_ASUP are only active for a single
block SBL1 (main run single block).
NOTICE
System interrupts
With MD20117 $MC_IGNORE_SINGLEBLOCK_ASUP, bits 8 - 31, the ASUPs assigned to
the system interrupts are enabled.
Bit 8 / interrupt 9 starts an ASUP that contains traversing motions.
NC-specific ASUP start enable
If MD10702 $MN_IGNORE_SINGLEBLOCK_MASK, bit 1 == TRUE, the channel-specific
settings in MD20117 $MC_IGNORE_SINGLEBLOCK_ASUP are ignored in all channels of
the NC. It is therefore strongly recommended that the channel-specific enable is used instead
of the NC-specific enable.
Note
NC/PLC interface signal
The following NC/PLC interface signal is set when executing an ASUP with suppressed display:
DB21, … DBX378.1 = 1 ("silent" ASUP active)
Basic Functions
600 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.10 Asynchronous subprograms (ASUPs)
Value Meaning
0 Repositioning with REPOS not possible because:
● Not called in the ASUP
● ASUP ran from reset state
● ASUP ran from JOG
1 Repositioning with REPOS possible in ASUP
Syntax
SETINT(<n>) <NC program>
Meaning
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 601
K1: Mode group, channel, program operation, reset response
10.10 Asynchronous subprograms (ASUPs)
Example
Priorities
If several interrupts are activated by SETINT in an NC program, the assigned NC programs
or ASUPs must be assigned different priorities.
Syntax
PRIO=<value>
Meaning
Example
The ASUPs are executed in the sequence of the priority values if the inputs 2 and 3 have
switched simultaneously:
1. "LIFT_Z"
2. "LIFT_Z"
Basic Functions
602 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.10 Asynchronous subprograms (ASUPs)
Command Meaning
SAVE If the SAVE command is used in an ASUP, the G commands, frames and
transformations active in the interrupted NC program before the interrup‐
tion take effect again at the end of the ASUP.
DISABLE The DISABLE ENABLE command pair can be set to protect program sec‐
ENABLE tions from being interrupted by ASUPs.
The assignment of an interrupt signal to an NC program made with
SETINT is retained.
The ASUP is then started with the next 0/1 edge of the interrupt signal after
ENABLE.
CLRINT(<n>) Delete the assignment of interrupt signals n to the NC program assigned
with SETI.
References
Programming Manual, Job Planning; Section: "Flexible NC Programming" > "Interrupt routine
(ASUP)"
See also
Programming (Page 606)
10.10.5 Restrictions
Settings to be checked
● MD11600 $MN_BAG_MASK
● MD11604 $MN_ASUP_START_PRIO_LEVEL
● Interrupt assignment priority
Recommended settings
NC-specific machine data:
● MD11600 $MN_BAG_MASK = 'H3'
Note
Note with this setting, that the mode-group-specific NC/PLC interface signals of DB11 no
longer affect the channel in which the ASUP is executed. If this behavior is not desired,
alternatively the setting MD11600 $MN_BAG_MASK = 'H2' can be used (see
"Commissioning: Machine data (Page 597)").
MD11602 $MN_ASUP_START_MASK = 'H5'
● MD11604 $MN_ASUP_START_PRIO_LEVEL = 7
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 603
K1: Mode group, channel, program operation, reset response
10.10 Asynchronous subprograms (ASUPs)
Channel-specific machine data for the channel in which the ASUP 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
With MD20115 $MC_IGNORE_REFP_LOCK_ASUP, bits 8 - 31, the system interrupts are
enabled.
Bit 8 / interrupt 9 starts an ASUP that contains traversing motions.
10.10.6 Examples
Basic Functions
604 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.11 User-specific ASUB for RET and REPOS
10.11.1 Function
Function
The control software includes a Siemens-specific ASUP to implement the NC program end
(RET) and repositioning on the contour (REPOS) functions. The machine tool manufacturer
can replace the system ASUP with a user-specific ASUP.
DANGER
Programming fault
The machine manufacturer has sole responsibility for ensuring the correct operation of the
user-specific ASUP that replaces the Siemens-specific ASUP ("ASUP.SYF").
Installation
ASUP name
The user-specific ASUP must be given the following name:
● _N_ASUP_SPF
ASUP directories
The user-specific ASUP "_N_ASUP_SPF" must be stored in one of the two directories:
● _N_CMA_DIR (manufacturer directory)
● _N_CUS_DIR (user directory)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 605
K1: Mode group, channel, program operation, reset response
10.11 User-specific ASUB for RET and REPOS
10.11.3 Programming
Basic Functions
606 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.12 Perform ASUB start for user alarms
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
10.12.1 Function
Description
An ASUP can be initiated in various situations, either by the user, the system or event-
controlled. A user alarm with the "NC Start disable" alarm response prevents the ASUP start
in some situations. For a pending alarm response, a user ASUP from reset acknowledges with
the alarm 16906.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 607
K1: Mode group, channel, program operation, reset response
10.12 Perform ASUB start for user alarms
With the appropriate setting of a channel-specific machine data it is possible to start and
perform an ASUP although a user alarm with the alarm response "NC Start disable" is active.
The alarm response is overridden for the ASUP start and permits its execution.
Note
NC alarms with the "NC Start disable" alarm response are not affected by the override. A user
ASUP from reset is still not possible and will be rejected with the alarm 16906.
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 section:
● 66000 - 66999
● 68000 - 68999
● 69000 - 69999
10.12.2 Activation
Setting
Each ASUP channel can be set separately with the following channel-specific machine data:
MD20194 $MC_IGNORE_NONCSTART_ASUP (ASUP 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.
Basic Functions
608 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.12 Perform ASUB start for user alarms
Sequence
The normal sequence for the ASUP 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 ASUP from reset is now performed.
Note
An ASUP 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 NC alarm with the
"NC Start disable" alarm response is involved.
Note
If the part program is stopped during the processing of the user ASUP, the ASUP can no longer
be continued with the NC Start key, e.g. for M0 in the ASUP 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.
10.12.3 Examples
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 609
K1: Mode group, channel, program operation, reset response
10.12 Perform ASUB start for user alarms
Program code
N120 X20
N130 REPOSA
Sequence
1
$ODUP
1 5(326$
1
8VHU$68%IURPUHVHW 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.
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
Basic Functions
610 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.12 Perform ASUB start for user alarms
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
1 SURJUDP 1
1 5(326$
8VHU$68%IURPUHVHW 0
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 611
K1: Mode group, channel, program operation, reset response
10.12 Perform ASUB start for user alarms
User ASUB
Program code
N110 G91 G0 X-10 Z5
N120 X10
N122 M0
N124 X10
N130 REPOSA
Sequence
1
8VHU$68%IURPDFWLYH
1 SURJUDP
Main program
Program code
N4 $MC_IGNORE_NONCSTART_ASUP=1
N6 NEWCONF
N10 G90 G0 Z10
N20 SETAL(65500)
N30 X100
N40 Z0
Basic Functions
612 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.12 Perform ASUB start for user alarms
Program code
N50 M30
User ASUB
Program code
N110 G91 G0 X-10 Z5
N120 X20
N130 REPOSA
Sequence
1&VWRS
1 $ODUP
$ODUP
1&VWDUWDIWHUVWDQGVWLOO
1
1
8VHU$68%IURPDFWLYH
1 SURJUDP
Main program
Program code
N10 G90 G0 Z10
N20 SETAL(65500)
N30 X50
N35 M0
N38 X100
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 613
K1: Mode group, channel, program operation, reset response
10.13 Single block
Program code
N40 Z0
N50 M30
User ASUB
Program code
N110 G91 G0 X-10 Z5
N120 X20
N130 REPOSA
Sequence
1 $ODUP
$ODUP
1&VWDUWDIWHUVWDQGVWLOO
1
1 0
8VHU$68%IURPVWRSSHG
1
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.
Basic Functions
614 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.13 Single block
● "SBL3: single block fine" (stop after each decoded block, also in a cycle)
As with SBL2, however, the NC program is stopped and machining is stopped after each
block, also within a cycle.
10.13.1 Parameterization
Interface signals
Activation
The "single block" function is activated on a channel-specific basis using the NC/PLC interface
signal:
DB21, ... DBX0.4 (activate single block)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 615
K1: Mode group, channel, program operation, reset response
10.13 Single block
Machine data
● The behavior of event-driven program calls (program events) regarding a single block, is
set using:
MD20106 $MC_PROG_EVENT_IGN_SINGLEBLOCK
● The behavior of interrupt programs (ASUB) regarding a single block, is set using:
MD20117 $MC_IGNORE_SINGLEBLOCK_ASUP
If an ASUP is activated during the single block, execution of the ASUP is completed. The
single block does not act until after the ASUP or in the first main program block in which
single-block suppression is not activated. If for a transition from ASUB to the NC program
the path velocity is too large so that braking to standstill in the following block is not possible,
e.g. for active continuous-path mode G64, the deceleration may extend over several
following blocks.
Note
By programming (Page 617) SBLON within an ASUB, in this case single block machining
cannot be reactivated.
Setting data
Note
Contour deviation
When executing traversing blocks, single block type "SBL2: calculation block" in the debug
mode contour deviations can occur.
Basic Functions
616 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.13 Single block
10.13.2 Programming
Syntax
SBLOF
SBLON
Meaning
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 617
K1: Mode group, channel, program operation, reset response
10.13 Single block
10.13.2.3 Examples
The range between N20 and N60 is handled just like a block when the single block mode is
activated.
Main program
Program code
...
N100 G1 X10 G90 F200
N120 X-4 Y6
N130 CYCLE1
Basic Functions
618 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.13 Single block
Program code
N140 G1 X0
N150 M30
Subprogram
Even when single block machining is active, the cycle is completely executed.
Program code
N100 PROC NV SBLOF DISPLOF ; single block and display suppression
N110 CASE $P_UIFRNUM OF
0 GOTOF _G500
1 GOTOF _G54
2 GOTOF _G55
3 GOTOF _G56
4 GOTOF _G57
DEFAULT GOTOF END
N120 _G54: G54 D=$P_TOOL T=$P_TOOLNO
N130 RET
N140 _G54: G55 D=$P_TOOL T=$P_TOOLNO
N150 RET
N160 _G56: G56 D=$P_TOOL T=$P_TOOLNO
N170 RET
N180 _G57: G57 D=$P_TOOL T=$P_TOOLNO
N190 RET
N200 END: D=$P_TOOL T=$P_TOOLNO
N210 RET
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 619
K1: Mode group, channel, program operation, reset response
10.13 Single block
Main program
Subprogram
Basic Functions
620 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.13 Single block
Interface signals
Control channel
● DB21, ... DBX0.4 (activate single block)
Mode group
● DB11 DBX1.6 (single block, type B)
● DB11 DBX1.7 (single block, type A)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 621
K1: Mode group, channel, program operation, reset response
10.14 Program control
3. PLC user program: All channels of the mode group start, DB21 ... DBX0.4 = 1
4. The control channel stops at the end of the block.
5. All dependent channels receive an internal signal to immediately stop machining.
6. All mode group channels are in the "Interrupted" state once all of the dependent channels
have reached the particular end of the braking phase.
10.13.4.2 Programmed stop (M0), single block and single block type switchover
Initial situation: In a channel, an NC program is stopped by an M0 programmed in it, and in
the channel a single block is active (DB21, ... DBX0.4 == 1)
If, in this situation the single block type is toggled between SBL1 or SBL3 and SBL2 at the
user interface several times, then alarm 16922 "Maximum nesting depth exceeded" is
displayed.
Options
1. Function selection (via operator interface or PLC)
2. Activation of skip levels
Basic Functions
622 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.14 Program control
10.14.1 Function selection from the user interface or PLC user program
Sequence
Selection of a function is made via the SINUMERIK Operate user interface in the "Automatic"
> "Program control" operating area by setting the corresponding selection signal in the HMI/
PLC interface.
Depending on the value of FB1 parameter MMCToIf, the selection signal of the HMI/PLC
interface signal is transmitted from the basic PLC program to the corresponding activation
signal of the NC/PLC interface:
● "TRUE": Transmission
● "FALSE": No transmission
By default, the value of the parameter MMCToIf == "TRUE".
User-specific activation
A function may also be activated user-specifically with the PLC user program directly by setting
the corresponding activation signal in the NC/PLC interface.
The FB1 parameter MMCToIf must thus be set to "FALSE", otherwise the NC/PLC interface
would be overwritten with the values of the HMI/PLC interface.
Feedback
An acknowledgment is returned for some functions upon activation (refer to the following table).
Function Selection (HMI → PLC) Activation (PLC → NC) Feedback (NC → PLC)
"Skip block" (SKP) /0 - /7 DB21, ... DBX26.0 - 7 DB21, ... DBX2.0 - 7 ---
"Skip block" (SKP) /8 - /9 DB21, ... DBX27.0 - 1 DB21, ... DBX31.6 - 7
Dry run feed rate (DRY) DB21, ... DBX24.6 DB21, ... DBX0.6 DB21, ... DBX318.6
"Rapid traverse override" (RG0) DB21, ... DBX25.3 DB21, ... DBX6.6 ---
Single block (SBLx) Preselection of SBL1, SBL2 or SBL3 via program control display of HMI
SBL1 "Single block main run" Machine control panel DB21, ... DBX0.4 ---
SBL2 "Decoding single block" (MCP):
SBL3 "In cycle" EB n + 5, bit 2
Programmed stop (M01) DB21, ... DBX24.5 DB21, ... DBX0.5 DB21, ... DBX32.5
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 623
K1: Mode group, channel, program operation, reset response
10.14 Program control
Function Selection (HMI → PLC) Activation (PLC → NC) Feedback (NC → PLC)
Associated help function (M-1) DB21, ... DBX24.4 DB21, ... DBX30.5 DB21, ... DBX318.5
Handwheel offset (DRF) DB21, ... DBX24.3 DB21, ... DBX0.3 DB21, ... DBX33.3
Program test (PRT) DB21, ... DBX25.7 DB21, ... DBX1.7 DB21, ... DBX33.7
References
● NC Variables and Interface Signals List Manual
● Operating Manual, HMI Advanced "Machine operating area"
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.
Parameterization
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.
Basic Functions
624 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.14 Program control
Activation
The 10 skip levels "/0" to "/9" are activated by the PLC by setting the PLC → NC 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.
References:
Operating Manual
Note
The levels to be skipped can only be changed when the control is in the STOP/RESET state.
MD28060
The channel-specific 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 No interpolation buffer limit active.
The max. possible IPO buffer as set in MD 28060: MM_IPO_BUFFER_SIZE is
activated.
or 1 The minimum permissible IPO buffer with two blocks is activated.
< MM_IPO_BUFFER_SIZE The IPO buffer is activated with no more than the maximum specified number
of blocks.
>= MM_IPO_BUFFER_SIZE The IPO buffer is activated with the number of blocks specified in MD 28060:
MM_IPO_BUFFER_SIZE.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 625
K1: Mode group, channel, program operation, reset response
10.14 Program control
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 retained at the end of the program.
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 ; Limitation of the IPO buffer to
five NC blocks
N110 ...
N120 ...
............
N200 $SC_MAX_BLOCKS_IN_IPOBUFFER = -1 ; Cancellation of the IPO buffer
limitation
N210 ...
............
Basic Functions
626 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.14 Program control
Processed values
Values processed in the basic block display coincide with the:
● Selected tools
● Feedrate and spindle speed
● Actually approached position values
Exceptions:
With active tool radius compensation, deviations can occur.
For modulo axes, the programmed value is displayed in the basic block display. This value
can also lie outside the modulo range.
Note
Generally the positions are represented in the WCS or the SZS.
The basic block display can be activated or deactivated with setting data
SD42750 $SC_ABSBLOCK_ENABLE.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 627
K1: Mode group, channel, program operation, reset response
10.14 Program control
Activation
The basic block display is activated by MD 28400 $MC_MM_ABSBLOCK (activate block
display with absolute values) by means of Power On. If MD28400 $MC_MM_ABSBLOCK is
set to 1, a channel-specific display buffer (FIFO) is created during power-up.
Size of display buffer (FIFO) = (MD28060 $MC_MM_IPO_BUFFER_SIZE (number of NC
blocks in the IPO buffer) + MD28070 $MC_MM_NUM_BLOCKS_IN_PREP (number of blocks
for the block preparation)) multiplied by 128 bytes. For the standard machine data setting, this
represents a size of 6 KB.
Optimize the size of display buffer:
The memory requirement can be optimized by entering a value between 128 and 512. The
display blocks prepared in the display buffer are transferred to the HMI via a configurable
upload buffer.
The maximum size of the upload buffer is obtained by multiplying (MD28402
$MC_MM_ABSBLOCK_BUFFER_CONF[0] +
MD28402 $MC_MM_ABSBLOCK_BUFFER_CONF[1] + 1) by the block length configured in
MD28400 $MC_MM_ABSBLOCK.
The number of blocks before the current block is configured in
MD28402 $MC_MM_ABSBLOCK_BUFFER_CONF[0] and the number of blocks after the
current block is configured in MD28402 $MC_MM_ABSBLOCK_BUFFER_CONF[1].
Supplementary conditions
If the length of a display block configured in MD28400 $MC_MM_ABSBLOCK is exceeded,
this display block is truncated accordingly. To represent this, the "..." string is appended to the
block end.
For preprocessed cycles
(MD10700 $MN_PREPROCESSING_LEVEL > 1 (program preprocessing level)), the display
block contains only axis positions.
Additional supplementary conditions for the basic block display:
● Modal synchronized action blocks with absolute values are
not taken into account.
● The basic block display is deactivated during block search with or without calculation.
● Polar coordinate programming is not shown in Cartesian system.
Basic Functions
628 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.14 Program control
Radius/diameter values
Diameter values shown in the basic block display and position display may be needed as a
radius for internal calculation. These values for measurements in radius/diameter according
to G group 29 can be manipulated using the following options:
● G command DIAMCYCOF (extension of channel-specific diameter programming)
This G command deactivates the channel-specific diameter programming during the cycle
execution. In this way, calculations in the cycle can always be made in the radius. The
position display and the basic block display are continued according to the state of the
diameter programming before DIAMCYCOF.
In the basic block display, the last displayed value is retained.
● G command DIACYCOFA[AX] (axis-specific diameter programming)
This G command deactivates the axis-specific diameter programming during the cycle
execution. In this way, calculations in the cycle can always be made in the radius. In the
position display and in the basic block display, this continues according to the state of the
diameter programming before DIACYCOFA[AX] indicator.
In the basic block display, the last displayed value is retained.
● MD27100 $MC_ABSBLOCK_FUNCTION_MASK (parameterize the block display with
absolute values)
Bit0 = 1 Setpoints of the transverse axis are always displayed as diameter values
in the basic block display.
Example:
G0 X10 Y10 Z10 ; block still prepared for the basic block display
COMPCAD ; compressor for optimized surface quality (CAD program)
... ; String as sign that the display blocks are missing
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 629
K1: Mode group, channel, program operation, reset response
10.14 Program control
● Programmed axis positions are represented as absolute positions in the coordinate system
(WCS / SZS) 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 modulo-converted.
Basic Functions
630 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.14 Program control
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 631
K1: Mode group, channel, program operation, reset response
10.14 Program control
The following applies for H functions: Each programmed value is display irrespective of the
output type to the PLC.
(MD22110 $MC_AUXFU_H_TYPE_INT (type of H auxiliary function is integer)).
● For Tool selection by tool command
Display information is generated in the form T<value> or T=<string>. If an address
extension has been programmed, this is displayed as well.
If several spindles have been configured or the "Tool change via master toolholder" function
(MD20124 $MC_TOOL_MANAGEMENT_TOOLHOLDER (toolholder number)) is active,
the T number is always output with address extension.
If no address extension has been programmed, the number of the master spindle or the
master toolholder is used instead (T<spindle_number/tool_holder>= ).
● For the Spindle programming via S, M3, M4, M5, M19, M40 - M45 and M70 (or MD 20094
$MC_SPIND_RIGID_TAPPING_M_NR (M function for switching over in the controlled axis
operation)) the following regulation applies regarding the address extension:
If an address extension has been programmed, then this is also resolved.
If several spindles have been configured, then the address extension is also output.
If no address extension has been programmed, the number of the master spindle is used
(S<spindle_number>=).
● Indirect G command programming in form G[ <group> ] = <expression> is substituted by
the corresponding G command.
● Modal G commands 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 commands is placed in front of the next executable block.
● 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)).
● 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
632 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.14 Program control
● With the EXECTAB command (processing a table of contour elements), the block
generated by EXECTAB is shown in the 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
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 633
K1: Mode group, channel, program operation, reset response
10.14 Program control
NOTICE
Tool/workpiece damage caused by the USB FlashDrive
It is recommended that a USB-FlashDrive is not used for the execution of an external
subprogram. A communication interruption to the USB FlashDrive during the execution of
the subprogram due to contact problems, failure, abort through trigger or unintentional
unplugging, results in an immediate machining stop. The tool and/or workpiece could be
damaged.
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 635)").
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.
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
634 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.14 Program control
Note
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.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 635
K1: Mode group, channel, program operation, reset response
10.14 Program control
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.
Parameter:
Basic Functions
636 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.14 Program control
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.
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 637
K1: Mode group, channel, program operation, reset response
10.15 Execution from external storage (EES) (option)
Program code
N020 G1 F1000
N030 X= ... Y= ... Z= ...
N040 ...
...
...
N999999 M17
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")
10.15.1 Function
Note
To use the function, the "Expanded CNC user storage" or "Execute from external storage
(EES)" licensed option is required!
Function
Using the EES (Execution from External Storage) function, users have the option of having
the NCK execute programs directly from an external program storage.
Basic Functions
638 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.15 Execution from external storage (EES) (option)
NOTICE
Tool/workpiece damage caused by the USB FlashDrive
A USB FlashDrive cannot be recommended when executing an external program. A
communication abort to the USB FlashDrive during the execution of the program due to
contact problems, failure, abort through trigger or unintentional unplugging, results in an
uncontrolled stop of the machining. The tool and/or workpiece could be damaged.
Requirements
The following prerequisites apply when using EES:
● The "Expanded CNC user storage" or "Execute from external storage (EES)" licensed
option must be set.
● The drives, which are used at the control as external memory, must be configured as a
logical drives (see "Commissioning (Page 641)").
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 639
K1: Mode group, channel, program operation, reset response
10.15 Execution from external storage (EES) (option)
Operating mode
Depending on the option available and the drive configuration, various EES operating modes
are possible. The active operating mode of a control is displayed using machine data MD18045
$MN_EES_MODE_INFO.
Basic Functions
640 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.15 Execution from external storage (EES) (option)
Properties
The EES function can replace the "Execution from external (Page 633)" and "Executing
external subprograms (EXTCALL) (Page 635)" functions.
The EES function has the following advantages:
● Standard program handling throughout the system
● No restrictions regarding the commands that can be used
The restrictions on "execution from external source" and "execution of external
subprograms (EXTCALL)", e.g. no backward jumps, limitation of the jump distance of jump
commands by the size of the reload memory, are eliminated with EES.
● Programs can be moved between different program storages (NC, GDIR, external drive)
significantly easier.
● There are practically no restrictions regarding the part program size and the number of
programs (this is only limited by the capacity of the external data memory).
● Uniform syntax for the subprogram call, independent of the storage location of the
subprogram (an EXTCALL call is not required).
● Network drives can be used jointly by more than one station (PCU/NCU). Prerequisite is a
uniform drive configuration for these stations. This results in a uniform view of the programs
for all stations.
● Because of the uniform view of the external program storage for all stations, changes to
the programs stored there consistently apply to all stations.
10.15.2 Commissioning
Note
All the previous drives may no longer be available in the newly created drive configuration.
Access to the programs on these drive is then no longer possible.
Remedy: First copy the programs stored on these drives to a drive that can still be accessed.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 641
K1: Mode group, channel, program operation, reset response
10.15 Execution from external storage (EES) (option)
Note
Because protected cycles (_CPF files) are only executed from the NC part program memory
for system reasons, they cannot be stored for execution on an external program memory.
The previous NC part program memory with the MPF.DIR, SPF.DIR and WKS.DIR directories
is not absolutely necessary when using EES. A system can also be configured without using
the NC part program memory.
NOTICE
Executing programs that are not visible
Even if the NC part program memory was removed from the drive configuration, it is always
still available in the system itself. This especially means that when executing the program it
is possible that programs that still exist there are inadvertently executed from the SPF.DIR.
Remedy: If the system is configured without NC part program memory in the drive
configuration, any programs still stored there should be deleted manually.
If the NC part program memory is still to be used, then it should not be completely removed
from the system, only assigned an appropriate protection level when required.
Drives can be shared by more than one station (PCU/NCU). A standard drive configuration for
these stations means that there is a standard program view that is independent of the particular
station.
Note
The CF card of an NCU/PPU cannot be used by several stations.
Example:
Several NCUs jointly use a program memory on the local hard disk of the PCU
(LOCAL_DRIVE).
3&8
/ 2 &$ / B ' 5 , 9 (
Basic Functions
642 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.15 Execution from external storage (EES) (option)
Note
If external program memories are used together at different stations in the EES mode, then
the following rules must be observed.
● A program cannot be simultaneously edited from several stations.
● Programs, which are being executed, can no longer be changed.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 643
K1: Mode group, channel, program operation, reset response
10.15 Execution from external storage (EES) (option)
Selecting the main program in the NC part program memory (MPF.DIR or xxx.WPD in
WKS.DIR)
Search sequence for the subprograms:
1. Actual directory in the NC part program memory
2. SPF.DIR in the NC part program memory
3. The drive referenced using CALLPATH
4. Cycles
Selecting the main program on an external archive/data storage medium released for EES
Search sequence for the subprograms:
1. Actual directory on an external archive/data storage medium
2. SPF.DIR in the NC part program memory
3. SPF.DIR in GDIR
4. The drive referenced using CALLPATH
5. Cycles
Note
To define the search sequence, also see MD11625 $MN_FILE_ONLY_WITH_EXTENSION
and MD11626 $MN_CYCLES_ONLY_IN_CYCDIR!
Note
An external drive can also be referenced using the CALLPATH statement.
10.15.2.3 Settings for file handling in the part program for EES
Basic Functions
644 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.15 Execution from external storage (EES) (option)
Parameterization
The EES-specific name of the NC is set in the NC-specific machine data:
MD10125 $MN_EES_NC_NAME = <NC name>
Note
Name of the NC unique throughout the system
To avoid access conflicts, the EES-specific name of the NC must be unique throughout the
system. The responsibility for this resides exclusively with the user/machine manufacturer.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 645
K1: Mode group, channel, program operation, reset response
10.15 Execution from external storage (EES) (option)
MD11626 $MN_CYCLES_ONLY_IN_CYCDIR = 1
Note
MD11626 has no effect on subprograms whose interface was created using an EXTERNAL
declaration. A search is made in all program directories.
NOTICE
No search success for cycles outside the cycle directories
Cycles in the current directory and global subprogram directory are no longer found with the
setting MD11626 = 1!
Remedy: Always store cycles in the cycle directories.
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
Basic Functions
646 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.16 Process Datashare - output to an external device/file
Teach in
In the EES mode, it is not possible to use the "Teach In" function in the AUTOMATIC operating
mode.
10.16.1 Function
With the "Process DataShare" function, it is possible to write data from a part program to an
external device or to an external file; for instance, to log production data or to control additional
equipment at a control system.
Availability
The function is available:
● Only in the real NC (not in the SNC and VNC simulation software).
● Only in part programs (not in synchronized actions).
● Parallel in all machining channels of the NC for all available (configured) output devices.
External devices/files
External devices/files can be:
● Files on the local CF card
Local CF card is the memory referred to from the HMI using the symbolic identifier
LOCAL_DRIVE. For SINUMERIK 840D sl this is the local drive, for SINUMERIK 828D, the
user CF card.
Note
For SINUMERIK 840D sl, the option "Additional xxx MB HMI user memory on CF card of
the NCU" is required for output to the LOCAL_DRIVE device. For SINUMERIK 828D a user
CF card must be available and an option is not required.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 647
K1: Mode group, channel, program operation, reset response
10.16 Process Datashare - output to an external device/file
Usage mode
For each output device, when opening the device, it can be specified as to whether the device
is to be exclusively used by just one channel or whether several channels can output to the
device ("shared" mode).
NOTICE
Data security
If the Process Datashare function is used to send data from an external device via the
Ethernet‐X130 interface to the control, there is the possibility that the data on the control could
be falsified by a third-party and is no longer consistent. When using the function, ensure that
the network is protected against access by third-parties.
10.16.2 Commissioning
The external devices to be used are configured in the /oem/sinumerik/nck/extdev.ini or /user/
sinumerik/nck/extdev.ini file. If both files are available, then the entries in the user area have
priority. The file can be updated in the operating area COMMISSIONING under
SYSTEMDATEN/CF card.
Note
It is not necessary to configure in the extdev.ini file when using LOCAL_DRIVE and
CYC_DRIVE. The two devices are always available as soon as the corresponding option is
set or the user CompactFlash card is available.
The external devices to be used are defined/listed in the section [ExternalDevices] of the
extdev.ini file. A serial device (/dev/v24) and up to nine files or directories (/dev/ext/1…9) can
be specified as device. The Linux notation is used when specifying devices. Lines, which start
with ";", are comments and are overread.
Basic Functions
648 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.16 Process Datashare - output to an external device/file
With the exception of /dev/v24, the devices can be declared as directory path - terminated with
an attached "/" – or as file path – i.e. with attached fully qualified path, ending with a file name
(without a terminating "/"). When used in a part program, a file name (path) must also be
specified for a device with directory path.
Except for /dev/v24, a device is defined using the three items separated by a comma for
"Server", "Path" and the optional "Write mode".
For the files or directories (this then applies to all files in the directory), it can be specified as
to whether the file should be overwritten after it has been opened ("O" = Overwrite) or whether
the outputs should be attached to the file ("A" = Append). The default value is "A". A file/
directory that does not exist is newly created when opening.
For the device V.24 interface, only the settings for baud rate, data bits, stop bits, parity, protocol
and possibly end are specified in this sequence.
For files that are generated/saved on the LOCAL_DRIVE, LOCAL_DRIVE_MAX_FILESIZE
data can be used to set a maximum file size in bytes - this is then valid as standard for all files.
The file size is checked when executing an EXTOPEN command in Append mode. Optionally,
the write mode ("O" = Overwrite, "A" = Append) can be defined using the
LOCAL_DRIVE_FILE_MODE data. The default value is "A".
Note
A copy template for the extdev.ini configuration file is available in the /siemens/sinumerik/nck
directory.
Note
Changes to the extdev.ini file only become effective after an NC restart/boot.
Note
USB devices
For SINUMERIK 828D, "usb" (without partition data!) can also be defined as target for a USB
device inserted at the front. The device at the USB can be addressed from the part program
only directly using a symbolic device identifier "/dev/ext/x".
For SINUMERIK 840D sl, only statically connected USB interfaces of a TCU can be configured
as USB devices. The configuration is realized using the SERVER:/PATH type as specification
for "Server" in the sense above, whereby SERVER is the TCU name and /PATH designates
the USB interface. The USB interfaces of a TCU are addressed using "dev0-0", "dev0-1",
"dev1-0". The path data always starts with "/Partition", whereby the partition can be specified
using a two-digit partition number or its partition name – and where required, is extended with
a file path up to the required target, e.g.:
/dev/ext/8 = "TCU4:/dev0-0, /01/, A"
/dev/ext/8 = "TCU4:/dev0-0, /01/mydir.dir/"
/dev/ext/8 = "TCU4:/dev0-0, /myfirstpartition/Mydir.dir/myfile.txt, O"
Example
[ExternalDevices]
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 649
K1: Mode group, channel, program operation, reset response
10.16 Process Datashare - output to an external device/file
; Comment line
; example for V24
; /dev/v24 = "9600, 8, 1, none, rts [, etx]"
; examples for network drives
; /dev/ext/1 = "//[USERNAME[/DOMAIN][%PASSWORD]@]SERVER/SHARE/, /, A"
; /dev/ext/2 = "//[USERNAME[/DOMAIN][%PASSWORD]@]SERVER/SHARE, /myfile.txt, O"
; /dev/ext/3 = "//[USERNAME[/DOMAIN][%PASSWORD]@]SERVER/SHARE, /mydir/, A"
; /dev/ext/4 = "SERVER:/dev0-0, /01/, A"
;…
; SINUMERIK 828 only (USB)
; /dev/ext/9 = "usb, / [ , O]"
; default: Partition number = 1
; SIEMENS only
; /dev/cyc/1= "//[USERNAME[/DOMAIN][%PASSWORD]@]SERVER/SHARE, /mydir/, A"
; /dev/cyc/2= "//[USERNAME[/DOMAIN][%PASSWORD]@]SERVER/SHARE/mydir, /, A"
LOCAL_DRIVE_MAX_FILESIZE = 50000
LOCAL_DRIVE_FILE_MODE = "O"
Basic Functions
650 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.16 Process Datashare - output to an external device/file
10.16.3 Programming
The writing of data from a part program to an external device/file is performed in three steps:
1. Open the external device/file
The external device/file is opened for the channel for writing using the EXTOPEN command.
2. Writing data
The output data can be processed using the string functions of the NC language, e.g.
SPRINT. The WRITE command is used for writing.
3. Close the external device/file
The external device/file assigned in the channel is released again using the EXTCLOSE
command, when the end of the program is reached (M30) or for a channel reset.
Syntax
DEF INT <Result>
DEF STRING[<n>] <Output>
…
EXTOPEN(<Result>,<ExtDev>,<SyncMode>,<AccessMode>,<WriteMode>)
…
<Output>="data output"
WRITE(<Result>,<ExtDev>,<Output>)
…
EXTCLOSE(<Result>,<ExtDev>)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 651
K1: Mode group, channel, program operation, reset response
10.16 Process Datashare - output to an external device/file
Meaning
Basic Functions
652 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.16 Process Datashare - output to an external device/file
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 653
K1: Mode group, channel, program operation, reset response
10.16 Process Datashare - output to an external device/file
<SyncMode>: Parameter 3: Processing mode for the WRITE commands to this device/file
Type: STRING
Values: "SYN": Synchronous writing
Program execution is stopped until the write operation
has been completed.
Successfully completing the synchronous write opera‐
tion can be checked by evaluating the error variables of
the WRITE command.
"ASYN": Asynchronous writing
Program execution is not interrupted by the WRITE
command.
Note.
In this mode, the result variable of the WRITE command
does not provide any information and always has the
value 0 (no error). In this particular mode, there is no
certainty that the WRITE command was successful.
<AccessMode>: Parameter 4: Usage mode for this device/file
Type: STRING
Values: "SHARED": Device/file is requested in the "shared" mode. Other
channels can also use the device, i.e. also open in this
mode.
"EXCL": Device/file is exclusively used in the channel; no other
channel can use the device.
<WriteMode>: Parameter 5: Write mode for the WRITE commands to this file/device (optional)
Type: STRING
Values: "APP": Attaching
The file is always kept regarding its contents; write calls
are attached at the end.
"OVR": Overwrite
The contents of the file are deleted and re-generated
using the subsequent write calls.
Note:
Using this parameter, the write mode configured in the extdev.ini file cannot be
overwritten. In the case of a conflict, then the EXTOPEN call is acknowledged
with error.
Basic Functions
654 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.16 Process Datashare - output to an external device/file
EXTCLOSE: Pre-defined procedure to close an external device/file that has been opened
<Result>: Parameter 1: Result variable
Type: INT
Values: 0 No error
16 Invalid external path has been programmed
21 Error when closing the external device
<ExtDev>: Parameter 2: Symbolic identifier for the external device/file description to be
closed, see EXTOPEN!
Note:
The identifier must be identical to the identifier specified in the EXTOPEN call!
Example
Program code
N10 DEF INT RESULT
N20 DEF BOOL EXTDEVICE
N30 DEF STRING[80] OUTPUT
N40 DEF INT PHASE
N50 EXTOPEN(RESULT,"LOCAL_DRIVE/my_file.txt","SYN","SHARED")
N60 IF RESULT > 0
N70 MSG("Error for EXTOPEN:" << RESULT)
N80 ELSE
N90 EXTDEVICE=TRUE
N100 ENDIF
…
N200 PHASE=4
N210 IF EXTDEVICE
N220 OUTPUT=SPRINT("End phase: %D",PHASE)
N230 WRITE(RESULT,"LOCAL_DRIVE/my_file.txt",OUTPUT)
N240 ENDIF
…
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 655
K1: Mode group, channel, program operation, reset response
10.17 System settings for power-up, RESET / part program end and part program start
10.17 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
Basic Functions
656 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.17 System settings for power-up, RESET / part program end and part program start
%RRWLQJ
32:(521
%LW 7UDQVIRUPDWLRQDFWLYH
0' DFFWR0'0'%LW0'%LW
5(6(7B02'(B0$6. *HRD[LVLQWHUFKDQJHDFWLYH
%LW 'HIDXOW DFFWR0'ZLWK0'
VHWWLQJ
%LW
%LW
%LW
7KHWRROOHQJWK
0'
%LWDQGELW FRPSHQVDWLRQ
VHOHFWHGEHIRUH32:(521
UHPDLQVDFWLYH
%LW
7RROOHQJWKFRPSHQVDWLRQDFWLYH
DFFWR0'0'
0'
7UDQVIRUPDWLRQRII
7RROOHQJWKFRPSHQVDWLRQDFWLYH
*FRGHVDFFWR0'0&B*&2'(B5(6(7B9$/8(6
&RXSOHGPRWLRQJURXSVLVWULJJHUHG
7DQJHQWLDOIROORZXSLVQRWDFWLYH
6\QFKURQL]HGVSLQGOHFRXSOLQJLVQRWDFWLYH
$[LDOUHYROXWLRQDOIHHGUDWHRIISDWKDQGV\QFKURQL]HGD[HVEDFNWRPDVWHUVSLQGOH
*HRPHWU\D[LVDVVLJQPHQWDFFWR0'0&B$;&21)B*(2$;B$66,*1B7$%
0DVWHUYDOXHFRXSOLQJLVQRWDFWLYH
%DVLFIUDPHLVGHVHOHFWHG
(OHFWURQLFJHDUER[LVQRWDFWLYH
0DVWHUVSLQGOHEDVLFSRVLWLRQDFFWR0'0&B63,1'B'()B0$67(5B63,1'
0DVWHUWRROKROGHUEDVLFSRVLWLRQDFFWR0'0&B722/B0$1*(0(17B722/+2/'(5
5HIHUHQFHD[LVDFFWR0'0&B',$0(7(5B$;B'()
5(6(7SDUWSURJUDPHQG
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 657
K1: Mode group, channel, program operation, reset response
10.17 System settings for power-up, RESET / part program end and part program start
System settings after reset / part program end and part program start
MD20110 $MC_RESET_MODE_MASK, bit 0 = 0 or 1
5(6(7SDUWSURJUDPHQG
%LW *FRGHVDFFWR0'DQG0'
0'ELWDUHHYDOXDWHGLH
0'
WKHIXQFWLRQDVVLJQHGWRWKHUHOHYDQWELWV
5(6(7B02'(B0$6.
HLWKHUUHWXUQVWRLWVUHVHWSRVLWLRQRU
%LW
'HIDXOW VWD\VLQLWVFXUUHQWSRVLWLRQVHHWDEOHV
VHWWLQJ EHORZ
%LW
7KHFXUUHQWVHWWLQJVDUHUHWDLQHG
3DUWSURJUDPVWDUW
*FRGHVDFFWR0'
7RROOHQJWKFRPSHQVDWLRQDFWLYH
7UDQVIRUPDWLRQRII
&RXSOHGPRWLRQRII
7DQJHQWLDOIROORZXSRII 7KHVHWWLQJVDFWLYDWHGE\5(6(7
6\QFKURQL]HGVSLQGOHRII EHFRPHYDOLG
*HRPHWU\D[LVDVVLJQPHQWDFFWR0'
0DVWHUYDOXHRII
$[LDOUHYROXWLRQDOIHHGUDWHRII
5HVHUYHGEDVLFIUDPHRII
0DVWHUVSLQGOHDFFWR0'
0DVWHUWRROKROGHURII
5HIHUHQFHD[LVDFFWR0'
%LW
%LW
0' )XQFWLRQWDNHVDFFRXQWRI5(6(7SRVLWLRQ
67$57B02'(B0$6.
%LW
%LW
5HIHUHQFHD[LVLVUHWDLQHG
%LW GHIDXOWVHWWLQJ
%LW7KHFXUUHQWVHWWLQJVDUHUHWDLQHG
%LW)XQFWLRQWDNHVDFFRXQWRI5(6(7SRVLWLRQ
,QWHUSUHWDWLRQRIVWSDUWSURJUDPEORFN
Figure 10-9 System settings after reset / part program end and part program start
Basic Functions
658 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.17 System settings for power-up, RESET / part program end and part program start
Control basic setting after run-up, reset / part program end and part program start
The control basic 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 basic setting after run-up
and reset / part program end)
● MD20112 $MC_START_MODE_MASK (definition of the control basic setting after part
program start)
References
Detailed Machine Data Description
Example
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 659
K1: Mode group, channel, program operation, reset response
10.17 System settings for power-up, RESET / part program end and part program start
Active level (bit 4) and settable frame (bit 5) remain active after reset and are reset on part
program start:
● MD20110, bit 4 = 1
● MD20110, bit 5 = 1
● MD20112, bit 4 = 1
● MD20112, bit 5 = 1
Note
MD20110/MD20112, bit 5 and bit 6
If MD20110/MD20112 are parameterized so that tool length compensation or a frame is
active on a part program start in the automatic or MDI mode, the first programming of the
axes must use absolute measurements (because of the traversing of the offset).
Exception: With MD42442/MD42440 the offsetting process for G91 is suppressed.
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 1268)".
Basic Functions
660 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.17 System settings for power-up, RESET / part program end and part program start
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 656)".
Programming
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 Run-up in JOG mode.
MD30240 $MA_ENC_TYPE [ 0, <axis>] = 1 Incremental measuring system.
MD34210 $MA_ENC_REFP_STATE [ 0, <axis>] = 3 Enable the restoration of axis positions for incre‐
mental encoders.
MD20108 $MC_PROG_EVENT_MASK = ’H9’ Activate event-controlled using program
PROG_EVENT during run-up and at the start of
the part program.
MD20152 $MC_GCODE_RESET_MODE [ 52 ] = 1 Obtain TOFRAME via reset.
MD20110 $MC_RESET_MODE_MASK = ’HC1’ Obtain transformation and tool offset via reset.
MD20144 $MC_TRAFO_MODE_MASK = ’H02’ Obtain transformation via POWER OFF.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 661
K1: Mode group, channel, program operation, reset response
10.17 System settings for power-up, RESET / part program end and part program start
The WAITENC command essentially corresponds to the following program sequence (example
for 5-axis machine with AB kinematics):
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.
Supplementary condition
Basic Functions
662 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
10.18.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.
Auxiliary functions
M Switching functions
T Tool selection
TCA Tool selection independent of the tool status
D Tool offset
DL Additive tool offset
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 663
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
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
Basic Functions
664 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
Note
For an M function replacement with transfer of information via system variable, the address
extension and function value of the M function must be programmed as constant values.
Permissible programming:
● M<function value>
● M=<function value>
● M[<address extension>]=<function value>
Illegal programming:
● M=<variable1>
● M[<variable2>]=<variable1>
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 665
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
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.
Supplementary 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.
Basic Functions
666 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
Note
It is recommended that the same subprogram is used to replace T, TCA and D/DL functions.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 667
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
Value Meaning
0 Replacement not active
1 Replacement active, subprogram call is made at the block start
2 Replacement active, subprogram call is made at the block end
Parameterization Meaning
MD22550 $MC_TOOL_CHANGE_MODE = 0 Tool change with T function
MD10717 $MN_T_NO_FCT_CYCLE_NAME = "MY_T_CYCLE" Name of the subprogram to re‐
place the T function
MD10719 $MN_T_NO_FCT_CYCLE_MODE = 0 Call time: End of block
Programming Comment
N110 D1 ; D1
N120 G90 G0 X100 Y100 Z50 ; D1 is active.
N130 D2 X110 Z0 T5 ; D1 remains active. The T function is replaced
at the block end with the MY_T_CYCLE subprogram
call. D2 provides MY_T_CYCLE in a system varia-
ble.
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 670)".
Basic Functions
668 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 669
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
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
Main program
Programming Comment
PROC MAIN
Basic Functions
670 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
Programming Comment
... ;
N10 T1 D1 M6 ; M6 is replaced by subprogram "SUB_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 ; Execute tool change.
N150 IF $C_D_PROG==TRUE ; IF address D is programmed
N160 D=$C_D ; Execute D selection
N170 ENDIF ; 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 Tool change prepared with T
function
MD10717 $MN_T_NO_FCT_CYCLE_NAME = "MY_T_CYCLE" Replacement subprogram
MD10719 $MN_T_NO_FCT_CYCLE_MODE = 0 Transfer of the D/DL number
Main program
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, 12/2017, 6FC5397-0BP40-6BA1 671
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
Parameterization
Parameterization Meaning
MD22550 $MC_TOOL_CHANGE_MODE = 1 Tool change prepared with T
function
MD10717 $MN_T_NO_FCT_CYCLE_NAME = "MY_T_CYCLE" Replacement subprogram
MD10719 $MN_T_NO_FCT_CYCLE_MODE = 1 No transfer of the D/DL number
Main program
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 Tool change with M function
MD22560 $MC_TOOL_CHANGE_M_CODE = 6 M code for tool change
MD10715 $MC_M_NO_FCT_CYCLE[3] = 6 M function to be replaced
MD10716 $MC_M_NO_FCT_CYCLE_NAME[3] = "MY_T_CYCLE" Replacement subprogram for
the M function
MD10717 $MN_T_NO_FCT_CYCLE_NAME = "MY_T_CYCLE" Replacement subprogram for
the T function
MD10718 $MN_M_NO_FCT_CYCLE_PAR = 3 Parameter transfer to the
replacement subprogram for M6
MD10719 $MN_T_NO_FCT_CYCLE_MODE = 1 No transfer of the D/DL number
Main program
Basic Functions
672 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
Parameterization
Main program
Programming Comment
PROC MAIN
... ;
N10 G01 F1000 X10 T1=5 D1 ; T and D function replaced by calling
; "D_T_SUB_PROG" at start of block
... ;
N90 M30
Subprogram "D_T_SUB_PROG"
Programming Comment
N1000 PROC D_T_SUB_PROG DISPLOF SBLOF
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 673
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
Programming Comment
N4330 ENDIF ; ENDIF
N9999 RET
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:
Basic Functions
674 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
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 Meaning
0 Gear-stage change automatic (M40) and directly (M41-M45)
Val‐ Meaning
ue
0 No replacement
1 Replacement through the subprogram set in MD15700 and MD15702
1 Spindle positioning with SPOS / SPOSA / M19
Val‐ Meaning
ue
0 No replacement
1 Replacement through the subprogram set in MD15700 and MD15702
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 675
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
Subprogram: Name
The name of the replacement subprogram is entered in the machine data:
MD15700 $MN_LANG_SUB_NAME = "<subprogram name>"
Subprogram: Path
The path of the replacement subprogram is set in the machine data:
MD15702 $MN_LANG_SUB_PATH = <value>
Value Meaning
0 Manufacturer cycle folder: /_N_CMA_DIR
1 User cycle folder: /_N_CUS_DIR
2 Siemens cycle folder: /_N_CST_DIR
Value Meaning
0 Replacement not active
1 Replacement active, subprogram call is made at the block start
2 Replacement active, subprogram call is made at the block end
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.
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
Basic Functions
676 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
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, 12/2017, 6FC5397-0BP40-6BA1 677
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
MD22080 $MC_AUXFU_PREDEF_SPEC[9]
Bit Value Meaning
5 1 Output of the auxiliary function before the motion
6 1 Output of the auxiliary function during the motion
7 1 Output of the auxiliary function after the motion
Basic Functions
678 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
Parameterization
Main program
Programming Comment
PROC MAIN
N110 COUPON(S2,S1) ; Close the synchronous spindle coupling
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 679
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
Programming Comment
N120 G01 F100 X100 S5000 M3 M43 ; Subprogram call due to M43
N130 M40 ; Switch on automatic gear stage change
N140 M3 S1000 ; Subprogram call due to S1000
; and as a result an initiated automatic
; gear stage change
N9999 M30
Programming Comment
N1000 PROC LANG_SUB DISPLOF SBLOF
N1100 IF($P_SUB_AXFCT ==1) ; Replacement due to gear stage change
N1140 DELAYFSTON ; Start of stop delay area
N1150 COUPOF(S2,S1) ; Open synchronous spindle coupling
N1160 ;gear stage change separately for leading and following spindles
N1170 M1=$P_SUB_GEAR M2=$P_SUB_GEAR
N1180 DELAYFSTON ; End of stop delay area
N1190 COUPON(S2,S1) ; Close the synchronous spindle coupling
N1200 ENDIF
...
N9999 RET
Programming Comment
N1000 PROC LANG_SUB DISPLOF SBLOF
N1010 DEF AXIS _LA ; Bit memory for leading axis / leading spindle
N1020 DEF AXIS _CA ; Bit memory for following axis / following
spindle
N1030 DEF INT _GEAR ; Bit memory for gear stage
Basic Functions
680 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
Programming Comment
N1180 DELAYFSTOF ; End of stop delay area
N1190 COUPON(_CA,_LA) ; Close the synchronous spindle coupling
N1200 ENDIF
...
N9999 RET
Parameterization
Main program
Programming Comment
PROC MAIN
...
N210 COUPON(S2,S1) ; Activate synchronous spindle coupling
N220 SPOS[1]=100 ; Position leading spindle with SPOS
...
N310 G01 F1000 X100 M19 ; Position leading spindle with M19
Programming Comment
N1000 PROC LANG_SUB DISPLOF SBLOF
N2100 IF($P_SUB_AXFCT==2)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 681
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
Programming Comment
N2110 ;Replacement of SPOS/SPOSA/M19 for active synchronous spindle coupling
N2185 DELAYFSTON ; Start of stop delay area
N2190 COUPOF(S2,S1) ; Open synchronous spindle coupling
N2200 ; Position leading and following spindles
N2210 IF($P_SUB_SPOS==TRUE) OR ($P_SUB_SPOSA==TRUE)
N2220 ;SPOS and SPOSA are mapped to SPOS
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)
GOTOF LABEL1_CONT
LABEL1_IC: DELAYFSTOF
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
LABEL1_ACP: SPOS[1]=ACP($P_SUB_SPOSIT) SPOS[2]=ACP($P_SUB_SPOSIT)
GOTOF LABEL1_CONT
LABEL1_ACN: SPOS[1]=ACN($P_SUB_SPOSIT) SPOS[2]=ACN($P_SUB_SPOSIT)
LABEL1_CONT:
N2250 ELSE ; Position the spindle with M19
N2270 M1=19 M2=19 ; Leading and following spindles
N2280 ENDIF ; End replacement SPOS, SPOSA
N2285 DELAYFSTOF ; End of stop delay area
N2290 COUPON(S2,S1) ; Activate synchronous spindle coupling
N2410 ELSE
N2420 ;from here processing further replacements
...
N3300 ENDIF ; End replacements
...
N9999 RET ; Normal end of program
LABEL_ERR: SETAL(61000) ; Error has occurred
Basic Functions
682 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
Programming Comment
N1000 PROC LANG_SUB DISPLOF SBLOF
N1010 DEF AXIS _LA ; Leading axis/spindle
N1020 DEF AXIS _CA ; Following axis/spindle
N1030 DEF INT _LSPI ; Leading spindle number (programmed
; spindle)
N1040 DEF INT _CSPI ; Following spindle number
...
N2100 IF($P_SUB_AXFCT==2)
N2110 ; Replacement of SPOS/SPOSA/M19 for active ; synchronous spindle coupling
N2120 _LA=$P_SUB_LA ; Axis name of the leading spindle
N2130 _CA=$P_SUB_CA ; Axis name of the following spindle
N2140 _LSPI=AXTOSPI(_LA) ; Number of the leading spindle
N2180 _CSPI=AXTOSPI(_LA) ; Number of the following spindle
N2185 DELAYFSTON ; Start of stop delay area
N2190 COUPOF(_CA,_LA) ; Deactivate synchronous spindle coupling
N2200 ; Position leading and following spindles:
N2210 IF($P_SUB_SPOS==TRUE) OR ($P_SUB_SPOSA==TRUE)
N2220 ;SPOS and SPOSA are mapped to SPOS
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)
GOTOF LABEL1_CONT
LABEL1_IC: DELAYFSTOF
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
LABEL1_ACP: SPOS[_LSPI]=ACP($P_SUB_SPOSIT) POS[_CSPI]=ACP($P_SUB_SPOSIT)
GOTOF LABEL1_CONT
LABEL1_ACN: SPOS[_LSPI]=ACN($P_SUB_SPOSIT) POS[_CSPI]=ACN($P_SUB_SPOSIT)
LABEL1_CONT:
N2250 ELSE ; Position spindles with M19
N2270 M[_LSPI]=19 M[_CSPI]=19
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 683
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
Programming Comment
N2280 ENDIF
N2285 DELAYFSTOF ; End of stop delay area
N2290 COUPON(_CA,_LA) ; Activate synchronous spindle coupling
N2410 ELSE
N2420 ;from here processing further replacements
...
N3300 ENDIF
...
N9999 RET ; Normal end of program
LABEL_ERR: SETAL(61000) ; Error has occurred
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)
Basic Functions
684 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.18 Replacing functions by subprograms
Value Meaning
0 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
1 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, 12/2017, 6FC5397-0BP40-6BA1 685
K1: Mode group, channel, program operation, reset response
10.19 Renaming/locking NC commands
10.18.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.
Program code
...
N1000 WHENEVER $AA_IM[X2] <= $AA_IM[X1] + 0.5 DO $AA_OVR[X1]=0
N1010 G1 X100 M43
...
If, in block N1010, the function M43 initiates that a replacement subprogram is called,
machining is interrupted and an alarm is output.
Function
The machine manufacturer or end user can change the names of existing NC commands with
the "Rename/lock NC commands" function.
Basic Functions
686 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.19 Renaming/locking NC commands
Application
The function can be used for the following purposes:
● Improve the readability of part programs
● Lock NC commands
● User-specific extension of NC functions
Parameterization
The renaming/locking of NC commands is made via the machine data:
MD10712 $MN_NC_USER_CODE_CONF_NAME_TAB[<n>] (list of reconfigured NC codes)
An even index [<n>] contains the original name of the command. The following uneven index
contains the new name of the command.
Note
For SINUMERIK 828D, the entries in the even indexes (original command name) are
predefined and cannot be changed. Only the uneven indexes (new command name) can be
written.
An empty string ("") as new name means that there is no new name for the command.
Consequently, the command is locked and can no longer be programmed.
Changes in MD10712 take effect on Power On.
Examples
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 687
K1: Mode group, channel, program operation, reset response
10.20 Program runtime / part counter
If this preassignment is not desired, and G58 and G59 should remain programmable frames,
the renaming must be undone as follows:
Basic Functions
688 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.20 Program runtime / part counter
This information can be processed as system variables in the NC and/or PLC program. This
information is also available to be displayed on the operator interface.
10.20.1.1 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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 689
K1: Mode group, channel, program operation, reset response
10.20 Program runtime / part counter
Program runtime
The timers to measure the program runtimes are only available in AUTOMATIC mode.
Basic Functions
690 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.20 Program runtime / part counter
Note
Residual time for a workpiece
If the same workpieces are machined one after the other then using the following timer values
the remaining residual time for a workpiece can be determined.
● Processing time for the last workpiece produced (see $AC_OLD_PROG_NET_TIME)
● Current processing time (see $AC_ACT_PROG_NET_TIME)
The residual time is displayed on the user interface in addition to the current processing time.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 691
K1: Mode group, channel, program operation, reset response
10.20 Program runtime / part counter
Note
Using STOPRE
The system variables $AC_OLD_PROG_NET_TIME and
$AC_OLD_PROG_NET_TIME_COUNT do not generate any implicit preprocessing stop. This
is uncritical when used in the part program if the value of the system variables comes from the
previous program run. However, if the trigger for the runtime measurement
($AC_PROG_NET_TIME_TRIGGER) is written very frequently and as a result
$AC_OLD_PROG_NET_TIME changes very frequently, then an explicit STOPRE should be
used in the part program.
Program runtime
The timers to measure the program runtimes are only available in AUTOMATIC mode.
10.20.1.2 Commissioning
Activation/deactivation
The timer that can be activated is switched-in/switched-out using machine data:
Basic Functions
692 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.20 Program runtime / part counter
Parameterization
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 693
K1: Mode group, channel, program operation, reset response
10.20 Program runtime / part counter
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).
10.20.1.4 Examples
Basic Functions
694 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.20 Program runtime / part counter
Program code
...
N50 DO $AC_PROG_NET_TIME_TRIGGER=2
N60 FOR ii= 0 TO 300
N70 mySubProgrammA
N80 DO $AC_PROG_NET_TIME_TRIGGER=1
N95 ENDFOR
N97 mySubProgrammB
N98 M30
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.
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
10.20.2.1 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, 12/2017, 6FC5397-0BP40-6BA1 695
K1: Mode group, channel, program operation, reset response
10.20 Program runtime / part counter
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.
10.20.2.2 Commissioning
Activation
The workpiece counter is activated with the machine data:
MD27880 $MC_PART_COUNTER (activation of workpiece counters)
Basic Functions
696 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.20 Program runtime / part counter
Parameter assignment
<n> Meaning
0 MD27882[0] defines the M command in which $AC_TOTAL_PARTS is incremented.
1 MD27882[1] defines the M command in which $AC_ACTUAL_PARTS is incremented.
2 MD27882[2] defines the M command in which $AC_SPECIAL_PARTS is incremented.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 697
K1: Mode group, channel, program operation, reset response
10.20 Program runtime / part counter
$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.
10.20.2.4 Examples
Basic Functions
698 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.21 Data lists
Workpiece counter $AC_ACTUAL_PARTS is not processed during the program test / block
search:
● MD27880 $MC_PART_COUNTER = 'H700'
● MD27882 $MC_PART_COUNTER_MCODE[1] = 75
$AC_ACTUAL_PARTS is active; the counter is incremented by a value of "1" with each M75,
apart from during the program test and search.
10.21.1 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, 12/2017, 6FC5397-0BP40-6BA1 699
K1: Mode group, channel, program operation, reset response
10.21 Data lists
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.
Basic Functions
700 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.21 Data lists
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 701
K1: Mode group, channel, program operation, reset response
10.21 Data lists
Basic Functions
702 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.21 Data lists
Block search
Reset response
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 703
K1: Mode group, channel, program operation, reset response
10.21 Data lists
Memory settings
Basic Functions
704 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.21 Data lists
10.21.4 Signals
10.21.4.1 Signals to NC
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 705
K1: Mode group, channel, program operation, reset response
10.21 Data lists
10.21.4.3 Signals to NC
Basic Functions
706 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K1: Mode group, channel, program operation, reset response
10.21 Data lists
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 707
K1: Mode group, channel, program operation, reset response
10.21 Data lists
10.21.4.6 Signals to NC
Basic Functions
708 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames 11
11.1 Brief description
11.1.1 Axes
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, 12/2017, 6FC5397-0BP40-6BA1 709
K2: Axis Types, Coordinate Systems, Frames
11.1 Brief description
All path axes and all synchronous axes of a channel have the same acceleration phase,
constant travel phase and deceleration phase.
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)
Basic Functions
710 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.1 Brief description
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 (BCS) 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, 12/2017, 6FC5397-0BP40-6BA1 711
K2: Axis Types, Coordinate Systems, Frames
11.1 Brief description
11.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:
Basic Functions
712 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.1 Brief description
6FDOLQJ
0LUURULQJ
5RWDWLRQ
)LQHRIIVHW
&RDUVHRIIVHW
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 713
K2: Axis Types, Coordinate Systems, Frames
11.1 Brief description
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:
Supplementary conditions
Value Meaning
1 Work offset is applied on FRAME and incremental programming of an axis (= default setting).
0 Only the programmed path is traversed.
Basic Functions
714 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.2 Axes
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.
11.2 Axes
11.2.1 Overview
*HRPHWU\D[HV $GGLWLRQDOD[HV
&KDQQHOD[HV
.LQHPDWLFV
WUDQVIRUPDWLRQ
/LQHDUD[HV
5RWDU\D[HV
2ULHQWDWLRQD[HV
0DFKLQHD[HV
Figure 11-2 Relationship between geometry axes, special axes and machine axes
0DFKLQHD[HV
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 715
K2: Axis Types, Coordinate Systems, Frames
11.2 Axes
Meaning
Machine axes are the axes that actually exist on a machine tool.
%
=
&
;
<
Application
The following can be machine axes:
● Geometry axes X, Y, Z
● Orientation axes A, B, C
Basic Functions
716 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.2 Axes
● Loader axes
● Tool turrets
● Axes for tool magazine
● Axes for automatic tool changer
● Spindle sleeves
● Axes for pallet changers
● Etc.
Meaning
Each geometry axis and each special axis is assigned to a channel. Geometry axes and
additional axes are always traversed in "their" channel.
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.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 717
K2: Axis Types, Coordinate Systems, Frames
11.2 Axes
Special axes are part of the basic coordinate system (BCS). With FRAMES (translation,
scaling, mirroring), special axes of the workpiece coordinate system can be mapped on the
basic coordinate system.
Application
Typical special axes are:
● Rotary axes
● Machine tool axes
● Tool revolver axes
● Loader 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.
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
718 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.2 Axes
Instructions POS and POSA are used to program positioning axes and define block change
criteria:
● POS
Block change takes place when the path axes and positioning axes have reached their
block end points.
● POSA
Block change takes place when the path axes have reached their end of block position.
Positioning axes continue to traverse beyond block limits to their block end point.
Concurrent positioning axes differ from positioning axes in that they:
● Only receive their block end points from the PLC
● Can be started at any time (not at block limits)
● Do not affect the execution of current part programs.
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 873)" and "S1: Spindles (Page 1277)".
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
Meaning
A main axis is an axis that is interpolated by the main run.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 719
K2: Axis Types, Coordinate Systems, Frames
11.2 Axes
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
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
720 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.2 Axes
All path axes and all synchronous axes of a channel have the same acceleration phase,
constant travel phase and deceleration phase.
The feedrate (path feedrate) programmed under address F applies to all the path axes
programmed in a block but not to the synchronous axes.
Synchronous axes take the same time to cover the programmed path as the path axes.
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
N05 G00 G94 G90 M3 S1000 X0 Y0 Z0 ;
N10 FGROUP(X,Y) ; Axes X and Y are path axes,
Z is a synchronous axis
N20 G01 X100 Y100 F1000 ; Progr. feedrate 1000 mm/min.
Feedrate of axis X = 707 mm/min.
Feedrate of axis Y = 707 mm/min.
N30 FGROUP (X) ; Axis X is a path axis,
axis Y is a synchronous axis
N20 X200 Y150 ; Progr. Feedrate 1000 mm/min
Feedrate of Axis X = 1000 mm/min
Feedrate of Axis Y is set to 500 mm/min,
because only half the distance is to be
traversed.
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)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 721
K2: Axis Types, Coordinate Systems, Frames
11.2 Axes
&KDQQHO &KDQQHO
VWJHRPHWU\D[LV >@ ; VWJHRPHWU\D[LV >@
QGJHRPHWU\D[LV >@ < QGJHRPHWU\D[LV >@
UGJHRPHWU\D[LV >@ = UGJHRPHWU\D[LV >@
&KDQQHOD[LVQDPHV 0DFKLQHD[HVXVHG
0'0&B$;&21)B&+$1$;B1$0(B7$%>N@>Q@ 0'0&B$;&21)B0$&+$;B86('>N@>Q@
&KDQQHON &KDQQHON
&KDQQHO &KDQQHO
VWFKDQQHOD[LV >@ ; VWFKDQQHOD[LV >@
QGFKDQQHOD[LV >@ < QGFKDQQHOD[LV >@
UGFKDQQHOD[LV >@ = UGFKDQQHOD[LV >@
WKFKDQQHOD[LV >@ $ WKFKDQQHOD[LV >@
WKFKDQQHOD[LV >@ % WKFKDQQHOD[LV >@
WKFKDQQHOD[LV >@ 8 WKFKDQQHOD[LV >@
WKFKDQQHOD[LV >@ 9 WKFKDQQHOD[LV >@
WKFKDQQHOD[LV >@ WKFKDQQHOD[LV >@
/RJLFDOPDFKLQHD[LVLPDJH
0'01B$;&21)B/2*,&B0$&+$;B7$%>Q@
>@ >@ >@ >@ >@ >@ >@ >@
1&B$;
&7B6/
$;
$;
$;
$;
$;
$;
$[LVFRQWDLQHUQDPHV
0'
01B$;&7B1$0(B7$%>Q@
/RFDOPDFKLQHD[HV
0' $[LVFRQWDLQHU&7 >@ &7
01B$;&21)B0$&+$;B1$0(B7$%>Q@ 0'01B$;&7B$;&21)B$66,*1B7$% >@ &7
VWPDFKLQHD[LV >@ $; 6ORW 6ORW >@ &7
QGPDFKLQHD[LV >@ $; >@ &7
UGPDFKLQHD[LV >@ $;
$;
$;
B
&
Qำ
1
B
&
;
$;
6ORW 6ORW
/LQND[LV0DFKLQHD[LV$;RQ1&8
Basic Functions
722 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.2 Axes
1&8 6HWSRLQWFKDQQHORIWKHPDFKLQHD[LV
0'
0$B&75/287B02'8/(B15>$FKVH!@>Q@
VWPDFKLQHD[LV >@
QGPDFKLQHD[LV >@
UGPDFKLQHD[LV >@ /RJLFDOGULYHDGGUHVVHV
WKPDFKLQHD[LV >@ 0'
01B'5,9(B/2*,&B$''5(66
VWGULYH >@
QGGULYH >@
UGGULYH >@
$FWXDOYDOXHFKDQQHORIWKHPDFKLQHD[LV WKGULYH >@
0' >@
0$B(1&B02'8/(B15>$FKVH!@>Q@ >@
VWPDFKLQHD[LV >@
QGPDFKLQHD[LV >@
UGPDFKLQHD[LV >@
WKPDFKLQHD[LV >@
Supplementary conditions
● 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.
Example
Channel axis B is not assigned to a machine axis.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 723
K2: Axis Types, Coordinate Systems, Frames
11.2 Axes
1&8
&KDQQHOD[LVQDPHV 0DFKLQHD[HVXVHG
0'0&B$;&21)B&+$1$;B1$0(B7$%>Q@>P@ 0'0&B$;&21)B0$&+$;B86('>Q@>P@
&KDQQHOQ &KDQQHOQ
&KDQQHO &KDQQHO
VWFKDQQHOD[LV >@ ; VWFKDQQHOD[LV >@
QGFKDQQHOD[LV >@ < QGFKDQQHOD[LV >@
UGFKDQQHOD[LV >@ = UGFKDQQHOD[LV >@
WKFKDQQHOD[LV >@ $ WKFKDQQHOD[LV >@
WKFKDQQHOD[LV >@ % &KDQQHOD[LVJDS WKFKDQQHOD[LV >@
WKFKDQQHOD[LV >@ 8 WKFKDQQHOD[LV >@
WKFKDQQHOD[LV >@ 9 WKFKDQQHOD[LV >@
WKFKDQQHOD[LV >@ WKFKDQQHOD[LV >@
Supplementary conditions
● Channel axes without assigned machine axes (channel axis gaps) are, regarding the
number and indexing of the channel axes, treated just like normal channel axes with
associated machine axes.
● If a channel axis without assigned machine axis (channel axis gap) is defined as geometry
axis, then this is rejected without an alarm.
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:
References:
Function Manual, Extended Functions; Several Operator Panels on Multiple NCUs, Distributed
Systems (B3)
Basic Functions
724 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.3 Zeros and reference points
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 725
K2: Axis Types, Coordinate Systems, Frames
11.3 Zeros and reference points
0 :
7
Basic Functions
726 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.3 Zeros and reference points
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 :RUNSLHFH
FRRUGLQDWH :RUNSLHFH FRRUGLQDWH
V\VWHP0&6 6SLQGOH OHQJWK V\VWHP:&6
0 :
0DFKLQH :RUNSLHFH
]HUR ]HUR
Figure 11-8 Position of coordinate systems by machine zero M and workpiece zero W
;
=
5
5HIHUHQFH
SRLQW
7 7RROFDUULHU
0DFKLQH
]HUR ;
/
7RROFDUULHUUHIHUHQFH
/ SRLQW
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 727
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
11.4.1 Overview
Definitions
DIN 66217 stipulates that when programming machine tools, right-angled, rectangular
(Cartesian) coordinate systems must be used. The positive directions of the coordainate axes
can be determined using the "right-hand rule".
<
= ;
The coordinate system used when programming is referred to the workpiece. Programming is
realized independent of whether the tool or the workpiece is moved. When programming, it is
always assumed that the tool traverses relative to the coordinate system of the workpiece,
which is intended to be stationary.
Positive (clockwise) rotation of rotary axes can also be defined using the "right-hand rule". If
the thumb of the right hand points towards the positive direction of a coordinate axis (linear
axis), then the fingers point in the positive direction of rotation of the associated rotary axis.
=
&
r r
$ %
r
; <
Figure 11-11 Clockwise, rectangular Cartesian coordinate system
Basic Functions
728 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
Coordinate systems
The following coordinate systems are defined for machine tools:
:&6
3B75$)5$0(3B3)5$0(
3B,62)5$0(3B&<&)5$0(
6=6
3B722/)5$0(3B:3)5$0(
LQ
D
3B,)5$0(3B*)5$0(
FK
H
%=6
D P
)U
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(
%&6
+DQGZKHHO'5)RIIVHWVXSHULPSRVHGPRYHPHQWH[WHUQDO]HURRIIVHW
NLQHPDWLFWUDQVIRUPDWLRQ
0&6
5HIHUHQFHSRLQWRIIVHW
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 729
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
%
=
&
;
<
;
0
=
Basic Functions
730 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
CAUTION
Loss of the encoder adjustment
After a preset offset, the appropriate machine axis is in the "Not referenced" state! This means
that when using absolute encoders, the encoder adjustment is lost and must be performed
again (e.g. by calibration with a laser interferometer ). The use of PRESETON in combination
with absolute encoders is therefore not recommended.
Note
We recommend that the function is only used for machine axes that do not require a reference
point.
In order to restore the original machine coordinate system, the machine axis must be re-
referenced, e.g. with G74 (reference point approach).
The machine axes are not moved with the preset offset.
References
● Programming Manual, Fundamentals
Section: "Supplementary commands" > "Reference point approach (G74)"
● Programming Manual, Job Planning
Section: "Coordinate transformations (FRAMES)" > "Preset offset (PRESETON)
11.4.2.1 Actual value setting with loss of the referencing status (PRESETON)
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.
A preprocessing stop with synchronization is triggered by PRESETON. The actual position is
not assigned until the axis is at standstill.
If the axis is not assigned to the channel for PRESETON, the next steps depend on the
replacement behavior parameterized in the following machine data:
MD30552 $MA_AUTO_GET_TYPE
Referencing status
By setting a new actual value in the machine coordinate system, the referencing status of the
machine axis is reset.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 731
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
CAUTION
Loss of the referencing status
By setting a new actual value in the machine coordinate system with PRESETON, the
referencing status of the machine axis is reset to "not referenced/synchronized".
Programming
Syntax
PRESETON(<axis_1>, <value_1> [, <axis_2>, <value_2>, ... <axis_8>,
<value_8>])
Meaning
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"
Basic Functions
732 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 733
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
Geometry axes
● PRESETON can be used on a stationary geometry axis when a further geometry axis is not
being traversed in the channel at the same time.
● PRESETON can be used on a stationary geometry axis even when a further geometry axis
is being traversed in the channel at the same time, but this axis is in the "neutral axis" state
or traversing as a command axis.
Example: Another geometry axis (X) simultaneously traverses in the "neutral axis" state
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:
Basic Functions
734 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
Axis couplings
● Leading axes: The sudden change of the leading axis position caused by PRESETON 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
PRESETON.
Gantry grouping
If PRESETON 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
PRESETON can be used on indexing axes.
DRF offset
A DRF offset of the axis is deleted by PRESETON.
Axis-specific compensations
Axis-specific compensations remain active after PRESETON.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 735
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
JOG mode
PRESETON must only be used on a stationary axis.
11.4.2.2 Actual value setting without loss of the referencing status (PRESETONS)
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 for PRESETONS is not assigned to the channel, the next steps depend on the axis-
specific configuring of the axis replacement 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 modes of the active measuring
system:
– MD34200 $MA_ENC_REFP_MODE[<measuring system>] = 0 (reference point
approach not possible)
– MD34200 $MA_ENC_REFP_MODE[<measuring system>] = 1 (referencing of
incremental, rotary or linear measuring systems: zero pulse on the encoder track)
Commissioning
Basic Functions
736 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
Note
PRESETON deactivated
Activation of the "Actual value setting withoutloss of the referencing status PRESETONS"
function deactivates the "Actual value setting with loss of the referencing status PRESETON"
function. The options mutually exclude each other.
Programming
Syntax
PRESETONS(<axis_1>, <value_1> [, <axis_2>, <value_2>, ... <axis_8>,
<value_8>])
Meaning
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 737
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
The programmed end position of the X axis (command axis) is transformed to the new MCS
with PRESETONS.
Program code
N10 G1 X10 F5000
N20 PRESETONS(X, $AA_IM[X]+70) ; actual value = 10 + 70 = 80 =>
; $AC_PRESET = $AC_PRESET - 70
Supplementary conditions
Basic Functions
738 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
Geometry axes
● PRESETONS can be used on a stationary geometry axis when a further geometry axis is
not being traversed in the channel at the same time.
● PRESETONS can be used on a stationary geometry axis even when a further geometry axis
is being traversed in the channel at the same time, but this axis is in the "neutral axis" state
or traversing as a command axis.
Example: Another geometry axis (X) simultaneously traverses in the "neutral axis" state
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:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 739
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
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.
DRF offset
A DRF offset of the axis is deleted by PRESETONS.
Basic Functions
740 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
Axis-specific compensations
Axis-specific compensations remain active after PRESETONS.
JOG mode
PRESETONS must only be used on a stationary axis.
Synchronized actions
In a synchronized action for an axis, if several PRESETONS instructions are included, then only
the last instruction in the sequence from left to right is actually executed.
Example:
Program code
N10 ID=1 WHEN TRUE DO PRESETONS(X,40) PRESETONS(X,39) PRESETONS(X,38)
; This is equivalent to:
N10 ID=1 WHEN TRUE DO PRESETONS(X,38)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 741
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
\
0.6 %.6
[
]
0DFKLQH]HUR
Figure 11-15 MCS=BCS without kinematic transformation
\%.6
.LQHPDWLFWUDQVIRU
PDWLRQ
\0.6
[%.6
]%.6
%DVLFFRRUGLQDWHV\VWHP%&6
[0.6
]0.6
0DFKLQHFRRUGLQDWHV\VWHP0&6
Figure 11-16 Kinematic transformation between the MCS and BCS
Basic Functions
742 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
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)
\
%DVLFRIIVHW
\
[
]
%DVLF]HURV\VWHP%=6
[
]
%DVLFFRRUGLQDWHV\VWHP%&6
Figure 11-17 Basic offset between BCS and BZS
Basic offset
The basic offset describes the coordinate transformation between BCS and BZS. It can be
used, for example, to define the palette zero.
The basic offset comprises:
● External work offset
● DRF offset
● Superimposed motion
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 743
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
]
] 3URJUDPPDEOH
IUDPH
]
]
\ \
:RUNSLHFH
3URJUDPPDEOH
IUDPH
Basic Functions
744 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
\
**
\
[
]
6HWWDEOH]HURV\VWHP6=6
[
]
%DVLF]HURV\VWHP%=6
Figure 11-19 Settable FRAME G54 ... G599 between BZS and SZS
Programmable offsets act on the "settable zero system". All programmable offsets refer to the
"settable zero system".
Value Meaning
0 Actual value display in relation to the WCS
1 Actual value display in relation to the SZS
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 745
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
Example
Actual value display in relation to the WCS or SZS
\
3URJUDPPDEOH)5$0(ZLWK
3B3)5$0(
\
[
]
:RUNSLHFHFRRUGLQDWHV\VWHP:&6
[
]
6HWWDEOH]HURV\VWHP6=6
Figure 11-20 Programmable FRAME between SZS and WCS
Basic Functions
746 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
]%16
]%.6
[%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> Meaning
0 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
1 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. The following is per‐
formed 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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 747
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
Programming
Syntax
$AA_ETRANS[<axis>] = <value>
Meaning
System variable
The DRF offset can be read from the axis-specific system variable:
$AC_DRF[<Axis>]
References
Function Manual, Extended Functions; Manual traversing and manual handwheel traversing
(H1); Section: DRF offset
Basic Functions
748 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
Machine data
● The reset behavior for the system frame active of the $P_EXTFRAME external work offset
in the channel is set with the following machine data:
● MD24006 $MC_CHSFRAME_RESET_MASK, bit 1 = <value>
Value Meaning
The active system frame of the external work offset after channel/program end reset is:
0 Not active
1 Active
● The Power On behavior of the channel-specific system frame of the $P_EXTFR external
work offset of the data management is set with the following machine data:
MD24008 $MC_CHSFRAME_POWERON_MASK, bit 1 = <value>
Value Meaning
The $P_EXTFR system frame of the external work offset for Power On
0 Not deleted
1 Deleted
11.4.8.1 Function
Axis-specific system variable $AA_OFF[<axis>] can specify an absolute position or an
incremental distance of the specified axis in a synchronous action, for example. The resulting
traversing motion is then executed in parallel with the traversing motions of the channel of the
axis.
$AA_OFF[<axis>] = <value>
11.4.8.2 Commissioning
Machine data
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 749
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
System variable
Note
CORROF can be programmed in an NC program.
CORROF must not be programmed in a synchronized action.
Syntax
CORROF(<Axis>,"<String>"[,<Axis>,"<String>"])
Basic Functions
750 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
Meaning
CORROF: Procedure for the deselection of the following offsets and overlays of an axis:
● DRF offset
● Position offsets ($AA_OFF)
● Overlay of the tool orientation ($AC_OFF_...)
Effective‐ Modal
ness:
<Axis>: Axis identifier (channel, geometry or machine axis identifier)
Data type: AXIS
<String>: Character string for the definition of the overlay type
Data type: BOOL
Value Meaning
DRF DRF offset
AA_OFF Position offset ($AA_OFF)
OFF_ORI Overlay of the tool orientation ($AC_OFF_...)
Note
The deselection of the overlay of the tool orientation is performed by
deleting the axis-specific offsets of the orientation axes. An arbitrary
channel axis can be specified as <Axis> parameter.
Examples
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 751
K2: Axis Types, Coordinate Systems, Frames
11.4 Coordinate systems
...
; The position offset of the X axis is deselected: $AA_OFF[X]=0
; The X axis is not traversed.
; The position offset is added to the current position of the X axis.
N80 CORROF(X,"AA_OFF")
...
Example 4: Axis-specific deselection of a DRF offset and a $AA_OFF position offset (1)
A DRF offset is generated in the X axis by DRF handwheel traversal. No DRF offsets are
operative for any other axes in the channel.
Example 5: Axis-specific deselection of a DRF offset and a $AA_OFF position offset (2)
A DRF offset is generated in the X and Y axes by DRF handwheel traversal. No DRF offsets
are operative for any other axes in the channel.
Further information
$AA_OFF_VAL
Once the position offset has been deselected by means of $AA_OFF, system variable
$AA_OFF_VAL (integrated distance of axis overlay) for the corresponding axis will equal zero.
Basic Functions
752 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
11.5 Frames
Axis-specific frame
An axis-specific frame contains the frame values of an axis.
Example data structure of an axis-specific frame for geometry axis X:
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 753
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
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 data structure of global frame:
● Machine axes: AX1, ... AX5
11.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
Basic Functions
754 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Programs examples:
7UDQVODWLRQILQH
GLVSODFHPHQW
\
Parameterization
The fine offset is enabled via the machine data:
MD18600 $MN_MM_FRAME_FINE_TRANS = <value>
Value Meaning
0 The fine offset cannot be entered or programmed.
1 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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 755
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Programming examples:
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
756 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
$ [
&
Value Meaning
1 Euler angles in zy'x'' convention (RPY angles)
2 Euler angles in zx'z" convention
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 757)).
<DZ \
3LWFK
[
5ROO
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 757
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
For the ZY'X'' convention, the rotations are carried out in the following sequence:
5RWDWLRQDURXQG] 5RWDWLRQDURXQG\
5RWDWLRQDURXQG[
]
\
] ]
]
[
\
[
\
\
\ ]
[
[
Value range
With RPY angles, programmed values can only be unambiguously calculated back within the
following value ranges:
-180 ≤ x ≤ 180
-90 < y < 90
-180 ≤ z ≤ 180
Syntax
<frame> = CROT([<1st GAx>,<angle>,][<2nd GAx>,<angle>,][<3rd
GAx>,<angle>])
ROT [<1st GAx> <Angle>] [<2. GAx> <Angle>] [<3. GAx> <Angle>]
AROT [<1st GAx> <Angle>] [<2. GAx> <Angle>] [<3. GAx> <Angle>]
Meaning
Basic Functions
758 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
<nth GAx>: Name of the nth geometry axis around which rotation is to be performed
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>: Angle specification in degrees.
[...]: The data in square brackets are optional.
Syntax
<frame>[<index>,<GAx>,RT] = <angle>
Meaning
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 759
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
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 control system 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°
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.
Basic Functions
760 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Example
● Writing the complete frame
The conversion is made in each block after the complete frame has been written.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 761
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Note
Recommended use
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 757)).
5RWDWLRQDURXQG] 5RWDWLRQDURXQG[
5RWDWLRQDURXQG]
]
] ]
\
]
\
\
\
[
[
[
Value range
Data from Euler angles can only be unambiguously calculated back within the following value
ranges:
Basic Functions
762 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
For data outside the specified value ranges, a modulo conversion is made referred to the value
of the particular range limit.
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.
Syntax
CRPL(<rotary axis>,<angle of rotation>)
Meaning
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 763
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
11.5.2.7 Scaling
6FDOLQJ
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
764 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
11.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
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()
CSCALE()
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 765
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
A spindle can only be assigned to one rotary axis at a time. The CROT(..) function can
therefore not be programmed withSPI(), as only geometry axes are permitted forCROT().
The channel axis name or machine axis name of the axis belonging to the spindle is always
output when decompiling frames, even when axis names have been programmed in the part
program with SPI(..).
If the spindle is assigned e.g., to the Channel Axis A then the programming:
N10 $P_UIFR[1] = CTRANS(SPI(1),33.33,X,1):CSCALE(SPI(1),
33.33):CMIRROR(SPI(1))
during recompilation:
$P_UIFR[1]=CTRANS(X,1,A,33.33):CSCALE(A,33.33):CMIRROR(A)
If a spindle and an assigned axis are programmed in a frame command, then Alarm 16420
"Axis % multiply programmed" is output.
Example:
$P_UIFR[1] = CTRANS(SPI(1),33.33,X,1,A,44)
(The spindle is assigned to Axis A.)
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
766 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
6FDOLQJ
0LUURULQJ
5RWDWLRQ
)LQHRIIVHW
&RDUVHRIIVHW
The formulae below are used to discover the coordinate transformation for geometry axes:
%&6᪸:&6 Y
LQY0
LQY6
LQY5YW
11.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)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 767
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
For all frame types except the programmable frame, one or more frames exist in the data
management (data management frames) in addition to the frame active in the channel. For
the programmable frame, only the frame active in the channel exists.
*ULQGLQJIUDPHV
1&8RGHU&+$1
3B*)5>Q@
6\VWHPIUDPHV
&+$1 3B*)5>@
3B5(/)5 3B&<&)5
3B,62)5 3B75$)5
***3,B6(78'7
$FWLYDWLRQRIGDWDVWRUDJHIUDPHVWKURXJK *)5$0(*)5$0(5HVHW
7UDQVIRUPDWLRQVZHFKVHO*(2$;
&KDQQHO $FWLYHIUDPHV
3B$&7)5$0( 3B3$57)5$0(3B6(7)5$0(3B(;7)5$0(
DFWLYHFRPSOHWHIUDPHWKURXJKFKDLQLQJ 3B,62)5$0(3B,62)5$0(3B,62)5$0(
RIDOODFWLYHIUDPHVLQWKHVSHFLILHGRUGHU 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
768 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Archiving frames
Only data management frames can be archived.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 769
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Basic Functions
770 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
● All channels of an NCU can read and write NCU-global frames equally.
● As the assignment of machine axes to channel axes and, in particular, to geometry axes,
can be different in all channels, there is consequently no unique cross-channel geometric
relationship between the channel axes. Therefore, only offset, scaling and mirroring is
possible for NCU-global frames. Rotations are not possible.
Note
Program coordination
The coordination of channel-specific accesses to NCU-global frames is the sole responsibility
of the user. It is recommended that the commands for the program coordination be used.
References
Programming Manual, Job Planning; Section "Flexible NC programming" > "Program
coordination (INIT, START, WAITM, WAITMC, WAITE, SETM, CLEARM)"
11.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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 771
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
:&6
3B75$)5$0(3B3)5$0(
3B,62)5$0(3B&<&)5$0(
6=6
3B722/)5$0(3B:3)5$0(
Q
DL
3B,)5$0(3B*)5$0(
FK
H
%=6
D P
)U
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(
%&6
+DQGZKHHO'5)RIIVHWVXSHULPSRVHGPRYHPHQWH[WHUQDO]HURRIIVHW
NLQHPDWLFWUDQVIRUPDWLRQ
0&6
5HIHUHQFHSRLQWRIIVHW
Complete frame
The current complete frame $P_ACTFRAME results from the chaining of all active frames of
the frame chain:
Basic Functions
772 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
The position indicator for axis setpoints is done in WCS or in SZS. The configuring is done via
HMI machine data. Always only one display-coordinate system is active in the channel. For
this reason only one relative frame is provided which generates both relative coordinate
systems in the same ratio. The HMI displays the relative coordinates according to the
configuration.
6 5( /
:&
6 5(/
6=
(
$0
)5
(
(/
$0
B5
)5
3
(/
:&6
B5
3
6=6
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 SZSRel can be read via the variable
$AA_ACS_REL[ax]. The variable can be read in part program, BTSS and via synchronized
actions.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 773
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
The setting of a relative reference point via the operator panel is done via the general command
interface for the workpiece and tool measuring. The system frame $P_RELFR for relative
coordinate systems is calculated and activated as follows:
● $AC_MEAS_TYPE = 14
● PI-services _N_SETUDT(6, 7)
An example of setting the relative axis positions can be found in:
References:
Function Manual, Extended functions; Measurement (M5),
Section "Measurement of geometry and special axes (meas. type 14, 15)"
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 SZS = WCS transformed with $P_TRAFRAME, $P_PFRAME, $P_ISO4FRAME and $P_CY‐
CFRAME
1 SZS = WCS transformed only with $P_CYCFRAME
0'0&B)5$0(B$&6B6(7 0'0&B)5$0(B$&6B6(7
6=6 ;6=6
Basic Functions
774 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Effects
The reconfiguration of the SZS has an effect on:
● SZS-related actual values: Actual-value displays, system variables, e.g. $AA_IEN, etc.
● Manual traversing (JOG) of geometry axes in the SZS
11.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 traversing 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
0 Workpiece coordinate system (WCS)
1 Settable zero system (SZS)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 775
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
3$
68
:.6
3B75$)5$0(3B3)5$0(
*
3B,62)5$0(3B&<&)5$0(
*
(16
3B722/)5$0(3B:3)5$0(
3B,)5$0(3B*)5$0(
%16
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(
%.6
+DQGZKHHO'5)PRYHPHQWRYHUODLGPRYHPHQW
([WHUQDOZRUNRIIVHW
.LQHPDWLFVWUDQVIRUPDWLRQ
0.6
5HIHUHQFHSRLQWRIIVHW
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)
Basic Functions
776 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Programming
Com‐ Meaning
mand
G53: Nonmodal suppression of the following frames:
$P_TRAFRAME : $P_PFRAME : $P_ISO4FRAME : $P_CYCFRAME
$P_IFRAME : $P_GFRAME : $P_TOOLFRAME : $P_WPFRAME :
G153: Non-modal suppression of the frames as for G53 plus following frames:
$P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME : $P_ACTBFRAME
$P_ISO1FRAME : $P_ISO2FRAME : $P_ISO3FRAME :
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: Deactivation (deletion) of the handwheel offsets (DRF)
11.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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 777
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Machine data
Value G command
1 G500
2 G54
3 G55
4 G56
5 G57
6 G505
... ...
100 G599
Value Meaning
After channel reset or part program end:
0 The settable frame-specific G command in accordance with MD20150 is active.
1 The currently active settable frame-specific G command remains active.
Basic Functions
778 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Note
MD20110 $MC_RESET_MODE_MASK
The MD20152 $MC_GCODE_RESET_MODE machine data is evaluated only for:
MD20110 $MC_RESET_MODE_MASK, bit 0 == 1
System variables
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 779
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Programming
Supplementary conditions
Grinding frames are additional work offsets or "fit-dependent corrections" available particularly
for the grinding technology. They are added to the work offset of the adjustable frames
(Page 778).
3B*)5>@ 3B*)5>@
3B,)5$0(
(16 (16* (16*
%16
5$0(
&7%)
3B$
%.6ิ0.6
Basic Functions
780 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Based on the base zero system (BZS), the settable zero system (SZS) results from the chaining
of the frames active in the channel:
$P_IFRAME: $P_GFRAME : $P_TOOLFRAME :$P_WPFRAME
Machine data
Value G command
1 GFRAME0 (zero frame)
2 GFRAME1
3 GFRAME2
... ...
101 GFRAME100
Value Meaning
After channel reset or part program end:
0 The grinding-specific G command in accordance with MD20150 is active.
1 The currently active grinding-specific G command remains active.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 781
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Note
MD20110 $MC_RESET_MODE_MASK
The MD20152 $MC_GCODE_RESET_MODE machine data is evaluated only for:
MD20110 $MC_RESET_MODE_MASK, bit 0 == 1
System variables
Note
Display (SINUMERIK Operate)
The grinding frames of the data management are displayed in a separate window of the
SINUMERIK Operate user interface.
● References
Operating Manual Grinding; Section "Setting up the machine" > "Work offsets" > "Displaying
and editing seat-related fine offset"
Delete (SINUMERIK Operate)
The grinding frames of the data management can be deleted individually or, for example, after
a workpiece change, all together via the SINUMERIK Operate user interface.
● References
Operating Manual Grinding; Section "Setting up the machine" > "Work offsets" > "Displaying
and editing seat-related fine offset"
Basic Functions
782 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Programming
Syntax
GFRAME<n>
Meaning
Supplementary conditions
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 783
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Machine data
System variables
Basic Functions
784 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
The predefined frame variable $P_BFRAME can be used to read and write the current basic
frame with the array index 0, which is valid in the channel, in the part program. The written
basic frame is immediately included in the calculation. In the case of NCU-global settable
frames, the modified frame acts only in the channel in which the frame was programmed. If
the frame is to be modified for all channels of an NCU, $P_UBFR and $P_BFRAME must be
written simultaneously. The other channels must then activate the corresponding frame, e.g.
with G54.
$P_BFRAME is identical to $P_CHBFRAME[0]. The system variable always has a valid default
value. If there is no channel-specific basic frame, an alarm: "Frame: Statement not permitted"
is output on a read or write access.
Supplementary conditions
Machine data
System variables
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 785
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
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).
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
(
3B&+%)5$0(>Q!@
$0
)5
7%
3B&+%)5$0(>@
&
B$
3
3B1&%)5$0(>Q!@
3B1&%)5$0(>@
%.6
Basic Functions
786 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
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:
MD20110 $MC_RESET_MODE_MASK, bit0 = 1 and bit14 = 1
● Bit 1 = 0: Default value ⇒ reset behavior corresponding to the setting of the further bits
● Bit14 = 0: The basic frames are completely deselected with reset.
● Bit14 = 1: With reset, the machine data settings are taken over in the system variables and
the basic frames selected therein become active:
– $P_NCBFRMASK = MD10613 $MN_NCBFRAME_RESET_MASK
– $P_CHBFRMASK = MD24002 $MC_CHBFRAME_RESET_MASK
Example
Programming
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 787
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
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.
Basic Functions
788 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
G59 is used for axis-specific overwriting of the additively programmed translations for the
specified axes which were programmed with ATRANS.
G59 X... Y... Z... A... ...
Example
Machine data
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 789
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
System variables
Basic Functions
790 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
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.
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> == null frame.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 791
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Four different settings for handling the current $P_ACTFRAME complete frame can be made
with the following machine data:
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = <value>
<value> Meaning
0 Delete
The current complete frame is deleted when geometry axes are switched over, when trans‐
formations are selected and deselected, and on GEOAX().
The modified geometry axis configuration is not used until a new frame is activated.
1 New calculation on receipt of the rotations
The current complete frame is calculated again when the geometry axes are switched over,
whereby the frame components of the new geometry axes are effective. The rotations of the
geometry axes which were programmed before the switchover remain effective for the new
geometry axes.
For TRANSMIT, TRACYL and TRAANG, see Section "Selecting and deselecting transforma‐
tions: General (Page 794)".
2 New calculation only when no rotations were active
The current complete frame is calculated again when the geometry axes are switched over,
whereby the frame components of the new geometry axes are effective. If rotations are active
in the current basic frames, the current settable frame or the programmable frame before
the switchover, it is aborted with the alarm "Frame: Geometry axis switchover not allowed".
For TRANSMIT, TRACYL and TRAANG, see Section "Selecting and deselecting transforma‐
tions: General (Page 794)".
3 Transformation: Reset / GEOAX(): New calculation on receipt of the rotations
● Transformation: The current frame is deleted when selecting and deselecting
transformations.
● GEOAX(): With GEOAX(), the current complete frame is calculated again and the
translations, scalings and mirrorings of the new geometry axes come into effect. The
rotations of the geometry axes which were programmed before the switchover remain
effective for the new geometry axes.
The workpiece geometry is described by a coordinate system that is formed by the geometry
axes. A channel axis is assigned to each geometry axis and a machine axis is assigned to
each channel axis. An axis-specific frame exists for each machine axis (system frame, basic
frame, settable frame, programmable frame). If a different machine axis is assigned to a
geometry axis, the machine axis provides its own axis-specific frame components. The new
geometry in the channel is then generated by the new contour frames resulting from the new
geometry axes (up to three).
The current valid frames are calculated again on the geometry axis switchover and a resulting
complete frame is generated. The data management frames are not included unless they are
activated.
Example:
The channel axis A is to become a geometry axis X through geo 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.
MD10602 $MN_FRAME_GEOAX_CHANGE_MODE = 1
Basic Functions
792 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Example:
Channel axes 4, 5 and 6 become the geometry axes of a 5axis 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 is probably 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
Program code
$MC_AXCONF_CHANAX_NAME_TAB[0] = "CAX"
$MC_AXCONF_CHANAX_NAME_TAB[1] = "CAY"
$MC_AXCONF_CHANAX_NAME_TAB[2] = "CAZ"
$MC_AXCONF_CHANAX_NAME_TAB[3] = "A"
$MC_AXCONF_CHANAX_NAME_TAB[4] = "B"
$MC_AXCONF_CHANAX_NAME_TAB[5] = "C"
$MC_AXCONF_GEOAX_ASSIGN_TAB[0] = 1
$MC_AXCONF_GEOAX_ASSIGN_TAB[1] = 2
$MC_AXCONF_GEOAX_ASSIGN_TAB[2] = 3
$MC_AXCONF_GEOAX_NAME_TAB[0] = "X"
$MC_AXCONF_GEOAX_NAME_TAB[1]="Y"
$MC_AXCONF_GEOAX_NAME_TAB[2] = "Z"
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=4
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=5
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2]=6
$MC_TRAFO_AXES_IN_1[0] = 4
$MC_TRAFO_AXES_IN_1[1] = 5
$MC_TRAFO_AXES_IN_1[2] = 6
$MC_TRAFO_AXES_IN_1[3] = 1
$MC_TRAFO_AXES_IN_1[4] = 2
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 793
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Program:
Program code
$P_NCBFRAME[0] = CTRANS(X,1,Y,2,Z,3,A,4,B,5,C,6)
$P_CHBFRAME[0] = CTRANS(X,1,Y,2,Z,3,A,4,B,5,C,6)
$P_IFRAME = CTRANS(X,1,Y,2,Z,3,A,4,B,5,C,6):CROT(Z,45)
$P_PFRAME = CTRANS(X,1,Y,2,Z,3,A,4,B,5,C,6):CROT(X,10,Y,20,Z,30)
Note
Transformations with virtual axes
When selecting TRANSMIT or TRACYL, offsets, scaling and mirroring of the real Y axis are
not accepted in the virtual Y axis. Offsets, scaling and mirroring of the virtual Y axis are deleted
for TRAFOOF.
Basic Functions
794 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Transmit expansions
The machine data below can be used to take the axis-specific complete frame of the
TRANSMIT rotary axis, i.e. translation, 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 axis-specific offset of the rotary axis is taken account of in the
transformation up to the SZS. The axis-specific 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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 795
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
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 axis-specific frame. The geometric value results from the rotation of a rotary axis. All
other geometry axes accept their axis-specific components when the transformation is
selected.
Components:
● Translations
When selecting TRANSMIT, translations of the virtual axis are deleted. Translations of the
rotary axis can be taken into account in the transformation.
● Rotations
Rotations before the transformation are accepted.
● Mirrorings
Mirroring of the virtual axis is deleted. Mirroring of the rotary axis can be taken into account
in the transformation.
● Scalings
Scaling of the virtual axis is deleted. Scaling of the rotary axis can be taken into account in
the transformation.
; FRAME configurations
$MN_MM_NUM_GLOBAL_USER_FRAMES=0
$MN_MM_NUM_GLOBAL_BASE_FRAMES=3
$MN_NCBFRAME_RESET_MASK='HFF'
$MC_CHBFRAME_RESET_MASK='HFF'
Basic Functions
796 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
$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
$MC_TRAFO_AXES_IN_2[0]=1
$MC_TRAFO_AXES_IN_2[1]=6
$MC_TRAFO_AXES_IN_2[2]=2
$MC_TRAFO_AXES_IN_2[3]=0
$MC_TRAFO_AXES_IN_2[4]=0
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[0]=1
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[1]=6
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[2]=2
$MC_TRANSMIT_BASE_TOOL_2[0]=4.0
$MC_TRANSMIT_BASE_TOOL_2[1]=0.0
$MC_TRANSMIT_BASE_TOOL_2[2]=0.0
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 797
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
$MC_TRANSMIT_ROT_AX_OFFSET_2=19.0
$MC_TRANSMIT_ROT_SIGN_IS_PLUS_2=TRUE
$MC_TRANSMIT_ROT_AX_FRAME_2=1
; 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
798 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
; 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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 799
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
; Deselect frame
N2950 m30 N1580 Z20 G40
N1590 TRANS
N1600
N1610 if $P_BFRAME <> CTRANS(X,10,Y,0,Z,20,CAZ,30,C,15)
N1620 setal(61000)
N1630 endif
N1640 if $P_BFRAME <> $P_CHBFR[0]
N1650 setal(61000)
N1660 endif
N1670 if $P_IFRAME <>
TRANS(X,11,Y,0,Z,2,CAZ,3,C,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1680 setal(61000)
N1690 endif
N1730 if $P_ACTFRAME <>
TRANS(X,21,Y,0,Z,22,CAZ,33,C,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1740 setal(61001)
N1750 endif
N1760
N1770 TRAFOOF
N1780
N1790 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,C,15)
N1800 setal(61000)
N1810 endif
N1820 if $P_BFRAME <> $P_CHBFR[0]
N1830 setal(61000)
N1840 endif
N1850 if $P_IFRAME <>
TRANS(X,11,Y,2,Z,3,C,4):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1860 setal(61000)
N1870 endif
N1880 if $P_IFRAME <> $P_UIFR[1]
N1890 setal(61000)
N1900 endif
N1910 if $P_ACTFRAME <>
TRANS(X,21,Y,22,Z,33,C,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1920 setal(61002)
N1930 endif
N1940
N2010 $P_UIFR[1] = ctrans()
N2011 $P_CHBFR[0] = ctrans()
N2020 $P_UIFR[1] = ctrans(x,1,y,2,z,3,c,0)
N2021 G54
N2021 G0 X20 Y0 Z10 C0
Basic Functions
800 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
N2030 TRANSMIT(1)
N2040 TRANS x10 y20 z30
N2041 ATRANS y200
N2050 G0 X20 Y0 Z10
N2051 if $P_IFRAME <> CTRANS(X,1,Y,0,Z,3,CAY,2)
N2052 setal(61000)
N2053 endif
N2054 if $P_ACTFRAME <> CTRANS(X,11,Y,20,Z,33,CAY,2):CFINE(Y,200)
N2055 setal(61002)
N2056 endif
N2060 TRAFOOF
N2061 if $P_IFRAME <> $P_UIFR[1]
N2062 setal(61000)
N2063 endif
N2064 if $P_ACTFRAME <> CTRANS(X,11,Y,2,Z,33):CFINE(Y,0)
N2065 setal(61002)
N2066 endif
[
'LDPHWHUG
TRACYL expansions:
The machine data below can be used to take the axis-specific 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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 801
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
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
● MD24855 $MC_TRACYL_ROT_AX_FRAME_2 = 2
With this setting, the axis-specific 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 offsets on the peripheral surface. 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 TRACYL produces a virtual geometry axis on the peripheral
surface, coupled via the rotary axis, which is only taken into account in the contour frame but
does not have a reference to an axis-specific frame. All components of the virtual geometry
axis are deleted. All other geometry axes accept their axis-specific components when the
transformation is selected.
Components:
● Translations
When selecting TRACYL, translations of the virtual axis are deleted. Translations of the
rotary axis can be taken into account in the transformation.
● Rotations
Rotations before the transformation are accepted.
● Mirrorings
Mirroring of the virtual axis is deleted. Mirroring of the rotary axis can be taken into account
in the transformation.
● Scalings
Scaling of the virtual axis is deleted. Scaling of the rotary axis can be taken into account in
the transformation.
; FRAME configurations
Basic Functions
802 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
$MN_MM_NUM_GLOBAL_USER_FRAMES = 0
$MN_MM_NUM_GLOBAL_BASE_FRAMES = 3
$MN_NCBFRAME_RESET_MASK = 'HFF'
$MC_CHBFRAME_RESET_MASK = 'HFF'
$MC_TRAFO_AXES_IN_3[0] = 1
$MC_TRAFO_AXES_IN_3[1] = 5
$MC_TRAFO_AXES_IN_3[2] = 3
$MC_TRAFO_AXES_IN_3[3] = 2
$MC_TRAFO_GEOAX_ASSIGN_TAB_3[0] = 1
$MC_TRAFO_GEOAX_ASSIGN_TAB_3[1] = 5
$MC_TRAFO_GEOAX_ASSIGN_TAB_3[2] = 3
$MC_TRACYL_BASE_TOOL_1[0] = 0.0
$MC_TRACYL_BASE_TOOL_1[1] = 0.0
$MC_TRACYL_BASE_TOOL_1[2] = 0.0
$MC_TRACYL_ROT_AX_OFFSET_1 = 0.0
$MC_TRACYL_ROT_SIGN_IS_PLUS_1 = TRUE
$MC_TRACYL_ROT_AX_FRAME_1 = 1
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 803
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
; Frame settings
N500 $P_UIFR[1] = CTRANS(x,1,y,2,z,3,b,4)
N510 $P_UIFR[1] = $P_UIFR[1] : CROT(x,10,y,20,z,30)
N520 $P_UIFR[1] = $P_UIFR[1] : CMIRROR(x,b)
N530
N540 $P_CHBFR[0] = CTRANS(x,10,y,20,z,30,b,15)
N550
N560 G54
N570
; 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
Basic Functions
804 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
; Transformation off
N1180 TRAFOOF
N1190
N1200 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,B,15)
N1210 setal(61000)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 805
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
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
N1290 if $P_IFRAME <> $P_UIFR[1]
N1300 setal(61000)
N1310 endif
N1320 if $P_ACTFRAME <>
TRANS(X,21,Y,22,Z,33,B,19):CROT(X,10,Y,20,Z,30):CMIRROR(X,B)
N1330 setal(61002)
N1340 endif
N1350
N1360 G00 x0 y0 z0 G90
N1370
N1380 m30
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
Basic Functions
806 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Components:
● Translations
When selecting TRAANG, translations of the virtual axis are deleted.
● Rotations
Rotations before the transformation are accepted.
● Mirrorings
Mirrorings of the virtual axis are taken over.
● Scalings
Scalings of the virtual axis are taken over.
; FRAME configurations
$MN_MM_NUM_GLOBAL_USER_FRAMES = 0
$MN_MM_NUM_GLOBAL_BASE_FRAMES = 3
$MN_NCBFRAME_RESET_MASK = 'HFF'
$MC_CHBFRAME_RESET_MASK = 'HFF'
$MC_TRAFO_TYPE_1 = 1024
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 807
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=4
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=2
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2] = 3
$MC_TRAANG_ANGLE_1 = 85.
$MC_TRAANG_PARALLEL_VELO_RES_1 = 0.
$MC_TRAANG_PARALLEL_ACCEL_RES_1 = 0.
$MC_TRAANG_BASE_TOOL_1[0] = 0.0
$MC_TRAANG_BASE_TOOL_1[1] = 0.0
$MC_TRAANG_BASE_TOOL_1[2] = 0.0
$MC_TRAFO_TYPE_2 = 1024
$MC_TRAFO_AXES_IN_2[0] = 4
$MC_TRAFO_AXES_IN_2[1] = 3
$MC_TRAFO_AXES_IN_2[2] = 0
$MC_TRAFO_AXES_IN_2[3] = 0
$MC_TRAFO_AXES_IN_2[4] = 0
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[0] = 4
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[1] = 0
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[2] = 3
$MC_TRAANG_ANGLE_2 = -85.
$MC_TRAANG_PARALLEL_VELO_RES_2 = 0.2
$MC_TRAANG_PARALLEL_ACCEL_RES_2 = 0.2
$MC_TRAANG_BASE_TOOL_2[0] = 0.0
$MC_TRAANG_BASE_TOOL_2[1] = 0.0
$MC_TRAANG_BASE_TOOL_2[2] = 0.0
; Frame settings
N820 $P_UIFR[1] = ctrans(x,1,y,2,z,3,b,4,c,5)
Basic Functions
808 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 809
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
N1220 setal(61000)
N1230 endif
N1240 if $P_ACTFRAME <>
TRANS(X,11,Y,22,Z,33,CAX,11,B,44,C,20):CROT(X,10,Y,20,Z,
30):CMIRROR(X,CAX,C)
N1250 setal(61001)
N1260 endif
N1270
N1280
N1290 $P_UIFR[1,x,tr] = 11
N1300 $P_UIFR[1,y,tr] = 14
N1310
N1320 g54
N1330
; 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
Basic Functions
810 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
; 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
N1670 if $P_IFRAME <>
TRANS(X,11,Y,14,Z,3,CAX,1,B,4,C,5):CROT(X,10,Y,20,Z,30):CMIRROR(X,CAX,C)
N1680 setal(61000)
N1690 endif
N1700 if $P_IFRAME <> $P_UIFR[1]
N1710 setal(61000)
N1720 endif
N1730 if $P_ACTFRAME <>
TRANS(X,21,Y,34,Z,33,CAX,11,B,44,C,20):CROT(X,10,Y,20,Z,
30):CMIRROR(X,CAX,C)
N1740 setal(61001)
N1750 endif
N1760
N1770 TRAFOOF
N1780
N1790 if $P_BFRAME <> CTRANS(X,10,Y,20,Z,30,B,40,C,15)
N1800 setal(61000)
N1810 endif
N1820 if $P_BFRAME <> $P_CHBFR[0]
N1830 setal(61000)
N1840 endif
N1850 if $P_IFRAME <>
TRANS(X,1,Y,14,Z,3,B,4,C,5):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1860 setal(61000)
N1870 endif
N1880 if $P_IFRAME <> $P_UIFR[1]
N1890 setal(61000)
N1900 endif
N1910 if $P_ACTFRAME <>
TRANS(X,11,Y,34,Z,33,B,44,C,20):CROT(X,10,Y,20,Z,30):CMIRROR(X,C)
N1920 setal(61002)
N1930 endif
N1940
N1950 m30
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 811
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
All rotations in the active frames that could cause coordinate axis motions for non-existent
geometry axes are deleted with the following machine data:
MD24040 $MC_FRAME_ADAPT_MODE = 1
The data management frames are not changed in the process. Only the possible rotations are
accepted for the activation of data management frames.
Example:
No Y axis exists:
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[0] = 1
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[1] = 0
● MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[2] = 3
● $P_UIFR[1] = CROT(X,45,Y,45,Z,45)
Overview
The "mapped frames" function supports the cross-channel consistent change of axis-specific
frames inside channel-specific or global data management frames. Using axis-specific
machine data, it is defined between which axes mapping is realized.
Basic Functions
812 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
If frame mapping is, e.g. active for machine axes AX1 and AX4, and the axis-specific 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 axis-specific frame data for the rotation.
Requirements
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 axis-specific frame can be written for axis 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 axis-specific 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 axis-specific 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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 813
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
● When writing an axis-specific 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 axis-specific frame, the frame data is only mapped within the same channel-
specific 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.
Basic Functions
814 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
; $; ; $;
; $; ; $;
([SOLFLWPDSSLQJ
< $; < $;
,PSOLFLWPDSSLQJ
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 815
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
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"
Channel 1 Channel 2
... ...
N100 WAIT (10,1,2) N200 WAIT (10,1,2)
N110 $P_UIFR[1] = CTRANS(Z, 10)
N120 WAIT (20,1,2) N220 WAIT (20,1,2)
N130 G54 N230 G54
N140 IF ($P_IFRAME[0, Z, TR] <> 10) N230 IF ($P_IFRAME[0, Z, TR] <> 10)
N150 SETAL(61000) N250 SETAL(61000)
N160 ENDIF N260 ENDIF
... ...
Description:
N100 / N200 Channel synchronization for consistent writing and mapping of frame data
Basic Functions
816 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Function description
The chaining between a frame and its inverse frame always produces a zero frame.
FRAME: INVFRAME(FRAME) ⇒ null 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
The new frame in the frame chain is therefore:
● Target frame is $P_SETFRAME:
$P_SETFRAME = $P_ACTFRAME: $AC_MEAS_FRAME: INVFRAME($P_ACTFRAME):
$P_SETFRAME
● The target frame is the nth channel basic frame $P_CHBFRAME[<n>]:
k = $MN_MM_NUM_GLOBAL_BASE_FRAMES
– For n = 0, TMP is resolved as:
TMP = $P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME :
$P_NCBFRAME[<0...k>]
– For n ≠ 0, TMP is resolved as:
TMP = $P_PARTFRAME : $P_SETFRAME : $P_EXTFRAME :
$P_NCBFRAME[<0..k>] : $P_CHBFRAME[<0...n> - 1]
$P_CHBFRAME[<n>] = INVFRAME(TMP) : $P_ACTFRAME : $AC_MEAS_FRAME :
INVFRAME($P_ACTFRAME) : TMP : $P_CHBFRAME[<n>]
● The target frame is $P_IFRAME:
TMP = $P_PARTFRAME: $P_SETFRAME: $P_EXTFRAME: $P_BFRAME
$P_IFRAME = INVFRAME(TMP): $P_ACTFRAME: $AC_MEAS_FRAME:
INVFRAME($P_ACTFRAME) : TMP : $P_IFRAME
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 817
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Example:
A frame calculated, for example, via a measuring function, must be entered in the current
SETFRAME such that the new complete frame is a chain of the old complete frame and the
measurement frame. The SETFRAME is calculated accordingly by means of frame inversions.
Basic Functions
818 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Function description
The ADDFRAME() function calculates from the temporary frame the specified target frame
specified by the <STRING> parameter so that the new active $P_ACTFRAME complete frame
from the chaining of the old active complete frame with the temporary frame gives:
ERG = ADDFRAME(TMPFRAME,"$P_SETFRAME") ⇒ $P_SETFRAMEnew =
$P_SETFRAMEold ADD TMPFRAME and $P_ACTFRAMEnew = $P_ACTFRAMEold :
TMPFRAME
If an active frame has been specified as a target frame, the new complete frame becomes
active at the preprocessing stage.
If the target frame is a data management frame, the frame becomes active only when it is
activated explicitly in the channel, e.g. part program or cycle.
The function returns a return value for which a user-specific response is possible, e.g. in a
user cycle.
Programming
Syntax
INT ADDFRAME(<FRAME>,<STRING>)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 819
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Meaning
<FRAME>: Frame variable with the values to be included additively in the calculation
Type FRAME
<STRING>: The name of an active or data management frame:
● Active frames
"$P_CYCFRAME", "$P_ISO4FRAME", "$P_PFRAME",
"$P_WPFRAME", "$P_TOOLFRAME", "$P_IFRAME", "$P_GFRAME",
"$P_CHBFRAME[<n>]", "$P_NCBFRAME[<n>]", "$P_ISO1FRAME",
"$P_ISO2FRAME", "$P_ISO3FRAME", "$P_EXTFRAME",
"$P_SETFRAME", "$P_PARTFRAME"
● Data management frames
"$P_CYCFR", "$P_ISO4FR, "$P_TRAFR", "$P_WPFR", "$P_TOOLFR",
"$P_UIFR[<n>]", "$P_GFR", "$P_CHBFR[<n>]", "$P_NCBFR[<n>]",
"$P_ISO1FR, "$P_ISO2FR, "$P_ISO3FR, "$P_EXTFR", "$P_SETFR",
"$P_PARTFR"
Type STRING
Return value: Possible return values:
● 0: OK
● 1: Specified target (string) is wrong
● 2: Target frame is not configured
● 3: Rotation in frame is not permitted
Type INT
11.5.8 Functions
Basic Functions
820 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Machine data
The external work offset or the $P_EXTFRAME system frame is activated with the following
machine data:
MD28082 $MC_MM_SYSTEM_FRAME_MASK, bit 1 = TRUE
The magnitude for the external work offset can be specified manually via the HMI user
interface, and the PLC user program via OPI or programmed in the part program via the axial
system variable $AA_ETRANS[<axis>].
Activation
The external work offset is activated with the interface signal:
DB31, ... DBX3.0 (accept external work offset)
Behavior
Upon activation of the external work offset, the traversing movements of all axes, except
command and PLC axes, are stopped immediately and the advance is reorganized. The rough
offset of the current system frame and of the system frame in data management is set to the
value of the axial system variable $AA_ETRANS[<axis>]. Thereafter, the offset is traversed
first and then the interrupted movement is continued.
Behavior for incremental dimension
In case of active incremental dimension G91 and machine data:
MD42440 $MC_FRAME_OFFSET_INCR_PROG (work offset in frames) = 0
traversing the offset is done in the scope of the external work offset via system frame, despite
opposite configuring of the machine data, with the approach block, although it is specified by
a frame.
Note
The external work offset always acts absolutely.
11.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:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 821
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
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.
2ULJLQDOSRVLWLRQRIWKH
FRRUGLQDWHV\VWHP
3RVLWLRQRIWKHFRRUGLQDWHV\VWHP
DIWHU7&$55
3RVLWLRQRIWKHFRRUGLQDWHV\VWHP
2ULJLQDOSRVLWLRQRIWKH DIWHU3$527
WDEOH
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
Basic Functions
822 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
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
1 Rotation component → $PARTFR
0 Rotation component → MD20184 $MC_TOCARR_BASE_FRAME_NUMBER
As with the note made in the description of the table offset, the second alternative here is not
recommended for use with new systems.
The rotation component of the part frame can be deleted with PAROTOF, irrespective of whether
this frame is in a basic or a system frame.
The translation component is deleted when a toolholder which does not produce an offset is
activated or a possibly active orientable toolholder is deselected with TCARR=0.
PAROT or TOROT take into account the overall orientation change 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 inclined 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.
Example
On a machine, the rotary axis of the table points in the positive Y direction. The table is rotated
by +45 degrees. PAROT defines a frame which similarly describes a rotation of 45 degrees
around 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.
Language command PAROT is not rejected if no orientable toolholder is active. However, such
a call then produces no frame changes.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 823
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Incremental traversing
The end point for incremental traversing motion in the tool direction is programmed using MOVT
= <Value> or MOVT=IC(<Value>).
The positive traversing direction is defined from the tool tip to the tool adapter. Corresponding
to paraxial machining, e.g. with G91 Z ....
Absolute traversing
The end point for absolute incremental traversing motion in the tool direction is programmed
using MOVT=AC(<Value>).
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 (see figure). The reference plane is only used to calculate the end position. Active frames
are not affected by this internal calculation.
7RRO =
$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).
Basic Functions
824 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
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.
It is not permissible to program geometry axes in a block with MOVT.
Solid angle
Often, solid angles are specified in workpiece drawings to define inclined surfaces. Solid angles
are angles which the intersection lines of the inclined plane form with the main planes (X-Y, Y-
Z, Z-X planes) of the workpiece coordinate system (see diagram). 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.
Rotations can be directly defined as solid angle using ROTS, AROTS and CROTS commands.
It is permissible to specify a single solid angle. The rotation which is performed with ROTS or
AROTS in this case is identical to that for ROT and AROT.
The two axes programmed in the command define a plane. The non-programmed axis defines
the associated third axis of a coordinate system. This also means that for the two programmed
axes, it is uniquely defined which is the first axis and which is the second axis. The definition
corresponds to the definition of a plane for G17/G18/G19.
The angle programmed with the axis letter of an axis of the plane then specifies the axis,
around which the other axis of the plane must be rotated in order to move this into the line of
intersection, which the rotated plane forms with the plane surrounded by the other and the
third axis. This definition ensures that, in the case that one of the two programmed angles is
towards zero, the defined plane enters the plane, which is created if only one axis is
programmed (e.g. with ROT or AROT).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 825
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
] , ,, ]
]
3 3
\
]
\
˟ ˟ 3
3
[
\
˞
˞
3
[ 3
[
\
,,, ] ] ,9
3 3
]
\
\
\
[
]
\
˞ ˞
3
[ 3
[
˟ ˟
3 [
3
I, ..., Quadrants 1 to 4
IV
① Inclined plane as specification for the new G17 plane
α, β Solid angle of the inclined plane
Figure 11-27 Rotation around the solid angle
In the diagram, the solid angles are shown for an example of a plane in quadrants I to IV. The
inclined plane defines the alignment of the G17 plane after rotating the workpiece coordinate
Basic Functions
826 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
system WCS. The sign of the solid angle specifies the direction around which the coordinate
system is rotated around the relevant axis.
1. Rotation around y:
Rotation of the workpiece coordinate system WCS around the y axis around the signed
angle α ⇒
The x' axis is aligned parallel (colinear) to the intersection lines of the xz plane with the
inclined plane
2. Rotation around x':
Rotation of the new workpiece coordinate system WCS around the x' axis around the signed
angle β ⇒
– The y' axis is aligned in parallel (colinear) to the intersection lines of the zy plane with
the inclined plane
– The z' axis is perpendicular to the inclined plane
– G17' lies in parallel to the inclined plane
The programming to align the G17 plane of the workpiece coordinate system WCS to the
inclined plane is, for each quadrant:
● Quadrant I: ROTS X<+α> Y<-β>
● Quadrant II: ROTS X<-α> Y<-β>
● Quadrant III: ROTS X<-α> Y<+β>
● Quadrant IV: ROTS X<+α> Y<+β>
Orientation
The specification of the solid angle does not define the orientation of the two-dimensional
coordinate system within the plane (i.e. the angle of rotation around the surface normal vector).
The position of the coordinate system is thus determined so that the rotated first axis lies in
the plane which is formed by the first and third axes of the non-rotated coordinate system.
This means that
● When programming X and Y, the new X axis lies in the original Z-X plane.
● When programming Z and X, the new Z axis lies in the original Y-Z plane.
● When programming Y and Z, the new Y axis lies in the original X-Y plane.
If the required coordinate system does not correspond to this basic setting, then an additional
rotation must be performed with AROT....
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 827
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Note
In new systems, it is recommended that only the intended system frame is used for frames
produced by the commands of G group 53.
Example
TRANS is programmed after TOROT. TRANS without specified parameters deletes the
programmable frame. In the variant without a system frame, this also deletes the frame
component of the programmable frame produced by TOROT, but if the TOROT component is in
the system frame, it is retained.
TOROT or TOFRAME, etc. are disabled with language command TOROTOF. TOROTOF deletes
the entire system frame $P_TOOLFR. If the programmable frame (old variant) and not the
system frame is described by commands TOFRAME, etc. TOROT only deletes the rotation
component and leaves the remaining frame components unchanged.
If a rotating frame is already active before language command TOFRAME or TOROT is activated,
a request is often made that the newly defined frame should deviate as little as possible from
Basic Functions
828 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
the old frame. This is the case, for example, if a frame definition needs to be modified slightly
because the tool orientation cannot be set freely on account of Hirth-toothed rotary axes. The
language commands uniquely define the Z direction of the new frame.
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.
The system frame for TCARR and PAROT is configured with:
MD28082 $MC_MM_SYSTEM_FRAME_MASK, bit 2 = 1
The following machine data is then no longer evaluated:
MD20184 $MC_TOCARR_BASE_FRAME_NUMBER
If the system frame for TCARR is configured, TCARR and PAROT describe that corresponding
system frame; otherwise the basic frame identified by machine data MD20184 is described.
With kinematics systems of the types P and M, TCARR will enter the table offset of the orientable
toolholder (work offset resulting from the rotation of the table) as a translation into the system
frame. PAROT converts the system frame so that a workpiece-related WCS results.
The system frames are stored retentively and therefore retained after a reset. The system
frames also remain active in the case of a mode change.
For the display, the commands PAROT and TOROT, TOFRAME are each assigned to a separate
G group.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 829
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
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 command 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 command 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 ; X component of the 1st offset vector
N40 $TC_CARR2[1] = 0 ; Y component of the 1st offset vector
N50 $TC_CARR3[1] = 0 ; Z component of the 1st offset vector
N60 $TC_CARR4[1] = 0 ; X component of the 2nd offset vector
N70 $TC_CARR5[1] = 0 ; Y component of the 2nd offset vector
N80 $TC_CARR6[1] = -15 ; Z component of the 2nd offset vector
N90 $TC_CARR7[1] = 1 ; X component of the 1st axis
N100 $TC_CARR8[1] = 0 ; Y component of the 1st axis
N110 $TC_CARR9[1] = 0 ; Z component of the 1st axis
N120 $TC_CARR10[1] = 0 ; X component of the 2nd axis
N130 $TC_CARR11[1] = 1 ; Y component of the 2nd axis
N140 $TC_CARR12[1] = 0 ; Z component of the 2nd axis
N150 $TC_CARR13[1] = 30 ; Angle of rotation of 1st axis
N160 $TC_CARR14[1] = -30 ; Angle of rotation of 2nd axis
N170 $TC_CARR15[1] = 0 ; X component of the 3rd offset vector
N180 $TC_CARR16[1] = 0 ; Y component of the 3rd offset vector
N190 $TC_CARR17[1] = 0 ; Z component of the 3rd offset vector
N200 $TC_CARR18[1] = 0 ; X component of the 4th offset vector
Basic Functions
830 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 831
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Programmable frame
With the end of the subprogram the programmable frame active before the subprogram 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.
Note
● It is strongly recommended that the following machine data is not changed between the
backup and restoration of the saved system frames. Otherwise, it is possible that the saved
system frames cannot be loaded.
MD28082 $MC_MM_SYSTEM_FRAME_MASK (configuration of channel-specific system
frames that are included in the channel calculation)
● The data backup is always performed in accordance with geometry axis assignments
currently valid in the channel rather than in accordance with the axis constellations originally
set in the machine data.
Basic Functions
832 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
11.5.12.1 POWER ON
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 833
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
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.
Basic Functions
834 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Reset behavior of the system frames for TCARR, PAROT, TOROT and TOFRAME
The reset behavior of the system frames for TCARR, PAROT, TOROT and TOFRAME after channel
reset / part program end depends on the reset setting of the G commands.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 835
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Basic Functions
836 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 837
K2: Axis Types, Coordinate Systems, Frames
11.5 Frames
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.
11.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
838 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.6 Workpiece-related actual value system
11.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).
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 839
K2: Axis Types, Coordinate Systems, Frames
11.6 Workpiece-related actual value system
)UDPHFKDLQ
:&6
)UDPHIRUF\FOHVSURJUDPPDEOH
IUDPHWUDQVIRUPDWLRQV
6=6
6\VWHPIUDPHIRU72527
72)5$0(ZRUNSLHFHV
**VHWWDEOHIUDPH
FKDQQHOVSHFRU1&8JOREDO
%=6
&KDLQHGILHOGRIEDVLFIUDPHV
FKDQQHOVSHFDQGRU1&8JOREDO
&KDLQHGV\VWHPIUDPHVIRU3$527VHWDFWXDO
YDOXHVFUDWFKLQJH[WZRUNRIIVHW
.LQHPDWLFVWUDQVIRUPDWLRQ
0&6
5HIHUHQFHSRLQWRIIVHW
0&6 PDFKLQHFRRUGLQDWHV\VWHP
%&6 EDVLFFRRUGLQDWHV\VWHP
:&6 ZRUNSLHFHFRRUGLQDWHV\VWHP
%=6 EDVLF]HURV\VWHP
6=6 VHWWDEOH]HURV\VWHP
For further information, see "H2: Auxiliary function outputs to PLC (Page 405)" and "W1: Tool
offset (Page 1455)".
References:
● Programming Guide Fundamentals
● Function Manual, Extended Functions; Kinematic Transformation (M1)
Basic Functions
840 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.6 Workpiece-related actual value system
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 841
K2: Axis Types, Coordinate Systems, Frames
11.6 Workpiece-related actual value system
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 483)").
Basic Functions
842 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.8 Examples
11.7 Restrictions
There are no supplementary conditions to note.
11.8 Examples
11.8.1 Axes
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 843
K2: Axis Types, Coordinate Systems, Frames
11.8 Examples
<
:=0
%
;
=
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
844 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.8 Examples
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 845
K2: Axis Types, Coordinate Systems, Frames
11.8 Examples
Machine data
Machine data for channel 1 Value Machine data for channel 1 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
Basic Functions
846 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.8 Examples
11.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
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"
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 847
K2: Axis Types, Coordinate Systems, Frames
11.8 Examples
$MC_AXCONF_CHANAX_NAME_TAB[1] = "CAY"
$MC_AXCONF_CHANAX_NAME_TAB[2] = "CAZ"
$MC_AXCONF_CHANAX_NAME_TAB[3] = "A"
$MC_AXCONF_CHANAX_NAME_TAB[4] = "B"
$MC_AXCONF_CHANAX_NAME_TAB[5] = "C"
$MC_AXCONF_GEOAX_ASSIGN_TAB[0] = 1
$MC_AXCONF_GEOAX_ASSIGN_TAB[1] = 2
$MC_AXCONF_GEOAX_ASSIGN_TAB[2] = 3
$MC_AXCONF_GEOAX_NAME_TAB[0] = "X"
$MC_AXCONF_GEOAX_NAME_TAB[1]="Y"
$MC_AXCONF_GEOAX_NAME_TAB[2] = "Z"
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=4
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=5
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2]=6
$MC_TRAFO_AXES_IN_1[0] = 4
$MC_TRAFO_AXES_IN_1[1] = 5
$MC_TRAFO_AXES_IN_1[2] = 6
$MC_TRAFO_AXES_IN_1[3] = 1
$MC_TRAFO_AXES_IN_1[4] = 2
Program:
$P_NCBFRAME[0] = ctrans(x,1,y,2,z,3,a,4,b,5,c,6)
$P_CHBFRAME[0] = ctrans(x,1,y,2,z,3,a,4,b,5,c,6)
$P_IFRAME = ctrans(x,1,y,2,z,3,a,4,b,5,c,6):crot(z,45)
$P_PFRAME = ctrans(x,1,y,2,z,3,a,4,b,5,c,6):crot(x,10,y,20,z,30)
Basic Functions
848 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.9 Data lists
; $P_IFRAME = ctrans(x,1,y,2,z,3,a,4,b,5,c,6):crot(z,
45)
; $P_PFRAME = ctrans(x,1,y,2,z,3,a,4,b,5,c,6):crot(x,
10,y,20,z,30)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 849
K2: Axis Types, Coordinate Systems, Frames
11.9 Data lists
Basic Functions
850 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.9 Data lists
Identifier Description
$AA_ETRANS[axis] External work offset
$AA_IBN[axis] Actual value in basic zero coordinate system (BZS)
$AA_IEN[axis] Actual value in settable zero point coordinate system (SZS)
$AA_OFF[axis] Overlaid motion for programmed axis
$AC_DRF[axis] Handwheel override of an axis
$AC_JOG_COORD Coordinate system for manual traversing
$P_ACSFRAME Active frame between BCS and SZS
$P_ACTBFRAME Active complete basic frame
$P_ACTFRAME Active complete frame
$P_BFRAME 1st active basic frame. Corresponds to $P_CHBFRAME[0]
$P_CHBFR[<n>] Data management frame: Basic frame can be activated via G500, G54...G599
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 851
K2: Axis Types, Coordinate Systems, Frames
11.9 Data lists
Identifier Description
$P_CHBFRAME[<n>] Active basic frame
$P_CHBFRMASK Basic frame mask in the channel
$P_CHSFRMASK System frame mask
$P_CYCFR Data management frame: System frame for cycles
$P_CYCFRAME Active system frame for cycles
$P_EXTFR Data management frame: System frame for work offset external
$P_EXTFRAME Active system frame for external work offset
$P_IFRAME Active settable frame
$P_ISO1FR Data management frame: System frame for ISO G51.1 mirroring
$P_ISO2FR Data management frame: System frame for ISO G68 2DROT
$P_ISO3FR Data management frame: System frame for ISO G68 3DROT
$P_ISO4FR Data management frame: System frame for ISO G51 Scale
$P_ISO1FRAME Active system frame for ISO G51.1 Mirroring
$P_ISO2FRAME Active system frame for ISO G68 2DROT
$P_ISO3FRAME Active system frame for ISO G68 3DROT
$P_ISO4FRAME Active system frame for ISO G51 Scale
$P_NCBFR[n] Data management frame: NCU-global basic frame in the data management,
can be activated via G500, G54...G599
$P_NCBFRAME[n] Active NCU-global basic frame
$P_NCBFRMASK Global basic frame mask
$P_PARTFR Data management frame: System frame for TCARR and PAROT
$P_PARTFRAME Active system frame for TCARR and PAROT with orientable toolholder
$P_PFRAME Active programmable frame
$P_SETFR Data management frame: System frame for actual value setting
$P_SETFRAME Active system frame for actual value setting
$P_TOOLFR Data management frame: System frame for TOROT and TOFRAME
$P_TOOLFRAME Active system frame for TOROT and TOFRAME
$P_TRAFRAME Data management frame: System frame for transformations
$P_TRAFRAME Active system frame for transformations
$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 Number of active settable frame
$P_WPFR Data management frame: System frame for the workpiece
$P_WPFRAME Active system frame for the workpiece
Basic Functions
852 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
K2: Axis Types, Coordinate Systems, Frames
11.9 Data lists
11.9.4 Signals
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 853
K2: Axis Types, Coordinate Systems, Frames
11.9 Data lists
Basic Functions
854 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
N2: Emergency stop 12
12.1 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 self-
activating 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.
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, 12/2017, 6FC5397-0BP40-6BA1 855
N2: Emergency stop
12.3 Emergency stop control elements
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.
Basic Functions
856 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
N2: Emergency stop
12.4 Emergency stop sequence
Connection conditions
For connecting the emergency stop button see:
References:
Operator Components Manual
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 857
N2: Emergency stop
12.5 Emergency stop acknowledgement
5. After the expiry of a paramaterized delay time, the servo enables of machine axes are reset.
The setting of the delay time is programmed in machine data:
MD36620 $MA_SERVO_DISABLE_DELAY_TIME (OFF delay of the controller enable)
The following setting rule must be observed: MD36620 ≥ MD36610
6. All machine axes are switched in the follow-up mode within the controller.
The machine axes are no longer in position control.
● The digital and analog outputs of the PLC I/O are not influenced by the emergency stop
sequence in the NC.
If individual outputs are required to attain a particular state or voltage level in the event of
an emergency stop, the machine manufacturer must implement this in the PLC user
program.
● The fast digital outputs of the NCK I/O system are not influenced by the emergency stop
sequence in the NC.
If individual outputs must assume a specific state in case of emergency stop, the machine
manufacturer must transmit the desired state to the NC in the PLC user program via
interface signals:
DB10 DBB4-7
Note
If the sequence in the NC is not to be executed as described above, then the interface
signal DB10 DBX56.1 (emergency stop) must not be set until an emergency stop state
defined by the machine manufacturer in the PLC user program is reached.
As long as the interface signal is not set and no other alarm is pending, all interface signals
are operative in the NC. Any emergency stop state defined by the manufacturer (including
axis-, spindle- and channel-specific emergency stop states) can therefore be assumed.
Basic Functions
858 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
N2: Emergency stop
12.5 Emergency stop acknowledgement
A machine restart must be impossible until all of the actuated emergency stop control elements
have been deliberately reset by hand.
Note
The emergency stop state cannot be reset with the interface signal DB21, ... DBX7.7 (Reset)
alone.
'%'%;(PHUJHQF\6WRS
'%'%;DFNQRZOHGJH(PHUJHQF\
6WRS
'%'%;HPHUJHQF\VWRS
DFWLYH
'%'%;5(6(7
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 859
N2: Emergency stop
12.6 Data lists
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.
Basic Functions
860 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
N2: Emergency stop
12.6 Data lists
12.6.2 Signals
12.6.2.1 Signals to NC
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 861
N2: Emergency stop
12.6 Data lists
Basic Functions
862 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P1: Transverse axes 13
13.1 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
0 :
]
/RQJLWXGLQDOD[LV
Figure 13-1 Position of the transverse axis in the machine coordinate system
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 863
P1: Transverse axes
13.1 Function
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 869)"), 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:
– Increment (INC) through incremental manual handwheel traversing (depending on the
active MD)
● Part program programming:
– End positions, independent of reference mode (G90 / G91)
– Interpolation parameters of circular-path programming (G2 / G3) if these are
programmed with part program instruction AC absolute.
● Actual values read with reference to the workpiece coordinate system (WCS):
– $AA_MW[<transverse axis>]
System variable of the measuring functions MEAS (measuring with delete distance-to-
go) and MEAW (measuring without delete distance-to-go)
– $P_EP[<transverse axis>]
– $AA_IW[<transverse axis>]
Basic Functions
864 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P1: Transverse axes
13.1 Function
DIAM90/DIAM90A[<Axis>]
After activation of the reference-mode-dependent diameter programming with DIAM90/
DIAM90A[<Axis>], the following data is always displayed in relation to diameter regardless
of the operating mode (G90/G91):
● Actual value
● Actual values read with reference to the workpiece coordinate system (WCS):
– $AA_MW[<transverse axis>]
System variable of the measuring functions MEAS (measuring with delete distance-to-
go) and MEAW (measuring without delete distance-to-go)
– $P_EP[<transverse axis>]
– $AA_IW[<transverse axis>]
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, 12/2017, 6FC5397-0BP40-6BA1 865
P1: Transverse axes
13.2 Parameterization
13.2 Parameterization
Example
MD20100 $MC_DIAMETER_AX_DEF="X" ; geometry axis X is the transverse axis in the
channel.
For this axis, diameter programming and assigning a constant cutting speed with G96 / G961 /
G962 are both permitted.
Note
The setting MD30460 bit 2 = 1 is only possible for linear axes.
Supplementary conditions
In a channel, a transverse axis can be defined as channel-specific (MD20100) and axis-specific
(MD30460, bit 2) axis at the same time. The channel-specific machine data has the higher
priority.
With MD20100, the following channel-specific functions are assigned to the transverse axis
during the run-up
Basic Functions
866 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P1: Transverse axes
13.2 Parameterization
The following axis-specific basic position is assigned to the transverse axis during the power-
up of the NC: "Transfer of the diameter programming channel status" DIAMCHANA[<Achse>]
With the release of the axis-specific diameter programming (MD30460, bit 2 = 1), the following
axis-specific operations can be used at the user's end:
● DIAMONA (axis-specific modal diameter programming: ON)
● DIAMOFA (axis-specific modal diameter programming: OFF)
● DIAM90A (axis-specific modal diameter programming for G90 and AC, radius programming
for G91 and IC)
● DIACYCOFA (axis-specific modal diameter programming: OFF in cycles)
● DIAMCHANA (transfer of the diameter programming channel status)
MD20360 $MC_TOOL_PARAMETER_DEF_MASK
Bit Value Meaning
1 1 Transverse axis tool length as a diameter
2 1 Alarm for wear or tool length as a diameter and plane change
3 1)
0 Work offset $P_EXTFRAME and frames
For transverse axes, work offsets in frames are always calculated as radius values.
1 The work offset (WO) in frames in the transverse axis as a diameter
The frame stores the work offsets internally as a radius value. There is no conversion
during a change of diameter to radius programming or vice versa.
4 1 Preset value as a diameter
5 1) 0 External work office (axis overlay)
For transverse axes, the external work offset is always calculated as a radius value.
1 External WO of the transverse axis as a diameter
There is no conversion during a change of diameter to radius programming or vice
versa.
6 1 Actual values of the transverse axis as a diameter
7 1 Display of actual values of the transverse axis as a diameter value
8 1)
1 Display of remaining path in WCS always as a radius
9 1) For all of the transverse axes for which it is set that the specifications of the handwheel are
path specifications (MD11346 $MN_HANDWH_TRUE_DISTANCE == 1), the following applies:
0 Half of the path of the specified handwheel increment is traveled if channel-specific
or axis-specific diameter programming is active for this axis.
1 Half of the path of the specified handwheel increment is always traveled.
10 1 Tool portion of an active tool carrier that can be oriented if no tool is active
11 1 Evaluation of $TC_DP6 as a diameter
12 1 Evaluation of $TC_DP15 as wear of the tool diameter
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 867
P1: Transverse axes
13.2 Parameterization
MD20360 $MC_TOOL_PARAMETER_DEF_MASK
Bit Value Meaning
13 1)
1 When jogging around circles, the circle center point coordinate is always a radius
value, see SD42690 $SC_JOG_CIRCLE_CENTRE
14 1) 1 For cycle masks, the absolute values of the transverse axis are always meant as the
radius.
15 1 Incremental values of the transverse axis for cycle masks as diameters
1) The function is dependent upon the settings in MD20100 $MC_DIAMETER_AX_DEF and MD30460
$MA_BASE_FUNCTION_MASK, bit 2
Basic Functions
868 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P1: Transverse axes
13.3 Programming
To ensure that the reference axis for G96 / G961 / G962 is retained during a reset, end of part
program or start of part program, the following setting must be made:
● Channel reset or part program end: MD20110 $MC_RESET_MODE_MASK, bit 18 = 1
● Part program start: MD20112 $MC_START_MODE_MASK, bit 18 = 1
A reference axis for G96 / G961 / G962 can also be assigned without the parameterization of
a transverse axis in MD20100 via SCC[AX]. For this scenario, the constant cutting speed must
not already be activated with G96. For additional information, see the following:
References
Programming Manual Fundamentals, Feedrate Control and Spindle Motion
"Constant cutting rate (G96/G961/G962, G97/G971/G972, G973, LIMS, SCC)
13.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
0 : ' '
]
/RQJLWXGLQDOD[LV
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 869
P1: Transverse axes
13.4 Supplementary conditions
Note
The additionally specified axis must be activated via MD30460
$MA_BASE_FUNCTION_MASK with bit 2 = 1.
The axis specified must be a known axis in the channel. Geometry, channel or machine axes
are permitted.
Programming is not permitted in synchronized actions.
The following axis-specific modal statements can be programmed several times in a part
program block:
● DIAMONA[<Axis>]: Diameter programming for G90, G91, AC and IC ON
● DIAMOFA[<Axis>]: Diameter programming OFF, in other words, radius programming ON
● DIAM90A[<Axis>]: Diameter or radius programming depending on the reference mode:
– Diameter programming ON in connection with absolute dimensioning G90 and AC
– Radius programming ON in connection with incremental dimensioning G91 and IC
● DIACYCOFA[Axis]: Radius programming for G90 and G91 ON, for the HMI, the last
active G command of this group remains active
● DIAMCHANA[Axis]: Acceptance of diameter programming channel status
● DIAMCHAN: All axes with MD30460, bit 2 = 1 accept the diameter programming channel
status
Axis-specific modal statements have priority over the channel setting.
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>].
Basic Functions
870 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P1: Transverse axes
13.5 Examples
13.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.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 871
P1: Transverse axes
13.6 Data lists
Basic Functions
872 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl 14
14.1 Brief description
General
The PLC basic program organizes the exchange of signals and data between the PLC user
program and the NC, HMI and MCP areas. 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, 12/2017, 6FC5397-0BP40-6BA1 873
P3: Basic PLC program for SINUMERIK 840D sl
14.1 Brief description
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.
Note
The function of the machine is largely determined by the PLC program. Every PLC program
in the RAM can be edited with the programming device.
Requirement
SIMATIC STEP 7 as of Version 5.5 SP3
Basic Functions
874 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.2 Key data of the PLC CPU
Note
I/O addresses for integrated drives
The I/O addresses above 4096 are reserved for the integrated drives of the NCU and must
not assigned otherwise.
Scope
Axes/spindles 31
Channels 10
Mode groups 10
Functions
Status/control signals +
M decoders (M00-99) +
G group decoders +
Aux. function distributors +
Aux. function transfer, interrupt-driven +
M decoding acc. to list +
Move axes/spindles from PLC +
ASUP interface +
Error/operating messages +
Transfer MCP and HHU signals +
Display control handheld unit +
Read/write NC variables and GUD +
PI services +
Tool management +
Star/delta switchover +
M to N +
Safety Integrated +
Program diagnostics +
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 875
P3: Basic PLC program for SINUMERIK 840D sl
14.4 PLC mode selector
S 1) Meaning Remark
0 RUN-P The PLC program can be changed without activation of the password
1 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.
2 STOP Processing the PLC program is stopped and all PLC outputs are set to substitute
values.
3 MRES The PLC is switched into the STOP state followed by a PLC general reset (de‐
fault data).
1) Switch position of the PLC mode selector
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 NC and PLC general reset can be found in:
CNC Commissioning Manual: NC, PLC, Drive:
● Section "Switch-on/power-up" > "Operator control and display elements for power-up"
● Section "Switch-on/power-up" > "NC and PLC general reset"
● Section "General tips" > "Separate NC and PLC general reset"
Basic Functions
876 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.7 Starting up the PLC program
References
CNC Commissioning Manual: NC, PLC, Drive:
● Section: "Connect PG/PC to PLC"
● Section: "Commissioning PLC"
● Section: "Basics" > "PLC program"
● Section: "General tips" > "Separate NC and PLC general reset"
● Section: "General tips" > "Integrating PG/PC into the network (NetPro)"
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 877
P3: Basic PLC program for SINUMERIK 840D sl
14.7 Starting up the PLC program
References
CNC Commissioning Manual: NC, PLC, Drive; Section: "Commissioning PLC" > "Creating a
PLC program"
Note
Installation/update
Before installing the toolbox for SINUMERIK 840D sl, SIMATIC STEP 7 must be installed.
It is recommended that the hardware expansions for STEP 7 be installed again from the toolbox
after an update of STEP 7.
Contents
The OB source programs, including standard parameterization, interface symbols and data-
block templates for the handheld unit and M decoding functions are included in the basic
program.
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)
Basic Functions
878 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.7 Starting up the PLC program
Basic program
The version of the basic program is displayed on the Version screen of the user interface along
with the control system type.
The control system type is encoded as follows:
Examples:
● "Test project version 01.02.03 01/01/2015"
● "1.2 2015/01/01 test project"
● "01/01/15 version 01.02 test project"
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 879
P3: Basic PLC program for SINUMERIK 840D sl
14.7 Starting up the PLC program
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.
Basic Functions
880 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.7 Starting up the PLC program
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("")
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 881
P3: Basic PLC program for SINUMERIK 840D sl
14.7 Starting up the PLC program
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 = OK
-1 = Function unavailable, call Magic function beforehand
-2 = File name cannot be generated
-4 = Container parameter invalid or container block empty
-5 = Internal error (memory request rejected by Windows)
-6 = Internal error (problem in STEP 7 project)
-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
Basic Functions
882 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.7 Starting up the PLC program
Program code
' 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;
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 883
P3: Basic PLC program for SINUMERIK 840D sl
14.7 Starting up the PLC program
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. This
means, variables selected in an older software version need not be reselected when the
software is upgraded.
Identical numbers
If handling and basic program blocks have identical numbers, the block numbers of the basic
program must remain unchanged. The block numbers of the handling blocks must be renamed
to free numbers via STEP 7.
Basic Functions
884 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.8 Coupling of the PLC CPU
14.7.9 Troubleshooting
This section describes problems which may occur, their causes and remedies and should be
read carefully before hardware is replaced.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 885
P3: Basic PLC program for SINUMERIK 840D sl
14.8 Coupling of the PLC CPU
Note
As with the PLC integrated in SINUMERIK, there is no automatic start of the PLC after power
failure and recovery for a SIMATIC S7-300 PLC when a "PLC stop" is triggered by an operator
action on the programming device. For safety reasons, the PLC remains in the stop state with
an appropriate diagnostic entry. You can start the PLC only by an operator action on the
programming device, "Execute a restart", or via the mode selector "Stop" > "Run" (warm
restart).
Physical interfaces
With the SINUMERIK 840D sl, the PLC integrated in the NCU offers the option of exchanging
signals between the NC and PLC directly via a dual-port RAM.
Basic Functions
886 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.8 Coupling of the PLC CPU
230&3
(63*
(WKHUQHW
,%13RUW
(WKHUQHW3RUW
(WKHUQHW7&3,3
IDFWRU\EXV
LQWHUQDOEXV.%XV5DFN 6SURWRFRO
& 6 6
6 .%XV &
(TXLYDOHQW
FRPP
&3 'ULYH 3/&
' 1&. 9',
8QLWV
VO ,QWHUIDFH
'3'LUHFW .5LVF
$FFHVV
,QWHUQDOYLUWXDO352),%86
5HDOWLPHV\VWHP
6,180(5,.&RQWURO8QLW1&8
352),%86 03,352),%86
([WHUQDO
'ULYH
(7
8QLWV
Interface: NC/PLC
The data exchange between NC and PLC is organized by the basic program on the PLC side.
The status information, such as "Program running", stored by the NC in the NC/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 NC (e.g. NC start)
entered in the interface data block by the user are also written to the internal DPR and
transferred to the NC at the start of the cycle.
Workpiece-program-specific auxiliary functions transferred to the PLC are first evaluated by
the basic program (alarmdriven) and then transferred to the user interface at the start of OB1.
If the relevant NC block contains auxiliary functions that require that NC processing is
interrupted (e.g. M06 for tool change), the basic program stops the decoding of the NC 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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 887
P3: Basic PLC program for SINUMERIK 840D sl
14.8 Coupling of the PLC CPU
(e.g. M08 for cooling medium on), the transfer of these "fast" auxiliary functions is directly
acknowledged in OB40, so that decoding is only insignificantly influenced by the transfer to
the PLC.
The evaluation and enabling of the G commands transferred from the NC are also alarm-driven
and acknowledged, however they are transferred directly to the user interface. If a G command
is evaluated at several points in the PLC program, differences in the information of the G
command within one PLC cycle may arise.
In the case of NC actions triggered and assigned with parameters by the PLC (e.g. traverse
concurrent axes), triggering and parameter assignment is performed using FCs and FBs, not
interface data blocks. The FCs and FBs belonging to the actions are supplied together with
the basic program. The FCs and FBs required must be loaded by the user and called in the
PLC program of the machine manufacturer (machine program). For an overview of FC, FB
and data blocks, sorted according to basic and extended functions, please refer to Section
"Start-up of PLC programs".
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.
Basic Functions
888 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.9 Interface structure
Interface DBs
Mapping in interface DBs is necessary due to the large number of signals exchanged between
the NC and PLC. These are global DBs from the viewpoint of the PLC program. During system
start-up, the basic program creates these data blocks from current NC 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.
General
The PLC/NC interface comprises a data interface on one side and a function interface on the
other. The data interface contains status and control signals, auxiliary and G commands, while
the function interface is used to transfer jobs from the PLC to the NC.
Data interface
The data interface is subdivided into the following groups:
● NC-specific signals
● Mode-group-specific signals
● Channel-specific signals
● Axis/spindle/drive-specific signals
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 889
P3: Basic PLC program for SINUMERIK 840D sl
14.9 Interface structure
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 NC.
'%
+0, 0HVVDJHV
'% 1&
6LJQDOVWR1&.FRPSLOHF\FOHV
1& 6LJQDOVIURP1&.FRPSLOHF\FOHV
'% 1&
6LJQDOVWR1&
6LJQDOVIURP1&
0RGHJURXS
'% 0RGHJURXS
%$* '% 0RGHJURXS
6LJQDOVWRPRGHJURXS
6LJQDOVIURPPRGHJURXS
'DWDLQWHUIDFH
'% +0,
+0, 6LJQDOVWR+0,
6LJQDOVIURP+0, 3/&XVHU
SURJUDP
'% &KDQQHO
'% &KDQQHO
'% &KDQQHO
6LJQDOVWRFKDQQHO
1&FKDQQHO 6LJQDOVIURPFKDQQHO
'% $[LVVSLQGOH
'% $[LVVSLQGOH
$[LV '% $[LVVSLQGOH
VSLQGOH 6LJQDOVWRD[LV
GULYH 6LJQDOVIURPD[LV
'% 7RROPDQDJHPHQW
7RRO -REIRUORDGXQORDGORFDWLRQ
PDQDJHPHQW -REIRUVSLQGOHDQGWXUUHW
)&
1&FKDQQHO 6WDUW$68%
$[LV 6WDUWFRPSHWLQJD[LVVSLQGOH
VSLQGOH 3RVLWLRQLQJD[LVLQGH[LQJD[LV
7RRO $FNQRZOHGJPHQWIRUWRROPDQDJHPHQW
)XQFWLRQLQWHUIDFH
PDQDJHPHQW 'LUHFWLRQVHOHFWLRQIRUWRROPDJD]LQH
)%
5HDGZULWH1&.YDULDEOH
1& 3,VHUYLFHV
5HDG*8'
+0, 0WR1
6DIHW\ 6,UHOD\EUDNHWHVW
,QWHJUDWHG
Basic Functions
890 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.9 Interface structure
Compile-cycle signals
In addition to the standard signals exchanged between the PLC and NC, 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 NC, then from the NC to the PLC. The user must
synchronize the NC and PLC as necessary (e.g. using the semaphore technique). Signal
transmission is asynchronous between NC and PLC. This means, for example, that active NC
data transmission can be interrupted by the PLC. This can mean that data is not always
consistent.
PLC/NC signals
The group of signals from the PLC to NC includes:
● Signals for modifying the high-speed digital I/O signals of the NC
● Keyswitch and emergency stop signals
'%
%\WH&RQWUROOLQJGLJLWDO1&.LQSXWV
2QERDUGLQSXWV
&RQWUROOLQJGLJLWDO1&.RXWSXWV
2QERDUGRXWSXWV
$[LVWDEOHV
.H\RSHUDWHGVZLWFKHPHUJRII
$FWXDOYDOXHVRIWKHGLJLWDO1&.LQSXWV
2QERDUGLQSXWV
6HWSRLQWVRIWKHGLJLWDO1&.RXWSXWV
2QERDUGRXWSXWV
9DULRXVVLJQDOV
+DQGZKHHOVHOHFWLRQ
+0,
+0,VWDWXVVLJQDOV
6WDWXVVLJQDOVRIWKHEDVLFSURJUDP *3
6WDWXVVLJQDOV 1&.
6RIWZDUHFDPV
'HFRGLQJ
&RQWUROOLQJGLJLWDO1&.LQSXWV
+DQGZKHHO ([WHUQDOLQSXWV
VHOHFWLRQ
&RQWUROOLQJGLJLWDO1&.RXWSXWV
([WHUQDORXWSXWV
$[LVLQWHUIDFH &RQWUROOLQJDQDORJ1&.LQSXWV
*HRD[LVLQWHUIDFHLQ
([WHUQDOLQSXWV
WKHFKDQQHO
&RQWUROOLQJDQDORJ1&.RXWSXWV
([WHUQDORXWSXWV
$FWXDOYDOXHVRIWKHGLJLWDO1&.LQSXWV
([WHUQDOLQSXWV
6HWSRLQWVRIWKHGLJLWDO1&.RXWSXWV
([WHUQDORXWSXWV
$FWXDOYDOXHVRIWKHDQDORJ1&.LQSXWV
([WHUQDOLQSXWV
6HWSRLQWVRIWKHDQDORJ1&.RXWSXWV
([WHUQDORXWSXWV
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 891
P3: Basic PLC program for SINUMERIK 840D sl
14.9 Interface structure
NC/PLC signals
The group of signals from the NC to PLC includes:
● Actual values of the digital and analog I/O signals of the NC
● Ready and status signals of the NC
Also stored in this group are the HMI handwheel selection signals and the channel status
signals.
The signals for handwheel selection are decoded by the basic program and entered in the
machine/axis-specific interface.
Basic Functions
892 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.9 Interface structure
'%
%\WH
%DVLFSURJUDP
&RQWUROVLJQDOV
0RGHVHOHFWLRQ 0RGHJURXS
0RGHVHOHFWLRQ
6HOHFWLRQVLJQDOVIURP+0, +0,
PRGHJURXS
$FWLYHPRGH
0&3 1&.
PLC/NC signals
The signal groups below must be considered on the interface:
● Control/status signals
● Auxiliary commands / G commands
● Tool management signals
● NC functions
The control/status signals are transferred cyclically at the start of OB1. The signals entered in
the channel-specific interface by the HMI (HMI signals are entered by the PLC operating
system) are also transferred at this time if they have been defined on the HMI operator panel,
not on the MCP.
Auxiliary commands and G commands are entered in the interface data blocks in two ways.
First, they are entered with the change signals.
● The M signals M00 - M99 (they are transferred from the NC with extended address 0) are
also decoded and the associated interface bits set for the duration of one cycle.
● For G commands, only the groups selected via machine data are entered in the interface
data block.
● The S values are also entered together with the related M signals (M03, M04, M05) in the
spindle-specific interface. The axis-specific feedrates are also entered in the appropriate
axisspecific interface.
When the tool management (magazine management) function is activated in the NC, the
assignment of spindle or revolver and the loading/unloading points are entered in separate
interface DBs (DB71-73).
The triggering and parameter assignment of NC functions is performed by means of PLC
function calls.
The following function calls are available:
● Position a linear axis or rotary axis
● Position an indexing axis
● Start a prepared asynchronous subprogram (ASUP)
● Read/write NC variables
● Update magazine and tool motion
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 893
P3: Basic PLC program for SINUMERIK 840D sl
14.9 Interface structure
Some of the above functions are described in their own function documentation.
3RVLWLRQVHWSRLQWIURP
WKH,32
3RVLWLRQ
FRQWUROOHU
&ORVHGORRS
FRQWUROOHUHQDEOH
FDQFHOHG
8SGDWHVHWSRLQW
$FWXDOSRVLWLRQ
YDOXH
Basic Functions
894 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.9 Interface structure
'%
)HHGUDWH
&RPPRQ VSLQGOHRYHUULGH
%\WH D[LVVSLQGOH &RQWUROVLJQDOV
VLJQDOV 7UDYHUVH
VLJQDOV
$[LVVLJQDOV /LPLWVZLWFKHV
6SLQGOHVLJQDOV &RQWUROVLJQDOV
'ULYHVLJQDOV &RQWUROVLJQDOV
7HFKQRORJ\ &RQWUROVLJQDOV
*ULQGLQJ $[LV
5HVHUYHG VSLQGOH
GULYH
&RPPRQ 6WDWXVVLJQDOV
D[LVVSLQGOH
$FWLYH,1&PRGH
VLJQDOV
$[LVVLJQDOV 6WDWXVVLJQDOV
$[LDO)YDOXH
6HWSRLQWJHDUVWDJH
6SLQGOH 6WDWXVVLJQDOV
VLJQDOV 06:HUW
'ULYHVLJQDOV 6WDWXVVLJQDOV
7HFKQRORJ\
*ULQGLQJ 6WDWXVVLJQDOV
1&.
YDOXHIURP06)GLVWULEXWRURIEDVLFSURJUDP
General
The following groups of functions are required for the PLC/HMI interface:
● Control signals
● Machine operation
● PLC messages
● PLC status display
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).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 895
P3: Basic PLC program for SINUMERIK 840D sl
14.9 Interface structure
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
896 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.9 Interface structure
The message acquisition structure is shown in the figure "Acquisition and signaling of PLC
events". The features include:
● Bit fields for events related to the NC/PLC interface are combined in a single data block
(DB2) with bit fields for user messages.
● Bit fields are evaluated at several levels by FC10.
– Evaluation 1; acquisition of group signals
A group signal is generated for each group of signals if at least one bit signal is set to
"1". This signal is generally linked to the disable signal of the NC/PLC interface (on
modules with diagnostic functions). The group signals are acquired completely in cycles.
– Evaluation 2; acquisition of alarm messages
A fixed specification exists to define which signals in a group generate an alarm message
when they change from "0" to "1".
– Evaluation 3; acquisition of operating signals
A fixed specification exists to define which signals in a group generate an operational
message.
● The scope of the user bit fields (user area) is set by default to 10 areas with 8 bytes each,
but the number of areas can also be adjusted to suit the requirements of the machine
manufacturer via basic program parameters in FB1.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 897
P3: Basic PLC program for SINUMERIK 840D sl
14.9 Interface structure
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
%LWDUUD\V
0HVVDJH
DFTXLVLWLRQ
&KDQQHO )HHGGLVDEOH
5HDGLQGLVDEOH
1&6WDUWGLVDEOH
&KDQQHOQ $/$50B6
6)&
$/$50B64
$[LVVSLQGOH )HHGUDWHVSLQGOH
GLVDEOH
$[LVVSLQGOHQ
8VHUDUHD ,QWHUUXSW
EXIIHU
$FTXLVLWLRQ 0HVVDJHVHUYLFH
*URXSVLJQDOV RIJURXSVLJQDOV
GLVDEOHVLJQDOV IRUFKDQQHODQG 3* +0,23
D[LV'%
Basic Functions
898 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.9 Interface structure
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 899
P3: Basic PLC program for SINUMERIK 840D sl
14.9 Interface structure
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
900 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.9 Interface structure
%+*
&XVWRPHU
7&8
NH\VGLVSOD\V 0&3
(WKHUQHWEXV
&3'VO 1&.
+0,
):
3*
(QJLQHHULQJ
(WKHUQHWEXV
'35
)%
0&3
6LJ
3/&
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).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 901
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
2SHUDWLQJPRGHV
,1&PRGH
(%Q .H\VLJQDOV )HHGUDWHVSLQGOHRYHUULGH
$UURZNH\V
)&
.H\RSHUDWHGVZLWFK
0RGH
&XVWRPHUNH\V JURXS
1&.D[LV
&XUUHQWPRGH
VSLQGOH
/('V &XUUHQW,1&PRGH LQWHUIDFH
$%P )HHGUDWHVSLQGOH1&VWDWXV
$FWLYHDUURZNH\
6WDWXVRIFXVWRPHUNH\V
0RQLWRULQJ
$'R
7UDQVPLWGDWD
$'S 0RQLWRULQJ
5HFHLYHGDWD
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
902 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
2% )%
%DVLFSURJUDP
5HVWDUW
8VHUSURJUDP
)&)&)&)&
2% )&
0&3VLJQDOV
%DVLFSURJUDP +7bVLJQDOV
)&)&)&
7RROPDQDJHPHQW
)&
6SLQGOHFRQWURO
&\FOLFSURFHVVLQJ
)&
6WDUW$683
)%)%)%)%
8VHUSURJUDP
5HDGZULWHWDJ
3,VHUYLFHV
)&
6WDUGHOWD
)&
'LVSOD\FRQWURO
+7
)&
)DXOWDQGRSHUDWLQJ
PHVVDJHV
2% )&
%DVLFSURJUDP
+DUGZDUHLQWHUUXSW
8VHUSURJUDP
2% )&
%DVLFSURJUDP
'LDJQRVWLFLQWHUUXSW
8VHUSURJUDP
2% )&
%DVLFSURJUDP
0RGXOHUDFNIDLOXUH
8VHUSURJUDP
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 903
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
Startup,
The synchronization of NC and PLC is performed during start-up. 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.
Synchronization
The PLC is synchronized with the HMI, NC and CP during power-up.
Sign-of-life
After a correct initial start and the first complete OB1 cycle (basic setting cycle) the PLC and
NC continuously exchange sign-of-life signals. If the sign of life from the NC fails to materialize,
the PLC/NC interface is initialized and the signal "NC CPU ready" in DB10 is set to FALSE.
General
The NC/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 transferred cyclically; transfer of the
auxiliary commands and G commands takes place only 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 NC
● Acquisition and conditioning of the user errors and operational messages.
Basic Functions
904 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
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 modes)
● Channel-specific signals (such as program and feed modifications)
● Axis- and spindle-specific signals (such as feed disable)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 905
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
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 duration = 1 cycle time).
G group decoders
In the case of G commands sent by the NC, 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 commands are entered in the channel DBs. The entered G commands are retained even
after the NC program has terminated or aborted.
Note
During system start-up, 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 messages and operational messages is
performed by an FC in the basic program.
Basic Functions
906 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
General
In the event of a diagnostic alarm or failure of an I/O module, basic program block OB82 or
OB86 is called. The basic program block FC5 "Diagnostic alarm and module failure"
(Page 1048) is called from these blocks.
Bus diagnostics
The status of the DP slave modules at PROFIBUS connections MPI/DP, DP1 - or the
PROFINET connection PN - is signaled to the user program using the "Slaves OK" group signal
of the particular bus system:
● DB10.DBX92.0 == 1 (MPI/DP bus: Slaves OK)
● DB10.DBX92.1 == 1 (DP1 bus: Slaves OK)
● DB10.DBX92.2 == 1 (PN bus: Slaves OK)
The group signal is derived from the LED status of the respective bus system (system state
list SZL 0x174).
Alarm Output
If an error or a failure of a slave is detected at the particular bus system, the following alarm
is displayed:
● Alarm 400551 (MPI/DP bus)
● Alarm 400552 (DP1 bus)
● Alarm 400553 (PN bus)
The alarm is automatically deleted again when the error is removed.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 907
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
The alarm is immediately suppressed as soon as the signal is set. Before the fault occurs or
while a fault is already active.
When the signal is reset, in the case of a fault, the corresponding alarm is displayed.
The signals are reset when the control system powers up.
Note
By setting the signal, the fault monitoring for the complete bus line is deactivated!
General
During cyclic operation, the PLC continuously monitors NC availability by querying the sign-of-
life. If the NC is no longer reacting, the NC/PLC interface is initialized, and the NC-CPU
ready signal in the area of the signals from NC (DB 10.DBX 104.7) is reset. Furthermore, the
signals sent from the NC 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.
NC → PLC signals
The signals sent by the NC to the PLC are divided into the following groups:
● Status signals from the NC, channels, axes and spindles
● Modification signals of the auxiliary functions
● Values of the auxiliary functions
● Values of the G commands
Status signals:
The status signals from the NC, channels, axes, and spindles are reset.
Auxiliary function change signals:
Auxiliary function change signals are also reset.
Auxiliary function values:
Auxiliary function values are retained so that it is possible to trace the last functions triggered
by the NC.
G command values:
G command values are reset (i.e. each initialized with the value 0).
Basic Functions
908 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
PLC → NC signals
The signals sent by the PLC to the NC are divided into control signals and tasks that are
transferred by FCs to the NC.
Control signals:
The control signals from the PLC to the NC are frozen; cyclic updating by the PLC basic
program is suspended.
Jobs from PLC to NC:
The FCs and FBs, which are used to pass jobs to the NC, must no longer be processed by
the PLC user program, as this could lead to incorrect checkback signals. During power-up of
the control, a job (e.g. read NC data) must not be activated in the user program until the NC-
CPU ready signal is set.
14.10.7 Functions of the basic program called from the user program
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 NC:
● Traversing concurrent axes (FC18)
● Start asynchronous subprograms (ASUPs) (FC9),
● Select NC programs (FB4)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 909
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
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).
)&
6SLQ&WUO
6WDUW ,Q3RV
6WRS
(UURU
)XQFW
6WDWH
0RGH
$[LV1R
3RV
)5DWH
Basic Functions
910 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
)&
$683
6WDUW $FWLY
&KDQ1R 'RQH
,QW1R (UURU
6WDUW(UU
5HI
Note
If an asynchronous subprogram has not been prepared by an NC program or by FB4 (ASUP)
(e.g. if no interrupt no. has been assigned), a start error is output (StartErr = TRUE).
Read/Write NC variables
NC variables can be read with FB GET while values can be entered in NC variables with FB
PUT. The NC 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, a PC software (NC-Var-Selector) 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. NC floating-point values (64-bit) are converted to PLC format (32-bit with 24-
bit mantissa and 8-bit exponent) and vice versa]. A loss of accuracy results from the conversion
from 64-bit to 32-bit REAL. The maximum precision of 32-bit REAL numbers is approximately
10 to the power of 7.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 911
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
)% )%
*(7 387
5HT (UURU 5HT (UURU
1XP9DU 1'5 1XP9DU 'RQH
$GGU 6WDWH $GGU 6WDWH
8QLW 8QLW
&ROXPQ &ROXPQ
/LQH /LQH
5' 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. Generally, 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 Section "Block
descriptions (Page 968)".
Note
Other communication blocks (e.g. BSEND, USEND) which possess a CP343-1 are not
supported in SINUMERIK 840D sl.
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.
Basic Functions
912 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
UDT assignments
UDT number Assignment to interface DB Meaning
UDT2 DB2 Alarms/messages
UDT10 DB10 NCK signals
UDT11 DB11 Mode group signals
UDT19 DB19 HMI signals
UDT21 DB21 to DB30 Channel signal
UDT31 DB31 to 61 Axis/spindle signals
UDT71 DB71 Tool management: Load/unload locations
UDT72 DB72 Tool management: Change in spindle
UDT73 DB73 Tool management: Change in revolver
UDT77 DB77 MCP and HHU signals with standard SDB 210
UDT1002 DB2 Extended alarms / messages (FB1 parameter "Ex‐
tendAlMsg:=TRUE")
UDT 1071 DB 1071 Tool management: Loading/unloading points (mul‐
titool)
UDT 1072 DB 1072 Tool management: Change in spindle (multitool)
UDT 1073 DB 1073 Tool management: Change in turret (multitool)
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" (spindle / rotary axis) is necessary in the program previously created.
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, 12/2017, 6FC5397-0BP40-6BA1 913
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
The symbolic names, commands and absolute addresses can be viewed by means of a STEP
7 editor command when the UDT block is opened.
Note
Unused bits and bytes are listed, for example, with the designation "f56_3".
● "56": Byte address of the relevant data block
● "3": Bit number in this byte
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.
Basic Functions
914 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
1& 3/&
%DVLF3/&SURJUDP 8VHUSURJUDP
&KDQQHO
3DUWSURJUDP '%
)&;
'HFRGLQJOLVW
10 0GHFRGLQJDFF
WROLVW
'%
6LJQDOVWR1& 6LJQDOOLVW
5HDGLQGLVDEOH 0DFKLQLQJ
6WDWXVFRQWURO
VLJQDO
5HDGLQGLVDEOH ฺ
'% )&<
ฺ
5HDGLQGLVDEOH
&KDQQHO
3DUWSURJUDP
'%
10 5HDGLQGLVDEOH
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 968) ").
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 915
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
● There must be an entry in the decoding list for every group of M functions to be decoded.
● The assignment between the M function with extended address and the signal to be set in
the signal list is specified in the decoding list using the first and last M function of the
associated group.
– First M function: Parameter: "MFirstAdr" ≙ signal or bit 0
– Last M function: Parameter: "MLastAdr" ≙ dependent on the difference to the first M
function maximum signal or bit 15
Structure of the decoding list (DB75):
An entry in the decoding lists consists of 3 parameters, each of which is assigned to a group.
Group Extended M address First M address of the group Last M address of the group
1 MSigGrp[1].MExtAdr MSigGrp[1].MFirstAdr MSigGrp[1].MLastAdr
2 MSigGrp[2].MExtAdr MSigGrp[2].MFirstAdr MSigGrp[2].MLastAdr
... ... ... ...
16 MSigGrp[16].MExtAdr MSigGrp[16].MFirstAdr MSigGrp[16].MLastAdr
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
Basic Functions
916 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
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 := 2; extended M address of the 1st group
MSigGrp[1].MFirstAdr := L#1; first M address of the group
MSigGrp[1].MLastAdr := L#5; last M address of the group
MSigGrp[2].MExtAdr := 3; extended M address of the 2nd group
MSigGrp[2].MFirstAdr := L#12; first M address of the group
MSigGrp[2].MLastAdr := L#23; last M address of the group
MSigGrp[3].MExtAdr := 40; extended M address of the 3rd group
MSigGrp[3].MFirstAdr := L#55; first M address of the group
MSigGrp[3].MLastAdr := L#55; last M address of the group
END_DATA_BLOCK
Call FB 1, DB 7(
...
ListMDecGrp := 3; //M decoding of three groups
...
);
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, 12/2017, 6FC5397-0BP40-6BA1 917
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
General
The user has the option of storing PLC-specific machine data in the NC. 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 only created by the basic program
during power-up when user machine data is used, i.e. sum of GP parameters "UDInt", "UDHex"
and "UDReal" is greater than ZERO.
Data storage
The data is seamlessly stored in the DB20 by the basic PLC program in the following sequence:
1. INT values
2. HEX values (bit arrays)
3. FLOAT values
INT and FLOAT values are saved in S7 format.
The hexadecimal values are stored in DB20 in the order in which they are input (use as bit
arrays).
Basic Functions
918 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
'%
8VHUPDFKLQHGDWD 1XPEHURI8',QW
W\SH,17
8VHUPDFKLQHGDWD 1XPEHURI8'+H[
W\SH%<7(
8VHUPDFKLQHGDWD 1XPEHURI
W\SH5($/ 8'5HDO
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.
Example
For the project in the example, four INT values, two HEX values for bit information, and one
FLOAT value are needed.
Machine data:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 919
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
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,
NCCyclTimeout := S5T#200MS,
NCRunupTimeout := S5T#50S;
DB20
Address 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
TYPE UDT20
STRUCT
UDInt : ARRAY [0 .. 3] OF INT;
UDHex0 : ARRAY [0 .. 15]OF BOOL;
UDReal : ARRAY [0 .. 0] OF REAL; //Description as field, for
later expansions
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.
Basic Functions
920 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
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:
Access operations in user program (list includes only symbolic read access):
...
L "UData".UDInt[0];
L "UData".UDInt[1];
L "UData".UDInt[2];
L "UData".UDInt[3];
U "UData".UDHex0[0];
U "UData".UDHex0[1];
U "UData".UDHex0[2];
U "UData".UDHex0[3];
U "UData".UDHex0[4];
U "UData".UDHex0[5];
U "UData".UDHex0[6];
U "UData".UDHex0[7];
... ...
U "UData".UDHex0[15];
L "UData".UDReal[0];
...
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 921
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
"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.
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".
Basic Functions
922 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
(WKHUQHW
&3 1&
'VO 0&3 0&3 %+*
LQW '
3/& 3
5
03,'3
'3
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 923
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
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
924 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 925
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
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).
IdentMcpBusProfilNo Value
MCP, HHU, HT 8, HT 2 B#16#0
Direct keys such as e.g. OP 08T, OP 12T B#16#1
IdentMcpType (Mcp-Type)
no device connected 0
MCP 483C IE (Compact) 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
TCU_DT (direct keys) B#16#86
MCP_MPP B#16#87
HT 2 B#16#88
OP 08T (direct keys) B#16#89
Basic Functions
926 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
(WKHUQHW
&3 1&.
'VO 0&3 0&3 %+*
LQW3/& '
3
5
03,'3
'3
352),%86FRQILJ
IRU0&3++8
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, 12/2017, 6FC5397-0BP40-6BA1 927
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
(WKHUQHW
&3 1&.
'VO 0&3 0&3 %+*
LQW3/& '
3
5
03,'3
'3
352),%86
FRQILJIRU0&3
Basic Functions
928 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
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
&3 1&.
'VO 0&3 0&3 %+*
LQW3/& '
3
5
03,'3
'3
352),1(7
352),1(7
FRQILJIRU0&3
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 929
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
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.
PROFIBUS variant
With PROFIBUS variants, this functionality is only possible to a limited extent and with
additional user effort.
With the PROFIBUS variant of the MCP, the data area of the DB77 for specified MCP1, MCP2
or HHU can be used for the MCP pointer on FB1. The MCP slave bus address must be set
correctly under MCPxBusAdr as this is used as the basis for monitoring. A user program copy
routine must copy the signals of the active MCP from the I/O area configured in HW Config to
DB77. This enables a number of MCPs on the PROFIBUS to be switched via signals. Set the
MCPxStop parameter to TRUE for the switchover phase from one MCP to another.
Basic Functions
930 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.10 Structure and functions of the basic program
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;
Requirement
MCP firmware as of V02.02.04
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 931
P3: Basic PLC program for SINUMERIK 840D sl
14.12 Assignment overview
Example
Extract from OB100: (based on the example for MCP1)
Number Meaning
FB15 Basic program
FB1, FC2, FC3, FC5 Basic program
FC0 ... 29 Reserved for Siemens
FB0 ... 29 Reserved for Siemens
FC30 ... 999 1)
Free for user assignment
FB30 ... 999 1) Free for user assignment
Basic Functions
932 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.12 Assignment overview
Number Meaning
FC1000 ... 1023 Reserved for Siemens
FB1000 ... 1023 Reserved for Siemens
FC1024 ... upper limit Free for user assignment
FB1024 ... upper limit Free for user assignment
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 952)".
14.12.3 Assignment: DB
Note
Only as many data blocks as are required according to the NC machine data configuration are
set up.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 933
P3: Basic PLC program for SINUMERIK 840D sl
14.13 PLC functions for HMI (DB19)
Note
The data blocks of channels, axes/spindles and tool management functions that are not
activated may be assigned as required by the user.
Function
The channel displayed on the HMI, e.g. in the machine start screen, can be selected from the
PLC user program via the HMI/PLC interface.
Requirement
More than one channel is parameterized in the NC.
Basic Functions
934 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.13 PLC functions for HMI (DB19)
DB19 Meaning
DBX32.0 - .5 PLC → HMI Function number: 1 = channel selection
DBX32.6 PLC → HMI Function request
DBX32.7 HMI → PLC Status: 1 = "function being executed"
DBB33 PLC → HMI Channel number: 1, 2, 3, ... maximum number of channels
Next channel: FFH
DBB36 HMI → PLC Error identification:
● 0: No error
● 1: Invalid function number (DBX32.0 - .5)
● 2: Invalid parameter (DBB33 - DBB35)
● 3: Error when writing the HMI-internal variable
● 10: Channel not present (DBB33)
Functional sequence
PLC → HMI
The PLC user program must maintain the following execution sequence:
1. Check whether the interface is free for a new job:
– DB19.DBX32.6 == 0 (function request)
– DB19.DBX32.7 == 0 (status)
2. If the interface is free, the job data must be entered and the function request set:
– DB19.DBB33 = <channel number>
– DB19.DBX32.0 - .5 = 1 (function number)
– DB19.DBX32.6 = 1 (function request)
HMI → PLC
The HMI makes the following responses for error-free parameterization:
1. Once the HMI has recognized the function request for channel selection, the status is set
to "function being performed" and the function request reset:
– DB19.DBX32.7 = 1 (status)
– DB19.DBX32.6 = 0 (function request)
2. Once the channel selection has been performed, the status is reset again and value 0 is
set as error identification:
– DB19.DBX32.7 = 0 (status)
– DB19.DBX36 = 0 (error identification)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 935
P3: Basic PLC program for SINUMERIK 840D sl
14.13 PLC functions for HMI (DB19)
Function
Preselected programs/workpieces can be selected for machining by the NC via the PLC/HMI
interface.
The preselection is implemented by entering programs/workpiece in files (these are known as
PLC program lists (*.ppl).
Requirements
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
936 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.13 PLC functions for HMI (DB19)
Note
The PLC may only request a new job if the last job has been acknowledged by the HMI:
DB19.DBB26 == 0
Program list
DB19.DBB16 = <number of the program list>
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 937
P3: Basic PLC program for SINUMERIK 840D sl
14.13 PLC functions for HMI (DB19)
Program number
The program number refers to the programs contained in the selected program list.
DB19.DBB17 = <program number>
● user area: 1 - 100
● oem area: 201 - 255
Job acknowledgment
● DB19.DBX26.7 == 1 (selection identified)
● DB19.DBX26.3 == 1 (program is selected)
● DB19.DBX26.2 == 1 (error when selecting the program, see error ID DB19.DBB27)
● DB19.DBX26.1 == 1 ((job completed)
Error detection
DB19.DBB27 == <error ID>
Error detection
Value Meaning
0 No error
1 Invalid program list number (DB19.DBB16)
3 User specification Program list plc_proglist_main.ppl not found (only for DB19.DBB16 ≠
129, 131)
4 Invalid program number (DB19.DBB17)
5 Job list in the selected workpiece could not be opened.
6 Error in job list. (Job list Interpreter returns error)
7 Job list interpreter returns empty job list
Basic Functions
938 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.13 PLC functions for HMI (DB19)
Value Meaning
0 Key lock inactive
1 Key lock active
The number of the active operating area is normally displayed in: DB19.DBB21
If the HMI monitor is active, the number of the active operating area is no longer displayed in
DB19.DBB21, but instead in the user-specific configured area of the HMI monitor (Page 948).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 939
P3: Basic PLC program for SINUMERIK 840D sl
14.13 PLC functions for HMI (DB19)
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 3
Turning/milling
Start screen 19
T,S,M 2
Set WO 21
Positioning 4
Face milling 18
Stock removal 80
Cycle start screen for all user screens 91
General settings 1
Multi-channel function settings 106
Collision avoidance settings 107
Measurement log settings 108
Swiveling 60
All G commands 100
Actual zoom value (MCS/WCS) 101
Thread synchronizing 102
Retract 103
Handwheel 104
Action synchronization 105
Turning technology: Workpiece zero
Workpiece zero (main menu) 30
Basic Functions
940 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.13 PLC functions for HMI (DB19)
Screen 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
Measure tool (main menu) 50
Manual X or user screen 51
Manual Y 71
Manual Z or user screen 52
Zoom or user screen 53
User screen 54
User screen 55
Probe calibration X or user screen 56
Probe calibration Z or user screen 57
Automatic length in Z 58
Automatic length in Y 73
Automatic length in X 59
Milling technology: Workpiece zero
Workpiece zero (main menu) 30
Measure edge X 5
Measure edge X 22
Measure edge Z 23
User screen 7
Align edge or user screen 31
Distance 2 edges or user screen 32
Right-angled corner 33
Any corner or user screen 8
Rectangular pocket 34
1 hole or user screen 9
2 holes 35
3 holes 36
4 holes 37
Rectangular spigot 38
1 circular spigot or user screen 10
2 circular spigots 39
3 circular spigots 40
4 circular spigots 41
Set up level 42
Probe length calibration or user screen 11
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 941
P3: Basic PLC program for SINUMERIK 840D sl
14.13 PLC functions for HMI (DB19)
Screen Number
Probe radius calibration 12
Milling technology: Workpiece, measurement
Measure tool (main menu) 50
Measure length, manual (with milling tool) 16
or measure length in X, manual (with turning tool)
or user screen
Measure length in Y, manual (with turning tool) 74
Measure length in Z, manual (with turning tool) 24
Measure diameter, manual or user screen 17
Measure length, automatic (with milling tool) 13
or measure length in X, automatic (with turning tool)
or user screen
Measure length in Y, automatic (with turning tool) 75
Measure length in Z, automatic (with turning tool) 25
Measure diameter, automatic or user screen 14
User screen 51
Probe calibration or user screen 15
Fixed point calibration or user screen 52
RunMyScreens (only for set JobShopIntegration)
User screen for the 1st horizontal softkey 96
User screen for the 2nd horizontal softkey 98
User screen for the 3rd horizontal softkey 99
User screen for the 4th horizontal softkey 94
User screen for the 5th horizontal softkey 95
User screen for the 6th horizontal softkey 92
User screen for the 7th horizontal softkey 97
User screen for the 8th horizontal softkey 90
User screen for the 9th horizontal softkey 83
User screen for the 10th horizontal softkey 82
User screen for the 11th horizontal softkey 93
User screen for the 12th horizontal softkey 84
User screen for the 13th horizontal softkey 85
User screen for the 14th horizontal softkey 86
User screen for the 15th horizontal softkey 87
User screen for the 16th horizontal softkey 88
DB19.DBB24
Screen Screen number
Turning/milling
Taper turning 61
Angle milling 62
Basic Functions
942 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.13 PLC functions for HMI (DB19)
DB19.DBB24
Screen Screen number
Stop 63
Straight line 1300
Straight line all axes 1330
Straight line X alpha 1340
Straight line Z alpha 1350
Circle 1360
Drilling 1400
Center drilling 1410
Drilling, thread centered 1420
Drilling, centering 1433
Drilling, drilling 1434
Drilling, reaming 1435
Drilling, boring 1436
Drilling, deep hole drilling 1440
Drilling, deep hole drilling 2 1441
Drilling, tapping 1453
Drill thread milling 1455
Positions 1473
Position row 1474
Position grid 1477
Position frame 1478
Position circle 1475
Position pitch circle 1479
Obstacle 1476
Turning 1500
Turning, stock removal 1 1513
Turning, stock removal 2 1514
Turning, stock removal 3 1515
Turning, groove 1 1523
Turning, groove 2 1524
Turning, groove 3 1525
Turning, undercut form E 1533
Turning, undercut form F 1534
Turning, undercut thread DIN 1535
Turning, undercut thread 1536
Turning, thread, longitudinal 1543
Turning, thread, taper 1544
Turning, thread, facing 1545
Turning, thread, chain 1546
Turning, cut-off 1550
Milling 1600
Milling, face milling 1610
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 943
P3: Basic PLC program for SINUMERIK 840D sl
14.13 PLC functions for HMI (DB19)
DB19.DBB24
Screen Screen number
Milling, rectangular pocket 1613
Milling, circular pocket 1614
Milling, rectangular spigot 1623
Milling, circular spigot 1624
Milling, longitudinal groove 1633
Milling, circumferential groove 1634
Milling, open groove 1635
Milling, multi-edge 1640
Milling, thread milling 1454
Milling, engraving 1670
Contour turning 1200
Contour turning, new contour / last contour 1210
Contour turning, stock removal along contour 1220
Contour turning, contour grooving 1230
Contour turning, contour plunge turning 1240
Contour milling 1100
Contour milling, new contour / last contour 1110
Contour milling, path milling 1120
Contour milling, centering 1130
Contour milling, rough drilling 1140
Contour milling, contour pocket 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
From the front 1744
From the rear 1746
From the Left 1748
From the right 1752
Half section 1780
Basic Functions
944 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.13 PLC functions for HMI (DB19)
DB19.DBB24
Screen Screen number
Turning view 1782
Milling technology: Simultaneous recording
Top view 1743
3D view 1761
From the front 1745
From the rear 1747
From the Left 1749
From the right 1753
Machine space 1791
Half section 1781
Turning view 1783
Screen Number
Actual zoom value MCS/WCS 101
Screen Number
MDI 20
All G commands 100
Actual zoom value MCS/WCS 101
Handwheel 104
Action synchronization 105
Program control 210
Settings 250
Screen Number
Automatic 200
Overstore 202
Program control 210
Block search 220
General settings 250
Multi-channel function settings 106
Collision avoidance settings 107
All G commands 100
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 945
P3: Basic PLC program for SINUMERIK 840D sl
14.13 PLC functions for HMI (DB19)
Screen Number
Actual zoom value MCS/WCS 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
From the front 248
From the rear 249
From the Left 251
From the right 252
Machine space 247
Half section 253
Turning view 254
Screen Number
Tool list 600
Tool wear 610
User tool list 620
Magazine 630
Work offset
Work offset, active 642
Work offset, overview 643
Work offset, basic 644
Work offset, G54 - G509 645
Details of work offset, active, overview, basic or G54 - G509 647
User variable
R parameters 650
Global GUD 1 (SGUD) 660
Global GUD 2 (MGUD) 661
Global GUD 3 (UGUD) 662
Global GUD 4 663
Global GUD 5 664
Global GUD 6 665
Basic Functions
946 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.13 PLC functions for HMI (DB19)
Screen Number
Global GUD 7 666
Global GUD 8 667
Global GUD 9 668
Channel GUD 1 (SGUD) 690
Channel GUD 2 (MGUD) 691
Channel GUD 3 (UGUD) 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
Working area limitation 671
Spindle data 670
Spindle chuck data 672
Ctrl-Energy
Ctrl-Energy, main menu 6170
Ctrl-Energy, analysis 6171
Ctrl-Energy, profiles 6172
Ctrl-Energy, analysis graphic 6176
Ctrl-Energy, analysis long-term measurement 6177
Ctrl-Energy, analysis details 6179
Ctrl-Energy, compare measurements 6178
Screen 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
From the front 418
From the rear 419
From the Left 421
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 947
P3: Basic PLC program for SINUMERIK 840D sl
14.13 PLC functions for HMI (DB19)
Screen Number
From the right 422
Half section 423
Turning view 424
Screen Number
NC directory 300
Local drive 325
USB / configured drive1 330
Configured drive2 340
Configured drive3 350
Configured drive4 360
Configured drive5 383
Configured drive6 384
Configured drive7 385
Configured drive8 386
Screen Number
Alarm list 500
Messages 501
Alarm log 502
NC/PLC variable 503
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 939)
● Screen numbers (Page 939)
Parameterization
The data area is configured using the following display machine data:
MD9032 $MM_HMI_MONITOR = "string"
Basic Functions
948 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.13 PLC functions for HMI (DB19)
Note
Even byte address
The data area must start at an even byte address.
Byte Meaning
EB n + 0 Active SINUMERIK operating area
EB n + 1 Reserved
EB n + 2 Current screen number
EB n + 3
EB n + 4 Reserved
... ...
EB n + 7 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"
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 949
P3: Basic PLC program for SINUMERIK 840D sl
14.14 PLC functions for drive components on the integrated PROFIBUS
14.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).
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
950 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.14 PLC functions for drive components on the integrated PROFIBUS
14.14.3 Example
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 951
P3: Basic PLC program for SINUMERIK 840D sl
14.15 Memory requirements of the basic PLC program
The SIMATIC S7 block FB390 "ALM_Control" checks the status of the ALM and enables the
user to switch it on or off.
A description of the block and an example project are available for download under the
following link to Industry Online Support:
http://support.automation.siemens.com/WW/view/de/49515414
Basic Functions
952 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.15 Memory requirements of the basic PLC program
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 953
P3: Basic PLC program for SINUMERIK 840D sl
14.15 Memory requirements of the basic PLC program
Example:
Based on the memory requirements in the table above, the memory requirements have been
determined for two sample configurations (see table below).
Basic Functions
954 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.16 Basic conditions and NC VAR selector
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, 500 > 500
free capacity (MB)
Interfaces MPI, Ethernet incl. cable
Memory card
Graphic SVGA (1024*768)
Mouse Yes
Operating system Windows 2000 /XP Professional, STEP 7 version 5.3 SP2 or
higher
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 955
P3: Basic PLC program for SINUMERIK 840D sl
14.16 Basic conditions and NC VAR selector
Basic Functions
956 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.16 Basic conditions and NC VAR selector
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 957
P3: Basic PLC program for SINUMERIK 840D sl
14.16 Basic conditions and NC VAR selector
● Lists sl (Book1)
● Lists sl (Book2)
14.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. This means, variables selected in an older software version need not be reselected
when the software is upgraded.
Basic Functions
958 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.16 Basic conditions and NC VAR selector
3URMHFW
YDU DZO
PGE
+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
NC variables including machine and setting data: ncv_NcData.mdb
Parameters of the drive: 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 NC 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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 959
P3: Basic PLC program for SINUMERIK 840D sl
14.16 Basic conditions and NC VAR selector
Overview
The figure below illustrates how the NC VAR selector is used within the STEP 7 environment.
1&9$5VHOHFWRU 67(3
XVHUGDWD
8, 9DU,'
&DOO)%9DU $UHDXQLW
9DU1DPH &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
960 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.16 Basic conditions and NC VAR selector
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 961
P3: Basic PLC program for SINUMERIK 840D sl
14.16 Basic conditions and NC VAR selector
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.
"Save" stores the variable list under a path, which is already specified. If the project path is
not known, then the procedure is as for "Save As....".
"Save As..." displays a window in which the path for the project to be stored can be specified.
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.
Basic Functions
962 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.16 Basic conditions and NC VAR selector
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.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 963
P3: Basic PLC program for SINUMERIK 840D sl
14.16 Basic conditions and NC VAR selector
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 14-25 Window with filter criteria for displaying list of variables
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.
Basic Functions
964 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.16 Basic conditions and NC VAR selector
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.
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 14-27 Entry field for line, column and block no.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 965
P3: Basic PLC program for SINUMERIK 840D sl
14.16 Basic conditions and NC VAR selector
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 double-
click 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 14-28 Window for project path and name of file to be stored
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)
Basic Functions
966 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.16 Basic conditions and NC VAR selector
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, 12/2017, 6FC5397-0BP40-6BA1 967
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Function
The synchronization of NC and PLC is performed during start-up. 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.
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 921) ".
Basic Functions
968 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 969
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
ListMDecGrp: INT:=0;
NCKomm: BOOL:= FALSE;
MMCToIF: BOOL:=TRUE;
HWheelMMC: BOOL:=TRUE; // Handwheel selection via HMI
ExtendAlMsg : BOOL;
MCP_IF_TCS: BOOL;
ExtendChanAxMsg: BOOL;
MsgUser: INT:=10; // Number of user areas in DB 2
UserIR: BOOL:= FALSE; // User programs in OB40,
// Observe local data expansion!
IRAuxfuT: BOOL:= FALSE; // Evaluate T function in OB40
IRAuxfuH: BOOL:= FALSE; // Evaluate H function in OB40
IRAuxfuE: BOOL:= FALSE; // Evaluate DL function in OB40
UserVersion: POINTER; // Pointer to string variable,
which is displayed in the version
display of the user interface
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
MaxBAG: INT;
MaxChan: INT;
MaxAxis: INT;
ActivChan: ARRAY[1..10] OF
BOOL;
ActivAxis: ARRAY[1..31] OF
BOOL;
UDInt : INT;
UDHex: INT;
UDReal : INT;
IdentMcpType : BYTE ;
Basic Functions
970 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
IdentMcpLengthIn : BYTE ;
IdentMcpLengthOut BYTE ;
:
END_VAR
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 971
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Basic Functions
972 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 973
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Basic Functions
974 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
If an error occurs during communication with a machine control panel (MCP) or handheld unit
(HHU), the following alarms are displayed on the HMI and the input signals (MCP1In, MCP2In
or BHGIn) are set to the value zero:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 975
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
MCP1Timeout := S5T#700MS,
MCP1Cycl := S5T#200MS,
NC-CyclTimeout := S5T#200MS,
NC-RunupTimeout := S5T#50S);
// INSERT USER PROGRAM HERE
END_ORGANIZATION_BLOCK
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>"
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. Using 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.
Basic Functions
976 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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
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.
Group Area
1 C[1] N B O T
2 C[2] N B O T
3 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, 12/2017, 6FC5397-0BP40-6BA1 977
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Req : 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
Basic Functions
978 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
VAR_IN_OUT
RD1 : ANY;
RD2 : ANY;
RD3 : ANY;
RD4 : ANY;
RD5 : ANY;
RD6 : ANY;
RD7 : ANY;
RD8 : ANY;
END_VAR
Error identifiers
NC variables
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 979
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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 Description
x <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.
Basic Functions
980 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Pulse diagram
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 981
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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:
S7 symbol table
"NCVAR" is entered in the S7 symbol table as a symbolic name for the data block DB120:
Basic Functions
982 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
DATA_BLOCK DB120
VERSION : 0.0
STRUCT
C1_RP_rpa0_0:
STRUCT
SYNTAX_ID : 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 := P#M 4.0 REAL 1,
RD2 := P#M 24.0 REAL 1);
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 983
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Example
For example, to be able to read an NC variable of the type DOUBLE without adapting the
format, an ANY pointer with REAL2 type must be specified in the destination area "RDx" (e.g.:
P#M100.0 REAL2). If the basic program recognizes REAL2 as the target type when reading
a variable of the DOUBLE type, the data is transferred to the PLC data area as a 64-bit floating-
point number.
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>
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".<NC-
Variable>"
Basic Functions
984 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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.
● When drive-specific variables are written, 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 write job, only variables from the same area, channel, or drive object can be written.
Note
Error case
When writing 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
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.
Group Area
1 C[1] N B O T
2 C[2] N B O T
3 V[.] H[.] --- --- ---
The same rules apply for channels 3 to 10 as for group 1 and group 2 shown in the example.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 985
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Note
The number of usable variables can be less than eight when simultaneously writing several
variables of the "String" type.
Basic Functions
986 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
VAR_OUTPUT
Error : BOOL;
Done : BOOL;
State : WORD;
END_VAR
VAR_IN_OUT
SD1 : ANY;
SD2 : ANY;
SD3 : ANY;
SD4 : ANY;
SD5 : ANY;
SD6 : ANY;
SD7 : ANY;
SD8 : ANY;
END_VAR
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 987
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Error identifiers
NC variables
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 Meaning
x <Error number of PROFIdrive profile> + 20H or 36D
Basic Functions
988 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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.
Pulse diagram
5HT
'RQH
(UURU
Call example
Writing of three channel-specific machine data items of channel 1:
Selection of the three data items 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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 989
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
DATA_BLOCK DB120
VERSION : 0.0
STRUCT
C1_RP_rpa0_0:
STRUCT
SYNTAX_ID : 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;
Basic Functions
990 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
END_STRUCT;
BEGIN
END_DATA_BLOCK
CALL FB3, DB122(
Req := 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 := P#M 4.0 REAL 1,
SD2 := P#M 24.0 REAL 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 995)
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 1027)".
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"
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 991
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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>"
General conditions
● Every call of FB4 must be assigned a separate instance DB from the user area.
● The start of a PI service (FB4 call with "Req" = 1) is only permitted in the cyclic part of the
PLC basic program (OB1).
If the PI service is not started (FB4 call with "Req" = 0), the parameters can also be written
in the start-up part of the PLC basic program (OB100). The PI service can then be started
using the already written parameters in the cyclic part of the PLC basic program (OB1) by
calling FB4 with "Req" = 1.
● The execution of the PI service generally extends over several PLC cycles.
Basic Functions
992 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Call example
Parameterization
Symbol Operand Data type
PI DB16 DB16
STR DB124 DB124
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 993
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Basic Functions
994 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Flow diagram
5HT
'RQH
(UURU
General PI services
PI service Function
ASUP (Page 996) Assign interrupt
CANCEL (Page 997) Execute cancel
CONFIG (Page 997) Reconfiguration of tagged machine data
DIGION (Page 998) Digitizing on
DIGIOF (Page 998) Digitizing off
FINDBL (Page 998) Activate block search
LOGIN (Page 999) Activate password
LOGOUT (Page 999) Reset password
NCRES (Page 999) Trigger NC-RESET
SELECT (Page 999) Select program for processing for one channel
SETUDT (Page 1000) Sets the current user data to active
SETUFR (Page 1001) Activate user frame
RETRAC (Page 1001) Retraction of the tool in the tool direction
PI service Function
CRCEDN (Page 1002) Create a tool cutting edge with specification of the T number
CREACE (Page 1002) Create a tool cutting edge with the next higher/free D number
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 995
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
PI service Function
CREATO (Page 1003) Create a tool with specification of a T number.
DELECE (Page 1003) Delete a tool cutting edge
DELETO (Page 1004) Delete tool
MMCSEM (Page 1004) Semaphores for various PI services
TMCRTO (Page 1005) Create a tool with specification of a name, a duplo number
TMFDPL (Page 1006) Empty location search for loading
TMFPBP (Page 1007) Empty location search
TMGETT (Page 1008) T number for the specified tool name with duplo number
TMMVTL (Page 1009) Prepare magazine location for loading, unload tool
TMPOSM (Page 1011) Position magazine location or tool
TMPCIT (Page 1012) Set increment value for workpiece counter
TMRASS (Page 1012) Reset active status
TRESMO (Page 1012) Reset monitoring values
TSEARC (Page 1013) Complex search using search screen forms
TMCRMT (Page 1016) Create multitool
TMDLMT (Page 1017) Delete multitool
POSMT (Page 1017) Position multitool
FDPLMT (Page 1018) Search/check an empty location within the multitool
Basic Functions
996 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Note
The ASUP PI service may only be executed when the specified channel is in the RESET state.
An ASUP prepared with FB7 can be subsequently initiated with FC9.
References:
Programming Manual, Job Planning; Section: "Flexible NC Programming" > "Interrupt routine
(ASUP)"
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).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 997
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Function: Digitizing on
Selecting digitizing in the parameterized channel.
Basic Functions
998 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Example
Password: STRING[8] := 'SUNRISE';
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 999
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
References
Programming Manual, Job Planning; Section: "File and Program Management" > "Program
Memory".
Block types
Workpiece directory WPD
Main program MPF
Subprogram SPF
Cycles CYC
Asynchronous subprograms ASP
Binary files BIN
Basic Functions
1000 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1001
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Basic Functions
1002 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1003
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Function
The PI service is used for testing, setting and resetting of channel-specific semaphores from
HMI through the 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.
NOTICE
Resetting the semaphore
After blocking the critical data area by setting the semaphore and subsequent reading or
writing of the data, the critical data area must be enabled once again by resetting the
semaphore, otherwise subsequent blocking will not be possible.
Basic Functions
1004 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
IF semaphore == FREE
THEN
...
ELSE // Semaphore is blocked
Set bit memory for "Function could not be executed, repeat
necessary"
ENDIF
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1005
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
After execution of the PI service, the T number of the tool created is available in the TV block
under TnumWZV.
Note
Before and after this PI service, the PI service MMCSEM with parameter "WVar1" must be
called with function number 1 for TMCRTO. See Section "PI service: MMCSEM (Page 1004)".
Function
Search for empty location for loading, depending on the parameter assignment:
● LocationNumber_To = -1 AND MagazineNumber_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)). LocationNumber_ID and MagazineNumber_ID can be set as search criteria or
not (= -1). The PI service is positively or negatively acknowledged depending on the search
result.
● LocationNumber_To = -1 AND MagazineNumber_To = magazine number
An empty location for the tool specified with a T number is searched for in the specified
magazine. Location number (reference) and MagazineNumber_Ref can be allocated as
search criteria or with -1. The PI service is positively or negatively acknowledged depending
on the search result.
● LocationNumber_To = location number AND MagazineNumber_To = magazine number
The specified location is checked to ensure that it is free for loading of the tool.
LocationNumber_ID and MagazineNumber_ID can be set as search criteria or -1. The PI
service is acknowledged positively or negatively depending on the search result.
The parameters "WVar1" and "WVar2" are located at the source.
Loading: If the source is an internal loading magazine, then the parameters are located
at the target (a real magazine).
Unloading: Source is always a real magazine.
Basic Functions
1006 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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 1004)".
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 1004)".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1007
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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.
Basic Functions
1008 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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 1004)".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1009
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Loading
● "WVar2" LocationNumber_From, "WVar3" MagazineNumber_From
The tool location of the magazine is moved to the loading station/location for loading and
the tool is loaded.
● "WVar4" LocationNumber_To== -1
First, an empty location for the tool is searched for in the magazine. Then the empty location
of the magazine is moved to the loading station/location for loading and the tool is loaded.
After the PI service is carried out, the empty location number that is found is located in
"magCMCmdPar2" (BTSS block TM), real magazine of the channel.
● "WVar4" LocationNumber_To == -2
The tool is loaded into the current tool location of the magazine. After the PI service is
carried out, the location number is located in "magCMCmdPar2" (BTSS block TM), real
magazine of the channel.
Unloading
● "WVar4" LocationNumber_To, "WVar5" MagazineNumber_To
● The tool location of the magazine is moved to the loading station for loading and the tool
is unloaded.
In the BTSS block TP (magazine data: location data), the magazine location of the removed
tool is designated as free.
Note
Before and after this PI service, the PI service MMCSEM with parameter "WVar1" must be
called with function number 3 for TMMVTL. See Chapter "PI service: MMCSEM (Page 1004)".
Basic Functions
1010 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1011
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Basic Functions
1012 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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, 12/2017, 6FC5397-0BP40-6BA1 1013
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Result list
After completion of the PI service without errors, the search result is located in the BTSS block
TF (parameterization, return parameter from TMGETT, TSEARC) in the following variables:
● "resultCuttingEdgeNrUsed" D numbers of cutting edges used since last quantity count
● "resultNrOfCutEdgesUsed" Number of cutting edges since last quantity count
● "resultNrOfTools" Number of found tools
● "resultToolNr" T numbers of found tools
● "resultToolNrUsed" T numbers of cutting edges used since last quantity count
If no tool was found, the number of found tools is zero ("resultNrOfTools" == 0).
Basic Functions
1014 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Symmetrical search
A symmetrical search, relative to a magazine location, can only be performed if the following
conditions have been met:
● The search range must encompass only one magazine: "WVar1" (from: Magazine number)
== "WVar3" (to: magazine number)
● Specification of a reference location, i.e. a magazine location for which a symmetrical
search is to be performed: "WVar5" (number of the reference magazine) and "WVar6"
(number of the reference location)
● For the reference location, a multiple assignment to the magazine to be searched must
have been configured in the TPM block.
● "WVar7" (search direction) = 3
The reference location is a buffer location, i.e. a tool location from the buffer magazine or from
the internal loading magazine, e.g. swapping station, gripper, loading station. The symmetrical
search is made in relation to the magazine location in front of the reference location.
If the magazine location is upstream of the reference location outside of the search range, the
PI service will respond as if no suitable location had been found.
Note
Before and after this PI service, the MMCSEM PI service must be called up with the associated
parameter WVar1 for this PI service. See Chapter "PI service: MMCSEM (Page 1004)".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1015
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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 1004)".
Basic Functions
1016 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Position specification
Position specification can be specified as one of three variants:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1017
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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 1004)".
Position specification
The tool to be positioned in the multitool can be specified as one of three variants:
● "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 assigned via:
● "WVar4" = <Multitool location number>
Basic Functions
1018 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Function
The function block FB5 "GETGUD" is used for reading global user data (GUD) in the NC or
channel area.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1019
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
FB2 and FB3 with parameter "Addr1" ... "Addr8" = "<Token>". Addressing by means of a token
is mandatory for writing GUD variables. If the token is used to address GUD variable arrays,
the parameter "Line1" ... "Line8" = "<array index>" of the FB2/FB3 must also be provided with
values.
To read a GUD variable of the DOUBLE type 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. The value of the
GUD variables of the DOUBLE type is then adopted in the PLC data area as a 64-bit floating
point number.
Prerequisites
● Release of the NC/PLC communication by OB100, FB1 parameter "NCKomm" = 1
● For the data block that will contain the string with the name of the GUD variable, the S7
Symbol Editor must be used to assign a symbol in the S7 symbol table of the S7 project
(cf. call example 1 below: DB_GUDVAR). In the data block, a string of suitable length must
be created to contain the name of the GUD variable (cf. call example 1 below:
"DB_GUDVAR".GUDVar1). This symbol is then passed on to parameter "Addr" of FB5, e.g.
Addr := "DB_GUDVAR".GUDVar1. If the token for the GUD variable is required for the
following calls of the FB2/FB3, the 10-byte token structure must be created in a DB, e.g.
the same DB (cf. call example 1 below: "DB_GUDVAR".GUDVar1Token). This structure is
specified in parameter VarToken of the FB5, cf. call example 1 below: FB5, VarToken :=
"DB_GUDVAR".GUDVar1Token. This token is then specified in parameters "Addr1" …
"Addr8" when FB2/FB3 is called, cf. call example 1 below: FB3, Addr1 := "GUDVar1Token".
General conditions
● FB5 has multi-instance capability.
● Every call of FB5 must be assigned a separate instance DB from the user area.
● Reading of a GUD variable (FB5 call with Req = 1) is only permitted in the cyclic part of the
PLC basic program (OB1). If the job is not started (FB5 call with Req = 0), the parameters
can also be written in the start-up part of the PLC basic program (OB100). The job can then
be executed using the already written parameters in the cyclic part of the PLC basic program
(OB1) by calling FB5 with Req = 1.
● Only capital letters may be used for the names of GUD variables.
● Reading of a GUD variable generally extends over several PLC cycles.
Note
Error case
When variables from different channels are read, the following feedback message is output:
● "Error" == TRUE
● "State" == W#16#02
Basic Functions
1020 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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.
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, 12/2017, 6FC5397-0BP40-6BA1 1021
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Error identifiers
0 1 Access error
0 2 Error in job Incorrect compilation of Var. in a job
0 3 Negative acknowledgement, Internal error, try:
job not executable NC RESET
0 4 Data areas or data types do Check data to be
not tally read in RD
1 4 Insufficient local user memo‐ read variable is longer than specified in RD
ry available
0 6 FIFO full Job must be repeated,
since queue is full
0 7 Option not set BP parameter "NCKomm" is not set
0 8 Incorrect target area (SD) RD may not be local data
0 9 Transmission occupied Job must be repeated
0 10 Error in addressing Unit contains value 0
0 11 Address of variable invalid Check addr (or variable name), area, unit
1-8 13 ANY data reference incorrect String/NcVar data required has not been par‐
ameterized
Basic Functions
1022 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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
Conversion to a 10 byte variable pointer. See table "Assignment of the data types" in Chapter
"FB2: GET - read NC variable (Page 976)"
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1023
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
STRUCT
GUDVar1 : STRING[32] := 'GUDVAR1'; // Name is defined by
user
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
FB5
BEGIN
END_DATA_BLOCK
FB3
BEGIN
END_DATA_BLOCK
Basic Functions
1024 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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
STRUCT
GUDVarS : STRING[32] := 'GUD_STRING'; // Name defined by user
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1025
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
GUDVarSToken :
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;
BEGIN
END_DATA_BLOCK
FB5
BEGIN
END_DATA_BLOCK
FB3
BEGIN
END_DATA_BLOCK
Basic Functions
1026 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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 991)".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1027
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Function
The function block FB9 "MzuN" is used for switching over operating components (MCP/OP),
which are connected via a bus system to one or more NCU control modules.
The interface between the individual operating units (operator panels) and the NCU (PLC) is
the M : N interface in data block DB19. FB9 uses the signals of these interfaces.
Basic Functions
1028 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Apart from initialization, sign-of-life monitoring and error routines, the following basic functions
are also performed by the block for control unit 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.
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
In order to prevent, that for an NCU restart, the previously selected MCP is activated, when
calling FB1 in OB100, input parameter "MCP1BusAdr" must be set = 255 (address 1st MCP)
and "MCP1Stop" must be set = TRUE (switch off 1st MCP).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1029
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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.
Basic Functions
1030 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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, 12/2017, 6FC5397-0BP40-6BA1 1031
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
// Save override
L DB21.DBB4; //Feed override interface
T EB28; //Buffer storage (freely input
// or flag byte)
wei1:
U M 100.2; //Switchover takes place
O DB10.DBX104.0; //MCP1Ready
JCN smth2;
U DB10.DBX104.0; //MCP1Ready
FP M 100.1; // Edge memory bit 2
JC smth2;
U M 100.2; //Switchover takes place
R M 100.2; //Reset auxiliary flag 1
JC smth2;
U M 100.3; //Comparison has taken place
Basic Functions
1032 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1033
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
General conditions
● FB10 has multi-instance capability
● After the start of the SPL program, FB10 is called once per SI relay in the cyclic part of the
PLC basic program (OB1).
● Every call of FB10 must be assigned a separate instance DB from the user area.
Basic Functions
1034 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
TimeValue1 : 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
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, 12/2017, 6FC5397-0BP40-6BA1 1035
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
When an error occurs, the actual position value exits the parameterizable monitoring window.
The position controller prevents sagging of the axis. The function test of the brake mechanical
system is negatively acknowledged.
References
A detailed description of the parameterization of the NC and drive within the framework of the
"Safety Integrated" function can be found in:
Function Manual for Safety Integrated
Note
Note on FC18
If FC18 is called over the further course of the user program for the same axis, the calls must
be mutually interlocked. For example, this can be achieved via a common call of this function
with an interlocked common data interface for the FC18 parameters. A second option is to call
the FC18 repeatedly, in which case the inactive FC18 will not be processed by the program.
A multiple-use interlock must be provided.
Basic Functions
1036 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
General conditions
● FB2 has multi-instance capability.
● Every call of FB11 must be assigned a separate instance DB from the user area.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1037
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Fault IDs
State Description
0 No error
1 Start conditions not fulfilled, e.g. the axis is not in closed-loop control / brake closed / axis
inhibited
2 No NC checkback in "Brake test active" signal on selection of brake test
3 No "Brake applied" checkback by input signal Bclosed
4 No travel command output (e.g., axis motion has not been started)
5 Fixed end stop will not be reached → axis RESET was initiated.
6 Traversing inhibit/Approach too slow → fixed stop cannot be reached. TV FXSreached mon‐
itoring timeout
7 Brake is not holding at all (the end position is reached)/approach speed is too high
8 Brake opens during the holding time
9 Error when deselecting the brake test
10 Internal error
11 "PLC-controlled axis" signal not enabled in the user program
Basic Functions
1038 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
U M 111.2; //Moveaxis
FP M 111.5; //FC18 Start
S M 111.7; //Start FC18
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1039
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
//optional begin
JCN m002:
L MB 115; //old channel status
OW W#16#10;
T DBB 8; //Request channel axis
m002: NOP 0;
//optional end
Basic Functions
1040 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1041
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Signal_4 : 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
STRUCT
Field: ARRAY [0 .. 249 ] OF //can be any size of this struct
STRUCT
Basic Functions
1042 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
END_STRUCT;
END_STRUCT;
BEGIN
END_DATA_BLOCK
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, 12/2017, 6FC5397-0BP40-6BA1 1043
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Call example
FUNCTION FC99: VOID
TITLE =
VERSION : 0.0
BEGIN
NETWORK
TITLE = NETWORK
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 state signals are cyclically transferred. The transfer
of auxiliary and G commands is processed only on 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).
Basic Functions
1044 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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
operational 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; // Call basic program as 1st FC
//INSERT USER PROGRAM HERE
CALL FC19( //MCP signals to interface
BAGNo := B#16#1, // Mode group no. 1
ChanNo := B#16#1, // Channel no. 1
SpindleIFNo := B#16#4, //Spindle interface number = 4
// (Number of the associated machine
axis)
FeedHold := m22.0, //Feed stop signal
//Modal
SpindleHold := db2.dbx151.0); //Spindle stop modal
//in message DB
CALL FC10( // Error and operational messages
ToUserIF := TRUE, //Signals transferred from DB2
//to interface
Ackn := I6.1); //Acknowledgment of error messages
//via I6.1
END_ORGANIZATION_BLOCK
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1045
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Function
Block-synchronized transfers from the NC to the PLC (auxiliary and G commands) are
processed in the alarm-driven 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 commands are evaluated immediately and passed to the application interface.
NC process alarms
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, only when the FB1 parameter "UserIR"
is TRUE. This data is not set on other events (process alarms 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 process alarms (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.
Basic Functions
1046 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Even if the selection for the auxiliary function groups (T, H, DL) is made using interrupt control,
only one interrupt can be processed by the user program for the selected functions.
A bit is set for a specific channel in the local data "GP_AuxFunction" for the user program (if
"GP_AuxFunction[1]" is set, an auxiliary function is available for the 1st channel).
In the related channel-DB the change signal and the function value are available for the user.
The request signal of this interrupt-driven function is reset to zero in the cyclic basic program
section after the execution of at least one full OB1 cycle (max. approx. two OB1 cycles).
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 the 5th axis).
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 alarm-driven
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, 12/2017, 6FC5397-0BP40-6BA1 1047
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
OB40_DATE_TIME : DATE_AND_TIME;
14.17.13 FC5: GP_DIAG - basic program, diagnostic alarm and module failure
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 ;
Basic Functions
1048 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
OB82_OB_NUMBR : BYTE ;
OB82_RESERVED_1 : BYTE ;
OB82_IO_FLAG : BYTE ;
OB82_MDL_ADDR : INT ;
OB82_MDL_DEFECT : BOOL;
OB82_INT_FAULT : BOOL;
OB82_EXT_FAULT : BOOL;
OB82_PNT_INFO : BOOL;
OB82_EXT_VOLTAGE : BOOL;
OB82_FLD_CONNCTR : BOOL;
OB82_NO_CONFIG : BOOL;
OB82_CONFIG_ERR : BOOL;
OB82_MDL_TYPE : BYTE ;
OB82_SUB_NDL_ERR : BOOL;
OB82_COMM_FAULT : BOOL;
OB82_MDL_STOP : BOOL;
OB82_WTCH_DOG_FLT : BOOL;
OB82_INT_PS_FLT : BOOL;
OB82_PRIM_BATT_FLT : BOOL;
OB82_BCKUP_BATT_FLT : BOOL;
OB82_RESERVED_2 : BOOL;
OB82_RACK_FLT : BOOL;
OB82_PROC_FLT : BOOL;
OB82_EPROM_FLT : BOOL;
OB82_RAM_FLT : BOOL;
OB82_ADU_FLT : BOOL;
OB82_FUSE_FLT : BOOL;
OB82_HW_INTR_FLT : BOOL;
OB82_RESERVED_3 : BOOL;
OB82_DATE_TIME : DATE_AND_TIME;
END_VAR
BEGIN
CALL FC5
(PlcStop := FALSE) ;
END_ORGANIZATION_BLOCK
ORGANIZATION_BLOCK OB86
VAR_TEMP
OB86_EV_CLASS : BYTE ;
OB86_FLT_ID : BYTE ;
OB86_PRIORITY : BYTE ;
OB86_OB_NUMBR : BYTE ;
OB86_RESERVED_1 : BYTE ;
OB86_RESERVED_2 : BYTE ;
OB86_MDL_ADDR : WORD;
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1049
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
14.17.14 FC6: TM_TRANS2 - transfer block for tool management and multitool
Function
The block FC6 "TM_TRANS2" is used for position changes of the tools, state 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 1054)".
Basic Functions
1050 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
14.17.15 FC7: TM_REV - transfer block for tool change with revolver
Function
After a revolver has been changed, the user calls block FC7 "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.
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, 12/2017, 6FC5397-0BP40-6BA1 1051
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
References
● For detailed information about tool management, refer to the Function Manual Tool
Manager.
● PI services for tool management, see:
– FB4: PI_SERV - request PI service (Page 991)
– FC8: TM_TRANS - transfer block for tool management (Page 1054)
– FC22: TM_DIR - direction selection for tool management (Page 1097)
TaskIdent = 4
TaskIdentNo = Channel no.
NewToolMag = Magazine no. of the revolver
NewToolLoc = Original location of the tool
OldToolMag = Magazine no. of the buffer storage (spindle) = 9998
OldToolLoc = Buffer storage no. of the spindle
Status = 1
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 ASUP must be started for this purpose. The current revolver position must be transferred
to the ASUP. In this way, the tool at this location is determined in the ASUP and is selected
(see Jobshop example in the toolbox).
Basic Functions
1052 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Pulse diagram
6WDUW
5HDG\
(UURU !
Call example
CALL // Tool management: Transfer block for revolver
FC7(
Start := m 20.5, // Start := "1 " => initiate the
transfer
ChgdRevNo := DB61.DBB1,
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1053
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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.dbw 12; // Error information
ow w#16#0; // Evaluate error
spn error: // Jump to troubleshooting, if <> 0
m001: // Start of another program
error:
r m 20.5; // Start reset, if an error has
occurred
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 NC of the current positions of the old tool.
The NC knows where the old and the new tool were 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".
Basic Functions
1054 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Block FC TM_TRANS may be started only with "Start" parameter = "TRUE" if an activation
signal for the appropriate interface (DB71, DB72, DB73 in word 0) for this transfer has been
supplied by the tool management function.
When this job is executed correctly, the output parameter "Ready" contains the value TRUE.
The user must then set the"Start" parameter to FALSE or not call the block again.
If the "Ready" parameter = FALSE, the error code in the "Error" parameter must be interpreted
(see Call example FC8 and pulse diagram).
If the error code = 0, then this job must be repeated in the next PLC cycle (e.g. "Start" remains
set to "TRUE"). This means that the transfer operation has not yet been completed.
If the user assigns a value of less than 100 to the "Status" parameter, then the associated
interface in data block DB71 or DB72 or DB73, word 0 is deactivated (process completed).
The appropriate bit for the interface is set to 0 by FC8.
The "Start" parameter does not need a signal edge for a subsequent job. This means that new
parameters can be assigned with "Start = TRUE" immediately when "Ready = TRUE" is
received.
Asynchronous transfer
To ensure that changes in the position of a tool are automatically signaled from the 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 the 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.
Supplementary 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, 12/2017, 6FC5397-0BP40-6BA1 1055
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
References
● For detailed information about tool management, refer to
the Function Manual Tool Management.
● PI services for tool management
– FB4: PI_SERV - request PI service (Page 991)
– FC7: TM_REV - transfer block for tool change with revolver (Page 1051)
– FC22: TM_DIR - direction selection for tool management (Page 1097)
Basic Functions
1056 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Pulse diagram
6WDUW
5HDG\
(UURU !
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1057
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Status
Status Description
1 The tool management job has been completed.
The parameters "NewToolMag", "NewToolLoc", "OldToolMag", "OldToolLoc" of the FC8 block
should be parameterized to the actual positions of the tools involved. Except in the case of
preparing the change, they are normally the specified target positions of the tools of the asso‐
ciated tool management interface, see also "Explanations of the formal parameters".
1. In the case of loading/unloading/reloading, the tool has arrived at the required target
address. If the bit in the interface in DB 71.DBX (n+0).3 "position at loading point" is enabled,
status 1 cannot be used for the function termination. Status 5 must be used for correct
termination.
2. In the case of "Prepare change", the new tool is now available. The tool may, for example,
be positioned in a buffer (gripper). In some cases, the target (magazine, location) of the
old tool has been moved to the toolchange position after placement of the new tool in a
buffer. However, the old tool still remains in the spindle. The preparations for a tool change
are thus complete. After this acknowledgment, the "Change" command can be received.
The positions in parameters "NewToolMag", "NewToolLoc", "OldToolMag" and
"OldToolLoc" correspond to the current tool positions.
3. In the case of "Change" (spindle or revolver), the tools addressed in the interface have now
reached the required target addresses.
The tool change operation is thus completed.
2 The "new" tool cannot be made available
This status is only admissible in conjunction with the "Change tool" command. When this status
is applied, the PLC must be prevented from making a change with the proposed tool. The
proposed (new) tool is disabled by the tool management function in the NC. A new command
is then output by the tool management with a duplo tool. The positions in parameters "New‐
ToolMag", "NewToolLoc", "OldToolMag", and "OldToolLoc" correspond to the original tool po‐
sitions.
3 An error has occurred
The tool positions must not have been changed. Any changes to the magazine positions of the
tool that have taken place in the meantime must be notified beforehand, for example, with
status = 105 via FC8 transfer block. Only then will the tool positions be taken into account by
the tool management function.
4 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). The magazine location specified for the "old" tool must be free. Once this status has
been passed to the tool management in the NC, a new preparation command is generated
(Status_4 = final acknowledgment) and output to the DB72, for which the requested magazine
position of the old tool is considered.
No new tool search is performed explicitly, the positions for "NewToolMag" and "NewToolLoc"
are taken from the original preparation command. But this is done only when this position is
free. Parameters "NewToolMag" and "NewToolLoc" are not taken into account.
Basic Functions
1058 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Status Description
5 The operation is complete
The "new" tool is in the position specified in parameters "NewToolMag", "NewToolLoc". In this
case, the specified tool is not really in this position, but is still in the same magazine location.
However, this magazine location has been moved to the position set in the parameters (e.g.
tool change position). This status may be used only for revolvers, chain-type magazines and
disk magazines. The status enables the tool management function to adjust the current position
of a magazine and to improve the search strategy for subsequent commands. This status is
permissible only in conjunction with loading, unloading, and reloading operations and with
preparations for a tool change. The "OldToolMag" and "OldToolLoc" parameters must be par‐
ameterized with the data of a buffer.
● Loading, reloading:
On loading or reloading, a location for the tool is already reserved in the NC. The machine
operator must then insert the tool at the target location. Notice: The location reservation is
canceled when the control system is switched on again.
● Tool-change preparation:
Tool motions still to be executed are not carried out until after the tool has been changed.
● Positioning to the loading point:
If the bit in the interface in DB 71.DBX (n+0).3 "position at loading point" is enabled, then
only status 5 be used for the function termination (not status 1).
6 The tool management job has been completed
This status has the same function as status 1, but, in addition, a reservation of the source
location is carried out. This status is only permitted when reloading. The command is ended
and the source location of the tool is reserved if the target location is in a buffer magazine.
7 Initiate repetition of the command "Prepare Tool"
This status is only admissible in conjunction with the "Change tool" command. This status is
intended for use when the "new" tool has changed its position (e.g. via an asynchronous com‐
mand of the "new" tool). After "Ready = 1" has been provided by FC8, the "Prepare Change"
command is repeated automatically with the same tool. For the automatic repetition, a new
tool search is carried out. The positions in parameters "NewToolMag", "NewToolLoc", "Old‐
ToolMag", and "OldToolLoc" correspond to the original tool positions.
103 The "new" tool can be inserted
This status is permitted only in the tool change preparation, when the PLC may reject the new
tool (e.g. in case of MD20310 $MC_TOOL_MANAGEMENT_MASK, bit 4=1 for the possibility,
request changed parameter from PLC once again). The tool positions have remained un‐
changed. This status is therefore necessary, when the processing is to be continued in the NC
without an unnecessary stop.
104 The "new" tool is in the position specified in parameters "NewToolMag", "NewToolLoc"
This status is only permissible if the tool is still in the magazine in the same location. The "old"
tool is in the position (buffer) specified in parameters "OldToolMag", "OldToolLoc". In this case,
however, the new tool is not really in this position, but is still in the same magazine location.
However, this magazine location has been moved to the position set in the parameters (e.g.
tool change position). This status may be used only in conjunction with revolvers, chaintype
magazines and disk magazines for the "Tool change preparation" phase. The status enables
the tool management to adjust the current position of a magazine and to improve the search
strategy for subsequent commands.
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").
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1059
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Status definition
A general rule for the acknowledgment status is that the status information 1 to 7 leads to the
termination of the command. If FC8 receives a status information, the "Interface active bit" of
the interface specified in FC8 is reset to "0" (see also interface lists DB 71 to DB 73), thus
completing the operation. The behavior is different in the case of status information 103 to 105.
When the FC8 receives a status information, the "Interface active bit" of this interface remains
at "1". Further processing is required by the user program in the PLC (e.g. continuation of
magazine positioning). This status information is generally used to transfer changes in position
of one or both tools while the operation is still in progress.
Call example
CALL FC8( //Tool management transfer block
Start := m 20.5, // Start := "1 " => initiate the transfer
TaskIdent := DB61.DBB0,
TaskIdentNo := DB61.DBB1,
NewToolMag := DB61.DBW2, // Current position of new tool
NewToolLoc := DB61.DBW4,
OldToolMag := DB61.DBW6, // Current position of old tool
OldToolLoc := DB61.DBW8,
Status := DB61.DBW10, // Status
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
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 ASUP can
be started from the PLC, it must have been selected and parameterized by an NC program or
by FB4 (PI service ASUP). In this case, the channel and the interrupt numbers must match
the parameters in FC9.
Basic Functions
1060 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Once prepared in this way, it can be started at any time from the PLC. The NC program running
on the channel in question is interrupted by the asynchronous subprogram.
Only one ASUP can be started in the same channel at a time. If several ASUPs are started in
one PLC cycle, the ASUPs are started in this order in the NC.
Parameter "Start" = 0 must be set by the user if the ASUP has been terminated ("Done" == 1)
or an error has occurred ("Error" == 1).
For processing jobs, each FC9 needs its own parameter "Ref" from the global user area. This
parameter is for internal use only and must not be changed by the user. The parameter "Ref"
is initialized with the value 0 in the first OB1 cycle and, for this reason, every FC9 must be
called absolutely. Alternatively, the user can initialize parameter "Ref" with a value of 0 during
startup. This option makes conditional calls possible. A conditional call requires parameter
"Start" = 1 during activation of FC9 until a negative edge change has occurred at parameter
"Done" (1 → 0).
General conditions
● The function block FB4 must be terminated before the block FC9 is started.
● The block FC9 cannot be started if DB10, DBX56.1 == 1 (emergency stop).
● Block FC9 must not be started if channel reset is active in the channel in which the ASUP
is to be started.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1061
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Pulse diagram
6WDUW
$FWLY
'RQH
(UURU
Basic Functions
1062 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Call example
CALL FC9( //Start an asynchronous subprogram
//in channel 1 interrupt number 1
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 operational 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 operational 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 alarm 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. The FB1 parameter "ExtendChanAxMsg" is evaluated and so
avoids the limitation of the usable message ranges by configuring the NCK machine data.
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 alarm 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(
ToUserIF := TRUE,
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1063
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Ackn := I 6.1);
Display on HMI
In DB2, a "1" signal must be present for several OB1 cycles to ensure that a message can
also be displayed on the HMI.
There is an upper limit for the number of alarms and messages that can be pending at the
same time. This upper limit is dependent on the PLC CPU. On PLC 317-2DP, the upper limit
for messages pending simultaneously is 60.
References:
List Manual for NC variables and interface signals, Section "PLC user interface" > "PLC alarms/
messages"
Basic Functions
1064 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Call example
CALL FC10( // Error and operational messages
ToUserIF := TRUE, // Signals from DB2 are transferred to interface
Ackn := E6.1 // Acknowledgment of error message via input I6.1
);
14.17.19 FC12: AUXFU - call interface for user with auxiliary functions
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1065
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Example
FUNCTION FC12: VOID // Event control of auxiliary functions
VAR_INPUT
Chan: BYTE ; // Parameter is supplied by basic program
END_VAR
VAR_TEMP
ChanDB: INT;
END_VAR
BEGIN
L Chan; // Channel index
+ 21; // Channel DB offset
T ChanDB; // Save channel DB no.
TO DB[ChanDB]; // Channel DB is opened indirectly
// Auxiliary-function change signals are now scanned, etc.
BE;
END_FUNCTION
Function
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, characters 1 to 16 and for line 2, 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 components 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".
Basic Functions
1066 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
The number of bytes of the variable is linked to the format description. The address justified
to the right within the string is specified by parameter "StringAddr". The number of written
characters is shown in the parameter table.
HT 2 handheld terminal
If HT 2 is used, FB1 parameter "HHU" = 5 must be set. The parameters of the input and output
data must be set, as described in the above paragraph "Handheld Unit HHU".
The value that was configured at S2 of the DIP-Fix switch (rotary coding switch) of the
connecting module of the HT 2 must be assigned to the parameters "BHGRecGDNo" and
"BHGRecGBZNo".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1067
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Basic Functions
1068 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Ranges of values
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1069
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Call example
// DB with name strdat in the simple table, data element disp is declared as String[32] (for 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, // Data type of the variables
StringAddr := MW 30,
Digits := B#16#3, // 3 decimal places
Error := M 90.2);
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 70))
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
1070 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Signal flow
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, Closed-
Loop 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)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1071
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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.
Basic Functions
1072 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Call example
CALL FC17 (
YDelta := I 45.7, // Accept star/delta changeover from
input 45.7
SpindleIFNo := 4, // Spindle interface number: 4
// (Number of the associated machine
axis)
TimeVal := S5T#150ms, // Changeover time: 150 ms
TimerNo := 10, // Timer: 10
Y := O 52.3, // Control of the star contactor:
Output 52.3
Delta := O 52.4, // Control of the delta contactor:
Output 52.4
Ref := MW 50 // Bit memory word 50
};
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1073
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
negatively by InPos="1" or Error = "1". The output parameters are deleted when the relevant
trigger signal is reset and the function has been completed.
To be able to control an axis or spindle via the PLC, it must be activated for the PLC. This can,
for example, be achieved by calling the block with activation of the "Start" or "Stop" parameter.
When you do this, the block requests control of the spindle/axis from the NC.
The NC signals the status of the spindle/axis in the associated axis-specific interface DB31, ...
DBX68.4 - 7. Once the axis/spindle is operating under PLC control, the travel command for
the active status can be evaluated via the relevant axis-specific interface.
Upon completion ("InPos" is True, "Start" changes to zero), the axis/spindle check function is
switched to a neutral status using block FC18.
Alternatively, the PLC user program can also request control for the PLC before calling FC18.
By calling this function several times in succession, a better response by the spindle/axis can
be obtained as the changeover process in the FC can be omitted.
Activation through the PLC user program is executed in the corresponding spindle interface
in byte 8.
After return of the check, the spindle can again be programmed by the NC program.
References
● Function Manual, Basic Functions; Spindles (S1)
● Function Manual, Extended Functions; Positioning Axes (P2)
● Function Manual Expanded Functions; Indexing Axes (T1)
WARNING
Changed response behavior of the axis/spindle
If several block calls (FC18) have been programmed for the same axis/spindle in the PLC
user program, then the functions concerned must be interlocked by conditional calls in the
user program. The conditional call of a started block (parameter Start or Stop = TRUE) must
be called cyclically until the signal state of output parameter "Active" or "InPos" changes from
1 to 0.
Basic Functions
1074 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Note
Call note
FC18 must be called cyclically until signal "InPos" or, in the case of an error "Error", produces
an edge transition of 1 to 0. An additional "Start" or "Stop" is only possible for this spindle/axis
when the "InPos"/"Error" signal has supplied a value of 0. (the system must wait for at least
one PLC cycle with the next "Start" or "Stop"). This also applies when the assignment in data
byte 8 on the axial interface has been changed.
Abort
The function cannot be aborted by means of parameter "Start" or "Stop", but only by means
of the axial interface signals (e.g. delete distance-to-go). The axial interface also returns status
signals of the axis that may need to be evaluated (e.g. exact stop, traverse command).
Simultaneity
Several axes can be traversed simultaneously or subject to a delay by FC18 blocks. The upper
limit is only limited by the maximum number of axes of the NC.
Axis disable
For a set axis inhibit (DB31, ... .DBX1.4 == 1), the axis controlled via FC18 does not move.
Only a simulated actual value is generated. Same behavior as when traversing the axis for an
axis inhibit by the NC.
Functions
Parameter Meaning
Start : 0 → 1: Start the function
Funct : 1: Function number for "Position spindle"
Mode : Positioning modes 1, 2, 3, 4 (refer to the paragraph below, "Explanation of
the formal parameters"
AxisNo : Number of machine axis
Pos : Position
FRate : FRate ≠ 0: Positioning velocity
FRate = 0: Velocity corresponding to MD35300 $MA_SPIND_POSCTRL_VE‐
LO
InPos : 1: Position reached with "Exact stop fine"
Error : 1: Positioning error
State : Error code
Parameter Meaning
Start : 0 → 1: Start the function
Stop : 0 → 1: Stop the function
Funct : 2: Function number for "Rotate spindle"
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1075
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Parameter Meaning
Mode : Mode = 5: direction of rotation M4
Mode ≠ 5: direction of rotation M3
AxisNo : Number of machine axis
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
Parameter Meaning
Start : 0 → 1: Start the function
Stop : 0 → 1: Stop the function
Funct : 3: Function number for "Oscillate spindle"
AxisNo : Number of machine axis
Pos : Setpoint gear stage
InPos : 1: Setpoint speed is output, also see DB31, ... DBX83.5 (spindle in the set‐
point range)
Error : 1: Positioning error
State : Error code
Note
The modulo conversion can be compared with approaching the indexing position via POS[AX]
= CIC (value) in the part program.
Basic Functions
1076 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Parameter Meaning
Start : 0 → 1: Start the function
Funct : 4: Function number for "Indexing axis"
Mode : Positioning mode 0, 1, 2, 3, 4
AxisNo : Number of machine axis
Pos : Indexing position
FRate : FRate ≠ 0: Positioning velocity
FRate = 0: Velocity corresponding to MD32060 $MA_POS_AX_VEL
InPos : 1: Position reached with "Exact stop fine"
Error : 1: Positioning error
State : Error code
Parameter Meaning
Start : 0 → 1: Start the function
Funct : 5, 6, 7, 8: Function number for "Position axes"
Mode : Positioning mode 0, 1, 2, 3, 4
AxisNo : Number of machine axis
Pos : Position
FRate : FRate ≠ 0: Positioning velocity
FRate = 0: Velocity corresponding to MD32060 $MA_POS_AX_VELO
InPos : 1: Position reached with "Exact stop fine"
Error : 1: Positioning error
State : Error code
Parameter Meaning
Start : 0 → 1: Start the function
Stop : 0 → 1: Stop the function
Funct : 9: Function number for "Rotate spindle with gear stage selection"
Mode : Mode = 5: direction of rotation M4
Mode ≠ 5: direction of rotation M3
AxisNo : Number of machine axis
FRate : Spindle speed
InPos : 1: Setpoint speed is output
Error : 1: Positioning error
State : Error code
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1077
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Parameter Meaning
Start : 0 → 1: Start the function
Stop : 0 → 1: Stop the function
Funct : 10: Function number for "Constant cutting rate (m/min)"
11: Function number for "Constant cutting rate (feet/min)"
Mode : Mode = 5: direction of rotation M4
Mode ≠ 5: direction of rotation M3
AxisNo : Number of machine axis
FRate : Cutting rate
InPos : 1: Setpoint speed is output
Error : 1: Positioning error
State : Error code
Basic Functions
1078 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Error identifiers
An error is active, if: Parameter "Error" == 1 (TRUE)
The cause of the error is displayed in: Parameter "State"
State Meaning
Cause of the error on the PLC side:
1 Several functions of the axis/spindle were activated simultaneously
20 A function was started without the position being reached
30 The axis/spindle was transferred to the NC while still in motion
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1079
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
State Meaning
40 The axis is programmed by the NC program, NC internal error
50 Permanently assigned PLC axis. Traverses (JOG) or references
60 Permanently assigned PLC axis. Channel status does not permit a start
Cause of the error on the NC side
100 Incorrect position programmed for axis/spindle (corresponds to alarm 16830)
101 Programmed speed is too high
102 Incorrect value range for constant cutting rate (corresponds to alarm 14840)
104 Following spindle: Illegal programming (corresponds to alarm 22030)
105 No measuring system available (corresponds to alarm 16770)
106 Axis positioning still active (corresponds to alarm 22052)
107 Reference mark not found (corresponds to alarm 22051)
108 No transition from speed control to position control (corresponds to alarm 22050)
109 Reference mark not found (corresponds to alarm 22051)
110 Velocity/speed is negative
111 Setpoint speed == zero
112 Invalid gear stage
115 Programmed position has not been reached
117 G96/G961 is not active in the NC
118 G96/G961 is still active in the NC
120 Axis is not an indexing axis (corresponds to alarm 20072)
121 Indexing position error (corresponds to alarm 17510)
125 DC (shortest distance) not possible (corresponds to alarm 16800)
126 Absolute value minus not possible (corresponds to alarm 16820)
127 Absolute value plus not possible (corresponds to alarm 16810)
128 No transverse axis available for diameter programming (corresponds to alarm 16510)
130 Software limit switch plus (corresponds to alarm 20070)
131 Software limit switch minus (corresponds to alarm 20070)
132 Working area limit plus (corresponds to alarm 20071)
133 Working area limit minus (corresponds to alarm 20071)
134 Frame not permitted for indexing axis
135 Indexing axis with "Hirth joint" is active (corresponds to alarm 17501)
136 Indexing axis with "Hirth joint" 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)
System error
200 corresponds to alarm 450007
Alarm numbers: References Diagnostics Manual
Basic Functions
1080 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
6WDUW
,Q3RV
(UURU
6WDUW(UU
6WDUW
,Q3RV
(UURU
6WDUW(UU
Call examples
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1081
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
R M 100.0; //Start
//Negative acknowledgment, after error evaluation (state: MB114) reset with T12 start
U M113.0; // Error
U E 6.4; //Key T12
R M 100.0; //Start
//Start with T13
U E 6.3; //Key T13
UN M 112.0; //Restart only when InPos or Error = 0
UN M 113.0;
S M 100.0;
CALL FC18(
Start := M100.0,
Stop := FALSE,
Funct := B#16#1, //Position spindle
Mode := B#16#2, //Shortest path
AxisNo := 5,
Pos := MD104,
FRate := MD108,
InPos := M112.0,
Error := M113.0,
State := MB114);
CALL FC18(
Start := M100.0,
Stop := FALSE,
Funct := B#16#2, //Rotate spindle
Mode := B#16#5, //Direction of rotation as for M4
AxisNo := 5,
Pos := 0.0,
FRate := MD108,
InPos := M112.0,
Error := M113.0,
State := MB114);
CALL FC18(
Start := M100.0,
Stop := FALSE,
Funct := B#16#3, //Oscillate spindle
Mode := B#16#0,
AxisNo := 5,
Pos := 0.0,
Basic Functions
1082 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
FRate := MD108,
InPos := M112.0,
Error := M113.0,
State := MB114);
CALL FC18(
Start := M100.0,
Stop := FALSE, //Not used
Funct := B#16#4, //Traverse indexing axis
Mode := B#16#0, //Absolute positioning
AxisNo := 4,
Pos := MD104, //Default setting in REAL: 1.0;2.0;..
FRate := MD108,
InPos := M112.0,
Error := M113.0,
State := MB114);
CALL FC18(
Start := M100.0,
Stop := FALSE, //Not used
Funct := B#16#5, //Position axes
Mode := B#16#1, //Position incrementally
AxisNo := 6,
Pos := MD104,
FRate := MD108,
InPos := M112.0,
Error := M113.0,
State := MB114);
Function
Block FC19 "MCP_IFM" (M version e.g. MCP 483) is used to transfer data from the machine
control panel to the NC/PLC interface:
● Modes
● Axis selections
● WCS/MCS switchover
● Traversing keys
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1083
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
● Overrides
● Keyswitch
The following specifications apply to the feedrate override, axis travel keys and INC keys
depending on the active mode or on the coordinate system selected:
● Feedrate override
– The feedrate override is transferred to the interface of the selected channel and to the
interface of the axes.
– The feedrate override signals are transferred to the NC channel in addition to the "Rapid
traverse override" (DBB5) interface byte if the "Feedrate 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 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 LEDs on the machine control panel derived from the selections in the feedback.
Feedrate and spindle Start/Stop are not transferred to the interface, but output modally as a
"FeedHold" or "SpindleHold" signal. The user can link these signals to other signals leading
to a feed or spindle stop (this can be implemented, e.g. using the appropriate input signals in
FC10: AL_MSG). The associated LEDs are activated at the same time.
If the machine control panel fails, the signals it outputs are preset to zero; this also applies to
"FeedHold" and "SpindleHold" output signals.
FC19 or also FC24, FC25, FC26 can be called a multiple number of times in a single PLC
cycle. In this case, the first call in the cycle drives the LED displays. Furthermore, all actions
of the parameterized block are carried out in the first call. In the following calls, only a reduced
level of processing of the channel and mode group interface takes place. The geometry axes
are supplied with directional data only in the first block call in the cycle.
Single block processing can be selected/deselected only in the first call in the cycle.
The second machine control panel can be processed if parameter "ModeGroupNo" has been
increased by B#16#10. When parameterizing, the mode group number is contained in the
lower nibble.
"BAGNo" = 0 or B#16#10 ⇒ mode group signals are not processed.
"ChanNo" = 0 ⇒ no processing of the channel signals.
The INC selections are transferred to the mode group interface. The activation for this
specification is done via the DB10.DBX57.0 (INC inputs in BAG area active) through this block
once after power up.
Furthermore, two machine control panels can still be handled in parallel by the FC19 block.
Whereby, the call of the block for the 2nd machine control panel in OB1 cycle must be set after
the call for the 1st machine control panel. Support of two machine control panels exists to a
Basic Functions
1084 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
limited extent in the machine control panel blocks. Mutual locking of the axis selections for
equally assigned axes for two machine control panels is not supported.
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 flip-flop.
● Evaluate the flip-flop output as positive and negative edge.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1085
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
● 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.
VAR_INPUT
BAGNo : BYTE ;
ChanNo: BYTE ;
SpindleIFNo: BYTE ;
END_VAR
VAR_OUTPUT
FeedHold : BOOL;
SpindleHold : BOOL;
END_VAR
BEGIN
END_FUNCTION
Basic Functions
1086 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Source: Target:
MCP - Switch Interface DB
Position 0 DB10.DBX56.4
Position 1 DB10.DBX56.5
Position 2 DB10.DBX56.6
Position 3 DB10.DBX56.7
Source: Target:
MCP - Key Interface DB (parameter BAGNo)
Display for BAG 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
INC 1 ... 10 000, INC Var. DB11.DBX2.0 - 2.5
Source: Target:
MCP - Key Interface DB (parameter ChanNo)
Direction key + DB21, ... .DBX12.7
Direction key - DB21, ... .DBX12.6
Rapid traverse override DB21, ... .DBX12.5
Direction key + DB21, ... .DBX16.7
Direction key - DB21, ... .DBX16.6
Rapid traverse override DB21, ... .DBX16.5
Direction key + DB21, ... .DBX20.7
Direction key - DB21, ... .DBX20.6
Rapid traverse override DB21, ... .DBX20.5
Source: Target:
MCP - Key Interface DB (all axis DBs)
Direction key + DB31, ... .DBX4.7
Direction key - DB31, ... .DBX4.6
Rapid traverse override DB31, ... .DBX4.5
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1087
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
The transfer is dependent upon the selected axis. The associated interface bits are deleted
for axes which are not selected.
Source: Target:
MCP - Switch Interface DB (parameter ChanNo)
Feedrate override DB21, ... .DBB4
Source: Target:
MCP - Switch Interface DB (all axis DBs)
Feedrate override DB31, ... .DBB0 (selected axis number) The fee‐
drate override of the 1st MCP is applied to all axes.
Spindle override DB31, ... .DBB19 (parameter SpindleIFNo)
Source: Target:
MCP keys Interface DB (parameter ChanNo)
NC start DB21, ... .DBX7.1
NC stop DB21, ... .DBX7.3
RESET DB21, ... .DBX7.7
Single block DB21, ... .DBX0.4
Source: Target:
MCP keys FC output parameters
Feed stop Parameter: "FeedHold" linked with memory, LEDs
Feed enable are controlled
Spindle stop Parameter: "SpindleHold" linked with memory,
Spindle enable LEDs are controlled
Source: Target:
MCP keys Interface DB (parameter ChanNo)
R11 direction key DB21, ... .DBB392
Direction key + DB21, ... .DBX20.7
Direction key - DB21, ... .DBX20.6
Basic Functions
1088 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Target: Source:
MCP - LED Interface DB (parameter BAGNo)
Display for BAG 1
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
Target: Source:
MCP - LED Interface DB (parameter BAGNo)
Display for BAG 1
INC 1 ... 10 000, INC Var. DB11.DBX8.0 - 8.5
Target: Source:
MCP - LED Interface DB (parameter ChanNo)
NC start DB21, ... .DBX35.0
NC stop DB21, ... .DBX35.2 or DB21, ... .DBX35.3
Single block DB21, ... .DBX0.4
Note
Direction key LEDs are controlled by operating the direction keys.
Axis selection and WCS/MCS LEDs are controlled by operating the relevant key.
Call example
CALL FC19( //Machine control panel M variants Signals to interface
BAGNo := B#16#1, // Mode group no. 1
ChanNo := B#16#1, // Channel no. 1
SpindleIFNo := B#16#4, // Spindle Interface Number = 4
FeedHold := m22.0, // Feed stop signal modal
SpindleHold := db2.dbx151.0); //Spindle stop modal in
//message DB
With this parameterization, the signals are sent to the 1st mode group, the 1st channel and all
axes. In addition, the spindle override is transferred to the 4th axis/spindle interface. The feed
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1089
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
hold signal is passed to bit memory 22.0 and the spindle stop signal to data block DB2, data
bit 151.0.
Example
The spindle is defined as the 4th machine axis and should be selected via axis key 9.
Solution:
The value 4 must be entered in DB10 byte (8+(9-1)) for the 4th axis.
14.17.24.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
The block provides the following functions:
● Synchronized action signals: PLC → NC channel
● Synchronized action signals: NC channel → PLC
● Fast data exchange PLC-NC (read function in NC)
● Fast data exchange PLC-NC (write function in NC)
● Update signals to the NC channel
● Update signals to axes (data byte 2 of the user interface)
● Update signals to axes (data byte 4 of the user interface)
Basic Functions
1090 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
VAR_OUTPUT
Error : BOOL;
ErrCode : INT ;
END_VAR
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1091
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
function, but must be assigned an actual parameter (see call example). The data are
transferred to/from the NC as soon as FC21 is processed.
Call example:
BEGIN
NETWORK
Basic Functions
1092 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
END_FUNCTION
General
A separate, internal data area is provided as interface to allow the fast exchange of data
between the NC and the PLC. The interface encompasses 4096 bytes. PLC access operations
(reading/writing) are realized via FC21. The internal structure of the interface is solely defined
by the user, and must have precisely the same definition on the NC and PLC sides.
This data can be accessed by the NC program using commands $A_DBB[x], $A_DBW[x],
$A_DBD[x], $A_DBR[x] (References: List Manual, System Variables).
The concrete address in the data array is specified by a byte offset (0 to 4095) in parameter
"IVAR1". In this case, the alignment must be selected according to the data format, i.e. a
DWORD starts at a 4byte limit and a WORD at a 2byte limit. Bytes can be located at any offset
within the data field. Individual bits cannot be accessed. FC21 converts them over to a byte
access. Data type information and quantity of data are taken from the ANY parameter,
transferred via S7Var.
Without additional programming-related measures, data consistency is only ensured for 1 and
2 byte access operations - both from the NCU and from the PLC. For 2-byte consistency this
is true only for the data type WORD or INT, but not for the data type BYTE.
In the case of longer data types or transfer of arrays which should be transferred consistently,
the semaphore byte must be used in parameter "IVAR2", which can be used by FC21 to
determine the validity or consistency of a block. This handling must be supported by the NC,
i.e. in the NC program, by writing or deleting the semaphore byte. The semaphore byte is
stored in the same data field as the user data.
The semaphore byte is identified by a value between 0 and 4095 in "IVAR2".
The PLC reads and writes to the semaphore byte via FC21 in the same call, in which the user
data should be transferred. The PLC programmer only has to define the semaphore variable
in the interface. For access from the NC via the NC program, the semaphore mechanism must
be programmed using individual instructions according to the flow chart shown below. The
sequence is different for reading and writing variables.
Only individual variables or arrays (fields) can be supported directly using the semaphore
technique. Transferring structures must be split up into individual jobs. Here, the user must
ensure data consistency of this structure by programming the appropriate semaphore
mechanism.
If "IVAR2" = -1 is set, data are transferred without a semaphore.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1093
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
1R 1R
6HPDSKRU " 6HPDSKRU "
<HV <HV
7UDQVIHUGDWD 'DWHQYRQ
IURP1&WR (UURU 3/&]XU1& (UURU
3/& (UU&RGH ¾EHUWUDJHQ (UU&RGH
5HDG :ULWHLQWKH
LQWKH1&. 1&.
1R 1R
6HPDSKRU " 6HPDSKRU "
<HV <HV
5HDG 7UDQVIHU
GDWD GDWDWR3/&
IURP3/&
Basic Functions
1094 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Example 1: Reading a DWORD from position offset 4 using a semaphore in byte 0 - and saving in
memory double word 100
● Data type Dword (4 bytes)
● Position offset 4
6HPDSKRU
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1095
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
PLC programming
CALL FC21(
Enable := M 10.0, // if TRUE, FC 21 is active
Funct := B#16#3, //Read data
S7Var := P#M 100.0 DWORD 1,
IVAR1 := 4,
IVAR2 := 0,
Error := M 10.1,
ErrCode := MW12);
UN M10.1; //Enable while 1, until value is read
R M10.0;
Example 2: Reading a WORD from position offset 8 without semaphore, and saving in memory word
104
CALL FC21(
Enable :=M 10.0, // if TRUE, FC 21 is active
Funct :=B#16#3, //Read data
S7Var :=P#M 104.0 WORD 1,
IVAR1 :=8,
IVAR2 :=-1,
Error :=M 10.1,
ErrCode :=MW12);
Basic Functions
1096 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
NOTICE
Use
Block FC22 "TM_DIR" may only be used in conjunction with the tool management.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1097
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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: PI_SERV - request PI service (Page 991)
– FC7: TM_REV - transfer block for tool change with revolver (Page 1051)
– FC8: TM_TRANS - transfer block for tool management (Page 1054)
● Function Manual, Tool Management
VAR_OUTPUT
Cw: BOOL;
Basic Functions
1098 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Ccw: BOOL;
InPos : BOOL;
Diff: INT;
Error : BOOL;
END_VAR
BEGIN
END_FUNCTION
Call example
CALL FC22( // Tool management direction selection
// Inputs
MagNo := 2, // Magazine number
ReqPos := mw 20, //Target position
ActPos := mw 22, // Current position
Offset := b#16#0, // Offset for special positioning
Start := m 30.4, // Start trigger
// Outputs
Cw := m 30.0, // Move magazine clockwise
Ccw := m 30.1, // Move magazine counterclockwise
InPos := m 30.2, // Magazine in position
Diff := mw 32, // Differential path
Error := m30.3 // Error has occurred
);
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1099
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Function
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 feedrate override, axis travel keys and INC keys
depending on the active mode or on the coordinate system selected:
● Feedrate override:
– The feedrate override is transferred to the interface of the selected channel and to the
interface of the axes.
– The feedrate override signals are transferred to the NC channel in addition to the "Rapid
traverse override" (DBB 5) interface byte if the "Feedrate 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 acknowledgments
from the relevant selections.
Feedrate and spindle Start/Stop are not transferred to the interface, but output modally as a
"FeedHold" or "SpindleHold" signal. The user can link these signals to other signals leading
to a feed or spindle stop (this can be implemented, e.g. using the appropriate input signals in
FC10: AL_MSG). The associated LEDs are activated at the same time.
The spindle direction (+, -) is not switched directly either, but made available as output
parameter "SpindleDir" permitting, for example, FC18 to be parameterized. A spindle enable
signal is also switched via parameter "SpindleHold". One possible method of moving a spindle
directly is to preselect it as an axis so that it can be traversed via (axis) direction keys.
If the machine control panel fails, the signals it outputs are preset to zero; this also applies to
"FeedHold" and "SpindleHold" output signals.
FC24 or also FC19, FC25, FC26 can be called a multiple number of times in a single PLC
cycle. In this case, the first call in the cycle drives the LED displays. Furthermore, all actions
Basic Functions
1100 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
of the parameterized block are carried out in the first call. In the following calls, only a reduced
level of processing of the channel and mode group interface takes place. The geometry axes
are supplied with directional data only in the first block call in the cycle.
Single block processing can be selected/deselected only in the first call in the cycle.
The second machine control panel can be processed if parameter "ModeGroupNo" has been
increased by B#16#10. When parameterizing, the HHU number is contained in the lower nibble
(lower 4 bits).
"BAGNo" = 0 or B#16#10 ⇒ mode group signals are not processed.
"ChanNo" = 0 ⇒ no processing of the channel signals.
The INC selections are transferred to the mode group interface. The activation for this
specification is done via the DB10.DBX57.0 (INC inputs in BAG area active) through this block
once after power up.
Furthermore, two machine control panels can be handled in parallel by this block. Whereby,
the call of the block for the 2nd machine control panel in OB1 cycle must be set after the call
for the 1st MCP. Support for two MCPs is provided in the control panel blocks up to certain
limits (support is not provided as standard for mutual interlocking of axis selections with
identical assignments on two MCPs).
Note
For further information see "FC19: MCP_IFM - transfer of MCP signals to interface
(Page 1083) ".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1101
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
The default setting is 0, corresponding to the maximum number of configured axes. The axis
numbers and the limit can also be adapted dynamically. Afterwards, a new axis must be
selected for FC24. Axis numbers may not be switched over while the axes are traversing the
relevant direction keys. The compatibility mode is preset with axis numbers 1 to 6 for both
MCPs and restricted to the configured number of axes.
VAR_INPUT
BAGNo : BYTE ;
ChanNo: BYTE ;
SpindleIFNo: BYTE ;
END_VAR
VAR_OUTPUT
FeedHold : BOOL;
SpindleHold : BOOL;
SpindleDir: BOOL;
END_VAR
BEGIN
END_FUNCTION
Basic Functions
1102 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Call example
CALL FC24( // Slimline machine control panel M variant
// Signals to interface
BAGNo := B#16#1, // Mode group no. 1
ChanNo := B#16#1, // Channel no. 1
SpindleIFNo := B#16#4, // Spindle Interface Number = 4
FeedHold := m22.0, // Feed stop signal modal
SpindleHold := db2.dbx151.0, // Spindle stop modal in message data block
SpindleDir:= m22.1); // Spindle direction return
With this parameterization, the signals are sent to the 1st mode group, the 1st channel and all
axes. In addition, the spindle override is transferred to 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.
Function
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
● Overrides
● Keyswitch
The following specifications apply to the feedrate override, axis travel keys and INC keys
depending on the active mode or on the coordinate system selected:
● Feedrate override:
– The feedrate override is transferred to the interface of the selected channel and to the
interface of the axes.
– The feedrate override signals are transferred to the NC channel in addition to the "Rapid
traverse override" (DBB 5) interface byte if the "Feedrate 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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1103
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
The associated LEDs on the machine control panel derived from the acknowledgments of the
relevant selections.
Feedrate and spindle Start/Stop are not transferred to the interface, but output modally as a
"FeedHold" or "SpindleHold" signal. The user can link these signals to other signals leading
to a feed or spindle stop (this can be implemented, e.g. using the appropriate input signals in
FC10: AL_MSG). The associated LEDs are activated at the same time.
If the machine control panel fails, the signals it outputs are preset to zero; this also applies to
"FeedHold" and "SpindleHold" output signals.
FC25 or also FC19, FC24, FC26 can be called a multiple number of times in a single PLC
cycle. In this case, the first call in the cycle drives the LED displays. Furthermore, all actions
of the parameterized block are carried out in the first call. In the following calls, only a reduced
level of processing of the channel and mode group interface takes place. The geometry axes
are supplied with directional data only in the first block call in the cycle.
Single block processing can be selected/deselected only in the first cycle.
The second machine control panel can be processed if parameter "ModeGroupNo" has been
increased by B#16#10. When parameterizing, the HHU number is contained in the lower nibble
(lower 4 bits).
"BAGNo" = 0 or B#16#10 ⇒ mode group signals are not processed.
"ChanNo" = 0 ⇒ no processing of the channel signals.
Note
For further information see "FC19: MCP_IFM - transfer of MCP signals to interface
(Page 1083) ".
Basic Functions
1104 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
VAR_INPUT
BAGNo : BYTE ;
ChanNo: BYTE ;
SpindleIFNo: BYTE ;
END_VAR
VAR_OUTPUT
FeedHold : BOOL;
SpindleHold : BOOL;
END_VAR
BEGIN
END_FUNCTION
Call example
With this parameter assignment example, the signals are sent to the 1st mode group, the
1st channel and all axes. The spindle override is transferred to the 4th axis/spindle. Feed stop
is sent to bit memory 22.0 and spindle stop is sent to the data block DB2, DBX151.0.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1105
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
VAR_INPUT
BAGNo : BYTE ;
ChanNo: BYTE ;
END_VAR
BEGIN
END_FUNCTION
Call examples
Calling FC26 for the first MCP, the first mode group and the first channel of the NC.
Calling FC26 for the second MCP, the second mode group and the third channel of the NC.
Basic Functions
1106 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1107
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
A value of 4, for example, means that FC26 takes into account only the first 4 table entries or
machine axes. The maximum value for the FC26 is 6. For a value of 0 or values greater than
6 the maximum value is taken implicitly.
Note
Please note the following constraints:
● A check of the permissible machine axis numbers is not done. Invalid machine axis numbers
can lead to a PLC stop.
● The machine axis numbers can be changed dynamically. The table may not be written, if
currently a machine axis is being moved via a traversing key.
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)
The switchover of the coordinate system is done via the input signal:
● EB n + 0, Bit 0 (MCS/WCS)
The input signal is evaluated in FC26 with the help of the edge trigger flag. The active
coordinate system is shown in the following output signal:
● AB n + 0, Bit 0 (MCS/WCKS) with 0 = MCS, 1 = WCS
In case of active MCS the traversing key signals of the axes 1 - 6 are transferred in the axis-
specific interfaces (DB31, ... .DBX4.6 and DBX4.7 (traversing key +/-)) of the axes specified
in the machine axis tables (DB10.DBB8 to DBB13 or DBB32 to DBB37).
In case of active WCS it is assumed that the axes 1 - 3 of the machine axis table are geometric
axes. For this reason the traversing key signals:
● Of the axes 1 - 3 (EB n + 2 / 3, Bit 0 - Bit 2) are transferred in the interface of the geometric
axes in DB21, ... .DBB12 + (n * 4), with n = 0, 1, 2), bit 6 and bit 7 (traversing keys +/-) of
the channel specified with the parameter "ChanNo" .
The assignment of the traversing key signals of axes 1, 2 and 3 to the geometric axes 1, 2
and 3 of the channel is permanent and may not be changed.
● Of the axes 4 - 6 (EB n + 2 / 3, Bit 3 - Bit 5) are transferred in the axis-specific interface
(DB31, ... .DBX4.6 and DBX4.7 (traversing keys +/-)) of the axes 4 - 6 entered in the
machine axis table (DB10.DBB11 to DBB13 or DBB35 to DBB37).
Basic Functions
1108 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Feedrate override
The value of the HT 8 override switch is transferred as feedrate 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, 12/2017, 6FC5397-0BP40-6BA1 1109
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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
Note
If an axis can be traversed from two MCP, then the implementation of a mutual interlocking is
the responsibility of the user (machine manufacturer).
Basic Functions
1110 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Source: MCP Destination: Geometry axis of the prog. channel (Parameter: Chan‐
No)
Traversing key + DB21, ... .DBX12.7
Traversing key - DB21, ... .DBX12.6
Rapid traverse override DB21, ... .DBX12.5
Traversing key + DB21, ... .DBX16.7
Traversing key - DB21, ... .DBX16.6
Rapid traverse override DB21, ... .DBX16.5
Traversing key + DB21, ... .DBX20.7
Traversing key - DB21, ... .DBX20.6
Rapid traverse override DB21, ... .DBX20.5
Override
Channel signals
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1111
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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.
Basic Functions
1112 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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.
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. 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 MCS/WCS 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.
● Network mode group
The mode group network transfers the modes of the keys as dynamic signals to the NC.
The INC checkback signals from the NC are stored temporarily for the corresponding LEDs.
If the mode group number is 0, this network is not processed. A number that is too large
generates the message 401901 or 402501 and changes over after stop.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1113
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
● Channel network
The functions NC Start, Stop, Reset and single block with corresponding feedback
messages are activated in the Channel network. The direction keys of the geometry axes
are supplied if a corresponding preselection is made, otherwise they are cleared. If the
channel number is 0, this network is not processed. A too large number generates the
message 401902 or 402502 and changes over after stop.
● Spindle network
The Spindle network sends the spindle override to the interface parameterized via
"SpindleFNo".
● Axes network
The Axes network sends the feedrate override to the selected axis interface. The direction
keys are assigned to the selected axis/spindle. If an axis has been selected previously, the
direction information is set to 0.
● Global_OUT network
The output parameters are prepared and the LED signals of the INC machine function are
generated in the Global_OUT network.
● Output network
The Output network transfers the output signals of the machine control panel from the
VAR_TEMP image to the logical address. The data for the next cycle are also saved.
Global_IN network
The Global_IN network must be modified if more than nine axes are selected. If other keys
and LEDs are to be used on the machine control panel here, proceed as follows:
1. The command UD DW#16#Value (comment: Clear all axis LEDs for display) deletes all
defined LEDs for axis selections. The bit mask is currently processing the nine axis selection
LEDs.
2. The command UW W#16# (comment: " "Masking all the axis selection buttons") checks
whether the direction has changed. The bit string must be adjusted here.
3. The branch destination list (SPL) must be expanded with new jump labels. The new jump
labels should be inserted in descending order before label m009. The selection information
should be extended for the new jump labels, as described for labels m009 and m008.
Note
The blocks are made available as STL sources if required. But they do not match the current
status of the block. Some details of the actual implementation in C have been developed
further. For this reason we recommend that you specify your additional requirements for
the blocks and that you pass these onto project management via the sales department.
Basic Functions
1114 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
Note
Smaller volume of transmittable data with SINUMERIK CP and UDP or ISO-on-TCP protocol
For SINUMERIK CP, only 240 bytes can be transmitted when function block FC1005 and the
UDP or ISO-on-TCP protocol are used.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1115
P3: Basic PLC program for SINUMERIK 840D sl
14.17 Block descriptions
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"
Note
Smaller volume of transmittable data with SINUMERIK CP and UDP or ISO-on-TCP protocol
For SINUMERIK CP, only 240 bytes can be transmitted when function block FC1006 and the
UDP or ISO-on-TCP protocol are used.
Formal parameters
Basic Functions
1116 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.18 Signal/data descriptions
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"
References
A complete overview of all interface signals can be found in:
"NC Variables and Interface Signals" List Manual
The NC interface signals that are evaluated by the basic PLC program and transferred in
conditioned form to the user interface are presented in the following sections.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1117
P3: Basic PLC program for SINUMERIK 840D sl
14.18 Signal/data descriptions
The signal for the associated M function remains pending for at least one PLC cycle in the NC/
PLC interface.
Note
The following spindle-specific M functions are not transferred to the NC/PLC interface: M3,
M4, M5 and M70.
14.18.3 G commands
The G commands programmed in the part program, ASUP or synchronized actions are
transferred channel-specific from the NC to the PLC:
● G commands from channel 1: DB21
● G commands from channel 2: DB22
● ...
The associated G command remains pending for at least one PLC cycle in the NC/PLC
interface.
Basic Functions
1118 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.18 Signal/data descriptions
NC START
After NC START the values of the eight G groups specified in the following machine data are
overwritten in accordance with the default setting set via the machine data as well as the values
programmed in the part program:
MD22510 $MC_GCODE_GROUPS_TO_PLC
References
An overview of all G commands can be found in:
Programming Manual, Fundamentals; Section: "Tables" > "G commands"
Note
The number of user areas can be parameterized using FB1.
After the configuration has been modified (FB1: MsgUser) DB2/DB3 must be deleted.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1119
P3: Basic PLC program for SINUMERIK 840D sl
14.19 Notes on programming in STEP 7
References
You will find basic information on the structure of data types ANY and POINTER in:
SIMATIC STEP 7 Manual; Chapter: "Designing user programs" > "Register of CPU and saving
of 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; //Source start address on data byte 20
AUF DI 101; //Destination DB
LAR2 P#50.0; //Destination start address on data byte 50
//AR1, AR2, DB, DI loaded beforehand
L 4; //Transfer 8 bytes
M001:
L DBW [AR1,P#0.0]; //Copy word-oriented
T DIW [AR2,P#0.0];
+AR1 P#2.0;
+AR2 P#2.0;
Basic Functions
1120 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.19 Notes on programming in STEP 7
TAK;
LOOP M001;
The following programming examples show the programming mechanism. They demonstrate
how input/output and transit variables (VAR_INPUT, VAR_OUTPUT, VAR_IN_OUT) are
accessed by data types "POINTER" or "ANY" within an FC or FB. The access operations are
described in such a way that a part symbolic method of programming can be used.
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; //Activate numerical conversion
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;
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1121
P3: Basic PLC program for SINUMERIK 840D sl
14.19 Notes on programming in STEP 7
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; //Activate numerical conversion
Addr: POINTER; //Points to variable
Addr1 : ANY ;
Basic Functions
1122 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.19 Notes on programming in STEP 7
END_VAR
VAR_TEMP
dbchr : WORD ;
Number: WORD ;
type : BYTE ;
END_VAR
BEGIN
NETWORK
TITLE =
//POINTER
L P##Addr;
LAR1 ; //Retrieve pointer from instance DB
L DIW [AR1,P#0.0]; //Retrieve DB number
T #dbchr;
L DID [AR1,P#2.0]; //Offset part of pointer
LAR1 ;
AUF DB [#dbchr]; //Open DB of variables
L B [AR1,P#40.0]; //Retrieve byte value using
pointer with
//address offset 40
//ANY
L P##Addr1;
LAR1 ; //Retrieve ANY from instance DB
L DIB [AR1,P#1.0]; //Retrieve type
T #typ;
L DIW [AR1,P#2.0]; //Retrieve amount
T #Amount;
L DIW [AR1,P#4.0]; //Retrieve DB number
T #dbchr;
L DID [AR1,P#6.0]; //Offset part of pointer
LAR1 ;
AUF DB [#dbchr]; //Open DB of variables
L B [AR1,P#0.0]; //Retrieve byte value using ANY
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1123
P3: Basic PLC program for SINUMERIK 840D sl
14.19 Notes on programming in STEP 7
Note
Address register AR2 is used in the block. However, this address register AR2 is also used
for multiinstance DBs. For this reason, this FB should not be declared as multi-instance DB.
FUNCTIONBLOCK FB100
CODE_VERSION1 //starting from STEP 7 Version 2 for
deactivating the
//multi-instance DB
VAR_INPUT
WhichAny : INT;
Addr1 : ANY ; //Observe predetermined order
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; //10 bytes per ANY
*I;
LAR2;
L P##Addr1;
+AR2; //Add ANY start addresses
L P##Temp_addr;
LAR1 ; //Retrieve pointer from VAR_TEMP
L DID [AR2,P#0.0]; //Transfer pointer value to VAR_TEM
T LD [AR1,P#0.0];
L DID [AR2,P#4.0];
T LD [AR1,P#4.0];
L DIW [AR2,P#8.0];
Basic Functions
1124 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.19 Notes on programming in STEP 7
T LW [AR1,P#8.0];
FUNCTIONBLOCK FB100
VAR_INPUT
DBNumber: INT;
DBOffset : INT;
Data type: INT;
Number: INT;
END_VAR
VAR_TEMP
dbchr : WORD ;
Temp_addr : ANY ;
END_VAR
BEGIN
NETWORK
TITLE =
L P##Temp_addr;
LAR1 ; //Retrieve pointer from VAR_TEMP
L B#16#10; //ANY identifier
T LB [AR1,P#0.0];
L Data type;
T LB [AR1,P#1.0];
L Amount;
T LW [AR1,P#2.0];
L DBNumber;
T LW [AR1,P#4.0];
L DBOffset;
SLD 3; //Offset is a bit offset
T LD [AR1,P#6.0];
CALL FB101, DB100
(ANYPAR := #Temp_addr); //ANYPAR is data type ANY
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1125
P3: Basic PLC program for SINUMERIK 840D sl
14.19 Notes on programming in STEP 7
14.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.
Multi-instance DBs should be activated only when they are actually going to be used since
they increase the runtime and code size of the FBs.
Note
When complex programs are implemented in multiinstance enabled FBs that use a pointer
and address register, it is important for the programmer to observe certain rules.
With multiinstance DBs, the start address of the variable (VAR_INPUT, VAR_OUTPUT,
VAR_IN_OUT, VAR) is transferred with the DI data block register and address register AR2.
When variables are accessed within the multiinstance enabled FB, the compiler independently
controls the access operation via address register AR2. However, when complex program
sections also have to work with address registers in the same FB (e.g. to copy data), then the
old contents of AR2 must be saved before the register is changed. The contents of AR2 must
be restored to their original state before an instance variable (VAR_INPUT, VAR_OUTPUT,
VAR_IN_OUT, VAR) is accessed. The AR2 register of the instance is to be saved most usefully
in a local variable (VAR_TEMP).
The command "Load pointer to an instance variable" returns a pointer value from the start of
the instance data. To be able to access this variable via a pointer, the offset stored in AR2
must be added.
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; //Pointer at start of ARRAY
//The value 8500 0010 is now in the accumulator
//and a cross-area pointer is in the AR2
//Pointer. If one is to work across areas
//then, during the addition of these
//two pointers, an area is to be disabled.
AD DW#16#00FF_FFFF, //Skipping of an area
Basic Functions
1126 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.19 Notes on programming in STEP 7
14.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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1127
P3: Basic PLC program for SINUMERIK 840D sl
14.19 Notes on programming in STEP 7
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
BEGIN
NETWORK
TITLE =
L P##Addr;
LAR1 ; //Retrieve pointer from Addr
L D [AR1,P#2.0]; //Offset part of pointer of variable
LAR1 ;
END_FUNCTION
14.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.
Basic Functions
1128 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.19 Notes on programming in STEP 7
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1129
P3: Basic PLC program for SINUMERIK 840D sl
14.20 Data lists
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.
Basic Functions
1130 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P3: Basic PLC program for SINUMERIK 840D sl
14.20 Data lists
14.20.2 Signals
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1131
P3: Basic PLC program for SINUMERIK 840D sl
14.20 Data lists
Basic Functions
1132 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D 15
15.1 Overview
The user interface is set up by the PLC firmware, which also organizes the exchange of all
signals and data between the PLC on one side and the NC and HMI on the other side.
The user interface comprises the parts:
● Data interface with cyclic exchange (see "Data interface (Page 1140)")
● Function interface with function- or task-related data exchange (see "Function interface
(Page 1158)").
The structured data of these interfaces (retentive and non-retentive) are made available to the
user by the firmware by assigning to data blocks: The NC (NC, tool management, NC channel,
axes, spindles, …) and the HMI are "Communication partners" of the PLC user program.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1133
P4: PLC for SINUMERIK 828D
15.1 Overview
'%
8VHUGDWD
+0,
'% [[[
+0, 6LJQDOVWR+0,
6LJQDOVIURP+0,
1&
1& '%
6LJQDOVWR1&
'DWDLQWHUIDFH
6LJQDOVIURP1&
'%
'%
0RGHVLJQDOV
'%[
6LJQDOVWR1&
2SHUDWLQJ 6LJQDOVIURP1&
PRGH '%[ 3/&XVHU
SURJUDP
&KDQQHO
&KDQQHO
'%[
1&FKDQQHO 6LJQDOVWRFKDQQHO
6LJQDOVIURPFKDQQHO
'%[[[
$[LVVSLQGOH
$[LVVSLQGOH
$[LV $[LVVSLQGOH
VSLQGOH '%[[[[
6LJQDOVWRD[LV
GULYH 6LJQDOVIURPD[LV
'%[[[[[[
1&FKDQQHO '%[
6WDUW$68%
'%[[
$[LV 3/&D[LVFRQWURO
VSLQGOH '%[[
7RROPDQDJHPHQW
)XQFWLRQLQWHUIDFH
'%
-REIRUORDGLQJXQORDGLQJORFDWLRQV
7RRO '%
PDQDJHPHQW -REIRUVSLQGOHDQGWXUUHW
'%
$FNQRZOHGJPHQWVIRUXQORDGLQJORDGLQJORFDWLRQV
'%
$FNQRZOHGJPHQWVIRUVSLQGOHDQGUHYROYHU
'%
3/&XVHUDODUPV
1& '%
5HDGZULWH1&GDWD
'%
3,VHUYLFHV
Basic Functions
1134 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.1 Overview
PLC ↔ NC interface
The cyclic data includes status signals ("program running", "program interrupted") and control
signals (start, stop), and auxiliary and G commands.
Data is structured in signals for:
● Modes
● Channels
● Axes/spindles
● General NC signals
Note
A maximum of eight PLC alarms is displayed on the HMI.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1135
P4: PLC for SINUMERIK 828D
15.1 Overview
References
SINUMERIK 828D Parameter Manual
Basic Functions
1136 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.2 Fast on-board inputs and outputs
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1137
P4: PLC for SINUMERIK 828D
15.2 Fast on-board inputs and outputs
Response times
This results in the following response times depending on the position control cycle, place of
execution and digital inputs/outputs that are used:
Command Symbol
Direct NO contact -| I |-
Direct NC contact -| /I |-
Directly set bit value -(SI)-
Directly reset bit value -(RI)-
Directly assign bit value -( 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, ...)
References
A detailed specification of the interfaces is provided in:
SINUMERIK 828D PPU Manual
Basic Functions
1138 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.3 Ladder viewer and ladder add-on
15.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"
15.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
0 Address display in SIMATIC S7 200 notation (e.g. Vxxxxx)
1 Address display in SIMATIC S7 300 notation (e.g. DBxx.DBBxxxx)
<Value> Meaning
0 The interrupt programs INT_100 and INT_101 cannot be edited.
1 Interrupt programs INT_100 and INT_101 can be edited.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1139
P4: PLC for SINUMERIK 828D
15.5 Data interface
(WKHUQHW33IDFWRU\QHWZRUN
3&3*
338KRUL]RQWDO 3&
56&
*60PRGHP
(WKHUQHW
6HUYLFH
LQWHUIDFH '5,9(&/L4 '0&
+XEPRGXOH
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
Basic Functions
1140 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.5 Data interface
This cyclic data includes status signals ("program running", "program interrupted"), control
signals (start, stop), and auxiliary and G commands.
Data is structured in signals for:
● Mode signals
● NC channel signals
● Axis and spindle signals
● General NC signals
● PLC-NC fast data exchange
DB3000, 3100
The mode signals specified by the machine control panel or the HMI are transferred to the NC.
Their actual states are signaled to the PLC from the NC.
'% 1&.
&RQWUROVLJQDOV
0RGHVHOHFWLRQ
'%
6WDWXVVLJQDOV
0RGHVHOHFWLRQ
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1141
P4: PLC for SINUMERIK 828D
15.5 Data interface
'%
6LJQDOVIRUWKH
SURJUDPFRQWURO
'%[ 1&FKDQQHO
&RQWUROVLJQDOVWR1&FKDQQHO
&RQWUROVLJQDOVWRD[HVLQWKH:&6
'%[
&RQWUROVLJQDOVIURP1&FKDQQHO
&RQWUROVLJQDOVIURPD[HVLQWKH
:&6
'%[
)XQFWLRQWUDQVIHUIURP1&FKDQQHO
076'+
'%[
$FWLYH*IXQFWLRQVIURP1&FKDQQHO
Basic Functions
1142 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.5 Data interface
'%[
2IIVHW 6LJQDOWR
$[LVVSLQGOH
$[LV
6SLQGOH
3/&D[LV
'ULYH
7HFKQRORJ\IXQFWLRQ
'%[
2IIVHW 6LJQDOIURP
$[LVVSLQGOH
$[LV
6SLQGOH
3/&D[LV
'ULYH
7HFKQRORJ\IXQFWLRQ
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1143
P4: PLC for SINUMERIK 828D
15.5 Data interface
'%
*HQHUDOVLJQDOV
'%
6LJQDOVWRIDVW,2
'%
6LJQDOVWRIDVW,2
'%
3/&PDFKLQHGDWD
2IIVHW 6LJQDO
,17YDOXHV
+H[YDOXHV
)2$7YDOXHV
&RQILJXULQJRIXVHU
DODUPV
'%
&KDQJHVLJQDOVRI
7RROPDQDJHPHQWIXQFWLRQV
DB4900
Data block DB4900 with a size of 1024 bytes is used for fast information exchange between
the PLC and NC.
The assignment of the area (structure) must be identically negotiated in the NC part program
and PLC user user program.
Basic Functions
1144 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.5 Data interface
This data can be accessed from the NC part program using the commands $A_DBB[x],
$A_DBW[x], $A_DBD[x] and $A_DBR[x]; 0 ≤ x ≤ 1023 (see Parameter Manual, System
variables).
In this case, the alignment of the data must be selected corresponding to its format, i.e. a
Dword starts at a 4byte limit and a word at a 2byte limit. Bytes can be located at any offset
within the data field.
Data consistency is guaranteed for byte, word and Dword accesses. When transferring several
data, the consistency must be guaranteed on the user-side using semaphores, which can be
used to detect the validity or consistency of a block.
Function
Preselected programs/workpieces can be selected for machining by the NC via the PLC/HMI
interface.
The presetting is done by entering programs/workpiece in files, called PLC program lists (*.ppl).
Requirements
The following machine data must be set to allow the HMI to process tasks:
MD9106 $MM_SERVE_EXTCALL_PROGRAMS
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1145
P4: PLC for SINUMERIK 828D
15.5 Data interface
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
1146 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.5 Data interface
Note
The PLC may only request a new job if the last job has been acknowledged by the HMI:
DB1700.DBB2000 == 0
Program list
DB1700.DBB1001 = <number of the program list>
Program number
The program number refers to the programs contained in the selected program list.
DB1700.DBB1002 = <program number>
● user area: 1 - 100
● individual area: 101 - 200
● oem area: 201 - 255
Job acknowledgment
● DB1700.DBX2000.7 == 1 (selection identified)
● DB1700.DBX2000.3 == 1 (program is selected)
● DB1700.DBX2000.2 == 1 (error when selecting the program, see error ID
DB1700.DBB2001)
● DB1700.DBX2000.1 == 1 (job completed)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1147
P4: PLC for SINUMERIK 828D
15.5 Data interface
Error detection
DB1700.DBB2001 == <error ID>
Error detection
Value Meaning
0 No error.
1 Invalid program list number (DB1700.DBB1001).
3 User-specific program list plc_proglist_main.ppl not found (only for DB1700.DBB1001 ≠
129, 130, 131).
4 Invalid program number (DB1700.DBB1002).
5 Job list in the selected workpiece could not be opened.
6 Error in job list (job list interpreter returns error).
7 Job list interpreter returns empty job list.
Basic Functions
1148 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.5 Data interface
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 3
Turning/milling
Start screen 19
T,S,M 2
Set WO 21
Positioning 4
Face milling 18
Stock removal 80
Cycle start screen for all user screens 91
General settings 1
Multi-channel function settings 106
Collision avoidance settings 107
Measurement log settings 108
Swiveling 60
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1149
P4: PLC for SINUMERIK 828D
15.5 Data interface
Screen Number
All G commands 100
Actual zoom value (MCS/WCS) 101
Thread synchronizing 102
Retract 103
Handwheel 104
Action synchronization 105
Turning technology: Workpiece zero
Workpiece zero (main menu) 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
Measure tool (main menu) 50
Manual X or user screen 51
Manual Y 71
Manual Z or user screen 52
Zoom or user screen 53
User screen 54
User screen 55
Probe calibration X or user screen 56
Probe calibration Z or user screen 57
Automatic length in Z 58
Automatic length in Y 73
Automatic length in X 59
Milling technology: Workpiece zero
Workpiece zero (main menu) 30
Measure edge X 5
Measure edge X 22
Measure edge Z 23
User screen 7
Align edge or user screen 31
Distance 2 edges or user screen 32
Right-angled corner 33
Any corner or user screen 8
Rectangular pocket 34
1 hole or user screen 9
2 holes 35
3 holes 36
Basic Functions
1150 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.5 Data interface
Screen Number
4 holes 37
Rectangular spigot 38
1 circular spigot or user screen 10
2 circular spigots 39
3 circular spigots 40
4 circular spigots 41
Set up level 42
Probe length calibration or user screen 11
Probe radius calibration 12
Milling technology: Workpiece, measurement
Measure tool (main menu) 50
Measure length, manual (with milling tool) 16
or measure length in X, manual (with turning tool)
or user screen
Measure length in Y, manual (with turning tool) 74
Measure length in Z, manual (with turning tool) 24
Measure diameter, manual or user screen 17
Measure length, automatic (with milling tool) 13
or measure length in X, automatic (with turning tool)
or user screen
Measure length in Y, automatic (with turning tool) 75
Measure length in Z, automatic (with turning tool) 25
Measure diameter, automatic or user screen 14
User screen 51
Probe calibration or user screen 15
Fixed point calibration or user screen 52
RunMyScreens (only for set JobShopIntegration)
User screen for the 1st horizontal softkey 96
User screen for the 2nd horizontal softkey 98
User screen for the 3rd horizontal softkey 99
User screen for the 4th horizontal softkey 94
User screen for the 5th horizontal softkey 95
User screen for the 6th horizontal softkey 92
User screen for the 7th horizontal softkey 97
User screen for the 8th horizontal softkey 90
User screen for the 9th horizontal softkey 83
User screen for the 10th horizontal softkey 82
User screen for the 11th horizontal softkey 93
User screen for the 12th horizontal softkey 84
User screen for the 13th horizontal softkey 85
User screen for the 14th horizontal softkey 86
User screen for the 15th horizontal softkey 87
User screen for the 16th horizontal softkey 88
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1151
P4: PLC for SINUMERIK 828D
15.5 Data interface
DB19.DBB24
Screen Screen number
Turning/milling
Taper turning 61
Angle milling 62
Stop 63
Straight line 1300
Straight line all axes 1330
Straight line X alpha 1340
Straight line Z alpha 1350
Circle 1360
Drilling 1400
Center drilling 1410
Drilling, thread centered 1420
Drilling, centering 1433
Drilling, drilling 1434
Drilling, reaming 1435
Drilling, boring 1436
Drilling, deep hole drilling 1440
Drilling, deep hole drilling 2 1441
Drilling, tapping 1453
Drill thread milling 1455
Positions 1473
Position row 1474
Position grid 1477
Position frame 1478
Position circle 1475
Position pitch circle 1479
Obstacle 1476
Turning 1500
Turning, stock removal 1 1513
Turning, stock removal 2 1514
Turning, stock removal 3 1515
Turning, groove 1 1523
Turning, groove 2 1524
Turning, groove 3 1525
Turning, undercut form E 1533
Turning, undercut form F 1534
Turning, undercut thread DIN 1535
Turning, undercut thread 1536
Turning, thread, longitudinal 1543
Turning, thread, taper 1544
Basic Functions
1152 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.5 Data interface
DB19.DBB24
Screen Screen number
Turning, thread, facing 1545
Turning, thread, chain 1546
Turning, cut-off 1550
Milling 1600
Milling, face milling 1610
Milling, rectangular pocket 1613
Milling, circular pocket 1614
Milling, rectangular spigot 1623
Milling, circular spigot 1624
Milling, longitudinal groove 1633
Milling, circumferential groove 1634
Milling, open groove 1635
Milling, multi-edge 1640
Milling, thread milling 1454
Milling, engraving 1670
Contour turning 1200
Contour turning, new contour / last contour 1210
Contour turning, stock removal along contour 1220
Contour turning, contour grooving 1230
Contour turning, contour plunge turning 1240
Contour milling 1100
Contour milling, new contour / last contour 1110
Contour milling, path milling 1120
Contour milling, centering 1130
Contour milling, rough drilling 1140
Contour milling, contour pocket 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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1153
P4: PLC for SINUMERIK 828D
15.5 Data interface
DB19.DBB24
Screen Screen number
From the front 1744
From the rear 1746
From the Left 1748
From the right 1752
Half section 1780
Turning view 1782
Milling technology: Simultaneous recording
Top view 1743
3D view 1761
From the front 1745
From the rear 1747
From the Left 1749
From the right 1753
Machine space 1791
Half section 1781
Turning view 1783
Screen Number
Actual zoom value MCS/WCS 101
Screen Number
MDI 20
All G commands 100
Actual zoom value MCS/WCS 101
Handwheel 104
Action synchronization 105
Program control 210
Settings 250
Screen Number
Automatic 200
Overstore 202
Program control 210
Block search 220
General settings 250
Basic Functions
1154 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.5 Data interface
Screen Number
Multi-channel function settings 106
Collision avoidance settings 107
All G commands 100
Actual zoom value MCS/WCS 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
From the front 248
From the rear 249
From the Left 251
From the right 252
Machine space 247
Half section 253
Turning view 254
Screen Number
Tool list 600
Tool wear 610
User tool list 620
Magazine 630
Work offset
Work offset, active 642
Work offset, overview 643
Work offset, basic 644
Work offset, G54 - G509 645
Details of work offset, active, overview, basic or G54 - G509 647
User variable
R parameters 650
Global GUD 1 (SGUD) 660
Global GUD 2 (MGUD) 661
Global GUD 3 (UGUD) 662
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1155
P4: PLC for SINUMERIK 828D
15.5 Data interface
Screen 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
Channel GUD 1 (SGUD) 690
Channel GUD 2 (MGUD) 691
Channel GUD 3 (UGUD) 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
Working area limitation 671
Spindle data 670
Spindle chuck data 672
Ctrl-Energy
Ctrl-Energy, main menu 6170
Ctrl-Energy, analysis 6171
Ctrl-Energy, profiles 6172
Ctrl-Energy, analysis graphic 6176
Ctrl-Energy, analysis long-term measurement 6177
Ctrl-Energy, analysis details 6179
Ctrl-Energy, compare measurements 6178
Screen 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
1156 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.5 Data interface
Screen Number
From the front 418
From the rear 419
From the Left 421
From the right 422
Half section 423
Turning view 424
Screen Number
NC directory 300
Local drive 325
USB / configured drive1 330
Configured drive2 340
Configured drive3 350
Configured drive4 360
Configured drive5 383
Configured drive6 384
Configured drive7 385
Configured drive8 386
Screen Number
Alarm list 500
Messages 501
Alarm log 502
NC/PLC variable 503
Function
The HMI monitor is an 8-byte data area in a freely selectable data block, in which the HMI
provides the following data for the PLC user program:
● Operating area numbers (Page 1148)
● Screen numbers (Page 1149)
Parameterization
The data area is configured using the following display machine data:
MD9032 $MM_HMI_MONITOR = "string"
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1157
P4: PLC for SINUMERIK 828D
15.6 Function interface
Note
Even byte address
The data area must start at an even byte address.
Byte Meaning
EB n + 0 Active SINUMERIK operating area
EB n + 1 Reserved
EB n + 2 Current screen number
EB n + 3
EB n + 4 Reserved
... ...
EB n + 7 Reserved
Supplementary conditions
When the HMI monitoring is active, the following PLC/HMI interface signals are no longer
processed:
● DB1900.DBB5003 (PLC hardkeys)
● DB1900.DBB0001 (active SINUMERIK operating area)
● DB1900.DBW0004 (current screen number)
Basic Functions
1158 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
Flow diagram of a job: See "Job management: Flow diagram (Page 1162)"
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, 12/2017, 6FC5397-0BP40-6BA1 1159
P4: PLC for SINUMERIK 828D
15.6 Function interface
Job type
● Read variable: DB1200.DBX0.1 = 0
● Write variable: DB1200.DBX0.1 = 1
Start job
The start signal must be set to start the job via a specified number of variables:
DB1200.DBX0.0 = 1
Note
A new job can only be started if the previous job was completed. See Section "Job
management: Waiting for end of job (Page 1161)".
The execution of a job may take several PLC cycles and vary depending on the utilization.
Therefore, the time for this function cannot be defined.
Basic Functions
1160 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
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
Requirement
In order to complete the job, the start signal of the job must be reset from the PLC user program
after detection of the end of the job:
DB1200.DBX0.0 = 0
Feedback signal
As feedback, the NC resets the status signals:
● DB1200.DBX2000.0 == 0
● DB1200.DBX2000.1 == 0
The job is now completed.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1161
P4: PLC for SINUMERIK 828D
15.6 Function interface
6WDUW
-RE
FRPSOHWHG
(UURULQMRE
① 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
1162 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
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)
Access result
NC variables
DBB3001
Value Meaning
0 No error
3 Access to object is not permitted
5 Invalid address
10 Object does not exist
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 Meaning
x <error number of the PROFIdrive profile> + 20H or 36D
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1163
P4: PLC for SINUMERIK 828D
15.6 Function interface
Variable Meaning
cuttEdgeParam (Page 1165) Compensation value parameters and cutting edge list with D num‐
bers for a tool
numCuttEdgeParams (Page 1165) Number of P elements of a cutting edge
linShift (Page 1165) Translation of a settable zero-point offset
numMachAxes (Page 1166) Number of the highest existing channel axis
rpa (Page 1166) R parameters
actLineNumber (Page 1167) Line number of the current NC block
$TC_MPPx (Page 1167) Magazine location data
r0078[1] (Page 1168) Current actual value, torque-generating
r0079[1] (Page 1169) Torque setpoint at the output of the speed controller
r0081 (Page 1169) Torque utilization in percent
Basic Functions
1164 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
Variable Meaning
r0082[1] (Page 1169) Active power actual value
TEMP_COMP_x (Page 1170) Temperature compensation data
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 1455).
Variable "numCuttEdgeParams"
Variable "linShift"
Index Meaning
0 ACTFRAME = actual resulting work offset
1 IFRAME = actual settable work offset
2 PFRAME = actual programmable work offset
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1165
P4: PLC for SINUMERIK 828D
15.6 Function interface
Index Meaning
3 EXTFRAME = actual external work offset
4 TOTFRAME = actual total work offset = total of ACTFRAME and EXTFRAME
5 ACTBFRAME = actual total base frame
6 SETFRAME = current 1st system frame (PRESET, scratching)
7 EXTFRAME = current 2nd system frame (PRESET, scratching)
8 PARTFRAME = current 3rd system frame (TCARR and PAROT with an orientable tool‐
holder)
9 TOOLFRAME = current 4th system frame (TOROT and TOFRAME)
10 MEASFRAME = result frame for the workpiece and tool measuring
11 WPFRAME = current 5th system frame (workpiece reference points)
12 CYCFRAME = current 6th system frame (cycles)
Variable "numMachAxes"
Variable "rpa"
R parameters
Basic Functions
1166 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
Variable "actLineNumber"
No. Meaning
≥1 Line number of the current NC block
0 No line number available because the program has not started
-1 No line number available: Error
-2 No line number available: Suppression of block display with DISPLOF is active
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1167
P4: PLC for SINUMERIK 828D
15.6 Function interface
Variable r0078[1]
● Drive object: SERVO, SERVO_AC, SERVO_I_AC
● CO: Current actual value, torque-generating [Arms]
● Index [1]: smoothed with p0045
Basic Functions
1168 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
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
Variable r0081
● Drive object: SERVO, SERVO_AC, SERVO_I_AC
● CO: Torque utilization in percent
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, 12/2017, 6FC5397-0BP40-6BA1 1169
P4: PLC for SINUMERIK 828D
15.6 Function interface
Temperature compensation
Basic Functions
1170 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1171
P4: PLC for SINUMERIK 828D
15.6 Function interface
DBB 4002 -
DBB 4003 -
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
1) DB1200.DBX4000.1, start: DBX4000.1 = 1 ⇒ start of the PI service; DBX4000.1 = 0 ⇒ PI service completed
2) DB1200.DBB4001, PI index: Specifies the specific PI service
3) DB1200.DBW4004 ..., PI parameters: PI-specific parameters
Basic Functions
1172 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
Interrupts
Note
Relationship between channels and interrupts
For control systems with maximum one channel, two interrupts are available; for control
systems with maximum two channels, four interrupts are available.
Every interrupt number can be assigned an interrupt program (ASUB) with the "ASUB" PI
service from the PLC. The interrupt program is then executed on the NC when the associated
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1173
P4: PLC for SINUMERIK 828D
15.6 Function interface
interrupt is issued. The associated interrupt programs must be present in the NC in the machine
manufacturer directory (_N_CMA_DIR) with the following program names:
If the interrupt programs are not available, they must be created. An NC Reset (Power On)
must then be issued on the NC.
The PI service "ASUP" must only be executed once per interrupt assignment after the control
powers up. The assignment of the interrupt to the interrupt program is retained until the control
powers up again.
Job specification
PI service: ASUP
Address Meaning Valid values
DB1200.DBW4001 PI index 1)
1, 2, 13, 14
DB1200.DBW4004 Parameter 1: LIFTFAST 2)
0 (FALSE), 1 (TRUE)
DB1200.DBW4006 Parameter 2: BLSYNC 3) 0 (FALSE), 1 (TRUE)
DB1200.DBW4008 Parameter 3: Channel index 4) 0, 1
DB1200.DBW4010 Parameter 4: Interrupt priority 5)
0, 1, 2, 3, 4
1)
● PI index = 1: Interrupt 1 ⇒ _N_CMA_DIR / PLCASUP1_SPF, interrupt priority set as default: 1
● PI index = 2: Interrupt 2 ⇒ _N_CMA_DIR / PLCASUP2_SPF, interrupt priority set as default: 2
● PI index = 13: Interrupt 3 ⇒ _N_CMA_DIR / PLCASUP3_SPF, interrupt priority set as default: 3
● PI index = 14: Interrupt 4 ⇒ _N_CMA_DIR / PLCASUP4_SPF, interrupt priority set as default: 4
2) After the interrupt has been initiated, LIFTFAST first results in a fast retraction (fast lift). Only then
is the interrupt routine executed.
References
Function Manual, Special Functions; Section "R3: Extended standstill and retract " > "Control-managed
ESR" > "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.
4) 0 → channel 1, 1 → channel 2
5) When using default interrupt priorities, the parameter should be set to a value of 0.
Machine data
● Lowest interrupt priority
In the following machine data, the lowest interrupt priority for the NC is defined, whose
associated interrupt is processed. Interrupts with a lower priority than that specified in the
machine data are not processed in the control system:
MD11604 $MN_ASUP_START_PRIO_LEVEL
Basic Functions
1174 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
Supplementary conditions
Channel status
The PI service "ASUB" may only be executed when the channel in which it is requested is in
the "reset" state.
See also
Job specification (Page 1172)
Job feedback (Page 1173)
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)
Function
Save the current NC state to the system CompactFlash card.
Note
Powering up
The next time that the control powers up, in the "Start up menu" via "Reload saved user data",
the saved state can be loaded to the NC.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1175
P4: PLC for SINUMERIK 828D
15.6 Function interface
Job specification
PI service: DATA_SAVE
Address Description Valid values
DB1200.DBW4001 PI index 4
References
SINUMERIK 828D Commissioning Manual; Section "CNC commissioning" > "Scope of
delivery and requirements" > "Control run-up"
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
Basic Functions
1176 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
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.
6WDUW
-RE
FRPSOHWHG
(UURULQMRE
Note
Although the designation user "alarms" is used in the following, it defines only whether a
message or an alarm is involved when entering the associated cancel criterion (see
"Configuring user alarms (Page 1180)").
The user interface in DB1600 offers the option of displaying error and operational messages
on the HMI.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1177
P4: PLC for SINUMERIK 828D
15.6 Function interface
● The user alarms 700000 to 700247 and 701000 to 701247 can be given an additional
numeric parameter.
● Deactivation and acknowledgment of the user alarms.
● Evaluation of the system responses initiated by the user alarms.
The firmware evaluates the signals that have been entered and sends these as coming and
going alarms and messages to the HMI where they are displayed. The HMI manages the error
texts.
Basic Functions
1178 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1179
P4: PLC for SINUMERIK 828D
15.6 Function interface
Basic Functions
1180 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
Channel assignment
The channel is assigned as bit coding in the machine data:
MD14518 $MN_USER_DATA_PLC_ALARM_ASSIGN [ x ] = <channel assignment>
with x = user alarm number - 700000; value range: 0 ≤ x ≤ 247
<Channel assignment>
Bit Meaning
0 Scope NC-channel 1
1 Scope NC-channel 2
Bit x = 1: Channel selected
Bit x = 0: Channel deselected
Bit Meaning
Alarm response
0 NC Start disable
1 Read-in disable
2 Feed disable for all axes
3 Emergency stop
4 PLC STOP
5 Alarm log
Cancel criterion
6 Interrupt with DB1600 DBX3000.0
7 Power On
Channel assignment
8 PLC user alarm for NC-channel 1
9 PLC user alarm for NC-channel 2
10 Reserved
11 Reserved
12 Reserved
13 Reserved
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1181
P4: PLC for SINUMERIK 828D
15.6 Function interface
Bit Meaning
14 Reserved
15 Reserved
Display message
If an alarm response is not activated (machine data bits 0 to 4 = 0) for one of the user alarms
listed above, then this defines that it involves what is known as a "Display message" without
having any effect on the system. This especially indicates that also the cancel criterion
(machine data bits 6 and 7) of the corresponding machine data is not evaluated.
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 pending alarms.
Basic Functions
1182 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1183
P4: PLC for SINUMERIK 828D
15.6 Function interface
References
● Function Manual, Extended Functions; Positioning Axes (P2) and Indexing axes (T1)
● Function Manual, Basic Functions; Spindles (S1)
Requirement
The axis to be controlled must be assigned to the PLC (PLC axis). An axis can be interchanged
between NC and PLC using the user interface "Axis interchange" (DB3800.DBB8/
DB3900.DBB8).
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.
Abort
It is not possible 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 traversing motion 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).
Basic Functions
1184 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
A change of a request signal (DB380x.DBX8.7 or 8.0) must be notified to the NC via a 0→1
edge of the activation signal (DB380x.DBX8.4). After a PLC cycle, the activation signal must
be reset again.
Note
Simulation
To activate the interface signals, the machine data MD30350 $MA_SIMU_AX_VDI_OUTPUT
must be set for each required axis during the simulation.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1185
P4: PLC for SINUMERIK 828D
15.6 Function interface
[ 3/&UHFHLYHVVLJQDO$[LVLQWHUFKDQJHSRVVLEOH
1&D[LVDQGSRVVLEO\1HXWUDOD[LVVSLQGOH[
3/&UHTXHVWVD[LV
3/&UHVHWVDFWLYDWLRQVLJQDO
$[LVLVDVVLJQHGWR3/&FDQEHXVHGDQGZLOOWKHQEHSDVVHGWR1&
3/&UHWXUQVD[LVWR1&
3/&UHVHWVDFWLYDWLRQVLJQDO
6WDWXV1&D[LVDQG$[LVLQWHUFKDQJHSRVVLEOH
$[LVLVDVVLJQHGWR3/&FDQEHXVHGDQGZLOOWKHQEHUHOHDVHG
3/&UHOHDVHVD[LV
3/&UHVHWVDFWLYDWLRQVLJQDO
6WDWXV1HXWUDOD[LVVSLQGOH1&D[LVDQG$[LV
LQWHUFKDQJHSRVVLEOH
Basic Functions
1186 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
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:
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.
The following requirements must be satisfied in order to use the functions listed below:
● The axis or spindle is correctly assigned to the PLC.
● Controller and pulse enable are set.
● After setting all of the control signals, only one of the start signals is set in DB380x.DBB3000.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1187
P4: PLC for SINUMERIK 828D
15.6 Function interface
Basic Functions
1188 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
WR3/&D[LV
6WDUW
6SLQGOHUHVHW
IURP3/&D[LV
3RVLWLRQLQJD[LVDFWLYH
3RVLWLRQUHDFKHG
$[LVVWDWLRQDU\
(UURUELW
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1189
P4: PLC for SINUMERIK 828D
15.6 Function interface
WR3/&D[LV
6WDUW
6WRS
IURP3/&D[LV
3RVLWLRQLQJD[LVDFWLYH
3RVLWLRQUHDFKHG
6SLQGOHVWDWLRQDU\
(UURU
Basic Functions
1190 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1191
P4: PLC for SINUMERIK 828D
15.6 Function interface
WR3/&D[LV
6WDUW
6WRS
IURP3/&D[LV
3RVLWLRQLQJD[LVDFWLYH
6SLQGOHVWDWLRQDU\
$[LVFDQQRWEHVWDUWHG
Basic Functions
1192 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
WR3/&D[LV
6WDUW
6WRS
IURP3/&D[LV
3RVLWLRQLQJD[LVDFWLYH
3RVLWLRQUHDFKHG
6SLQGOHVWDWLRQDU\
(UURU
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1193
P4: PLC for SINUMERIK 828D
15.6 Function interface
Basic Functions
1194 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
WR3/&D[LV
6WDUW
'HOHWHGLVWDQFHWRJR
IURP3/&D[LV
3RVLWLRQLQJD[LVDFWLYH
3RVLWLRQUHDFKHG
(UURU
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1195
P4: PLC for SINUMERIK 828D
15.6 Function interface
WR3/&D[LV
6WDUW
'HOHWHGLVWDQFHWRJR
IURP3/&D[LV
3RVLWLRQLQJD[LVDFWLYH
3RVLWLRQUHDFKHG
(UURU
Basic Functions
1196 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
WR3/&D[LV
6WDUW
'HOHWHGLVWDQFHWRJR
IURP3/&D[LV
3RVLWLRQLQJD[LVDFWLYH
3RVLWLRQUHDFKHG
(UURU
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1197
P4: PLC for SINUMERIK 828D
15.6 Function interface
Basic Functions
1198 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
WR3/&D[LV
6WDUW
'HOHWHGLVWDQFHWRJR
IURP3/&D[LV
3RVLWLRQLQJD[LVDFWLYH
3RVLWLRQUHDFKHG
(UURU
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1199
P4: PLC for SINUMERIK 828D
15.6 Function interface
WR3/&D[LV
6WDUW
6WRS
IURP3/&D[LV
3RVLWLRQLQJD[LVDFWLYH
3RVLWLRQUHDFKHG
6SLQGOHVWDWLRQDU\
(UURU
Basic Functions
1200 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
WR3/&D[LV
6WDUW
6WRS
IURP3/&D[LV
3RVLWLRQLQJD[LVDFWLYH
3RVLWLRQUHDFKHG
6SLQGOHVWDWLRQDU\
(UURU
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1201
P4: PLC for SINUMERIK 828D
15.6 Function interface
Basic Functions
1202 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
WR3/&D[LV
6WDUW
6WRS
IURP3/&D[LV
3RVLWLRQLQJD[LVDFWLYH
3RVLWLRQUHDFKHG
6SLQGOHVWDWLRQDU\
(UURU
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1203
P4: PLC for SINUMERIK 828D
15.6 Function interface
Basic Functions
1204 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
Interrupts
"Start INT1":
● DBX0.0 = 1: Request to start the interrupt program (ASUP) assigned to INT1.
● DBX0.0 = 0: Reset the ASUP request after acknowledgment in the result interface
DB340x.DBB1000.0 - 3.
"Start INT2":
● DBX1.0 = 1: Request to start the interrupt program (ASUP) assigned to INT2.
● DBX1.0 = 0: Reset the ASUP request after acknowledgment in the result interface
DB340x.DBB1001.0 - 3.
"Start INT3":
● DBX2.0 = 1: Request to start the interrupt program (ASUP) assigned to INT3.
● DBX2.0 = 0: Reset the ASUP request after acknowledgment in the result interface
DB340x.DBB1002.0 - 3.
"Start INT4":
● DBX3.0 = 1: Request to start the interrupt program (ASUP) assigned to INT4.
● DBX3.0 = 0: Reset the ASUP request after acknowledgment in the result interface
DB340x.DBB1003.0 - 3.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1205
P4: PLC for SINUMERIK 828D
15.6 Function interface
Basic Functions
1206 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.6 Function interface
Signal flow
,176WDUW
$68%LVEHLQJ
H[HFXWHG
$68%FRPSOHWHG
,171RQRWDVVLJQHG
$68%H[HFXWLRQQRW
SRVVLEOH
Function
The channel displayed on the HMI, e.g. in the machine start screen, can be selected from the
PLC user program via the HMI/PLC interface.
Requirement
More than one channel is parameterized in the NC.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1207
P4: PLC for SINUMERIK 828D
15.6 Function interface
Channel number
● Channel number: 1, 2, ... max. number of channels
● Next channel: FFH
Error identification
● 0: No error
● 1: Invalid function number (DBX32.0 - .5)
● 2: Invalid parameter (DBB33 - DBB35)
● 3: Error when writing to HMI-internal variable
● 10: Channel not present (DBB33)
Functional sequence
PLC → HMI
The PLC user program must maintain the following execution sequence:
1. Check whether the interface is free for a new job:
– DB1900.DBX5021.6 == 0 (function request)
– DB1900.DBX5021.7 == 0 (status)
2. If the interface is free, the job data must be entered and the function request set:
– DB1900.DBB5022 = <channel number>
– DB1900.DBX5021.0 - .5 = 1 (function number: channel selection)
– DB1900.DBX5021.6 = 1 (function request)
Basic Functions
1208 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
HMI → PLC
The HMI makes the following responses for error-free parameterization:
1. Once the HMI has recognized the function request for channel selection, the status is set
to "function being performed" and the function request reset:
– DB1900.DBX5021.7 = 1 (status)
– DB1900.DBX5021.6 = 0 (function request)
2. Once the channel selection has been performed, the status is reset again and value 0 is
set as error identification:
– DB1900.DBX5021.7 = 0 (status)
– DB1900.DBX5011 = 0 (error identification)
The HMI makes the following responses for faulty parameterization:
● The function request is reset and the appropriate error identification is set:
– DB1900.DBX5021.6 = 0 (function request)
– DB1900.DBX5021.7 = 0 (status)
– DB1900.DBX5011 = <error identification>
15.7.1 Function
Note
The "CNC lock function" is a licensed option (article number: 6FC5800-0AP76-0YB0).
The use of the CNC lock function requires purchase of the appropriate license from SIEMENS.
The use of the lock function with a trial license is not possible.
NOTICE
License certificate
The company that created the CNC lock function (machine manufacturer or dealer) must
retain the license certificate for this option (CoL)!
This certificate can be used as legitimation for SIEMENS should the PIN be forgotten. The
owner of the certificate (CoL) can have the machine unlocked.
The machine manufacturer can use the "CNC lock function" and the encrypted file that created
with SINUMERIK Access MyMachine (AMM) Integrate application to activate a lock date in
the control system. This allows the use of the machine to be limited to the time until the lock
date is reached. The NC Start function of the control system is locked when the lock date is
exceeded.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1209
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
The CNC lock function can be lengthened or deactivated with an additional encrypted file. The
machine manufacturer sends this file to the end user if the user has fulfilled the agreed
obligations.
15.7.2 Requirements
The following preconditions must be met for using the "CNC lock function":
● The "CNC lock function" option must be set.
● A PLC project of CPU type "828D Step 2 x.yy" must be used.
Compatibility mode must be deactivated.
● The SINUMERIK Integrate Access MyMachine/ P2P (PC) application must be installed.
15.7.3 Restrictions
The CNC lock function supports the business model with time-limited use. This protects against
unauthorized use beyond the set interval. The direct access to the CNC, however, makes it
possible to circumvent the function. The CNC lock function does not offer an absolute
protection against manipulation. Unauthorized use of the machine is precluded by locking the
automatic mode of the CNC. Because a running automatic program cannot be interrupted, this
can extend the runtime beyond the lock date. All other functions of the SINUMERIK control
system remain available.
To permit the CNC lock function to act, support of the machine manufacturer is required.
Consequently, the following note and supplementary conditions must be observed when the
CNC lock function is used!
Note
The CNC lock function is based on a connection of the PLC project to the associated
SINUMERIK control system. The SINUMERIK control system consists of a combination of
Panel Processing Unit (PPU) and CF card with system software.
Supplementary conditions
● Manipulation attempts and/or inconsistencies can lead to the CNC lock function causing a
machine standstill.
● The use of the CNC lock function may require additional service calls of the machine
manufacturer or dealer at the customer site.
● The PLC project should never be given to the customer without saved OEM PIN. The use
of a "free" PLC project allows circumvention of the CNC lock function!
● A reimplementation of the PLC project of the associated machine tool allows circumvention
of the CNC lock function!
● The protection of the program organization units in the PLC of the SINUMERIK must be
used. Activation in the PLC Programming Tool is possible. The coding of the PLC project
must be kept secret.
Basic Functions
1210 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
● To provide better protection, each machine must be given its own OEM PIN.
● Before setting up the lock function for the first time (see Chapter "Initial creation of the CNC
lock function (Page 1211)"), the setting up engineer must correctly set the date and the
time in the SINUMERIK control. If the date lies in the past, then the operating time of the
machine extends corresponding to the difference to the real date.
● The CNC lock function is built on the real-time clock of the SINUMERIK 828D. The
maintenance-free design of the SINUMERIK 828D can cause the time of day to be lost.
The CNC lock function performs a computerized numerical plausibility check of the time of
day. This check can be impaired by power loss to the real-time clock. In this case, the time
without power supply is ignored.
● The company that created the CNC lock function retains the associated license certificate
(CoL). This certificate serves as proof as authorized function creator to SIEMENS and so
implicitly as authorized user of the machine.
● A software malfunction can cause unintentional locking of the control system.
Note
The CNC lock function uses a cryptographic technique. When first marketed, the technique
used corresponds to state-of-the-art technology. As time goes by, the probability that this
technique will be able to be bypassed (manipulated) increases.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1211
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
Note
The serial number of the CF card and of the control system (PPU) can be found on the
SINUMERIK Operate user interface in the "Diagnostics" > "Version" > "Hardware" > "NCU/
PLC" > "ncu1" operating area:
● CF card: "CF card" > "SerialNo." area
● PPU: "SINUMERIK 828D PPU" > "SerialNo." area
Note
The OEM PIN increases the protection against manipulation of the CNC lock function.
The OEM PIN is stored by the system when activating the CNC lock function in the PLC user
program. The OEM PIN cannot be viewed, changed or deleted by the user in the PLC user
program.
The data is entered via Access MyMachine in the "CNC lock function" dialog window (called
from the main menu: "Tools" > "CNC lock function"). The "Activate" button must be selected:
Basic Functions
1212 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
After entering all of the data required, the lockset file to activate is generated using the "Creating
lockset file...".
Note
If an error occurs when importing the lockset file, an error-specific alarm will be issued. The
state of the CNC lock function remains unchanged.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1213
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
Note
We recommend that the machine manufacturer after commissioning the machine and
activating the CNC lock function creates a complete commissioning archive over all control
system components. This ensures data consistency for the CNC lock function. If necessary,
this commissioning archive can be used to recommission the control system without requiring
a service call to reactivate the CNC lock function.
Important notes
The following information must be heeded for the correct and reliable functioning of the CNC
lock function!
Note
Before activating the CNC lock function, the time of day must be set correctly on the control
system.
Note
The PLC user program should always be given the POU password protection. This prevents
users from copying the machine-specific know-how and using it in their own PLC user program,
and then replacing the PLC user program with the PLC user program of the machine
manufacturer that contains the PLC key of the CNC lock function.
Note
The commissioning archive for the end user may be exported only after activation of the CNC
lock function.
Basic Functions
1214 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
Note
After deactivation of the CNC lock function (see "Deactivating the CNC lock function
(Page 1217)"), a new commissioning archive must be exported and replaced with the original
archive. Only this guarantees that no inadvertent reactivation of the CNC lock function occurs.
This would cause an alarm and disable of the NC Start. To revoke this, the lock set file for
deactivating the CNC lock function must be reimported.
Note
The machine manufacturer has sole responsibility for the correct and reliable functioning of
the CNC lock function.
Note
The serial number of the CF card and the control system (Panel Processing unit, PPU) as well
as the OEM PIN must match the values used when the CNC lock functions was activated
initially.
Note
The serial number of the CF card and of the control system (PPU) can be found on the
SINUMERIK Operate user interface in the "Diagnostics" > "Version" > "Hardware" > "NCU/
PLC" > "ncu1" operating area:
● CF card: "CF card" > "SerialNo." area
● PPU: "SINUMERIK 828D PPU" > "SerialNo." area
The data is entered via Access MyMachine in the "CNC lock function" dialog window (called
from the main menu: "Tools" > "CNC lock function"). The "Extend" button must be selected:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1215
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
After entering all of the data required, the lockset file to extend is generated using the "Creating
lockset file...".
Note
If an error occurs when importing the lockset file, an error-specific alarm will be issued. The
state of the CNC lock function remains unchanged.
Basic Functions
1216 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
Note
The serial number of the CF card and of the control system (Panel Processing unit, PPU) as
well as the OEM PIN must match the values used when the CNC lock function was activated
initially.
Note
The serial number of the CF card and of the control system (PPU) can be found on the
SINUMERIK Operate user interface in the "Diagnostics" > "Version" > "Hardware" > "NCU/
PLC" > "ncu1" operating area:
● CF card: "CF card" > "SerialNo." area
● PPU: "SINUMERIK 828D PPU" > "SerialNo." area
The data is entered via Access MyMachine in the "CNC lock function" dialog window (called
from the main menu: "Tools" > "CNC lock function"). The "Deactivate" button must be selected:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1217
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
After entering all of the data required, the lockset file to deactivate is generated using the
"Creating lockset file...".
Note
If an error occurs when importing the lockset file, an error-specific alarm will be issued. The
state of the CNC lock function remains unchanged.
Basic Functions
1218 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
Note
We recommend that the end user after deactivating the lock date creates a complete
commissioning archive over all control system components. If necessary, this commissioning
archive can be used to recommission the control system without reactivating the CNC lock
function.
Check
The successful deactivation of the lock date in the control system can be checked by the lock
date no longer being displayed on the user interface:
SINUMERIK Operate user interface: "Commissioning" > "Licenses" operating area
Note
The original assigned OEM PIN must be known to the company that created the CNC lock
function for the replacement of defective control system hardware (PPU)!
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1219
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
Note
The serial number of the CF card and of the control system (PPU) can be found on the
SINUMERIK Operate user interface in the "Diagnostics" > "Version" > "Hardware" > "NCU/
PLC" > "ncu1" operating area:
● CF card: "CF card" > "SerialNo." area
● PPU: "SINUMERIK 828D PPU" > "SerialNo." area
The data is entered via Access MyMachine in the "CNC lock function" dialog window (called
from the main menu: "Tools" > "CNC lock function"). The "Activate" button must be selected:
After entering all of the data required, the lockset file to unlock is generated using the "Create
lockset file... button".
Basic Functions
1220 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
Note
Before the lockset file is imported, the time of day of the new control system hardware must
be set correctly, because the time of day at the time of the activation of the CNC lock function
is saved as the start value for monitoring. The company that created the CNC lock function
can protect the action by the replacement and the setting of the time of day being made by the
service personnel.
The lockset file import is started from the user interface: "Commissioning" > "Licenses" >
"Import license key" operating area.
No access level is required for the import.
If no error occurs when importing the lockset file, the CNC lock function is active in the new
control system.
Note
The original assigned OEM PIN must be known to the company that created the CNC lock
function for the replacement of defective CF card!
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1221
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
Note
The serial number of the CF card and of the control system (PPU) can be found on the
SINUMERIK Operate user interface in the "Diagnostics" > "Version" > "Hardware" > "NCU/
PLC" > "ncu1" operating area:
● CF card: "CF card" > "SerialNo." area
● PPU: "SINUMERIK 828D PPU" > "SerialNo." area
The data is entered via Access MyMachine in the "CNC lock function" dialog window (called
from the main menu: "Tools" > "CNC lock function"). The "Extend" or "Deactivate" button must
be selected:
After entering all of the data required, the lockset file to unlock is generated using the "Create
lockset file... button".
Basic Functions
1222 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
Note
Before the lockset file is imported, the time of day of the new control system hardware must
be set correctly, because the time of day at the time of the activation of the CNC lock function
is saved as the start value for monitoring. The company that created the CNC lock function
can protect the action by the replacement and the setting of the time of day being made by the
service personnel.
The lockset file import is started from the user interface: "Commissioning" > "Licenses" >
"Import license key" operating area.
No access level is required for the import.
If no error occurs when importing the lockset file, the CNC lock function is active in the new
control system.
Note
The serial number of the CF card and of the control system (PPU) can be found on the
SINUMERIK Operate user interface in the "Diagnostics" > "Version" > "Hardware" > "NCU/
PLC" > "ncu1" operating area:
● CF card: "CF card" > "SerialNo." area
● PPU: "SINUMERIK 828D PPU" > "SerialNo." area
The software version of the CNC software can be found on the SINUMERIK Operate user
interface in the "Diagnostics" > "Version" > "Actual version" operating area.
The original license certificate (CoL) must be sent to SIEMENS. Unlocking by SIEMENS
involves a fee.
The company that created the CNC lock function receives from the Hotline the lockset file to
unlock the machine. The unlocking acts, however, only on the hardware of the control system
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1223
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
(PPU). The PLC project is not unlocked. For this reason, the original PLC project appropriate
for the machine must be available.
The unlocking of the machine requires the on-site presence of a service technician of the
creator of the CNC lock function and the end user (operating company) of the machine.
Further information concerning the procedure can be obtained from the SIEMENS Hotline.
Project file
Note
The machine manufacturer is responsible for documenting the assignments of the serial
numbers and OEM PINs.
Access MyMachine can be used to create an unencrypted project file ("ucls" for "User-CNC-
Lock-Set file") that contains the following data:
● Serial number of the CF card
● Serial number of the control system (PPU)
● OEM PIN
● Creation date
● Lock date
This function is called using the "Save data..." button in the "CNC lock function" dialog window.
Clicking the "Load data..." button reimports the unencrypted data stored in the project file.
Basic Functions
1224 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
The incorrect settings must be corrected before switching off the control in order to withdraw
the lock.
NOTICE
Permanent lock
The incorrect date or time of day setting must be corrected before switching off the control.
Otherwise there is a risk of a permanent lock through alarm 8064: "CNC lock function: The
lock date has been reached, the NC cannot be started!"
Remedy: Correctly set the date/time of day before switching off the control.
If, with the CNC lock function activated, a future date is set, then the following alarm is output:
Alarm 8066 "CNC lock function: Changing the date would reduce the remaining runtime!"
The date can still be corrected as long as the control system was not switched off.
NOTICE
Shorter service life
After switching off the control system, a date set in the future is considered as being an actual
date and can no longer be reset. This reduces the service life until the lock date.
Remedy: Correctly set the date before switching off the control.
Further information
See:
● Online help for SINUMERIK Integrate Access MyMachine / P2P (PC)
● Online help for the PLC Programming Tool
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1225
P4: PLC for SINUMERIK 828D
15.7 CNC lock function (option)
Basic Functions
1226 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing 16
16.1 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, 12/2017, 6FC5397-0BP40-6BA1 1227
R1: Referencing
16.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
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
0 Reference point approach in plus direction
1 Reference point approach in minus direction
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)
Basic Functions
1228 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.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, 12/2017, 6FC5397-0BP40-6BA1 1229
R1: Referencing
16.3 Channelspecific referencing
<number> Meaning
-1 The machine axis does not have to be referenced for NC START in the channel.
0 The machine axis does not participate in channel-specific reference point approach.
1 - 15 Sequence number in channel-specific reference point approach.
Basic Functions
1230 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.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 (referencing active)
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)
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 121)
● Exceeding the encoder limit frequency of the position measuring system
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1231
R1: Referencing
16.5 Referencing with incremental measurement systems
Programming
Syntax
G74 <machine axis> {<machine axis>}
Meaning
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
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)
Basic Functions
1232 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.5 Referencing with incremental measurement systems
Overview
References
● NCU interfaces: SINUMERIK 840D sl Manual, NCU7x0.3 PN,
Section "Connecting" > "Digital I/Os"
● Drive parameter: SINAMICS S120/S150 List Manual
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1233
R1: Referencing
16.5 Referencing with incremental measurement systems
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 machine-
specific conditions, several encoder zero marks are detected in the traversing range of the
machine axis (for examples, see figure below), a proximity switch 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 contact-less proximity switch signal and encoder zero
mark.
60& 60&
1&8 $/0 00 1&8 $/0 00
*HDUER[
Parameterization
Note
Zero mark selection
The processing of the contact-less proximity switch signal is performed exclusively in the drive.
Connection and parameterization, see Section "Hardware signals (Page 1232)".
Basic Functions
1234 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.5 Referencing with incremental measurement systems
'%'%;GHFHOHUDWLRQRIUHIHUHQFHSRLQWDSSURDFK
'%'%;WUDYHUVLQJFRPPDQGSOXV
'%'%;WUDYHUVLQJFRPPDQGPLQXV
'%'%;DQGWUDYHUVLQJNH\SOXVPLQXV
'%'%;DQGUHIHUHQFHGV\QFKURQL]HG
=HURPDUNSRVLWLRQPHDVXULQJV\VWHP
9HORFLW\
0'0$B5()3B9(/2B6($5&+B&$0
UHIHUHQFHSRLQWDSSURDFKYHORFLW\
0'0$B5()3B9(/2B326
UHIHUHQFHSRLQWSRVLWLRQLQJYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
UHIHUHQFHSRLQWFUHHSYHORFLW\
W
3KDVH 3KDVH
Figure 16-2 Time sequence when referencing with incremental measuring systems (example)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1235
R1: Referencing
16.5 Referencing with incremental measurement systems
'%'%;GHFHOHUDWLRQRIUHIHUHQFHSRLQWDSSURDFK
'%'%;WUDYHUVLQJFRPPDQGSOXV
'%'%;WUDYHUVLQJFRPPDQG
PLQXV
'%'%;DQGWUDYHUVLQJNH\SOXVPLQXV
'%'%;DQGUHIHUHQFHGV\QFKURQL]HG
=HURPDUNSRVLWLRQPHDVXULQJ
V\VWHP
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 W
Phase 1: Start
To start the reference point approach, see Sections "Axisspecific referencing (Page 1228)"
and "Axisspecific referencing (Page 1228)".
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
Basic Functions
1236 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.5 Referencing with incremental measurement systems
0'0$B5()3B9(/2B6($5&+B0$5.(5
VPLQ
0'0$B0$;B$;B$&&(/
0'0$B5()3B0$;B&$0B',67PD[
9HORFLW\ GLVWDQFHWRWKHUHIHUHQFHFDP
PLQGLVWDQFHWRJR
0'0$B5()3B9(/2B6($5&+B&$0
UHIHUHQFHSRLQWDSSURDFKYHO
6WDUWSRVLWLRQRIWKH 'LVWDQFH
PDFKLQHD[LV
=HURPDUN 5HIHUHQFHFDP
Figure 16-4 Minimum distance for deceleration
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1237
R1: Referencing
16.5 Referencing with incremental measurement systems
Phase 1: Properties
● Feedrate override is 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 1230)
'%'%;GHFHOHUDWLRQRIUHIHUHQFHSRLQW
DSSURDFK
'%'%;WUDYHUVLQJFRPPDQG
SOXV
'%'%;WUDYHUVLQJFRPPDQG
PLQXV
'%'%;DQGWUDYHUVLQJNH\SOXVPLQXV
'%'%;DQGUHIHUHQFHGV\QFKURQL]HG
=HURPDUNSRVLWLRQPHDVXULQJ
V\VWHP 9HORFLW\
0'0$B5()3B9(/2B6($5&+B&$0
UHIHUHQFHSRLQWDSSURDFKYHORFLW\
0'0$B5()3B9(/2B326
UHIHUHQFHSRLQWSRVLWLRQLQJYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
UHIHUHQFHSRLQWFUHHSYHORFLW\
3KDVH
Phase 2: Start
Phase 2 is automatically started when Phase 1 has been completed without an alarm.
Basic Functions
1238 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.5 Referencing with incremental measurement systems
Initial situation:
The machine axis is positioned on the 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
0 Synchronization with falling reference cam edge
1 Synchronization with rising reference cam edge
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)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1239
R1: Referencing
16.5 Referencing with incremental measurement systems
9HORFLW\ 0'0$B5()3B0$;B0$5.(5B',67
PD[GLVWDQFHWRWKHUHIHUHQFHPDUN
0'0$B5()3B9(/2B6($5&+B&$0
UHIHUHQFHSRLQWDSSURDFKYHO
0'0$B5()3B9(/2B6($5&+B0$5.(5
UHIHUHQFHSRLQWFUHHSYHORFLW\
6WDUWSRVLWLRQRIWKH 'LVWDQFH
PDFKLQHD[LV
=HURPDUN 5HIHUHQFHFDP
Figure 16-6 Synchronization with falling reference cam edge
9HORFLW\ 0'0$B5()3B0$;B0$5.(5B',67
PD[GLVWDQFHWRWKHUHIHUHQFHPDUN
0'0$B5()3B9(/2B6($5&+B&$0
UHIHUHQFHSRLQWDSSURDFKYHO
0'0$B5()3B9(/2B6($5&+B0$5.(5
UHIHUHQFHSRLQWFUHHSYHORFLW\
6WDUWSRVLWLRQRIWKH 'LVWDQFH
PDFKLQHD[LV
=HURPDUN 5HIHUHQFHFDP
Figure 16-7 Synchronization with rising reference cam edge
Basic Functions
1240 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.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:
7KHUPDOH[SDQVLRQ
PLQ PD[
&DPVLJQDO
=HURPDUNVHDUFKDFWLYH
(TXLGLVWDQW
HQFRGHU]HURPDUNV
Requirement
The electronic reference cam shift is only active for machine axes with reference cam:
MD34000 $MA_REFP_CAM_IS_ACTIVE == 1
Dynamic response
The following factors influence the dynamic response from the arrival of the reference cam to
the machine up to the detection of reference cam signals transferred from the PLC user
program to the NC:
● Switching accuracy of the reference cam switch
● Delay of the reference cam switch (NC contact)
● Delay at the PLC input
● PLC cycle time
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1241
R1: Referencing
16.5 Referencing with incremental measurement systems
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.
Traversing is performed internally with 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)
Basic Functions
1242 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.5 Referencing with incremental measurement systems
'%'%;UHIHUHQFHSRLQWDSSURDFK
GHFHOHUDWLRQ
'%'%;WUDYHUVLQJ
FRPPDQGSOXV
'%'%;WUDYHUVLQJ
FRPPDQGPLQXV
'%'%;DQGWUDYHUVLQJNH\
SOXVPLQXV
'%'%;DQGUHIHUHQFHGV\QFKURQL]HG
=HURPDUNSRVLWLRQPHDVXULQJ
V\VWHP
9HORFLW\
0'0$B5()3B9(/2B6($5&+B&$0
5HIHUHQFHSRLQWDSSURDFKYHORFLW\
0'0$B5()3B9(/2B326
5HIHUHQFHSRLQWSRVLWLRQYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
5HIHUHQFHSRLQWFUHHSYHORFLW\
W
3KDVH
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, 12/2017, 6FC5397-0BP40-6BA1 1243
R1: Referencing
16.5 Referencing with incremental measurement systems
9HORFLW\ 0'0$B5()3B0$;B0$5.(5B',67
PD[GLVWDQFHWRWKHUHIHUHQFHPDUN
0'0$B5()3B9(/2B6($5&+B&$0
UHIHUHQFHSRLQWDSSURDFKYHO
0'0$B5()3B9(/2B326
UHIHUHQFHSRLQWSRVLWLRQLQJYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
UHIHUHQFHSRLQWFUHHSYHORFLW\
'LVWDQFH
=HURPDUN 5HIHUHQFHFDP
0'0$B5()3B029B',67
0'0$B5()3B029(B',67B&255
0'0$B5()3B6(7B326>@
5HIHUHQFHSRLQWYDOXH
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
● Feedrate override is active.
● Feed stop (channel-specific and axis-specific) is active.
● NC stop and NC start are active.
Basic Functions
1244 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.6 Referencing with distance-coded reference marks
0'0$B5()3B9(/2B6($5&+B0$5.(5
UHIHUHQFHSRLQWFUHHSYHORFLW\
'LVWDQFH
=HURPDUN 5HIHUHQFHFDP
Figure 16-11 Reference point distance plus reference point offset less than braking distance
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1245
R1: Referencing
16.6 Referencing with distance-coded reference marks
5HIHUHQFHPDUN
Figure 16-12 Glass measuring scale with distance-coded reference marks, grid spacing: 20 mm
Basic Functions
1246 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.6 Referencing with distance-coded reference marks
4. Measure the actual position of the machine axes referred to the machine zero point.
5. Calculate the absolute offset and enter in MD34090.
The absolute offset is calculated with respect to the machine coordinate system and
depending on the orientation of the measuring system as:
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 = 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, 12/2017, 6FC5397-0BP40-6BA1 1247
R1: Referencing
16.6 Referencing with distance-coded reference marks
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
'%'%;GHOD\UHISRLQWDSSURDFK
'%'%;WUDYHUVLQJFRPPDQGPLQXV
'%'%;DQGWUDYHUVLQJNH\SOXVPLQXV
'%'%;UHIHUHQFHGV\QFKURQL]HG
5HIHUHQFHPDUNV
9HORFLW\
0'0$B5()3B9(/2B326
UHIHUHQFHSRLQWSRVLWLRQLQJYHORFLW\
0'0$B5()3B9(/2B6($5&+B0$5.(5
UHIHUHQFHSRLQWFUHHSYHORFLW\
3KDVH 3KDVH
Phase 1: Start
To start the reference point approach, see Sections "Axisspecific referencing (Page 1228)"
and "Channelspecific referencing (Page 1230)".
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.
Basic Functions
1248 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1249
R1: Referencing
16.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.
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
0 Travel to target position
1 No travel to target position
Basic Functions
1250 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.6 Referencing with distance-coded reference marks
Features of Phase 2
Phase 2 will display different characteristics, depending on whether a reference cam is
parameterized for the machine axis.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1251
R1: Referencing
16.7 Referencing by means of actual value adjustment
Note
The reference point position is mapped on the parameterized (fictive) 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
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 machine-
specifically carried out via:
MD34102 $MA_REFP_SYNC_ENCS = 1
Basic Functions
1252 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.7 Referencing by means of actual value adjustment
16.7.2 Actual value adjustment for measuring systems with distance-coded reference
marks
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 under the following conditions:
1. Active measuring system: Indirect measuring system (motor measuring system) with
absolute encoder, for example
2. Passive measuring system: Direct measuring system with distance-coded reference marks
3. Traversing motion 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. Whereby, the passive direct measuring system is referenced
automatically.
Parameterization
In addition to the specific machine data required to reference the individual measuring systems,
the following machine data must be set:
● Enable the actual value adjustment:
MD34102 $MA_REFP_SYNC_ENCS = 1
● Direct measuring system with distance-coded reference marks:
– MD34200 $MA_ENC_REFP_MODE[measuring system] = 3
Distance-coded reference marks
– MD30242 $MA_ENC_IS_INDEPENDENT[measuring system] = 2
In the actual value adjustment, the passive direct measuring system is aligned to the
actual position of the active indirect measuring system, but not marked as referenced.
After the parameterized number of reference marks is crossed, the passive direct
measuring system is referenced automatically. Referencing is performed in every
operating mode.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1253
R1: Referencing
16.8 Referencing in follow-up mode
Sequence
1. Initial situation: Both measuring systems are not referenced:
DB31, ... DBX60.4 = 0 (referenced/synchronized 1)
DB31, ... DBX60.5 = 0 (referenced/synchronized 2)
2. Referencing of 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. Traversing of 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)
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 1232)" and
"Referencing with distance-coded reference marks (Page 1245)").
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.
Basic Functions
1254 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.8 Referencing in follow-up mode
Note
Contact-less proximity switch signal: Zero mark selection
The processing of the proximity switch signal is performed exclusively in the drive. Connection
and parameterization, see Section "Hardware signals (Page 1232)".
Enable
The "Referencing in follow-up mode" function is enabled with:
MD34104 $MA_REFP_PERMITTED_IN_FOLLOWUP = TRUE
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1255
R1: Referencing
16.8 Referencing in follow-up mode
Basic Functions
1256 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.9 Referencing with absolute encoders
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
0 Encoder not calibrated
1 Encoder adjustment enabled
2 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 by means of the proximity switch
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, 12/2017, 6FC5397-0BP40-6BA1 1257
R1: Referencing
16.9 Referencing with absolute encoders
● Battery failure
● Set 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.
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.
Basic Functions
1258 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.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).
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, 12/2017, 6FC5397-0BP40-6BA1 1259
R1: Referencing
16.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.
Basic Functions
1260 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.9 Referencing with absolute encoders
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, 12/2017, 6FC5397-0BP40-6BA1 1261
R1: Referencing
16.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).
Basic Functions
1262 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.9 Referencing with absolute encoders
Function
For adjustment using proximity switch, a reference point approach to a defined machine
position is performed the same as for incremental measuring systems. In this case, the
proximity switch 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
Execution
Reference point approach can be started manually in JOG-REF mode or in AUTOMATIC or
MDI 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 proximity switch 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, 12/2017, 6FC5397-0BP40-6BA1 1263
R1: Referencing
16.9 Referencing with absolute encoders
Parameter assignment
Value Meaning
0 Traversing is enabled.
When reference point approach is initiated, the machine axis moves to the reference point
position. When reaching the reference point position, the reference point approach is comple‐
ted.
1 Traversing is not enabled.
After the activation of the reference point travel, the machine axis does not travel and the
reference point travel is immediately completed.
16.9.7 Reference point approach for rotary absolute encoders with equivalent zero mark
Function
To ensure that the reference point approach via zero mark (see Section "Referencing with
incremental measurement systems (Page 1232)") can also be used with absolute encoders,
the zero mark, which is not provided in the hardware of absolute encoders, is simulated. For
this, the controller generates the signal for the equivalent zero mark once per encoder
revolution, always at the same position within the revolution.
Basic Functions
1264 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.9 Referencing with absolute encoders
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 equivalent zero mark:
MD34200 $MA_ENC_REFP_MODE = 1
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1265
R1: Referencing
16.9 Referencing with absolute encoders
Supplementary conditions
● A reference point offset (MD34090 $MA_REFP_MOVE_DIST_CORR) may not be
parameterized.
This MD describes, in connection with absolute encoders, the offset between machine and
absolute encoder zero, and it therefore has a different meaning.
● 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 mark is found within the parameterized path (MD34060
$MA_REFP_MAX_MARKER_DIST), an alarm is output:
● 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
Basic Functions
1266 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.9 Referencing with absolute encoders
0'
0'
0'
0'
Note
The position control switching speed relevant for spindles is set according to the encoder
limiting frequency of the absolute value encoder of the spindle:
MD35300 $MA_SPIND_POSCTRL_VELO (position control switching speed)
MD36300 $MA_ENC_FREQ_LIMIT (Encoder limit frequency)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1267
R1: Referencing
16.10 Automatic restoration of the machine reference
Absolute encoders
For measuring systems with adjusted absolute encoders, the machine reference is restored
immediately without any additional measures when the encoder value is read.
Incremental encoders
With incremental measuring systems, the machine reference can be restored without
traversing the axes through "Automatic referencing" or "Restoration of the actual position".
Supplementary conditions
WARNING
Incorrect synchronization of the position measuring system caused by offset of the actual
machine axis position
During the time in which the measuring system of the machine axis is switched off, it is not
permissible that the axis is mechanically moved. Otherwise this results in an offset between
the last buffered actual position and the real actual position of the machine axis. This would
lead to an incorrect synchronization of the measuring system resulting in danger to personnel
and machine.
The machine manufacturer must provide such measures as holding brakes, etc. on the
machine so that the actual position is not changed, and this must be ensured by the user.
The responsibility for this rests exclusively with the machine manufacturer / user.
If axis motion cannot be prevented mechanically in the shutdown state, either an absolute
encoder must be used or the axis must be referenced again with reference point approach
after switching on.
Basic Functions
1268 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.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.
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.
Parameterization
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1269
R1: Referencing
16.10 Automatic restoration of the machine reference
Supplementary conditions
References
Description of Functions, Basic functions, Section "R1 Referencing" > "Referencing with
incremental measurement systems (Page 1232)" > ""
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.
Requirement
The measuring system that is active when the control is switched on must already have been
referenced once before switching off.
Parameterization
Basic Functions
1270 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.10 Automatic restoration of the machine reference
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 1232)" > ""
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1271
R1: Referencing
16.11 Supplementary conditions
Note
Linear absolute encoders
The absolute value of linear position encoders, e.g. Heidenhain LC181, is always unique for
the scale lengths available.
Rotary absolute encoders
The absolute value of rotary absolute encoders is only unique within the range of the specific
maximum encoder revolutions.
For example, the EQN 1325 rotary absolute encoder by Heidenhain supplies a unique absolute
value in the range of 0 to 4,096 encoder revolutions.
Depending on how the encoder is connected that will result in:
● Rotary axis with encoder on load: 4096 load revolutions
● Rotary axis with encoder on motor: 4096 motor revolutions
● Linear axis with encoder on motor: 4096 motor revolutions
Example:
An EQN 1325 rotary absolute encoder is mounted on the motor of a linear axis. For an effective
leadscrew pitch of 10 mm this will result in a unique absolute value within the travel range
-20.48 to +20.48 m.
Basic Functions
1272 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.12 Data lists
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1273
R1: Referencing
16.12 Data lists
16.12.2 Signals
Basic Functions
1274 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
R1: Referencing
16.12 Data lists
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1275
R1: Referencing
16.12 Data lists
Basic Functions
1276 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles 17
17.1 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, 12/2017, 6FC5397-0BP40-6BA1 1277
S1: Spindles
17.2 Modes
17.2 Modes
17.2.1 Overview
A spindle is an endlessly rotating axis, which can be operated in either the closed-loop position
control or closed-loop speed control modes.
Operating modes
● Control operation (closed-loop speed control)
● Oscillating operation (closed-loop speed control)
● Positioning operation (closed-loop position control)
● Synchronous mode
References:
Function Manual Extension Functions, Synchronous Spindle (S3)
● Tapping without compensating chuck (G331, G332)
References:
Programming Manual, Fundamentals, Chapter: "Position commands" > "Tapping" >
"Tapping without compensating check (G331 / G332)"
● Axis mode (closed-loop position control)
Note
Switchover, axis/spindle mode
A spindle can be switched over between the axis and spindle mode if the same motor is used
for axis and spindle operation.
Basic Functions
1278 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.2 Modes
2VFLOODWLRQPRGH 6\QFKURQRXVPRGH
&KDQJH *HDUVWDJH
&28321 &2832)
JHDUVWDJH FKDQJHG
632606326$
&RQWUROPRGH 3RVLWLRQLQJPRGH
63&2)
000
0
0
63&2) 63260
000 6326$ $[LVQDPH
0
$[LVPRGH
* *
7DSSLQJ
ZLWKRXW
FRPSHQVDWLQJFKXFN
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1279
S1: Spindles
17.2 Modes
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)
Basic Functions
1280 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.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, 12/2017, 6FC5397-0BP40-6BA1 1281
S1: Spindles
17.2 Modes
Value Meaning
0 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.
1 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 operator 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).
Basic Functions
1282 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.2 Modes
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1283
S1: Spindles
17.2 Modes
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 distance-
to-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.
Basic Functions
1284 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1285
S1: Spindles
17.2 Modes
Note
Activation via MD35035 should be preferred when using a spindle in multiple channels (axis/
spindle exchange).
End of positioning
The positioning can be programmed with:
FINEA[S<n>]: End of motion on reaching "Exact stop fine" (DB31, ... DBX60.7)
COARSEA[S<n>]: End of motion on reaching "Exact stop coarse" (DB31, ...
DBX60.6)
IPOENDA[S<n>]: End of motion on reaching "IPO stop"
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.
Basic Functions
1286 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.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).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1287
S1: Spindles
17.2 Modes
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.
Basic Functions
1288 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.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>
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, 12/2017, 6FC5397-0BP40-6BA1 1289
S1: Spindles
17.2 Modes
Special features
The spindle override switch is valid.
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:
Basic Functions
1290 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.2 Modes
Procedure
6SHHG
USP
3KDVHDVSHFLDOFDVH
FRQWUROPDUJLQ
0'(1&B)5(4B/,0,7
(QFRGHUOLPLWIUHTXHQ
3KDVHE F\
3KDVH
0'(1&B)5(4B/,0,7B/2:
(QFRGHUOLPLWIUHTXHQF\
5HV\QFKURQL]DWLRQ
3KDVH
0'63,1'B326&75/B9(/2
3KDVHF 3RVLWLRQFRQWURODFWLYDWLRQ
3KDVHD
VSHHG
3KDVH
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).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1291
S1: Spindles
17.2 Modes
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).
Phase 4
Spindle speed > Position-control activation speed
Basic Functions
1292 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.2 Modes
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1293
S1: Spindles
17.2 Modes
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.
Basic Functions
1294 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.2 Modes
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1295
S1: Spindles
17.2 Modes
&DVH6SLQGOHQRWV\QFKURQL]HG
6SHHGUSP
6326
0'63,1'B326&75/B9(/2
3RVLWLRQFRQWURODFWLYDWLRQVSHHG
=HURPDUN 7LPHV
&DVH6SLQGOHV\QFKURQL]HG
6SHHGUSP
0'63,1'B326&75/B9(/2
3RVLWLRQFRQWURODFWLYDWLRQVSHHG
D
D 7LPHV
6326
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:
Basic Functions
1296 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.2 Modes
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
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1297
S1: Spindles
17.2 Modes
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:
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)
Basic Functions
1298 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.2 Modes
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
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)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1299
S1: Spindles
17.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.
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
1300 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.2 Modes
Requirements
● 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:
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 control detects the transition to axis mode automatically from the program sequence (see
"Implicit transition to axis mode (Page 1303)"). 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 feedrate override switch is valid.
● 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 == 0 (spindle / rotary axis)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1301
S1: Spindles
17.2 Modes
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)"
Programming Comment
SPOS=...
M5 ; Control enable off (from PLC)
→ is output on PLC
M70 ; Switch actuator (from PLC on account of M70)
Control enable on (from PLC)
C=... ; NC traverses with axis parameter set
Programming Comment
C=...
M71 ; → is output to PLC
Closed-loop controller enable off (from PLC)
Switch actuator (from PLC)
Switched to spindle parameter set (1-5) internally in the
NC, controller enable on (from PLC)
Basic Functions
1302 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.2 Modes
Programming Comment
M3/4/5 or SPOS=... ; NC traverses with spindle parameter set
Function
The control detects the transition to axis mode automatically from the program sequence and
generates the requisite M70 sequence in the control. 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
basically not necessary.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1303
S1: Spindles
17.2 Modes
Sequence
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.
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.
Supplementary conditions
Synchronized actions
Basic Functions
1304 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.2 Modes
Examples
Example 1:
Part program: Transition from rotating spindle to axis mode
Configuration: MD35035 $MA_SPIND_FUNCTION_MASK, bit 20 = 1
Example 2:
Part program: Transition from positioning mode to axis mode
Configuration: MD35035 $MA_SPIND_FUNCTION_MASK, bit 20 = 1
Example 3:
Synchronized actions: Transition from spindle positioning mode to axis mode
Configuration: MD35035 $MA_SPIND_FUNCTION_MASK, bit 20 = 1
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1305
S1: Spindles
17.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
Example 5:
Synchronized actions: Invalid transition from speed control mode to axis mode
Configuration: MD35035 $MA_SPIND_FUNCTION_MASK, bit 20 = 1
Basic Functions
1306 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.2 Modes
17.2.8.1 Function
For tapping without compensating chuck, the traversing motion of the linear axis and the
spindle are interpolated, closed-loop position controlled. This requires a position-controlled
spindle with position measuring system.
① Thread pitch
② Thread depth
17.2.8.2 Programming
For tapping without compensating chuck, using the G331 and G332commands, the following
traversing motion is executed:
● G331: Tapping in the tapping direction up to the end of thread point
● G332: Retraction motion up to the tapping block G331 with automatic spindle direction of
rotation reversal
Syntax
G331 <axis> <thread pitch>
G331 <axis> <thread pitch> S...
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1307
S1: Spindles
17.2 Modes
Meaning
G331: Tapping
The tapped hole is defined by the traversing motion of the axis (drilling depth)
and the thread pitch.
Effective: Modal
G332: Retraction motion when tapping
Retraction motion must have the same pitch as when tapping (G331). The
direction of rotation of the spindle is reversed automatically.
Effective: Modal
<Axis>: Traversing distance/position of the geometry axis (X, Y or Z) at the end of
the thread, e.g. Z50
<Thread pitch>: Thread pitch I (X), J (Y) or K (Z):
● Positive pitch: Right-handed thread, e.g. K1.25
● Negative pitch: Left-handed thread, e.g. K-1.25
Value range: ±0.001 to ±2000.00 mm/revolution
S...: Spindle speed
The last active spindle speed is used if a spindle speed is not specified.
Note
Second gear-stage data block
To achieve effective adaptation of spindle speed and motor torque and be able to accelerate
faster, a second gear-stage data block for two further configurable switching thresholds
(maximum speed and minimum speed) can be preset in axis-specific machine data deviating
from the first gear step data block and also independent of these speed switching thresholds.
The specifications of the machine manufacturer must be observed.
References:
Function Manual, Basic Functions; Spindles (S1), Section: " Configurable gear adaptation"
Examples
● Example: Tapping with G331 / G332 (Page 1309)
● Example: Output the programmed drilling speed in the current gear stage (Page 1309)
● Example: Application of the second gear-stage data block (Page 1310)
● Example: Speed is not programmed, the gearbox stage is monitored (Page 1310)
● Example: Gearbox stage cannot be changed, gearbox stage monitoring (Page 1310)
● Example: Programming without SPOS (Page 1311)
Basic Functions
1308 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.2 Modes
17.2.8.4 Example: Output the programmed drilling speed in the current gear stage
The appropriate gear stage for the programmed spindle speed S500 with M40 is determined
on the basis of the first gear-stage data block. The programmed drilling speed S800 is output
in the current gear stage and, if necessary, is limited to the maximum speed of the gear stage.
No automatic gear-stage change is possible following an SPOS operation. In order for an
automatic change in gear stage to be performed, the spindle must be in speed-control mode.
Note
If gearbox stage 2 is selected at a spindle speed of 800 rpm, then the switching thresholds for
the maximum and minimum speed must be configured in the relevant machine data of the
second gear-stage data block (see the examples below).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1309
S1: Spindles
17.2 Modes
Basic Functions
1310 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.2 Modes
Thread interpolation for the spindle starts from the current position, which is determined by the
previously processed section of the part program, e.g. if the gear stage was changed.
Therefore, it might not be possible to remachine the thread.
Note
Please note that when machining with multiple spindles, the drill spindle also has to be the
master spindle. SETMS(<spindle number>) can be programmed to set the drill spindle as
the master spindle.
17.2.8.9 Special case: Direction of rotation reversal via NC/PLC interface signal in the NC program
Normally, a request to invert the direction of rotation of the spindle via the NC/PLC interface
signal "Invert M3 / M4" (DB31, ... DBX17.6) is realized by the PLC user program before the
NC program is started. Only when starting does the NC automatically evaluate the status of
the interface signal, and if necessary, change the spindle direction of rotation.
If, while the program is being executed, the spindle direction of rotation must again be changed
as a result of the NC/PLC interface signal "Invert M3 / M4" (DB31, ... DBX17.6), then within
an NC program, this can only be achieved using the subsequently described principle
sequence:
N110 SPCOF or M5 Stop the spindle and switch into the closed-loop speed controlled
mode
N111 Mxx or Hxx Output a user-specific help function to initiate the following actions
in the PLC user program:
● Set the read-in inhibit in the channel: DB21, ... DBX6.1 = 1
● Invert the interface signal "Invert M3/M4" of the spindle:
DB31, ... DBX17.6
● Reset the read-in inhibit in the channel: DB21, ... DBX6.1 = 0
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1311
S1: Spindles
17.2 Modes
Example
Program code Comment
N010 G0 X0 Z0 ; Initial position of the axes
N020 G1 G94 F1000 Z10 ; Traverse the Z axis to the initial position
N030 M3 S100 ; Traverse the spindle in the closed-loop speed controlled
mode
; 100 rpm with the spindle direction of rotation that was
determined
; at the start of the program
... ; Any arbitrary machining
N040 M5 ; Stop the spindle and switch into the closed-loop speed
controlled mode
N050 H10 ; Auxiliary function output: H0=10
; In the PLC user program:
; - set the read-in inhibit: DB21, ... DBX6.1=1
; - invert the direction of rotation: DB31, ... DBX17.6
; - reset the read-in inhibit: DB21, ... DBX6.1=0
N060 STOPRE ; Preprocessing stop
N070 SPOS=IC(0.001) ; Incrementally traverse the spindle in the closed-loop po-
sition controlled mode.
N080 SPOS=0 ; Position the spindle
N090 G331 Z-10 K1 S500 ; Tapping without compensating chuck
N100 G332 Z2 K1 ; Tapping without compensating chuck Retraction movement
N110 G1 G94 F1000 Z10 ; Retract to the initial position of the Z axis
N120 SPCOF ; Switch the spindle into the closed-loop speed controlled
mode
N130 H10 ; See above
N140 STOPRE ; Preprocessing stop
N150 SPOS=IC(.001) ; Incrementally traverse the spindle in the closed-loop po-
sition controlled mode.
N160 SPOS=0 ; Position the spindle
N170 G331 Z-10 K1 S500 ; Tapping without compensating chuck
N180 G332 Z2 K1 ; Tapping without compensating chuck Retraction movement
N190 G1 G94 F1000 Z10 ; Traverse the Z axis to the initial position
Basic Functions
1312 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.2 Modes
17.2.9.1 Function
When tapping with compensating chuck (G63) the spindle is not interpolated with the linear
axis, but is operated in the closed-loop speed controlled mode. The feedrate of the linear axis
dependent on the spindle speed and the thread pitch must be calculated and explicitly
programmed. As the spindle and linear axis are not interpolated together, to compensate
spindle speed fluctuations for example, a tapping drill in a length-compensating chuck is
required.
Retraction movement
The retraction motion is also programmed with G63 - but with the opposite spindle direction of
rotation.
Feedrate
Feedrate F of the linear axis to be programmed is obtained from the product of the spindle
speed and the thread pitch of the tapping drill:
F [mm/min] = spindle speed S [rpm] *thread pitch [mm/U]
17.2.9.2 Programming
For tapping with compensating chuck, using the G63 command, the following traversing motion
is executed:
● G63: Tapping in the tapping direction up to the end of thread point
● G63: Retraction motion with programmed spindle direction of rotation reversal
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1313
S1: Spindles
17.2 Modes
Note
After a G63block, the last effective interpolation type G0, G1, G2 is active.
Syntax
G63 <axis> <direction of rotation> <speed <feedrate>
Meaning
Example
Tapping an M5 thread:
● Spindle pitch according to the standard: 0.8 mm/rev
● Spindle speed S: 200 rpm
● Feedrate F = 200 rpm * 0.8 mm/rev = 160 mm/min.
Basic Functions
1314 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.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 information about synchronizing the spindle, see Section "R1: Referencing
(Page 1227)".
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 information about referencing the rotary axis, see Section "R1: Referencing
(Page 1227)".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1315
S1: Spindles
17.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
signal from the contactless proximity switch.
● 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
proximity switch 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
1316 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.3 Reference / synchronize
<Value> Meaning
2 The position is synchronized without entering a specific starting velocity/speed.
7 As starting velocity to synchronize the position, the velocity from the following machine data
is used:
MD34040 $MA_REFP_VELO_SEARCH_MARKER (reduced velocity)
The zero mark is not automatically looked for, it has to be requested explicitly with the 0/1
edge of the NC/PLC interface signal:
DB31, ... DBX16.4 / 5 (resynchronize spindle, measuring system 1 / 2)
Note
Generally, no change is required as signal runtimes and signal runtime compensation are
preset when the system is delivered.
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 sequence, see Section "R1: Referencing (Page 1227)".
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1317
S1: Spindles
17.3 Reference / synchronize
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
1318 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.4 Configurable gear adaptation
Once the tool has been retracted in 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 MDI mode or when overstoring).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1319
S1: Spindles
17.4 Configurable gear adaptation
Basic Functions
1320 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.4 Configurable gear adaptation
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1321
S1: Spindles
17.4 Configurable gear adaptation
0RWRUVSHHGUSP
:LWKDXWRPDWLFJHDUVWDJHVVHOHFWLRQWKLVVSHHG
0D[PRWRUVSHHG UDQJHLVQRWXVHGLQJHDUVWDJH
*HDUVWDJH
*HDUVWDJH
6SLQGOHVSHHGPLQ
QPD[ QPD[
JPD[
JPD[
JPLQ JPLQ
Figure 17-3 Gear stage change with selection between two gear stages
Basic Functions
1322 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.4 Configurable gear adaptation
In principle, the new gear stage can also be engaged without oscillation
When the new gear stage is engaged, the following NC/PLC interface signals are set by
the PLC program:
DB31, ... DBX16.0-16.2 (actual gear stage A to C)
DB31, ... DBX16.3 (gear is changed)
2. End of gear stage change
The gear stage change is treated as completed (spindle operation type "oscillation mode"
is deselected), if the following NC/PLC interface signal is set:
DB31, ... DBX16.3 (gear is changed)
The new actual gear stage is changed to the servo and interpolation parameter set when
the motor is stationary.
With NC/PLC interface signal:
DB31, ... DBX16.3 (gear is changed)
is used to communicate to the NC that the new gear stage is valid and the oscillation mode
can be completed.
The NC/PLC interface signal:
DB31, ... DBX82.3 (change gear)
is reset by the NC,
which causes the PLC program to reset NC/PLC IS:
DB31, ... DBX16.3 (gear changed).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1323
S1: Spindles
17.4 Configurable gear adaptation
Note
The number of gear stages in the second data set can vary from the first. If no appropriate
gear stage is found for a programmed speed for M40, then no gear stage change is carried
out (exceptions, see "M40: Automatic gear stage selection for speeds outside the configured
switching thresholds (Page 1379)").
For more information about a typical program sequence in thread cutting without compensating
chuck G331/G332 see:
References:
Programming Manual - Fundamentals; Motion Commands
The gear stages 1 to 5 of the second gear stage data set can be parameterized via the following
machine data:
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
1324 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.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:
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]
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1325
S1: Spindles
17.4 Configurable gear adaptation
6SHHG
USP
0D[LPXPVSLQGOHVSHHG
0D[LPXPVSHHGRIJHDUVWDJH
0D[LPXPVSHHGIRUDXWRP*6&
RIJHDUVWDJH
0D[LPXPVSHHGRIJHDUVWDJH
0D[LPXPVSHHGIRUDXWRP*6&
RIJHDUVWDJH
0LQLPXPVSHHGIRUDXWRP*6&
RIJHDUVWDJH
0LQLPXPVSHHGIRUDXWRP*6& 0LQLPXPVSHHGRIJHDUVWDJH
RIJHDUVWDJH
0LQLPXPVSHHGRIJHDUVWDJH
VWDJH
VWDJH
*HDU
*HDU
Figure 17-4 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.
Basic Functions
1326 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.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)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1327
S1: Spindles
17.4 Configurable gear adaptation
Basic Functions
1328 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.4 Configurable gear adaptation
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1329
S1: Spindles
17.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.
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
1330 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1331
S1: Spindles
17.4 Configurable gear adaptation
Part program:
Basic Functions
1332 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.4 Configurable gear adaptation
Note
For a block search, the actual gear stage ($VC_SGEAR[<n>]) can differ from the setpoint gear
stage ($AC_SGEAR[<n>]) as, during the block 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 block search.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1333
S1: Spindles
17.4 Configurable gear adaptation
Value Meaning
0 In-system parameter set selection
The parameter sets of the servo are assigned permanently.
The following applies:
● For axes and spindles in the axis mode, the first parameter set is active in principle.
Exception:
For G33, G34, G35, G331 and G332, for the axes involved, the parameter set with the
following number is activated:
Master spindle gear stage + 1 (corresponds to parameter set No. 2 ... 6)
● For spindles in the spindle mode, the parameter set is set matching the gear stage.
1 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.
2 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
DBX 69.2 / 69.1 / 69.0 Number Index [n]
Axis mode Last active gear stage 1 0
Gear stage 1 001 2 1
Gear stage 2 010 3 2
Gear stage 3 011 4 3
Gear stage 4 100 5 4
Gear stage 5 101 6 5
110
111
Basic Functions
1334 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.4 Configurable gear adaptation
Note
If an indirect encoder is configured, and the load gearbox transmission ratio changes, then the
reference is lost and the NC/PLC interface signal:
DB31, ... DBX60.4/60.5 (referenced/synchronized 1 or 2)
is reset for the relevant measuring system.
References
For further information about control and servo parameter set, please refer to:
● Functions Manual - Basic Functions; Velocities, Setpoint-Actual Value Systems, Closed-
Loop Control (G2)
● Programming Manual, Job Planning; Section: Programmable servo parameter set
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1335
S1: Spindles
17.4 Configurable gear adaptation
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 the "Activate machine data" function.
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
1336 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.4 Configurable gear adaptation
Changeover
Changeover to a new transmission ratio is performed immediately with the aid of the "Activate
machine data" function. 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 347)".
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 ASUP
● Mode change
● Delete distance-to-go
● Axis replacement
● Activate PI user data
● Enable PI service machine data
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1337
S1: Spindles
17.4 Configurable gear adaptation
Basic Functions
1338 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.4 Configurable gear adaptation
Requirement
● DB31, ... DBX18.5 = 1 (oscillation enable)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1339
S1: Spindles
17.4 Configurable gear adaptation
Start oscillation
The PLC user program can now set the oscillation enable signal.
● DB31, ... DBX18.5 = 1 (oscillation enable)
The motor accelerates with the oscillation acceleration to the oscillation speed in the start
direction for the direction of rotation dependent oscillation time:
● MD35410 $MA_SPIND_OSCILL_ACCEL (acceleration when oscillating)
● MD35430 $MA_SPIND_OSCILL_START_DIR (start direction when oscillating)
● MD35400 $MA_SPIND_OSCILL_DES_VELO (oscillation speed)
● MD35450 $MA_SPIND_OSCILL_TIME_CCW (oscillation time for the M4 direction)
● MD35440 $MA_SPIND_OSCILL_TIME_CW (oscillation time for the M3 direction)
Requirement
● DB31, ... DBX18.4 = 1 (oscillation controlled by the PLC)
● DB31, ... DBX18.5 = 1 (oscillation enable)
Start oscillation
The PLC user program can now set the oscillation enable signal.
● DB31, ... DBX18.7 = 1 (setpoint direction of rotation, counterclockwise) or DB31, ...
DBX18.6 = 1 (setpoint direction of rotation, clockwise)
Basic Functions
1340 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.4 Configurable gear adaptation
The motor accelerates with the oscillation acceleration to the oscillation speed in the specified
setpoint direction of rotation:
● MD35410 $MA_SPIND_OSCILL_ACCEL (acceleration when oscillating)
● MD35400 $MA_SPIND_OSCILL_DES_VELO (oscillation speed)
Block change
Processing of the active NC program is stopped if the spindle was switched into the oscillation
mode (DB31, ... DBX82.3 = 1 (switchover gear stage)).
Processing of the NC program is continued if the gear stage has been switched over (DB31, ...
DBX16.3 == 1 (gear stage has been switched over).
6SHHG %ORFNFKDQJH
USP
'%'%;
JHDULVVZLWFKHGRYHU
7LPHV
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1341
S1: Spindles
17.4 Configurable gear adaptation
'%'%;
FRQWUROPRGH
'%'%;
RVFLOODWLRQPRGH
'%'%;
JHDULVVZLWFKHGRYHU
'%'%;
VZLWFKRYHUJHDUVWDJH
'%'%;
VHWJHDUVWDJH
'%'%;
VSLQGOHLQVHWSRLQWUDQJH
'%'%;
VSLQGOHVWDWLRQDU\
'%'%;
DFWXDOJHDUVWDJH
'%'%;
RVFLOODWLRQHQDEOH
*HDUVWDJHVHOHFWHGPHFKDQLFDO
,QWHUQDOIHHGUDWHGLVDEOH
7 7
6SLQGOHVSHHG
W
W W W W
t1: As a result of the newly programmed S value S1300 in the NC program, the NC identifies the
necessity to switch over the gear stage (1st → 2nd gear stage), and requests the enable from the
PLC:
● NC → PLC: DB31, ... DBX82.3 = 1 (switchover gear stage)
The NC locks program processing (internal feed rate disable *)
t2: The NC signals spindle speed == 0 to the PLC:
● DB31, ... DBX61.4 = 1 (spindle stationary)
The PLC user program enables the oscillation mode.
● PLC → NC: DB31, ... DBX18.5 = 1 (oscillation enable)
Note
The oscillation enable must be set at the latest at time t2.
The NC starts to oscillate.
Basic Functions
1342 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.4 Configurable gear adaptation
Supplementary conditions
● The NC/PLC interface signal does not have to be set in order to brake the spindle:
DB31, ... DBX4.3 (spindle stop)
The spindle is brought to a standstill in the control system when a gear stage switchover
is requested.
● The gear stage switchover must always be exited by setting the NC/PLC interface signal:
DB31, ... DBX16.3 = 1 (gear stage has been switched over)
● Oscillation motion in the NC is stopped when the NC/PLC interface signal is reset.
DB31, ... DBX18.5 (oscillation enable)
However, the spindle remains in the "Oscillation mode" mode.
● Spindle synchronization is lost for gear stage switchover and indirect measuring system
(MD31050 $MA_ENC_IS_DIRECT = 0 motor encoder).
Gear stage switchover ⇒ DB31, ... DBX60.4 / 5 = 0 (referenced/synchronized)
The spindle is again automatically synchronized when the zero mark is passed the next
time after a gear stage switchover.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1343
S1: Spindles
17.4 Configurable gear adaptation
The "Gear stage change at fixed position" function supports the "directed gear stage change"
of load gearboxes that need to be activated in a different way than the NC. The gear stage
change can in this case only be performed at a defined spindle position. An oscillation
movement as required by conventional load gearboxes is thus no longer necessary.
Basic Functions
1344 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.4 Configurable gear adaptation
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1345
S1: Spindles
17.4 Configurable gear adaptation
'%'%;SRVLWLRQLQJPRGH
'%'%;FRQWUROPRGH
'%'%;RVFLOODWLRQPRGH
'%'%;JHDUVWDJHKDVEHHQFKDQJHG
'%'%;FKDQJHRYHUJHDUVWDJH
'%'%;VHWJHDUVWDJH$&
'%'%;VSLQGOHLQVHWSRLQWUDQJH
'%'%;VSLQGOHVWDWLRQDU\
'%'%;DFWXDOJHDUVWDJH$&
'%'%;RVFLOODWLRQVSHHG
VWJHDUVWDJHVHOHFWHGPHFKDQLFDO
QGJHDUVWDJHVHOHFWHGPHFKDQLFDO
,QWHUQDOIHHGUDWHGLVDEOH
6SLQGOHVSHHG
'%'%;H[DFWVWRSILQH
W W W W W
t1: With the programming of S1300, NC detects a new gear stage (second gear stage), sets IS
DB31, ... DBX84.5 (positioning mode) and blocks processing for the next part program block (=
internal feed disable*).
t2: The spindle is stationary, and exact stop is signaled.
t3: Gear stage change - wait time
Basic Functions
1346 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.4 Configurable gear adaptation
t4: The new gear stage is engaged. The PLC user transfers the new (actual) gear stage to the NC
and sets IS DB31, ... DBX16.3 (gear is changed).
t5: The NC then retracts IS DB31, ... DBX82.3 (change gear), releases the next part program block
for processing, and accelerates the spindle to the new S value (S1300).
*: The internal feed disable is set if:
● The spindle gear stage change has been programmed via the part program and
● A processing block is activated (i.e. G0 is not active)
The internal feed disable is not set during a gear stage change from synchronized actions or in
the case of specifications via the PLC with FC 18.
Figure 17-7 Gear stage change with stationary spindle
Velocity
The positioning velocity is taken from the machine data which is configured depending on the
gear stage:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1347
S1: Spindles
17.4 Configurable gear adaptation
MD35300 $MA_SPIND_POSCTRL_VELO
The NC/PLC interface signals "Spindle 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
.
Basic Functions
1348 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.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
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 stage.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1349
S1: Spindles
17.4 Configurable gear adaptation
Function
If the function is activated, a predefined gear stage is loaded automatically during transition to
axis mode.
The gear stage 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 stage changes is executed
in a similar way to programmed gear stage changes (M41 ... M45) performed.
Requirements
Gear stage changes during transition to axis mode require general enabling of the gear stage
change via the 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)
Activation/deactivation
The function is activated/deactivated via the machine data:
MD35014 $MA_GEAR_STEP_USED_IN_AXISMODE (gear stage for axis mode in M70)
Value Meaning
0 No implicit gear stage change occurs in M70. The current gear stage is retained (default
setting!).
1 ... 5 A gear stage change to gear stage 1 ... 5 occurs during the processing of M70.
Supplementary conditions
Gear stage change at fixed position (MD35010 $MA_GEAR_STEP_CHANGE_ENABLE = 2)
The "gear stage 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 stage.
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 1303)") and generates the requisite M70
sequence, including the gear stage change, within the control system.
Transition to axis mode with FC 18
Implicit gear stage change is not supported in transition to axis mode with the FC 18 ("Start
axis"). This requires the right gear stage to be engaged by the PLC application before switching
to axis mode. The gear stage change is also possible with the FC 18 ("Start gear stage
change").
Change from axis mode to spindle mode
Basic Functions
1350 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.4 Configurable gear adaptation
When changing from axis mode to spindle mode, the gear stage loaded with M70 remains
activated. The gear stage which is activated in spindle mode prior to M70 is not automatically
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 stage (with
MD35590 $MA_PARAMSET_CHANGE_ENABLE < 2).
Example
Gear stage 4 should be loaded in the case of spindle transition to axis mode.
Configuration: MD35014 $MA_GEAR_STEP_USED_IN_AXISMODE[<spindle name>] = 4
N25 ...
Note
MD35014 can be changed by the "Activate machine data" function. Thus, the gear stage being
loaded can still be changed in the part program before transition to axis mode, if necessary.
17.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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1351
S1: Spindles
17.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.
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.
Basic Functions
1352 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.5 Additional adaptations to the spindle functionality that can be configured
Function Manual, Basic Functions; Mode Group, Channel, Program Mode, Reset Response
(K1)
Supplementary 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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1353
S1: Spindles
17.5 Additional adaptations to the spindle functionality that can be configured
Basic Functions
1354 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.6 Selectable spindles
Function
Regarding channel spindles, the "Switchable spindles" function allows general NC programs
to be written, which can be used in different channels. The logical spindle number used in the
NC program is converted to the physical spindle number using a spindle number converter.
This means for the same spindle number programmed in the NC program, different physical
spindles (machine axes) can be traversed in different channels.
The physical spindles loaded or unloaded by "axis replacement" no longer have to be specified
explicitly in the part program.
Machine data
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1355
S1: Spindles
17.6 Selectable spindles
Setting data
Supplementary conditions
● Switchable channel spindles are not a substitute for the Axis replacement function.
● Spindle conversion can be modified by writing to setting data (SD42800
$SC_SPIND_ASSIGN_TAB) via the NC program, PLC user program or PI service. The
change takes effect immediately.
● In the spindle number converter, only physical spindles can be used that are assigned to
the channel (MD20070 $MC_AXCONF_MACHAX_USED).
If physical spindles are specified in the spindle number converter, which are presently active
in another channel, then depending on the setting in MD30552 $MA_AUTO_GET_TYPE,
either the physical spindle is requested for the channel, or alarm Alarm 16105 "Assigned
spindle does not exist" is displayed.
● 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.
● Converting a logical to several physical spindles is not locked. However, with the display
of the logical spindle in the user interface, there are ambiguities corresponding to the
conversion table.
Basic Functions
1356 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.6 Selectable spindles
Example
MD20070 $MC_AXCONF_MACHAX_USED[0] = 4
MD20070 $MC_AXCONF_MACHAX_USED[1] = 5
MD20070 $MC_AXCONF_MACHAX_USED[2] = 6
MD20070 $MC_AXCONF_MACHAX_USED[3] = 7
MD20090 $MC_SPIND_DEF_MASTER_SPIND = 1
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1357
S1: Spindles
17.6 Selectable spindles
Basic Functions
1358 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.7 Programming
17.7 Programming
Programming statements
Statement Description
SETMS: Master spindle is the spindle specified in the following machine data:
MD20090 $MC_SPIND_DEF_MASTER_SPIND (position of deletion of the master spin‐
dle in the channel)
SETMS(<n>): The spindle with the number <n> is the master spindle
(may differ from the initial setting:
MD20090 $MC_SPIND_DEF_MASTER_SPIND).
The master spindle must be defined for the following functions:
● G95: Revolutional feedrate
● G96 S.../G961 Constant cutting rate in m/min or feet/min
S...:
● G97/G971: Cancel G96/G961 and freeze last spindle speed
● G63: Tapping with compensating chuck
● G33/G34/G35: Thread cutting
● G331/G332: Tapping without compensating chuck
● G4 S...: Dwell time in spindle revolutions
● 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
M3: Clockwise spindle rotation for the master spindle
M<n>=3: Clockwise spindle rotation for spindle number <n>
M4: Counter-clockwise spindle rotation for the master spindle
M<n>=4: Counter-clockwise spindle rotation for spindle number <n>
M5: Spindle stop without orientation for the master spindle
M<n>=5: Spindle stop without orientation for spindle number <n>
S...: Spindle speed in rpm for the master spindle
S<n>=...: Spindle speed in rpm for spindle number <n>
SVC=...: Cutting rate in m/min or feet/min for the master spindle
SVC[<n>]=...: Cutting rate in m/min or feet/min for the spindle <n>
SPOS=...: Spindle positioning for the master spindle
SPOS[<n>]=...: Spindle positioning for spindle number <n>
The block change is only performed when the spindle is in position.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1359
S1: Spindles
17.7 Programming
Statement Description
SPOSA=...: Spindle positioning for the master spindle
SPOSA[<n>]=...: Spindle positioning for spindle number <n>
The block change is executed immediately. Spindle positioning continues, regardless of
further part program processing, until the spindle has reached its position.
SPOS=DC(...): The direction of motion is retained for positioning while in motion and the position ap‐
SPOS[<n>]=DC(...): proached. When positioning from standstill, the position is approached via the shortest
path.
SPOSA=DC(...):
SPOSA[<n>]=DC(...):
SPOS=ACN(...): The position is always approached with negative direction of motion. If necessary, the
SPOS[<n>]=ACN(...): direction of motion is inverted prior to positioning.
SPOSA=ACN(...):
SPOSA[<n>]=ACN(...):
SPOS=ACP(...): The position is always approached with positive direction of motion.
SPOS[<n>]=ACP(...): If necessary, the direction of motion is inverted prior to positioning.
SPOSA=ACP(...):
SPOSA[<n>]=ACP(...):
SPOS=IC(...): The travel path is specified. The direction of travel is determined from the sign in front of
SPOS[<n>]=IC(...): 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=IC(...):
If the zero mark is crossed during traversing, the spindle is automatically synchronized
SPOSA[<n>]=IC(...):
with the zero mark if no reference is available or if a new one has been requested via an
interface signal.
M19: Positioning the master spindle to the position in SD43240
M[<n>]=19: Positioning spindle number <n> to the position in SD43240
The block change is only performed when the spindle is in position.
Bring spindle to standstill and activate position control, select zero parameter set, activate
M70: axis mode
M<n>=70: for the master spindle
for spindle number <n>
Spindle position control ON
SPCON: for the master spindle
SPCON(<n>): for spindle number <n>
SPCON(<n>,<m>): for spindle numbers <n> and <m>
Spindle position control OFF, activate speed control mode
PCOF: for the master spindle
SPCOF(<n>): for spindle number <n>
SPCOF(<n>,<m>): for spindle numbers <n> and <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>): Revolutional feedrate for spindle <n> OFF
C30 G90 G1 F3600 Rotary axis C (spindle in axis mode) travels to the position 30 degrees at a speed of 3600
degrees/min = 10 rpm
Basic Functions
1360 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.7 Programming
Statement Description
Programmable minimum spindle speed limitation
G25 S...: for the master spindle
G25 S<n>: for spindle number <n>
Programmable maximum spindle speed limitation
G26 S...: for the master spindle
G26 S<n>: for spindle number <n>
Programmable maximum spindle speed limitation with G96, G961, G97
LIMS=...: for the master spindle
LIMS[<n>]=...: for spindle number <n>
VELOLIM[<spindle>]=...: Programmable limiting of the configured gear stage dependent maximum speed
Using machine data (MD30455 $MA_MISC_FUNCTION_MASK, bit 6), when program‐
ming in the part program, it can be set as to whether VELOLIM is effective independent
of whether used as spindle or axis (bit 6 = 1) - or is able to be programmed separately
for each operating mode (bit 6 = 0). If they are to be separately effective, then the selection
is made using the name when programming:
● Spindle name S<n> for spindle operating modes
● Axis name, e.g. "C", for axis operation
The correction value refers to:
● Spindles in axis operation (if MD30455 Bit 6 = 0):
To the configured maximum axis velocity (MD32000 $MA_MAX_AX_VELO).
● Spindles in spindle or axis operation (if MD30455 bit 6 = 1):
To the maximum speed of the active gear unit stage
(MD35130 $MA_GEAR_STEP_MAX_VELO_LIMIT[<n>])
For further explanations about the programming of VELOIM, see:
References:
Programming Manual, Work Preparation
WAITS: Synchronization command for master spindle
The subsequent blocks are not processed until the spindle programmed in a previous NC
block with SPOSA has reached its position (with exact stop fine).
WAITS after M5: Wait until the spindle is stationary.
WAITS after M3/M4: Wait until the spindle reaches its setpoint speed.
WAITS(<n>): Synchronization command for spindle number <n>
WAITS(<n>,<m>): Synchronization command for spindle numbers <n> and <m>
FA[S<n>]: Programming of positioning speed (axial feed) for spindle <n> in [deg/min]
With FA[S<n>]=0, the configured value takes effect once more:
MD35300 $MA_SPIND_POSCTRL_VELO
OVRA[S<n>]: Programming of the axial override value for spindle <n> in [%]
ACC[S<n>]: Programming of the axial acceleration capacity for spindle <n> in [%]
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1361
S1: Spindles
17.7 Programming
Statement Description
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()
● Velocity and acceleration values for following spindles:
– 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)
– $P_UBFR=CTRANS(A,10) : CFINE (19,0.1)
For further explanations about the programming of SPI, see:
References:
Programming Manual, Work Preparation.
M40: Automatic gear stage selection for the master spindle
M<n>=40: Automatic gear stage selection for spindle number <n>
M41 to M45: Select gear stage 1 to 5 for the master spindle
M<n>=41 to M<n>=45: Select gear stage 1 to 5 for spindle number <n>.
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.
References
More detailed explanations for programming the spindle can be found in:
● Programming Manual, Fundamentals
Basic Functions
1362 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.7 Programming
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
17.7.3 Programming spindle controls via PLC with FC18 - only 840D sl
When the PLC specifies the direction of rotation and speed using FC18, the NC can determine
and select a gear stage to match the speed. This is equivalent to the M40 functionality when
programming via the part program.
The correct start code must be set when FC18 is called in a PLC user program, in order to
activate gear stage selection.
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)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1363
S1: Spindles
17.7 Programming
17.7.4.1 Function
Note
The function is only available when using SINUMERIK Operate!
The following jobs/tasks can be issued to a spindle from the PLC user program using the job
interface DB31, … DBX30.0 - 4:
● Spindle stop
● Spindle start, clockwise rotation
● Spindle start, counter-clockwise rotation
● Select gear stage
● Spindle-start positioning
Job ID
At the NC side, a spindle job is identified as a result of a positive edge change of the appropriate
interface signal (0 → 1).
Requirements
At the instant of the spindle job, the following preconditions must be satisfied regarding the
channel, program and spindle states.
● Channel state:
– DB21, ... DBX35.6 == 1 (channel state "interrupted") OR
– DB21, … DBX35.7 == 1 (channel state "reset")
● Program state:
– DB21, ... DBX35.3 = 1 (program state "interrupted") OR
– DB21, ... DBX35.4 = 1 (program state "interrupted")
● Spindle state
– ("Channel axis" OR "Neutral axis") AND NO
– (positioning motion using FC18 OR synchronized action)
Note
Response in the event of an error
In the event of an error, i.e. if a job signal is set during an invalid state, then the corresponding
job is ignored without any feedback signal.
Basic Functions
1364 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.7 Programming
Channel assignment
A spindle job is processed in that particular channel, which is assigned to the spindle at the
instant of the job.
The channel, which is assigned to the spindle, can be determined using the following NC/PLC
interface signal:
DB31, ... DBX68.0 - 3 (channel assignment of the NC axis/spindle)
Mode change
The definitions made within the context of the spindle jobs are kept beyond any mode change.
Program start
When an NC program starts in the channel, which is assigned to the spindle, then the actual
spindle definitions are kept. Spindle definitions can be changed using NC program commands
or using synchronized actions.
See also
M40: Automatic gear stage selection for speeds outside the configured switching thresholds
(Page 1379)
G2: Velocities, setpoint / actual value systems, closed-loop control (Page 347)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1365
S1: Spindles
17.7 Programming
With the spindle definitions transferred into the setting data, the spindle is traversed to execute
the spindle jobs.
Job 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)
● DB31, … DBX30.4 (spindle positioning start)
References:
A detailed description of the NC/PLC interface signals can be found in the NC Variables and
Interface Signals List Manual.
Basic Functions
1366 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.7 Programming
SD43200 $SA_SPIND_S[<spindle>] (speed when the spindle is started via the PLC job
interface)
Supplementary conditions
Gear stage change
A gear stage change is not initiated if the setpoint speed is out of the speed range of the actual
gear stage.
Exceptions, see Chapter "M40: Automatic gear stage selection for speeds outside the
configured switching thresholds (Page 1379)".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1367
S1: Spindles
17.7 Programming
System of units
When writing the setting data, the value is interpreted corresponding to the following secondary
conditions:
● Writing via NC program or synchronized action:
– G700 active: feet/min
– G710 active: m/min
– G70, G71 active: Depending on the setting in MD10240
$MN_SCALING_SYSTEM_IS_METRIC
● Writing via SINUMERIK Operate:
– Depending on the setting in MD10240 $MN_SCALING_SYSTEM_IS_METRIC
● Writing via FC18:
– Function number 10: "constant cutting rate (m/min)"
– Function number 11: "constant cutting rate (feet/min)"
Reading via system or OPI variable
In the NC program, synchronized action or HMI, the currently entered setpoint for the constant
cutting rate can be read using the following system data:
17.7.4.6 Entering the spindle speed type for the master spindle (SD43206)
Definition of the spindle speed type for the master spindle from part program, FC18 or
synchronized actions are written to the following setting data from all the usual sources:
SD43206 $SA_SPIND_SPEED_TYPE (spindle speed type for spindle start via PLC interface)
The value range and functionality correspond to the 15th G group (feedrate type).
Permissible values are G values: 93, 94, 95, 96, 961, 97 and 971.
Depending on the setting, for DB31, … DBX30.1/2 (spindle start, clockwise/counter-clockwise)
either the speed from SD43200 $SA_SPIND_S or the cutting speed from
SD43202 $SA_SPIND_CONSTCUT_S is active:
93, 94, 95, 97 and 971: The master spindle is started with the speed from SD43200.
96 and 961: The speed of the master spindle is obtained from the specified
cutting rate (SD43202) and the radius of the transverse axis.
Basic Functions
1368 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.7 Programming
>0: 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).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1369
S1: Spindles
17.8 Spindle monitoring
6SHHG
0D[HQFRGHUOLPLWIUHTXHQF\
0'0$B(1&B)5(4B/,0,7
0DFKLQHGHSHQGHQWPD[VSLQGOHVSHHG
0'0$B63,1'B9(/2B/,0,7
3URFHVVGHSHQGHQWPD[VSLQGOHVSHHG
6'6$B63,1'B86(5B9(/2B/,0,7
0D[VSLQGOHVSHHGRIDFWLYHJHDUVWDJHQ
0'0$B*($5B67(3B0$;B9(/2B/,0,7>Q@
0'0$B*($5B67(3B3&B0$;B9(/2B/,0,7>Q@
3URJUDPPDEOHVSLQGOHVSHHGOLPLW*
6'6$B63,1'B0$;B9(/2B*
3URJUDPPDEOHVSLQGOHVSHHGOLPLWDWLRQ/,06*
6'6$B63,1'B0$;B9(/2B/,06
3URJUDPPDEOHPLQLPXPVSLQGOHVSHHG*
6'6$B63,1'B0,1B9(/2B*
0LQVSLQGOHVSHHGRIDFWLYHJHDUVWDJHQ
0'0$B*($5B67(3B0,1B9(/2B/,0,7>Q@
0D[YHORFLW\VSHHG$[LVVSLQGOHVWRSSHG
0'0$B67$1'67,//B9(/2B72/
,)$[LVVSLQGOHVWDWLRQDU\QQPLQ
6SHHGUDQJHRIVSLQGOHRUVSLQGOHFKXFN
6SHHGUDQJHRIDFWLYHJHDUVWDJH
6SHHGUDQJHRIDFWLYHJHDUVWDJH
OLPLWHGE\*DQG*
6SHHGUDQJHRIDFWLYHJHDUVWDJH
ZLWKFRQVWDQWFXWWLQJUDWH*DQG*
,)5HIHUHQFHGV\QFKURQL]HG
Figure 17-8 Ranges of spindle monitoring functions / speeds
Basic Functions
1370 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.8 Spindle monitoring
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.
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 1371)").
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1371
S1: Spindles
17.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.
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
1372 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.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)
System variables
The effective/limiting spindle parameters can be read via the following system variables: The
system variables must be indexed with the spindle number and they return values only relevant
in the speed control and spindle position modes.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1373
S1: Spindles
17.8 Spindle monitoring
References
The detailed description of the system variables can be found in:
List Manual, System Variables
Boundary conditions
Spindle mode
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.
Example
The effective/limiting spindle parameters for spindle 1 are written cyclically in the R parameter
and displayed as R parameter in the "Parameters" > "User variable" operating area on the HMI.
Program code
N05 IDS=1 WHENEVER TRUE DO $R10=$AC_SMAXVELO[1]
Basic Functions
1374 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.8 Spindle monitoring
Program code
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 1371)
Note
Machine manufacturer
It is recommended that changes to the maximum spindle speed in machine data MD35100
only be made when the spindle is stationary. This is particularly important for spindles that are
active after NC reset (see also MD35040 SPIND_ACTIVE_AFTER_RESET). Otherwise alarm
22100 may be output.
References
● Manufacturer documentation: List Manual, "Detailed Machine Data Description"
● User documentation: Diagnostics Manual
Responses to violation
If the actual speed of a spindle exceeds the parameterized maximum spindle speed by more
than the tolerance value,
"Actual spindle speed" > MD35100 $MA_SPIND_VELO_LIMIT (maximum
spindle speed) +
MD35150 $MA_SPIND_DES_VELO_TOL (spindle speed tolerance value)
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1375
S1: Spindles
17.8 Spindle monitoring
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.
CAUTION
Limit violation
The maximum encoder frequency limit of the actual spindle position encoder is monitored by
the control (the limit can be exceeded). It is the responsibility of the machine tool manufacturer
to ensure that the configuration of the spindle motor, gearbox, measuring gearbox, encoder
and machine data prevents the maximum speed of the actual spindle position encoder being
exceeded.
Basic Functions
1376 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1377
S1: Spindles
17.8 Spindle monitoring
6SHHG
0D[PRWRUVSHHG
6HWSRLQW
SRVLWLRQ
3RVLWLRQ
([DFWVWRSOLPLWILQH
([DFWVWRSOLPLWFRDUVH
Basic Functions
1378 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.8 Spindle monitoring
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).
17.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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1379
S1: Spindles
17.8 Spindle monitoring
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).
Supplementary 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).
MD35090 $MA_NUM_GEAR_STEPS (number of gear stages set up)
Example
Automatic gear stage selection M40 is the basic setting after NC reset.
Basic Functions
1380 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.9 Spindle with SMI 24 (Weiss spindle)
Part program:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1381
S1: Spindles
17.9 Spindle with SMI 24 (Weiss spindle)
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.
Note
Spindle with sensor module SMI 24 and axis container
A spindle with sensor module SMI 24 and drive telegram 139 for the transmission of sensor
data to the control must not be part of an axis container whose axes are distributed over several
NCUs via an NCU link.
Basic Functions
1382 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.9 Spindle with SMI 24 (Weiss spindle)
1)
See Section "Clamped state (Page 1384)"
2)
Sensor S1: 0 - 10 V
Analog actual value: 10000 increments, resolution 1 mV
Example:
SIMATIC S7 input module: 27648 increments, resolution 0.36 mV
Adaptation factor if you change to a spindle with SMI 24: (10000 incr. * 1 mV) / (27648 incr.
* 0.36 mV) = 1.00469393
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1383
S1: Spindles
17.9 Spindle with SMI 24 (Weiss spindle)
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 1382)", 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 121)")
Basic Functions
1384 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.9 Spindle with SMI 24 (Weiss spindle)
1)
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
2)
p5041[0...5]: Voltage threshold values, p5040: Voltage threshold values tolerance
3)
Speed limit permanently set: 0 [rpm]
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1385
S1: Spindles
17.11 Examples
17.11 Examples
Example
To illustrate the contents of the new block search variables:
Assumptions about automatic gear step selection (M40):
Basic Functions
1386 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.12 Data lists
* f (PlanAxPosPCS): The speed depends on the current position of the transverse axis in the
workpiece coordinate system.
** ($P_SEARCH_SPOS and $P_SEARCH_SPOSMODE are programmed)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1387
S1: Spindles
17.12 Data lists
Basic Functions
1388 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.12 Data lists
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1389
S1: Spindles
17.12 Data lists
17.12.3 signals
Basic Functions
1390 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
S1: Spindles
17.12 Data lists
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1391
S1: Spindles
17.12 Data lists
Basic Functions
1392 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates 18
18.1 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 commands).
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 speed (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, 12/2017, 6FC5397-0BP40-6BA1 1393
V1: Feedrates
18.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.
Basic Functions
1394 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.2 Path feedrate F
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, 12/2017, 6FC5397-0BP40-6BA1 1395
V1: Feedrates
18.2 Path feedrate F
Effectiveness
The feedrate types G93, G94, G95 are active for the G commands 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 traversing and manual handwheel traversing
(H1)
Programming example
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.
Basic Functions
1396 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.2 Path feedrate 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 control system 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.
F = FZ * $TC_DPNT
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1397
V1: Feedrates
18.2 Path feedrate F
Setting data
Revolutional feedrate in JOG mode
The behavior of an axis in terms of its revolutional feedrate relative to the master spindle of
the channel to which the axis is currently assigned in JOG mode depends on the settings in
the NC-specific setting data:
SD41100 $SN_JOG_REV_IS_ACTIVE, Bit <x>
Basic Functions
1398 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.2 Path feedrate F
6
6SHHG
Q
U
n: Spindle speed
SSpeed: Programmed cutting rate
π Circle constant
r: Radius (distance, center of rotation to TCP)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1399
V1: Feedrates
18.2 Path feedrate F
Diameter programming and reference axis for several transverse axes in one channel:
One or more transverse axes are permitted and can be activated simultaneously or separately:
● Programming and displaying in the user interface in the diameter
● Assignment of the specified reference axis with SCC[<axis>] for a constant cutting rate
G96, G961, G962
For more information, see Description of Functions "P1: Transverse axes (Page 863)".
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.
Basic Functions
1400 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.2 Path feedrate F
G97, G971 can be used to avoid speed variations in motions along the transverse axis without
machining (e.g. cutting tool).
Note
G96, G961 is only active during workpiece machining (G1, G2, G3, spline interpolation, etc.,
where feedrate F is active).
The response of the spindle speed for active G96, G961 and G0 blocks can be defined in the
channel-specific machine data:
MD20750 ALLOW_G0_IN_G96 (G0 logic for G96, G961)
When constant cutting rate G96, G961 is selected, no gear stage change can take place.
The spindle override switch acts on the calculated spindle speed.
A DRF offset in the transverse axis does not affect the spindle speed setpoint calculation.
At the start of machining (after G0) and after NC stop, G60, G09, ... the path start waits for
"nAct= nSet".
The interface signals "nAct = nSet" and "Set speed limited" are not modified by internal speed
settings.
When the speed falls below the minimum speed or if the signal "Axis/spindle stationary" is
recognized, "nAct =nSet" is reset.
A path operation which has started (G64, rounding), is not interrupted.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1401
V1: Feedrates
18.2 Path feedrate F
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.
Basic Functions
1402 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.2 Path feedrate F
● 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.
18.2.3 Feedrate for thread cutting (G33, G34, G35, G335, G336)
G33
The function G33 can be used to machine threads with constant pitch of the following type:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1403
V1: Feedrates
18.2 Path feedrate F
18.2.3.2 Linear increasing/decreasing thread pitch change with G34 and G35
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:
Basic Functions
1404 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.2 Path feedrate F
_N H ದN D _
)
O
*
The absolute value of F must be applied to G34 or G35 depending on the required pitch
increase of decrease.
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):
N N )
O
H D *
NH N D ) 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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1405
V1: Feedrates
18.2 Path feedrate F
18.2.3.3 Acceleration behavior of the axis for G33, G34 and G35
The acceleration behavior of the feed axis when thread cutting/tapping with G33, G34 or G35
can be set via the channel-specific setting data:
Basic Functions
1406 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.2 Path feedrate F
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1407
V1: Feedrates
18.2 Path feedrate F
18.2.3.4 Programmed run-in and run-out path for G33, G34 and G35 (DITS, DITE)
The run-in and run-out path of the thread can be specified in the part program with the DITS
and DITE addresses.
The thread axis is accelerated or braked along the specified path.
Note
DITE acts at the end of the thread as a rounding clearance. This achieves a smooth change
in the axis motion.
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.
Syntax
DITS=<Value> DITE=<Value>
Basic Functions
1408 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.2 Path feedrate F
Meaning
Example
Program code Comment
...
N40 G90 G0 Z100 X10 SOFT M3 S500
N50 G33 Z50 K5 SF=180 DITS=1 DITE=3 ; Start of smoothing with Z=53.
N60 G0 X20
Further information
SD42010 $SC_THREAD_RAMP_DISP
When a block containing DITS and/or DITE is inserted in the main run, the programmed run-
in/run-out path is transferred into the setting data SD42010 $SC_THREAD_RAMP_DISP
(Page 1406):
● SD42010 $SC_THREAD_RAMP_DISP[ 0 ] = programmed value of DITS
● SD42010 $SC_THREAD_RAMP_DISP[ 1 ] = programmed value of DITE
If no run-in/run-out path is programmed before or in the first thread block, the current value of
the setting data is used.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1409
V1: Feedrates
18.2 Path feedrate F
Function
The "Rapid retraction during thread cutting" 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
Disable fast retraction for thread cutting:
LFOF
Meaning
Basic Functions
1410 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.2 Path feedrate F
LFTXT The retraction direction is controlled in conjunction with ALF with G commands
LFWP: LFTXT and LFWP.
LFTXT: The plane in which the retraction motion is executed is calculated
from the path tangent and the tool direction (default setting).
LFWP: The plane in which the retraction motion is executed is the active
working plane.
ALF= : The direction is programmed in discrete degree increments with ALF in the
plane of the retraction motion.
With LFTXT, retraction in the tool direction is defined for ALF=1.
With LFWP, the direction in the working plane is derived from the following
assignment:
● G17 (X/Y plane)
ALF=1 ; Retraction in the X direction
ALF=3 ; Retraction in the Y direction
● G18 (Z/X plane)
ALF=1 ; Retraction in the Z direction
ALF=3 ; Retraction in the X direction
● G19 (Y/Z plane)
ALF=1 ; Retraction in the Y direction
ALF=3 ; Retraction in the Z direction
References:
Programming options with ALF are also described in "Traverse direction for
fast retraction from the contour" in the Programming Manual, Job Planning.
LFPOS: Retraction of the axis declared with POLFMASK or POLFMLIN to the absolute
axis position programmed with POLF.
POLFMASK: Release of axes (<Axis 1 name>,<Axis 1 name>, etc.) for inde‐
pendent retraction to absolute position.
POLFMLIN: Release of axes for retraction to absolute position in linear relation
Note:
Depending on the dynamic response of all the axes involved, the linear relation
cannot always be established before the lift position is reached.
POLF[]: 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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1411
V1: Feedrates
18.2 Path feedrate F
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.
[ 5HWUDFWLRQPRYHPHQWKDVHQGHG
WKUHDGFXWWLQJLVVWRSSHG
$[LV]HURVSHHG
',/)
Example
Program code Comment
N55 M3 S500 G90 G18 ; Set active machining plane.
...
N65 MSG ("thread cutting")
MM_THREAD:
N67 $AC_LIFTFAST=0 ; Reset before starting the thread.
N68 G0 Z5
N69 X10
N70 G33 Z30 K5 LFON DILF=10 LFWP ; Enable fast retraction for thread
ALF=7 cutting.
; Retraction path = 10 mm
; Retraction plane Z/X (because of G18).
Basic Functions
1412 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.2 Path feedrate F
Function
The G commands 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
7KUHDGHGWXUQLQJWRRO
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1413
V1: Feedrates
18.2 Path feedrate F
Programming
The turning of a convex thread is programmed with G335 or 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=...: Cartesian coordinate for the circle center point in the X direction
JR=...: Cartesian coordinate for the circle center point in the Y direction
KR=...: Cartesian coordinate for the circle center point in the Z direction
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.
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>]
; ;
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:
Basic Functions
1414 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.2 Path feedrate F
; 6WDUWLQJSRLQW
(QGSRLQW
r
=
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).
Response for …
The G335/G336 response for:
● Power On / Power Off
● Mode change
● NCK / mode group / channel / part program end reset
● Block search / REPOS / ASUP
● 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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1415
V1: Feedrates
18.2 Path feedrate F
.
[
6WDUWLQJSRLQW (QGSRLQW
,5
&HQWHUSRLQW
.5
]
Figure 18-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
&HQWHUSRLQW
,5
6WDUWLQJSRLQW (QGSRLQW
.5
]
Figure 18-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
Basic Functions
1416 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.2 Path feedrate F
[
.
6WDUWLQJSRLQW (QGSRLQW
&5
&HQWHUSRLQW
]
Figure 18-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
[
.
6WDUWLQJSRLQW (QGSRLQW
$5
&HQWHUSRLQW
]
Figure 18-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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1417
V1: Feedrates
18.2 Path feedrate F
[
.
6WDUWLQJSRLQW (QGSRLQW
,5 $5
&HQWHUSRLQW
.5
]
Figure 18-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
[
.
,QWHUPHGLDWH
SRLQW
.
(QGSRLQW
6WDUWLQJSRLQW
,
&HQWHUSRLQW
]
Figure 18-9 Convex thread in the clockwise direction with end and intermediate point programming
Basic Functions
1418 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.2 Path feedrate F
Function
A thread can be tapped by rigid tapping with the functions G331 (tapping) and G332 (tapping
retraction).
Path feedrate
With G331 / G332, the path feedrate F for the axes involved in tapping is derived from the
effective spindle speed S and the programmed pitch:
F [mm/min] = S [rpm] * thread pitch [mm/U]
Requirement
The requirement for rigid tapping is a position-controlled spindle with position measuring
system.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1419
V1: Feedrates
18.2 Path feedrate F
Machine data
● Preventing stop events
In the machine data, the stopping response when G331 / G332 is active is defined:
MD11550 $MN_STOP_MODE_MASK, Bit <x> = <value>
● Override
Which override is active during rigid tapping is set in:
MD12090 $MN_OVR_FUNCTION_MASK, Bit <x> = <value>
Basic Functions
1420 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.2 Path feedrate F
Supplementary conditions
Further overrides
The following overrides are inactive during rigid tapping
● Programmable path feedrate override OVR
● Rapid traverse override
Function
G63 is a subfunction for tapping threads using a tap with compensating chuck. An encoder
(position encoder) is not required.
References
For more information on G63, see Programming Manual Fundamentals.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1421
V1: Feedrates
18.2 Path feedrate F
Program code
N100 FGROUP(X,Y,Z,A)
N110 G1 G91 A10 F100
N120 G1 G91 A10 X0.0001 F100
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.
Basic Functions
1422 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.2 Path feedrate F
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_FGROUP[<axis>] Returns the value "1" if the specified axis affects the path
velocity in the current main run record by means of the
basic setting or through FGROUP programming. Otherwise,
the variable returns the value "0".
$AC_FGROUP_MASK Returns a bit key of the channel axes programmed with
FGROUP which are to affect the path velocity.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1423
V1: Feedrates
18.3 Feedrate for positioning axes (FA)
$PA_FGROUP[<axis>] Returns the value "1" if the specified axis affects the path
velocity by means of the basic setting or through FGROUP
programming. Otherwise, the variable returns the value "0".
$P_FGROUP_MASK Returns a bit key of the channel axes programmed with
FGROUP which are to affect the path velocity.
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>
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)
Basic Functions
1424 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.4 Feedrate control
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:
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 405)".
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
0 The default values are effective after NC reset.
1 The last programmed FA values are effective after NC reset.
Function
The "Feed disable" or "Feed/spindle stop" brings the axes to a standstill with adherence to the
braking characteristics With the exception for thread cutting G33, the programmed contour is
maintained.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1425
V1: Feedrates
18.4 Feedrate control
Thread cutting
Basic Functions
1426 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.4 Feedrate control
Function
With the "Feedrate override via machine control panel", the operator 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.
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).
With Gray coding, the override factors corresponding to the switch position must be entered
in the following machine data:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1427
V1: Feedrates
18.4 Feedrate control
Basic Functions
1428 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.4 Feedrate control
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:
MD12000 $MN_OVR_AX_IS_GRAY_CODE (axis feedrate override switch Gray-coded)
The following permanent assignment applies to binary code:
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)
Spindle override
An enable signal and a 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:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1429
V1: Feedrates
18.4 Feedrate control
With Gray coding, the override factors corresponding to the switch position must be entered
in the following machine data:
MD12070 $MN_OVR_FACTOR_SPIND_SPEED [<n>] (evaluation of the spindle override
switch)
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 Gray-
coded 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 assigned the value "0".
Basic Functions
1430 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.4 Feedrate control
Function
The "Programmable feedrate override" function can be used to change the velocity level of
path and positioning axes via the part program.
Programming
Syntax Meaning
OVR=<value> Feedrate change for path feedrate F
OVRA[<axis>=<value> Feedrate change for positioning feedrate FA
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 via machine control panel (Page 1427)".
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.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1431
V1: Feedrates
18.4 Feedrate control
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:
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
Value Meaning
0 The dry run feedrate may only be switched on and off at the end of the block (default setting).
1 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.
2 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
1432 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.4 Feedrate control
"DRY" is displayed in the operator panel front status bar to indicate an active dry run feedrate
if:
● Selection took place during the program stop at the end of a block or
● The machine data MD10704 $MN_DRYRUN_MASK was set to "1" during the program
execution
Value Meaning
0 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).
1 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.
2 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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1433
V1: Feedrates
18.4 Feedrate control
Signals
The input signals are combined in one input byte for the function. A fixed functional assignment
applies within the byte.
Table 18-1 Input byte for the "Multiple feedrates in one block" function
Bit
7 6 5 4 3 2 1 0
Input no. I7 I6 I5 I4 I3 I2 I1 I0
Feedrate address F7 F6 F5 F4 F3 F2 ST SR
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 NC I/O:
MD21220 $MC_MULTFEED_ASSIGN_FASTIN (assignment of the input bytes of the NC I/O
for "Multiple feedrate values in one block"), bits 0 ... 15
The input bits can also be inverted:
Basic Functions
1434 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.4 Feedrate control
%\WH %\WH
0' 0'
0&B08/7)(('B$66,*1B)$67,1 ,QYHUVLRQPDVN ,QYHUVLRQPDVN
0&B08/7)(('B$66,*1B)$67,1
%LW %LW
%LW %LW
LQSXWELW
,QSXWE\WHIRU
VHYHUDOIHHGUDWHYDOXHV
LQDVLQJOHEORFN
Figure 18-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 NC 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:
The programmed values act non-modally. The path feedrate programmed under F applies in
the next block.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1435
V1: Feedrates
18.4 Feedrate control
Dwell (sparking out time) and retraction path are programmed under separate addresses in
the block:
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:
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[X]=2.5 ; The sparking out time for the X axis is 2.5 seconds.
SRA[X]=3.5 ; The retraction path for the X axis is 3.5 (unit e.g. mm).
These addresses apply non-modally.
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
1436 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1437
V1: Feedrates
18.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
*ULQGLQJGLVN
5HWUDFWLRQ
6SDUNLQJRXWWLPH
)HHGUDWHIRUILQHILQLVKLQJ
)HHGUDWHIRUILQLVKLQJ
)HHGUDWHIRUURXJKLQJ
)HHGUDWHIRUJULQGLQJLQDLU
With the SINUMERIK 828D, a whole byte cannot be addressed because of the limited
hardware input terminals. This therefore means the following:
● Only 4 different feedrates can be programmed on the hardware (4 bits on X242 or 4 bits
on X252 on the PPU)
● The remaining 4 bits are implemented via the interface.
● "Only" the interface is used, not hardware inputs. Therefore, the feedrates no longer run in
one IPO cycle.
Basic Functions
1438 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.4 Feedrate control
Feedrate ad‐ 1st byte $A_IN[x] Interface 2nd byte $A_IN[x] Interface
dress
SR 0 1 DB2800.DBX1.0 0 9 DB2800.DBX1001.0
ST 1 2 DB2800.DBX1.1 1 10 DB2800.DBX1001.1
F2 2 3 DB2800.DBX1.2 2 11 DB2800.DBX1001.2
F3 3 4 DB2800.DBX1.3 3 12 DB2800.DBX1001.3
F4 4 5 DB2800.DBX1.4 4 13 DB2800.DBX1001.4
F5 5 6 DB2800.DBX1.5 5 14 DB2800.DBX1001.5
F6 6 7 DB2800.DBX1.6 6 15 DB2800.DBX1001.6
F7 7 8 DB2800.DBX1.7 7 16 DB2800.DBX1001.7
Example:
G90 G0 X600
POS[X]=700 FA[X]=1000
POS[X]=700 FA[3,X]=2000 -> (if $A_IN[4]=1 -> then the feedrate value is 2000, otherwise the
value 1000 applies for the feedrate.)
Commissioning:
4 feedrate addresses through the hardware terminals and 4 through the interface
● -X242 = wire IN1 to IN4 (PIN 3 – 6) -> SR, ST, F2, F3
● Interface: DB2800.DBX1.4 – 1.7 = IN5 – IN8 -> F4, F5, F6, F7
● MD21220 =1H
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1439
V1: Feedrates
18.4 Feedrate control
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
DRF offset
The DRF offset cannot be activated for a selected fixed feedrate.
Basic Functions
1440 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.4 Feedrate control
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.
References
For further information on the programmable feedrate characteristics, see Programming
Manual, Job Planning.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1441
V1: Feedrates
18.4 Feedrate control
Function
The feedrate for chamfer/rounding can be programmed via NC addresses.
Programming
Syntax:
... FRC/FRCM=<value>
Meaning:
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
Basic Functions
1442 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.4 Feedrate control
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.
Example
Example 1: MD20201 bit 0 = 0; take feedrate from following block (default setting!)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1443
V1: Feedrates
18.4 Feedrate control
Example 2: MD20201 bit 0 = 1; take feedrate from previous block (recommended setting!)
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:
Basic Functions
1444 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.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 (manual handwheel traversing with feedrate
override) or F (modal path feedrate) is not possible.
Single axes
Single axes can be programmed in the part program, in synchronized actions and via the PLC:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1445
V1: Feedrates
18.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: Writes the machine data with subsequent "Activate machine
data"
– Part program directly: Percentage acceleration override ACC
– Synchronized actions indirectly: Writes the machine data and triggers an ASUP for the
activation of "Activate machine data" function
– 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 ASUP).
Cannot be specified by the PLC (only indirectly via ASUP).
● 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 389)".
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 ASUP.
Basic Functions
1446 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.4 Feedrate control
Syntax:
ACC[<axis>]=<value>
Meaning:
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.
Examples:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1447
V1: Feedrates
18.4 Feedrate control
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 IPOEN-
DA[X]
Basic Functions
1448 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.4 Feedrate control
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
Syntax
SCPARA[<axis>] = <parameter set number>
Meaning
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
Power On
After POWER ON, the following basic 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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1449
V1: Feedrates
18.5 Supplementary conditions
Mode change
When the operating mode is changed from AUTOMATIC to JOG, the programmed dynamic
response changes remain valid.
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
block search run serves as a container for all programmed end-of-motion criteria for all axes.
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.
Basic Functions
1450 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.6 Data lists
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1451
V1: Feedrates
18.6 Data lists
Basic Functions
1452 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
V1: Feedrates
18.6 Data lists
18.6.3 Signals
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1453
V1: Feedrates
18.6 Data lists
Basic Functions
1454 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset 19
19.1 Brief description
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1455
W1: Tool offset
19.1 Brief description
Note
Please refer to the following documentation for further information on tools and tool
compensations and a full technical description of the general and specific programming
features for tool compensation (TLC and TRC):
References:
Programming Manual, Fundamentals
Basic Functions
1456 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.2 Tool
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).
19.2 Tool
Select tool
A tool is selected in the program with the T function.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1457
W1: Tool offset
19.2 Tool
Whether the new tool will be loaded immediately by means of the T function depends on the
setting in the machine data:
MD22550 $MC_TOOL_CHANGE_MODE (new tool compensation with M function)
Basic Functions
1458 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.2 Tool
7[
'
'
'
'
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.
Value Meaning
=0 No automatic cutting edge selection in accordance with M06
≠0 Number of the cutting edge, which is selected in accordance with M06
= -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, 12/2017, 6FC5397-0BP40-6BA1 1459
W1: Tool offset
19.2 Tool
Tools
The tool offset memory consists of tools numbered T1 to T32000.
Each tool can be set up via TOA files or individually, using the "New tool" softkey. Offset values
not required must be assigned the value zero. This is the default setting when the offset
memory is created. The individual values in the offset memory (tool parameters) can be read
and written from the program using system variables.
Note
The tools (T1 to T32000) do not have to be stored in ascending order or contiguously in the
tool offset memory, and the first tool does not have to be assigned number T1.
Basic Functions
1460 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.2 Tool
7 7
7 7
7 7
7 7
' '
' '
' '
' '
Figure 19-2 Example of a tool offset memory structure for two channels
D No.
The D no. is sufficient for calculating the tool compensations (can be set via MD).
'
'
'Q
2IIVHWYDOXH
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1461
W1: Tool offset
19.2 Tool
Programming
The above compensation block is to be calculated in the NC.
Part program call:
...
Dn
MD20096
Whether the address extension of T and M is also to be interpreted as spindle number when
the tool management is not activated, can be set via the machine data:
MD20096 $MC_T_M_ADDRESS_EXT_IS_SPINO (spindle number as address extension)
The same rules then apply to the relationship between the D number and T number as when
the "Tool management" function is active.
Example
The following example below shows the effect of MD20096.
Basic Functions
1462 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.2 Tool
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
"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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1463
W1: Tool offset
19.2 Tool
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 NC and thus to allocate arbitrary 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
1464 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.2 Tool
The cutting edge number CE is the same as the D number (in compatibility with the behavior
till now) if:
MD18105 ≤ MD18106.
A read operation returns CE=D. A write operation is ignored without an alarm message.
Note
The compensation values $TC_DP1 to $TC_DP25 of the active tool compensation can be read
with system variable $P_AD[n], where n=1 to 25. The CE cutting edge number of the active
compensation is returned with n=26.
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 Checks the uniqueness of the available D numbers.
The D numbers of all tools defined within a TO unit may not occur more than once.
No allowance is made for replacement tools.
GETDNO Determines the D number for the cutting edge of a tool.
If no D number matching the input parameters exists, d=0.
If the D number is invalid, a value greater than 32000 is returned.
SETDNO Sets or changes the D number of the CE cutting edge of tool T.
If there is no data block for the specified parameter, the value FALSE is returned.
Syntax errors generate an alarm. The D number cannot be set explicitly to 0.
GETACTTD Determines the associated T number for an absolute D number.
There is not check for uniqueness. If several D numbers within a TO unit are the
same, the T number of the first tool found in the search is returned.
This command is not suitable for use with "flat" D numbers, because the value 1 is
always returned in this case (no T numbers in database).
DZERO Marks all D numbers of the TO unit as invalid.
This command is used for support during retooling.
Compensation data sets tagged with this command are no longer verified by the
CHKDNO language command. These data sets can be accessed again by setting the
D number once more with SETDNO.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1465
W1: Tool offset
19.2 Tool
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
Note
When the "Flat D numbers" function is active, only one D compensation can be defined in the
TO unit.
Basic Functions
1466 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.2 Tool
Example: Assigning D (cutting edges) to T numbers (tools) and listing options for checking
uniqueness:
● Assignment:
– T No. 1 ⇒ assignment of D numbers 1, 2, 3
– T No. 2 ⇒ assignment of D numbers 10, 20, 30, 40, 50
– T No. 3 ⇒ assignment of D numbers 100, 200, 30 (error: 30 was entered instead of 300)
● Check for uniqueness:
The D numbers of all tools defined within a TO unit must be unique.
The check is made using the CHKDNO command. When no parameters are specified, all D
numbers of all tools are checked with respect to one another. In this particular case, the
return value == FALSE, as D30 is available in tool T2 and T3.
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:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1467
W1: Tool offset
19.2 Tool
You assign the current D number of cutting edge 3 to a variable (DNoOld) and define the
variable DNoNew for the new D number:
Program code
def int DNoOld, DNoNew = 17
DNoOld = GETDNO( 1, 3 )
SETDNO( 1, 3, DNoNew )
Note
If the tool has defined a further cutting edge, e.g. $TC_DPCE[ 1, 2 ] = 1 ; = CE, D number 2
of 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.
Program code
DZERO
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:
Basic Functions
1468 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.2 Tool
Note
In the event of a power failure, the DZERO command can leave the NC in an undefined state
with reference to the D numbers. If this happens, repeat the DZERO command when the power
is restored.
MD22550
If a tool preparation has been programmed in the part program and the NC detects an error
(e.g. the data set for the programmed T number does not exist in the NC), 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 offset for M function)
MD22550 $MC_TOOL_CHANGE_MODE = 0
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1469
W1: Tool offset
19.2 Tool
MD22550 $MC_TOOL_CHANGE_MODE = 1
If the tool management is not active, the following problems can be detected:
● D compensation data set missing
● Error in the part program
Note
The "tool is not in the magazine" problem cannot be detected since the NC did not have
access to any magazine information for the tool offset.
Basic Functions
1470 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.2 Tool
In this case, an error is detected in the NC block of the tool preparation (programming of T),
which however is to be ignored at first. Execution is continued until the tool change request
(usually M06) is executed in the NC program. The program is to stop at this point.
The programmed T address can be any number of program lines before the M06 command,
or the two instructions can be in different (sub)programs. For this reason, it is not usually
possible to modify a block which has already been executed via the compensation block.
The operator has the same options for intervention as with = 0.
Reloading of missing data is possible. In this case, however, T must be programmed with
"Overstore".
If a program error has occurred, the line with the error cannot be corrected (Txx); only the line
at which the program stopped and which generated the alarm can be edited. Only when
machine data:
MD22562 $MC_TOOL_CHANGE_ERROR_MODE bit 0 = 1 (response to errors during tool
change)
This results in the following sequence:
If required, the original point of the T call can be corrected at 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 NC, Txx is programmed in "Overstore"
and the program is subsequently resumed.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1471
W1: Tool offset
19.2 Tool
As in the case of "missing D number", the required parameter (T number) can be accessed
by the user for "missing T number" via the appropriate alarm (17191).
Note
In order to enable program correction, it stops immediately at the faulty Txx block.
The program test mode is also stopped when machine data:
MD22562 $MC_TOOL_CHANGE_ERROR_MODE bit 0=1 (response to errors during tool
change).
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
Note
For further information about superimposed movements with the handwheel, please refer to:
References:
Function Manual, Extended Functions; Manual traversing and manual handwheel traversing
(H1)
Programming Manual, Fundamentals
(The Programming Manual describes the complete technical program options in order to
deselect the DRF offset axis-specifically.)
Basic Functions
1472 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.3 Flat D number structure
Activation
The type of D number management that is effective is parameterized using:
MD18102 $MN_MM_TYPE_OF_CUTTING_EDGE = <value>
Value Meaning
0 No flat D number management active
1 Flat D number structure with absolute direct D programming active
Programming
Tool offsets can be programmed with system variables $TC_DP1 to $TC_DP25. The content
has the same meaning as previously.
The notation changes: A T number is no longer specified.
● "Flat D number" function active:
$TC_DPx[d] = value; where x = parameter no., d = D number
This means that data with this syntax can only be loaded to the NC when 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 NC 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:
MD18100 $MN_MM_NUM_CUTTING_EDGES_IN_TOA (tool offsets in TO area)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1473
W1: Tool offset
19.3 Flat D number structure
Data backup
The data backup is in the same format; i.e. a backup file that is created with the "Flat D number"
function cannot be loaded to the NC of a control that has not activated the function.
This also applies in reverse for a transfer.
D number range
1 - 99 999 999
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 NC".
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 Tool change with programming of T.
MD18102 $MN_MM_TYPE_OF_CUTTING_EDGE =1 D number programming without refer‐
ence to a certain tool.
MD20270 $MC_CUTTING_EDGE_DEFAULT = -1 D compensation remains unchanged
if tool is changed.
Basic Functions
1474 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.3 Flat D number structure
Example 2:
MD22550 = 0
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1475
W1: Tool offset
19.3 Flat D number structure
Tool MDs
The following machine data affect the way tools and cutting edges (D numbers) work in the
NC:
19.3.5 Programming M6
Basic Functions
1476 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.3 Flat D number structure
Example
Two spindles are defined, spindle 1 and spindle 2, and the following applies:
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 Significance
Bit 3 =1 From the last test program to finish in test mode
=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).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1477
W1: Tool offset
19.3 Flat D number structure
Features
Tool management
The active NC tool management works on the basis of the following assumptions:
1. Tools are managed in magazines.
2. Cutting edges are monitored, that means limits reached cause the tool to be disabled.
3. Replacement tools: Tools are programmed for selection only on the basis of their name.
The NC selects the specific tool.
Note
For SINUMERIK 828D, this function is only available as an option!
This means that it only makes sense to use the tool management when specific tools have
been defined which are managed by the NC.
Note
If tool management AND the flat D number structure are activated at the same time, the tool
management takes priority.
Basic Functions
1478 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.4 Tool cutting edge
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:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1479
W1: Tool offset
19.4 Tool cutting edge
Technology
24 Undercut angle only for turning tools
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 3D-
face 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)
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
1480 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.4 Tool cutting edge
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1481
W1: Tool offset
19.4 Tool cutting edge
7DEOHRIPRVWLPSRUWDQWWRROSDUDPHWHUVRQO\WRROW\SHLVQHFHVVDU\
73*
73*
73*
73*
73*
7RROSDUDPHWHU7&B'3
$GDS7RROEDVHGLPHQVLRQದ/HQJWK
%LOOLQJE\1&.
ದ0D[FLUFXPIHUHQWLDOYHORFLW\
ದ$QJOHRILQFOLQHGZKHHO
3URMHFWLRQದ/HQJWK
ದ0LQFXUUZKHHOZLGWK
6ORWZLGWKದ5DGLXV
ದ/HQJWK
ದ/HQJWK
&XWWLQJHGJHSRVLWLRQ
*HRPHWU\ದ5DGLXV
*HRPHWU\ದOHQJWK
:HDUದ/HQJWK
ದ0LQZKHHOUDGLXV
:HDUದ5DGLXV
8QGHUFXWDQJOH
ದ0D[VSHHG
7RROW\SH
0LOOLQJWRRODQGWDSSLQJWRROVDOORWKHU
0LOOWRRODFFWR&/'$7$
[ [ [ [ [ [ [
%DOOHQGPLOO [ [ [ [ [ [ [
(QGPLOO [ [ [ [ [ [ [
(QGPLOOZLWKFRUQHUURXQGLQJ [ [ [ [ [ [ [ [
$QJOHKHDGFXWWHU [ [ [ [ [ [ [
$QJOHKHDGPLOOZLWKFRUQHUURXQGLQJ [ [ [ [ [ [ [ [
)DFLQJWRRO [ [ [ [ [ [ [
7KUHDGFXWWHU [ [ [ [ [ [ [
6LGHPLOO [ [ [ [ [ [ [
%HYHOFXWWHU [ [ [ [ [ [ [
7ZLVWGULOO [ [ [ [ [ [
'ULOO [ [ [ [ [ [
%RULQJEDU [ [ [ [ [ [
&HQWHUGULOO [ [ [ [ [ [
&RXQWHUVLQN [ [ [ [ [ [
&RXQWHUERUH [ [ [ [ [ [
7DSUHJXODUWKUHDG [ [ [ [ [ [
7DSILQHWKUHDG [ [ [ [ [ [
7DS:KLWZRUWKWKUHDG [ [ [ [ [ [
5HDPHU [ [ [ [ [ [
*ULQGLQJWRROVDQGWXUQLQJWRROVದ
6XUIDFHJULQGLQJZKHHO [ [ [ [ [ [ [ [ [ [
6XUIDFHJULQGLQJZKHHOZLWKPRQLWRULQJ [ [ [ [ [ [ [ [ [ [ [ [ [
6DPHDVEXWZLWKRXWWRROEDVHGLPHQVLRQIRU*:36
[ [ [ [ [ [ [ [ [ [ [ [
)DFLQJZKHHO [ [ [ [ [ [ [ [ [
)DFLQJZKHHOZLWKPRQLWRULQJ [ [ [ [ [ [ [ [ [ [ [ [
$VIRUEXWZLWKRXWWRROEDVHGLPHQVLRQIRU*:36
[ [ [ [ [ [ [ [ [ [ [
'UHVVHU [ [ [ [ [ [ [ [
5RXJKLQJWRRO [ [ [ [ [ [ [ [ [
)LQLVKLQJWRRO [ [ [ [ [ [ [ [ [
3OXQJHFXWWHU [ [ [ [ [ [ [ [ [
3DUWLQJWRRO [ [ [ [ [ [ [ [ [
7KUHDGLQJWRRO [ [ [ [ [ [ [ [ [
%XWWRQWRRO6HFWLRQDOVWHHO722/0$1 [ [ [ [ [ [ [ [ [
6SHFLDOWRROV
6ORWWLQJVDZ [ [ [ [ [ [ [ [ [
&/'$7$
FXWWHU/RFDWLRQ'DWD ಧ &XWWHUORFDWLRQGDWDLQDFFRUGDQFHZLWK',1
%O68*
ಧ *ULQGLQJZKHHOSHULSKHUDOVSHHG
Basic Functions
1482 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.4 Tool cutting edge
Note
The tool type has no significance in the turning tool groups.
Nonlisted numbers are also permitted, in particular with grinding tools (400-499).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1483
W1: Tool offset
19.4 Tool cutting edge
/
7RRODGDSWHUUHIHUHQFH /
SRLQW
G /
EN /
The width of the saw blade is accounted for with tool radius compensation (G40 to G42 as
follows:
Com‐ Significance
mand
G40 No saw blade compensation
G41 Saw blade compensation left
G42 Saw blade compensation right
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
1484 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.4 Tool cutting edge
6
5
/HQJWK 3
/HQJWK )7RROKROGHUUHIHUHQFHSRLQW5&XWWLQJHGJH
UDGLXVWRROUDGLXV
6&XWWLQJHGJHFHQWHUSRLQW
= 37RROWLS
6 =
Figure 19-5 Tool parameter 2 (P2): Machining behind the turning center
6
=
3
3 6
3 3 3 3 3 3 3 3 3
;
Figure 19-6 Tool parameter 2 (P2): Machining in front of the turning center
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1485
W1: Tool offset
19.4 Tool cutting edge
= = = = =
; ; ; ; ;
Figure 19-7 Tool parameter 2 (P2): Cutting edge position for vertical boring and turning mills
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:
Example Twist drill (tool type 200) with tool length (tool parameter 3)
Basic Functions
1486 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.4 Tool cutting edge
) 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.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1487
W1: Tool offset
19.4 Tool cutting edge
3D face milling
Tool parameters 6 to 11 must be specified for tool description of 3D face milling.
U K
H
KWRROOHQJWK
7RRO3IOHQJWK
I
7RRO3HOHQJWK
7RRO3G5DGLXV
7RRO3UUDGLXV
7RRO3D$QJOH D
7RRO3E$QJOH
Basic Functions
1488 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.4 Tool cutting edge
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)"
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
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1489
W1: Tool offset
19.4 Tool cutting edge
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 < 7XUQLQJWRRO
=
; /HQJWK
7RROEDVHGLPHQVLRQ )
OHQJWK /HQJWK
&HQWHURIURWDWLRQ
7RROEDVH
7RROEDVH GLPHQVLRQ 7RROEDVH
GLPHQVLRQ OHQJWK GLPHQVLRQ
5DGLXV OHQJWK ) OHQJWK
)
)
/HQJWK /HQJWK
)7RROFDUULHUUHIHUHQFHSRLQWV /HQJWK
)
7RROKROGHUUHIHUHQFHSRLQWV
Basic Functions
1490 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.4 Tool cutting edge
References
Please refer to the following documentation for more information about base-dimension/
adapter-dimension tool length compensation:
● Programming Manual, Fundamentals
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.
&RQWRXUWREHPDFKLQHG &RQWRXUWREHPDFKLQHG
LVQRWYLRODWHG FRXOGEHYLRODWHG
7RROFOHDUDQFH
; 7RROFOHDUDQFH
DQJOH
DQJOH
Figure 19-9 Tool clearance angle of the turning tool during relief cutting
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1491
W1: Tool offset
19.4 Tool cutting edge
7RROFOHDUDQFH
DQJOHIRU
7RROFOHDUDQFH )DFHPDFKLQLQJ
DQJOHIRU
;
ORQJLWXGLQDO
PDFKLQLQJ
Figure 19-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
1492 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1493
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
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.
7RROV
:RUNSLHFH
FRQWRXU
3DWKRIWKH
WRROFHQWHUSRLQW
DWHTXDOGLVWDQFH
WRWKHFRQWRXU
HTXLGLVWDQWSDWK
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 TRC on the lefthand side of the contour in the direction of motion
G42 TRC on the righthand side of the contour in the direction of motion
G40 Deselection of TRC
Basic Functions
1494 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
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).
Command Meaning
NORM Normal setting at start point / end point (basic setting)
KONT Travel around contour at start point / end point
KONTC Approach/retraction with constant curvature
KONTT Approach/retraction with constant tangent
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1495
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
Special features
● KONT only differs from NORM when the tool start position is behind the contour.
&RQWRXU VWUDLJKWOLQH
3
%HKLQG
FRQWRXU 5 WRROUDGLXV
,Q IURQW
RI 3
FRQWRXU
*FRUUHFWHG
3
([DPSOHRIVHOHFWLQJ75& ([DPSOHRIVHOHFWLQJ75&
ZLWK1250EHKLQGWKH ZLWK.217EHKLQGWKHFRQWRXUDQG
FRQWRXU *
3 &RQWRXUYLRODWLRQ 3
&RQWRXU2.
3 3
* * 5
5 5
3
3
3
Figure 19-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
1496 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
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.
Example of KONTC
The two figures below show a typical application for approach and retraction with constant
curvature:
The full circle is approached beginning at the circle center point. The direction and curvature
radius of the approach circle at the block end point are identical to the values of the next circle.
Infeed takes place in the Z direction in both approach/retraction blocks simultaneously.
The associated NC program segment is as follows:
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1497
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
1
1
1
Figure 19-13 Approach and retraction with constant curvature during inside machining of a full circle:
Projection in the X-Y plane.
Figure 19-14 Approach and retraction with constant curvature during inside machining of a full circle:
3D representation.
Basic Functions
1498 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
.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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1499
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
19.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.
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.
19.5.4.2 Parameters
The response of the smooth approach and retraction function is determined by up to 9
parameters:
Basic Functions
1500 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
',65
Figure 19-16 Approach behavior depending on G147 to G347 and DISR (with simultaneous activation
of tool radius compensation)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1501
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
Modal G command (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
6WUDLJKWOLQH 6WUDLJKWOLQH
33 FLUFOHRUKHOL[ 3 RUFLUFOH
',6&/ ',6&/
3 3
* *
0DFKLQLQJSODQH
Note
Active, rotating frames are included in all cases where the position of the active plane G17 -
G19 (circle plane, helix axis, infeed movements perpendicular to the active plane) is relevant.
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.
An alarm is displayed:
● If DISR is negative and the amount is greater than the tool radius (the length of the resulting
approach line is less than or equal to zero).
Retraction/approach with circles
Basic Functions
1502 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
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
End point P4 can be programmed in the actual SAR block.
P4 can be determined by the end point of the next traversing block.
Further blocks (dummy blocks) can be inserted between the SAR block and the next traversing
block without moving the geometry axes.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1503
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
The end point is deemed to have been programmed in the actual SAR block for approach if
at least one geometry axis is programmed on the machining plane (X or Y with G17). If only
the position of the axis perpendicular to the machining plane (Z with G17) is programmed in
the SAR block, this component is taken from the SAR block, but the position in the plane is
taken from the following block. In this case, an alarm is output if the axis perpendicular to the
machining plane is also programmed in the following block.
Example:
0DFKLQLQJXSWRWKLV
SRLQWZLWK*WKHQZLWK
*)
<
= = =
;
&RQWRXU
3
',65
Basic Functions
1504 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
The end position is always taken from the SAR block, no matter how many axes have been
programmed. We distinguish between the following situations:
1. No geometry axis is programmed in the SAR block.
In this case, the contour ends at point P2 (or at point P1, if P1 and P2 coincide). The position
in the axes, which describe the machining plane, is determined by the retraction contour
(end point of the straight line or arc). The axis component perpendicular to this is defined
by DISCL. If, in this case, DISCL = 0, the movement takes place completely within the
plane.
2. Only the axis perpendicular to the machining plane is programmed in the SAR block.
In this case, the contour ends at point P1. The position of the two other axes is determined
in the same way as in 1.
)ROORZLQJEORFNZLWKRXWRIIVHW
3
7RROFHQWHUSRLQWSDWK 3
7RRO
6$5EORFN
**
3
&RQWRXUSUHYLRXVEORFN
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1505
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
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:
<
;
=
*
3 3
*
3 )
3
3 ) ) ;
Basic Functions
1506 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
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.
19.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*LVDFWLYHRWKHUZLVHZLWKWKHROGDQGQHZ)ZRUG
9HORFLW\RIWKHSUHGHFHVVRUEORFNROG)ZRUG
,QIHHGYHORFLW\SURJUDPPHGZLWK)$'
1HZPRGDOYHORFLW\SURJUDPPHGZLWK)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1507
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
3 3 3 3 3
1RYHORFLW\SURJUDPPHG
2QO\)SURJUDPPHG
2QO\)$'SURJUDPPHG
)DQG)$'SURJUDPPHG
5DSLGWUDYHUVHLI*LVDFWLYHRWKHUZLVHZLWKWKHROGDQGQHZ)ZRUG
9HORFLW\RIWKHSUHGHFHVVRUEORFNROG)ZRUG
,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.
Basic Functions
1508 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
3 3 3 3 3
1RYHORFLW\SURJUDPPHG
2QO\)SURJUDPPHG
2QO\)$'SURJUDPPHG
)DQG)$'SURJUDPPHG
5DSLGWUDYHUVHLI*LVDFWLYHRWKHUZLVHZLWKWKHROGDQGQHZ)ZRUG
9HORFLW\RIWKHSUHGHFHVVRUEORFNROG)ZRUG
,QIHHGYHORFLW\SURJUDPPHGZLWK)$'
1HZPRGDOYHORFLW\SURJUDPPHGZLWK)
Changing the WCS between the SAR block and the read operation has no effect on the position
values.
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, 12/2017, 6FC5397-0BP40-6BA1 1509
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
19.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
Basic Functions
1510 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
● Because of G341, the approach movement takes place with a circle in the plane, resulting
in a start point at (20, -20, 0)
● Because DISCL=5, point P2 is at position (20, -20, 5) and, because of Z30, point P1 is in
N10 at (20, -20, 30)
< 6$5FRQWRXU
;
7RRO
7RROFHQWHUSRLQWSDWK
,QIHHG
PRYHPHQWLQ=
Part program:
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, 12/2017, 6FC5397-0BP40-6BA1 1511
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
● The end point of the circle is obtained from N30, since only the Z position is programmed
in N20
● Infeed movement
– From Z20 to Z7 (DISCL=AC(7)) with rapid traverse
– Then on to Z0 with FAD=200
– Approach circle in X-Y-plane and following blocks with F1500
(In order that this velocity becomes effective in the following blocks, the active G-code
G0 in N30 must be overwritten with G1. Otherwise, the contour would continue to be
machined with G0.)
The following conditions must be true for retraction:
● Smooth retraction is activated in block N60
● Retraction movement performed with quadrant (G248) and helix (G340)
● FAD not programmed, since irrelevant for G340
● Z=2 in the start point; Z=8 in the end point, since DISCL=6
● When DISR=5, the radius of SAR contour=20; that of the tool center point path=5
● After the circle block, the retraction movement leads from Z8 to Z20 and the movement is
parallel to the XY plane up to the end point at X70 Y0
<
7RROFHQWHUSRLQWSDWK
7RRO
6HPLFLUFOH
+HOL[ 3DE
3DQ ;
&RQWRXU 3DE
3DQ 3DE
Part program:
Basic Functions
1512 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
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.
G40 instruction
TRC is deselected with the G40 instruction.
G450/G451
The G commands G450/G451 can be used to control the response for discontinuous block
transitions at outside corners:
Command Meaning
G450 Discontinuous block transitions with transition circle
G451 Discontinuous block transitions with intersection of equidistant paths
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1513
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
3URJUDPPLQJ*WUDQVLWLRQFLUFOH 3URJUDPPLQJ*SRLQWRILQWHUVHFWLRQ
2XWVLGHFRUQHU 2XWVLGHFRUQHU
7UDQVLWLRQFLUFOH
5DGLXV WRROUDGLXV
3
3RLQWRILQWHUVHFWLRQ
Figure 19-23 Example of a 90 degree outside corner with G450 and G451
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 statement 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 statement is 0 to 100, in increments of 1.
Value Meaning
DISC = 0 Overshoot disabled, transition circle active
DISC = 100 Overshoot large enough to theoretically produce a response similar to intersec‐
tion (G451).
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.
Basic Functions
1514 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
',6&
',6&
',6&
&RQLFVHFWLRQ
&LUFOH
&RQWRXUDQJOH
65
',6&
',6&
&RQWRXU
5UDGLXV 6WUDYHUVHGRYHUVKRRW DQJOH>GHJUHHV@
65QRUPDOL]HGRYHUVKRRWZLWKUHVSHFWWRWRROUDGLXV
G451 (intersection)
If the G451 G command 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. Splines and polynomials are never
extended.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1515
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
/RQJQRQFXWWLQJSDWKV
&RQWRXUDQJOH
Basic Functions
1516 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
EHORZFRQWRXUDQJOH
0'0&B&87&20B&859(B,16(57B/,0,7
1RWDWUDQVLWLRQFLUFOHEXWLQWHUVHFWLRQSRLQW
&RQWRXUDQJOH
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1517
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
No intersection
In certain cases, no intersection is found between two consecutive blocks for inside corners
(see figure below).
1 6
1
1
Figure 19-29 If there is no intersection between N30 and block N40, the intersection between block
N30 and block N50 is calculated.
Basic Functions
1518 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
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
1
6 6 ,QWHUVHFWLRQV
6DQG6DUH
QRWDSSURDFKHG
Figure 19-30 Example: Inside corner with TRC without contour violation (predicting 3 blocks)
For further information, see also Section "Collision detection and bottleneck detection
(Page 1519)", "Collision monitoring".
Special features
Where multiple intersections with the next block are found, the intersection nearest the start
of the next block applies.
Function
Collision detection (bottleneck detection) examines whether the equidistant paths of non-
consecutive 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).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1519
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
Syntax
CDON
CDOF
CDOF2
Meaning
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)
Basic Functions
1520 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
2IIVHWFXUYHZKHQ',6&!
FRQLFVHFWLRQ
2IIVHWFXUYH
ZKHQ
',6& FLUFOH
Note
The "slot shape recognition" function is an option for SINUMERIK 840D sl that requires a
license.
Article number: 6FC5800-0AS18-0YB0
Function
If the "slot shape recognition" function is active, slots that have a predefined shape are
automatically identified and their machining is ensured.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1521
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
● T-slot
If the slot width is greater than or equal to the tool diameter, the slot will be traversed as
programmed. If the slot width is smaller than the tool diameter, the equidistant path is calculated
in such a way that the tool traverses along the center of the programmed slot:
:RUNSLHFH $LU
/DVHUIRFDOSRLQW
(TXLGLVWDQWSDWK
3URJUDPPHG
FRQWRXU
Activation
To activate the function "slot shape recognition", the following channel-specific setting data
must be set to "1":
SD42977 $SC_SLOT_FORM_RECOGN = 1
Parameterization
Basic Functions
1522 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
Example
In the following part program section, a deflection line is programmed that will be cut with a
laser beam.
<
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1523
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
Because, in this example, the slot comprises seven contour elements (4 arcs, 3 straight lines),
the following minimum value must be set in MD28620 $MC_MM_NUM_FEATURE_BLOCK:
MD28620 $MC_MM_NUM_FEATURE_BLOCK ≥ 7
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
7RROFHQWHUSRLQWSDWK
1
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.
Basic Functions
1524 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
3URJUDPPHGFRQWRXU
'
1 7KHRUHWLFDOWRRO
7RROFHQWHUSDWK FHQWHUSDWK
2YHUULGH'DWWKH
' HQGRIEORFN1
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, 12/2017, 6FC5397-0BP40-6BA1 1525
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
Function
If two curves with active tool radius compensation form an outside corner, depending on the
G command 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:
MD20256 $MC_CUTCOM_INTERS_POLY_ENABLE (intersection process possible for
polynomials)
Note
If this machine data is set to inactive, a block (can be very short) is always inserted (even if
transitions are almost tangential). These short blocks always produce unwanted drops in speed
during G64 operation.
Basic Functions
1526 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
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
1 <
7RROUDGLXV
;
&HQWHUSRLQWSDWKZLWK
WRROUDGLXVFRPSHQVDWLRQ
3URJUDPPHG
FRQWRXU
1 1
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1527
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
G460
With G460, the approach/retraction strategy is the same as before.
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.
<
1
$X[LOLDU\FXUYH
;
&HQWHUSRLQWSDWKZLWK
WRROUDGLXVFRPSHQVDWLRQ
3URJUDPPHG
FRQWRXU
1 1
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"
Basic Functions
1528 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.5 2D tool radius compensation (2D-WRK)
G462
If no intersection is possible between the last TRC block and a preceding block, a straight line
is inserted, on retraction with G462 (basic 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 ;
&HQWHUSRLQWSDWK
FRUUHFWHGSDWK
3URJUDPPHG
FRQWRXU
1 1
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, 12/2017, 6FC5397-0BP40-6BA1 1529
W1: Tool offset
19.6 Keep tool radius compensation constant
In the second case (if no intersection is found between the inserted contour element and the
preceding blocks), the intersection between the retraction straight line and a preceding block
is approached.
Therefore, when G461 or G462 is active, behavior deviating from G460 can only arise if
NORM is active or if behavior with KONT is identical to NORM due to the geometrical conditions.
Note
The approach behavior is symmetrical to the retraction behavior.
The approach/retraction behavior is determined by the state of the G command in the approach/
retraction block. The approach behavior can therefore be set independently of the retraction
behavior.
Example:
Program for using G461 during approach:
Meaning
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 traveled tool center path established by tool radius compensation in the previous blocks
is retained as the offset.
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
(bypass strategies) are not wanted.
Activation
The "Keep tool radius compensation constant" function is activated with the G command
CUTCONON (CUTter compensation CONstant ON) and deactivated with the G command
CUTCONOF (CUTter compensation CONstant OFF).
CUTCONON and CUTCONOF form a modal G group.
Basic Functions
1530 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.6 Keep tool radius compensation constant
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:
N60
N80 X30
N90 Y20
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1531
W1: Tool offset
19.6 Keep tool radius compensation constant
N140 X0 Y0 G40
N150 M30
<
&RQWRXUZLWKRXW75&
1
1
1
&RQWRXUZLWK75&
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 command 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 command in the 7th G 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.
● If CUTCONON is programmed with active tool radius compensation and not canceled before
the end of the program, the traversing blocks are traversed with the last valid offset.
The same applies for reprogramming of G41 or G42 in the last traversing block of a program.
● If tool radius compensation is activated with G41 or G42 and CUTCONON is also already
active, activation of compensation is delayed until the next traversing block with
CUTCONOF.
● When repositioning the contour with CUTCONOF, the 17th G group (approach and retraction
behavior with tool compensation; NORM / KONT) is evaluated, i.e. a bypass circle is inserted
if necessary for KONT. A bypass circle is inserted under the same conditions as for activation
of tool radius compensation with G41 or G42.
Basic Functions
1532 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1533
W1: Tool offset
19.7 Toolholder with orientation capability
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
1534 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
˳ &
& $
] ˳
9HUVLRQ 9HUVLRQ
[
Orientation in Z direction
The G command 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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1535
W1: Tool offset
19.7 Toolholder with orientation capability
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
1536 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
The tool orientation used internally is dependent only on the basic orientation of the tool and
the active plane (G17 - G19).
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:
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:
$TC_CARR24 to $TC_CARR33
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1537
W1: Tool offset
19.7 Toolholder with orientation capability
The system variables in $TC_CARR24 to $TC_CARR33 can be used to define offsets, angle
compensations, Hirth tooth system and axis limits.
Note
The system variables are available with and without active tool management.
n: Parameters 1...33
m: 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)
Basic Functions
1538 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1539
W1: Tool offset
19.7 Toolholder with orientation capability
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
1540 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1541
W1: Tool offset
19.7 Toolholder with orientation capability
7RROFDUULHUUHIHUHQFHSRLQW
O 5HVXOWLQJWRROOHQJWKFRPSHQVDWLRQ
7RROUHIHUHQFH
SRLQW
Y˞
O 7RROOHQJWK
ZHDU
WRROEDVH
O Y˞ GLPHQVLRQ
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
5HIHUHQFHSRLQWRI
O WRROWDEOH
O
Y˞
O Y˞
0DFKLQH]HURSRLQW
Basic Functions
1542 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
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)
7RROFDUULHUUHIHUHQFHSRLQW
O
5HVXOWLQJWRROOHQJWKFRPSHQVDWLRQ
7RROUHIHUHQFHSRLQW
Y˞ 5HIHUHQFHSRLQWRIWRROWDEOH
7RROOHQJWK
ZHDU
O WRROEDVHGLPHQVLRQ
Y˞ O
O
7RRORULHQWDWLRQ 0DFKLQH]HURSRLQW
The following kinematic type is defined for machines with a rotary tool and rotary workpiece:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1543
W1: Tool offset
19.7 Toolholder with orientation capability
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:
The parameter $TC_CARR5 is assigned to the fine offset $TC_CARR45.
Note
For the significance of the system variables $TC_CARR41 to $TC_CARR65 available for the
fine offset see:
References:
Programming Manual, Job Planning; Tool Offsets:
Activation
The following setting adds the fine offset values to the basic values:
SD42974 $SC_TOCARR_FINE_CORRECTION = 1 (fine offset TCARR on/off)
Supplementary conditions
The amount is limited to the permissible fine offset.
The maximum permissible value is defined:
Basic Functions
1544 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
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
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 709)".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1545
W1: Tool offset
19.7 Toolholder with orientation capability
]
Y \
$[LV
Y 7RROUHIHUHQFHSRLQW
O
O O
$[LV
7RROEDVHGLPHQVLRQ
7RROFDUULHUUHIHUHQFHSRLQW
bPP
/HQJWKZHDU
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
1546 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
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.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1547
W1: Tool offset
19.7 Toolholder with orientation capability
Three different kinematic types are available for tool carriers, which are parametrized via
$TC_CARR23.
The following graphics show an example of the kinematics of a machine with rotatable tool
(type T) and rotatable workpiece (type P) and the resolved kinematics (type M). The resolved
kinematics (type M) is a combination of both types.
5HVXOWLQJWRROOHQJWK
7RROFDUULHUUHIHUHQFHSRLQW FRPSHQVDWLRQ
6WDUWLQJSRLQWRIWRROFDUULHUWRRO
FKDLQ
7RROUHIHUHQFHSRLQW
,
,
,
7RROOHQJWKZHDUWRROEDVH
GLPHQVLRQ
Y˞
Y˞
7RROWLS
:RUNSLHFHUHIHUHQFHSRLQW
ZRUNSLHFHFKDLQ
:RUNSLHFHRIIVHW
=HURSRLQWRIWRROZRUOG
FRRUGLQDWHV\VWHP
5227
Basic Functions
1548 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
7RROUHIHUHQFHSRLQWWRRO
FKDLQ
,
:RUNSLHFHUHIHUHQFHSRLQW
, ZRUNSLHFHFKDLQ (QGSRLQW
RINLQHPDWLFFKDLQ
,
Y˞
Y˞
=HURSRLQWRIZRUOGFRRUGLQDWH
V\VWHP 6WDUWLQJSRLQWRIWKH
NLQHPDWLFFKDLQ5227
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1549
W1: Tool offset
19.7 Toolholder with orientation capability
5HVXOWLQJWRROOHQJWK
7RROFDUULHUUHIHUHQFHSRLQW FRPSHQVDWLRQ
6WDUWLQJSRLQWRIWKHWRROFKDLQRI
WKHWRROFDUULHU
7RROUHIHUHQFHSRLQW
,
7RROOHQJWKZHDUWRROEDVH
, GLPHQVLRQ
Y˞
7RROWLS
:RUNSLHFHUHIHUHQFHSRLQW
, ZRUNSLHFHFKDLQ (QGSRLQWRI
NLQHPDWLFFKDLQ
,
Y˞
=HURSRLQWRIWKHZRUOGFRRUGLQDWHV\VWHP
6WDUWLQJSRLQWRIWKHNLQHPDWLFFKDLQ5227
DQGVWDUWLQJSRLQWRIWKHZRUNSLHFHFKDLQRI
WKHWRROFDUULHU
The kinematics of the tool carrier is defined together with the machine kinematics.
Basic Functions
1550 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
Define a kinematic element of type "OFFSET" (=I2) in the X, Y, and Z direction. Corresponds
to $TC_CARR4 - $TC_CARR6.
Define a kinematic element of type "AXIS_ROT" (=v1) in the X, Y, and Z direction. Corresponds
to $TC_CARR7 - $TC_CARR9.
Define an element of type "OFFSET" (=I3) in the X, Y, and Z direction. Corresponds to
$TC_CARR15 - $TC_CARR17.
Define an element of type "AXIS_ROT" (=v2) in the X, Y, and Z direction. Corresponds to
$TC_CARR10 - $TC_CARR12.
Define an element of type "OFFSET" (=I4) in the X, Y, and Z direction. Corresponds to
$TC_CARR18 - $TC_CARR20.
If required, definition of a rotary axis offset for axes v1 and v2. The offset is entered in the
system variable $NK_A_OFF, which is assigned to the "AXIS_ROT"-type chain element.
Corresponds to $TC_CARR24 – TC_CARR25.
At least one rotary axis must be defined.
Note
Sign for rotary axis offset
A positive value for the rotary axis offset for the rotary axes in $TC_CARR24 or $TC_CARR25
is entered in the kinematic chain as a negative value.
Note
Starting point of the kinematic chain
If a starting point for the kinematic chain of the tool carrier (workpiece or tool) has not been
defined via TC_CARR_KIN_PART_START or TC_CARR_KIN_TOOL_START, the ROOT
element (world coordinate system) is automatically defined as the starting point of the chains.
$TC_CARR_KIN_CNTRL
$TC_CARR_KIN_CNTRL specifies whether the geometry data of a tool carrier are read from
kinematic chain elements or from conventional tool carrier data ($TC_CARRxx). The system
variable is bit-coded.
Syntax Description
$TC_CARR_KIN_CNTRL Controls transfer of the geometry data of a machine model defined with kinematic chains to
[n] parameterize a tool carrier. If Bit0 = 1, the data from $TC_CARRxx are ignored but data are taken
from the kinematic chains. It may furthermore be set how the kinematic chain is closed.
Data type: INT
n Index of the tool carrier; the maximum number of tool carriers can be defined in machine data
MM_NUM_TOOL_CARRIER.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1551
W1: Tool offset
19.7 Toolholder with orientation capability
Syntax Description
Bit0=1 The tool carrier is parameterized from the kinematic chain elements. The following data of the
tool carrier, including the fine offset, are replaced with geometry data from the kinematic chain
elements:
Conventional tool carrier Kinematic chain
$TC_CARR1 – TC_CARR3 (offset vector l1) X, Y, and Z component of the offset vector I1
$TC_CARR4 – TC_CARR6 (offset vector l2) X, Y, and Z component of the offset vector I2
$TC_CARR7 – TC_CARR9 (rotary axis direc‐ X, Y, and Z component of the rotary axis v1
tion v1)
$TC_CARR10 – TC_CARR12 (rotary axis di‐ X, Y, and Z component of the rotary axis v2
rection v2)
$TC_CARR15 – TC_CARR17 (offset vector l3); X, Y, and Z component of the offset vector I3
$TC_CARR18 – TC_CARR20 (offset vector l4) X, Y, and Z component of the offset vector I4
$TC_CARR24 – TC_CARR25 (rotary axis off‐
sets)
Bit0=0 The tool carrier parameters are assigned with the data from $TC_CARRxx.
Bit1=1 The content of offset vector I1 is changed in such a way that the end point of the tool chain
coincides with the zero point of the world coordinate system (chain is closed).
Bit2=1 The content of offset vector I4 is changed in such a way that the end point of the workpiece chain
coincides with the zero point of the world coordinate system (chain is closed).
Syntax Description
$TC_CARR_KIN_TOOL_START[n] Defines the name of the starting elements of the tool or workpiece chain.
= <name> Data type: STRING
$TC_CARR_KIN_PART_START[n]
= <name>
n Index of the tool carrier; the maximum number of tool carriers can be defined in ma‐
chine data MM_NUM_TOOL_CARRIER.
Basic Functions
1552 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
Syntax Description
$TC_CARR_KIN_TOOL_END[n] = Defines the name of the end elements of the tool or workpiece chain.
<name> Data type: STRING
$TC_CARR_KIN_PART_END[n] =
<name>
n Index of the tool carrier; the maximum number of tool carriers can be defined in ma‐
chine data MM_NUM_TOOL_CARRIER.
Syntax Description
$TC_CARR_CORR_ELEM[n, m] = <string> Name of the next element in the kinematic chain from which the tool carrier
data are to be read. The element is used as the correction element for the
offset vector with index m.
Data type: STRING
n Index of the tool carrier; the maximum number of tool carriers can be defined
in machine data MM_NUM_TOOL_CARRIER.
m Index of the correction vector (value range 0...3)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1553
W1: Tool offset
19.7 Toolholder with orientation capability
Syntax Description
$PC_TCARR_OFFSET[m,n] = <value> Current value of the n-th vector component of offset Im of an active tool
carrier. Maximum 4 offset vectors (l1 to l4) are defined for an active tool
carrier. Vector components can be read out with this system variable.
Data type: DOUBLE
m Offset vector[m] (where m = 1...4) of the active tool carrier.
n Vector component n (where 0 ≤ n ≤ 2) of the vector that was selected with
field index m.
Syntax Description
$PC_TCARR_AX_VECT[m,n] = <value> Current value of the n-th vector component of rotary axis vm of an active
tool carrier. A maximum of 2 rotary axes (v1 to v2) are defined for an active
tool carrier. Vector components can be read out with this system variable.
Data type: DOUBLE
m Rotary axis direction v1, v2, where m = 1...2 of the active tool carrier.
n Vector component n (where 0 ≤ n ≤ 3) of the vector that was selected with
m.
Syntax Description
$PC_TCARR_AX_OFFSET[m] = <value> Current value of the rotational offset of rotary axes 1 and 2. Maximum 2
rotary axes are defined for an active tool carrier. The positions of the rotary
axes in their initial state can be read out with this system variable.
Data type: DOUBLE
m Rotary offset where m = 1...2 of the active tool carrier.
Basic Functions
1554 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
7RROFDUULHUUHIHUHQFHSRLQW
6WDUWLQJSRLQWRIWRROFDUULHUWRRO
FKDLQ
, ,
,
Y˞
Y˞
Y˞
Figure 19-46 Tool carriers with orientation capability with 3 rotary axes.
The rotary axes are not orientation axes, as used for the 5-axis-transformation.
Syntax Description
$TC_CARR_KIN_ROTAX_NAME[n, Name of the element in the kinematic chain which is to be
m] = <String> defined as the rotary axis.
Data type: STRING
n Index of the tool carrier; the maximum number of tool carriers
can be defined in machine data MM_NUM_TOOL_CARRIER.
m Index of rotary axes (value range 0...1)
Example
You will find a part program for a tool carrier via a kinematic chain under: Example: Tool carrier
with orientation capability via kinematic chain (Page 1573).
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1555
W1: Tool offset
19.7 Toolholder with orientation capability
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
1556 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1557
W1: Tool offset
19.7 Toolholder with orientation capability
2ULJLQDOSRVLWLRQ
RIWKH
FRRUGLQDWHV\VWHP 2ULJLQDOSRVLWLRQRIWDEOH
= )UDPHRIIVHW
3RVLWLRQRIWKHFRRUGLQDWHV\VWHP
= DIWHU3$527
;
=
3RVLWLRQRIWKHFRRUGLQDWHV\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
1558 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
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.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1559
W1: Tool offset
19.7 Toolholder with orientation capability
Language command PAROT is not rejected if no orientable toolholder is active. This causes
no changes in the programmed frame.
Note
For further information about the TCARR and TOROT as well as PAROT functions with regard
to channel-specific system frames, see Section "K2: Axis Types, Coordinate Systems,
Frames (Page 709)".
MD18088 $MN_NUM_TOOL_CARRIER =
<highest number of tool carriers required in one channel> *
<number of parameterized channels>
The number of tool carriers parameterized in the machine data is then distributed equally
across the parameterized channels and TO units.
Note
For further explanations on definition and assignment of a TO unit to a channel with machine
data MD28085 by machine data $MC_MM_LINK_TOA_UNIT, see:
References:
Function Manual, Extended Functions; Memory Configurations (S7)
Basic Functions
1560 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
Data backup
The system variables specified above are saved as part of the general NC data backup.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1561
W1: Tool offset
19.7 Toolholder with orientation capability
The effect of TCOFR is such that, when machining on an inclined surface, tool compensations
are considered implicitly as if the tool were standing vertically on the surface.
Note
The tool orientation is not bound strictly to the frame orientation. When a frame is active and
G command TCOABS is active, you can select a tool, whereby the orientation of the tool is
independent of the orientation of the active frame.
Following tool selection, you can change the frame, which does not affect the components of
tool length compensation. It is then no longer certain that the tool is positioned perpendicular
to the machining plane. You should therefore first check that the intended tool orientation is
maintained on an inclined surface.
When TCOFR, etc., is active, the tool orientation used in the tool length calculation is always
determined from the active frame each time the tool carrier is changed.
Group change
Changing the G command from group 42 (TCOABS, TCOFR, etc.) causes recalculation of the
tool length components.
The (programmed) angles of rotation stored in the tool carrier data is not affected, with the
result that the angles originally stored in the tool carrier data is 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.
Basic Functions
1562 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1563
W1: Tool offset
19.7 Toolholder with orientation capability
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 tool carrier 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 tool carrier with orientation capability is activated.
19.7.7 Programming
Basic Functions
1564 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
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 command TCOABS / TCOFR (modal G group for toolholders).
Changing the G command 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
can result when the angle of rotation is calculated from one frame. Here, the angle that deviates
least from the programmed angle is selected from the various possible angles.
Note
For more explanations on the programming of tool compensations with toolholder kinematic
and for the system variables see:
References:
Programming Manual, Job Planning
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1565
W1: Tool offset
19.7 Toolholder with orientation capability
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.
Basic Functions
1566 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
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.
The following applies to orientations specified in a frame:
● The orientation specified in a frame must be achievable with the defined toolholder
kinematics, otherwise an alarm is output.
This situation can occur if the two rotary axes required to define the kinematics are not
perpendicular to each other.
This applies if fewer than two rotary axes are defined and is the case:
– With kinematic type T with rotary tool, if the tool axis, which defines the tool direction,
is not perpendicular to the second axis.
– With kinematic types M and P with rotary workpiece, if the tool axis, which defines the
tool direction, is not perpendicular to the first axis.
● Rotary axes, which require a frame with a defined tool orientation in order to reach a specific
position, are only determined unambiguously in the case of one rotary axis. Two general
solutions exist for two rotary axes.
● In all cases where ambiguities may arise, it is particularly important that the approximate
angles expected from the frame are stored in the tool data, and that the rotary axes are in
the vicinity of the expected positions.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1567
W1: Tool offset
19.7 Toolholder with orientation capability
19.7.9 Examples
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 TRAORI()
N20 X0 X0 Z0 B45 F2000 ; Setting the tool orientation
N30 MOVT=-10 ; Infeed movement 10 mm in tool direc-
tion
; (under 45 degrees in the Y-Z plane)
Basic Functions
1568 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
; Definition of toolholder 1:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1569
W1: Tool offset
19.7 Toolholder with orientation capability
N280 PAROT
N290 X0 Y0 Z0
N300 G18 MOVT=AC(20)
N310 G17 X10 Y0 Z0
N320 MOVT=-10
N330 PAROTOF
N340 TCOFR
N350 X10 Y10 Z-13 A0 B0
N360 ROTS X-45 Y45
N370 X20 Y0 Z0 D0
N380 Y20
N390 X0 Y0 Z20
N400 M30
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.
N280 defines a rotation in accordance with the rotation of the table of the toolholder with
orientation capability. The new X direction thus points in the direction of the bisecting line in
the 4th quadrant, the new Z axis in the direction of the bisecting line in the 1st quadrant.
The zero point is approached in N290, i.e. the machine position X10.607 Y0 Z-4.393, since
the position of the zero point is not changed by the rotation.
N300 traverses in Y to the position Y33.000, since G18 is active and the Y component is not
affected by the active frame. The X and Z positions remain unchanged.
The position X17.678 Y0 Z1.536 is approached in N310.
N320 changes only the Z position to the value -8.464 as a result of the MOVT command. As
only the table can be rotated, the tool orientation remains unchanged parallel to the machine
Z direction, even if the Z direction of the active frame is rotated by 45 degrees.
N330 deletes the basic or system frame; thus the frame definition from N280 is undone.
In N340, TCOFR specifies that the toolholder with orientation capability is to be aligned
according to the active frame. Since a rotation is no longer active in N330 due to the
PAROTOF command, the default setting is applied. The frame offset becomes 0.
N350 thus approaches the position X10 X10 Z0 (= Z-13 + tool length). Notice: Through the
simultaneous programming of both rotary axes A and B the actual position of the toolholder
with orientation capability is made to match that used in N340. The position approached by
the three linear axes is dependent on this position, however.
Basic Functions
1570 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
In N360, solid angles are used to define a plane whose intersecting lines in the XZ and in the
YZ plane each form an angle of +45 degrees or -45 degrees with the X or Y axis. The plane
defined in such a way therefore has the following position: The surface normal points towards
the solid diagonals.
N370 traverses to the position X20 Y0 Z0 in the new coordinate system. Since the tool is
deselected with D0 at the same time, there is no longer an additional offset in Z. Since the new
X axis lies in the old X-Z plane, this block reaches the machine position X14.142 Y0 Z-14.142.
N380 only traverses on the Y axis in the rotated coordinate system. This leads to a motion of
all three machine axes. The machine position is X5.977 Y16.330 Z-22.307.
N390 approaches a point on the new Z axis. Relative to the machine axes this is thus on the
solid diagonal. All three axes thus reach the position 11.547.
; D corr. D=1
; Magazine data
N110 $TC_MAP1[1]=3 ; Magazine type: Revolver
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 ; Dimension - column -> 2 positions
N160 $TC_MPP1[1,1]=1 ; Location type
N170 $TC_MPP2[1,1]=9 ; Location types
N180 $TC_MPP4[1,1]=2 ; Location state
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1571
W1: Tool offset
19.7 Toolholder with orientation capability
; Definition of toolholder 1
N310 $TC_CARR10[1] = 1 ; Component of 2nd rotary axis in X direc‐
tion
N320 $TC_CARR14[1] = 45 ; Angle of rotation of 2nd axis
N330 $TC_CARR23[1] = "T" ; Tool mode
N340 Stopre
N350 $SC_WEAR_TRANSFORM = 'B101'
N360 T0 D0 DL=0
N370 ROT X30
N380 G90 G1 G17 F10000 X0 Y0 Z0
N390 T="MillingTool" X0 Y0 Z0 TOWSTD ; X 0.000 Y11.110 Z 0.001
N400 T="MillingTool" X0 Y0 Z0 TOWMCS ; X 0.000 Y10.100 Z 1.011
N410 T="MillingTool" X0 Y0 Z0 TOWWCS ; X 0.000 Y 9.595 Z 0.876
N420 TCARR=1 X0 Y0 Z0 ; X 0.000 Y 6.636 Z 8.017
N430 G18 X0 Y0 Z0 ; X10.100 Y-0.504 Z 0.876
N440 m30
Basic Functions
1572 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
is, therefore, increased by this amount and the Y position is reduced by this amount compared
with block N390.
TOWWCS is active in N410. The sum of the tool wear and the insert offset is thus effective in
the active workpiece coordinate system. In block N370, a rotation through 30 degrees is
activated around the X axis. The original compensation value of 1.01 in the Z direction thus
yields a new Z component of 0.875 ( = 1.01 * cos(30)) and a new Y component of -0.505 ( =
1.01 * sin(30)). This yields the dimension specified in the program comment when added to
the sum of the tool length, sum offset and adapter dimension produced in block N390.
In addition, a toolholder with orientation capability is activated in block N420. This executes a
rotation through 45 degrees about the X axis (see N310 - N330). Since all offset vectors of the
toolholder are zero, there is no additional zero offset. The toolholder with orientation capability
acts on the sum of the tool length, sum offset and adapter dimension. The resulting vector
component is X0 Y7.141 Z7.142. To this, as in block N410, the sum of tool wear and insert
offset evaluated in WCS is added.
G18 is activated in N430. The components of the tool length sum, sum offset and adapter
dimension are interchanged accordingly. The toolholder with orientation capability continues
to act on this new vector (rotation through 45 degrees about X axis). The resulting vector
component thereby is X10.100 Y0.0071 Z0.0071. The vector formed from tool wear and
insert offset (X0 Y-0.505 Z0.875) is not affected by the change of plane. The sum of the
two vectors yields the dimension specified in the comment in N430.
19.7.9.4 Example: Tool carrier with orientation capability via kinematic chain
Example of a tool carrier with mixed kinematics (rotatable tool and table)
The example shows a tool carrier that is defined via a kinematic chain. The chain is
automatically closed at the endpoints of the two separate chains (tool and table).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1573
W1: Tool offset
19.7 Toolholder with orientation capability
Basic Functions
1574 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.7 Toolholder with orientation capability
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1575
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
19.8.1 Introduction
Function
With function "Modification of the offset data for rotatable tools", the modified geometrical
relationships that result when a tool is rotated (predominantly turning tools, but also drilling
and milling tools) relative to the workpiece being machined can be taken into account.
The actual tool rotation is always determined from a currently active tool carrier with orientation
capability (see Chapter "Toolholder with orientation capability (Page 1533)") or from an
orientation transformation defined with kinematic chains (see Function Manual Special
Functions; Chapter "Transformation definition with kinematic chains").
The angle of rotation of the tool carrier with orientation capability is normally (but not
necessarily) defined with the TCOFR command from an active frame. This method can be
used to define the tool orientation independently of the actual kinematics with which the tool
is rotated, identically in each case with the help of two angles.
In an active kinematic transformation, the required angles can be determined with the function
ORISOLH (see "Calculating orientations (ORISOLH) (Page 1588)").
The two machine-independent orientation angles β (Beta) and γ (Gamma) are used to define
the tool rotation. β is the angle of rotation and the applicate (typically a B axis in G18) and γ a
rotation around the abscissa (Typically a C axis in G18). The rotation is first executed around
Y, finally around β. I.e., the γ axis is rotated by the β axis:
&
;
ˠ %
˟
Commissioning
The function is commissioned using the machine and setting data.
See Section "Commissioning (Page 1585)".
Basic Functions
1576 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
Activation
Modification of the offset data for rotatable tools is activated in the NC program with the
language commands CUTMOD (in combination with tool carriers with orientation capability)
or CUTMODK (for orientation transformations that were defined with kinematic chains).
See Section "Activating the modification of the offset data for rotatable tools (CUTMOD,
CUTMODK) (Page 1596)".
Results
When the function and tool rotation are active, the modified data are made available in system
variables and OPI variables.
See Section "Activating the modification of the offset data for rotatable tools (CUTMOD,
CUTMODK) (Page 1596)".
19.8.2.1 Cutting edge position, cut direction, and angle for turning 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, 12/2017, 6FC5397-0BP40-6BA1 1577
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
;
Cut direction
The cut directions 1 - 4 denote a positive or negative direction of the coordinate axes:
● 1: Ordinate -
● 2: Ordinate +
● 3: Abscissa -
● 4: Abscissa +
The cut direction is stored in the tool parameter $TC_DP11.
Basic Functions
1578 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
① Holder angle
② Wedge or plate angle = 180° - holder angle - clearance angle
③ Clearance angle
④ Cut direction
Figure 19-50 Angle and cut direction for a turning tool
Cut direction
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 - 8.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1579
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
Note
The division of the orientation into one component created by the tool carrier with orientation
capability and a second component 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.
If the tool is oriented using a kinematic transformation, the user can use function ORISOLH to
calculate the orientation. (see Chapter "Calculating orientations (ORISOLH) (Page 1588)").
Basic Functions
1580 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
the tool carrier is no longer treated separately because it must be assumed that this frame
component is already included in the complete frame (system frame PAROT).
When orientation transformation is active, bit 17 of machine data MD20360
$MC_TOOL_PARAMETER_DEF_MASK can be used, should the cutting edge no longer be
in the active machining plane, either to project the cutting edge into the machine plane
(bit 17 = 0) or alternatively to rotate the cutting edge into the machining plane (bit 17 = 1) in
order to calculate the modified cutting data.
Note
MD20360, bit 17
If this bit is set, it is the responsibility of the user to ensure, using an additional frame or by
changing the orientation, to ensure that the geometric conditions during machining match those
that exist during calculation.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1581
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
Basic Functions
1582 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
˟ืr
6
6/
31HZ 32OG
r
6
r
3
˟ืr
6/
6 6/
31HZ 32OG
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.
Tool rotation
The rotation of the tool tip and the tool adapter is described by tool parameter $TC_DPROT.
This parameter (angle) is only practical for tools that do not rotate symmetrically (e.g. turning
tools, boring bars). Rotation is performed around the direction that is defined by the vector
product of tool normal vector and tool orientation vector. For an active tool, this vector can be
read with system variable $P_TOOLBIN. For standard turning tools, this vector points toward
the Z axis for G18. I.e. it turns around the axis around which angle γ also turns.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1583
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
Note
A cutting edge position that is declared for tools that are not milling or tapping tools, or turning
tools according to the definitions stated above, is not evaluated.
The cutting edge position of the tapping and milling tools is stored in tool parameter $TC_DP2
as in the case of turning tools. Based on the definition of the cutting edge position for turning
tools, this parameter can assume the values 5 to 8. Here, the cutting edge position specifies
the orientation (the direction of the rotation axis) of the tool:
Basic Functions
1584 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
6/
6/ 6/
=
6/
19.8.4 Commissioning
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1585
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
Two bits of the machine data are assigned to each fault condition:
Note
The 2nd bit (program stop) is only effective if the corresponding 1st bit (alarm output) is set.
Note
Errors with error numbers ≥ 100 always result in an alarm being output and program stop.
Basic Functions
1586 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
The following bits are relevant for function "Modification of the offset data for rotatable tools".
Bit Meaning
17 Bit 17 is used to set for modification of the offset data for turning and grinding tools whether the
cutting edge plane for calculating the offset values is to be projected into the machining plane
or rotated.
=0 The cutting edge plane is projected into the machining plane.
=1 The cutting edge plane is rotated into the machining plane.
Note:
Bit 17 is only evaluated if the function is active in combination with a kinematic orientation
transformation.
18 Bit 18 is used to determine how the plane is defined for modification of offset data for turning
and grinding tools.
=0 Priority is given to defining the plane with SD42940 $SC_TOOL_LENGTH_CONST
over defining the plane with the G commands of G Group 6 (plane selection G17 -
G19).
=1 The active plane (G17 - G19) is always used.
20 If tool parameters $TC_DP10 (holder angle) and/or $TC_DP24 (clearance angle) have the
value "0", standard values deviating from "0" can be used to calculate the modified cutting edge
position and the modified cutting direction.
=0 The following standard values are used:
● Holder angle 112.5° for cutting edge positions 1 - 4
● Holder angle 67.5° for cutting edge positions 5 - 8
● Clearance angle 22.5° for cutting edge positions 1 - 4
● Clearance angle 67.5° for cutting edge positions 5 - 8
=1 An alarm is output.
Note:
Bit 20 is used to establish compatibility with older software versions.
21 Bit 21 is used to set whether the active total frame will be taken into account in the modification
of the offset data when tool carrier with orientation capability is active.
=0 Rotation of the table component of the tool carrier is taken into account. Frames are
ignored.
=1 Instead of the table component of the tool carrier, the active total frame is used. The
total frame can also contain a table component of the tool carrier.
Difference between tool tip plane and machining plane for CUTMOD or CUTMODK
The maximum permissible angle through which the tool insert can be turned away from the
machining plane (standard G18) when function CUTMOD or CUTMODK (Page 1596) is called
(≙ maximum permissible deviation of γ from one of the two standard positions 0° or 180°) is
set in setting data:
SD42998 $SC_CUTMOD_PLANE_TOL
Example:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1587
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
SD42998 = 5.0 ⇒ The tool insert must not be turned by more than 5° away from the machining
plane.
Note
SD42998 = 0
If SD42998 $SC_CUTMOD_PLANE_TOL is set to "0", variations of up to 89° are permissible!
Difference between tool tip plane and machining plane for ORISOLH
The maximum permissible angle through which the tool insert can be turned away from the
machining plane when function ORISOLH (Page 1596) is called is set in setting data:
SD42999 $SC_ORISOLH_INCLINE_TOL
19.8.5 Programming
Note
Order of the orientation axes
If you run through the kinematic chain that describes the structure of the machine, from the
workpiece to the tool, then the following specifications apply for the order of the three
orientation axes of a 6-axis transformation:
● The orientation axis that is closest to the workpiece is the first orientation axis.
● The orientation axis that is closest to the tool is the third orientation axis.
Generally, the first orientation axis is a spindle and the corresponding rotation is therefore
implemented in these cases through a rotating frame.
Basic Functions
1588 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
Syntax
<RetVal> = ORISOLH(<Cntrl>,<W1>,<W2>)
Meaning
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1589
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
Basic Functions
1590 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
Note
Parameters that have not been programmed have the default value "0".
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1591
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
Further information
The number of solutions found together with further status information when executing the
ORISOLH function, can be read via the following system variables:
Basic Functions
1592 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1593
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
Basic Functions
1594 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1595
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
Note
$NT_ROT_AX_NAME
This system variable refers to a maximum of three axes used for setting the orientation. It
contains the names of the chain elements ($NK_NAME) that define the machine axes (rotary
axes) that must perform the orientation movements resulting from a kinematic transformation.
The order in which the maximum three rotary axes are contained in this system variable is
irrelevant for the machine kinematics because this is derived from the structure of the kinematic
chains. However, as it defines the order in which other variables access the rotary axes, the
order of the orientation axes in $NT_ROT_AX_NAME must match the kinematic description.
Note
Status information
The status information that shows, for example, that an orientation cannot be achieved or can
only be achieved when relevant axis limits are violated, does not trigger an NC alarm. It is the
responsibility of the user to react suitably to the specified conditions.
19.8.5.3 Activating the modification of the offset data for rotatable tools (CUTMOD, CUTMODK)
The modification of the offset data for rotatable tools is activated in the NC program via the
CUTMOD (in combination with orientable tool carriers) or CUTMODK language command (for
orientation transformations that were defined by means of kinematic chains).
Note
As the orientable tool carriers and orientation transformations that were defined by means of
kinematic chains cannot be active at the same time, there are no conflicts between the two
variants.
Syntax
CUTMOD = <Value>
or
CUTMODK = <Command>
Basic Functions
1596 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
Meaning
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1597
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
Note
SD42984 $SC_CUTDIRMOD
The CUTMOD or CUTMODK command replaces the function that can be activated using the
setting data SD42984 $SC_CUTDIRMOD. However, this function remains available
unchanged. However, as it doesn't make sense to use both functions in parallel, it can only be
activated if CUTMOD is equal to zero and CUTMODK is the zero string.
19.8.5.4 Activating the modification of the offset data for rotatable tools (CUTMOD, CUTMODK):
Further information
Further information
Basic Functions
1598 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
The data is always modified with respect to the corresponding tool parameters
($TC_DP2[..., ...] etc.) when the "Modification of the offset data for rotatable tools" function
was activated with the CUTMOD or CUTMODK command and the tool was rotated by an orientable
tool carrier or a suitable orientation transformation.
$P_CUTMOD / Reads the currently valid value that was last programmed with the CUTMOD
$AC_CUTMOD command (number of the tool carrier for which the modification of the offset
data should be activated).
If the last programmed value was CUTMOD = -2 (activation with the currently
active orientable tool carrier), then the value "-2" is not returned in the system
variable, but rather the number of the orientable tool carrier active at the time
of programming.
$P_CUTMODK / Reads the name of the transformation under which the currently valid data set
$AC_CUTMODK for the "Modification of the offset data" was created.
$P_CUT_INV / Supplies the value TRUE if the tool is rotated so that the spindle direction of
$AC_CUT_INV 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. The modification of the offset data was activated with the CUTMOD or
CUTMODK command.
3. An orientable tool carrier or an orientation transformation defined with
kinematic chains is active, which was selected with the CUTMOD or
CUTMODK command.
4. The tool is rotated by the orientable tool carrier or the kinematic orientation
transformation so that the resulting normal of the tool cutting edge is
rotated with respect to the initial position by more than 90° (typically 180°).
If at least one of the specified four conditions is not fulfilled, the variable returns
the value FALSE. For tools whose cutting edge position is not defined, the
value of the variable is always FALSE.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1599
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
Plane change
To determine the modified cutting edge position, cutting direction and holder or clearance
angle, the evaluation of the cutting edge in the active plane (G17 - G19) is decisive.
However, if setting data SD42940 $SC_TOOL_LENGTH_CONST (change of the tool length
component when selecting the plane) has a valid non-zero value (plus or minus 17, 18 or 19),
its contents define the plane in which the relevant quantities are evaluated.
This priority rule of the setting data over the G code can be deactivated by setting bit 18 of the
machine data $MC_TOOL_PARAMETER_DEF_MASK. This means that when this bit is set,
the plane defined with the G command of group 6 is still valid.
Basic Functions
1600 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
19.8.6 Example
;
%
r
r 6
r
3
6/
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1601
W1: Tool offset
19.8 Modification of the offset data for rotatable tools
N190 $TC_CARR13[2]=30
N200 TCARR=2
N210 X0 Y0 Z0 ; 10.892 0.000 -5.134
N220 G42 Z–10 ; 8.696 0.000 –17.330
N230 Z–20 ; 8.696 0.000 –21.330
N240 X10 ; 12.696 0.000 –21.330
N250 G40 X20 Z0 ; 30.892 0.000 –5.134
N310 M30
The numerical values in the comments specify the end of block positions in the machine coordinates
(MCS) in the sequence X → Y → Z.
Explanations
In block N180, initially the tool is selected for CUTMOD=0 and non-rotated tool holders that can
be orientated. As all offset vectors of the tool holder 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 tool holder that can be orientated with a rotation of 30° around the B axis is activated in
block N200. As the cutting edge position is not modified due to CUTMOD=0, the old cutting edge
reference point is decisive just as before. This is the reason why 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 tool holder
rotation that can be orientated, the modified cutting edge position becomes 8. Deviating axis
positions also result from this.
The tool radius compensation (TRC) is activated in blocks N220 and/or N270. The different
cutting edge position 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
cutting edge positions only become effective again in the deselect blocks N260 and/or N300.
Basic Functions
1602 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.9 Incrementally programmed compensation values
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.
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)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1603
W1: Tool offset
19.9 Incrementally programmed compensation values
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.
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:
Basic Functions
1604 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.9 Incrementally programmed compensation values
7RRO =
$X[LOLDU\SODQH
Figure 19-54 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.
Instead of MOVT= ... it is also possible to write MOVT=IC( ...) if it is to be plainly visible
that MOVT is to function incrementally. There is no functional difference between the two forms.
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).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1605
W1: Tool offset
19.10 Parameterizable basic tool orientation
19.10.1 Function
Note
Tool T and cutting edge D
In the following, the syntax [...] represents [<t>, <d>] in relation to the system variables of the
basic tool orientation. In this regard, <t> designates the number of the tool T=<t> and <d> the
number of the tool cutting edge D=<d>.
The "Parameterizable basic tool orientation" function allows each tool cutting edge to be
assigned an individual initial orientation with the following system variables:
● Selection of a predefined orientation vector or definition via $TC_DPV3 - 5
– $TC_DPV[...]: Orientation vector
● Orientation vector
– $TC_DPV3[...]: L1 component of the orientation vector
– $TC_DPV4[...]: L2 component of the orientation vector
– $TC_DPV5[...]: L3 component of the orientation vector
● Normal vector for the orientation vector
– $TC_DPVN3[...]: L1 component of the normal vector
– $TC_DPVN4[...]: L2 component of the normal vector
– $TC_DPVN5[...]: L3 component of the normal vector
If the system variable $TC_DPV[...] is equal to zero, the three system variables $TC_DPV3 -
5[...] define the direction vector of the basic tool orientation. The amount of the vector is
insignificant.
Activation
The functions of the "Parameterizable basic tool orientation" are activated via the following
machine data:
MD18114 $MN_MM_ENABLE_TOOL_ORIENTATION
Tool types
A differentiation is made between the following tool types in accordance with the specification
in system variable $TC_DP1[...]:
● $TC_DP1[...] == 400 ... 599 ⇒ Turning/grinding tools
● $TC_DP1[...] <> 400 ... 599 ⇒ Milling tools
See also
Machine data (Page 1607)
Basic Functions
1606 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.10 Parameterizable basic tool orientation
19.10.2 Commissioning
Activation
The "Parameterizable basic tool orientation" is activated via the following machine data:
MD18114 $MN_MM_ENABLE_TOOL_ORIENTATION = <value>
<value> Meaning
0 The function "Parameterizable basic tool orientation" is not active.
1 Activation of system variables:
● Function selection: $TC_DPV[...]
With the system variable $TC_DPV[...] = 1, 2, ... 6, one of six predefined basic tool orienta‐
tions can be assigned for each tool cutting edge D=<d> of a tool T=<t>.
2 Activation of system variables:
● Function selection: $TC_DPV[...]
● Orientation vector: $TC_DPV3[...], $TC_DPV4[...] and $TC_DPV5[...]
With the system variables $TC_DPV[...] = 0 and $TC_DPV3[...], $TC_DPV4[...] and
$TC_DPV5[...], any orientation vector can be assigned for each tool cutting edge D=<d> of
a tool T=<t>.
3 Activation of system variables:
● Function selection: $TC_DPV[...]
● Orientation vector: $TC_DPV3[...], $TC_DPV4[...] and $TC_DPV5[...]
● Normal vector for the orientation vector: $TC_DPVN3[...], $TC_DPVN4[...] and
$TC_DPVN5[...]
With the setting $TC_DPV[...] = 0, any orientation vector can be assigned for each tool cutting
edge D=<d> of a tool T=<t> with the system variables $TC_DPV3[...], $TC_DPV4[...] and
$TC_DPV5[...]. Additionally, a normal vector can be defined for the orientation vector with
the system variables $TC_DPVN3[...], $TC_DPVN4[...] and $TC_DPVN5[...].
Note
Effectiveness of setting data
The following setting data are only effective within the context of basic tool orientation if the
basic tool orientation is defined by an entry in at least one of the system variables
$TC_DPVx[...] (Page 1610).
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1607
W1: Tool offset
19.10 Parameterizable basic tool orientation
<value> Meaning
0 The assignment is a default assignment. A distinction is made between milling tools and
turning/grinding tools.
Note SD42940 $SC_TOOL_LENGTH_CONST is applicable for all tool types.
1 The assignment is independent of the actual tool type - always the same as for milling tools.
Note SD42940 $SC_TOOL_LENGTH_CONST is effective.
2 The assignment is independent of the actual tool type - always the same as for turning/grind‐
ing tools.
Note SD42940 $SC_TOOL_LENGTH_CONST is effective.
3 Assignment is performed separately for milling tools and turning/grinding tools, in accordance
with the values in the following setting data:
Milling tools SD42940 $SC_TOOL_LENGTH_CONST
Turning/grinding tools SD42942 $SC_TOOL_LENGTH_CONST_T
Corresponds to
● SD42954 $SC_TOOL_ORI_CONST_M
● SD42956 $SC_TOOL_ORI_CONST_T
Basic Functions
1608 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.10 Parameterizable basic tool orientation
With both of the subsequent setting data units, a fixed assignment of the tool length
components (lengths L1, L2 and L3) to the coordinate directions in which they are effective is
undertaken. This assignment is also retained in the event of a plane change.
Note
Assignment of tool orientation components
The assignment of the tool orientation components is not influenced by the setting data.
If necessary, the following setting data must be adapted:
● SD42954 $SC_TOOL_ORI_CONST_M
● SD42956 $SC_TOOL_ORI_CONST_T
<value> Meaning
Unit and tens digit 1)
Turning/grinding tools
Length L1 Length L2 Length L3
x17 2)
Y X Z
x18 X Z Y
x19 Z Y X
-x17 X Y Z
-x18 Z X Y
-x19 Y Z X
Milling tools
x17 1) Z Y X
x18 Y X Z
x19 X Z Y
-x17 Z X Y
-x18 Y Z X
-x19 X Y Z
Hundreds digit
0xx ---
1xx The sign of the 2nd tool length component "Length L2" is inverted.
1) Coordinate axes
2) The value 17 is effective internally in the control for all values outside of the specified value range.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1609
W1: Tool offset
19.10 Parameterizable basic tool orientation
<value> Meaning
Unit and tens digit 1)
Length L1 Length L2 Length L3
x17 2)
Y X Z
x18 X Z Y
x19 Z Y X
-x17 X Y Z
-x18 Z X Y
-x19 Y Z X
Hundreds digit
0xx ---
1xx The sign of the 2nd tool length component "Length L2" is inverted.
1) Coordinate axes
2) The value 17 is effective internally in the control for all values outside of the specified value range.
Basic Functions
1610 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.10 Parameterizable basic tool orientation
$TC_DPV[...] = <value>
<value> Meaning
Turning/grinding tools
0 $TC_DPV3[...] $TC_DPV5[...] $TC_DPV4[...]
1 0 1 0
2 1 0 0
3 0 0 1
4 0 -1 0
5 -1 0 0
6 0 0 -1
Milling tools
0 $TC_DPV5[...] $TC_DPV4[...] $TC_DPV3[...]
1 0 0 1
2 0 1 0
3 1 0 0
4 0 0 -1
5 0 -1 0
6 -1 0 0
Examples
Turning/grinding tools:
$TC_DPV[...] = 2 Corre‐ $TC_DPV3[...] = 1
sponds to $TC_DPV4[...] = 0
$TC_DPV5[...] = 0
Milling tools:
$TC_DPV[...] = 3 Corre‐ $TC_DPV3[...] = 0
sponds to $TC_DPV4[...] = 0
$TC_DPV5[...] = 1
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1611
W1: Tool offset
19.11 Special handling of tool compensations
19.10.3 Example
A milling tool is defined with length L1=10 whose basic tool orientation is in the bisector of the
X-Z plane.
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
Basic Functions
1612 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.11 Special handling of tool compensations
You will find detailed information about sum and tool offsets in:
References:
Function Manual Tool Management
Programming Manual. Fundamentals; Tool Offsets
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1613
W1: Tool offset
19.11 Special handling of tool compensations
Inverting the sign mirrors the wear values of the tool length components whose associated
axes are mirrored.
'
; ;
: :
0 = = 0
0DFKLQLQJVLWXDWLRQ 0DFKLQLQJVLWXDWLRQ
'RSHUDWHVLQ:&6 'RSHUDWHVLQ:&6
Figure 19-55 Application example: Double-spindle turning machine
Activation
Wear length mirroring is activated by:
SD42920 $SC_WEAR_SIGN_CUTPOS <> 0 (TRUE) (Sign of wear for tools with cutting edge
systems)
Function
Basic Functions
1614 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.11 Special handling of tool compensations
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".
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1615
W1: Tool offset
19.11 Special handling of tool compensations
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 (G17–G19).
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).
*) 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):
*) 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.
Basic Functions
1616 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.11 Special handling of tool compensations
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
Note
When toolholders with orientation capability are used, it is common to define all tools for a non-
mirrored basic system, even those, which are only used for mirrored machining. When
machining with mirrored axes, the toolholder is then rotated such that the actual position of
the tool is described correctly. All tool-length components then automatically act in the correct
direction, dispensing with the need for control of individual component evaluation via setting
data, depending on the mirroring status of individual axes.
The use of toolholders with orientation capability is also practical if the physical characteristics
of the machine type prevents tools, which are permanently installed with different orientations,
from being rotated. Tool dimensioning can then be performed uniformly in a basic orientation,
where the dimensions relevant for machining are calculated according to the rotations of a
virtual toolholder.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1617
W1: Tool offset
19.11 Special handling of tool compensations
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
Basic Functions
1618 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.11 Special handling of tool compensations
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.
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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1619
W1: Tool offset
19.11 Special handling of tool compensations
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.
Note
While transformations with rotating linear axes take changes in the tool vector (length) into
account, they ignore its change in orientation, which can be effected by a toolholder with
orientation capability.
Temperature compensation values immediately follow any applied change in orientation. This
applies in particular when an orientation transformation is activated or deactivated.
The same is true when the assignment between geometry axes and channel axes is changed.
The temperature compensation value for an axis is reduced to zero (interpolatively), for
example, when it ceases to be a geometry axis after a transformation change. Conversely,
any temperature compensation value for an axis which changes over to geometry axis status
is applied immediately.
Examples
Basic Functions
1620 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.11 Special handling of tool compensations
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1621
W1: Tool offset
19.12 Sum offsets and setup offsets
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.
Additional references
For more details on "Temperature compensation" see:
References:
Function Manual Extended Functions; Compensations (K3)
For information on "Generic 5-axis transformations" see:
References:
Function Manual, Special Functions; 3- to 5-Axis Transformation (F2)
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.
Basic Functions
1622 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.12 Sum offsets and setup offsets
Setup offset
The setup offset is the compensation to be entered by the setup engineer before machining.
These values are stored separately in the NC. 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 NC. 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 (step-by-step memory
reservation for tool management).
If kinematic transformations (e.g. 5-axis transformations) are active, the tool length is
calculated first after allowing for the various wear components. The total tool length is then
used in the transformation. Unlike the case of a toolholder with orientation capability, the wear
values are thus always included in the transformation irrespective of the G command of group
56.
Sum offsets
Several sum offsets (DL numbers) can be defined per D number. In this way, for example,
workpiece location-dependent offset values can be determined and assigned to a cutting edge.
Sum offsets have the same effect as wear, i.e. they are added to the offset values of the D
number. The data is permanently assigned to a D number.
Settings
You can define the following settings via machine data:
● Activate sum offset
● Define maximum number of DL data sets to be created in NC
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1623
W1: Tool offset
19.12 Sum offsets and setup offsets
Note
When tool management is active, a machine data item 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.
Basic Functions
1624 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.12 Sum offsets and setup offsets
Technology
Tool geometry parame‐ Sum/setup parameter, length compensations Tool wear param‐
ter, to which the compen‐ eter
sation is added.
$TC_DP3 Length 1 $TC_DP12
$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
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1625
W1: Tool offset
19.12 Sum offsets and setup offsets
Tool geometry parame‐ Sum/setup parameter, length compensations Tool wear param‐
ter, to which the compen‐ eter
sation is added.
Other 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 NC are defined via 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.
A sum offset data set requires: 8 bytes * 9 parameters = 72 bytes
A setup data set requires an equal amount of memory. A certain number of bytes is also
required for internal management data.
19.12.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 sum offset without a program)
Basic Functions
1626 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.12 Sum offsets and setup offsets
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.
Note
DL0 is not permitted. 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.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1627
W1: Tool offset
19.12 Sum offsets and setup offsets
$GGLWLYHRIIVHW
7&B6&3>W@
7&B6&3>W@
'RIIVHW
$GGLWLYHRIIVHW
7&B'3>W@ 7&B6&3>W@
7&B'3>W@ 7&B6&3>W@
7&B'3>W@
7&B'3>W@
The tool with T = t is active. With the data in the figure, the following is programmed:
Basic Functions
1628 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.12 Sum offsets and setup offsets
6HWXSRIIVHW $GGLWLYHRIIVHW
ILQH
7&B(&3>W@ 7&B6&3>W@
7&B(&3>W@ 7&B6&3>W@
'RIIVHW
Figure 19-57 MD18112 $MN_MM_KIND_OF_SUMCORR, bit 4 = 1 "setup offsets" + "sum offsets fine"
The tool with T = t is active. With the data in the figure, the following is programmed:
R5 = $TC_SCP13[ t, d ] ; Sets the value of the R parameter to the value of the first
component of sum offset 1 for cutting edge (d)
on tool (t).
R6 = $TC_SCP21[ t, d ] ; Sets the value of the R parameter to the value of the last
component of sum offset 1 for cutting edge (d) on tool (t).
R50 = $TC_SCP23[ t, d ] ; Sets the value of the R parameter to the value of the first
component of sum offset 2 for cutting edge (d) on tool (t).
$TC_SCP43[ t, d ] = 1.234 ; Sets the value of the first component of sum offset 4 for
cutting edge (d) on tool (t) to the value 1.234.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1629
W1: Tool offset
19.12 Sum offsets and setup offsets
The above statements also apply to the setup offsets (if the NCK is configured with this option),
i.e.
R5 = $TC_ECP13[ t, d ] ; Sets the value of the R parameter to the value of the first
component of setup offset 1 for cutting edge (d) on tool (t).
R6 = $TC_ECP21[ t, d ] ; Sets the value of the R parameter to the value of the last
component of setup offset 1 for cutting edge (d) on tool (t).
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].
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].
Basic Functions
1630 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.12 Sum offsets and setup offsets
If d is not specified, all sum offsets of all cutting edges on 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:
Data backup
The data is saved during a general tool data backup (as a component of the D number data
sets).
It is advisable to save the sum offsets, in order to allow the current status to be restored in the
event of an acute problem. Machine data settings can be made to exclude sum offsets from
a data backup (settings can be made separately for "setup offsets" and "sum offsets fine").
Note
Sum offsets behave in the same way as D compensations with reference to block search and
REPOS. The behavior on Reset and Power On can be defined by machine data.
If the setting of the following machine data indicates that the last active tool compensation
number (D) is to be activated after Power On, the last active DL number is then no longer
active:
MD20110 $MC_RESET_MODE_MASK (definition of control default settings after reset / part
program end)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1631
W1: Tool offset
19.12 Sum offsets and setup offsets
19.12.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).
Example 2
During tool change it has to be defined that offset D2 and sum offset DL=1 are activated via
the machine data:
MD20270 $MC_CUTTING_EDGE_DEFAULT=2 (Basic setting of tool cutting edge without
programming)
MD20272 $MC_SUMCORR_DEFAULT=1 (default setting sum offset without program)
Basic Functions
1632 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.12 Sum offsets and setup offsets
Note
The tool base dimension and adapter dimension can only be applied as alternatives.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1633
W1: Tool offset
19.12 Sum offsets and setup offsets
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
1634 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.12 Sum offsets and setup offsets
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 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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1635
W1: Tool offset
19.12 Sum offsets and setup offsets
$GDSWHUGLPHQVLRQ 7RROOHQJWK
7RROEDVH
GLPHQVLRQ
6XPRIIVHWILQH
6HWXSRIIVHWRU
VXPRIIVHWFRDUVH
:HDU
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 Basic setting value for offsets in tool length
TOWMCS Wear values in the machine coordinate system (MCS)
TOWWCS Wear values in the workpiece coordinate system (WCS)
TOWBCS Wear values in the basic coordinate system (BCS)
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
1636 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.12 Sum offsets and setup offsets
=
0.6
;
= . .LQHPDWLFWUDQVIRUPDWLRQWRRO
.&6 FRPSRQHQW
7 7RROFDUULHU
WRROFRPSRQHQW
;
; =
= ;
:.6
%.6
7&6
3
7RRO
.LQHPDWLFWUDQVIRUPDWLRQ
ZRUNSLHFHWDEOHRUSDUWFRPSRQHQW
TOWSTD
Basic 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.
TOWMCS
Wear data in the MCS (machine coordinate system):
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1637
W1: Tool offset
19.12 Sum offsets and setup offsets
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 is 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 is 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
The table (or part) component of the kinematic transformation is described by the transition
from BCS to MCS.
Basic Functions
1638 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.12 Sum offsets and setup offsets
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 is 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.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1639
W1: Tool offset
19.13 Working with tool environments
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.
Overview of functions
● Save tool environment (TOOLENV) (Page 1641)
● Delete tool environment (DELTOOLENV) (Page 1643)
● Read T, D and DL number (GETTENV) (Page 1644)
● Read tool lengths and/or tool length components (GETTCOR) (Page 1645)
● Change tool components (SETTCOR) (Page 1651)
Basic Functions
1640 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.13 Working with tool environments
Syntax
<Status> = TOOLENV(<name>)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1641
W1: Tool offset
19.13 Working with tool environments
Meaning
Additional information
Note
Both toolholders with orientation capability and transformations can use system variables or
machine data, which act as additional tool length components, and which can be subjected
partially or completely to the rotations performed. The resulting additional tool length
components must also be saved when TOOLENV is called, because they represent part of
the environment, in which the tool is used.
Adapter transformation
The adapter transformation is a property of the tool adapter and thus of the complete tool. It
is, therefore, not part of a tool environment, which can be applied to another tool.
Basic Functions
1642 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.13 Working with tool environments
By saving the complete data necessary to determine the overall tool length, it is possible to
calculate the effective length of the tool at a later point in time, even if the tool is no longer
active or if the conditions of the environment (e.g. G codes or setting data) have changed.
Similarly, the effective length of a different tool can be calculated assuming that it would be
used under the same conditions as the tool, for which the status was saved.
Note
Data sets can only be deleted using the DELTOOLENV function, by an INITIAL.INI download
or by a cold start (NC power up with default machine data). There are no additional automatic
deletion operations.
Syntax
<Status> = DELTOOLENV(<name>)
<Status> = DELTOOLENV()
Meaning
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1643
W1: Tool offset
19.13 Working with tool environments
DELTOOLENV(): DELTOOLENV() deletes data sets describing tool environments without spec‐
ifying a name
Syntax
<Status> = GETTENV(<name>, <TDDL>)
Meaning
GETTENV(...): Predefined function to read T, D and DL numbers in a data set to describe a tool
environment
Alone in the Yes
block:
<Status>: Function return value. Negative values indicate error states.
Data type: INT
Value: 0 Function OK
-1 No memory reserved for tool environments:
MD18116 $MN_MM_NUM_TOOL_ENV = 0
This means that the "tool environments" functionality is not
available.
-2 A tool environment with the specified name does not exist.
Parameters
1 <name>: Name of the data set from which the T, D and DL numbers are to be read
Data type: STRING
2 <TDDL>: The field of this result parameter contains the T, D and DL numbers of the tool,
whose tool environment is saved in the specified data set:
● <TDDL> [0]: T number
● <TDDL> [1]: D number
● <TDDL> [2]: DL number
Data type: INT[3]
GETTENV(,<TDDL>), When calling function GETTENV, it is permissible to omit the first pa‐
GETTENV("",<TDDL>): rameter – or to transfer the null string as first parameter. In these two
special cases, in <TDDL>, the T, D and DL numbers of theactive tool
are returned.
Basic Functions
1644 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.13 Working with tool environments
$P_TOOLENVN: Supplies the number of data sets (which have still not been deleted) – defined
using TOOLENV – to describe tool environments
Syntax: <n> = $P_TOOLENVN
Meaning: <n>: Number of defined data sets
Data type: INT
Value range: 0 ... MD18116
$MN_MM_NUM_TOOL_ENV
This system variable can be accessed even if no tool environments are possible
(MD18116 = 0). In this case, the return value is "0".
$P_TOOLENV: Supplies the name of the <i>th data set to describe a tool environment
Syntax: <Name> = $P_TOOLENV[<i>]
Meaning: <name>: Name of the data set with number <i>
Data type: STRING
<i>: Number of the data set
Data type: INT
Value range: 1 ... $P_TOOLENVN
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.
If <i> refers to a data set that has not been defined, then the null string is returned.
If index <i> is not valid, i.e. <i> is less than 1 or higher than that the maximum
number of data sets for tool environments (MD18116 $MN_MM_NUM_TOO‐
LENV), then the following alarm is output:
Alarm 17020 "inadmissible array index 1"
Syntax
<Status> = GETTCOR(<Len>[, <Comp>, <Stat>, <T>, <D>, <DL>])
Meaning
GETTCOR(...): Predefined function to read tool lengths or to read tool length components
Alone in the Yes
block:
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1645
W1: Tool offset
19.13 Working with tool environments
Basic Functions
1646 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.13 Working with tool environments
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1647
W1: Tool offset
19.13 Working with tool environments
Examples
Basic Functions
1648 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.13 Working with tool environments
Additional information
Turning and grinding tools: Calculating the tool length depending on MD20360
$MC_TOOL_PARAMETER_DEF_MASK
The following machine data defines how the wear and tool length are to be evaluated if a
diameter axis is used for turning and grinding tools.
MD20360 $MC_TOOL_PARAMETER_DEF_MASK (definition of tool parameters).
Bit Value
0 For turning and grinding tools, the wear parameter of the transverse axis is taken into account
as the diameter value:
= 0 (default) No
=1 Yes
1 For turning and grinding tools, the tool length component of the transverse axis is taken into
account as the diameter value:
= 0 (default) No
=1 Yes
If the bits involved are set, the associated entry is weighted with a factor of 0.5. This weighting
is reflected in the tool length returned by GETTCOR.
Example:
MD20360 $MC_TOOL_PARAMETER_DEF_MASK = 3
MD20100 $MC_DIAMETER_AX_DEF (geometry axis with transverse axis function) = "X"
X is diameter axis (standard turning machine configuration)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1649
W1: Tool offset
19.13 Working with tool environments
Length components of the kinematic transformation and toolholder with orientation capability
If a toolholder with orientation capability is taken account of during the tool length calculation,
the following vectors are included in that calculation:
Type Vectors
M l1 and l2
T l1, l2 and l3
P The tool length is not influenced by the toolholder with orientation capability.
In generic 5-axis transformation, the following machine data are included in the tool length
calculation for transformer types 24 and 56:
Transformation type 56 (moving tool and moving workpiece) corresponds to type M for
toolholders with orientation capability.
For this 5-axis transformation, in the previous software releases, vector MD24560/24660
$MC_TRAFO5_JOINT_OFFSET_1/2 (vector of kinematic offset of the 1st/2nd 5-axis
transformation in the channel) corresponds to the sum of the two vectors l1 and l3 for a type
M tool carrier with orientation capability.
Only the sum is relevant for the transformation in both cases. The way, in which the two
individual components are composed, is insignificant. However, when calculating the tool
length, it is relevant which component is assigned to the tool and which is assigned to the tool
table. This is the reason that machine data MD24558/24658
$MC_TRAFO5_JOINT_OFFSET_PART_1/2 (vector kinematic offset in table) was introduced.
It corresponds to vector l3. Machine data:MD24560/24660
$MC_TRAFO5_JOINT_OFFSET_1/2 no longer corresponds to the sum of l1 and l3, but only
to vector l1. If machine data MD24558/24658 $MC_TRAFO5_JOINT_OFFSET_PART_1/2 is
equal to zero, the behavior is the same as before.
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 functions mentioned above can be configured to
reproduce the behavior of the measuring cycles in relation to the tool length calculation.
Basic Functions
1650 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.13 Working with tool environments
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>])
Meaning
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1651
W1: Tool offset
19.13 Working with tool environments
Basic Functions
1652 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.13 Working with tool environments
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1653
W1: Tool offset
19.13 Working with tool environments
3 <CorComp>: Specifies the component(s) of the tool data sets that are to be described (optional).
Data type: INT
Value: 0 Offset value <CorVal>[0] refers to the geometry axis transferred
in parameter <GeoAx> in the workpiece coordinate system – or
in the tool coordinate system (also see a description of param‐
eter <Comp>). This means that the offset value must be calcu‐
lated in the designated tool components so that, taking account
all the parameters that can influence the tool length calculation,
a change of the total tool length by the specified value in the
specified axis direction is obtained.
This change should be achieved by correcting the component
specified in <Comp> and the symbolic algorithm specified in
<CorMode> (see the following parameters). The resulting cor‐
rection can therefore have an effect on all three axis compo‐
nents.
1 Like "0", however, vectorial. The content of vector <CorVal>
refers to abscissa, ordinate and applicate in the workpiece co‐
ordinate system or tool coordinate system (see the description
of parameter <Comp>).
Subsequent parameter <GeoAx> is not evaluated.
2 Vectorial offset, i.e. L1, L2 and L3 can change simultaneously.
In contrast to the versions from "0 and "1", the offset values
contained in <CorVal> refer to the coordinates of Val1 compo‐
nents (see following parameter <CorMode>) of the tool.
Any possible inclination of an existing tool compared with the
workpiece coordinate system has no influence on the offset.
3-5 Correction of tool lengths L1 to L3 ($TC_DP3 to $TC_DP5) or
the corresponding values for wear, setting up or additive offsets.
The offset value is contained in <CorVal>[0]. It is measured in
the coordinates of the Val1 component (see following parameter
<CorMode>) of the tool. Any possible inclination of an existing
tool compared with the workpiece coordinate system has no
influence on the offset.
6 Correction of the tool radius ($TC_DP6) or the corresponding
values for wear, setting up or additive offsets. Bits 10 and 11
(evaluation of the diameter and/or diameter wear data, either
specified as a radius or diameter) in machine data
MD20360 $MC_TOOL_PARAMETER_DEF_MASK are taken
into account.
7– Correction of $TC_DP7 to $TC_DP11 or the corresponding val‐
11 ues for wear, setting up or additive offsets. These parameters
are treated just like the tool radius.
If this parameter is not specified then its value is "0".
Basic Functions
1654 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.13 Working with tool environments
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1655
W1: Tool offset
19.13 Working with tool environments
6 <Stat>: Name of the data set for describing a tool environment (optional)
Data type: STRING
If the value of this parameter is the null string (""), or is not specified, then the
current status is used. The current tool is used if a tool is not specified.
7 <T>: Internal T number of the tool (optional).
Data type: INT
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", then the T number of the active tool is used.
It is also possible to explicitly specify the number of the active tool.
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.
8 <D>: Cutting edge of the tool (optional).
Data type: INT
If this parameter is not specified, or if its value is "0", then 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.
9 <TL>: Number of the offset dependent on the location (optional).
Data type: INT
If this parameter is not specified, then 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. If T, D and DL specify a tool without location-dependent offsets, no
summed or setup offsets may be specified in parameter <Comp> (error code in
<Status>).
Note
Not all possible combinations of the three parameters <Comp>, <CorComp> and <CorMode>
make sense. 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>.
Examples
Example 1
Basic Functions
1656 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.13 Working with tool environments
<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
<CorComp> is "1", this means that the offset value of 0.333 – acting in the Z axis – is added
to the wear value of 1.0.
The resulting total tool length is thus: L1 = 10.0 + 1.333 = 11.333
Example 3
<CorComp> is "2", therefore, the offset effective in the Z axis is entered in the geometry
component (the old value is overwritten) and the wear value is deleted.
The resulting total tool length is thus: L1 = 0.333 + 0.0 = 0.333
Example 4
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1657
W1: Tool offset
19.13 Working with tool environments
<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
<CorComp> is "3", as in the previous example, but the compensation is now effective on the
geometry axis with index "0" (X axis), which for a milling tool, is assigned to tool component
L3 due to G17. As a consequence, when calling SETTCOR, tool parameters $TC_DP3 and
$TC_DP12 are not influenced. Instead, the compensation value is entered in $TC_DP5.
Example 6
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
Basic Functions
1658 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.13 Working with tool environments
G18 is active. Since <CorMode> = 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 geometrical relationships are shown in the figure below: 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.
2ULJLQDOWRROOHQJWK
3
B&259$/ DFWLYHLQWKH;
GLUHFWLRQ
:HDU/ /
*HRPHWU\/ /
]
If the program example is continued after N110 with the following instructions, then the
remaining wear is included completely in the geometry because the compensation is now
effective in the Z' axis (parameter <GeoAx> = 0):
N120 _CORVAL[0]=0.0
N130 R1=SETTCOR(_CORVAL,"GW",0,3,0)
N140 T1 D1 X0 Y0 Z0 ; ==> MCS position X24.330 Y0.000 Z17.500
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1659
W1: Tool offset
19.13 Working with tool environments
The same result as that achieved by calling the SETTCOR function with the <CorComp> = 0
parameter twice can also be reached by calling <CorComp> = 1 (vectorial compensation) just
once:
In this case, all wear components of the tool are set to zero immediately after the first call of
SETTCOR in N100.
Example 7
Basic Functions
1660 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.13 Working with tool environments
Example 8
Setting data:SD42930 $SC_WEAR_SIGN is enabled in N90, i.e. the wear must be evaluated
with a negative sign. The compensation is vectorial (<CorComp> = 1), and the compensation
vector must be added to the wear (<CorMode> = 1). The geometrical relationships in the Z/X
plane are shown in the diagram below:
5HVXOWLQJZHDUFRPSRQHQW
*HRPHWU\
/ /
3
3
B&259$/<
;
=
3 =
:HDU/ /
2ULJLQDOWRROOHQJWK
QHJDWLYHHYDOXDWLRQ
The geometry component of the tool remains unchanged due to <CorMode> = 1. The
compensation vector defined in the WCS (rotation around the y axis) must be included in the
wear component such that the total tool length in Fig. 3 refers to point P2. Therefore, the
resulting wear component of the tool is given by the distance of the two points P1 and P2.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1661
W1: Tool offset
19.13 Working with tool environments
However, since the wear is evaluated negatively, due to setting data SD42930
$SC_WEAR_SIGN, 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 $SC_WEAR_SIGN on the L3 component in the Y direction
can be recognized without the additional complication caused by the frame rotation.
Additional information
If the bits involved are set, the associated entry is weighted with a factor of 0.5. The correction
using SETTCOR is executed so that the total effective tool length change is equal to the value
transferred in <CorVal>. If, when calculating the length, a length is evaluated with a factor of
0.5 as a result of machine data MD20360 $MC_TOOL_PARAMETER_DEF_MASK, then the
compensation of this component must be realized with twice the value transferred.
Example
MD20360 $MC_TOOL_PARAMETER_DEF_MASK = 2 (tool length must be evaluated in the
diameter axis using a factor of 0.5)
Axis X is the diameter axis.
Basic Functions
1662 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.14 Read the assignment of the tool lengths L1, L2, L3 to the coordinate axes (LENTOAX)
In each axis, the tool length compensation should be 1 mm (N80 to N100). 1 mm is thus added
to the original length in lengths L2 and L3. Twice the compensation value (2 mm) is added to
the original tool length in L1, in order to change the total length by 1 mm as required. If the
positions approached in blocks N110 and N130 are compared, it can be seen that each axis
position has changed by 1 mm.
19.14 Read the assignment of the tool lengths L1, L2, L3 to the coordinate
axes (LENTOAX)
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[<t>,<d>] to $TC_DP5[<t>,<d>]) is
considered, i.e. a different axis assignment for other components (e.g. wear) has no effect on
the result.
Syntax
<Status> = LENTOAX(<AxInd>, <Matrix>[, <Coord>])
Principle
LENTOAX(...): Predefined function to read the assignment of tool lengths L1, L2 and L3 of the
active tool to the coordinate axes
Alone in the block: Yes
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1663
W1: Tool offset
19.14 Read the assignment of the tool lengths L1, L2, L3 to the coordinate axes (LENTOAX)
Basic Functions
1664 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.14 Read the assignment of the tool lengths L1, L2, L3 to the coordinate axes (LENTOAX)
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)
Example
Standard application, milling tool for 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> then 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:
0DWUL[!
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.
A frame rotation of Z through 60 degrees is now programmed with G17 active, e.g.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1665
W1: Tool offset
19.15 Supplementary conditions
ROT Z60
The direction of the applicate (Z direction) remains unchanged; the main component of L2 now
lies in the direction of the new X axis; the main component of L1 now lies in the direction of
the negative Y axis. As a consequence, the return value (<Status>) is "1", <AxInd> contains
the values (2, -3, 1).
In this case, the associated matrix (<Matrix>) is:
VLQr FRVr
0DWUL[! FRVr VLQr
Basic Functions
1666 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.16 Data lists
19.15.3 Scratching
Scratching
If the "Scratch" function is used in the reset state, then regarding the initial setting value, the
following must be taken into consideration:
● The wear components are evaluated depending on the initial settings of the G 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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1667
W1: Tool offset
19.16 Data lists
Basic Functions
1668 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
W1: Tool offset
19.16 Data lists
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1669
W1: Tool offset
19.16 Data lists
19.16.3 Signals
Basic Functions
1670 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Z1: NC/PLC interface signals 20
From Edition 05/2017, a detailed description of the NC/PLC interface signals is provided in the
NC Variables and Interface Signals List Manual.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1671
Z1: NC/PLC interface signals
Basic Functions
1672 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Appendix A
A.1 List of abbreviations
A
O Output
ADI4 (Analog drive interface for 4 axes)
AC Adaptive Control
ALM Active Line Module
ARM Rotating induction motor
AS Automation system
ASCII American Standard Code for Information Interchange: American coding standard for
the exchange of information
ASIC Application-Specific Integrated Circuit: User switching circuit
ASUB Asynchronous subprogram
AUXFU Auxiliary function: Auxiliary function
STL Statement List
UP User Program
B
OP Operating Mode
BAG Mode group
BCD Binary Coded Decimals: Decimal numbers encoded in binary code
BERO Contact-less proximity switch
BI Binector Input
BICO Binector Connector
BIN BINary files: Binary files
BIOS Basic Input Output System
BCS Basic Coordinate System
BO Binector Output
OPI Operator Panel Interface
C
CAD Computer-Aided Design
CAM Computer-Aided Manufacturing
CC Compile Cycle: Compile cycles
CEC Cross Error Compensation
CI Connector Input
CF Card Compact Flash Card
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1673
Appendix
A.1 List of abbreviations
C
CNC Computerized Numerical Control: Computer-Supported Numerical Control
CO Connector Output
CoL Certificate of License
COM Communication
CPA Compiler Projecting Data: Configuring data of the compiler
CRT Cathode Ray Tube: picture tube
CSB Central Service Board: PLC module
CU Control Unit
CP Communication Processor
CPU Central Processing Unit: Central processing unit
CR Carriage Return
CTS Clear To Send: Ready to send signal for serial data interfaces
CUTCOM Cutter radius Compensation: Tool radius compensation
D
DAC Digital-to-Analog Converter
DB Data Block (PLC)
DBB Data Block Byte (PLC)
DBD Data Block Double word (PLC)
DBW Data Block Word (PLC)
DBX Data block bit (PLC)
DDE Dynamic Data Exchange
DDS Drive Data Set: Drive data set
DIN Deutsche Industrie Norm
DIO Data Input/Output: Data transfer display
DIR Directory: Directory
DLL Dynamic Link Library
DO Drive Object
DPM Dual Port Memory
DPR Dual Port RAM
DRAM Dynamic memory (non-buffered)
DRF Differential Resolver Function: Differential revolver function (handwheel)
DRIVE-CLiQ Drive Component Link with IQ
DRY Dry Run: Dry run feedrate
DSB Decoding Single Block: Decoding single block
DSC Dynamic Servo Control / Dynamic Stiffness Control
DW Data Word
DWORD Double Word (currently 32 bits)
Basic Functions
1674 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Appendix
A.1 List of abbreviations
E
I Input
EES Execution from External Storage
I/O Input/Output
ENC Encoder: Actual value encoder
EFP Compact I/O module (PLC I/O module)
ESD Electrostatic Sensitive Devices
EMC ElectroMagnetic Compatibility
EN European standard
ENC Encoder: Actual value encoder
EnDat Encoder interface
EPROM Erasable Programmable Read Only Memory: Erasable, electrically programmable
read-only memory
ePS Network Services Services for Internet-based remote machine maintenance
EQN Designation for an absolute encoder with 2048 sine signals per revolution
ES Engineering System
ESR Extended Stop and Retract
ETC ETC key ">"; softkey bar extension in the same menu
F
FB Function Block (PLC)
FC Function Call: Function Block (PLC)
FEPROM Flash EPROM: Read and write memory
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 Floating Point Unit: Floating Point Unit
CRC Cutter Radius Compensation
FST Feed Stop: Feedrate stop
FBD Function Block Diagram (PLC programming method)
FW Firmware
G
GC Global Control (PROFIBUS: Broadcast telegram)
GDIR Global part program memory
GEO Geometry, e.g. geometry axis
GIA Gear Interpolation dAta: Gear interpolation data
GND Signal Ground
GP Basic program (PLC)
GS Gear Stage
GSD Device master file for describing a PROFIBUS slave
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1675
Appendix
A.1 List of abbreviations
G
GSDML Generic Station Description Markup Language: XML-based description language for
creating a GSD file
GUD Global User Data: Global user data
H
HEX Abbreviation for hexadecimal number
AuxF Auxiliary function
HLA Hydraulic linear drive
HMI Human Machine Interface: SINUMERIK user interface
MSD Main Spindle Drive
HW Hardware
I
IBN Commissioning
ICA Interpolatory compensation
IM Interface Module: Interconnection module
IMR Interface Module Receive: Interface module for receiving data
IMS Interface Module Send: Interface module for sending data
INC Increment: Increment
INI Initializing Data: Initializing data
IPO Interpolator
ISA Industry Standard Architecture
ISO International Standardization Organization
J
JOG Jogging: Setup mode
K
KV Gain factor of control loop
Kp Proportional gain
KÜ Transformation ratio
LAD Ladder Diagram (PLC programming method)
L
LAI Logic Machine Axis Image: Logical machine axes image
LAN Local Area Network
LCD Liquid Crystal Display: Liquid crystal display
LED Light Emitting Diode: Light-emitting diode
LF Line Feed
Basic Functions
1676 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Appendix
A.1 List of abbreviations
L
PMS Position Measuring System
LR Position controller
LSB Least Significant Bit: Least significant bit
LUD Local User Data: User data (local)
M
MAC Media Access Control
MAIN Main program: Main program (OB1, PLC)
MB Megabyte
MCI Motion Control Interface
MCIS Motion Control Information System
MCP Machine Control Panel: Machine control panel
MD Machine Data
MDA Manual Data Automatic: Manual input
MDS Motor Data Set: Motor data set
MSGW Message Word
MCS Machine Coordinate System
MM Motor Module
MPF Main Program File: Main program (NC)
MCP Machine control panel
N
NC Numerical Control: Numerical control with block preparation, traversing range, etc.
NCU Numerical Control Unit: NC hardware unit
NRK Name for the operating system of the NC
IS Interface Signal
NURBS Non-Uniform Rational B-Spline
WO Work Offset
NX Numerical Extension: Axis expansion board
O
OB Organization block in the PLC
OEM Original Equipment Manufacturer
OP Operator Panel: Operating equipment
OPI Operator Panel Interface: Interface for connection to the operator panel
OPT Options: Options
OLP Optical Link Plug: Fiber optic bus connector
OSI Open Systems Interconnection: Standard for computer communications
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1677
Appendix
A.1 List of abbreviations
P
PIQ Process Image Output
PII Process Image Input
PC Personal Computer
PCIN Name of the SW for data exchange with the control
PCMCIA Personal Computer Memory Card International Association:
Plug-in memory card standardization
PCU PC Unit: PC box (computer unit)
PG Programming device
PKE Parameter identification: Part of a PIV
PIV Parameter identification: Value (parameterizing part of a PPO)
PLC Programmable Logic Control: Adaptation control
PN PROFINET
PNO PROFIBUS user organization
PO POWER ON
POU Program Organization Unit
POS Position/positioning
POSMO A Positioning Motor Actuator: Positioning motor
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 Positioning Motor Compact DC: Like CA but with DC infeed
POSMO SI Positioning Motor Servo Integrated: Positioning motor, DC infeed
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 Process Field Bus: Serial data bus
PRT Program Test
PSW Program control word
PTP Point-To-Point: Point-To-Point
PUD Program global User Data: Program-global user variables
PZD Process data: Process data part of a PPO
Q
QEC Quadrant Error Compensation
R
RAM Random Access Memory: Read/write memory
REF REFerence point approach function
REPOS REPOSition function
RISC Reduced Instruction Set Computer: Type of processor with small instruction set and
ability to process instructions at high speed
ROV Rapid Override: Input correction
Basic Functions
1678 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Appendix
A.1 List of abbreviations
R
RP R Parameter, arithmetic parameter, predefined user variable
RPA R Parameter Active: Memory area in the NC for R parameter numbers
RPY Roll Pitch Yaw: Rotation type of a coordinate system
RTLI Rapid Traverse Linear Interpolation: Linear interpolation during rapid traverse motion
RTS Request To Send: Control signal of serial data interfaces
RTCP Real Time Control Protocol
S
SA Synchronized Action
SBC Safe Brake Control: Safe Brake Control
SBL Single Block: Single block
SBR Subroutine: Subprogram (PLC)
SD Setting Data
SDB System Data Block
SEA Setting Data Active: Identifier (file type) for setting data
SERUPRO SEarch RUn by PROgram test: Block search, program test
SFB System Function Block
SFC System Function Call
SGE Safety-related input
SGA Safety-related output
SH Safe standstill
SIM Single in Line Module
SK Softkey
SKP Skip: Function for skipping a part program block
SLM Synchronous Linear Motor
SM Stepper Motor
SMC Sensor Module Cabinet Mounted
SME Sensor Module Externally Mounted
SMI Sensor Module Integrated
SPF Sub Routine File: Subprogram (NC)
PLC Programmable Logic Controller
SRAM Static RAM (non-volatile)
TNRC Tool Nose Radius Compensation
SRM Synchronous Rotary Motor
LEC Leadscrew Error Compensation
SSI Serial Synchronous Interface: Synchronous serial interface
SSL Block search
STW Control word
GWPS Grinding Wheel Peripheral Speed
SW Software
SYF System Files: System files
SYNACT SYNchronized ACTion: Synchronized Action
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1679
Appendix
A.1 List of abbreviations
T
TB Terminal Board (SINAMICS)
TCP Tool Center Point: Tool tip
TCP/IP Transport Control Protocol / Internet Protocol
TCU Thin Client Unit
TEA Testing Data Active: Identifier for machine data
TIA Totally Integrated Automation
TM Terminal Module (SINAMICS)
TO Tool Offset: Tool offset
TOA Tool Offset Active: Identifier (file type) for tool offsets
TRANSMIT Transform Milling Into Turning: Coordination transformation for milling operations on
a lathe
TTL Transistor-Transistor Logic (interface type)
TZ Technology cycle
U
UFR User Frame: Work offset
SR Subprogram
USB Universal Serial Bus
UPS Uninterruptible Power Supply
V
VDI Internal communication interface between NC and PLC
VDI Verein Deutscher Ingenieure [Association of German Engineers]
VDE Verband Deutscher Elektrotechniker [Association of German Electrical Engineers]
VI Voltage Input
VO Voltage Output
FDD Feed Drive
W
SAR Smooth Approach and Retraction
WCS Workpiece Coordinate System
T Tool
TLC Tool Length Compensation
WOP Workshop-Oriented Programming
WPD Workpiece Directory: Workpiece directory
TRC Tool Radius Compensation
T Tool
TO Tool Offset
TM Tool Management
TC Tool change
Basic Functions
1680 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Appendix
A.1 List of abbreviations
X
XML Extensible Markup Language
Z
WOA Work Offset Active: Identifier for work offsets
ZSW Status word (of drive)
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1681
Appendix
A.2 Documentation overview
*HQHUDOGRFXPHQWDWLRQ
6,180(5,. 6,180(5,.
Basic Functions
1682 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Glossary
Absolute dimensions
A destination for an axis motion is defined by a dimension that refers to the origin of the currently
valid 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 deletion 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, 12/2017, 6FC5397-0BP40-6BA1 1683
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.
Basic Functions
1684 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
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 → NC, → PLC, HMI, → COM.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1685
Glossary
CNC
See → NC
Computerized Numerical Control: includes the components → NC, → 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
Basic Functions
1686 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Glossary
CU
Transformation ratio
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 blocks 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 control.
2. The control 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 work 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, 12/2017, 6FC5397-0BP40-6BA1 1687
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.
Basic Functions
1688 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Glossary
Fixed-point approach
Machine tools can approach fixed points such as a tool change point, loading point, pallet
change point, etc. in a defined way. The coordinates of these points are stored in the control.
The control moves the relevant axes in → rapid traverse, whenever possible.
Frame
A frame is an arithmetic rule that transforms one Cartesian coordinate system into another
Cartesian coordinate system. A frame contains the following components: → work 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, 12/2017, 6FC5397-0BP40-6BA1 1689
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
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.
Basic Functions
1690 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Glossary
Intermediate blocks
Motions with selected → tool offset (G41/G42) may be interrupted by a limited number of
intermediate blocks (blocks without axis motions in the offset plane), whereby the tool offset
can still be correctly compensated for. The permissible number of intermediate blocks which
the controller reads ahead can be set in system parameters.
Interpolator
Logic unit of the → NC that defines intermediate values for the motion 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
Operating mode of the control (setup mode): The machine can be set up in JOG mode.
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1691
Glossary
KV
Servo gain factor, a control variable in a control loop.
Leading axis
The leading axis is the → gantry axis that exists from the point of view of the operator and
programmer and, thus, can be influenced like a standard NC axis.
Limit speed
Maximum/minimum (spindle) speed: The maximum speed of a spindle can be limited by
specifying machine data, the → PLC or → setting data.
Linear axis
In contrast to a rotary axis, a linear axis describes a straight line.
Linear interpolation
The tool travels along a straight line to the destination point while machining the workpiece.
Load memory
The load memory is the same as 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.
Basic Functions
1692 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
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 preceded with ":" that contains all information to start the operating sequence in 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.
MDI
Operating mode of the control: Manual Data Input. In the MDI 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 deletion criterion. Alarms and messages are displayed separately.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1693
Glossary
Mirroring
Mirroring reverses the signs of the coordinate values of a contour, with respect to an axis. It
is possible to mirror with respect to more than one axis at a time.
Mode
An operating concept on a SINUMERIK control The following modes are defined: → Jog, → MDI,
→ 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 → NC)
NURBS
The motion control and path interpolation that occurs within the control 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 technology-
specific functions in the control.
Offset memory
Data range in the control, in which the tool offset data is stored.
Basic Functions
1694 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
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 possibility of intervention that 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 feedrate affects → path axes. It represents the geometric sum of the feedrates of the
→ geometry axes involved.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1695
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).
Basic Functions
1696 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
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, 12/2017, 6FC5397-0BP40-6BA1 1697
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 velocity of an axis. It is used, for example, 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
item.
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.
Basic Functions
1698 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
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, 12/2017, 6FC5397-0BP40-6BA1 1699
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.
Basic Functions
1700 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
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, 12/2017, 6FC5397-0BP40-6BA1 1701
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 work
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.
Basic Functions
1702 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Glossary
Work 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 work offsets are available for each CNC axis. The offsets
- which are selected by means of G commands - take effect alternatively.
2. External
In addition to all the offsets which define the position of the workpiece zero, an external
work offset can be overridden by means of the handwheel (DRF offset) or from the PLC.
3. Programmable
Work offsets can be programmed for all path and positioning axes using the TRANS
statement.
Working area
Three-dimensional zone into which the tool tip can be moved on account of the physical design
of the machine tool. See → Protection zone.
Working memory
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.
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1703
Glossary
Basic Functions
1704 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Index
$AC_SMINVELO, 1373
$AC_SMINVELO_INFO, 1373
$ $AC_SPECIAL_PARTS, 696, 700
$AC_SPIND_STATE, 1373
$AA_ACC, 1447
$AC_STOLF, 265
$AA_ATOL, 254
$AC_TOTAL_PARTS, 696, 700
$AA_FGREF, 1423
$AN_AUXFU_LIST_ENDINDEX, 459
$AA_FGROUP, 1423
$AN_POWERON_TIME, 689
$AA_G0MODE, 263
$AN_SETUP_TIME, 689
$AA_MOTEND, 1448
$C_AUX_EXT, 669
$AA_S, 1282
$C_AUX_IS_QUICK, 669
$AA_SCPAR, 1449
$C_AUX_VALUE, 669
$AA_VLFCT, 1374
$C_D, 670
$AA_VMAXB, 1374
$C_D_PROG, 670
$AA_VMAXM, 1374
$C_DL, 670
$AC_ACT_PROG_NET_TIME, 690
$C_DL_PROG, 670
$AC_ACTUAL_PARTS, 696, 700
$C_DUPLO, 670
$AC_ASUP, 606
$C_DUPLO_PROG, 670
$AC_AUXFU_EXT, 468
$C_M, 669
$AC_AUXFU_M_EXT, 468
$C_M_PROG, 669
$AC_AUXFU_M_STATE, 469
$C_ME, 669
$AC_AUXFU_M_TICK, 450
$C_MTL, 666, 670
$AC_AUXFU_M_VALUE, 469
$C_MTL_PROG, 666, 670
$AC_AUXFU_PREDEF_INDEX, 455, 468
$C_T, 669
$AC_AUXFU_SPEC, 466, 469
$C_T_PROG, 669
$AC_AUXFU_STATE, 469
$C_TCA, 670
$AC_AUXFU_TYPE, 468
$C_TE, 670
$AC_AUXFU_VALUE, 469
$C_THNO, 670
$AC_CTOL, 254
$C_THNO_PROG, 670
$AC_CUT_INV, 1599
$C_TS, 670
$AC_CUTMOD, 1599
$C_TS_PROG, 670
$AC_CUTMOD_ANG, 1582, 1599
$NT_ROT_AX_NAME, 1596
$AC_CUTMODK, 1599
$P_AD, 1598
$AC_CUTTING_TIME, 692
$P_CHANNO, 583
$AC_CYCLE_TIME, 692
$P_CTOL, 255
$AC_DELAYFST, 590
$P_CUT_INV, 1599
$AC_FGROUP_MASK, 1423
$P_CUTMOD, 1599
$AC_OLD_PROG_NET_TIME, 690
$P_CUTMOD_ANG, 1582, 1599
$AC_OLD_PROG_NET_TIME_COUNT, 691
$P_CUTMOD_ERR, 1600
$AC_OPERATING_TIME, 692
$P_CUTMODK, 1599
$AC_OTOL, 254
$P_DELAYFST, 590
$AC_PATHACC, 282, 294
$P_FGROUP_MASK, 1424
$AC_PATHJERK, 293, 294
$P_GEAR, 1352
$AC_PROG_NET_TIME_TRIGGER, 691
$P_GFRNUM, 783
$AC_REQUIRED_PARTS, 696, 700
$P_IFRAME, 779
$AC_SGEAR, 1333, 1352
$P_ISTEST, 501
$AC_SMAXACC, 1373
$P_ORI_DIFF, 1592
$AC_SMAXACC_INFO, 1373
$P_ORI_POS, 1592
$AC_SMAXVELO, 1373
$P_ORI_SOL, 1593
$AC_SMAXVELO_INFO, 1373
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1705
Index
Basic Functions
1706 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Index
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1707
Index
Basic Functions
1708 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Index
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1709
Index
Basic Functions
1710 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Index
DBX3.1, 324, 328, 329 DBX82.3, 1323, 1325, 1326, 1339, 1340, 1341,
DBX3.2, 1440 1344, 1347
DBX3.3, 1440 DBX83.1, 1282, 1325, 1327, 1372, 1373
DBX3.4, 1440 DBX83.2, 1325, 1327, 1372
DBX3.5, 1440 DBX83.5, 1282, 1283, 1287, 1288, 1289, 1371
DBX3.7, 549 DBX84.5, 1344, 1348
DBX30.0, 1366 DBX84.6, 1279, 1339, 1340, 1344, 1347, 1348
DBX30.1, 1366 DBX84.7, 1281, 1323, 1345
DBX30.2, 1366 DBX85.5, 1299
DBX30.3, 1366 DBX9.0, 52, 54, 76
DBX30.4, 1366 DBX9.1, 52, 54, 76
DBX39.0, 172, 175 DBX9.2, 52, 54, 76
DBX4.3, 1343, 1373 DBX9.3, 53
DBX4.6, 1228 DBX92.1, 56
DBX4.7, 1228 DBX93.5, 41, 50, 56
DBX60.2, 103, 1377 DBX93.6, 55, 56
DBX60.3, 103, 1377 DBX93.7, 56
DBX60.4, 49, 121, 1229, 1230, 1231, 1232, 1244, DBX94.0, 56
1250, 1251, 1254, 1255, 1256, 1377 DBX94.1, 57
DBX60.4 - DBX60.5, 1335, 1339, 1343, 1344, DBX94.2, 57
1345 DBX94.3, 57
DBX60.5, 49, 121, 860, 1229, 1230, 1231, 1232, DBX94.4, 57
1244, 1250, 1251, 1254, 1255, 1256, 1377 DBX94.5, 58
DBX60.6, 49, 88, 97, 1286, 1293, 1298, 1299 DBX94.6, 58
DBX60.7, 49, 88, 97, 1293, 1298, 1299, 1348 DB31, ... DBX1.1, 325
DBX61.0, 44, 53 DB31, ... DBX1.4, 97
DBX61.3, 45, 54, 1255, 1256 DB31, ... DBX102.3, 89, 90, 91
DBX61.4, 53, 54, 1255, 1282, 1283, 1288, 1323, DB31, ... DBX2.3, 89, 90
1371 DB31, ... DBX61.3, 91
DBX61.5, 50, 51, 54, 1281, 1339, 1340, 1344 DB31, ... DBX62.5, 325
DBX61.6, 51, 54 DB31, ... DBX64.6, 91, 93, 94
DBX61.7, 54 DB31, …
DBX62.4, 324, 328, 329 DBX9.3, 1449
DBX62.5, 329, 332 DB4500, 1136
DBX64.6, 88, 448 DB9000 - DB9063, 1136
DBX64.7, 88, 448 DC, 1360
DBX69.0, 54, 77 Debug mode for SBL2, 616
DBX69.0 - DBX69.2, 1334 Decoding single block, 502
DBX69.1, 54, 77 Default passwords, 68
DBX69.2, 54, 77 DELAYFSTOF, 588
DBX7.7, 1373 DELAYFSTON, 588
DBX70.0, 529, 531 Delete distance-to-go, 44
DBX70.1, 529, 531 DELTOOLENV, 1643
DBX70.2, 529, 530, 531 Description of a rotation, 1545
DBX71.4, 1318 DIACYCOFA, 870
DBX71.5, 1318 DIAM90, 869
DBX72.0, 529 DIAM90/DIAM90A[AX], 865
DBX76.0, 54 DIAM90A, 870
DBX76.4, 529, 532 DIAMCHAN, 870
DBX82.0 - DBX82.2, 1323, 1325, 1326, 1328, DIAMCHANA, 870
1338, 1339, 1340, 1344, 1347 DIAMCYCOF, 869
DIAMCYCOF/DIACYCOFA[AX], 865
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1711
Index
Basic Functions
1712 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Index
FCUB, 1441
Feedrate
for chamfer/rounding, 1442 G
Inverse-time (G93), 1396
G groups, 554
Linear (G94), 1397
G0 tolerance factor, 258, 263
-override, 1427
G25, 113, 1361
Path feedrate F, 1394
G26, 113, 1361
Revolutional (G95), 1397
G33, 1403
Tooth, 1397
G331, 1419
types, 1393
G332, 1419
types (G93, G94, G95), 1396
G335, 1413
Feedrate disable
G336, 1413
Channel-specific, 1425
G40, 1494
Feedrate override
G41, 1494
Programmable, 1431
G42, 1494
Feedrates
G450/G451, 1513
Dry run feedrate, 1431
G451, 1515
Feedrate disable, 1425
G460, 1528
Feedrate/spindle stop, 1425
G461, 1457, 1528
FGROUP, 718, 721
G462, 1457, 1529
FIFO Buffer, 634
G58, 712
Fine interpolation, 386
G59, 712
Fine offset, 712
G60, 190
Firmware, 1133
G601, 191
Fixed feedrates, 1439
G602, 191
FL, 1395
G603, 191
Flat D number structure, 1473
G63, 1313, 1421
FLIN, 1441
G64, 197
FNORM, 1441
G642, 202
FOC, 322
G643, 202
FOCOF, 322
G644, 205
FOCON, 322
G645, 208
Follow up active, 54
G70, 362
FPO, 1441
G700, 362
FPRAOF, 1360
G71, 362
FPRAON, 1360
G710, 362
FRAME, 717
G74, 1232
Frame change, 1536
G9, 190
Frame rotations, 714
G91 extension, 1603
in the direction of the tool, 828, 829
Zero point offset, 1604
with solid angles, 825
G93, 1396
FRC, 1442
G94, 1397
FRCM, 1442
G95, 1397
Free-form surfaces, 234
G96, 1399
mode, 188, 234
G961, 1399
Function interface, 890
G97, 1400
FXS, 322
G971, 1400
FXS-REPOS, 333
Gear stage
FXST, 322
in M70, 1350
FXSW, 322
Manual entry, 1328
FZ, 1397
Specification by PLC, 1327
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1713
Index
Basic Functions
1714 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Index
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1715
Index
Basic Functions
1716 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Index
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1717
Index
Basic Functions
1718 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Index
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1719
Index
Basic Functions
1720 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Index
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1721
Index
Basic Functions
1722 Function Manual, 12/2017, 6FC5397-0BP40-6BA1
Index
Smoothing Tapping
Path velocity, 220 With compensating chuck, 1313
SOFT, 289 TCARR, 1557
SOFTA, 291 TCOABS, 1558
Software limit switch, 109 TCOFR, 1557, 1558
SPCOF, 1360 TCP Tool Center Position, 725
SPCON, 1360 TEACH IN, 490
Special axes, 717 Thread
Special points in the target block cutting, 1410
STOPRRE block, 543 Thread cutting G33, 1403
Specify gear stage, 1321 Tick, 456
Speed TOA
feedforward control, 390 -Data, 1483
Speed control loop, 386 -unit, 1460
Speed controller active, 54 Tolerance
Speed setpoint adjustment, 375 -factor for spindle speed, 1372
Speed setpoint output, 374 With G0, 258
SPI, 1362 Tool, 1457
Spindle Change, 1458
-gear stage 0, 1330 Change tool with M06, 1458
-override, 1427, 1429 Cutting edge, 1479
-setpoint speed, 1372 DISC, 1514
speed limits, 1373 -length, 1486
-speed, maximum, 1373 management, 485
-speed, minimum, 1372 -offset data, 1483
Spindle disable, 45, 1426 -parameters, 1479
Spindle functions using a PLC, 497 -retraction, 660
Spindle speed, 349 Select, 1457
Spindle speed limitation with G96, G961, 1401 -shape, 1487
Spline, 189 -shape, active, 1490
SPOS, 1283, 1359 -size, active, 1489
SPOSA, 1360 T function, 1458
Star/delta switchover with FC17, 1330 Tool base dimension/adapter dimension, 1490
Star-delta changeover, 1070 Tool cutting edge, 1459
Startup and synchronization of NCK PLC, 904 Tool radius compensation 2D (TRC), 1494
STOLF, 263 -type, 1480
Stop delay area, 585 -wear, 1489
Stop events, 585 Tool base dimension, 1490
Storing angles in the toolholder data, 1537 Tool carrier with orientation capability
STRINGIS, 555 Create new, 1560
Strings, 1127 Tool carrier, with orientation capability
SVC, 1359 Create new, 1560
Switching over the encoder data set, 139 Tool change
Symbolic programming, 912 D function, 1459
Synchronized axes, 720 Offset memory, 1460
System of units, 355, 362 Tool length compensation
calculate tool-specifically, example, 1571
Geometry, 1486
T Wear, 1489
Workpiece-specific calculation, 1633
T function, 409, 1458
T function replacement, 666
Basic Functions
Function Manual, 12/2017, 6FC5397-0BP40-6BA1 1723
Index
Basic Functions
1724 Function Manual, 12/2017, 6FC5397-0BP40-6BA1