Handbook of Mathematics For Engineers and Scientists
Handbook of Mathematics For Engineers and Scientists
Fundamental safety
instructions 1
V2: Preprocessing 22
W5: 3D tool radius
compensation - 840D sl only 23
W6: Path length evaluation -
840D sl only 24
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 in the following categories:
● General documentation
● User documentation
● Manufacturer/service documentation
Additional information
You can find information on the following topics at www.siemens.com/motioncontrol/docu:
● Ordering documentation/overview of documentation
● Additional links to download documents
● Using documentation online (find and search in manuals/information)
Please send any questions about the technical documentation (e.g. suggestions for
improvement, corrections) to the following address:
[email protected]
Training
For information about the range of training courses, refer under:
● www.siemens.com/sitrain
SITRAIN - Siemens training for products, systems and solutions in automation technology
● www.siemens.com/sinutrain
SinuTrain - training software for SINUMERIK
FAQs
You can find Frequently Asked Questions in the Service&Support pages under Product
Support. http://support.automation.siemens.com
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 5
Preface
SINUMERIK
You can find information on SINUMERIK under the following link:
www.siemens.com/sinumerik
Target group
This publication is intended for:
● Project engineers
● Technologists (from machine manufacturers)
● System startup engineers (Systems/Machines)
● Programmers
Benefits
The function manual describes the functions so that the target group knows them and can
select them. It provides the target group with the information required to implement the
functions.
Standard version
This documentation only describes the functionality of the standard version. Extensions or
changes made by the machine tool manufacturer are documented by the machine tool
manufacturer.
Other functions not described in this documentation might be executable in the control. This
does not, however, represent an obligation to supply such functions with a new control or when
servicing.
Further, for the sake of simplicity, this documentation does not contain all detailed information
about all types of the product and cannot cover every conceivable case of installation, operation
or maintenance.
Technical Support
You will find telephone numbers for other countries for technical support in the Internet under
http://www.siemens.com/automation/service&support
Structure_FB1+2
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.)
Special functions
6 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Preface
● Appendix with:
– List of abbreviations
– Documentation overview
● Index of terms
Note
For detailed descriptions of data and alarms see:
● For machine and setting data:
Detailed description of machine data (only electronically on DOConCD or DOConWEB)
● For NC/PLC interface signals:
– Function Manual, Basic Functions; NC/PLC Interface Signals (Z1)
– Function Manual, Extension Functions; NC/PLC Interface Signals (Z2)
– Function Manual, Special Functions; NC/PLC Interface Signals (Z3)
● 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.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 7
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'
Special functions
8 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Preface
ELSE
... <> AXPOS
ENDIF
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 9
Preface
Special functions
10 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Table of contents
Preface.........................................................................................................................................................5
1 Fundamental safety instructions.................................................................................................................31
1.1 General safety instructions.....................................................................................................31
1.2 Industrial security...................................................................................................................31
2 F2: Multi-axis transformations....................................................................................................................33
2.1 Brief description.....................................................................................................................33
2.1.1 5-axis Transformation............................................................................................................33
2.1.2 3-axis and 4-axis transformation............................................................................................35
2.1.3 Orientation transformation with a swiveling linear axis..........................................................36
2.1.4 Universal milling head............................................................................................................38
2.1.5 Orientation axes.....................................................................................................................39
2.1.6 Cartesian manual travel.........................................................................................................40
2.1.7 Cartesian PTP travel..............................................................................................................40
2.1.8 Generic 5-axis transformation................................................................................................40
2.1.9 Online tool length offset.........................................................................................................40
2.1.10 Activation via parts/program/softkey......................................................................................41
2.1.11 Orientation compression........................................................................................................41
2.2 5-axis transformation..............................................................................................................41
2.2.1 Kinematic transformation.......................................................................................................41
2.2.2 Machine types for 5-axis transformation................................................................................42
2.2.3 Configuration of a machine for 5-axis transformation............................................................43
2.2.4 Tool orientation......................................................................................................................48
2.2.5 Singular positions and handling.............................................................................................52
2.3 3-axis and 4-axis transformations..........................................................................................55
2.4 Transformation with swiveled linear axis................................................................................56
2.5 Cardan milling head...............................................................................................................62
2.5.1 Fundamentals of cardan milling head....................................................................................62
2.5.2 Parameterization....................................................................................................................64
2.5.3 Traverse of the cardan milling head in JOG mode.................................................................65
2.6 Programming of the 3- to 5-axis transformation.....................................................................66
2.7 Generic 5-axis transformation and variants...........................................................................67
2.7.1 Functionality...........................................................................................................................67
2.7.2 Description of machine kinematics.........................................................................................68
2.7.3 Generic orientation transformation variants...........................................................................69
2.7.4 Parameterization of orientable toolholder data......................................................................71
2.7.5 Extension of the generic transformation to six axes - 840D sl only........................................75
2.7.6 Extension of the generic transformation to seven axes - 840D sl only..................................78
2.7.7 Cartesian manual travel with generic transformation.............................................................82
2.8 Restrictions for kinematics and interpolation..........................................................................84
2.8.1 Singularities of orientation......................................................................................................85
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 11
Table of contents
2.9 Orientation..............................................................................................................................87
2.9.1 Basic orientation.....................................................................................................................87
2.9.2 Orientation movements with axis limits..................................................................................89
2.9.3 Orientation compression........................................................................................................90
2.9.4 Smoothing of the orientation characteristic............................................................................95
2.9.4.1 Function.................................................................................................................................95
2.9.4.2 Commissioning.......................................................................................................................95
2.9.4.3 Programming..........................................................................................................................96
2.9.5 Orientation relative to the path...............................................................................................97
2.9.6 Programming of orientation polynominals............................................................................101
2.9.7 System variable for tool orientation......................................................................................104
2.10 Orientation axes...................................................................................................................106
2.10.1 JOG mode............................................................................................................................108
2.10.2 Programming for orientation transformation.........................................................................109
2.10.3 Programmable offset for orientation axes............................................................................111
2.10.4 Orientation transformation and orientable tool holders........................................................112
2.10.5 Modulo display of orientation axes.......................................................................................112
2.11 Orientation vectors...............................................................................................................113
2.11.1 Polynomial interpolation of orientation vectors.....................................................................113
2.11.2 Rotations of orientation vector.............................................................................................117
2.11.3 Extended interpolation of orientation axes...........................................................................121
2.12 Online tool length offset.......................................................................................................125
2.13 Examples.............................................................................................................................129
2.13.1 Example of a 5-axis transformation......................................................................................129
2.13.2 Example of a 3-axis and 4-axis transformation....................................................................132
2.13.2.1 Example of a 3-axis transformation......................................................................................132
2.13.2.2 Example of a 4-axis transformation......................................................................................132
2.13.3 Example of a universal milling head.....................................................................................132
2.13.4 Example for orientation axes................................................................................................134
2.13.5 Examples for orientation vectors..........................................................................................136
2.13.5.1 Example for polynomial interpretation of orientation vectors...............................................136
2.13.5.2 Example of rotations of orientation vector............................................................................137
2.13.6 Examples for generic axis transformations..........................................................................137
2.13.6.1 Example of a generic 6-axis transformation.........................................................................139
2.13.6.2 Example of a generic 7-axis transformation.........................................................................140
2.13.6.3 Example for the modification of rotary axis motion..............................................................141
2.14 Data lists..............................................................................................................................141
2.14.1 Machine data........................................................................................................................141
2.14.1.1 General machine data..........................................................................................................141
2.14.1.2 Channelspecific machine data.............................................................................................142
2.14.2 Setting data..........................................................................................................................145
2.14.2.1 General setting data.............................................................................................................145
2.14.2.2 Channelspecific setting data................................................................................................146
2.14.3 Signals.................................................................................................................................146
2.14.3.1 Signals from channel............................................................................................................146
3 G1: Gantry axes.......................................................................................................................................147
3.1 Brief description...................................................................................................................147
3.2 "Gantry axes" function..........................................................................................................148
Special functions
12 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Table of contents
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 13
Table of contents
5.2.1 General................................................................................................................................191
5.2.1.1 Overview..............................................................................................................................191
5.2.1.2 Structure of the system variables.........................................................................................192
5.2.2 Machine data........................................................................................................................193
5.2.2.1 Maximum number of elements.............................................................................................193
5.2.2.2 Root element........................................................................................................................193
5.2.2.3 Maximum number of switches..............................................................................................193
5.2.3 System variables, all transformations types.........................................................................194
5.2.3.1 Overview..............................................................................................................................194
5.2.3.2 $NK_NAME..........................................................................................................................195
5.2.3.3 $NK_NEXT...........................................................................................................................196
5.2.3.4 $NK_PARALLEL..................................................................................................................196
5.2.3.5 $NK_TYPE...........................................................................................................................197
5.2.3.6 Type-dependent variables for $NK_TYPE = "AXIS_LIN".....................................................198
5.2.3.7 Type-dependent variables for $NK_TYPE = "AXIS_ROT"...................................................201
5.2.3.8 Type-dependent variables for $NK_TYPE = "ROT_CONST"...............................................205
5.2.3.9 Type-dependent variables for $NK_TYPE = "OFFSET"......................................................207
5.2.3.10 Type-dependent variables for $NK_TYPE = "SWITCH"......................................................208
5.2.3.11 $NK_SWITCH......................................................................................................................210
5.2.4 System variables, additive for orientation transformations...................................................211
5.2.4.1 Overview..............................................................................................................................211
5.2.5 System variables, additive for face transformation (TRANSMIT).........................................212
5.2.5.1 Overview..............................................................................................................................212
5.3 Programming........................................................................................................................213
5.3.1 Deletion of components (DELOBJ)......................................................................................213
5.3.2 Index determination by means of names (NAMETOINT).....................................................216
5.4 Example...............................................................................................................................217
5.4.1 Specifications.......................................................................................................................217
5.4.2 Part program of the machine model.....................................................................................219
5.5 Data lists..............................................................................................................................222
5.5.1 Machine data........................................................................................................................222
5.5.1.1 NC-specific machine data....................................................................................................222
5.5.2 System variables..................................................................................................................222
6 K8: Geometric machine modeling - only 840D sl.....................................................................................223
6.1 Function description.............................................................................................................223
6.1.1 Features...............................................................................................................................223
6.1.2 Automatic tool protection areas............................................................................................226
6.2 Commissioning.....................................................................................................................229
6.2.1 General................................................................................................................................229
6.2.1.1 Overview..............................................................................................................................229
6.2.1.2 Structure of the system variables.........................................................................................229
6.2.1.3 Color chart............................................................................................................................231
6.2.2 Machine data........................................................................................................................232
6.2.2.1 Maximum number of protection areas..................................................................................232
6.2.2.2 Maximum number of protection area elements for machine protection areas.....................232
6.2.2.3 Maximum number of protection area elements for automatic tool protection areas............232
6.2.2.4 Maximum number of NC/PLC interface signals for the preactivation of protection areas....232
6.2.2.5 Maximum number of triangles for machine protection areas...............................................232
6.2.2.6 Maximum number of triangles for automatic tool protection areas......................................232
Special functions
14 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Table of contents
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 15
Table of contents
Special functions
16 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Table of contents
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 17
Table of contents
Special functions
18 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Table of contents
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 19
Table of contents
Special functions
20 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Table of contents
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 21
Table of contents
Special functions
22 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Table of contents
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 23
Table of contents
Special functions
24 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Table of contents
19.3 Startup..................................................................................................................................730
19.3.1 Activation..............................................................................................................................730
19.3.2 Definition of the RESU working plane..................................................................................730
19.3.3 Memory configuration: Block memory..................................................................................730
19.3.4 Memory configuration: Heap memory..................................................................................731
19.3.5 RESU main program memory area......................................................................................732
19.3.6 Storage of the RESU subroutines........................................................................................733
19.3.7 ASUB enable........................................................................................................................733
19.3.8 PLC user program................................................................................................................734
19.4 Programming........................................................................................................................735
19.4.1 RESU Start/Stop/Reset (CC_PREPRE)...............................................................................735
19.5 RESU-specific part programs...............................................................................................736
19.5.1 Overview..............................................................................................................................736
19.5.2 Main program (CC_RESU.MPF)..........................................................................................737
19.5.3 INI program (CC_RESU_INI.SPF).......................................................................................738
19.5.4 END program (CC_RESU_END.SPF).................................................................................740
19.5.5 Retrace support ASUB (CC_RESU_BS_ASUP.SPF)..........................................................740
19.5.6 RESU ASUB (CC_RESU_ASUP.SPF)................................................................................741
19.6 Retrace support....................................................................................................................742
19.6.1 General information..............................................................................................................742
19.6.2 Block search with calculation on contour.............................................................................742
19.6.3 Reposition............................................................................................................................743
19.6.4 Temporal conditions concerning NC start............................................................................744
19.6.5 Block search from last main block........................................................................................745
19.7 Function-specific display data..............................................................................................746
19.7.1 Channel-specific GUD variables..........................................................................................746
19.8 Function-specific alarm texts................................................................................................747
19.9 Boundary conditions.............................................................................................................747
19.9.1 Function-specific supplementary conditions........................................................................747
19.9.1.1 Continue machining within subprograms.............................................................................747
19.9.1.2 Continue machining within program loops...........................................................................748
19.9.1.3 Machining continuation on full circles...................................................................................748
19.9.1.4 Automatically generated contour elements..........................................................................748
19.9.2 Supplementary conditions for standard functions................................................................749
19.9.2.1 Axis replacement..................................................................................................................749
19.9.2.2 Traversing movements of the channel axes........................................................................749
19.9.2.3 Block numbers.....................................................................................................................749
19.9.2.4 Block search.........................................................................................................................750
19.9.2.5 Transformations...................................................................................................................750
19.9.2.6 Compensations....................................................................................................................750
19.9.2.7 Frames.................................................................................................................................751
19.9.2.8 Tool offsets...........................................................................................................................751
19.10 Data lists..............................................................................................................................752
19.10.1 Machine data........................................................................................................................752
19.10.1.1 General machine data..........................................................................................................752
19.10.1.2 Channelspecific machine data.............................................................................................752
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 25
Table of contents
Special functions
26 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Table of contents
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 27
Table of contents
Special functions
28 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Table of contents
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 29
Table of contents
Special functions
30 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Fundamental safety instructions 1
1.1 General safety instructions
WARNING
Risk of death if the safety instructions and remaining risks are not carefully observed
If the safety instructions and residual risks are not observed in the associated hardware
documentation, 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
Danger to life or malfunctions of the machine as a result of incorrect or changed
parameterization
As a result of incorrect or changed parameterization, machines can malfunction, which in turn
can lead to injuries or death.
● Protect the parameterization (parameter assignments) against unauthorized access.
● Respond to possible malfunctions by applying suitable measures (e.g. EMERGENCY
STOP or EMERGENCY OFF).
Note
Industrial security
Siemens provides products and solutions with industrial security functions that support the
secure operation of plants, solutions, machines, equipment and/or networks. They are
important components in a holistic industrial security concept. With this in mind, Siemens’
products and solutions undergo continuous development. Siemens recommends strongly that
you regularly check for product updates.
For the secure operation of Siemens products and solutions, it is necessary to take suitable
preventive action (e.g. cell protection concept) and integrate each component into a holistic,
state-of-the-art industrial security concept. Third-party products that may be in use should also
be considered. For more information about industrial security, visit this address (http://
www.siemens.com/industrialsecurity).
To stay informed about product updates as they occur, sign up for a product-specific
newsletter. For more information, visit this address (http://support.automation.siemens.com).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 31
Fundamental safety instructions
1.2 Industrial security
WARNING
Danger as a result of unsafe operating states resulting from software manipulation
Software manipulation (e.g. by viruses, Trojan horses, malware, worms) can cause unsafe
operating states to develop in your installation which can result in death, severe injuries and/
or material damage.
● Keep the software up to date.
You will find relevant information and newsletters at this address (http://
support.automation.siemens.com).
● Incorporate the automation and drive components into a holistic, state-of-the-art industrial
security concept for the installation or machine.
You will find further information at this address (http://www.siemens.com/
industrialsecurity).
● Make sure that you include all installed products into the holistic industrial security concept.
Special functions
32 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations 2
2.1 Brief description
Note
The transformations described below require that individual names are assigned to machine
axes, channels and geometry axes when the transformation is active. Compare macchine data:
MD10000 $MN_AXCONF_MACHAX_NAME_TAB (machine axis name)
MD20080 $MC_AXCONF_CHANAX_NAME_TAB (name of the channel axis in the channel)
MD20060 $MC_AXCONF_GEOAX_NAME_TAB (name of the geometry axis in the channel)
Besides this no unambiguous assignments are present.
Function
The "5-Axis Transformation" machining package is designed for machining sculptured
surfaces that have two rotary axes in addition to the three linear axes X, Y, and Z. This package
thus allows an axially symmetrical tool (milling cutter, laser beam) to be oriented in any desired
relation to the workpiece in the machining space.
The path and path velocity are programmed in the same way as for 3-axis tools. The tool
orientation is programmed additionally in the traversing blocks.
The real-time transformation performs the calculation of the resulting motion of all 5 axes. The
generated machining programs are therefore not machine specific. Kinematic-specific post-
processors are not used for the 5-axis machining operation.
A selection of various transformations is available for adapting the control to various machine
kinematics. Part program commands can be issued in operation to switch over between two
transformations parameterized during start-up.
This package therefore covers the three possible basic machine configurations which differ in
terms of tool and workpiece orientation:
● Orientation of tool with two-axis swivel head (machine type 1)
● Orientation of workpiece with two-axis rotary table (machine type 2)
● Orientation of workpiece and tool with single-axis rotary table and swivel head (machine
type 3)
The calculation also includes tool length compensation.
Since the orientation in relation to the workpiece surface is stored in a separate FRAME, a tool
retraction operation with vertical orientation to the workpiece is also possible.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 33
F2: Multi-axis transformations
2.1 Brief description
Tool orientation
Tool orientation can be specified in two ways:
● Machine-related orientation
The machine-related orientation is dependent on the machine kinematics.
● Workpiece-related orientation
The workpiece-related orientation is not dependent on the machine kinematics.
It is programmed by means of:
– Euler angles
– RPY angles
– Vector components
The direction of the tool is described in the workpiece coordinate system with the part
orientation. It is possible to program a specific component of the tool in its orientation to
the workpiece. In most cases, this will be a longitudinal axis of the tool with the tool tip (Tool
Center Point, TCP), which is also referred to as TCP-programming.
Special functions
34 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.1 Brief description
Function
The 3- and 4-Axis transformations are distinguished by the following characteristics:
Transformation Features
3-axis Transformation 2 linear axes
1 rotary axis
4-Axis transformation 3 linear axes
1 rotary axis
Both types of transformation belong to the orientation transformations. Orientation of the tool
must be programmed explicitly. The orientation of the tool is executed in a plane perpendicular
to the rotary axis.
] ]
% %
= =
< <
[
[
; ;
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 35
F2: Multi-axis transformations
2.1 Brief description
]
=
<
Function
The orientation transformation with swiveling linear axis is similar to the 5-axis transformation
of Machine Type 3, though the 3rd linear axis is not always perpendicular to the plane defined
by the other two linear axes.
Features of kinematics
● Kinematics with three linear axes and two orthogonal rotary axes.
● Rotary axes are parallel to two of the three linear axes.
● The first rotary axis is moved by two Cartesian linear axes. It rotates the third linear axis,
which moves the tool. The tool is aligned parallel to the third linear axis.
● The second rotary axis rotates the workpiece.
● The kinematics comprise a moved workpiece and a moved tool.
The following figure shows the interrelations for one of the possible axis sequences, for which
transformation is possible.
Special functions
36 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.1 Brief description
6ZLYHOLQJOLQHDUD[LV
=
5RWDU\D[LV
ZRUNSLHFH
/LQHDUD[LV
5RWDU\D[LV
;
<
%
/LQHDUD[LV
0DFKLQH]HUR
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 37
F2: Multi-axis transformations
2.1 Brief description
Function
A machine tool with a universal milling head has got at least 5 axes:
● 3 linear axes
– for linear movement [X, Y, Z]
– move the machining point to any random position in the working area
● 2 rotary swivelling axes
– are arranged under a configurable angle (mostly 45 Degree)
– enable the tool to define orientations in space
(are limited to a hemisphere in a 45 degree arrangement)
$D[LV
&D[LV
7RROD[LV
Figure 2-4 Schematic diagram of a machine tool with universal milling head
Special functions
38 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.1 Brief description
Real-time transformation
The Cartesian coordinates are converted from basic to machine coordinate system by means
of a real-time transformation process.
These Cartesian coordinates comprise:
● Geometry axes
Geometry axes describe the machining point.
● Orientation axes
Orientation axes describe the orientation of a tool in space.
Tool orientation
You can define the orientation of the tool in space as follows using linear interpolation, large
circle interpolation and by means of orientation vectors:
● Direct programming of rotary axis positions A, B, C
5-axis transformation by programming:
– The Euler- or RPY angle in degrees through A2,B2,C2
or
– The direction vector over A3,B3,C3
● Programming using lead angle LEAD and tilt angle TILT
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 39
F2: Multi-axis transformations
2.1 Brief description
Function
The "Cartesian Manual Operation" function can be used to set one of the following coordinate
systems as reference system for JOG motion to be selected separately for translation and
orientation as:
● Basic coordinate system (BCS)
● Workpiece coordinate system (WCS)
● Tool coordinate System (TCS)
Function
The "Cartesian PTP Travel" [PTP = Point-to-point movement (Point to Point)] function can be
used to program a position in a cartesian coordinate system (workpiece coordinate system).
The machine however moves in its machine coordinates.
The function can be used, for example, to traverse a singularity. Cartesian positions, supplied
by a CAD system, need not been converted to machine axis values.
It must also be noted that axes take longer to traverse in the Cartesian coordinate system with
active transformation and programmed feedrate than when they are traversed directly.
Function
The generic 5-axis transformation function differs from earlier 5-axis transformation versions
insofar as it is no longer restricted with respect to the directions of rotary axes.
The basic orientation of the tool is no longer predefined in machine data as was the case in
earlier versions of orientation transformations, but can now be programmed freely.
Function
The system variable $AA_TOFF[ ] can be used to overlay the effective tool lengths in 3-D in
runtime. For an active orientation transformation (TRAORI) or for an active tool carrier that can
be oriented, these offsets are effective in the particular tool axes.
Special functions
40 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.2 5-axis transformation
If the tool orientation changes, the tool length offsets that apply are rotated so that the pivot
point for the orientation movement always refers to the corrected tool tip.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 41
F2: Multi-axis transformations
2.2 5-axis transformation
Fields of application
The "5-axis transformation" machining package is provided for machine tools, which have two
additional rotary axes (rotation about the linear axes) in addition to three linear axes X, Y and
Z: This package thus allows an axially symmetrical tool (milling cutter, laser beam) to be
oriented in any desired relation to the workpiece in every point of the machining space.
The workpiece is always programmed in the rectangular workpiece coordinate system; any
programmed or set frames rotate and shift this system in relation to the basic system. The
kinematic transformation then converts this information into motion commands of the real
machine axes.
The kinematic transformation requires information about the design (kinematics) of the
machine, which are stored in machine data.
The kinematic transformation does not act on positioning axes.
Special functions
42 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.2 5-axis transformation
2
; 7RROWDEOHFDQEH 7RROWDEOHFDQEH
URWDWHGDERXW= URWDWHGDERXW;D[LV
= D[LV = DQG=D[LV
& & <
7RROWDEOHIL[HG 2
;
Note
Transformations that do not fulfill all the conditions mentioned here (3 and 4-axis
transformations, orientation transformation with swivelling linear axes, universal milling
head) are described in separate sub chapters.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 43
F2: Multi-axis transformations
2.2 5-axis transformation
Machine type
The machine types have been designated above as types 1 to 3 and are stored in the following
machine data as a two-digit number:
MD24100 $MC_TRAFO_TYPE_1 (definition of channel transformation 1)
...
MD24480 $MC_TRAFO_TYPE_10 (definition of channel transformation 10)
The following table contains a list of machine types, which are suitable for 5-axis transformation.
BA 18 34 50
BC x 35 51
CA 20 x x
CB 21 x x
Combinations that are not meaningful, whose C-axis corresponds to a rotation of the tool about its
longitudinal axis (symmetry axis), are marked by x.
Axis assignment
The axis assignment at the start of the 5-axis transformation defines the axis that will be
mapped by the transformation internally onto a channel axis. Thus, the following is defined in
the machine data below:
MD24110 $MC_TRAFO_AXES_IN_1 (Axis assignment for transformation 1)
...
MD24482 $MC_TRAFO_AXES_IN_10 (Axis assignment for transformation 10)
Geometry information
Information concerning machine geometry is required so that the 5-axis transformation can
calculate axis values: This information is stored in the machine data (in this case, for the first
transformation in the channel):
Special functions
44 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.2 5-axis transformation
%
9HFWRUFRPSRQHQWVRIWKHODVW
URWDU\MRLQWRIWDEOHWR]HUR
SRLQWRIWDEOH
&
● for machine type 3 (single-axis swivel head and single-axis rotary table)
Vector from joint of table to zero point of table
MD24560 $MC_TRAFO5_JOINT_OFFSET_1 (vector of the kinematic offset of 5-axis
transformation 1)
Vector from the first to the second swivel joint (machine type 1 and 2)
Vector from machine zero point to the swivel joint of the table (machine type 3)
MD24510 $MC_TRAFO5_ROT_AX_OFFSET_1 (position offset of rotary axes 1/2/3 5-axis
transformation 1) angle offset of the first or second rotary axis
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 45
F2: Multi-axis transformations
2.2 5-axis transformation
',1V\PEROIRUURWDU\D[LV
&
$
$ MR
&
WR
W WR
PR [
W
PR
[
= SR =HURSRLQW
ZRUNSLHFHWDEOH
SR
0DFKLQH]HUR
;
<
Special functions
46 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.2 5-axis transformation
',1V\PEROIRUURWDU\D[LV
WR
PR W
[
=HURSRLQW
ZRUNSLHFHWDEOH
&
SR
=
% %
MR
0DFKLQH]HUR
<
;
&
',1V\PEROIRUURWDU\D[LV
$
$ WR
W
PR
=HURSRLQW
ZRUNSLHFHWDEOH [
SR
=
&
0DFKLQH]HUR
MR
&
;
<
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 47
F2: Multi-axis transformations
2.2 5-axis transformation
Transformation types
Ten transformation types per channel can be configured in the following machine data:
MD24100 $MC_TRAFO_TYPE_1 ...MD24480 $MC_TRAFO_TYPE_10 (definition of
transformation 1 in channel … definition of transformation 10 in channel)
Of these eight types, a maximum of two may be 5-axis transformations.
Activation
Activation of the 5-axis transformation is described in the section "Activation and Application
of 3- to 5-axis Transformation".
$
% 7RROD[LV
3HULSKHUDOPLOOLQJ
=
<
;
Special functions
48 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.2 5-axis transformation
Programming
The orientation of the tool can be programmed in a block directly by specifying the rotary axes
or indirectly by specifying the Euler angle, RPY angle and direction vector. The following
options are available:
● directly as rotary axes A, B, C
● indirectly for 5-axis transformation:
via Euler or RPY angles in degrees via A2, B2, C2
● Indirectly for 5-axis transformation via direction vector A3, B3, C3
The identifiers for Euler angles and direction vectors can be set in machine data:
Euler angles via:
MD10620 $MN_EULER_ANGLE_NAME_TAB (name of Euler angles)
Direction vector via:
MD10640 $MN_DIR_VECTOR_NAME_TAB (name of direction vectors)
The tool orientation can be located in any block. Above all, it can be programmed alone in a
block, resulting in a change of orientation in relation to the tool tip which is fixed in its
relationship to the workpiece.
Euler or RPY
The following machine data can be used to switch between Euler and RPY angles:
MD21100 $MC_ORIENTATION_IS_EULER (angle definition for orientation programming)
Orientation reference
A tool orientation at the start of a block can be transferred to the block end in two different
ways:
● in the workpiece coordinate system with command ORIWKS
● in the machine coordinate system with command ORIMKS
ORIWKS command
The tool orientation is programmed in the workpiece coordinate system (WCS) and is thus not
dependent on the machine kinematics.
In the case of a change in orientation with the tool tip at a fixed point in space, the tool moves
along a large arc on the plane stretching from the start vector to the end vector.
ORIMKS command
The tool orientation is programmed in the machine coordinate system and is thus dependent
on the machine kinematics.
In the case of a change in orientation of a tool tip at a fixed point in space, linear interpolation
takes place between the rotary axis positions.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 49
F2: Multi-axis transformations
2.2 5-axis transformation
2ULHQWDWLRQ =
¡
2ULHQWDWLRQ
)
)
$
;
%
<
0DFKLQHWKHVXUIDFH)DORQJWKHHGJHRI)
5HWUDFW
&KDQJHLQRULHQWDWLRQ%¡$¡
$SSURDFKWKHVXUIDFH)
0DFKLQLQJRIWKHVXUIDFH)DORQJWKHHGJHRI)
Special functions
50 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.2 5-axis transformation
¡
¡
¡
=
;
ZLWK25,:.6
ODUJHFLUFOH
ZLWK25,0.6OLQHDULQWHUSRODWLRQ
EHWZHHQURWDU\D[HV
<
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 51
F2: Multi-axis transformations
2.2 5-axis transformation
Alarm 17630 or 17620 is output for G74 and G75 if a transformation is active and the axes to
be traversed are involved in the transformation. This applies irrespective of orientation
programming.
If the start and end vectors are inverse parallel when ORIWKS is active, then no unique plane
is defined for the orientation programming, resulting in the output of alarm 14120.
If a transformation switch (switch On, switch Off or change transformation) is undertaken, alarm
14400 will be generated.
In the reverse situation, i.e. a tool radius offset is selected or deselected when a transformation
is active, no alarm message is output.
If tool orientation is entered multiply, i.e. with direction vectors and with Euler angles, error
message 12240 "Channel X block Y tool orientation xx defined more than once" is displayed
and the NC part program stops.
Note
Further explanations of tool orientation using orientation vectors and their handling in machines
are given in:
Reference:
Function Manual, Basic Machine; Tool Offset; Orientable Toolholders (W1)
Special functions
52 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.2 5-axis transformation
Alarm 10910 "Irregular velocity run in a path axis" is then triggered. The programmed velocity
is then reduced to a value, which does not exceed the maximum axis velocity.
Behavior at pole
Unwanted behavior of fast compensating movements can be controlled by making an
appropriate selection of the following machine data (see following Figure):
● MD24530 $MC_TRAFO5_NON_POLE_LIMIT_1 (definition of pole area for 5-axis
transformation 1)
● MD24630 $MC_ TRAFO5_NON_POLE_LIMIT_2 (definition of pole area for 5-axis
transformation 2)
● MD24540 $MC_TRAFO5_POLE_LIMIT_1 (closing angle tolerance for interpolation by pole
for 5-axis transformation)
● MD24640 $MC_TRAFO5_POLE_LIMIT_2 (closing angle tolerance for interpolation by pole
for 5-axis transformation)
Note
Singularities are dealt with differently in SW 5.2 and higher: Only one relevant machine
data item exists, $MC_TRAFO5_POLE_LIMIT (see Section "Singularities of orientation
(Page 85)" or "Programming Manual, Production Planning).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 53
F2: Multi-axis transformations
2.2 5-axis transformation
of the pole, a deviation is made from the specified path because the interpolation runs exactly
through the pole point.
● MD24530 $MC_TRAFO5_NON_POLE_LIMIT_1
● MD24630 $MC_TRAFO5_NON_POLE_LIMIT_2
As a result, the position at the end point of the fourth axis (pole axis) deviates from the
programmed value.
This machine data specifies the angle by which the pole axis may deviate from the programmed
value with a 5-axis transformation if a switchover is made from the programmed interpolation
to interpolation through the pole point. In the case of a greater deviation, an error message is
output and the interpolation is not executed.
0'0&B75$)2B32/(B/,0,7B
D
,QWHUSRODWHG 3URJUDPPHG
SDWK SDWK
WKD[LV5$
0'
0&B75$)2B121B32/(B/,0,7B
WKD[LV5$
Figure 2-13 5-axis transformation; orientation path in pole vicinity. Example for machine type 1: 2-axis
swivel head with rotary axis RA 1 (4th axis of transformation) and rotary axis RA 2 (5th
axis of transformation)
Special functions
54 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.3 3-axis and 4-axis transformations
Does not define the treatment of changes in orientation during large circle interpolation unless
the starting orientation is equal to the pole orientation or approximates to it and the end
orientation of the block is outside the tolerance circle defined in the following machine data.
● MD24530 $MC_TRAFO5_NON_POLE_LIMIT_1
● MD24630 $MC_TRAFO5_NON_POLE_LIMIT_2
The position of the polar axis is arbitrary in the polar position. For the large circle interpolation,
however, a specified orientation is required for this axis.
The following machine data is coded decimally.
MD21108 $MC_POLE_ORI_MODE
The units define the behavior if start orientation coincides with pole position and the decade
the behavior if start orientation is within the tolerances defined by the following machine data:
● MD24530 $MC_TRAFO5_NON_POLE_LIMIT_1
● MD24630 $MC_TRAFO5_NON_POLE_LIMIT_2
All setting values are described in "Channel-specific Machine Data".
Introduction
3-axis and 4-axis transformations are special types of the 5-axis transformation initially
described. Orientation of the tool is possible only in the plane perpendicular to the rotary axis.
The transformation supports machine types with movable tool and movable workpiece.
Kinematics variants
The variants specified in the following table apply both for 3-axis and 4-axis transformations.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 55
F2: Multi-axis transformations
2.4 Transformation with swiveled linear axis
Zero position
Tool orientation at zero position is the position of the tool with G17 as the active working plane
and position of the rotary axis at 0 degrees.
Axis assignments
The three translatory axes included in the transformation are assigned to any channel axes
via machine data $MC_TRAFO_GEOAX_ASSIGN_TAB_n[0..2] and
$MC_TRAFO_AXES_IN_n[0..2]. The following must apply for the assignment of channel axes
to geometry axes for the transformation:
$MC_TRAFO_GEOAX_ASSIGN_TAB_n[0] = $MC_TRAFO_AXES_IN_n[0]
$MC_TRAFO_GEOAX_ASSIGN_TAB_n[1] = $MC_TRAFO_AXES_IN_n[1]
$MC_TRAFO_GEOAX_ASSIGN_TAB_n[2] = $MC_TRAFO_AXES_IN_n[2]
The axes with corresponding index must be assigned to each other.
General information
The "transformation with swiveling linear axis forms" a transformation group of its own. It can
be used when a kinematic as described in the Section "Orientation transformation with a
swiveling linear axis. (Page 36)" is present:
● Three Cartesian linear axes (X, Y, Z) and two orthogonal rotary axes (A, B).
● The rotary axes are parallel to two of the three linear axes.
Special functions
56 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.4 Transformation with swiveled linear axis
● The first rotary axis (A) is moved by two Cartesian linear axes. It rotates the third linear axis
(Z) that moves the tool.
● The tool is aligned parallel to the third linear axis (Z).
● The second rotary axis (B) rotates the workpiece.
Additional requirement:
● The first rotary axis (A) may only sweep a very small swivel range (swivel range << ± 90°).
Note
All the axis values used in the text relate to the designations of the example machine in the
following figure "Machine with swiveling linear axis Z"
6ZLYHOLQJOLQHDUD[LV
=
5RWDU\D[LV
ZRUNSLHFH
/LQHDUD[LV
5RWDU\D[LV
;
<
%
/LQHDUD[LV
0DFKLQH]HUR
Pole
The transformation with swiveling linear axis has a pole for a tool orientation parallel to the
second rotary axis (B). Singularity occurs in the pole position because the third linear axis (Z)
is parallel to the plane of the first two linear axes (X, Y), thus excluding the possibility of
compensating movements perpendicular to this plane.
Parameterization
Kinematic variants
The kinematic variant of the machine is set in the machine data:
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 57
F2: Multi-axis transformations
2.4 Transformation with swiveled linear axis
Kinematics <type>
1. Rotary axis 2. rotary axis swiveled linear axis Bits 6 - 0
A B Z 10,00 000
A C Y 10,00 001
B A Z 10,00 010
B C X 10,00 011
C A Y 10,00 100
C B X 10,00 101
Machine kinematics
The machine kinematics is set for the 1st ($MC_TRAFO5 ... _1) and/or 2nd ($MC_TRAFO5 ...
_2) 5-axis transformation in the channel set with the following machine data:
● Vector (po, see following figure) from the second rotary axis to workpiece table zero:
– MD24500 $MC_TRAFO5_PART_OFFSET_1
– MD24600 $MC_TRAFO5_PART_OFFSET_2
● Axis positions of the two rotary axes at the initial position of the machine:
– MD24510 $MC_TRAFO5_ROT_AX_OFFSET_1
– MD24610 $MC_TRAFO5_ROT_AX_OFFSET_2
● Sign with which the rotary axis positions are included in the transformation:
– MD24520 $MC_TRAFO5_ROT_SIGN_IS_PLUS_1
– MD24620 $MC_TRAFO5_ROT_SIGN_IS_PLUS_2
● Vector (jo) from machine zero to the second rotary axis:
– MD24560 $MC_TRAFO5_JOINT_OFFSET_1
– MD24660 $MC_TRAFO5_JOINT_OFFSET_2
● Vector (to) from the toolholder (flange) to the first rotary axis (measured at machine initial
position):
– MD24550 $MC_TRAFO5_BASE_TOOL_1
– MD24650 $MC_TRAFO5_BASE_TOOL_2
● Vector (ro) from machine zero to the first rotary axis (measured at the machine initial
position):
– MD24562 $MC_TRAFO5_TOOL_ROT_AX_OFFSET_1
– MD24662 $MC_TRAFO5_TOOL_ROT_AX_OFFSET_2
Special functions
58 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.4 Transformation with swiveled linear axis
Note
Requirement
The machine has been traversed so that the toolholding flange aligns with the table zero (*).
Is this is technically not possible, vector to must be corrected by the deviations.
9LHZDORQJ;D[LV
5RWDU\D[LVWKDWVZLYHOV
WKHUGOLQHDUD[LV=
UR WR
7DEOH]HUR
SR
5RWDU\D[LVRIWDEOH
=
MR
0DFKLQH]HUR
; <
9LHZDORQJ=D[LV
= <
5RWDU\D[LVWKDWVZLYHOVWKHUGOLQHDUD[LV=
=
WR
:RUNSLHFH]HURRQWDEOH
UR
; SR
MR
0DFKLQH]HUR 5RWDU\D[LVRIWDEOH
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 59
F2: Multi-axis transformations
2.4 Transformation with swiveled linear axis
Note
A physically identical point on the 1st rotary axis (e.g. point of intersection between the tool
axis and the 1st rotary axis) must be assumed for both views.
6ZLYHOLQJOLQHDUD[LV
=
5RWDU\D[LV
ZRUNSLHFH
/LQHDUD[LV
5RWDU\D[LV
;
<
%
/LQHDUD[LV
0DFKLQH]HUR
$[LVRIWKHWRRO
)L[WXUH
6WDWRU
9LHZRSSRVLWHWKH;D[LV
WR
5RWDU\D[LVRIWKHWDEOH
7DEOH
=
SR
<
UR] UR ;
MR
0DFKLQH]HUR
Figure 2-17 Front view: Vectors for machine in the zero position
Special functions
60 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.4 Transformation with swiveled linear axis
6ZLYHOD[LVRIWKH
OLQHDUD[LV
9LHZRSSRVLWHWKH=D[LV
= <
5RWDU\D[LVRIWKHWDEOH
SR WR
=
MR UR
MR [
MR \
0DFKLQH]HUR
Figure 2-18 Top view: Vectors for machine in the zero position
Note
For the appropriate machine geometry or position of the machine zero, both individual
components as well as complete vectors can become zero.
Programming
The switch on/off of the transformation in the part program or synchronized action is described
in Section "Programming of the 3- to 5-axis transformation (Page 66)".
Tool orientation
For a transformation with swiveling linear axis, the same statements as for the 5-axis
transformation with regard to the tool orientation apply similarly (see Section "Tool
orientation (Page 48)").
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 61
F2: Multi-axis transformations
2.5 Cardan milling head
Note
The following description of the cardan milling head transformation has been formulated on
the assumption that the reader has already read and understood the general 5-axis
transformation described in Section "5-axis transformation (Page 41)". Please note that where
no specific statements relating to the cardan milling head are made in the following section,
the statements relating to general 5-axis transformation apply.
Applications
A cardan milling head is used for machining contours of sculptured parts at high feedrates. An
excellent degree of machining accuracy is achieved thanks to the rigidity of the head.
C
ϕ
A’
C A’
z
y
tool tool
Special functions
62 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.5 Cardan milling head
Tool orientation
Tool orientation at zero position can be specified as follows:
● parallel to the first rotary axis or
● perpendicular to it, and in the plane of the specified axis sequence
Types of kinematics
The axis sequence of the rotary axes and the orientation direction of the tool at zero position
are set for the different types of kinematics using the following machine data:
$MC_TRAFO_TYPE_1 ... $MC_TRAFO_TYPE_10
Angle definition
&
ϕ
=
$
<
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 63
F2: Multi-axis transformations
2.5 Cardan milling head
Axis A' is positioned in the plane spanned by the rectangular axes of the designated axis
sequence. If, for example, the axis sequence is CA', then axis A' is positioned in plane Z-X.
The angle φ then is the angle between axis A' and the X axis.
2.5.2 Parameterization
Special functions
64 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.5 Cardan milling head
BC' / B'C - x x - x x - - -
011
CA' / C'A x - x - - - - - -
100
CB' / C'B - x x - - - - - -
101
1) Orientation of the tool in the zero position: Bits 3 - 4
x: Transformation type can be set
-: Transformation type cannot be set
Other settings
The geometry information used by the cardan milling head transformation for calculation of
the axis values is set in the same way as that of the other 5-axis transformations.
JOG
In JOG mode, the linear axes can be traversed normally. It is, however, difficult to set the
orientation correctly by traversing these axes.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 65
F2: Multi-axis transformations
2.6 Programming of the 3- to 5-axis transformation
Switch on
The 3- to 5-axis transformations, including the transformations with swiveled linear axis and
cardan milling head, are enabled with the TRAORI(<transformation-no.>) command.
The enable of the transformation sets the NC/PLC interface signal:
DB21, ... DBX33.6 = 1 (transformation active)
Deactivation
With the TRAFOOF command disables the currently active 3- to 5-axis transformation. The
disable of the transformation resets the NC/PLC interface signal:
DB21, ... DBX33.6 = 0 (transformation inactive)
Switch-over
If a transformation is already active in the channel, the TRAORI(<transformation-no.>)
with a new transformation number command can be used to switch to another transformation.
<value> Meaning
0 Initial setting for active transformation after reset / program end according to $MC_TRA‐
FO_RESET_VALUE
1 The active transformation remains active over reset / program end
Option
The "5-axis transformation" function, together with its special forms, is an option.
References
A detailed description of the machine data can be found in:
Parameter Manual, Detailed Machine Data Description
Special functions
66 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.7 Generic 5-axis transformation and variants
2.7.1 Functionality
Scope of functions
The scope of functions of generic 5-axis transformation covers implemented 5-axis
transformations (see Section "5-axis transformation (Page 41)") for perpendicular rotary axes
as well as transformations for the cardan milling head (one rotary axis parallel to a linear axis,
the second rotary axis at any angle to it, see Section "Cardan milling head (Page 62)").
Applications
In certain cases, it may not be possible to compensate the conventional transformation
machine accuracy, e.g. if:
● the rotary axes are not exactly mutually perpendicular or
● one of the two rotary axes is not positioned exactly parallel to the linear axes
In such cases, generic 5-axis transformation can produce better results.
Programming example
for generic 5-axis transformation is shown in Section "Example for Generic 5-axis
Transformation".
Activation
Generic 5-axis transformation can also be activated like any other orientation transformation
using the TRAORI() or TRAORI(n) command (where n is the number of the transformation).
Furthermore, the basic transformation can be transferred in the call in three other parameters,
e.g. TRAORI(1, 1.1, 1.5, 8.9).
A transformation can be deselected implicitly by selecting another transformation or explicitly
with TRAFOOF.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 67
F2: Multi-axis transformations
2.7 Generic 5-axis transformation and variants
Machine types
Like the existing 5-axis transformations, there are three different variants of generic 5-axis
transformation:
1. Machine type: Rotatable tool
Both rotary axes change the orientation of the workpiece. The orientation of the workpiece
is fixed.
2. Machine type: Rotatable workpiece
Both rotary axes change the orientation of the workpiece. The orientation of the tool is fixed.
3. Machine type: Rotatable tool and rotatable workpiece - one rotary axis changes the tool
orientation and the other the workpiece orientation.
Configurations
As previously, the machine configurations are defined in the following machine data (see
Section "Configuration of a machine for 5-axis transformation (Page 43)"):
$MC_TRAFO_TYPE_1, ..., _8
Additional types have been introduced for generic 5-axis transformation:
Table 2-1 Overview of machine types for the generic 5-axis transformation
Machine type 1 2 3
Swivel/rotatable: tool workpiece Tool/workpiece
Transformation types 24 40 56
Special functions
68 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.7 Generic 5-axis transformation and variants
Extension
Generic orientation transformation for 5-axis transformation has been extended with the
following variants for 3-and 4-axis transformation:
Variant 1
4-axis transformations
A 4-axis transformation is characterized by the exclusive use of the first rotary axis as an entry
axis of the transformation. The following applies:
MD24110 $MC_TRAFO_AXES_IN_1[4] = 0 (axis assignment for transformation 1) or
MD24210 $MC_TRAFO_AXES_IN_2[4] = 0 (axis assignment for transformation 2)
Variant 2
3-axis transformations
In a 3-axis transformation, one of the geometry axes is not present, by entering a zero in the
field:
MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[n] (assignment between geometry axis
and channel axis for transformation 1)
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[n] (assignment between geometry axis
and channel axis for transformation 2)
Transformation types
Both variants of generic 3- or 4-axis transformation are described by the following
transformation types:
● 3- or 4-axis transformation with rotatable tool
$MC_TRAFO_TYPE_n = 24
● 3- or 4-axis transformation with rotatable workpiece
$MC_TRAFO_TYPE_n = 40
In conventional 3-axis or 4-axis transformations, the transformation type also defined the basic
tool orientation in addition to the position of the rotary axis, which could then no longer be
influenced.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 69
F2: Multi-axis transformations
2.7 Generic 5-axis transformation and variants
Effects on orientations
Generic 3-axis or 4-axis transformation has the following effect on the various orientations:
The resulting tool orientation is defined according to the hierarchy specified for generic 5-axis
transformation.
Priority:
● high: programmed orientation,
● medium: tool orientation and
● low: basic orientation
Allowance is made, in particular, for the following orientations:
● A programmed tool orientation
● A basic tool orientation, modified by orientable toolholders.
Note
Further information on programmable tool orientation and on basic tool orientation can be
found in:
Reference:
Function Manual, Basic Machine; Tool Offset; Orientable Toolholders (W1)
Programming Manual, Fundamentals
Comparison
Besides the 3- and 4-axis transformations mentioned in Section "3- and 4-axis
Transformations", the following differences should be noted:
● Position of the rotary axis:
– can be arbitrary
– need not be parallel to a linear axis
● Direction of the rotary axis
– Must be defined by the following machine data:
MD24570 $MC_TRAFO5_AXIS1_1[n] (direction first rotary axis) or
MD24670 $MC_TRAFO5_AXIS1_2[n] (direction first rotary axis)
● Basic tool orientation
– Must be defined by the following machine data:
MD24574 $MC_TRAFO5_BASE_ORIENT_1[n] (workpiece orientation) or
MD24674 $MC_TRAFO5_BASE_ORIENT_2[n] (workpiece orientation)
● Selection of a generic 3-/4-axis transformation
– Optional tool orientation can be transferred as in the case of a generic 5-axis
transformation.
Special functions
70 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.7 Generic 5-axis transformation and variants
Application
Machine types for which the table or tool can be rotated, can either be operated as true 5-axis
machines or as conventional machines with orientable toolholders. In both cases, machine
kinematics is determined by the same data, which, due to different parameters, previously had
to be entered twice - for toolholder via system variables and for transformations via machine
data. The new transformation type 72 can be used to specify that these two machine types
access identical data.
Transformation type 72
The following machine data can be used to define a generic 5-axis transformation for
transformation type 72 with kinematic data read from the data for an orientable toolholder.
MD24100 $MC_TRAFO_TYPE_1 (definition of transformation 1 in the channel) or
MD24200 $MC_TRAFO_TYPE_2 (definition of transformation 2 in the channel)
From this number data is made available via machine data MD24582
$MC_TRAFO5_TCARR_NO_1 (TCARR-Number for the first 5-axis transformation) for the first
or MD24682 $MC_TRAFO5_TCARR_NO_2 (TCARR-Number for the second 5-axis
transformation) for the second orientation transformation. The corresponding transformation
type can then be derived from the content of kinematic type with parameter $TC_CARR23 -
see following table.
Machine type 1 2 3 4
Swivel/ tool workpiece Tool/workpiece Type 3 or orienta‐
rotatable: ble toolholder
Kinematic type: T P M T, P, M
Transformation 24 40 56 72 from content of
type: $TC_CARR23
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 71
F2: Multi-axis transformations
2.7 Generic 5-axis transformation and variants
Note
The transformation only takes place if the orientable toolholder concerned is available and the
value of $TC_CARR23 contains a valid entry for type M, P or T kinematics in lower or upper
case.
Transformation machine data for the first orientation transformation listed in the tables below
are equally valid for the second orientation transformation. All other machine data that may
affect the transformation characteristics and do not appear in the tables below, remain valid
and effective:
MD24110/MD24210 $MC_TRAFO_AXES_IN_1/2 (axis assignment for transformation) or
MD24574/MD24674 $MC_TRAFO5_BASE_ORIENT_1/2 (basic tool orientation)
If in the tables below a second additive parameter appears in brackets for the parameters of
the orientable toolholder (e.g. $TC_CARR24 (+ $TC_TCARR64)), the sum of both values will
only be effective if the fine offset specified in setting data is active when the data is transferred
from the orientable toolholder.
SD42974 $SC_TOCARR_FINE_CORRECTION = TRUE (fine offset TCARR on/off)
Activation
The most significant parameter values of an orientable toolholder for a transformation can be
activated in the part program with NEWCONFIG. Alternatively, the machine data concerned
for transformation type 72 can be activated via the HMI user interface.
Special functions
72 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.7 Generic 5-axis transformation and variants
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 73
F2: Multi-axis transformations
2.7 Generic 5-axis transformation and variants
Example of parameterization
The first 5-axis transformation is to obtain its data from machine data and the second, in
contrast, is to be parameterized using the data from the 3rd orientable toolholder.
Special functions
74 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.7 Generic 5-axis transformation and variants
Application
With the maximum 3 linear axes and 2 rotary axes, the motion and direction of the tool in space
can be completely described with the generic 5-axis transformation. Rotations of the tool
around itself, as is important for a tool that is not rotation-symmetric or robots, require an
additional rotary axis. The previous generic 5-axis transformation will therefore be extended
by a 3rd rotary axis and further functions added.
● Extension to 3 linear axes and 3 rotary axes, i.e. 6 axes.
● General use of the generic orientation transformation with unchanged parameterization of
machine data.
● Cartesian manual travel also for the generic transformation.
Table 2-3 Overview of machine types for the generic 6-axis transformation
Machine type 1 2 3 4
swivel/rotatable tool workpiece Tool/ Tool/
workpiece workpiece
Transformation 24 40 56 57
types
Orientation in space, Unchanged. Unchanged. Tool by 2 axes, Tool by
rotation of the axes All three axes rotate All three axes rotate workpiece by one ro‐ one axis,
the tool the workpiece tary axis workpiece
by two ro‐
tary axes
In all four cases, the first rotary axis is the one which closest to the workpiece and the third
rotary axis the one which closest to the tool in the kinematic chain.
Note
The four specified transformation types only cover those kinematics in which the three linear
axes form a rectangular Cartesian coordinate system, i.e. no kinematics are covered in which
at least one rotary axis lies between two linear axes in the kinematic chain.
Dedicated machine data exist for each general transformation or for each orientation
transformation that are differentiated by the suffixes _1, _2 etc. (e.g. MD24100
$MC_TRAFO_TYPE_1, MD24200 $MC_TRAFO_TYPE_2 etc.). In the following, only the
names for the first transformation are specified, i.e. those with the suffix _1. If a transformation
other than the first is parameterized, the correspondingly modified names must be used.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 75
F2: Multi-axis transformations
2.7 Generic 5-axis transformation and variants
Configuration
For configuration of a 6-axis transformation the extensions of the following machine data are
required:
● The channel axis index of the 3rd rotary axis must be entered in the following machine data:
MD24110 $MC_TRAFO_AXES_IN_1[5] (axis assignment for transformation)
● The direction of the 3rd rotary axis must be specified in the following machine data:
MD24573 $MC_TRAFO5_AXIS3_1[0..2] (direction 3rd rotary axis)
● An orientation normal vector with a length not equal to zero and which is not parallel or anti-
parallel to the orientation vector defined in machine data MD24574
$MC_TRAFO5_BASE_ORIENT_1[0..2] (basic tool orientation), must be specified in
machine data MD24576 $MC_TRAFO6_BASE_ORIENT_NORMAL_1[0..2] (tool normal
vector).
The previous offsets (vector):
● MD24550 $MC_TRAFO5_BASE_TOOL_1[0..2]
(vector of the basic tool with activation of the 5-axis transformation) 1)
● MD24560 $MC_TRAFO5_JOINT_OFFSET_1[0..2]
(vector of the kinematic offset of 5-axis transformation 1)
● MD24558 $MC_TRAFO5_JOINT_OFFSET_PART_1[0..2]
(vector of kinematic offset in table)
● MD24500 $MC_TRAFO5_PART_OFFSET_1[0..2]
(translation vector 5-axis transformation 1)
The following machine data is added as new offset (vector), describing the offset between the
second and third rotary axis:
● MD24561 $MC_TRAFO6_JOINT_OFFSET_2_3_1[0..2]
(vector of kinematic offset)
Note
Existing machine data blocks are compatible for transfer, without any changes having to
be made in the machine data. The new machine data therefore do not have to be specified
for a 3-/4-/5-axis transformation.
Programming of orientation
With the extension of the generic orientation transformation to 6 axes, all three degrees of
freedom of the orientation can be freely selected. They can be uniquely defined through the
position of a rectangular Cartesian coordinate system. One axis direction, that of the third axis,
(typically in the Z direction) defines the orientation.
Two degrees of freedom are required for the specification of this direction. The third degree
of freedom is defined via a rotation around this direction, e.g. through the specification of an
angle THETA or a direction vector for one of the two other axes of the coordinate system, see
Section "Rotations of orientation vector (Page 117)").
The new addresses AN3, BN3, CN3 define the direction of the second axis, of the coordinate
system (typically the Y axis) of the orientation normal vector. The programmed orientation
Special functions
76 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.7 Generic 5-axis transformation and variants
normal vector should be perpendicular to the orientation and is only possible when both
programmed vectors are not parallel or anti-parallel. Otherwise, alarm 4342 is output.
The direction of the first axis, the X axis, is then uniquely defined.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 77
F2: Multi-axis transformations
2.7 Generic 5-axis transformation and variants
Note
The orientation vector of a tool can also be defined via system the variables $TC_DPV or
$TC_DPV3 - $TC_DPV5 in tool data - see Function Manual Basic Machine, Tool Corrections
(W1), Section: Sum and setup offsets.
This option is expanded in order to specify the orientation normal vector, using system
variables $TC_DPVN3 - $TC_DPVN5. The meaning of the vector components is similar to the
meaning of the components of the tool orientation:
$TC_DPVN3 is the component in the direction of tool length L1,
$TC_DPVN4 is the component in the direction of tool length L2,
$TC_DPVN5 is the component in the direction of tool length L3,
The following machine data must have the value 3 in order to allow the new tool parameters
to be used:
MD18114 $MN_MM_ENABLE_TOOL_ORIENT (assign orientation to tool cutting)
The coordinate system is not rotated through the programming of a rotation of the tool with
AN3, BN3, CN3 or THETA.
Programming example
See Section "Example of a generic 6-axis transformation (Page 139)".
Application
The generic 5-/6-axis transformation with transformation type 24 is extended by a 7th or 6th
axis, which rotates the workpiece. The work space of the transformation can be expanded in
this way.
Requirement
For generic 7-axis transformation there must be at least 6 or 7 axes.
Function
Another 7th axis is required in connection with the generic 6-axis transformation which rotates
the workpiece. This 7th axis is considered only along with transformation type 24 (generic 6-
axis transformation having 3 rotary axes that move the tool ).
The position of the 7th axis is specified according to a strategy of the CAD system and settled
with the Cartesian position (X, Y, Z) by the generic transformation in such a way that the axes
always approach the TCP position programmed with reference to the workpiece, independently
of the position of the 7th axis. If ORIWKS is active, the end orientation programmed with
Special functions
78 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.7 Generic 5-axis transformation and variants
reference to the workpiece is also rotated by the 7th axis. This way it is possible to program
the orientation in relation to the workpiece.
The transformation uses the 7th axis as the observed input variable.
To configure the 7th axis, the channel machine data of the 5-/6-axis transformation is extended
by one field containing the 3 components of the direction vector of the 7th axis and an axis
offset.
This gives the following advantages:
● The contour and the orientation at the workpiece can be programmed in relation to the
workpiece.
● The programmed feed is maintained in the contour, even if the 7th axis also moves.
● All the contour-related control functions can be used.
● The displayed WCS position corresponds to the programmed position.
● The transformation is configured as in generic 6-axis transformation. One can switch
between a 6-axis and a 7-axis transformation smoothly.
● In case of large radius circular interpolation, the release of singularities incorporating the
7th axis.
Notations
Dedicated machine data exist for each general transformation and for each orientation
transformation that are differentiated by the suffixes _1, _2 etc. (e.g. $MC_TRAFO_TYPE_1,
$MC_TRAFO_TYPE_2 etc.). In the following, only the names for the first transformation are
specified, i.e. those with the suffix _1. If a transformation other than the first is parameterized,
the correspondingly modified names must be used.
Note
The 7-axis transformation also covers kinematics in which the 6th axis is not available. In the
following pages, we speak exclusively about a 7th axis or about a 7-axis transformation, even
when it is actually the 6th axis in connection with a 5-axis kinematics.
The 7-axis transformation types only cover those kinematics in which the three linear axes
form a rectangular Cartesian coordinate system, i.e. no kinematics are covered in which at
least one rotary axis lies between two linear axes in the kinematic chain.
There is only one machine kinematics for which a 7th axis can be configured. It is designated
by the Transformation Type 24:
$MC_TRAFO_TYPE_1 = 24 Rotary tool: Three (or two) axes rotate the tool; the 7th axis rotates
the workpiece.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 79
F2: Multi-axis transformations
2.7 Generic 5-axis transformation and variants
The extensions of the following machine data are required to configure a generic 7-axis
transformation:
MR
$
&
MR
&
PR
WR
7RROUHODWHG (
SR ]HURSRLQW
0DFKLQH]HUR
Special functions
80 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.7 Generic 5-axis transformation and variants
Programming
1. Programming the Cartesian position
The position of the 7th axis must be programmed in the workpiece coordination system in
addition to the Cartesian position. The Cartesian position is thus programmed in relation
to the constant workpiece. The 7-axis transformation converts the WCS position via the
rotation of the 7th axis in the basic coordinate system. Possibly programmed or set frames
are normally settled before the 7-axis transformation.
2. Programming of orientation
All programming options of the generic 5-/6-axis transformation are available while
programming the orientation. The 7th axis must always be programmed additionally.
Two different response types can be set in this context via the G code.
– The position of the 7th axis does not influence the programmed orientation.
– The programmed end-orientation is rotated with the 7th axis.
Orientation
1. Orientation with axis interpolation
If the 7th axis should have no influence on the programmed orientation, the G codes of
Groups 25 and 51 must be set accordingly:
G code group 25: ORIMKS
G code group 51: ORIAXES (if MD21104 $MC_ORI_IPO_WITH_G_CODE = 1 is set).
The programmed positions of the rotary axes are not changed by the position of the 7th
axis in this case, but approached directly. The orientation is programmed in relation to the
machine.
Example
Program code
TRAORI(1)
ORIAXES
ORIMKS
G1 X500 Y300 Z800 C15 A5 C1=10 E1=120
Program code
TRAORI(1)
ORIVECT
ORIWKS
G1 X500 Y800 Z100 A3=0 B3=1 C3=0 AN3=0 BN3=0 CN3=–1 E1=–90
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 81
F2: Multi-axis transformations
2.7 Generic 5-axis transformation and variants
Frames
The basic coordinate system sits on the 7th axis. It is also rotated when the 7th axis rotates.
This way the workpiece coordinate system (WCS) does not remain stationary when the
workpiece is rotated over the 7th axis. A workpiece position rotated to the zero position of the
7th axis can be compensated by an axial frame offset of the 7th axis.
Note
The use of the "Handling transformation package" option is necessary for the "Cartesian
manual travel" function.
Functionality
The "Cartesian manual travel" function, as a reference system for JOG mode, allows axes to
be set independently of each other in Cartesian coordinate systems:
● Basic coordinate system (BCS)
● Workpiece coordinate system (WCS)
● Tool coordinate system (TCS)
The following machine data not only activates the function, but also sets the permitted
coordinate systems.
MD21106 $MC_CART_JOG_SYSTEM (coordinate systems for Cartesian JOG)
For JOG motion, one of the three reference systems can be set not only for the translation/
movement of the geometry axes, but also for tool orientation/movement of the orientation axes
via the setting data SD42650 $SC_CART_JOG_MODE (coordinate systems for Cartesian
manual traverse) independently from one another.
Activation
The following machine data not only activates the function, but also sets the permitted
coordinate systems.
MD21106 $MC_CART_JOG_SYSTEM (coordinate systems for Cartesian JOG)
The following setting data sets the virtual kinematics used for traversing motion of the
orientation:
Special functions
82 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.7 Generic 5-axis transformation and variants
Translations
A translatory movement can be used to move the tool tip (TCP) 3-dimensionally in parallel to
the axes of the set reference system. Traversing is performed via the VDI interface signals of
the geometry axes.
Note
For further information about the representation of the translations for the Cartesian manual
travel in the corresponding coordinate systems, see:
References:
Function Manual Extension Functions; Kinematic Transformation (M1)
Tool orientation
The tool can be aligned to the workpiece surface via an orientation movement. The motions
of the orientation axes are triggered by the PLC via the VDI interface signals of the orientation
axes. The virtual orientation axes execute rotations around the fixed directions of the relevant
reference system. Virtual kinematics is defined by the following setting data via the active
transformation:
SD42660 $SC_ORI_JOG_MODE = 0
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 83
F2: Multi-axis transformations
2.8 Restrictions for kinematics and interpolation
Note
For further information about the programming of rotations please refer to:
References:
Programming Manual, Job Planning; Section: "Transformations"
5-axis kinematics
For 5-axis kinematics there are two degrees of freedom for orientation. The assignment of
orientation axes and tool vector direction must be selected so that there is no rotation around
the tool vector. As a result, only two orientation angles are required to describe the orientation.
If the axis is traversed using ORIVECT, the tool vector performs pure swiveling motion.
Special functions
84 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.8 Restrictions for kinematics and interpolation
Interpolation of the tool orientation over several blocks by means of orientation vectors
If the orientation of a tool is programmed over several consecutive part program blocks by
directly entering the appropriate rotary axis positions, then undesirable discontinuous changes
of the orientation vector are obtained at the block transitions. This results in discontinuous
velocity and acceleration changes of the rotary axes. This means that no continuous velocity
and acceleration of the orientation axes over several blocks can be achieved using large circle
interpolation.
Continuous block transitions
As long as only linear blocks (G1) are programmed, then the orientation axes also behave just
like linear axes. In this case, motion with continuous acceleration is achieved through
polynomial interpolation. Significantly better results can be achieved by programming the
orientation in space using orientation vectors (see Section "Polynomial interpolation of
orientation vectors (Page 113)").
Description of problem
As described in Section "Singularities and how to treat them", singularities (poles) are
constellations in which the tool is orientated becomes parallel to the first rotary axis. If the
orientation is changed when the tool is in or close to a singularity (as is the case with large-
circle interpolation ORIWKS ), the rotary axis positions must change by large amounts to
achieve small changes in orientation. In extreme cases, a jump in the rotary axis position would
be needed.
Such a situation would be treated as follows:
There is only one relevant machine data, which circles the pole as usual:
MD24540 $MC_TRAFO5_POLE_LIMIT_1 (closing angle tolerance for interpolation by pole for
5-axis transformation)
or
MD24640 $MC_TRAFO5_POLE_LIMIT_2 (closing angle tolerance for interpolation by pole for
5-xis transformation)
For further information about the handling of singular positions, see:
References:
Programming Manual, Job Planning, Transformations; Section: Cartesian PTP travel
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 85
F2: Multi-axis transformations
2.8 Restrictions for kinematics and interpolation
7ROHUDQFH &RQVWDQW
FLUFOH SRVLWLRQRI
3ROH
QGURWDU\D[LV
6WDUWSRLQW
3URJUDPPHG
HQGSRLQW
3DWK
5HDFKHG
HQGSRLQW
&RQVWDQW
SRVLWLRQRI
VWURWDU\D[LV
Figure 2-22 Generic 5-axis transformation; end point of orientation inside tolerance circle.
Special functions
86 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.9 Orientation
Note
In the previous Figure the resulting path is a straight line because the position of the first rotary
axis is constant on that path. This representation is always correct, irrespective of the angle
between the two rotary axes. The orientation vector only moves in a plane, however, if the two
rotary axes and the basic orientation are all mutually perpendicular. In all other cases, the
orientation vector describes the outside of a cone.
2.9 Orientation
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 87
F2: Multi-axis transformations
2.9 Orientation
Definition
The basic orientation can be defined in three different ways:
● Definition by calling the transformation
● Definition by the orientation of the active tool
● Definition using a machine data
Note
The orientation data is absolute. It is not modified by a frame that is possibly active.
The absolute value of the vector is insignificant, only the direction is relevant. Non-programmed
vector elements can be set to zero.
Please note that if all three vector components are zero (because they have been set explicitly
so or not specified at all), the basic orientation is not defined by data in the TRAORI(...) call,
but by one of the two other options.
If a basic orientation is defined by calling the transformation, it cannot be altered while a
transformation is active. The orientation can be changed only by selecting the transformation
again.
Special functions
88 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.9 Orientation
If the tool is de-selected, thereby canceling the definition of tool orientation, the basic
orientation programmed in machine data becomes operative.
Note
The range of settable orientations depends on the directions of the rotary axes involved and
the basic orientation. The rotary axes must be mutually perpendicular if all possible orientations
are to be used. If this condition is not met, "dead" ranges will occur.
Examples:
1. Extreme example: A machine with rotatable tool has a C axis as its first rotary axis and an
A axis as its second. If the basic orientation is defined in parallel to the A axis, the orientation
can only be changed in the X-Y plane (when the C axis is rotating), i.e. orientation with a
Z component unequal to zero is not possible in this instance. The orientation does not
change when the A axis rotates.
2. Realistic example: A machine with nutator kinematics (cardan head) with an axis inclined
at less than 45o in a basic orientation parallel to the Z axis can only assume orientations
within a semi-circle: The top semi-circle with basic orientation towards +Z and the bottom
with basic orientation towards -Z.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 89
F2: Multi-axis transformations
2.9 Orientation
Value Meaning
0 No modification permitted (default, equivalent to previous behavior).
1 Modification is only permitted if axis interpolation is active (ORIAXES or ORIMKS).
2 Modification is always permitted, even if vector interpolation (large circle interpolation, conical
interpolation, etc.) was active originally.
Example
An example for modifying the rotary axis motion of a 5-axis machine with a rotatable tool is
shown in Chapter "Examples for generic axis transformations (Page 137)".
Function
Using compressor functions COMPON, COMPCURV, COMPCAD and COMPSURF, also NC
programs, in which the orientation is programmed using direction vectors, can be compressed,
but still maintaining a specifiable tolerance.
Special functions
90 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.9 Orientation
Parameterization
NC blocks can only be compressed if deviations are allowed between the programmed contour
and interpolated contour or between the programmed orientation and interpolated orientation.
Compression tolerances can be used to set the maximum permissible deviation. The higher
the tolerances, the more blocks can be compressed. However, the higher the tolerances, the
more the interpolated contour or orientation can deviate from the programmed values.
Axis accuracy
For each axis, the compressor creates a spline curve which deviates from the programmed
end points of each axis by a maximum of the value set with the following machine data:
MD33100 $MA_COMPRESS_POS_TOL (maximum permitted axis-specific path deviation for
compression)
Contour accuracy
The maximum contour deviations (geo axes) and tool orientation are specified via the following
setting data:
SD42475 $SC_COMPRESS_CONTUR_TOL (maximum permissible contour deviation with
compression)
SD42476 $SC_COMPRESS_ORI_TOL (maximum deviation of the tool orientation for
compression)
SD42477 $SC_COMPRESS_ORI_ROT_TOL (maximum angular deviation of the tool rotation
for compression) (only available for 6-axis machines!)
Note
A maximum deviation of tool orientation can only be specified if an orientation transformation
is active (TRAORI).
Compression mode
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 91
F2: Multi-axis transformations
2.9 Orientation
The manner in which the tolerances are to be considered is set via the unit position in the
machine data:
MD20482 $MC_COMPRESSOR_MODE (mode of compression)
Value Meaning
0 The tolerances specified with MD33100 $MA_COMPRESS_POS_TOL are observed for all
the axes (geo and orientation axes).
1 The contour tolerance specified with SD42475 $SC_COMPRESS_CONTUR_TOL is effec‐
tive for the geometry axes.
The axis-specific tolerances MD33100 $MA_COMPRESS_POS_TOL are effective for the
orientation axes.
2 The axis-specific tolerances MD33100 $MA_COMPRESS_POS_TOL are effective for the
geometry axes.
The maximum angular deviations SD42476 $SC_COMPRESS_ORI_TOL or
SD42477 $SC_COMPRESS_ORI_ROT_TOL are effective for the orientation axes.
3 The contour tolerance specified with SD42475 $SC_COMPRESS_CONTUR_TOL is effec‐
tive for the geometry axes.
The maximum angular deviations SD42476 $SC_COMPRESS_ORI_TOL or
SD42477 $SC_COMPRESS_ORI_ROT_TOL are effective for the orientation axes.
With the tens digit of MD20482 you set whether blocks with programmed tool orientation and/
or value assignments (for example, X=100 ...) are to be compressed or not:
Value Meaning
x0x All blocks with programmed tool orientation and/or value assignments will be compressed
(default setting).
Notice: This behavior is incompatible with earlier SW versions!
x1x Only the blocks with programmed tool orientation will be compressed. The blocks with value
assignments will not be compressed.
x2x Only the blocks with value assignments will be compressed. The blocks with programmed
tool orientation will not be compressed.
x3x All blocks with programmed tool orientation and/or value assignments will not be com‐
pressed.
This setting provides a behavior that is fully compatible with earlier SW versions.
The hundreds position of MD20482 is used to select which blocks outside the linear blocks
(G1) should be compressed.
Value Meaning
0xx Circular blocks and G0 blocks are not compressed. This is compatible with earlier SW
versions.
1xx Circular blocks will be linearized and compressed by COMPCAD.
Advantage:
The compressor function works more accurate and therefore creates normally better surfa‐
ces.
Disadvantage:
The compressor function is more sensitive to bugs in the NC programs. For reasons of
compatibility it might therefore be necessary to keep the setting 0xx.
Special functions
92 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.9 Orientation
Value Meaning
2xx G0 blocks are compressed - it is possible that a different tolerance becomes effective (see
MD20560 $MC_G0_TOLERANCE_FACTOR or NC command STOLF).
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.
The thousands digit of MD20482 optimizes the compressor for different machining types.
Value Meaning
0xxx Optimization to achieve a good surface quality for tool and mold making.
1xxx Optimization for soft and fast traversing in special applications (e.g. tape laying)
Programming
Tool orientation
If orientation transformation (TRAORI) is active, for 5-axis machines, tool orientation can be
programmed in the following way (independent of the kinematics):
● Programming of the direction vectors via:
A3=<...> B3=<...> C3=<...>
● Programming of the Eulerangles or RPY-angles via:
A2=<...> B2=<...> C2=<...>
Note
NC blocks, in which rotation is also programmed, can only be compressed if the angle of
rotation changes linearly. This means that it is not permissible that a polynomial with
PO[THT]=(...) for the angle of rotation is programmed.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 93
F2: Multi-axis transformations
2.9 Orientation
Activation/deactivation
Compressor functions are activated by modal G commands COMPON, COMPCURV, COMPCAD
or COMPSURF.
COMPOF terminates the compressor function.
Example
In the example program below, a circle approximated by a polygon definition is compressed.
The tool orientation moves on the outside of the taper at the same time. Although the
programmed orientation changes are executed one after the other, but discontinuously, the
compressor function generates a smooth motion of the orientation.
TRAORI
COMPCURV
; The movement describes a circle generated
from polygons. The orientation moves on a
taper around the Z axis with an opening an-
gle of 45 degrees.
N100 X0 Y0 A3=0 B3=-1 C3=1
N110 FOR COUNTER=0 TO NUMBER
N120 ANGLE=360*COUNTER/NUMBER
N130 X=RADIUS*cos(angle) Y=RADIUS*sin(angle)
A3=sin(angle) B3=-cos(angle) C3=1
N140 ENDFOR
Special functions
94 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.9 Orientation
References
Function Manual, Basic Functions; Chapter "B1: Continuous-path mode, Exact stop, Look
Ahead" > "Compressor functions"
2.9.4.1 Function
With many of the NC programs for 5-axis machining created with CAD/CAM systems it
happens that although the contour characteristic is sufficiently smooth in accordance with the
underlying geometry the orientation characteristic contains fluctuations it to one extent or the
other. These fluctuations in orientation result in very unsmooth running of the orientation axes
with permanent acceleration and braking. The compensating motion that the linear axes then
have to carry out requires that they also have to be continually accelerated and braked. Due
to this unnecessary acceleration, the possible path velocity is significantly limited and
consequently the machining time unnecessarily lengthened.
The "Smoothing the orientation characteristic" function can be used to smooth oscillations
affecting orientation over several blocks. The aim is to achieve a smooth characteristic for both
the orientation and the contour.
Preconditions
The following preconditions apply when using the function:
● The function is only available in systems with 5/6-axis transformation.
● It can only be used in conjunction with the COMPCAD compressor function.
2.9.4.2 Commissioning
Parameterization
Number of blocks
Smoothing of the orientation characteristic is carried out by means of an adjustable number
of blocks:
MD28590 $MC_MM_ORISON_BLOCKS = <value>
For most applications, 10 blocks should be sufficient. The minimum value that should be
entered is 4.
Note
If smoothing of the orientation characteristic is activated without sufficient block memory having
been configured for it (MD28590 < 4), an alarm message will be output and the function cannot
be executed.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 95
F2: Multi-axis transformations
2.9 Orientation
2.9.4.3 Programming
The "Smoothing of the orientation characteristic" is activated/deactivated in the part program
using the commands of G group 61. The commands are modal.
Preconditions
● System with 5/6-axis transformation.
● Compressor function COMPCAD is active.
Syntax
ORISON
...
ORISOF
Meaning
Example
Program code Comment
...
TRAORI() ; Activation of orientation transformation.
COMPCAD ; Activating the COMPCAD compressor function.
ORISON ; Activating orientation smoothing.
Special functions
96 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.9 Orientation
The orientation is pivoted through 90 degrees on the XZ plane from -45 to +45 degrees. Due
to the smoothing of the orientation characteristic the orientation is no longer able to reach the
maximum angle values of -45 or +45 degrees.
Functionality
Irrespective of certain technological applications, the previous programming of tool orientation
is improved in that the programmed relative orientation in relation to the total path is maintained.
The required deviations from the ideal orientation path can be specified if, for example, a corner
occurs in the contour.
Tool orientation can be modified not only via configurable machine data, but also via new
language commands in the part program. In this way, it is possible to maintain the relative
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 97
F2: Multi-axis transformations
2.9 Orientation
orientation not only at the block end, but also throughout the entire trajectory. The desired
orientation is achieved:
● By settable orientation methods with ORIPATH, specifying how interpolation is to be
performed relative to the path.
● Whether the tool orientation should either always run continuously with specifiable
deviations from the orientation relative to the path at a block transition, or whether the
orientation jump should be smoothed in a dedicated, inserted intermediate block. In this
case, path motion is stopped in the contour corner.
● There are two options of 6-axis transformations:
– Like tool rotation, tool orientation is interpolated relative to the path using ORIPATH,
ORIPATHS.
– The orientation vector is programmed and interpolated in the usual manner. The rotation
of the orientation vector is initiated relative to the path tangent using ORIROTC.
Note
Orientation relative to the path interpolation with ORIPATH or ORIPATHS and
ORIROTC, can not be used in conjunction with the function "Orientation smoothing". For
this OSOF must be active in the part program. Otherwise alarm 10980 "Orientation
smoothing not possible" is generated.
Special functions
98 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.9 Orientation
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 99
F2: Multi-axis transformations
2.9 Orientation
Special functions
100 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.9 Orientation
Function
Orientation polynomials and even axis polynomials can be programmed with different types
of polynomials regardless of the type of polynomial interpolation currently active. This can be
applied to:
● Linear interpolation with G command G01
● Polynomial interpolation with G command TERMINAL
● Circular interpolation with G command G02, G03 or CIP
● Involute interpolation with G command INVCW or INVCCW
This enables a number of polynomials to be programmed for one contour at the same time.
Note
For additional information about programming axis polynomials with PO[X], PO[Y], PO[Z] and
orientation polynomials such as PO[PHI], PO[PSI], PO[THT] and PO[XH], PO[YH], PO[ZH],
see:
Reference:
Programming Manual Production Planning
Type 1 polynomials
Orientation polynomials of type 1 are polynomials for angles
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 101
F2: Multi-axis transformations
2.9 Orientation
Type 2 polynomials
Orientation polynomials of type 2 are polynomials for coordinates
LEAD: Angle relative to the surface normal vector in the plane put up by the path tangent and
the surface normal vector.
TILT: Rotation of orientation in the z direction or rotation about the path tangent.
THETA: Rotation around the tool direction. This is only possible when the tool orientation has
a total of 3 degrees of freedom (see Section "Extension of the generic transformation
to six axes - 840D sl only (Page 75)").
How the angles LEAD and TILT are to be interpreted, can be set with the following machine
data:
MD21094 $MC_ORIPATH_MODE (setting for path relative orientation ORIPATH)
In addition to the constant angles programmed with LEAD and TILT, polynomials can be
programmed for lead angle and tilt angle. The polynomials are programmed using the angles
PHI and PSI:
Special functions
102 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.9 Orientation
Note
If ORIAXES is active, i.e. the tool orientation is interpolated via axis interpolation, the orientation
of the rotation vector relative to the path is only fulfilled at the end of the block.
For further information about programming, see:
References:
Programming Manual Production Planning; Transformations, Interpolation type (ORIPATH,
ORIPATHS)
Boundary conditions
It is only useful to program orientation polynomials for specific interpolation types, which affect
both contour and orientation. A number of supplementary conditions must be met to avoid
illegal programming settings:
Orientation polynomials cannot be programmed,
● if ASPLINE, BSPLINE, CSPLINE spline interpolations are active.
Polynomials for type 1 orientation anglesare possible for every type of interpolation except
spline interpolation, i.e.linear interpolation with rapid traverse G00 or with feedrate G01 and
polynomial POLY and circular/involute interpolation G02, G03, CIP, CT, INVCW and
INVCCW.
In contrast, type 2 orientation polynomials are only possible iflinear interpolation with rapid
traverse G00 or with feedrate G01 or polynomial interpolation POLY is active.
● if the orientation is interpolated using ORIAXES axis interpolation.
In this case, polynomials can be programmed directly with PO[A] and PO[B] for orientation
axes A and B.
If ORICURVE is active, the Cartesian components of the orientation vector are interpolated
and only type 2 orientation polynomials are possible. However, type 1 orientation polynomials
are not permitted.
Only type 1 orientation polynomials are possible for large circle interpolation and taper
interpolation with ORIVECT, ORIPLANE, ORICONxxx. However, type 2 orientation
polynomials are not permitted.
Alarms
An illegally programmed polynomial is signaled with the following alarms:
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 103
F2: Multi-axis transformations
2.9 Orientation
These system variables can always be read by the part program as well as in synchronized
actions. Write access operations are not permitted.
Note
The components of vectors $AC_TOOLO_ACT[<i>], $AC_TOOLO_END[<i>] and
$VC_TOOLO[<i>] of the orientation are scaled so that the orientation vector has the absolute
value of 1.
Special functions
104 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.9 Orientation
Orientation and rotation of the tool in the various coordinate systems (BCS, WCS, SZS)
Tool orientation
System variable
$P_TOOL_R[<i>,<j>] ; <i> =1, 2, 3 i-th component of the actual rotation vector in the
; <j> = 0, 1, 2 NC program in the coordinate system <j>
<j> = 0: BCS
<j> = 1: WCS
<j> = 2: SZS
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 105
F2: Multi-axis transformations
2.10 Orientation axes
System variable
$AC_TOOL_R_ACT[<i>,<j>] ; <i> =1, 2, 3 i-th component of the actual rotation vector in the
; <j> = 0, 1, 2 coordinate system <j>
$AC_TOOL_R_END[<i>,<j>] ; <i> =1, 2, 3 i-th component of the rotation vector at the end of
; <j> = 0, 1, 2 the actual block in the coordinate system <j>
$AC_TOOL_R_DIFF[<j>] ; <j> = 0, 1, 2 Residual angle of the rotation vector in degrees in
various coordinate systems <j>
$VC_TOOL_R[<i>,<j>] ; <i> =1, 2, 3 i-th component of the actual value of the rotation
; <j> = 0, 1, 2 vector in various coordinate systems <j>
$VC_TOOL_R_DIFF[<j>] ; <j> = 0, 1, 2 Angle in degrees between reference and actual val‐
ue of the rotation vector in various coordinate sys‐
tems <j>
Boundary conditions
Not all transformations provide the actual value of the tool orientation in real time. In this case,
variables $VC_TOOLO[<i>] or VC_TOOL_O[<i>] and $VC_TOOLO_DIFF or
$VC_TOOL_O_DIFF cannot be calculated. The components of $VC_TOOLO[<i>] or
$VC_TOOL_O[<i>] are all zero, and status variable $VC_TOOLO_STAT supplies the value
"-1". The same is true for the actual values of the rotation vector $VC_TOOLR[<i>] or
$VC_TOOL_R[<i>,<j>].
Direction
The directions around which axes are rotated are defined by the axes of the reference system.
In turn, the reference system is defined by ORIMKS and ORIWKS commands:
● ORIMKS : Reference system = Basic coordinate system
● ORIWKS: Reference system = Workpiece coordinate system
Order of rotation
The order of rotation for the orientation axes is defined by the following machine data:
MD21120 $MC_ORIAX_TURN_TAB_1[0..2] (definition of reference axes for ORI axes)
1. First rotation around the axis of the reference system, defined in the following machine data:
MD21120 $MC_ORIAX_TURN_TAB_1[0]
2. Second rotation around the axis of the reference system, defined in the following machine
data:
MD21120 $MC_ORIAX_TURN_TAB_1[1]
3. Third rotation around the axis of the reference system, defined in the following machine
data:
MD21120 $MC_ORIAX_TURN_TAB_1[2]
Special functions
106 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.10 Orientation axes
Orientation transformation 1:
MD24585 $MC_TRAFO5_ORIAX_ASSIGN_TAB_1[n] n = channel axis [0..2]
Orientation transformation 2:
MD24685 $MC_TRAFO5_ORIAX_ASSIGN_TAB_2[n] n = channel axis [0..2]
transformation [1..4]
MD24110 $MC_TRAFO5_AXES_IN_1[n] (axis assignment n = channel axis [0..7]
for transformation)
to
MD24410 $MC_TRAFO5_AXES_IN_4[n] (axis assignment
for transformation 4)
transformation [5..8]
MD24432 $MC_TRAFO5_AXES_IN_5[n] (axis assignment n = channel axis [0..7]
for transformation 5)
to
MD24462 MC_TRAFO5_AXES_IN_8[n] (axis assignment
for transformation 8)
Example
For orientation axes, see Section "Example for orientation axes (Page 134)".
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 107
F2: Multi-axis transformations
2.10 Orientation axes
Feedrate in JOG
When orientation axes are traversed manually, the channel-specific feedrate override switch
or the rapid traverse override switch in rapid traverse override is applied.
Until now, velocities for traversal in JOG mode have always been derived from the machine
axis velocities. However, geometry and orientation axes are not always assigned directly to a
machine axis.
For this reason, new machine data have been introduced for geometry and orientation axes,
allowing separate velocities to be programmed for these axis types:
● MD21150 $MC_JOG_VELO_RAPID_ORI[n]
(conventional fast traverse for ORI axes)
● MD21155 $MC_JOG_VELO_ORI[n]
(conventional ORI axis speed)
● MD21160 $MC_JOG_VELO_RAPID_GEO[n]
(conventional fast traverse for GEO axes)
● MD21165 $MC_JOG_VELO_GEO[n]
(conventional GEO axis speed)
Appropriate speed values for the axes must be programmed in these data.
Acceleration
Acceleration for the orientation axes can be set by means of the following machine data:
MD21170 $MC_ACCEL_ORI[n] (ascceleration for orientation axes)
Special functions
108 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.10 Orientation axes
Programming of orientation
Orientation axes are programmed by means of axis names A2, B2 and C2.
Euler and RPY values are distinguished on the basis of G-group 50:
● ORIEULER:
Orientation programming on the basis of Euler angles (default)
● ORIRPY:
Orientation programming via RPY angles
● ORIVIRT1:
Orientation programming on the basis of virtual orientation axes (definition 1)
● ORIVIRT2:
Orientation programming on the basis of virtual orientation axes (definition 2)
The type of interpolation is distinguished on the basis of G-group 51:
● ORIAXES:
Orientation programming of linear interpolation of orientation axes or machine axes
● ORIVECT:
Orientation programming of large circle interpolation of orientation axes (interpolation of
the orientation vector)
Machine data MD21102 $MC_ORI_DEF_WITH_G_CODE (definition of ORI axes via G-code)
is used to specify whether MD21100 $MC_ORIENTATION_IS_EULER (angle definition for
orientation programming) is active (default) or G-group 50.
The following four variants are available for programming orientation:
1. A, B, C:
Machine axis parameter designation
2. A2, B2, C2:
Angle programming of virtual axes
3. A3, B3, C3:
Vector component designation
4. LEAD, TILT:
Specification of lead and side angles with reference to path and surface
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 109
F2: Multi-axis transformations
2.10 Orientation axes
References:
Programming Manual Fundamentals
Note
The four variants of orientation programming are mutually exclusive. If mixed values are
programmed, alarm 14130 or alarm 14131 is generated.
Exception:
For 6-axis kinematics with a 3rd degree of freedom for orientation, C2 may also be programmed
for variants 3 and 4. C2 in this case describes the rotation of the orientation vector about its
own axis.
Example
For orientation axes for kinematics with 6 or 5 transformed axes, see Section "Example for
orientation axes (Page 134)".
Interpolation type
The following machine data is used to specify which interpolation type is used:
MD21104 $MC_ORI_IPO_WITH_G_CODE (G-code for orientation interpolation):
● ORIMKS or ORIWKS (for description, see Section "Tool orientation (Page 48)")
● G-code group 51 with the commands ORIAXES or ORIVECT
– ORIAXES:
Linear interpolation of machine axes or orientation axes.
– ORIVECT:
Orientation is controlled by the orientation vector being swivelled in the plane spanned
by the start and end vectors (large circle interpolation). With 6 transformation axes a
rotation around the orientation vector is excuted in addition to the swivel movement.
With ORIVECT the orientation axes are always traversed on the shortest possible path.
Range of values
Value range for orientation axes:
● 180 degrees < A2 < 180 degrees
● 90 degrees < B2 < 90 degrees
● 180 degrees < C2 < 180 degrees
All possible rotations can be represented with this value range. Values outside the range are
normalized by the control system to within the range specified above.
Special functions
110 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.10 Orientation axes
n: Number of transformation n = 1 or 2
x, y, z Components of the vector for the basic orientation of thetool (generic 5-axis
transformation only).
a, b: Offset for rotary axes
These optional parameters can be omitted. However, if they are used for programming
purposes, the correct sequence must be observed. If for example only one rotary axis offset
is to be entered, TRAORI(,,,, a, b) is to be programmed.
For further information about programming, please see:
Reference:
Programming Manual, Production Planning; Transformations
Note
There is no difference between a zero offset on the orientation axes programmed during active
transformation and the previous offset.
If automatic transfer of offset has been activated and a rotary axis offset is programmed at the
same time, the programmed offset value takes priority.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 111
F2: Multi-axis transformations
2.10 Orientation axes
Note
For more information about orientable toolholders, please see:
Reference:
Function Manual, Basic Machine; Tool Offset (W1)
Note
Orientation transformation and orientable tool holders can becombined.
The resulting orientation of the tool is produced by linking the orientation transformation and
the orientable tool holder.
Function
The positions of orientation axes can be displayed for the BCS and WCS display in a settable
modulo area. Whether the concerned machine axes are linear or rotary is not relevant in this
context, i.e. this display option can be enabled even for normal generic 5-/6-axis
transformation.
Requirements
● Orientation axes must be available. This is the case if an orientation transformation is active
(e.g. generic 5-/6-axis transformation).
● The following machine data must also be set for OEM transformations:
MD24585 $MC_TRAFO5_ORIAX_ASSIGN_TAB_1[0..2]
Special functions
112 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.11 Orientation vectors
Parameterization
The modulo display of orientation axes is activated as follows:
MD21132 $MC_ORI_DISP_IS_MODULO[0...2] = TRUE
The modulo range is defined with the help of the following machine data:
● MD21134 $MC_ORI_MODULO_RANGE[0...2]
(Size of the modulo range for the display of the orientation axes)
● MD21136 $MC_ORI_MODULO_RANGE_START[0...2]
(Starting position of the modulo range for the display of the orientation axes)
Please note the following:
● The machine data becomes effective with NewConfig.
● The machine data does not have any influence or effects on:
– any axis positions that can be programmed for these axes.
– The traversing movements of these axes.
– The display of the MCS values of these axes
Note
Further information about programming polynomial interpolation with POLY and on
interpolation of orientation vectors is given in:
Reference:
Programming Manual; Production Planning
A block with POLY is used to program polynomial interpolation. Whether the programmed
polynomials are then interpolated as polynomial, depends on whether the G-code POLY is
active or not:
● The G-code ist not active: The programmed axis end points are traversed linearly.
● The G-code is active: The programmed polynomials are interpolated as polynomials.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 113
F2: Multi-axis transformations
2.11 Orientation vectors
MD10674
Using machine data MD10674 $MN_PO_WITHOUT_POLY = FALSE
(polynomial can be programmed without G command POLY), it can be set as to whether the
following programming is possible:
● PO[...] or PO(...) is possible only if POLY is active, or
● PO[ ] or PO( ) polynomials are also possible without active G-code POLY.
As default, MD10674: PO_WITHOUT_POLY = FALSE set and with MD10674
$MN_PO_WITHOUT_POLY = TRUE the following programming is always possible:
● PO[...] = (...), regardless of whether POLY is active or not.
Orientation polynomials can be programmed in conjunction with different interpolation types
and are described in Section "Programming of Orientation Polynomials".
POLYPATH:
In addition to the modal G command POLY, with the predefined subprogram
POLYPATH(argument), polynomial interpolation can be selectively activated for various axis
groups. The following arguments are allowed for the activation of polynomial interpolation
Special functions
114 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.11 Orientation vectors
If ORIAXES is active, the interpolation of the rotary axis can also take place using polynomials
like polynomial interpolation of axes with POLY .
On the other hand, if ORIVECT is active, "normal" large circle interpolation is carried out
through linear interpolation of the angle of the orientation vector in the plane that is defined by
the start and end vector.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 115
F2: Multi-axis transformations
2.11 Orientation vectors
3+,
6WDUWYHFWRU
(QGYHFWRU
Figure 2-23 Rotation of the orientation vector in the plane between start and end vector
6WDUW (QG
3+,
36,
The angle PSI can be used to generate movements of the orientation vector perpendicular to
large circle interpolation plane (see previous figure).
Special functions
116 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.11 Orientation vectors
Special situations
If no polynomial for angle PSI is programmed, the orientation vector is always interpolated in
the plane defined by the start and end vector.
The PHI angle in this plane is interpolated according to the programmed polynomial for PHI.
As a result the orientation vector moves through a "normal" large circle interpolation in the
plane between the start and end vector and the movement is more or less irregular depending
on the programmed polynomial.
In this way, the velocity and acceleration curve of the orientation axes can be influenced within
a block, for example.
Note
Further information on polynomial interpolation for axis motion and general programming is
given in:
Reference:
Programming Manual; Production Planning
Boundary conditions
Polynomial interpolation of orientation vectors is only possible for control variants in which the
following functions are included in the functional scope:
● Orientation transformation
● Polynomial interpolation
Functionality
Changes in tool orientation are programmed by specifying an orientation vector in each block,
which is to be reached at the end of the block. The end orientation of each block can be
programmed in the following way:
1. programming the vector directly, or
2. programming the rotary axis positions.
The second option depends on machine kinematics. Interpolation of the orientation vector
between the start and end values can also be modified by programming polynomials.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 117
F2: Multi-axis transformations
2.11 Orientation vectors
Special functions
118 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.11 Orientation vectors
In such cases, the end value of the angleand the constant and linear coefficient dn of the
polynomial cannot be programmed directly.
The linear coefficient dn is defined by means of the end angle qe in degrees.
The end angle qe is derived from programming of the rotation vector.
The start angle qs is derived from the start value of the rotation vector, resulting from the end
value of the previous block. The constant coefficient of the polynomial is defined by the starting
angle of the polynomial.
The rotation vector is always perpendicular to the current tool orientation and forms the angle
THETAin conjunction with the basic rotation vector.
Note
During machine configuration, the direction in which the rotation vector points at a specific
angle of rotation can be defined, when the tool is in the basic orientation.
Formula
In general, the angle of rotation is interpolated with a 5th degree polynomial:
θu=θs+d1u+d2u2+d3u3+d4u4+d5u5 (14)
For the parameter interval 0 ... 1, this produces the following values for linear coefficients:
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 119
F2: Multi-axis transformations
2.11 Orientation vectors
Activation of rotation
A rotation of the orientation vector is programmed with the identifier THETA. The following
options are available for programming:
Boundary conditions
The angle of rotation or rotation vector can only be programmed in all four modes if the
interpolation type ORIROTA is active.
1. Rotary axis positions
2. Euler angles via A2, B2, C2
3. RPY angles via A2, B2, C2
4. Direction vector via A3, B3, C3
If ORIROTR or ORIROTT is active, the angle of rotation can only be programmed directly with
THETA.
The other programming options must be excluded in this case, since the definition of an
absolute direction of rotation conflicts with the interpretation of the angle of rotation in these
cases. Possible programming combinations are monitored and an alarm is output if applicable.
A rotation can also be programmed in a separate block without an orientation change taking
place. In this case ORIROTR and ORIROTT are irrelevant. In this case the angle of rotation is
always interpreted with reference to the absolute direction (ORIROTA).
A programmable rotation of the orientation vector is only possible when an orientation
transformation (TRAORI) is active.
Special functions
120 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.11 Orientation vectors
A programmed orientation rotation is only interpolated if the machine kinematics allow rotation
of the tool orientation (e.g. 6-axis machines).
Functionality
To execute a change in orientation along the peripheral surface of a cone located in space, it
is necessary to perform an extended interpolation of the orientation vector. The vector around
which the tool orientation is to be rotated must be known. The start and end orientation must
also be specified. The start orientation is given by the previous block and the en orientation
must either be programmed or defined by other conditions.
2XWVLGHVXUIDFHRIDWDSHU
'LUHFWLRQD[LV
6WDUWYHFWRU
(QGYHFWRU
3+,
36,
36,RSHQLQJDQJOHRIWKHWDSHU
3+,DQJOHRIURWDWLRQIRURULHQWDWLRQDERXWWKHGLUHFWLRQD[LV
Figure 2-25 Change in orientation of the peripheral surface of a cone located in space
Required definitions
Generally, the following data is required:
● The start orientation is defined by the end orientation of the previous block.
● The end orientation is defined either by specifying the vector (with A3, B3, C3), the Euler
angles or RPY angles (with A2, B2, C2) or by programming the positions of the rotary axis
(with A, B, C).
● The rotary axis of the taper is programmed as a (normalized) vector with A6, B6, C6.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 121
F2: Multi-axis transformations
2.11 Orientation vectors
● The opening angle of the cone is programmed degrees with the identifier (nutation angle).
The value range of this angle is limited to the interval between 0 degrees and 180 degrees.
The values 0 degrees and 180 degrees must not be programmed. If an angle is
programmed outside the valid interval, an alarm is generated.
In the special case where NUT = 90 degrees, the orientation vector in the plane is
interpolated perpendicular to the direction vector (large circle interpolation).
The sign of the programmed opening angle specifies whether the traversing angle is to be
greater or less than 180 degrees.
In order to define the cone, the direction vector or its opening angle must be programmed.
Both may not be specified at the same time.
● A further option is to program an intermediate orientation that lies between the start and
end orientation.
Programming
Note
Programming of an end orientation is not absolutely necessary. If no end orientation is
specified, a full outside cone with 360 degrees is interpolated.
The opening angle of the taper is programmed with NUT= <angle>, where the angle is specified
in degrees.
Note
An end orientation must be specified. A complete outside cone with 360 degrees cannot be
interpolated in this way. The sign of the opening angle defines whether the traversing angle is
to be greater or less than 180 degrees.
Special functions
122 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.11 Orientation vectors
Note
Programming of the end orientation is absolutely necessary in this case.
The change in orientation and the direction of rotation is defined uniquely by the three vectors
Start, End and Intermediate orientation.
All three vectors must be different from each other. If the programmed intermediate orientation
is parallel to the start or end orientation, a linear large circle interpolation of the orientation is
executed in the plane that is defined by the start and end vector.
PO[PHI] = (a2, a3, a4, a5) Constant and linear coefficients are defined by start and end ori‐
PO[PSI] = (b2, b3, b4, b5) entation respectively.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 123
F2: Multi-axis transformations
2.11 Orientation vectors
PO[XH] = (xe, x2, x3, x4, x5): (xe, ye, ze) the end point of the curve, and
PO[YH] = (ye, y2, y3, y4, y5): xi, yi, zi the coefficients of the polynomials
PO[ZH] = (ze, z2, z3, z4, z5): of the 5th degree maximum.
This type of interpolation can be used to program points (G1) or polynomials (POLY) for the
two curves in space.
Note
Circles or involutes are specificaly not allowed. It is also possible to activate a spindle
interpolation with BSPLINE. The programmed end points of both curves in space are then
interpreted as nodes.
Other types of splines (ASPLINE and CSPLINE) and the activation of a compressor
(COMPON, COMPCURV, COMPCAD) are not permitted here.
Supplementary conditions
The extended interpolation of orientations requires that all necessary orientation
transformations be considered, since these belong to the functional scope.
Activation
A change in orientation on any peripheral surface of a cone in space is activated with the G-
code of group 51 through extended interpolation of the orientation vector, using the following
commands:
Special functions
124 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.12 Online tool length offset
Examples
Various changes in orientation are programmed in the following program example:
Functionality
Effective tool length can be changed in real time so that the length changes are also considered
for changes in orientation of the tool. The system variable $AA_TOFF[<geometry axis name>]
includes tool length compensations in 3-D according to the three tool directions.
None of the tool parameters are changed. The actual compensation is performed internally by
means of transformations using an orientable tool length compensation.
The number of active compensation directions must be the same as the number of active
geometry axes. All offsets can be active at the same time.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 125
F2: Multi-axis transformations
2.12 Online tool length offset
Application
The online tool length compensation function can be used for:
● Orientation transformations (TRAORI)
● Orientable tool carriers (TCARR)
Note
The online tool length offset is an option. This function is only practical in conjunction with
an active orientation transformation or an active orientable toolholder.
Reference:
Function Manual, Basic Functions; Tool Offset, Section: Orientable toolholders (W1)
Block preparation
In the case of block preparation in run-in, the tool length offset currently active in the main run
is considered. In order to utilize the maximum permissible axis velocities as far as possible, it
is necessary to halt the block preparation with a stop preprocessing command (STOPRE) while
a tool offset is being generated.
The tool offset is always known at the time of run-in when the tool length offsets are not changed
after program start or if more blocks have been processed after changing the tool length offsets
than the IPO buffer can accommodate between run-in and main run. This ensures that correct
axis velocities are applied quickly.
The dimension for the difference between the currently active compensation in the interpolator
and the compensation that was active at the time of block preparation can be polled in the
system variable $AA_TOFF_PREP_DIFF[ ].
Note
Changing the effective tool length using online tool length offset produces changes in the
compensatory movements of the axes involved in the transformation in the event of changes
in orientation. The resulting velocities can be higher or lower depending on machine kinematics
and the current axis position.
Special functions
126 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.12 Online tool length offset
The following machine data and setting data are available for configuring online tool length
compensation:
Machine data / setting data Meaning for online tool length offset
MD21190 $MC_TOFF_MODE The contents of $AA_TOFF[ ] are traversed as an
absolute value or integrated
MD21194 $MC_TOFF_VELO (speed online tool Speed of online tool length offset
offset)
MD21194 $MC_TOFF_ACCEL (acceleration on‐ Acceleration of online tool length offset
line tool offset)
SD42970 $SC_TOFF_LIMIT (upper limit of off‐ Upper limit of tool length offset value
set value $AA_TOFF)
With the acceleration margin, 20% is reserved for the overlaid movement of online tool length
offset, which can be changed via the following machine data:
MD20610 $MC_ADD_MOVE_ACCEL_RESERVE(acceleration margin for overlaid
movements)
Activation
The TOFFON instruction can be used to activate online tool length offset from the part program
for at least one tool direction, if the option is available. During activation an offset value can
be specified for the relevant direction of compensation and this is immediately traversed.
Example: TOFFON(Z, 25).
Repeated programming of the instruction TOFFON( ) with an offset causes the new offset to
be applied. The offset value is added to variables $AA_TOFF[ ] as an absolute value.
Note
For further information about programming plus programming examples, please see:
Reference:
Programming Manual, Job Planning; Transformations
As long as online tool length offset is active, the VDI signal on the NCK → PLC interface in the
following interface signal is set to 1:
DB21, ... DBX318.2 (TOFF active)
While a correction movement is active, the VDI → signal in the following interface signal is set
to 1:
DB21, ... DBX318.3 (TOFF movement active)
Reset
Compensation values can be reset with the TOFFOF( ) command. This instruction triggers a
preprocessing stop.
Accumulated tool length compensations are cleared and incorporated in the basic coordinate
system. The run-in is synchronized with the current position in main run. Since no axes can
be traversed here, the values of $AA_IM[ ] do not change. Only the values of the variables
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 127
F2: Multi-axis transformations
2.12 Online tool length offset
$AA_IW[ ] and $AA_IB[ ] are changed. These variables now contain the deselected share of
tool length compensation.
Once "Online tool length offset" has been deselected for a tool direction, the value of system
variable $AA_TOFF[ ] or $AA_TOFF_VAL[ ] is zero for this tool direction. The following interface
signal is set to 0:
DB21, ... DBX318.2 (TOFF active)
Alarm 21670
An existing tool length offset must be deleted via TOFFOF( ) so that alarm 21670 "Channel
%1 block %2, illegal change of tool direction active due to $AA_TOFF active" is suppressed:
● When the transformation is deactivated with TRAFOOF
● On switch-over from CP to PTP travel.
● If a tool length offset exists in the direction of the geometry axis during geometry
replacement.
● If a tool length offset is present during change of plane.
● When changing from axis-specific manual travel in JOG mode to PTP as long as a tool
length compensation is active. There is no switchover to PTP.
Mode change
Tool length compensation remains active even if the mode is changed and can be executed
in any mode.
If a tool length compensation is interpolated on account of $AA_TOFF[ ] during mode change,
the mode change cannot take place until the interpolation of the tool length compensation has
been completed. Alarm 16907 "Channel %1 action %2 ALNX possible only in stop state" is
issued.
System variable
In the case of online tool length offset, the following system variables are available to the user:
Special functions
128 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.13 Examples
Reference:
Parameter Manual, System Variables
Boundary conditions
The online tool length offset function is an option and is available during "generic 5-axis
transformation" by default and for "orientable toolholders".
If the tool is not perpendicular to the workpiece surface during machining or the contour
contains curvatures whose radius is smaller than the compensation dimension, deviations
compared to the actual offset surface are produced. It is not possible to produce exact offset
surfaces with one tool length compensation alone.
2.13 Examples
CHANDATA(1)
$MA_IS_ROT_AX[AX5] = TRUE
$MA_SPIND_ASSIGN_TO_MACHAX[AX5] = 0
$MA_ROT_IS_MODULO[AX5]=0
;-----------------------------------------------------------------------------------------------------
; general 5-axis transformation
;
; kinematics: 1. rotary axis is parallel to Z
; 2. rotary axis is parallel to X
; Movable tool
;-----------------------------------------------------------------------------------------------------
$MC_TRAFO_TYPE_1 = 20
$MC_ORIENTATION_IS_EULER = TRUE
$MC_TRAFO_AXES_IN_1[0] = 1
$MC_TRAFO_AXES_IN_1[1] = 2
$MC_TRAFO_AXES_IN_1[2] = 3
$MC_TRAFO_AXES_IN_1[3] = 4
$MC_TRAFO_AXES_IN_1[4] = 5
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 129
F2: Multi-axis transformations
2.13 Examples
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=1
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=2
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2]=3
$MC_TRAFO5_PART_OFFSET_1[0] = 0
$MC_TRAFO5_PART_OFFSET_1[1] = 0
$MC_TRAFO5_PART_OFFSET_1[2] = 0
$MC_TRAFO5_ROT_AX_OFFSET_1[0] = 0
$MC_TRAFO5_ROT_AX_OFFSET_1[1] = 0
$MC_TRAFO5_ROT_SIGN_IS_PLUS_1[0] = TRUE
$MC_TRAFO5_ROT_SIGN_IS_PLUS_1[1] = TRUE
$MC_TRAFO5_NON_POLE_LIMIT_1 = 2.0
$MC_TRAFO5_POLE_LIMIT_1 = 2.0
$MC_TRAFO5_BASE_TOOL_1[0] = 0.0
$MC_TRAFO5_BASE_TOOL_1[1] = 0.0
$MC_TRAFO5_BASE_TOOL_1[2] = 5,0
$MC_TRAFO5_JOINT_OFFSET_1[0] = 0.0
$MC_TRAFO5_JOINT_OFFSET_1[1] = 0.0
$MC_TRAFO5_JOINT_OFFSET_1[2] = 0.0
CHANDATA(1)
M17
Program example for general 5-axis transformation:
Special functions
130 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.13 Examples
N110 TRAORI(1)
N120 ORIWKS
N130 G1 G90
N140 a3 = 0 b3 = 0 c3 = 1 x0
N150 a3 = 0 b3 =-1 c3 = 0
N160 a3 = 1 b3 = 0 c3 = 0
N170 a3 = 1 b3 = 0 c3 = 1
N180 a3 = 0 b3 = 1 c3 = 0
N190 a3 = 0 b3 = 0 c3 = 1
N200 ORIMKS
N210 G1 G90
N220 a2 = 0 b2 = 0 x0
N230 a2 = 0 b2 = 90
N240 a2 = 90 b2 = 90
N250 a2 = 90 b2 = 45
N260 a2 = 0 b2 =-90
N270 a2 = 0 b2 = 0
Axis programming:
N300 a0 b0 x0
N310 a45
N320 b30
TOFRAME:
N500 TRAFOOF
m30
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 131
F2: Multi-axis transformations
2.13 Examples
$MC_TRAFO_GEOAX_ASSIGN_TAB_n[0] = 1
$MC_TRAFO_GEOAX_ASSIGN_TAB_n[1] = 2
$MC_TRAFO_GEOAX_ASSIGN_TAB_n[2] = 3
General
The following two subsections show the main steps which need to be taken in order to activate
a transformation for the universal milling head.
Special functions
132 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.13 Examples
Machine data
; machine kinematics CA' with tool orientation in zero position in the z direction
$MC_TRAFO_TYPE_1 = 148
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=1
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=2
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2]=3
Program
Program code Comment
; Definition of tool T1
$TC_DP1[1,1] = 120 ; Type
$TC_DP2[1,1] = 0 ;
$TC_DP3[1,1] = 20 ; Z length offset vector G17
$TC_DP4[1,1] = 8. ; Y
$TC_DP5[1,1] = 5. ; X
m30
References:
Programming Manual, Fundamentals
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 133
F2: Multi-axis transformations
2.13 Examples
CHANDATA(1)
M17
= =
=
$
<
&
%
& <
<
%
$
<
;VWDUW
$ ;WDUJHW
;
% &
;
;
;
Figure 2-26 3 orientation axes for the 1st orientation transformation for kinematics with 6 transformed
axes
Special functions
134 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.13 Examples
Example 2:
3 orientation axes for the 2nd orientation transformation for kinematics with 5 transformed
axes. Rotation must be done in the following sequence:
● firstly about the X axis.
● then about the Y axis and
● finally about the Z axis.
The tool vector must point in the Z direction.
CHANDATA(1)
M17
=
=
&
$
% <
<
%
$
<
%
$
;
;
Figure 2-27 3 orientation axes for the 2nd orientation transformation for kinematics with 5 transformed
axes
The rotation through angle C2 about the Z" axis is omitted in this case, because the tool vector
orientation can be determined solely from angles A2 and B2 and no further degree of freedom
is available on the machine.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 135
F2: Multi-axis transformations
2.13 Examples
References:
Programming Manual, Production Planning
In N40, the orientation vector is rotated in the Z-X plane which is spanned by the start and end
vector. Here, the PHI angle is interpolated in a line in this plane between the values 0 and 90
degrees (large circle interpolation).
The additional specification of the polynomials for the two angles PHI and PSI means that the
interpolated orientation vector can lies anywhere between the start and end vector.
Special functions
136 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.13 Examples
N40 Linear interpolation of angle of rotation from starting value 0 degrees to end value 90
degrees.
N50 The angle of rotation changes from 90 degrees to 180 degrees in accordance with the
parabola.
θ(u) = 90 + u2
N60 A rotation can also be programmed without a change in orientation taking place.
N80 Tool orientation is rotated from the Y direction to the X direction. The change in orientation
takes place in the X-Y plane and the rotation vector describes an angle of 30 degrees to this
plane.
The following example is based on a machine with rotatable tool on which the first rotary axis
is a C axis and the second a B axis (CB kinematics). The basic orientation defined in the
machine data is the bisecting line between the X and Z axes.
Relevant machine data is as follows:
CHANDATA(1)
$MC_TRAFO_TYPE_1 = 24 ; General 5-axis transformation
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 137
F2: Multi-axis transformations
2.13 Examples
; Rotatable tool
$MC_TRAFO5_AXIS1_1[0] = 0.0
$MC_TRAFO5_AXIS1_1[1] = 0.0
$MC_TRAFO5_AXIS1_1[2] = 1,0 ; 1. Rotary axis is parallel to Z.
$MC_TRAFO5_AXIS2_1[0] = 0.0
$MC_TRAFO5_AXIS2_1[1] = 1,0
$MC_TRAFO5_AXIS2_1[2] = 0.0 ; 2. Rotary axis is parallel to Y.
$MC_TRAFO5_BASE_ORIENT_1[0] = 1.0
$MC_TRAFO5_BASE_ORIENT_1[1] = 0,0
$MC_TRAFO5_BASE_ORIENT_1[2] = 1.0
M30
Example program:
Special functions
138 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.13 Examples
A tool, of which the orientation differs from the default, is defined in the following example.
With G17, the orientation vector is in the X-Z plane and its inclination to the Z axis is 26.565
degrees because of tan(26.565) = 0.5 = $TC_DPV3[2,2] / $TC_DPV5[2,2].
The orientation normal vector is also specified. As only $TC_DPVN4[2,2] is not equal to zero,
it points in the Y direction. Orientation vector and orientation normal vector are perpendicular
to one another.
An orthogonalization is therefore not necessary, and therefore the programmed orientation
normal vector is not modified.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 139
F2: Multi-axis transformations
2.13 Examples
Program Comment
N10 TRAFOOF
N20 a0 b0 c0 x0 y0 z0 e=0
N30 $MC_TRAFO5_AXIS1_1[2] = 1 ; 1. Rotary axis shows in Z direction
N40 $MC_TRAFO5_AXIS1_2[0] = 1 ; 2. Rotary axis shows in X direction
N50 $MC_TRAFO5_AXIS1_3[2] = 1 ; 3. Rotary axis shows in Z direction
N60 $MC_TRAFO7_EXT_AXIS1_1[0] = 1 ; 7. Axis shows in X direction
N70 $MC_TRAFO_BASE_ORIENT_1[2] = 1 ; Orientation vector
N80 $MC_TRAFO_BASE_ORIENT_NORMAL_1[1] = 1 ; Orientation normal vector
N90 NEWCONF
N100 traori()
N110 G1 t1 d1 x10 y0 z50 c3=1 an3=1 bn3=1
orivect oriwks G19 F10000
N120 G2 y50 z0 b3=1 e=DC(90) CR=50 ; 1. Quadrant
N130 G2 y0 z–50 c3=–1 e=DC(180) CR=50 ; 2. Quadrant
N140 G2 y–50 z0 b3=–1 e=DC(270) CR=50 ; 3. Quadrant
N150 G2 y0 z50 c3=1 e=DC(0) CR=50 ; 4. Quadrant
N200 M30
Note
While traversing the quadrant in the example, only the 7th axis turns by 360 degrees. The
machine remains in the fixed position.
Special functions
140 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.14 Data lists
N10 X0 Y0 Z0 B0 C0
N20 TRAORI( ) ; basic orientation 5-axis transformation
N30 B-1 C10 ; Rotary axis positions B-1 and C10
N40 A3=-1 C3=1 ORIWKS ; large circle interpolation in WCS
N50 M30
At the start of block N40 in the example program, the machine is positioned at rotary axis
positions B-1 C10. The programmed end orientation can be achieved with either of the axis
positions B-45 C0 (1st solution) or B45 C180 (2nd solution).
The first solution is selected initially, because it is nearest to the starting orientation and, unlike
the second solution, can be achieved using large circle interpolation (ORIWKS). However, this
position cannot be reached because of the axis limits of the B axis.
The second solution is therefore used instead, i.e. the end position is B45 C180. The end
orientation is achieved by axis interpolation. The programmed orientation path cannot be
followed.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 141
F2: Multi-axis transformations
2.14 Data lists
Special functions
142 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.14 Data lists
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 143
F2: Multi-axis transformations
2.14 Data lists
Special functions
144 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
F2: Multi-axis transformations
2.14 Data lists
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 145
F2: Multi-axis transformations
2.14 Data lists
2.14.3 Signals
Special functions
146 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
G1: Gantry axes 3
3.1 Brief description
For gantry machines, each of various machine elements, such as the gantry and the transverse
beams, are moved by several axes that operate in parallel. The axes that together move a
machine part, are designated as gantry axes or gantry grouping. Because of the mechanical
structure, the gantry axes are rigidly connected with each other and so must always be
traversed synchronously by the control.
=
==
< = JDQWU\JURXSLQJ&URVVEHDPV
=
;
; < ;;
JDQWU\JURXSLQJ*DQWU\
;
Figure 3-1 Example: Gantry-type milling machine with gantry and transverse beams
Guide axis
The guide axis of the gantry grouping is the axis that represents the gantry grouping. Only this
axis is programmed to perform the traversing movements of the gantry grouping.
Synchronous axes
The synchronous axes of the gantry grouping are the axes that because of their coupling with
the guide axis are also automatically traversed by the control. A guide axis can be assigned
any number of synchronous axes.
Synchronization difference
The synchronous operation difference is the deviation of the axial actual value of a
synchronous axis from its ideal position referred to the actual value of the guide axis. The
control continually monitors the synchronous operation difference. A message is displayed if
the alarm limit is exceeded. The complete gantry grouping is stopped when the alarm limit is
exceeded. The limit values can be parameterized as machine data.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 147
G1: Gantry axes
3.2 "Gantry axes" function
Definition
The axes of a gantry grouping are specified via the following axial machine data:
MD37100 $MA_GANTRY_AXIS_TYPE[AX1] = xy
x Tens decimal place: Type of gantry axis (guide or synchronous axis)
y Ones decimal place: ID of the gantry grouping
A maximum of eight gantry groupings (gantry grouping ID: 1 - 8) can be defined. The gantry
grouping ID must be unique in all channels or in all NCUs in accordance with the assigned
axis.
In principle, a gantry grouping can be assigned any number of synchronous axes.
Example
Definition of a gantry grouping with ID=1, guide axis AX1 and synchronous axis AX2
● MD37100 $MA_GANTRY_AXIS_TYPE[AX1] = 01 (guide axis)
● MD37100 $MA_GANTRY_AXIS_TYPE[AX2] = 11 (synchronous axis)
Supplementary conditions
The following supplementary conditions apply to a gantry grouping:
● A gantry grouping must not contain a spindle.
● A synchronous axis must not be a concurrent POS axis.
● A synchronous axis must not belong to a transformation.
● A synchronous axis must not be a following axis of another axis coupling.
● A synchronous axis must not be a guide axis of another axis coupling.
● All axes of a gantry grouping must be of the same axis type, linear or rotary: MD30300
$MA_IS_ROT_AX (rotary axis/spindle)
Note
Drive optimization
At a SINAMICS S120 drive unit, a maximum of three drives can be optimized or measured
at the same time (speed controller optimization / function generator). Therefore, for a
coupling with more than three coupled drives at the same time, we recommend that these
are distributed over several drive units.
Special functions
148 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
G1: Gantry axes
3.2 "Gantry axes" function
Note
Gantry warning limit
If the "Alarm limit exceeded" message is not to be displayed, then a value of 0 should be
entered into MD37110.
*DQWU\WULSOLPLW
6\QFKURQRXVJURXSLQJ0'0$B*$175<B326B72/B(5525
1RQV\QFKURQRXVJURXSLQJ0'0$B*$175<B326B72/B5()
*DQWU\ZDUQLQJOLPLW
0'0$B*$175<B326B72/B:$51,1*
The alarm is also displayed if the gantry grouping is jammed (no controller enable, gantry
grouping in the "Hold" state).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 149
G1: Gantry axes
3.2 "Gantry axes" function
Use case
In cases where an incremental measuring system is being used for the leading or the
synchronous axis, after the NC boots, the measuring systems must be referenced, maintaining
the axis coupling.
After every axis in the gantry grouping has approached its reference point, any misalignment
that may exist between the axes must be eliminated (gantry synchronization process). Once
this has been performed, the NC/PLC interface signal is set:
DB31, ... DBX101.5 = 1 (gantry grouping is synchronized)
For the sequence when referencing or synchronizing gantry axes, see Section Referencing
and synchronization of gantry axes (Page 152).
Special functions
150 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
G1: Gantry axes
3.2 "Gantry axes" function
Use case
From the user perspective, a gantry grouping is exclusively traversed via the leading axis. The
NC generates the setpoints of the synchronous axes directly from the setpoints of the leading
axis in time synchronism and outputs these to them. To minimize the synchronous operation
differences, the control system dynamics of all axes of a gantry grouping must be set identical
(see Section "Start-up of gantry axes (Page 162)").
Note
Identical control dynamics must be set for all axes of a gantry grouping.
Disturbance characteristic
If faults occur, which cause an axis of the gantry to be stopped, then the complete gantry
grouping is always stopped.
Description
The axis coupling within a gantry grouping can be opened (dissolved) using the following
machine data:
MD37140 $MA_GANTRY_BREAK_UP = 1 (invalidate gantry grouping)
CAUTION
No synchronous operation
If the gantry axes remain mechanically coupled, there is a risk of damage to the machine
when the leading or synchronous axes are traversed in this operating state!
When the setting becomes active, the axes of the gantry grouping can be individually traversed
in the JOG, AUTOMATIC and MDA modes.
The monitoring functions of the synchronism difference and/or the alarm and trip limits are not
active.
The NC/PLC interface signal "Gantry grouping is synchronized" is reset:
DB31, ... DBX101.5 = 0
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 151
G1: Gantry axes
3.3 Referencing and synchronization of gantry axes
3.3.1 Introduction
Referencing process
The flowchart for referencing gantry axes using an incremental measuring system is as follows:
Section 1:
Referencing of the leading axis
The axis-specific referencing of the gantry axis will be started by the active machine function
REF upon the leading axis' interface signal from the PLC user program:
DB31, ... DBX4.7/4.6 (traversing key plus/minus)
The leading axis approaches the reference point (operational sequence as for reference point
approach).
References:
Function Manual Basic Functions; Reference Point Approach (R1)
Special functions
152 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
G1: Gantry axes
3.3 Referencing and synchronization of gantry axes
The appropriate synchronous axes traverse in synchronism with the leading axis. Interface
signal "Referenced/synchronized" of the leading axis is output to indicate that the reference
point has been reached.
Section 2:
Referencing of the synchronous axes
As soon as the leading axis has approached its reference point, the synchronous axis is
automatically referenced (as for reference point approach).
References:
Function Manual Basic Functions; Reference Point Approach (R1)
The dependency between the leading axis and synchronous axis is inverted in the control for
this phase so that the leading axis now traverses in synchronism with the synchronous axis.
IS "Referenced/synchronized" of the synchronous axis is output to indicate that the reference
point has been reached. The gantry axis dependency then reverts to its previous status. If a
further synchronous axis is defined in the grouping, then this is also referenced in the way
described above.
Section 3:
Gantry synchronization process
Once all axes in the gantry grouping have been referenced, they must be synchronized with
the defined reference position. The actual position of each gantry axis is first compared to the
defined reference position of the leading axis.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 153
G1: Gantry axes
3.3 Referencing and synchronization of gantry axes
The next step in the operating sequence depends on the difference calculated between the
actual values of the leading and synchronous axes:
● difference is smaller than the gantry warning limit:
MD37110 $MA_GANTRY_POS_TOL_WARNING (gantry warning limit)
The gantry synchronization process is started automatically. The message
"Synchronization in progress gantry grouping x" is output during this process.
The message "Synchronization running gantry grouping x" can be suppressed with:
MD37150 $MA_GANTRY_FUNCTION_MASK Bit 2 = 1
All gantry axes traverse at a specific position value in the decoupled state at the velocity
set in the machine data:
MD34040 $MA_REFP_VELO_SEARCH_MARKER (creep velocity)
The position value is defined by the leading axis:
MD34100 $MA_REFP_SET_POS (reference point/destination point for distance‐
coordinated system)
The absolute encoders and distanced-coded encoders of the leading axis will be set to the
current actual position of the leading axis or to the reference point by the following machine
data:
MD34330 $MA_REFP_STOP_AT_ABS_MARKER (Distancecoded linear measuring
system without destination point)
For this operation, the axes traverse at the same velocity as set for reference point
approach:
MD34070 $MA_REFP_VELO_POS (reference point positioning velocity)
As soon as all gantry axes have reached their target position (ideal position), IS "Gantry
grouping is synchronized" is set to "1" followed by re-activation of the gantry axis coupling.
The position actual value of all axes in the gantry grouping must now be identical. The
gantry synchronization process is now complete.
● Difference is higher than the gantry warning limit for at least one synchronous axis:
IS "Gantry synchronization read to start" is set to "1" and the message "Wait for
synchronization start of gantry grouping x" is output. The gantry synchronization process
is not started automatically in this case, but must be started explicitly by the operator or
from the PLC user program. The process is initiated by IS "Start gantry synchronization"
on the leading axis. The signal is set on the leading axis. The operational sequence is then
the same as that described above.
The following flowchart illustrates the referencing and synchronization processes.
Special functions
154 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
G1: Gantry axes
3.3 Referencing and synchronization of gantry axes
6WDUWUHIHUHQFLQJRSHUDWLRQ
&KDQQHOVSHFLILF $[LVVSHFLILF IURPSDUWSURJUDPZLWK
ZLWK,6$FWLYDWHUHIHUHQFLQJ DQG ZLWK,67UDYHUVLQJNH\ RI *DQGD[LVDGGUHVVRI
$FWLYHPDFKLQHIXQFWLRQ5() OHDGLQJD[LVDQG$FWLYHPDFKLQH OHDGLQJD[LV
IXQFWLRQ5()
6HFWLRQ5HIHUHQFLQJRIOHDGLQJ
6WDUW5HIHUHQFLQJRI D[LV
JDQWU\D[HV
/HDGLQJD[LVDSSURDFKHVUHISRLQWV\QFKUR
QL]HGD[LVWUDYHUVHVLQV\QFKURQLVP
WR3/& ,65HIHUHQFHGV\QFKURQL]HG IRU
5HIHUHQFHSRLQWUHDFKHG
OHDGLQJD[LV
,QWHUQDO
VWDUW 6HFWLRQ
6\QFKURQL]HGD[LVDSSURDFKHVUHIHUHQFH 5HIHUHQFLQJRIV\QFKURQL]HGD[LVD[HV
SRLQWOHDGLQJD[LVWUDYHUVHVLQV\QFKURQLVP
M 1H[WV\QFKUR
QL]HGD[LV
Q
6HFWLRQ
6\QFKURQL]DWLRQ
0HVVDJH:DLW SURFHVV
&RPSDULVRQRIDFWXDOSRVLWLRQVRI IRUV\QFKURQL]DWLRQ
OHDGLQJDQGV\QFKURQL]HGD[HV VWDUW
,6*DQWU\V\QFKURQL]DWLRQUHDG\
'HYLDWLRQ WRVWDUWರ
M
!
0'
0$B*$175<B326B72/B:$51,1*"
6HUYLFLQJ
,QWHUQDOVWDUW Q
$OOJDQWU\D[HVWUDYHUVHLQWKHGHFRXSOHGVWDWHLQ
JDQWU\V\QFKURQL]HGSRVLWLRQ0' 2SHUDWRUVWDUWVJDQWU\
0$B5()3B6(7B326RIWKHOHDGLQJD[LV:LWK V\QFKURQL]DWLRQSURFHVV
DEVROXWHHQFRGHUVDQGGLVWDQFHFRGHGHQFRGHUV
WKHOHDGLQJD[LVZLOOWUDYHUVHVHWYLD0' ([WHUQDOVWDUW
0$B5()3B6723B$7B$%6B0$5.(5 ,66WDUWJDQWU\V\QFKURQL]DWLRQ
WKHFXUUHQWDFWXDOSRVLWLRQRIWKHOHDGLQJD[LVRUWKH
UHIHUHQFHSRLQW
WR3/& 0HVVDJH
$OOJDQWU\D[HVKDYHUHDFKHG 6\QFKURQL]DWLRQ
V\QFKURQL]HGSRVLWLRQ LQSURJUHVV
(QG
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 155
G1: Gantry axes
3.3 Referencing and synchronization of gantry axes
Synchronization process
A synchronization process is always required in the following cases:
● after the reference point approach of all axes included in a grouping,
● if the axes become de-synchronized (s below).
Special functions
156 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
G1: Gantry axes
3.3 Referencing and synchronization of gantry axes
Instead, the actual position of the leading axis is specified as the target position and is
approached in the uncoupled state.
Note
For the leading axis, automatic synchronization can be locked using the following NC/PLC
interface signal:
DB31, ... DBX29.5 = 1 (no automatic synchronization process)
This always makes sense if no axis enabling signal has yet been issued for the axes. In this
case, the synchronization process should also be started explicitly with the NC/PLC interface
signal:
DB31, ... DBX29.4 = 1 (start gantry synchronization process)
Loss of synchronization
The gantry grouping becomes desynchronized as a result of:
● "Tracking" the gantry axes
● Loss of the reference position of a gantry axis, e.g. by "Parking" (no measuring system
active)
● Re-referencing of gantry axis
● The gantry grouping is opened (dissolved) by:
MD37140 $MA_GANTRY_BREAK_UP = 0 (invalidate gantry axis grouping)
The corresponding NC/PLC interface signal is reset:
● DB31, ... DBX60.4 or DBX60.5 == 0 (referenced/synchronized 1 or 2 respectively)
● DB31, ... DBX 101.5 == 0 (gantry grouping is synchronized)
If, in operation, gantry grouping synchronization is lost due to a fault, then synchronization can
be restarted using the NC/PLC interface signal:
DB31, ... DBX29.4 == 1 (start gantry synchronization process)
Requirement is that the following applies to all axes of the gantry grouping:
DB31, ... DBX60.4 or DBX60.5 = 1 (referenced/synchronized 1 or 2 respectively)
In this case, the synchronizing axes traverse the current actual position of the leading axis in
the decoupled state.
If, when the gantry grouping is traversing, the signal "Emergency Stop" (DB10, DBX56.2) is
set and again reset, and the gantry axes have drifted apart less than the standstill tolerance
of the synchronous axes, then these are automatically resynchronized. Automatic
synchronization can be suppressed using the NC/PLC interface signal for the leading axis:
DB31, ... DBX29.5 = 1 (no automatic synchronization process)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 157
G1: Gantry axes
3.3 Referencing and synchronization of gantry axes
During referencing, the reference point value of the leading axis is specified as the target
position for all axes in the grouping for the synchronization compensatory motion. This position
is then approached without axis coupling. The absolute encoders and distanced-coded
encoders of the leading axis will be set to the current actual position of the leading axis or to
the reference point by the following machine data:
MD34330 $MA_REFP_STOP_AT_ABS_MARKER (Distancecoded linear measuring system
without destination point)
If only one reference cam is used for the leading and synchronous axes, then this must be
taken into account in the PLC user program.
Special functions
158 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
G1: Gantry axes
3.3 Referencing and synchronization of gantry axes
difference between the positions of the leading and synchronized axes greater than the setting
in the machine data:
MD36030 $MA_STANDSTILL_POS_TOL (standstill tolerance)
In this case, a new setpoint is specified for the synchronized axis (axes) without interpolation.
The positional difference detected earlier is then corrected by the position controller. The
correction causes only the synchronized axis (axes) to move.
The motional sequence of the synchronized axis (axes) is analogous to the situation in which
the grouping switches from the "Hold" state to position control mode. In this case, the position
specified by the position controller before the grouping is halted is set again on condition that
the zero speed monitor has not activated alarm 25040 (with follow-up as alarm reaction) in the
meantime.
The same tolerance window is used for this mode of automatic synchronization as for the zero
speed monitoring function:
MD36030 $MA_STANDSTILL_POS_TOL (standstill tolerance)
Parameter rate dependence loads with machine data:
MD36012 $MA_STOP_LIMIT_FACTOR (exact stop coarse/fine and standstill factor)
Note
The following interface signal blocks automatic synchronization in all modes except referencing
mode:
DB31, ... DBX29.5 (no automatic synchronization)
Should the automatic synchronization be activated at this point, then the following interface
signal must be reset:
DB31, ... DBX29.5 = 0 (no automatic synchronization)
Then switch one of the axes in the gantry grouping from follow-up mode to position-controlled
mode. This is achieved with the interface signals:
DB31, ... DBX1.4 = 1 (follow-up mode)
DB31, ... DBX2.1 = 1 (servo enable)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 159
G1: Gantry axes
3.3 Referencing and synchronization of gantry axes
Channelspecific referencing
Gantry axes can also be referenced by channel with the following interface signal:
DB21, ... DBX1.0 (activate referencing)
The value of the leading axis' machine data is used for the axis sequence for channel-specific
referencing:
MD34110 $MA_REFP_CYCLE_NR (Axis sequence for channel-specific referencing)
After the reference point of the leading axis has been reached, the synchronized axes are
referenced first as described above.
Absolute encoder
During the course of the synchronization compensatory motion, all axes in the gantry axis
grouping traverse to the reference point value of the leading axis defined in the machine data:
MD34100 $MA_REFP_SET_POS (reference point value/destination point for distancecoded
system)
The absolute encoders and distanced-coded encoders of the leading axis will be set to the
current actual position of the leading axis or to the reference point by the following machine
data:
MD34330 $MA_REFP_STOP_AT_ABS_MARKER (Distancecoded linear measuring system
without destination point)
Special functions
160 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
G1: Gantry axes
3.3 Referencing and synchronization of gantry axes
Note
Further information regarding multi-channel block search SERUPRO can be found under:
References:
Function Manual, Basic Functions; Mode Group, Channel, Program Mode (K1),
Section: Program test
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 161
G1: Gantry axes
3.4 Start-up of gantry axes
General
Owing to the forced coupling which is normally present between guide and synchronous gantry
axes, the gantry grouping must be started up as if it were an axis unit. For this reason, the
axial machine data for the guide and synchronous axes must always be defined and entered
jointly.
If the synchronous axis is overloaded due to a weaker dynamic response than the guide axis,
alarm 10656 is displayed.
Special points to be noted with regard to starting up gantry axes are described below.
Traversing direction
As part of the start-up procedure, a check must be made to ensure that the direction of rotation
of the motor corresponds to the desired traversing direction of the axis. Correct with the
following axial machine data:
MD32100 $MA_AX_MOTION_DIR (traversing direction)
Special functions
162 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
G1: Gantry axes
3.4 Start-up of gantry axes
Axial optimization
The following control parameters must be set to the optimum axial value for both the guide
axis and the synchronous axis:
● MD32200 $MA_POSCTRL_GAIN (servo gain factor)
● MD32620 $MA_FFW_MODE (feedforward control parameter)
● MD32610 $MA_VELO_FFW_WEIGHT (feedforward control factor for acceleration/speed)
● MD32650 $MA_AX_INERTIA (inertia for torque 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)
References
Extended Functions Function Manual; Compensations (K3)
Same settings
The following control parameters must be set to the same value for the guide axis and
synchronous axis:
● MD33000 $MA_FIPO_TYPE (fine interpolator type)
● MD32400 $MA_AX_JERK_ENABLE (axial jerk limitation)
● MD32410 $MA_AX_JERK_TIME (time constant for the axial jerk filter)
● MD32420 $MA_JOG_AND_POS_JERK_ENABLE (basic position of axial jerk limitation)
● MD32430 $MA_JOG_AND_POS_MAX_JERK (axial jerk)
References
Basic Functions Function Manual; Velocities, Setpoint / Actual Value Systems, Closed-Loop
Control (G2)
Dynamics matching
The guide axis and the coupled synchronous axis must be capable of the same dynamic
response to setpoint changes. The same dynamic response means: The following errors are
equal in magnitude when the axes are operating at the same speed.
The dynamic response adaptation function in the setpoint branch makes it possible to obtain
an excellent match in the response to setpoint changes between axes which have different
dynamic characteristics (control loops). The difference in equivalent time constants between
the dynamically "weakest" axis and the other axis in each case must be specified as the
dynamic response adaptation time constant.
Example
When the speed feedforward control is active, the dynamic response is primarily determined
by the equivalent time constant of the "slowest" speed control loop.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 163
G1: Gantry axes
3.4 Start-up of gantry axes
Guide axis
MD32810 $MA_EQUIV_SPEEDCTRL_TIME [n] = 5 ms (equivalent time constant speed
control loop for feedforward control)
Synchronous axis
MD32810 $MA_EQUIV_SPEEDCTRL_TIME [n] = 3 ms
● Time constant of dynamic response adaptation for synchronous axis:
MD32910 $MA_DYN_MATCH_TIME [n] = 5 ms - 3 ms = 2 ms (time constant of dynamic
response adaptation)
The dynamic response adaptation must be activated axially with the machine data:
MD32900 $MA_DYN_MATCH_ENABLE (dynamic response adaptation)
Special functions
164 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
G1: Gantry axes
3.4 Start-up of gantry axes
References
Extended Functions Function Manual; Compensations (K3)
Special cases
If individual axes have to be activated, the gantry groups must be temporarily canceled. As
the second axis no longer travels in synchronism with the first axis, the activated axis must not
be allowed to traverse beyond the positional tolerance.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 165
G1: Gantry axes
3.5 Parameter assignment: Response to faults
References
Drive Functions Function Manual; Speed Control Loop (DD2)
Pulse suppression
The behavior of the gantry grouping with regard to faults that trigger pulse suppression can
be set with the following axis-specific machine data:
Special functions
166 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
G1: Gantry axes
3.6 PLC interface signals for gantry axes
<value> Meaning
0 When a fault occurs that triggers the pulse suppression (e.g. measuring-circuit fault), the
pulses in all other axes of the gantry grouping will also be suppressed.
Result: Coast down of all axes of the gantry grouping.
1 When a fault occurs that triggers the pulse suppression (e.g. measuring-circuit fault), the
pulses for only this axis will be suppressed. The other axes of the gantry grouping will be
stopped. The pulses for these axes are also then suppressed. To ensure that the pulses
these axes are not suppressed in advance, especially for axes to be held at the standstill
position (vertical axes), the following drive parameters must be taken into account:
● p1135[0...n] OFF3 ramp-down time
● p1217 holding brake application time
● p1227 zero speed detection monitoring time
● p1228 pulse suppression, delay time
For a detailed description of drive parameters, refer to:
References:
SINAMICS S120/S150 Parameter Manual
NC/PLC interface signal Direction of transfer DB31, ... Leading axis Synchronous axis
DBX...
Start gantry synchronization PLC → NCK 29.4 X
No automatic synchronization PLC → NCK 29.5 X
Gantry axis NCK → PLC 101.7 1 1
Gantry leading axis NCK → PLC 101.6 1 0
Gantry grouping is synchronized NCK → PLC 101.5 X
Gantry synchronization ready to NCK → PLC 101.4 X
start
Gantry warning limit exceeded NCK → PLC 101.3 X
Gantry trip limit exceeded NCK → PLC 101.2 X
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 167
G1: Gantry axes
3.6 PLC interface signals for gantry axes
For example, all axes in the gantry groupings will be simultaneously shut down when the
following interface signal is set to "0" from the leading axis:
DB31, ... DBX2.1 (servo enable)
The following table shows the effect of individual interface signals (from PLC to axis) on gantry
axes:
Either the "Follow-up" state (IS of one gantry axis = 1) or the "Stop" state (IS of all gantry axes
= 0) is activated for all gantry axes, depending on interface signal:
DB31, ... DBX1.4 (follow-up mode)
b) Axial interface signals from axis to PLC (NCK → PLC)
Each of the axial, axis-to-PLC interface signals for the synchronized axis and the leading axis
is always set on an axis-specific basis and output to the PLC.
Example:
DB31, ... DBX60.4 resp. 60.5 (referenced/synchronized 1/2).
Exception:
When the leading axis is traversed, the interface signal will also be set for the synchronizing
axis:
DB31, ... DBX64.6 and 64.7 (traverse command plus resp. minus)
Special functions
168 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
G1: Gantry axes
3.7 Miscellaneous points regarding gantry axes
Manual travel
It is not possible to traverse a synchronized axis directly by hand in JOG mode. Traverse
commands entered via the traversing keys of the synchronized axis are ignored internally in
the control. Rotation of the handwheel for the synchronized axis has no effect either.
Handwheel override
An overriding motion by means of the handwheel can only be applied to the leading axis in
coupled axis mode. In this case, the synchronized axes traverse in synchronism with the
leading axis.
DRF offset
A DRF offset can only be applied to the leading axis. In this case, the synchronized axes
traverse in synchronism with the leading axis.
PRESET
The PRESET function can only be applied to the leading axis. All axes in the gantry grouping
are reevaluated internally in the control when PRESET is activated. The gantry axis then lose
their reference and synchronization:
DB31, ... DBX101.5 (gantry grouping is synchronized) = 0
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 169
G1: Gantry axes
3.7 Miscellaneous points regarding gantry axes
Axis replacement
All axes in the gantry grouping are released automatically in response to a RELEASE
command (leading axis).
A replacement of the leading axis of a closed gantry grouping is only possible, if all axes of
the grouping are known in the channel in which they are to be transferred, otherwise alarm
10658 is signaled.
No automatic axis change and no automatic adjustment of the gantry axis conditions are
undertaken while trying to reconnect a gantry grouping is released with
MD37140 $MA_GANTRY_BREAK_UP = 1. The user is responsible for this. A check of the
axis conditions is conducted after the break up and if necessary, a corresponding alarm 10658
is output.
Note
If a gantry grouping is to be closed again, the user must ensure that all axes of the grouping
are in a channel with a corresponding axis condition.
Display data
The position actual value display shows the actual values of both the leading axis and the
synchronized axes. The same applies to the service display values in the "Diagnosis" operating
area.
Special functions
170 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
G1: Gantry axes
3.8 Examples
Note
For an active coupling, it is recommended to only use block search type 5, "Block search via
program test" (SERUPRO) for a block search.
3.8 Examples
Introduction
The gantry grouping, the referencing of its axes, the orientation of possible offsets and, finally,
the synchronization of the axes involved are complicated procedures. The individual steps
involved in the process are explained below by an example constellation.
Constellation
Machine axis 1 = gantry leading axis, incremental measuring system
Machine axis 3 = gantry synchronized axis, incremental measuring system
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 171
G1: Gantry axes
3.8 Examples
Machine data
The following machine data describes the original values at the beginning of the procedure.
Individual settings must be corrected or added later according to the information below.
Gantry machine data
Axis 1
MD37100 $MA_GANTRY_AXIS_TYPE = 1 (gantry axis definition)
MD37110 $MA_GANTRY_POS_TOL_WARNING =0 (gantry warning limit)
MD37120 $MA_GANTRY_POS_TOL_ERROR = e.g. 1 (gantry trip limit)
MD37130 $MA_GANTRY_POS_TOL_REF = e.g. 100 mm (max. misalignment) (gantry trip
limit for referencing)
MD37140 $MA_GANTRY_BREAK_UP = 0 (invalidate gantry axis grouping)
Axis 3
MD37100 $MA_GANTRY_AXIS_TYPE= 11
MD37110 $MA_GANTRY_POS_TOL_WARNING = 0
MD37120 $MA_GANTRY_POS_TOL_ERROR = e.g. 1 mm
MD37130 $MA_GANTRY_POS_TOL_REF = e.g. 100 mm (max. misalignment)
MD37140 $MA_GANTRY_BREAK_UP = 0
Reference point machine data (for first encoder each)
Axis 1
MD34000 $MA_REFP_CAM_IS_ACTIVE = TRUE
MD34010 $MA_REFP_CAM_DIR_IS_MINUS = e.g. FALSE
MD34020 $MA_REFP_VELO_SEARCH_CAM =
MD34030 $MA_REFP_MAX_CAM_DIST = corresponds to max. distance traversed
MD34040 $MA_REFP_VELO_SEARCH_MARKER =
MD34050 $MA_REFP_SEARCH_MARKER_REVERSE = e.g. FALSE
MD34060 $MA_REFP_MAX_MARKER_DIST = Difference betw. cam edge and 0 mark
MD34070 $MA_REFP_VELO_POS =
MD34080 $MA_REFP_MOVE_DIST = 0
MD34090 $MA_REFP_MOVE_DIST_CORR = 0
MD34092 $MA_REFP_CAM_SHIFT = 0
MD34100 $MA_REFP_SET_POS = 0
MD34200 $MA_ENC_REFP_MODE = 1
The reference point machine data (for the first encoder) of axis 3 must be specified analogously.
Special functions
172 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
G1: Gantry axes
3.8 Examples
Introduction
An automatic synchronization process during axis referencing must be disabled initially so as
to prevent any damage to grouping axes that are misaligned.
The NCK sets the following as a confirmation in the axis block of axis 1:
DB31, ... DBB101.4 = 0 (synchronization process not ready to start)
DB31, ... DBB101.6 = 1 (leading axis LA)
DB31, ... DBB101.7 = 1 (gantry axis)
The PLC user program sets for the axis data block of axis 3:
DB31, ... DBX29.4 = 0 (do not start gantry synchronization)
The NCK sets the following as a confirmation in the axis block of axis 3:
DB31, ... DBB101.4 = 0 (synchronization process not ready to start)
DB31, ... DBB101.6 = 0 (synchronized axis GA)
DB31, ... DBB101.7 = 1 (gantry axis)
Referencing
The following steps must be taken:
● Select "REF" operating mode
● Start referencing for axis 1 (master axis)
● Wait until message "10654 Channel 1 Waiting for synchronization start" appears.
At this point in time, the NCK has prepared axis 1 for synchronization and registers this to the
interface signal:
DB31 DB31, ... DBB101.4 = 1 (synchronization process ready to start)
DB31, ... DBB101.6 = 1 (leading axis LA)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 173
G1: Gantry axes
3.8 Examples
● Start referencing again for axis 1 (master axis) with the modified machine data
● Wait until message "10654 Channel 1 Waiting for synchronization start" appears
● At this point in time, the NCK has prepared axis 1 for synchronization and registers this to
the interface signal:
DB31 DB31, ... DBB101.4 = 1 (synchronization process ready to start)
DB31, ... DBB101.6 = 1 (leading axis LA)
DB31, ... DBB101.7 = 1 (gantry axis)
$ $ $ $
5
! !5
&DVH$ &DVH%
Special functions
174 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
G1: Gantry axes
3.8 Examples
If Case A applies, the synchronization process can be started immediately (see "start
synchronization process" step). If Case B applies, the offset "diff" must be calculated and taken
into account:
● Measuring of diff
● By using two appropriate, right-angled reference points R' and R" in the machine bed (right
in picture), the difference in position in JOG can be traversed. The diff offset can then be
read as the difference in the position display. The diff offset must be entered in the machine
data of axis 3 (synchronized axis):
MD34100 $MA_REFP_SET_POS
Continue with Step 1 (see above).
● Start gantry synchronization. PLC sets:
DB31, ... DBX29.4 = 1 (start synchronization of gantry)
Proceed as follows
● Set the machine data for all axes with a large value to begin with:
MD37120 $MA_GANTRY_POS_TOL_ERROR (gantry trip limit)
● Set a very small value in the machine data:
MD37110 $MA_GANTRY_POS_TOL_WARNING (gantry warning limit)
When you put a heavy, dynamic strain on the axes, the self-canceling alarm "10652 channel
%1 axis %2 gantry warning limit exceeded" will be output repeatedly.
● Now increase the following machine data:
MD37110 $MA_GANTRY_POS_TOL_WARNING (gantry warning limit)
Repeat this until the alarm no longer appears. The interface indicates the status:
DB31, ... DBB102.2 = 0 (trip limit not exceeded)
DB31, ... DBB102.3 = 0 (warning limit not exceeded)
DB31, ... DBB102.4 = 0 (synchronization process not ready to start)
DB31, ... DBB102.5 = 1 (gantry grouping is synchronous)
DB31, ... DBB102.6 = 1 (leading axis LA)
DB31, ... DBB102.7 = 1 (gantry axis)
If the monitoring still only triggers very sporadically, it is possible to program a edge memory
bit in the PLC user program.
● Enter the value calculated for the warning limit + a small safety provision in the following
machine data:
MD37120 $MA_GANTRY_POS_TOL_ERROR (gantry trip limit)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 175
G1: Gantry axes
3.9 Data lists
0'0$B*$175<B326B72/B:$51,1*
0'0$B*$175<B326B72/B(5525
0'0$B*$175<B326B72/B5()
Note
The same procedure must be followed when starting up a gantry grouping in which the coupled
axes are driven by linear motors and associated measuring systems.
The error limits entered into machine data MD37110 and MD37120 are considered as
additional tolerance values of the actual-value difference of the master and following axis if
the IS "Gantry is synchronous" is not present (e.g. to be resynchronized after canceling alarms
without gantry).
Special functions
176 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
G1: Gantry axes
3.9 Data lists
3.9.2 Signals
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 177
G1: Gantry axes
3.9 Data lists
Special functions
178 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K6: Contour tunnel monitoring 4
4.1 Brief description
Function
The absolute movement of the tool tip in space is monitored. The function operates channel
specific.
Model
A round tunnel with a definable diameter is defined around the programmed path of a
machining operation. Axis movements are stopped as an option if the path deviation of the
tool tip is greater than the defined tunnel as the result of axis errors.
Response
In the event of a recognized deviation, the system reacts as quick as possible. However, at
least one interpolator clock cycle will pass, before one of the following reactions will occur:
● An alarm is triggered when the tunnel is violated and the axes continue to traverse.
● Violation of the tunnel triggers an alarm and the axis movements are decelerated.
Braking methods
If the monitoring tunnel is violated, one of the following methods can be used to decelerate:
● Deceleration ramp
● Speed setpoint zero and follow-up mode
Use
The function can be used for 2D and 3D paths. For 2D the monitoring surface is defined by
parallel lines to the programmed path. The monitoring area is defined by 2 or 3 geometry axis.
Monitoring of synchronized axes, positioning axes, etc. that are not geometry axes is
performed directly on the machine axis plane with the "Contour monitoring".
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 179
K6: Contour tunnel monitoring
4.1 Brief description
Example
The following figure is a diagram of the monitoring area shown by way of a simple example.
=
&RQWRXU7RROWLSSDWK
3HUPLWWHGWROHUDQFH
<
ಱ7XQQHOಯDURXQGWKHFRQWRXU
WROHUDQFHEDQG
;
Figure 4-1 Position of the contour tunnel around the programmed path
As long as the calculated actual position of the tool tip remains inside the sketched tunnel,
motion continues in the normal way. If the calculated actual position violates the tunnel, an
alarm is triggered (in the default setting) and the axes are stopped by "Ramp Stop". This
response to the violation of the tunnel can be disabled (alarm triggered but movement
continued) or intensified (rapid stop) by means of a machine data setting.
Analysis
The calculated distance between the programmed path and the actual values can be routed
to an analog output to analyze the progression of the contour errors during normal operation
(quality control).
Function
As an alternative to the function described in "Contour tunnel monitoring", i.e. monitoring of
the machining accuracy and stopping machining if excessive deviations occur, another function
is offered. With this function, the selected accuracy is always achieved with the path velocity
being reduced if necessary. Detailed information about this function can be found under the
subject "Programmable contour accuracy".
Special functions
180 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K6: Contour tunnel monitoring
4.2 Contour tunnel monitoring - 840D sl only
Tunnel size
The radius of the contour tunnel being monitored around the programmed path must be defined
to implement the monitoring function:
MD21050 $MC_CONTOUR_TUNNEL_TOL (Response threshold for Contour tunnel
monitoring)
If the machine data is set to 0.0, monitoring is not performed. The value of the machine data
is transferred to the control for new configurations.
Value Meaning
0 Display alarm and continue machining
1 Deceleration according to the deceleration ramps (default setting)
2 Rapid stop (speed setpoint = 0)
Encoder switchover
Switching between two encoder systems usually causes a sudden change in the actual position
of the tool tip. This change resulting from encoder switchover must not be so large as to cause
the tool tip to violate the monitoring tunnel. The radius defined in MD21050 must be higher
than the allowed tolerance on actual value switchover:
MD36500 $MA_ENC_CHANGE_TOL (Max. tolerance for position actual value switchover)
Activation
The monitoring will only become active if the following conditions are met:
● MD21050 is higher than 0.0.
● At least two geometry axes have been defined.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 181
K6: Contour tunnel monitoring
4.3 Programmable contour accuracy
Shutting down
Monitoring can be stopped by enabling the machine data setting:
MD21050 = 0.0.
Analysis output
The values of deviation of the actual value of the tool tip from the programmed path can – for
analysis purposes – be output on a fast analog output (accuracy monitoring).
The assignment of an analog output to output the contour error is programmed in machine
data:
MD21070 $MC_CONTOUR_ASSIGN_FASTOUT
Value Meaning
0 No output (default setting)
1 Output to output 1
2 Output to output 2
… …
8 Output to output 8
Scale
The tunnel radius set in MD21050 corresponds to a voltage of 10 V at the output.
Function
The function "Programmable contour accuracy" limits the contour errors caused by control
behavior and jerk filter to a specified value by reducing the path velocity on curved contours
by the necessary amount. It allows the user to set a compromise between accuracy and
productivity of a machining.
Note
The "LookAhead" function ensures that the velocity necessary for maintaining the required
contour accuracy is not exceeded at any point along the path.
Configuration
The mode of operation and parameterization of the function is determined by the machine data:
Special functions
182 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K6: Contour tunnel monitoring
4.3 Programmable contour accuracy
Value Meaning
0 The "Programmable contour accuracy" function has no effect when feedforward control is also
active.
1 The "Programmable contour accuracy" function also acts for feedforward control.
With active feedforward control, the reduction of the path velocity is calculated on the basis of
the effective KV factor with feedforward control.
2 Like 1, the function, however, is parameterized with MD32415 $MA_EQUIV_CPREC_TIME
(time constant for the programmable contour accuracy).
The jerk filter is correctly taken into account. The SD42450 $SC_CONTPREC setting data
determines the permissible contour errors (see "Parameterization").
3 Like for 2, but any contour accuracy programmed with CTOL has priority over SD42450
$SC_CONTPREC.
The jerk filter is correctly taken into account. The programmed CTOL contour tolerance deter‐
mines the permissible contour errors (see "Parameterization"). $SC_CONTPREC is relevant
only if CTOL has not be programmed.
For the MD20470 = 2 or 3 functional versions, the control assumes that there is a jerk filter
time constant (MD32410 $MA_AX_JERK_TIME) for which the setting of the control section
with feedforward control generates a negligible contour error. This value must be entered in
the machine data MD32415 $MA_EQUIV_CPREC_TIME (see "Parameterization").
To calculate the contour error based on the set jerk filter type (MD32402
$MA_AX_JERK_MODE), the following value is used:
● For active feedforward control, the difference:
MD32410 $MA_AX_JERK_TIME - MD32415 $MA_$MA_EQUIV_CPREC_TIME
● Without feedforward control, the complete value from MD32410 $MA_AX_JERK_TIME
This procedure allows the commissioning engineer to first change from an initially precise, but
possibly excessively hard, setting by increasing the jerk filter time constants to a softer setting
with a controlled loss of accuracy.
Supplementary conditions:
● The function does not use the "belt stop" jerk filter type (MD32412 $MA_AX_JERK_MODE
= 3).
● The MD20470 = 2 or 3 functional versions are primarily intended for use with feedforward
control. If one of the two functional versions is active for switched off feedforward control,
a contour error that results from the Kv factor is added. This reduces the path velocity
significantly faster.
Note
The MD20470 = 0 or 1 functional versions are no longer recommended. They only provide
compatibility with older software versions.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 183
K6: Contour tunnel monitoring
4.3 Programmable contour accuracy
Parameterization
Contour accuracy
The maximum contour error for the path of the geometry axes on curved contours is determined
by:
● For MD20470 $MC_CPREC_WITH_FFW = 2 with the setting data:
SD42450 $SC_CONTPREC (contour accuracy)
● For MD20470 $MC_CPREC_WITH_FFW = 3 with the contour tolerance programmed with
CTOL.
The smaller the value and the lower the Kv factor of the geometry axes, the greater the path
feedrate on curved contours is lowered.
Programming
The "programmable contour accuracy" can be activated and deactivated in the part program
with the CPRECON and CPRECOF modal G functions.
Example:
Special functions
184 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K6: Contour tunnel monitoring
4.4 Constraints
The two CPRECON and CPRECOF modal G functions form the G function group 39
(programmable contour accuracy).
Behavior for part program start and after reset / part program end
For part program start and after reset / part program end, the configured control initial setting
acts for the G function group 39:
MD20110 $MC_RESET_MODE_MASK (definition of initial control settings after RESET / TP
End)
MD20112 $MC_START_MODE_MASK (definition of the basic setting of the control after part
program start)
Supplementary conditions
Positioning axes
The function considers only the geometry axes of the path. It does not have any effect of the
velocities for the positioning axes.
References
Information about MD32402 $MA_AX_JERK_MODE (filter type for axial jerk limitation) and
MD32410 $MA_AX_JERK_TIME (time constant for the axial jerk filter), see:
Function Manual, Basic Functions; Acceleration (B2), Section: "Functions" > "Jerk filter (axis-
specific)"
Information about CTOL, see:
Function Manual, Basic Functions; Continuous-Path Mode, Exact Stop, Look Ahead (B1),
Section: "Contour/orientation tolerance"
4.4 Constraints
Coupled motion
If coupled motion between two geometry axes is programmed with contour tunnel monitoring,
this always results in activation of the contour tunnel monitoring. In this case, the contour tunnel
monitoring must be switched off before programming the coupled motion:
MD21050 $MC_CONTOUR_TUNNEL_TOL = 0.0
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 185
K6: Contour tunnel monitoring
4.5 Data lists
Special functions
186 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl 5
5.1 Function description
5.1.1 Characteristics
In the following chapter it is described how, for NC functions such as "Collision avoidance" or
"Kinematic transformation", the kinematic structure of a machine can be mapped using a
kinematic chain, and parameterized in the control system using system variables.
The system variables are retentatively saved in the NC and can be archived and/or read as
"NC data" via SINUMERIK Operate using the commissioning archive.
For functions such as "collision avoidance" which also require a description of the machine
geometry, see section "K8: Geometric machine modeling - only 840D sl (Page 223)".
Note
Graphic editor
As an alternative to writing the system variables in a part program, the machine can be modeled
from the SINUMERIK Operate user interface:
Operating area: "Commissioning" > "NC" > "Machine model"
Changes to the machine model
The direct changes to the machine model at the system variables only become visible at the
user interface after explicitly requesting that the machine model is recalculated by calling the
PROTA() (Page 289) or PROTS() (Page 290) function.
Changes to the machine model made at the user interface are immediately adopted in the
system variables of the NC. The changes only become active after explicitly requesting that
the machine model is recalculated by calling the PROTA() (Page 289) or PROTS()
(Page 290) function.
Kinematic structure
The kinematic structure of a machine comprises the following:
● Number and type of the machine axes: Linear or rotary axes
● Arrangement of the machine axes: Position and orientation
● Dependencies of the machine axes to one another: Which machine axis traverses with
which other machine axis.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 187
K7: Kinematic chain - only 840D sl
5.1 Function description
Kinematic chain
A kinematic structure of a machine is described using a kinematic chain with the following
properties:
● A kinematic chain consists of an arbitrary number of interconnected elements.
● Parallel subchains can branch off from a kinematic chain.
● Only one active kinematic chain is available in the control.
● The active kinematic chain starts with the root element.
● If parameterized kinematic elements are not connected to the active kinematic chain, they
remain inactive.
● A kinematic chain is defined in the spatially-fixed coordinates of the world coordinate
system.
3DUDOOHOH7HLONHWWH
3DUDOOHOH7HLONHWWH
5RRW(OHPHQW
$QIDQJGHUZLUNVDPHQNLQHPDWLVFKHQ.HWWH
Element
An element of a kinematic chain basically describes the transformation with which the local
coordinate system of the previous element is mapped in the local coordinate system of the
current element:
Kn-1 ⇒ Tn ⇒ Kn
(OHPHQW (OHPHQW
H Q HQ
Special functions
188 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl
5.1 Function description
The following changing transformations, based on the current position values of the machine
axis assigned to the element (linear axis / rotary axis), are possible:
● Offset (type: AXIS_LIN (Page 198))
● Rotation (type: AXIS_ROT (Page 201))
A position or orientation change in an element, e.g. through a position change of the associated
machine axis, affects all the following elements of the chain or parallel subchains.
The maximum number of possible elements can be parameterized using machine data
(Page 193).
Parallel subchains
If a parallel subchain branches off from an element en, then for the kinematics, the branch is
always before the element. For this reason, a change in element en, e.g. a position change of
the associated machine axis, does not affect the subchain branch.
HO H O
HN H N
HP HP
Figure 5-3 Parallel subchains branching off from elements en and en+2
Switch
A switch is a special element that is not kinematically active (type: SWITCH (Page 208)) in a
kinematic chain, which can assume the CLOSED and OPEN states.
In the OPEN state, the connection from the previous to the following element is interrupted.
HN
1.B3$5$//(/
V[
1.B1(;7
H Q HQ
[\
In the CLOSED state, the previous element is connected to the following element.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 189
K7: Kinematic chain - only 840D sl
5.1 Function description
HN
1.B3$5$//(/
V[
1.B1(;7
H Q HQ
[\
Note
Local coordinate system
The local coordinate system of a switch is not rotated with respect to the world coordinate
system.
H H H
<
.
;
.:RUOGFRRUGLQDWHV\VWHP
7 ./RFDOHOHPHQWFRRUGLQDWHV\VWHPV
< <
. 7 .
7UDQVIRUPDWLRQV
; ; 7&RQVWDQWRIIVHWLQWKH;<GLUHFWLRQ
7
7&KDQJHDEOHRIIVHWLQWKH;GLUHFWLRQWKURXJKOLQHDUD[LV
< 7&KDQJHDEOHRIIVHWLQWKH<GLUHFWLRQWKURXJKOLQHDUD[LV
. ;
Elements with rotary axes change the orientation of the following elements. This is the reason
that the orientation and offset vectors of the following elements, for a defined initial position of
the previous orientation changing elements, must be referred to the world coordinate system.
Special functions
190 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl
5.2 Commissioning
H H H H
<
.
;
.:RUOGFRRUGLQDWHV\VWHP
./RFDOHOHPHQWFRRUGLQDWHV\VWHPV
7
<
< . 7UDQVIRUPDWLRQV
. 7 7&RQVWDQWRIIVHWLQWKH;<GLUHFWLRQ
; 7&KDQJHDEOHRIIVHWLQWKH;GLUHFWLRQWKURXJKOLQHDUD[LV
;
7 7&KDQJHDEOHURWDWLRQDURXQG=WKURXJKURWDU\D[LV
< 7 7&KDQJHDEOHRIIVHWLQWKH<GLUHFWLRQWKURXJKOLQHDUD[LV
UHTXLUHPHQW7URWDU\D[LVLQWKHLQLWLDOSRVLWLRQGHJUHHV
. ;
Origin and orientation of the world coordinate system can be freely selected. The following
arrangement is recommended:
● Origin of the world coordinate system at the machine zero point
● Orientation of the world coordinate system so that the coordinate axes are arranged in the
positive traversing direction of the machine linear main axes
Direction vectors
Within a kinematic chain, the direction vectors, which are used to specify the alignment of the
machine axes, are always specified in absolute terms, i.e. referred to the world coordinate
system.
5.2 Commissioning
5.2.1 General
5.2.1.1 Overview
The commissioning of the "Kinematic chain" function is performed using:
● Machine data
– Specification of the quantity structure
– Specification of the first element in the kinematic chain
● System variables
– Specification of the kinematic properties of an element
– Connection of the element to the kinematic chain
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 191
K7: Kinematic chain - only 840D sl
5.2 Commissioning
General
The system variables to describe the elements of kinematic chains have the following
properties:
● The prefix for all system variables of the kinematic chain is $NK_, (N for NC, K for kinematic).
● The system variables can be read and written via NC programs.
● The system variables can be stored in archives and loaded to the NC again.
Data type
STRING
All system variables of the STRING data type have the following properties:
● Maximum string length: 31 characters
● No distinction is made between upper and lower case
Example: "Axis1" is identical to "AXIS1"
● Spaces and special characters are permitted
Example: "Axis1" is not identical to "Axis 1"
● Names that start with two underscores "__" are reserved for system purposes and must
not be used for user-defined names.
Note
Leading space
Since spaces are valid and distinct characters, names that start with a space followed by two
underscores "__" can, in principle, be used for user-defined names. However, because they
can be easily mistaken for system names, this procedure is not recommended.
Index_1
The individual elements are addressed via index_1. Index 0 → 1. Element, index 1 → 2.
Element, ... n → (n+1) element, with n = ($MN_MM_MAXNUM_KIN_CHAIN_ELEM - 1)
All system variables of an element have the same index.
Special functions
192 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl
5.2 Commissioning
Index_2
For system variables that contain a vector, the coordinates of the vector are addressed via
index_2.
● 0 → X axis
● 1 → Y axis
● 2 → Z axis
3DUDPHWHUL]HGHOHPHQWVDQGVXEFKDLQVWKDWDUHQRW (OHPHQWVDQGVXEFKDLQVRIWKHDFWLYHNLQHPDWLF
SDUWRIWKHDFWLYHNLQHPDWLFFKDLQ FKDLQ
0'01B5227B.,1B(/(0B1$0(
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 193
K7: Kinematic chain - only 840D sl
5.2 Commissioning
5.2.3.1 Overview
Special functions
194 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl
5.2 Commissioning
Note
Establish a defined initial state
It is recommended that a defined initial state be generated before parameterizing the kinematic
chain. To do this, the system variables of the kinematic chain should be set to their default
value using function DELOBJ() (Page 213).
Change system variable values
If the value of one of the system variables listed above is changed, then the change becomes
immediately visible on the user interface, e.g. SINUMERIK Operate. The machine model of
the NC is only updated after explicitly requesting that the machine model is recalculated by
calling the PROTA() (Page 289) or PROTS() (Page 290) function.
5.2.3.2 $NK_NAME
Function
Enter the NC-wide unique element name in the system variable. The element is referenced
via this name, e.g. within kinematic chains. The name is also displayed in the graphical editor
of SINUMERIK Operate.
Syntax
$NK_NAME[<n>] = "<name>"
Meaning
Example
The 9th kinematic element is assigned the name "B axis":
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 195
K7: Kinematic chain - only 840D sl
5.2 Commissioning
5.2.3.3 $NK_NEXT
Function
If the element is part of a kinematic chain, the name of the following element should be entered
in the system variable.
Syntax
$NK_NEXT[<n>] = "<name>"
Meaning
Example
The 9th kinematic element does not have a following element:
5.2.3.4 $NK_PARALLEL
Function
The name of the element that branches off before the current element should be entered in
the system variable. The branching element is parallel to the current element. Changes to the
current element, e.g. position changes of the assigned machine axis, have no effect on the
parallel element.
Syntax
$NK_PARALLEL[<n>] = "<name>"
Special functions
196 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl
5.2 Commissioning
Meaning
Example
The "Offset to the rotary table" element is arranged parallel to the 9th kinematic element:
5.2.3.5 $NK_TYPE
Function
The element type should be entered in the system variable:
Type Description
AXIS_LIN The element describes a linear machine axis (linear axis) with direction vector
(Page 198) $NK_OFF_DIR and work offset $NK_A_OFF.
AXIS_ROT The element describes a rotary machine axis (rotary axis) with direction vector
(Page 201) $NK_OFF_DIR and work offset $NK_A_OFF or a spindle.
Note
The position of a spindle is considered differently depending on the function used by
the kinematic chain:
● Collision avoidance: Indeterminate position
● Kinematic transformation: Depending on the setting in $NT_CNTRL, bit 1-3, the
position corresponding to $NK_A_OFF or the speed setpoint is taken into
consideration
ROT_CONST The element describes a constant rotation around direction vector $NK_OFF_DIR
(Page 205) and angle $NK_A_OFF.
OFFSET The element describes a constant linear offset with the offset vector $NK_OFF_DIR.
(Page 207)
SWITCH The element defines a switch, which is switched using system variable
(Page 208) $NK_SWITCH (Page 210).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 197
K7: Kinematic chain - only 840D sl
5.2 Commissioning
Syntax
$NK_TYPE[<n>] = "<Typ>"
Meaning
Example
The 9th kinematic element is a rotary axis:
$NK_OFF_DIR
Function
The direction vector along which the linear axis $NK_AXIS assigned to the element moves,
should be entered in the system variable. The output coordinate system therefore results from
the input coordinate system, offset by the current position value of the linear axis and the work
offset specified in $NK_A_OFF.
Supplementary conditions:
● The direction vector must be specified as an absolute value, i.e. in relation to the world
coordinate system.
● The direction vector must be specified so that it points in the positive traversing direction
of the machine axis.
● The absolute value of the direction vector must be greater than 1*10-6.
Syntax
$NK_OFF_DIR[<n>,<k>] = <value>
Special functions
198 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl
5.2 Commissioning
Meaning
Example
; The linear axis of the 9th element moves along the direction vector. The direction vector is
the unit vector (1; 0; 0), rotated around Z with γ=90° in the X/Y plane, and around X with
α=10° in the Y/Z plane referred to the world coordinate system. The following values result
from this for the individual components (x, y, z) of the direction vector:
● x = cos(γ) * cos(α) = cos(90) * cos(10) = 0.0
● y = sin(γ) * cos(α) = sin(90) * cos(10) ≈ 0.985
● z = sin(α) = sin(10) ≈ 0.174
))B ',5
1 . B2
˞ _Y_
<
ˠ ]
[
; \
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 199
K7: Kinematic chain - only 840D sl
5.2 Commissioning
$NK_AXIS
Function
The name of the machine axis (MD10000 $MN_AXCONF_MACHAX_NAME_TAB) that is to
be assigned to the element should be entered in the system variable.
The output coordinate system of the element results from the input coordinate system offset
by the current position setpoint of the machine axis in the MCS and the offset specified in
$NK_A_OFF. The position setpoint of the machine axis contains all the active work offsets and
corrections.
In accordance with the AXIS_LIN type entered in $NK_TYPE, the machine axis must be a
linear axis:
MD30300 $MA_IS_ROT_AX = 0
Syntax
$NK_AXIS[<n>] = <name>
Meaning
Example
The 9th kinematic element is assigned the machine axis with the name V1 as linear axis.
$NK_A_OFF
Function
An additional work offset can be entered in the system variable for the assigned machine axis
($NK_AXIS). This work offset is only effective within the kinematic chain.
Syntax
$NK_A_OFF[<n>] = <value>
Special functions
200 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl
5.2 Commissioning
Meaning
Example
The linear axis zero point of the 9th kinematic element is moved by 30.0 mm compared to the
modelled kinematics.
The unit in which the numerical value is interpreted depends on the current input system (inch/
metric).
$NK_OFF_DIR
Function
The direction vector around which the rotary axis $NK_AXIS assigned to the element rotates,
should be entered in the system variable. The output coordinate system is therefore calculated
from the input coordinate system, rotated by the current position value of the rotary axis and
the offset specified in $NK_A_OFF around the direction vector $NK_OFF_DIR.
Supplementary conditions:
● The direction vector must be specified as an absolute value, i.e. in relation to the world
coordinate system.
● The direction vector must be specified so that, in accordance with the "right-hand rule", the
thumb points in the direction of the vector when the rotary axis turns in the positive direction.
● The absolute value of the direction vector must be greater than 1*10-6.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 201
K7: Kinematic chain - only 840D sl
5.2 Commissioning
Note
Spindle
If the assigned machine axis is a spindle, its position is taken into account in different ways
specific to the function:
● Collision avoidance: Indeterminate position
● Kinematic transformation: depending on the setting in $NT_CNTRL, bit 1-3
– Bit x == 0 → indeterminate position
– Bit x == 1 → current position value + $NK_A_OFF,
Syntax
$NK_OFF_DIR[<n>,<k>] = <value>
Meaning
Example
The rotary axis of the 9th element rotates around the direction vector. The direction vector is
the unit vector (1; 0; 0), rotated around Z with γ=90° in the X/Y plane, and around X with
α=10° in the Y/Z plane referred to the world coordinate system. The following values result
from this for the individual components (x, y, z) of the direction vector:
● x = cos(γ) * cos(α) = cos(90) * cos(10) = 0.0
● y = sin(γ) * cos(α) = sin(90) * cos(10) ≈ 0.985
● z = sin(α) = sin(10) ≈ 0.174
Special functions
202 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl
5.2 Commissioning
))B ',5
1 . B2
˞ _Y_
<
ˠ ]
[
; \
$NK_AXIS
Function
The name of the machine axis (MD10000 $MN_AXCONF_MACHAX_NAME_TAB) that is to
be assigned to the element should be entered in the system variable.
The output coordinate system of the element results from the input coordinate system rotated
through the current position setpoint of the machine axis in the MCS and the offset specified
in $NK_A_OFF. The position setpoint of the machine axis contains all the active work offsets
and corrections.
The machine axis type must correspond to the type entered in $NK_TYPE:
In accordance with the AXIS_ROT type entered in $NK_TYPE, the machine axis must be a
rotary axis:
MD30300 $MA_IS_ROT_AX = 1
Syntax
$NK_AXIS[<n>] = <name>
Meaning
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 203
K7: Kinematic chain - only 840D sl
5.2 Commissioning
Example
The 9th kinematic element is assigned the machine axis with the name B1 as rotary axis.
$NK_A_OFF
Function
An additional work offset can be entered in the system variable for the assigned machine axis
($NK_AXIS). This work offset is only effective within the kinematic chain.
Syntax
$NK_A_OFF[<n>] = <value>
Meaning
Example
The rotary axis zero point of the 9th kinematic elements is moved through 30.0° compared to
the modelled kinematics.
Special functions
204 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl
5.2 Commissioning
$NK_OFF_DIR
Function
The direction vector around which the constant rotation is performed should be entered in the
system variable. The output coordinate system is therefore calculated from the input coordinate
system, rotated through the angle specified in $NK_A_OFF around the direction vector
$NK_OFF_DIR.
Supplementary conditions:
● The direction vector must be specified as an absolute value, i.e. in relation to the world
coordinate system.
● The direction vector must be specified so that, in accordance with the "right-hand rule", the
thumb points in the direction of the vector when the rotary axis turns in the positive direction.
● The absolute value of the direction vector must be greater than 1*10-6.
Syntax
$NK_OFF_DIR[<n>,<k>] = <value>
Meaning
Example
The output coordinate system of the 9th Elements therefore arises from the input coordinate
system, rotated through the angle specified in $NK_A_OFF around the direction vector. The
direction vector is the unit vector (1; 0; 0), rotated around Z with γ=90° in the X/Y plane, and
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 205
K7: Kinematic chain - only 840D sl
5.2 Commissioning
around X with α=10° in the Y/Z plane referred to the world coordinate system. The following
values result from this for the individual components (x, y, z) of the direction vector:
● x = cos(γ) * cos(α) = cos(90) * cos(10) = 0.0
● y = sin(γ) * cos(α) = sin(90) * cos(10) ≈ 0.985
● z = sin(α) = sin(10) ≈ 0.174
))B ',5
˞ 1 . B2
<
)
$ B2 )
ˠ ] 1. B
[
; \
$NK_A_OFF
Function
The angle through which the output coordinate system is rotated compared with the input
coordinate system around the direction vector $NK_OFF_DIR should be entered in the system
variable.
Syntax
$NK_A_OFF[<n>] = <value>
Meaning
Special functions
206 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl
5.2 Commissioning
<value>: Angle
Data type: REAL
Range of values: - max. REAL value ≤ x ≤ + max. REAL value
Example
The angle of rotation of the 9th kinematic element is 30.0°.
$NK_OFF_DIR
Function
The offset vector by which the output coordinate system is moved compared to the input
coordinate system should be entered in the system variable.
The offset vector must be specified as an absolute value, i.e. in relation to the world coordinate
system.
Syntax
$NK_OFF_DIR[<n>,<k>] = <value>
Meaning
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 207
K7: Kinematic chain - only 840D sl
5.2 Commissioning
Example
The output coordinate system of the 9th Elements are obtained from the input coordinate
system, offset through offset vector (x, y, z) - with the following coordinates referred to the
world coordinate system:
● x = 10.0
● y = 20.0
● z = 30.0
=
))B ',5
1 . B2
<
]
[
; \
$NK_SWITCH_INDEX
Function
The switch is emulated using system variables $NK_SWITCH_INDEX and
$NK_SWITCH_POS (see the following paragraph)
Index i must be entered in $NK_SWITCH_INDEX, with which the switch is closed and opened
via system variable $NK_SWITCH[<i>].
Syntax
$NK_SWITCH_INDEX[<n>] = <i>
Special functions
208 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl
5.2 Commissioning
Meaning
$NK_SWITCH_ Index i, via which the switch is addressed using system variable
INDEX: $NK_SWITCH[<i>]
Data type: INT
Range of values: -1, 0, 1, 2, ... ($MN_MAXNUM_NK_SWITCHES (Page 193) - 1)
-1: The state of the switch is always CLOSED
Default value: -1
<n>: System variable or element index
Data type: INT
Range of values: 0, 1, 2, ... ($MN_MM_MAXNUM_KIN_CHAIN_ELEM
(Page 193) - 1)
<i>: Index value
Data type: INT
Example
The 9th element of the kinematic chain is a switch, which is activated by system variable
$NK_SWITCH[ 2 ].
$NK_SWITCH_POS
Function
A switch is emulated by system variables $NK_SWITCH_INDEX (see the previous paragraph)
and $NK_SWITCH_POS.
In $NK_SWITCH_POS, value p (close value) should be entered, where the switch is brought
into the CLOSED position by system variable $NK_SWITCH[<i>].
Independent of $NK_SWITCH[<i>], the switch has the following states:
● CLOSED: The close value p of the switch, specified in $NK_SWITCH_POS is the same as
the actual value of $NK_SWITCH[<i>].
$NK_SWITCH_POS[<n>] == $NK_SWITCH[<i>]
The previous element of the kinematic chain is connected with the output, i.e. the following
element of the switch specified in $NK_NEXT.
● OPEN: The close value of the switch, specified in $NK_SWITCH_POS, is not the same as
the actual value of $NK_SWITCH[<i>].
$NK_SWITCH_POS[<n>] ≠ $NK_SWITCH[<i>]
The previous element of the kinematic chain is notconnected with the output, i.e. the
following element of the switch specified in $NK_NEXT.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 209
K7: Kinematic chain - only 840D sl
5.2 Commissioning
Note
Parallel element $NK_PARALLEL
The connection to a parallel element specified in $NK_PARALLEL is not influenced by the
switch. This means that the previous element is always connected to the element in the branch
parallel with the switch.
Syntax
$NK_SWITCH_POS[<n>] = <p>
Meaning
Example
The 9th element of the kinetic chain is a switch, which is closed if $NK_SWITCH[ 3 ] == 1
See also
$NK_SWITCH (Page 210)
5.2.3.11 $NK_SWITCH
Function
The switch variable comprises an array of switch positions i. The actual switch positions p
should be entered in this array.
Function
To parameterize (Page 208) a switchi in a kinematic chain, switchiwith index i must be
connected to the switch variable and its switch position p for the CLOSED state assigned to it.
$NK_SWITCH_INDEX[<n>] = <i>
Special functions
210 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl
5.2 Commissioning
$NK_SWITCH_POS[<n>] = <p>
Switchi can then be closed and opened via index i of the switch variable:
Close: $NK_SWITCH[<i>] = <p>
Open: $NK_SWITCH[<i>] ≠ <p>
As many switches as required can be connected with an index of the switch variable.
Syntax
$NK_SWITCH[<i>] = <p>
Meaning
Example
The 9th kinematic element is assigned the name "B axis":
5.2.4.1 Overview
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 211
K7: Kinematic chain - only 840D sl
5.2 Commissioning
Note
Element names
The system does not monitor as to whether the element names of the kinematic chain, which
are referenced to parameterize transformation, were allocated a multiple number of times. If
names such as these are available a multiple number of times, then the system data of the
transformation always refer to the corresponding element with the lowest index.
Establish a defined initial state
It is recommended that a defined initial state be generated before parameterizing the kinematic
chain. To do this, the system variables of the kinematic chain should be set to their default
value using function DELOBJ() (Page 213).
Change system variable values
Changes to system variable values of the transformation data $NT_... only become effective
when the NEWCONF machine data becomes effective. This can be done using the softkey
on the user interface in the operating area "Commissioning" > "Machine data " > "Set MD
active", in a program using the NEWCONF command or using a program end reset, channel
reset or a warm or cold restart.
5.2.5.1 Overview
Special functions
212 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl
5.3 Programming
Note
Element names
The system does not monitor as to whether the element names of the kinematic chain, which
are referenced to parameterize transformation, were allocated a multiple number of times. If
names such as these are available a multiple number of times, then the system data of the
transformation always refer to the corresponding element with the lowest index.
Establish a defined initial state
It is recommended that a defined initial state be generated before parameterizing the kinematic
chain. To do this, the system variables of the kinematic chain should be set to their default
value using function DELOBJ() (Page 213).
Change system variable values
Changes to system variable values of the transformation data $NT_... only become effective
when the NEWCONF machine data becomes effective. This can be done using the softkey
on the user interface in the operating area "Commissioning" > "Machine data " > "Set MD
active", in a program using the NEWCONF command or using a program end reset, channel
reset or a warm or cold restart.
5.3 Programming
Syntax
[<RetVal>=] DELOBJ(<CompType>[,,,<NoAlarm>)])
[<RetVal>=] DELOBJ(<CompType>,<Index1>[,,<NoAlarm>])
[<RetVal>=] DELOBJ(<CompType>[,<Index1>][,<Index2>][,<NoAlarm>])
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 213
K7: Kinematic chain - only 840D sl
5.3 Programming
Meaning
DELOBJ: Deletion of elements from kinematic chains, protection areas, protection area ele‐
ments, collision pairs and transformation data
<CompType>: Component type to be deleted
Data type: STRING
Value: "KIN_CHAIN_ELEM"
Meaning: System variables of all kinematic elements: $NK_...
Value: "KIN_CHAIN_SWITCH"
Meaning: System variable $NK_SWITCH[<i>]
Value: "KIN_CHAIN_ALL"
Meaning: All kinematic elements and switches.
Is the same as the successive call of DELOBJ with "KIN_CHAIN_ELEM" and
"KIN_CHAIN_SWITCH"
Value: "PROT_AREA"
Meaning: System variables of the protection areas:
● $NP_PROT_NAME
● $NP_CHAIN_NAME
● $NP_CHAIN_ELEM
● $NP_1ST_PROT
Value: "PROT_AREA_ELEM"
Meaning: System variables of the protection area elements of machine protection
areas and/or automatic tool protection areas:
● $NP_NAME
● $NP_NEXT
● $NP_NEXTP
● $NP_COLOR
● $NP_D_LEVEL
● $NP_USAGE
● $NP_TYPE
● $NP_FILENAME
● $NP_PARA
● $NP_OFF
● $NP_DIR
● $NP_ANG
Value: "PROT_AREA_COLL_PAIRS"
Meaning: System variables of the collision pairs:
● $NP_COLL_PAIR
● $NP_SAFETY_DIST
Value: "PROT_AREA_ALL"
Meaning: All protection areas, protection area elements and collision pairs (system
variable $NP_... )
Is the same as the successive call of DELOBJ with "PROT_AREA,"
"PROT_AREA_ELEM," and "PROT_AREA_COLL_PAIRS"
Value: "TRAFO_DATA"
Meaning: System variables of all transformations $NT_...
Special functions
214 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl
5.3 Programming
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 215
K7: Kinematic chain - only 840D sl
5.3 Programming
Syntax
<RetVal> = NAMETOINT(<SysVar>,<Name>[,<NoAlarm>])
Meaning
Example
Program code Comment
DEF INT INDEX
$NP_PROT_NAME[27]="Cover"
...
INDEX = NAMETOINT("$NP_PROT_NAME","Cover") ; INDEX == 27
Special functions
216 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl
5.4 Example
5.4 Example
5.4.1 Specifications
General Information
The principle approach when parameterizing a kinematic chain with three switches using a
part program is shown using as example a 5-axis machine with three different tool heads,
which are used alternating. All of the system variables, relevant for kinematic chain, are written
to the part program:
● Kinematic chain $NK_...
Kinematic chain
&$$;,6
2))6(7
$$;,6
&$;,6
&$;,62))6(7
722/5()
=$;,6
6+($'
6
;,
$
<
6+($'
;$;,6
6+($'
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 217
K7: Kinematic chain - only 840D sl
5.4 Example
'2&.B3B +($'
6:,7&+ 2))6(7
'2&.B3B +($'
6:,7&+ 2))6(7
Special functions
218 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl
5.4 Example
Program code
;===========================================================
; Definitions
;===========================================================
N10 DEF INT KIE_CNTR ; COUNTER FOR ELEMENTS OF THE KIN. CHAINS
N20 DEF INT RETVAL
;
;===========================================================
; Initialization of collision data
;===========================================================
; Reset all parameters to their initial values:
N30 RETVAL = DELOBJ("KIN_CHAIN_ELEM")
N40 KIE_CNTR = 0
;
;===========================================================
; Kinematic chain
;===========================================================
; KE1: OFFSET: Root
; ----------------------------------------------------------
N50 $NK_TYPE[KIE_CNTR] = "OFFSET"
N60 $NK_NAME[KIE_CNTR] = "ROOT"
N70 $NK_NEXT[KIE_CNTR] = "X-AXIS"
N80 KIE_CNTR = KIE_CNTR + 1
;
; ----------------------------------------------------------
; Kinematic element: LINEAR AXIS: X axis
; ----------------------------------------------------------
N90 $NK_TYPE[KIE_CNTR] = "AXIS_LIN"
N100 $NK_NAME[KIE_CNTR] = "X-AXIS"
N110 $NK_NEXT[KIE_CNTR] = "Y-AXIS"
N120 $NK_AXIS[KIE_CNTR] = "X1"
;
N130 $NK_OFF_DIR[KIE_CNTR,0] = 1.0 ; X
N140 KIE_CNTR = KIE_CNTR + 1
;
; ----------------------------------------------------------
; Kinematic element: LINEAR AXIS: Y axis
; ----------------------------------------------------------
N150 $NK_TYPE[KIE_CNTR] = "AXIS_LIN"
N160 $NK_NAME[KIE_CNTR] = "Y-AXIS"
N170 $NK_NEXT[KIE_CNTR] = "Z-AXIS"
N180 $NK_AXIS[KIE_CNTR] = "Y1"
;
N190 $NK_OFF_DIR[KIE_CNTR,1] = 1.0 ; Y
N200 KIE_CNTR = KIE_CNTR + 1
;
; ----------------------------------------------------------
; Kinematic element: LINEAR AXIS: Z axis
; ----------------------------------------------------------
N210 $NK_TYPE[KIE_CNTR] = "AXIS_LIN"
N220 $NK_NAME[KIE_CNTR] = "Z-AXIS"
N230 $NK_NEXT[KIE_CNTR] = "C-AXIS-OFFSET"
N240 $NK_AXIS[KIE_CNTR] = "Z1"
;
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 219
K7: Kinematic chain - only 840D sl
5.4 Example
Program code
N250 $NK_OFF_DIR[KIE_CNTR,2] = 1.0 ; Z
N260 KIE_CNTR = KIE_CNTR + 1
;
; ----------------------------------------------------------
; Kinematic element: OFFSET: C axis
; ----------------------------------------------------------
N270 $NK_TYPE[KIE_CNTR] = "OFFSET"
N280 $NK_NAME[KIE_CNTR] = "C-AXIS-OFFSET"
N290 $NK_NEXT[KIE_CNTR] = "C-AXIS"
;
N300 $NK_OFF_DIR[KIE_CNTR,2] = 600.0 ; Z direction
N310 KIE_CNTR = KIE_CNTR + 1 ;
;
; ----------------------------------------------------------
; Kinematic element: ROTARY AXIS: C axis
; ----------------------------------------------------------
N320 $NK_TYPE[KIE_CNTR] = "AXIS_ROT"
N330 $NK_NAME[KIE_CNTR] = "C-AXIS"
N340 $NK_NEXT[KIE_CNTR] = "C-A-OFFSET"
N350 $NK_AXIS[KIE_CNTR] = "C1"
;
N360 $NK_OFF_DIR[KIE_CNTR,2] = 1.0 ; Z direction
N370 KIE_CNTR = KIE_CNTR + 1
;
; ----------------------------------------------------------
; Kinematic element: OFFSET: C-A axis
; ----------------------------------------------------------
N380 $NK_TYPE[KIE_CNTR] = "OFFSET"
N390 $NK_NAME[KIE_CNTR] = "C-A-OFFSET"
N400 $NK_NEXT[KIE_CNTR] = "A-AXIS"
;
N410 $NK_OFF_DIR[KIE_CNTR,0] = 20.0 ; X direction
N420 $NK_OFF_DIR[KIE_CNTR,1] = -5.0 ; Y direction
N430 KIE_CNTR = KIE_CNTR + 1
;
; ----------------------------------------------------------
; Kinematic element: ROTARY AXIS: A axis
; ----------------------------------------------------------
N440 $NK_TYPE[KIE_CNTR] = "AXIS_ROT"
N450 $NK_NAME[KIE_CNTR] = "A-AXIS"
N460 $NK_NEXT[KIE_CNTR] = "TOOL-REF"
N470 $NK_AXIS[KIE_CNTR] = "A1"
;
N480 $NK_OFF_DIR[KIE_CNTR,0] = 1.0 ; X direction
N490 KIE_CNTR = KIE_CNTR + 1
;
; ----------------------------------------------------------
; Kinematic element: OFFSET: Tool reference
; ----------------------------------------------------------
N500 $NK_TYPE[KIE_CNTR] = "OFFSET"
N510 $NK_NAME[KIE_CNTR] = "TOOL-REF"
N520 $NK_NEXT[KIE_CNTR] = "DOCKING_POINT 1"
;
N530 $NK_OFF_DIR[KIE_CNTR,2] = -200.0 ; Z direction
N540 KIE_CNTR = KIE_CNTR + 1
;
Special functions
220 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K7: Kinematic chain - only 840D sl
5.4 Example
Program code
; ----------------------------------------------------------
; Kinematic element: Switch 3/1
; ----------------------------------------------------------
N550 $NK_TYPE[KIE_CNTR] = "SWITCH"
N560 $NK_NAME[KIE_CNTR] = "DOCKING_POINT 1"
N570 $NK_NEXT[KIE_CNTR] = "HEAD 1"
N580 $NK_PARALLE[KIE_CNTR] = "DOCKING_POINT 2"
;
N590 $NK_SWITCH_INDEX[KIE_CNTR] = 3 ; Index 3
N600 $NK_SWITCH_POS[KIE_CNTR] = 1 ; switch position 1
N610 KIE_CNTR = KIE_CNTR + 1
;
; ----------------------------------------------------------
; Kinematic element: Switch 3/2
; ----------------------------------------------------------
N620 $NK_TYPE[KIE_CNTR] = "SWITCH"
N630 $NK_NAME[KIE_CNTR] = "DOCKING_POINT 2"
N640 $NK_NEXT[KIE_CNTR] = "HEAD 2"
N650 $NK_PARALLE[KIE_CNTR] = "DOCKING_POINT 3"
;
N660 $NK_SWITCH_INDEX[KIE_CNTR] = 3 ; Index 3
N670 $NK_SWITCH_POS[KIE_CNTR] = 2 ; switch position 2
N680 KIE_CNTR = KIE_CNTR + 1
;
; ----------------------------------------------------------
; Kinematic element: Switch 3/3
; ----------------------------------------------------------
N690 $NK_TYPE[KIE_CNTR] = "SWITCH"
N700 $NK_NAME[KIE_CNTR] = "DOCKING_POINT 3"
N710 $NK_NEXT[KIE_CNTR] = "HEAD 3"
N720 $NK_PARALLE[KIE_CNTR] = ""
N730 $NK_SWITCH_INDEX[KIE_CNTR] = 3 ; Index 3
N740 $NK_SWITCH_POS[KIE_CNTR] = 3 ; switch position 3
N750 KIE_CNTR = KIE_CNTR + 1
;
; ----------------------------------------------------------
; Kinematic element: OFFSET: HEAD 1
; ----------------------------------------------------------
N760 $NK_TYPE[KIE_CNTR] = "OFFSET"
N770 $NK_NAME[KIE_CNTR] = "HEAD 1"
N780 $NK_NEXT[KIE_CNTR] = ""
;
N790 $NK_OFF_DIR[KIE_CNTR,0] = 100 ; X direction
N800 $NK_OFF_DIR[KIE_CNTR,1] = -30 ; Y direction
N810 KIE_CNTR = KIE_CNTR + 1
;
; ----------------------------------------------------------
; Kinematic element: OFFSET: HEAD 2
; ----------------------------------------------------------
N820 $NK_TYPE[KIE_CNTR] = "OFFSET"
N830 $NK_NAME[KIE_CNTR] = "HEAD 2"
N840 $NK_NEXT[KIE_CNTR] = ""
;
N850 $NK_OFF_DIR[KIE_CNTR,2] = -230 ; Z direction
N860 KIE_CNTR = KIE_CNTR + 1
;
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 221
K7: Kinematic chain - only 840D sl
5.5 Data lists
Program code
; ----------------------------------------------------------
; Kinematic element: OFFSET: HEAD 3
; ----------------------------------------------------------
N870 $NK_TYPE[KIE_CNTR] = "OFFSET"
N880 $NK_NAME[KIE_CNTR] = "HEAD 3"
N890 $NK_NEXT[KIE_CNTR] = ""
;
N900 $NK_OFF_DIR[KIE_CNTR,0] = 50 ; X direction
N910 $NK_OFF_DIR[KIE_CNTR,1] = -20 ; Y direction
N920 $NK_OFF_DIR[KIE_CNTR,2] = -90 ; Z direction
N930 KIE_CNTR = KIE_CNTR + 1
End
Identifier Description
$NK_NAME Name of the kinematic element
$NK_NEXT Name of the next element in the kinematic chain
$NK_PARALLEL Name of the first element of a parallel branching kinematic chain before the
element
$NK_TYPE Type of the kinematic element
$NK_OFF_DIR Depends on $NK_TYPE: Offset or direction vector
$NK_AXIS Name of the assigned machine axis or object name
$NK_A_OFF Work offset in the element for linear or rotary axes
$NK_SWITCH_INDEX Index i, via which the switch is addressed using system variable
$NK_SWITCH[<i>]
$NK_SWITCH_POS Switch position CLOSED
$NK_SWITCH Switch variable
Special functions
222 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl 6
6.1 Function description
6.1.1 Features
This section describes how the geometry of machine parts can be mapped based on protection
areas and parameterized in the control using system variables for NC functions such as
"collision avoidance".
The system variables are retentatively saved in the NC and can be archived and/or read as
"NC data" via SINUMERIK Operate using the commissioning archive.
By assigning a protective area to an element of the kinematic chain (Page 187) described in
the previous section, the position and motion of the machine part can be clearly described
within the machine space.
Note
Graphic editor
As an alternative to writing the system variables in a part program, the machine can be modeled
from the SINUMERIK Operate user interface:
Operating area: "Commissioning" > "NC" > "Machine model"
Changes to the machine model
The direct changes to the machine model at the system variables only become visible at the
user interface after activating with PROTA or PROTS . Changes to the machine model made at
the user interface are immediately adopted in the system variables.
Protection area
The protection areas are the central element when geometrically modeling a machine. The
geometric dimensions of a machine part, its reference to the kinematic chain and additional
general features are described by a protection area.
A protection area has the following parameters:
● Name of the protection area
● Name of the kinematic element to which the protection area is assigned
● Type of the protection area
● Name of the first protection area element
● Color and transparency of the protection area
● Detail level for the protection area
● Number of NC/PLC interface bits of the protection area
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 223
K8: Geometric machine modeling - only 840D sl
6.1 Function description
Kinematic chain
The corresponding protection area is assigned to an element of the kinematic chain in order
to map the position and motion of a machine part. The geometric data of the protection area
relates then to the local coordinate system of this kinematic element.
Special functions
224 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.1 Function description
VH
.LQHPDWLFFKDLQ ]
V
H H \
VH
] [
V
Y
VH \
[
VH VH
=
VH
*HRPHWULFPDFKLQHPRGHOLQJ
<
; H H
0DFKLQHFRRUGLQDWHV\VWHP
:RUOGFRRUGLQDWHV\VWHP
Figure 6-1 Protection area, protection area elements and kinematic chain
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 225
K8: Geometric machine modeling - only 840D sl
6.1 Function description
Kinematic transformations
The tool reference point may only be determined via the kinematic chain when defining a
kinematic transformation. Offsets by the transformation element of the tool protection area are
not taken into account.
NOTICE
Determination of the tool reference point for kinematic transformations
Offsets of the tool reference point by the transformation element of the tool protection area
are not taken into account by kinematic transformations.
Special functions
226 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.1 Function description
Tool modeling
The model of a tool is created by the control heuristically from the tool data. The tool data used
for this (L1, L2, L3, R) is always the the overall dimensions resulting from the individual
components, e.g. length plus wear, as is also entered in the program processing for tool offset.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 227
K8: Geometric machine modeling - only 840D sl
6.1 Function description
Tool model
A tool is modeled as standard with an accuracy of one third of the collision tolerance
(Page 279). The geometric data of the modeled tool is stored in an internal file in STL format:
● Directory: _N_PROT3D_DIR/_N_TOOL_DIR
● Identifiers: Name of the associated protection area with prefix _N_ and ending with _STL
Special functions
228 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
The coordinate system of the geometric data always has its origin at the point from which the
tool length offsets point to the tip of the tool.
System variable
All parameters for an automatic tool protection area can be read via System variable
(Page 244).
6.2 Commissioning
6.2.1 General
6.2.1.1 Overview
The commissioning of the "Collision avoidance" function is performed using:
● Machine data
– Specifications for the quantity structure of protection areas, protection area elements,
NC/PLC interface signals, triangles for the geometry modelling
– Creation mode of the machine model
– Creation mode for automatic tool protection areas
● System variables
– Parameterization of the protection areas
– Parameterization of the protection area elements of a protection area
General
The system variables to describe the protection areas or protection area elements have the
following properties:
● Prefix: $NP_, (N for NC, P for protection).
● They can be read and written via NC programs.
● They can be stored in archives and loaded to the NC again.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 229
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Data type
STRING
All system variables of the STRING data type have the following properties:
● Maximum string length: 31 characters
● No distinction is made between upper and lower case
Example: "Axis1" is identical to "AXIS1"
● Spaces and special characters are permitted
Example: "Axis1" is not identical to "Axis 1"
● Names that start with two underscores "__" are reserved for system purposes and must
not be used for user-defined names.
Note
Leading space
Since spaces are valid and distinct characters, names that start with a space followed by two
underscores "__" can, in principle, be used for user-defined names. However, because they
can be easily mistaken for system names, this procedure is not recommended.
Index_1
Index_2
Depending on the respective system variables, index_2 has different meanings.
See also
Deletion of components (DELOBJ) (Page 213)
Special functions
230 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
&& )) )) && )) )) )) )) ))&& ))))
&& )) )) && )) )) )) )) ))&& ))))
&& )) )) && )) )) )) )) ))&& ))))
&& )) )) && )) )) )) )) ))&& ))))
&& && && && &&& ))&& ))&& &&& && && && && ))&& ))&& ))&& ))&& ))&&&& ))))&&
)) )) )) )) &&)) )))) )))) &&)) )) )) )) )) )))) )))) )))) )))) ))&&)) ))))))
)) )) )) )) &&)) )))) )))) &&)) )) )) )) )) &&)) &&)) &&)) &&)) &&&&)) &&))))
&& && && && &&& ))&& ))&& &&&& && && && && &&&& &&&& &&&& &&&& &&&&&& &&))&&
&& )) )) && && && && && &&&& &&))
&& )) )) && && && && && &&&& &&))
&& )) )) && && && && && &&&& &&))
&& )) )) && && && && && &&&& &&))
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 231
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
6.2.2.2 Maximum number of protection area elements for machine protection areas
The maximum number of parameterizable protection area elements for machine protection
areas is specified using machine data ($NP_PROT_TYPE == "MACHINE" (Page 236)).
MD18892 $MN_MM_MAXNUM_3D_PROT_AREA_ELEM = <number>
6.2.2.3 Maximum number of protection area elements for automatic tool protection areas
The maximum number of protection area elements for automatic tool protection areas is
specified with the machine data. For each automatic tool protection area the control precisely
creates one protection area element. As a consequence, using the value parameterized here,
the maximum possible number of parameterizable automatic tool protection areas
($NP_PROT_TYPE == "TOOL" (Page 236)) is also simultaneously defined.
MD18893 $MN_MM_MAXNUM_3D_T_PROT_ELEM = <number>
6.2.2.4 Maximum number of NC/PLC interface signals for the preactivation of protection areas
The control is informed of the maximum number of used NC/PLC interface signals of interface
DB10, DBX234.0 - DBX241.7 (Page 833) (collision avoidance: activate protection area) with
the machine data. The number of interface signals used increases the memory space required
for each part program block. Counting the number of used NC/PLC interface signal starts at
DB10, DBX234.0
MD18897 $MN_MM_MAXNUM_3D_INTERFACE_IN = <number>
Special functions
232 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
The control system automatically models the protection area bodies based on the geometric
data of the tool active at the time of creation. The number of triangles correspondingly
increases:
● as the geometric complexity of the tool increases.
● as the parameterized collision tolerance decreases.
Note
Protection area bodies and collision tolerance
The protection area bodies of automatic tool protection areas are, as standard, created by the
control with a precision of 1/3 of the collision tolerance (Page 279).
<Mode>
Bit Val‐ Meaning
ue
0 0 Do not apply heuristic model generation
1 Heuristic model generation using tool data
6.2.3.1 Overview
A protection area is parameterized with the following system variables:
Name Meaning
$NP_PROT_NAME Name of the protection area
$NP_CHAIN_ELEM Name of the kinematic element to which the protection area is as‐
signed
$NP_PROT_TYPE Type of the protection area
$NP_1ST_PROT Name of the first protection area element
$NP_PROT_COLOR Color and transparency of the protection area.
$NP_PROT_D_LEVEL Detail level for the protection area
$NP_BIT_NO Number of NC/PLC interface bits of the protection area
$NP_INIT_STAT Initialization status of the protection area
$NP_INDEX Address of the geometric data of the machine element to be protected
(only relevant for automatic protection areas)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 233
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Note
Establish a defined initial state
It is recommended that a defined initial state be generated before parameterizing the protection
areas. To do this, set the system variables of the protection areas to their default values with
the DELOBJ() (Page 213) function.
Change system variable values
If the value of one of the system variables listed above is changed, the change becomes
immediately visible at the user interface, e.g. SINUMERIK Operate. The machine model of the
NC is only updated after explicitly requesting that the machine model is recalculated by calling
the PROTA() (Page 289) or PROTS() (Page 290) function.
6.2.3.2 $NP_PROT_NAME
Function
Enter the NC-wide unique protection area name in the system variable. The protection area
is referenced via this name, e.g. by a protection area element. The name is also displayed in
the graphical editor of SINUMERIK Operate.
Syntax
$NP_PROT_NAME[<m>] = "<name>"
Meaning
Example
The 6th protection area is assigned the name "Spindle":
Special functions
234 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
6.2.3.3 $NP_CHAIN_ELEM
Function
Enter the name of the kinematic element (Page 195) to which the protection area will be
connected in the system variable.
Note
Reference coordinate system
The geometric data of the protection area, starting from the first protection area element
($NP_1ST_PROT (Page 237)), refer to the local coordinate system of the kinematic element,
with which the protection area is connected.
Syntax
$NP_CHAIN_ELEM[<m>] = "<name>"
Meaning
$NP_CHAIN_ELEM: Name of the kinematic element to which the protection area will be connected
Data type: STRING
Default value: "" (empty string)
<m>: System variable or protection area index
Data type: INT
Range of values: 0, 1, 2, ... ($MN_MM_3D_MAXNUM_PROT_AREAS - 1)
<name>: Name of the kinematic element
Data type: STRING
Range of values: Names parameterized in $NK_NAME (Page 195)
Example
The 6th protection area is connected to the kinematic element with the name "Z axis":
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 235
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
6.2.3.4 $NP_PROT_TYPE
Function
The protection area type should be entered in the system variable:
Type Description
MACHINE Machine protection area
The protection area body is defined using one or several protection area elements.
$NP_1ST_PROT (Page 237) refers to the first protection area element.
TOOL Automatic tool protection area
The control calculates the dimensions of the protection area body from the tool data.
$NP_INDEX (Page 243) refers to the tool.
Syntax
$NP_PROT_TYPE[<m>] = "<type>"
Meaning
Example
The 6th protection area is a machine protection area:
Special functions
236 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
6.2.3.5 $NP_1ST_PROT
Function
Enter the name of the first protection area element (Page 245) in the system variable.
1H[WSURWHFWLRQDUHDHOHPHQW13B1(;7
)LUVWSURWHFWLRQDUHDHOHPHQW13B67B3527
6WDUWRIWKHHIIHFWLYHSURWHFWLRQDUHDHOHPHQWFKDLQ
RIWKHSURWHFWLRQDUHD
Syntax
$NP_1ST_PROT[<m>] = "<name>"
Meaning
$NP_1ST_PROT: Name of the first protection area element of the protection area
Data type: STRING
Range of values: Names parameterized in $NP_NAME (Page 245)
Default value: "" (empty string)
<m>: System variable or protection area index
Data type: INT
Range of values: 0, 1, 2, ... ($MN_MM_3D_MAXNUM_PROT_AREAS - 1)
<name>: Protection area name
Data type: STRING
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 237
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Example
The 1st protection area element which makes up the 6th protection area has the name "Spindle
head":
6.2.3.6 $NP_PROT_COLOR
Function
Enter the protection area element-specific value for alpha/transparency and color (ARGB) in
the system variable. This value is used for the display of the protection area or protection area
element on the user interface. If a separate value is entered for a protection area element in
$NP_COLOR (Page 249), this is used for the display of the protection area element.
Structure
Alpha/transparency and color are specified as a double word in hexadecimal format:
AARRGGBBH
● 1. - 3. Byte: RGB color value. See Chapter "Color chart (Page 231)".
● 4. Byte: Alpha channel or transparency value
Special functions
238 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Syntax
$NP_PROT_COLOR[<m>] = <value>
Meaning
Example
The 6th protection area is to be displayed half transparent and in a green-blue color on the
user interface:
● AA = 7FH = 127D ≙ 50% transparency
● RR (red) = 00 ≙ no red component
● GG (green) = FFH = 255D ≙ 100% green color component
● BB (blue) = 33H = 51D ≙ 20% blue color component
6.2.3.7 $NP_PROT_D_LEVEL
Function
The detail level as of which the protection area or the protection area elements are displayed
on the user interface is specified via the system variable. If a separate value is entered for a
protection area element in $NP_D_LEVEL (Page 250), this is used for the display of the
protection area element.
Detail level
● Lowest detail level: 0
● Highest detail level: 3
If the detail level x is selected for the display on the HMI, all protection areas and protection
area elements are displayed for which the following applies for the detail level D: D ≤ x
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 239
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Syntax
$NP_PROT_D_LEVEL[<m>] = <value>
Meaning
Example
The 6th protection area is to be displayed as of detail level 3:
6.2.3.8 $NP_BIT_NO
Function
Enter the bit number of an NC/PLC interface signal of the 64-bit wide interface with which the
protection area is to be connected in system variable $NP_BIT_NO. If the protection area is
not to be connected to an NC/PLC interface signal, enter the value -1.
NC/PLC interface
Activation / deactivation of the protection area can be requested via NC/PLC interface signals
via the PLC user program or this can be used for feedback on the current status to the PLC
user program:
● Requirement: DB10, DBX234.0 - DBX241.7 (Page 833)
● Feedback: DB10, DBX226.0 - DBX233.7 (Page 834)
Precondition
In order that the NC/PLC interface is taken into consideration by the protection area, the status
of the protection area must be "preactivated" or "PLC-controlled": $NP_INIT_STAT
(Page 242) == "P" (preactivated or PLC-controlled)
Special functions
240 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Syntax
$NP_BIT_NO[<m>] = <number>
Meaning
$NP_BIT_NO: Bit number of the interface signal to activate/deactivate the protection area
Data type: INT
Range of values: -1, 0, 1, 2, ... ($MN_MM_MAXNUM_3D_INTERFACE_IN - 1)
Default value: -1 (no interface signal selected)
<m>: System variable or protection area index
Data type: INT
Range of values: 0, 1, 2, ... ($MN_MM_3D_MAXNUM_PROT_AREAS - 1)
<number>: Bit number
Data type: INT
Example
The 6th protection area is assigned to the 18th bit of the interface (DB10.DBX236.1):
Bit DB10, DB10, Bit DB10, DB10, Bit DB10, DB10, Bit DB10, DB10,
→ (PLC→NC) (NC→PLC) → (PLC→NC) (NC→PLC) → (PLC→NC) (NC→PLC) → (PLC→NC) (NC→PLC)
0 DBX234.0 DBX226.0 8 DBX235.0 DBX227.0 16 DBX236.0 DBX228.0 24 DBX237.0 DBX229.0
1 DBX234.1 DBX226.1 9 DBX235.1 DBX227.1 17 DBX236.1 DBX228.1 25 DBX237.1 DBX229.1
2 DBX234.2 DBX226.2 10 DBX235.2 DBX227.2 18 DBX236.2 DBX228.2 26 DBX237.2 DBX229.2
3 DBX234.3 DBX226.3 11 DBX235.3 DBX227.3 19 DBX236.3 DBX228.3 27 DBX237.3 DBX229.3
4 DBX234.4 DBX226.4 12 DBX235.4 DBX227.4 20 DBX236.4 DBX228.4 28 DBX237.4 DBX229.4
5 DBX234.5 DBX226.5 13 DBX235.5 DBX227.5 21 DBX236.5 DBX228.5 29 DBX237.5 DBX229.5
6 DBX234.6 DBX226.6 14 DBX235.6 DBX227.6 22 DBX236.6 DBX228.6 30 DBX237.6 DBX229.6
7 DBX234.7 DBX226.7 15 DBX235.7 DBX227.7 23 DBX236.7 DBX228.7 31 DBX237.7 DBX229.7
Bit DB10, DB10, Bit DB10, DB10, Bit DB10, DB10, Bit DB10, DB10,
→ (PLC→NC) (NC→PLC) → (PLC→NC) (NC→PLC) → (PLC→NC) (NC→PLC) → (PLC→NC) (NC→PLC)
32 DBX238.0 DBX230.0 40 DBX239.0 DBX231.0 48 DBX240.0 DBX232.0 56 DBX241.0 DBX233.0
33 DBX238.1 DBX230.1 41 DBX239.1 DBX231.1 49 DBX240.1 DBX232.1 57 DBX241.1 DBX233.1
34 DBX238.2 DBX230.2 42 DBX239.2 DBX231.2 50 DBX240.2 DBX232.2 58 DBX241.2 DBX233.2
35 DBX238.3 DBX230.3 43 DBX239.3 DBX231.3 51 DBX240.3 DBX232.3 59 DBX241.3 DBX233.3
36 DBX238.4 DBX230.4 44 DBX239.4 DBX231.4 52 DBX240.4 DBX232.4 60 DBX241.4 DBX233.4
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 241
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Bit DB10, DB10, Bit DB10, DB10, Bit DB10, DB10, Bit DB10, DB10,
→ (PLC→NC) (NC→PLC) → (PLC→NC) (NC→PLC) → (PLC→NC) (NC→PLC) → (PLC→NC) (NC→PLC)
37 DBX238.5 DBX230.5 45 DBX239.5 DBX231.5 53 DBX240.5 DBX232.5 61 DBX241.5 DBX233.5
38 DBX238.6 DBX230.6 46 DBX239.6 DBX231.6 54 DBX240.6 DBX232.6 62 DBX241.6 DBX233.6
39 DBX238.7 DBX230.7 47 DBX239.7 DBX231.7 55 DBX240.7 DBX232.7 63 DBX241.7 DBX233.7
6.2.3.9 $NP_INIT_STAT
Function
Enter the protection area initialization status in the system variable.
The status of a protection area is set to the parameterized initialization status in the following
situations:
● When the control ramps up
● When calling the PROTA (Page 289) function after the protection area has been recreated
during operation by writing the protection-area-specific system variables
● When calling the PROTA (Page 289) function with parameter "R"
● When calling the PROTS (Page 290) function with parameter "R"
Syntax
$NP_INIT_STAT[<m>] = "<status>"
Meaning
Special functions
242 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Example
The initialization status of the 6th protection area is set to "P" (preactivated or PLC-controlled):
The current status depends on the state of the interface signal parameterized in
$NP_BIT_NO (Page 240).
6.2.3.10 $NP_INDEX
Function
For automatic protection areas ($NP_PROT_TYPE (Page 236)), the address, under which the
geometric data of the machine part, tool, etc. to be protected is saved, should be entered in
the system variable. The control then automatically creates the geometrical dimensions of the
protection area from the geometric data.
Example
For example, for an automatic tool protection area ($NP_PROT_TYPE == "TOOL") the
geometrical dimensions of the protection area are created based on the tool data.
Syntax
$NP_INDEX[<m>,<i>] = <value>
Meaning
$NP_INDEX: Address of the geometric data for the automatic protection areas
Data type: INT[ 3 ]
<m>: System variable or protection area index
Data type: INT
Range of values: 0, 1, 2, ... ($MN_MM_MAXNUM_3D_PROT_AREAS - 1)
<i>: Index
The meaning of the system variables $NP_INDEX[<m>,<i>], with i = 0, 1, 2, ...
is dependent on the type ($NP_PROT_TYPE) of the automatic protection area.
See type-specific tables.
Data type: INT
Range of values: 0, 1, 2
<value>: Address
Data type: INT
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 243
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
<i> <value>
When tool management is active Without tool management
0 Circular magazine: Tool location number Spindle number
No circular magazine: Spindle number
1 Magazine number ---
2 TOA area 1)
Example
The 6th protection area is an automatic tool protection area ($NP_PROT_TYPE == "TOOL").
The geometrical dimensions of the protection area should be generated from the geometric
data of the tool at the following tool location:
● Tool location number: 1
● Magazine number: 9998 (spindle 1)
● TOA area: 1
Tool management is active.
See also
$NP_PROT_TYPE (Page 236)
6.2.4 System variables: Protection area elements for machine protection areas
6.2.4.1 Overview
A protection area element of a machine protection area is parameterized with the following
system variables:
Name Meaning
$NP_NAME Name of the protection area element
$NP_NEXT Name of the following protection area element
$NP_NEXTP Name of the following protection area element parallel to $NP_NEXT
Special functions
244 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Name Meaning
$NP_COLOR Color and transparency of the protection area element.
$NP_D_LEVEL Detail level for the protection area element
$NP_USAGE Use of the protection area element
$NP_TYPE Type of the protection area element
$NP_FILENAME File name of the STL file that contains the geometric data of the pro‐
tection area element
(only relevant for $NP_TYPE == "FILE")
$NP_PARA Geometric parameters of the protection area body
(only relevant for $NP_TYPE == "BOX" or "SPHERE" or "CYLINDER")
$NP_OFF Offset vector of the protection area element local coordinate system
$NP_DIR Direction vector for the rotation of the protection area element local
coordinate system
$NP_ANG Angle for the rotation of the protection area element local coordinate
system
Note
Establish a defined initial state
It is recommended that a defined initial state be generated before parameterizing the protection
area elements. To do this, set the system variables of the protection area elements to their
default values with the DELOBJ() (Page 213) function.
Change system variable values
If the value of one of the system variables listed above is changed, the change becomes
immediately visible at the user interface, e.g. SINUMERIK Operate. The machine model of the
NC is only updated after explicitly requesting that the machine model is recalculated by calling
the PROTA() (Page 289) or PROTS() (Page 290) function.
6.2.4.2 $NP_NAME
Function
Enter the NC-wide unique protection area element name in the system variable. The protection
area element is referenced via this name. The name is also displayed in the graphical editor
of SINUMERIK Operate.
Syntax
$NK_NAME[<n>] = "<name>"
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 245
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Meaning
Example
The 19th protection area element is assigned the name "Spindle head":
6.2.4.3 $NP_NEXT
Function
If a protection area is made up of several protection area elements, they must be linked. To
do this, the name of the following protection area element must be entered in the system
variable $NP_NEXT in every protection area element.
1H[WSURWHFWLRQDUHDHOHPHQW13B1(;7
)LUVWSURWHFWLRQDUHDHOHPHQW13B67B3527
6WDUWRIWKHHIIHFWLYHSURWHFWLRQDUHDHOHPHQWFKDLQ
RIWKHSURWHFWLRQDUHD
If there is no following protection area element, the name must be entered as an empty string
"".
Special functions
246 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Syntax
$NK_NEXT[<n>] = "<name>"
Meaning
Example
The following protection area element with the name "Coolant nozzle 1" is attached to the 19th
protection area element:
6.2.4.4 $NP_NEXTP
Function
The protection area element chain can be branched via the system variable $NP_NEXTP. To
do this, the following protection area elements must be specified in the system variables
$NP_NEXT and $NP_NEXTP in a protection area element. These protection area elements
are then parallel to one another in two separate subchains.
13B1(;73
13B1(;7
13B1(;73
13B1(;7
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 247
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Application example
The separate subchains can be used, for example, to model different machine parts of a
protection area for visualization or collision avoidance. Typically "C" (collision avoidance) is
specified for the protection area element referred to by $NP_NEXT for use in $NP_USAGE
(Page 251), and for the protection area element referred to in $NP_NEXTP, the value “V”
(visualization).
Syntax
$NP_NEXTP[<n>] = "<name>"
Meaning
Example
The following parallel protection area element with the name "Coolant nozzle 2" is attached to
the 19th protection area element:
Special functions
248 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
6.2.4.5 $NP_COLOR
Function
Enter the protection area element-specific value for alpha/transparency and color (ARGB) in
the system variable. This value is used for the display of the protection area element on the
user interface. If a specific value is not parameterized for a protection area element, the
protection area-specific value from $NP_PROT_COLOR (Page 238) applies.
Structure
Alpha/transparency and color are specified as a double word in hexadecimal format:
AARRGGBBH
● 1. - 3. Byte: RGB color value. See Chapter "Color chart (Page 231)".
● 4. Byte: Alpha channel or transparency value
Syntax
$NP_COLOR[<n>] = <name>
Meaning
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 249
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Example
The 19th protection area is to be displayed half transparent and in a green-blue color on the
user interface:
● AA = 7FH = 127D ≙ 50% transparency
● RR (red) = 00 ≙ no red component
● GG (green) = FFH = 255D ≙ 100% green color component
● BB (blue) = 33H = 51D ≙ 20% blue color component
6.2.4.6 $NP_D_LEVEL
Function
The detail level as of which the protection area element is displayed on the user interface is
specified via the system variable. If no value different from the default value is assigned for a
protection area element the protection area-specific value takes effect
$NP_PROT_D_LEVEL (Page 239).
Detail level
● Lowest detail level: 0
● Highest detail level: 3
If the detail level x is selected for the visualization of the machine model, all protection areas
and protection area elements are displayed for which the following applies for the detail level
D: D ≤ x
Syntax
$NP_D_LEVEL[<n>] = <value>
Meaning
Special functions
250 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Example
The 19th protection area is always to be displayed ⇒ detail level 0:
6.2.4.7 $NP_USAGE
Function
Enter the protection area element usage in the system variable. The usage specifies how the
protection area element is to be considered for the collision avoidance.
● Only visualization, no collision calculation
● Only collision calculation, no visualization
● Visualization and collision calculation
Usage Meaning
Visualization The protection area element is displayed in the machine model on the SINUMERIK Operate
user interface
Collision calculation The protection area element is also taken into account for the collision calculation
Syntax
$NP_USAGE[<n>] = "<value>"
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 251
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Meaning
Example
The 19th protection area element is to be displayed on the user interface and included in the
collision calculation:
6.2.4.8 $NP_TYPE
Function
Enter the protection area element type in the system variable.
Type: "FRAME"
A protection area element of the "FRAME" type does not contain any bodies, but defines a
coordinate transformation of the local coordinate system. The coordinate transformation
affects all the following ($NP_NEXT (Page 246)) and/or parallel ($NP_NEXTP (Page 247))
protection area elements. The values of the coordinate transformation are set via:
● Offset: $NP_OFF (Page 258)
● Direction vector of the rotation: $NP_DIR (Page 259)
● Angle of rotation: $NP_ANG (Page 261)
No parameters are specified in $NP_PARA (Page 257) for the "FRAME" type.
Type: "BOX"
A protection area element of the "BOX" type defines a paraxial box in the local coordinate
system of the protection area element. The mid-point of the box is at the origin of the local
Special functions
252 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
coordinate system. At the same time as the definition of the body, the local coordinate system
can be transformed via the following system variables:
● Offset: $NP_OFF (Page 258)
● Direction vector of the rotation: $NP_DIR (Page 259)
● Angle of rotation: $NP_ANG (Page 261)
<
;
Type: "SPHERE"
A protection area element of the "SPHERE" type defines a sphere in the local coordinate
system of the protection area element. The mid-point of the sphere is at the origin of the local
coordinate system. At the same time as the definition of the body, the local coordinate system
can be transformed via the following system variables:
● Offset: $NP_OFF (Page 258)
● Direction vector of the rotation: $NP_DIR (Page 259)
● Angle of rotation: $NP_ANG (Page 261)
Note
Rotation
As the center point of the sphere and the starting point of the direction vector are in the
coordinate origin of the local coordinate system of the protection area element, a rotation using
the direction vector $NP_DIR (Page 259) and angle of rotation $NP_ANG (Page 261) has no
effect on the position of the sphere.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 253
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
<
;
5
Type: "CYLINDER"
A protection area element of the "CYLINDER" type defines a cylinder in the local coordinate
system of the protection area element. The mid-point of the cylinder is at the origin of the local
coordinate system. At the same time as the definition of the body, the local coordinate system
can be transformed via the following system variables:
● Offset: $NP_OFF (Page 258)
● Direction vector of the rotation: $NP_DIR (Page 259)
● Angle of rotation: $NP_ANG (Page 261)
<
;
5
Type: "FILE"
A protection area element of the "FILE" type defines a body whose geometry data is contained
in the specified file in STL format (triangular areas), in the local coordinate system of the
protection area element. The zero point of the body is at the origin of the local coordinate
system. At the same time as the definition of the body, the local coordinate system can be
transformed via the following system variables:
● Offset: $NP_OFF (Page 258)
● Direction vector of the rotation: $NP_DIR (Page 259)
● Angle of rotation: $NP_ANG (Page 261)
Specify the file name in $NP_FILENAME (Page 255) for the "FILE" type.
Special functions
254 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
;
<
Syntax
$NP_TYPE[<n>] = "<type>"
Meaning
Example
The 19th protection area element is a box:
6.2.4.9 $NP_FILENAME
Function
For protection area elements of the "FILE" type ($NP_TYPE (Page 252)), enter the file name
of the STL file (file ending .STL) with the geometry data of the protection area element body
in the system variable.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 255
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
File format
The description of the body must be available in STL format (StandardTesselationFormat) and
in ASCII coding.
Search path
The specified file is sought in the predefined directories on the CompactFlash card in this order:
1. /card/oem/sinumerik/nck/prot_data/machine/3d_data/mm
2. /card/oem/sinumerik/nck/prot_data/machine/3d_data/inch
Syntax
$NP_FILENAME[<n>] = "<name>"
Meaning
$NP_FILENAME: Name of the STL file with the geometry data of the protection area element body
Data type: STRING
Default value: "" "" (empty string)
<n>: System variable or protection area element index
Data type: INT
Range of values: 0, 1, 2, ... ($MN_MM_MAXNUM_3D_PROT_AREA_ELEM -
1)
<name>: Name of the STL file
Data type: STRING
Example
The geometry data for the 19th protection area element is stored in the KUEHLDUESE_1.STL
file:
Special functions
256 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Note
Maximum length of the file name
The maximum file name length, including point and the file extension is 49 characters. For
more than 49 characters, an alarm is displayed when generating an archive.
6.2.4.10 $NP_PARA
Function
Enter the dimensions of the protection area body according to the type of the protection area
element ($NP_TYPE (Page 252)) in the system variable.
Coordinate system
The local coordinate system in which the position of the protection area body is specified, is
defined by the system variables $NP_OFF (Page 258), $NP_DIR (Page 259), $NP_ANG
(Page 261).
Syntax
$NP_PARA[<n>,<i>] = <value>
Meaning
$NP_PARA: Parameter values corresponding to the type of the protection area element
Data type: REAL
Default value: 0.0
<n>: System variable or protection area element index
Data type: INT
Range of values: 0, 1, 2, ... ($MN_MM_MAXNUM_3D_PROT_AREA_ELEM - 1)
<i>: Parameter index
Data type: INT
Range of values: 0, 1, 2
Parameter index Type of the protection area element
FRAME BOX SPHERE CYLINDER FRAME
0 --- Length 1) Radius 1) Height 1) ---
1 --- Width 1)
--- Radius 1)
---
2 --- Height 1)
--- --- ---
<value>: Parameter value
Data type: REAL
Range of values: 0.0 ≥ x ≥ max. REAL value
1) The parameter value must not be 0.
---: Parameters that are not evaluated
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 257
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Example
The 19th protection area element is a box with the dimensions:
● Length: 50.0
● Width: 100.0
● Height: 75.5
6.2.4.11 $NP_OFF
Function
The offset vector by which the local coordinate system of the protection area element is moved
compared to the coordinate system of the previous protection area element should be entered
in the system variable.
Syntax
$NP_OFF[<n>,<i>] = <value>
Meaning
Special functions
258 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Example
The local coordinate system of the 19th protection area element is moved by the following
vector compared to the coordinate system of the previous protection area element:
● X direction: 25.0
● Y direction: 50.0
● Z direction: 37.25
13B2))
<
˟
< ]
˞ [ ;
; \
6.2.4.12 $NP_DIR
Function
The direction vector through which the local coordinate system of the protection area element
is rotated compared to the coordinate system of the previous protection area element should
be entered in the system variable. The angle of rotation should be entered in $NP_ANG
(Page 261).
Boundary conditions
● The absolute value of the direction vector must be greater than: 1*10–6
● A work offset parameterized in $NP_OFF (Page 258) is performed before the rotation.
Syntax
$NP_DIR[<n>,<i>] = <value>
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 259
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Meaning
Example
The local coordinate system of the 19th protection area element is rotated around the direction
vector compared to the coordinate system of the previous protection area element. The
direction vector is the unit vector (1; 0; 0), rotated through α=90° in the X/Y plane and β=10°
in the Y/Z plane, in relation to the world coordinate system. The following values result from
this for the individual components of the direction vector:
● X component = cos(α) * cos(β) = cos(90) * cos(10) = 0.0
● Y component = sin(α) * cos(β) = sin(90) * cos(10) ≈ 0.985
● Z component = sin(β) = sin(10) ≈ 0.174
13B',5
_Y_
˟
< ]
˞
[
; \
Special functions
260 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
6.2.4.13 $NP_ANG
Function
The angle through which the local coordinate system of the protection area element is rotated
around the direction vector ($NP_DIR (Page 259)) compared to the coordinate system of the
previous protection area element should be entered in the system variable.
Syntax
$NP_ANG[<n>] = <value>
Meaning
Example
The local coordinate system of the 19th protection area element is rotated by the angle by
δ=45.0° around the direction vector compared to the coordinate system of the previous
protection area element. The direction vector is the unit vector (1; 0; 0), rotated through
α=90° in the X/Y plane and β=10° in the Y/Z plane, in relation to the world coordinate system.
The following values result from this for the individual components of the direction vector:
● X component = cos(α) * cos(β) = cos(90) * cos(10) = 0.0
● Y component = sin(α) * cos(β) = sin(90) * cos(10) ≈ 0.985
● Z component = sin(β) = sin(10) ≈ 0.174
● Angle δ = 45.0°
=
13B$1*
13B',5
R
=
_Y_
<
˟
< ]
˞
[
;
;
\
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 261
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
6.2.5 System variables: Protection area elements for automatic tool protection areas
The protection area element of an automatic tool protection area is defined using the
subsequent system variables. The control automatically generates the values of the system
variables from the geometric data of the associated tool, and these can only be read.
Special functions
262 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.2 Commissioning
Rotary axes
The boundary conditions stated above must also be observed in connection with rotary axes
where these are also operated as spindles.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 263
K8: Geometric machine modeling - only 840D sl
6.3 Data lists
Identifier Description
$NP_PROT_NAME Name of the protection area
$NP_CHAIN_ELEM Name of the kinematic element to which the protection area will be connected
$NP_PROT_TYPE Type of the protection area
$NP_1ST_PROT Name of the first protection area element of the protection area
$NP_PROT_COLOR Transparency and color value of the protection area
$NP_PROT_D_LEVEL Detail level for the protection area
$NP_BIT_NO Bit number of the interface signal to activate/deactivate the protection area
$NP_INIT_STAT Initialization status of the protection area
$NP_INDEX Array for addressing the effective geometry data
$NP_NAME Name of the protection area element
$NP_NEXT Name of the following protection area element
$NP_NEXTP Name of the branching protection area element
$NP_COLOR Transparency and color value of the protection area element
$NP_D_LEVEL Detail level for the protection area element
$NP_USAGE Usage of the protection area element
$NP_TYPE Type of the protection area element
$NP_FILENAME Name of the STL file with the geometry data of the protection area element
body
$NP_PARA Parameter values corresponding to the type of the protection area element
Special functions
264 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K8: Geometric machine modeling - only 840D sl
6.3 Data lists
Identifier Description
$NP_OFF Offset vector
$NP_DIR Direction vector
$NP_ANG Angle of rotation
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 265
K8: Geometric machine modeling - only 840D sl
6.3 Data lists
Special functions
266 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl 7
7.1 Function description
7.1.1 Characteristics
The "Collision avoidance" function is used to prevent collisions of machine parts and tool
cutting edges while the machine axes are being traversed. To do this, the function cyclically
calculates the clearance to the protection areas enveloping the bodies to be protected. If two
protection areas approach one another to within a configurable safety clearance, an alarm is
displayed and the NC program stopped before the relevant traversing block (AUTOMATIC,
MDI mode) or the traversing motion is stopped (JOG mode).
Option
The "Collision avoidance (machine, tool)" function is an option that requires a license.
● Article number: 6FC5800-0AS02-0YB0
Boundary condition
Collision avoidance can currently be applied only with single-channel control configurations.
Sequence
The collision avoidance is set up in the following sequence:
1. Enable the "collision avoidance (machine, tool)" function by setting the option (see above)
or the corresponding machine data, see the section "Enable (Page 278)"
2. Setting the machine data for the basic parameterization of the functions:
– Kinematic chain, section "Machine data (Page 193)"
– Geometric machine modeling, section "Machine data (Page 232)"
– Collision avoidance, section "Machine data (Page 278)"
3. Writing of the machine kinematic structure through kinematic elements.
See Chapter "K7: Kinematic chain - only 840D sl (Page 187)".
4. Writing of the protection areas and protection area elements as enveloping geometry of
the machine parts, tools and workpieces to be protected. Assignment of the protection area
to elements of the kinematic chain.
See Chapter "K8: Geometric machine modeling - only 840D sl (Page 223)".
5. Definition of collision pairs, i.e. of two protection areas that are to be monitored for collision.
See Chapter "$NP_COLL_PAIR (Page 282)".
6. Triggering a recalculation of the kinematic and geometric model.
See Chapter "Request recalculation of the machine model of the collision avoidance
(PROTA) (Page 289)".
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 267
K9: Collision avoidance - only 840D sl
7.1 Function description
State Meaning
Active The protection area is taken into account for collisions.
Inactive The protection area is not taken into account for collisions.
Preactivated The protection area is taken into account for collisions. A collision alarm is only issued
when it has also been activated by a protection area-specific NC/PLC interface signal.
State change
The state of a protection areas can be changed by:
● The PROTS() (Page 290) procedure
● Change of the initialization state to $NP_INIT_STAT followed by recalculation of the
machine model through the PROTA() (Page 289)procedure.
Requirements
The following requirements must be satisfied so that the protection areas of a collision pair
can be monitored:
● Axes or spindles: referenced/synchronized
The position measurement system for the axes or spindles which move a protection area
must be referenced or synchronized. If this has not been done the corresponding protection
area is in an "inactive" state.
● External motion
With traversing motions that are not performed by the NC, e.g. PLC axis or manually moved
axis, the current axis position must be known in the NC.
Special functions
268 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.1 Function description
1
<
;
5
5
2
Safety clearance
The safety clearance defines a clearance up to which two active protection areas, monitored
for collision, can approach one another. The collision avoidance ensures that this clearance
is not violated and that the collision is displayed.
The safety clearance can be set specifically for each collision pair via a system variable
(Page 283).
For all collision pairs for which no specific safety clearance is set via a system variable, the
general value that can be set via MD10622 $MN_COLLISION_SAFETY_DIST
(Page 279)Hotspot-Text (Page 279) applies.
Collision tolerance
The collision tolerance defines an NC-wide additional clearance valid to the safety clearance.
Two active protection areas monitored for collision may therefore approach each other up to
the collision clearance (safety clearance + collision tolerance). Ideally, the collision avoidance
stops the traversing motion of the protection areas exactly at the collision clearance and
displays the collision. However, it is permissible that the collision tolerance is not complied with
exactly or that a brief violation does not result in collision detection and the traversing motion
is not stopped.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 269
K9: Collision avoidance - only 840D sl
7.1 Function description
The collision tolerance is set the same for all collision pairs via MD10619
$MN_COLLISION_TOLERANCE (Page 279).
Note
Difference between collision tolerance and safety clearance
The collision tolerance can be violated and is permissible. The safety clearance is always
maintained.
Critical approach
Even in automatic mode, superimposed or asynchronous motions can occur that cannot be
considered in advance. For this reason, the traversing velocity is reduced or the traversing
motion is totally stopped at a critical approach of protection areas:
● Axial NC/PLC interface signal at a reduction of the traversing velocity:
DB31, ... .DBX77.0 == 1 (collision avoidance: velocity reduction)
● Channel-specific NC/PLC interface signal at a stop of the traversing motion:
DB21, ... .DBX377.0 == 1 (collision avoidance: stop)
Special functions
270 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.1 Function description
Traversing motion is always canceled when the collision clearance is reached. Continuation
of the traversing motion always requires a new travel request (e.g by pressing a traversing
key), irrespective of the traversing direction.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 271
K9: Collision avoidance - only 840D sl
7.1 Function description
3527$5
8SGDWH$OO&D6\V9DU6%
6%QLFKWLQLWLDOLVLHUW &KHFN,QW1FN&D6\V9DU,PDJHV6%
4 352765
8SGDWH&D6\V9DU,QLW6WDW6%
3 >)$/6(@
6FKXW]EHUHLFKLQLWLDOLVLHUW
0DVFKLQHQVFKXW]EHUHLFK :HUN]HXJ6%
5
%$$8720$7,.0'$ %$-2*
>'%'%; @
LQS,QLW6WDW>6%@ 3
6%¾EHUZDFKW 6%QLFKW¾EHUZDFKW
(QWU\ 35276$ (QWU\
LQW6WDW>6%@ $ LQW6WDW>6%@ $
>'%'%; @
35276,
>'%'%; @
LQW,QLW6WDW>6%@ 3$1'
LQW%LW1R>6%@ $1'
'%'%;LQS%LW
'%'%;LQS%LW
LQW,QLW6WDW>6%@ 3$1'
LQW%LW1R>6%@ $1'
'%'%;LQS%LW
'%'%;LQS%LW
'%'%; '%'%;
'%'%; 25
%$$8720$7,.250'$DNWLY
SB Protection area
BA Operating mode
① UpdateAllCaSysVar(SB) function
All system variables of the collision avoidance are read-in in NCK-internal variables:
int... = $N...
Special functions
272 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.1 Function description
② UpdateAllCaSysVarExeptInitStat(SB) function
As with the UpdateAllCaSysVar(SB) function, but the $NP_INIT_STAT system variable is not
read in. Internally in the NCK, the last value of the intInitStat initialization status is therefore
retained.
③ CheckIntNckCaSysVarImages(SB) function
The NCK-internal variables read in from the system variables are checked for consistency.
Return value when an error is detected: FALSE; if error-free: TRUE.
④ UpdateCaSysVarInitStat(SB) function
Only the system variable $NP_INIT_STAT is read-in in the NCK-internal variable intInitStat.
⑤ The internal structure of the "Tool protection area" state is the same as the "Machine protection
area" state.
⑥ The internal structure of the "JOG mode" state is the same as the "AUTO/MDA mode" state.
7.1.4 Tools
Modeling
Protection areas for tools can be modeled automatically from the collision avoidance and be
updated automatically following a tool change with some limitations. The following conditions
must be fulfilled for this purpose:
● The protection area for the tool is modeled as an automatic tool protection area (type:
TOOL). See system variable $NP_PROT_TYPE (Page 236)
● The tool is managed by the control tool management.
● The tool data stored in the tool management matches the actual geometric dimensions of
the tool.
● The collision avoidance recognizes the completion of the tool change. Normally, by
programming the corresponding tool offset number Dx, with x = 0, 1, 2, 3, ...
● The collision avoidance recognizes the automatic tool protection area for which the tool
was changed.
● If the tool path refers to a normalized tool, the tool radius of the actual tool is specified as
either positive or negative deviations referred to the normalized tool. In this case, collision
avoidance calculates with the following values:
– Positive value: Tool radius = specified value, however, as a minimum, the value of the
parameterized collision tolerance
– Negative value: Tool radius = value of the parameterized collision tolerance
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 273
K9: Collision avoidance - only 840D sl
7.1 Function description
Tool changes
The collision avoidance only updates the active machine model after a tool change without an
explicit request by PROTA if a tool offset is selected (output of the programmed tool offset
number Dx at the NC/PLC interface).
However, at the control, tool changes can be made, which are not associated with a tool offset
selection. However, for these changes the active machine model is not updated. These types
of tool changes include, for example:
● Loading/unloading a tool at the user interface.
SINUMERIK Operate: Operating area "Parameter" > "Tool list" > Vertical softkey: "Loading"
or "Unloading"
● Carrying out a tool change via the PLC user program
● Directly writing to the tool buffer memory using the system variable $TC_MPP6[9998,
<location>]
● SETMS(<spindle number>): Changing the master spindle in the channel
● TMMVTL: PI service "Prepare magazine location for loading, unload tool"
Reference Function Manual Basic Functions; Chapter: "P3: Basic PLC program for
SINUMERIK 840D sl" > "Component descriptions" > "PI services" > "PI service: TMMVTL"
● MVTOOL: Command to move a tool
Reference Function Manual Tool Management; Chapter "Programming > "NC language
commands" > "MVTOOL - language command to move a tool"
If such a change is carried out, then the machine manufacturer must be requested to update
the machine module via the PLC user program. Examples of options include:
● A new channel reset is requested if the channel is in the "reset" state. When the reset
response is appropriately set (MD20110 $MC_RESET_MODE_MASK), then the actual tool
offset number Dxis output again.
● Starting an ASUB or manufacturer's cycle, which includes the output of the tool offset
number Dx and the request to update the machine model (PROTA).
Tool wear
Minimal tool changes do not have to be taken into account in the machine model, as generally
they are far less than the collision clearance.
Special functions
274 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.1 Function description
If a tool change occurs, which is relevant for collision avoidance, e.g. diameter changes for
grinding tools, then these must be taken into account by explicitly requesting that the machine
model is updated (PROTA).
Supplementary conditions
Channel assignment
All of the machine components relevant for collision avoidance must be located in the first
channel of the NC:
● All axes and spindles of the kinematic chain.
See Chapter "K7: Kinematic chain - only 840D sl (Page 187)"
● All tools of the automatic tool protection areas of the geometric machine modeling.
See Chapter "K8: Geometric machine modeling - only 840D sl (Page 223)"
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 275
K9: Collision avoidance - only 840D sl
7.1 Function description
Compensations
The various compensation functions of the NC – for instance, temperature, spindle and pitch
error and sag compensation – ensure that positions programmed in the workpiece coordinate
system are actually assumed in the machine coordinate system. The collision avoidance takes
into account the position corrections made by the compensation functions.
WARNING
Risk of collision
If compensations are used for other purposes, e.g. in order to implement axis couplings in
the machine coordinate system, the collision avoidance working with position setpoints can
no longer be performed reliably. There is a risk of collision.
WARNING
Risk of collision
If an actual value offset is made in the machine coordinate system with PRESETON and the
geometric model of the collision avoidance not adapted accordingly, the collision avoidance
working with position setpoints can no longer be performed reliably. There is a risk of collision.
Block search
For the following types of block search there are no collision calculations carried out:
● Type 1: Block search without calculation
● Type 2: Block search with calculation at the contour
● Type 4: Block search with calculation at block end point
With the following type of block search collision calculations are carried out (in the
preprocessing) for:
● Type 5: Block search with calculation in "Program test" (SERUPRO) mode
Special functions
276 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.2 Commissioning
7.2 Commissioning
7.2.1 General
7.2.1.1 Overview
The commissioning of the "Collision avoidance" function is performed using:
● Machine data
– Specification of the quantity structure
– Specification of general properties of the collision pairs
● System variables
– Parameterization of the collision pairs and their properties
Note
Index_2 is not available for all system variables.
General
The system variables to describe the protection areas have the following properties:
● Prefix: $NP_, (N for NC, P for protection).
● They can be read and written via NC programs.
● They can be stored in archives and loaded to the NC again.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 277
K9: Collision avoidance - only 840D sl
7.2 Commissioning
Data type
STRING
All system variables of the STRING data type have the following properties:
● Maximum string length: 31 characters
● No distinction is made between upper and lower case
Example: "Axis1" is identical to "AXIS1"
● Spaces and special characters are permitted
Example: "Axis1" is not identical to "Axis 1"
● Names that start with two underscores "__" are reserved for system purposes and must
not be used for user-defined names.
Note
Leading space
Since spaces are valid and distinct characters, names that start with a space followed by two
underscores "__" can, in principle, be used for user-defined names. However, because they
can be easily mistaken for system names, this procedure is not recommended.
Index_1
The individual protection areas are addressed via index_1. Index 0 → 1st protection area, index
1 → 2nd protection area, ... n → (n+1) protection area, where n =
($MN_MM_MAXNUM_3D_PROT_AREAS - 1)
All system variables of a protection area have the same index.
Index_2
For system variables that define a collision pair, the protection areas of the collision pair are
addressed via index_2.
● 0 → 1. Protection area
● 1 → 2. Protection area
See also
Deletion of components (DELOBJ) (Page 213)
7.2.2.1 Enable
The collision avoidance functions are enabled using machine data:
Special functions
278 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.2 Commissioning
MD19830 $ON_COLLISION_MASK.Bit x = 1
Bit Meaning
0 Collision avoidance (machine, tool)
1 - 31 reserved
Effects
The smaller the collision tolerance is set, the greater the number of triangular areas required
for the modelling of the automatically generated protection areas and the computation time
required for the collision detection.
Recommended setting
Collision tolerance ≈ 1 mm
See also
Reaction of the control to a risk of collision (Page 269)
Note
Collision pair-specific safety clearance
If a specific safety clearance has been set for a collision pair via the system variable
$NP_SAFETY_DIST (Page 283), this has priority over the NC-specific safety clearance set in
the machine data.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 279
K9: Collision avoidance - only 840D sl
7.2 Commissioning
See also
Reaction of the control to a risk of collision (Page 269)
Value Meaning
0 The maximum value of the memory space is determined automatically by the control using
the following machine data:
● MD18890 $MN_MM_MAXNUM_3D_PROT_AREAS
● MD18892 $MN_MM_MAXNUM_3D_PROT_AREA_ELEM
● MD18894 $MN_MM_MAXNUM_3D_FACETS_INTERN
● MD18895 $MN_MM_MAXNUM_3D_FACETS
>0 Maximum value = parameterized value [KB]
Note
Only one > 0 value must be entered in the machine data when one of the following alarms is
displayed:
● Alarm 26262 "Insufficient memory space for the collision check of two protection areas"
● Alarm 26263 "Insufficient memory space for determining the clearance of two protection
areas"
Special functions
280 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.2 Commissioning
<Val‐ Meaning
ue>
0 The following applies to the maximum number of possible collision pairs MCP:
MCP = maximum value of the machine data
x>0 The following applies to the maximum number of possible collision pairs MCP:
MCP = x, with 0 < x ≤ maximum value of the machine data
A value greater than the maximum permissible value of the machine data is limited internally to the
maximum value. No feedback regarding this is sent to the user.
Number Identifier: $MN_ Meaning: Protection level for switching the collision avoidance On/Off
MD51160 ACCESS_WRITE_CA_MACH_JOG Machine protection areas, JOG/MDI operating mode
MD51161 ACCESS_WRITE_CA_MACH_AUTO Machine protection areas, AUTOMATIC mode,
MD51162 ACCESS_WRITE_CA_TOOL Tool protection areas
References
A detailed description of protection levels can be found in:
Function Manual, Basic Functions, Section: "A2: Various NC/PLC interface signals and
functions" > "Functions" > "Access protection via password and keyswitch"
7.2.3.1 Overview
A collision pair is parameterized with the following system variables:
Name Meaning
$NP_COLL_PAIR Name of a collision pair protection area
$NP_SAFETY_DIST Safety clearance of the protection area pair
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 281
K9: Collision avoidance - only 840D sl
7.2 Commissioning
Note
Establish a defined initial state
It is recommended that a defined initial state be generated before parameterizing the collision
avoidance. To do this, set the system variables of the collision avoidance to their default values
with the DELOBJ() (Page 213) function.
Change system variable values
If the value of one of the system variables listed above is changed, the change becomes
immediately visible at the user interface, e.g. SINUMERIK Operate. The machine model of the
NC is only updated after explicitly requesting that the machine model is recalculated by calling
the PROTA() (Page 289) or PROTS() (Page 290) function.
7.2.3.2 $NP_COLL_PAIR
Function
The names of the two protection areas, which form a collision pair, is entered in a system
variable. The two protection areas can be in any sequence.
Collision pairs
As the collision check requires a lot of computation time, it does not make sense to monitor
all parameterized protection areas for collision with one another through the collision
avoidance. Examples in which a collision check does not make sense:
● Protection areas that cannot collide because of the construction
● Protection areas that have been defined without anchoring to the kinematic chain
The user must define which parameterized protection areas can actually collide on the machine
and define them as collision pairs. Only these protection areas are monitored by the collision
avoidance.
To define a collision pair, the names of the two protection areas must be entered in two system
variables with the same collision pair index. One protection area under the protection area
index 0, the other under the protection area index 1.
Syntax
$NP_COLL_PAIR[<m>,<i>] = "<name>"
Special functions
282 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.2 Commissioning
Meaning
Example
Two protection areas defined with the names "Rotary table" and "Tool in spindle" are to be
checked for collision. The two protection areas are to be mutually monitored for collision. The
definition for this is in the seventh collision pair:
Supplementary conditions
The protection areas of a collision pair are only checked for collision when both protection
areas are in the "Protection area monitored" state. See Chapter "State diagram: Protection
area (Page 272)".
7.2.3.3 $NP_SAFETY_DIST
Function
The collision pair-specific safety clearance is entered in the system variable. The collision
avoidance ensures that this safety clearance is not violated.
If a value not equal to 0.0 is entered in the system variable, the general safety clearance from
MD10622 $MN_COLLISION_SAFETY_DIST (Page 279) is not taken into account for this
collision pair.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 283
K9: Collision avoidance - only 840D sl
7.2 Commissioning
If the value 0.0 is entered in the system variable, the safety clearance set in the machine data
applies.
Syntax
$NP_SAFETY_DIST[<m>] = <value>
Meaning
Example
The safety clearance for the protection areas of the seventh collision pair should be 1.0 mm
(input system: metric).
See also
Reaction of the control to a risk of collision (Page 269)
Special functions
284 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.2 Commissioning
7.2.4.1 Overview
Further information on the internal states and values of the collision avoidance can be read
via the following system variables:
● State data (Page 285)
● Memory requirement (Page 286)
● Braking distance estimations (Page 286)
References
For a detailed description of the system variables, refer to:
List Manual, System Variables
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 285
K9: Collision avoidance - only 840D sl
7.2 Commissioning
References
For a detailed description of the system variables, refer to:
List Manual, System Variables
Note
The system variables are used for support in the development of user-specific functions as
part of the collision avoidance, and similar functions.
Special functions
286 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.3 Programming
References
For a detailed description of the system variables, refer to:
List Manual, System Variables
7.3 Programming
Function
The COLLPAIR() function determines whether two protection areas form a collision pair.
Syntax
[<RetVal> = ] COLLPAIR(<Name_1>,<Name_2>[,<NoAlarm>)])
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 287
K9: Collision avoidance - only 840D sl
7.3 Programming
Meaning
See also
State diagram: Protection area (Page 272)
Special functions
288 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.3 Programming
7.3.2 Request recalculation of the machine model of the collision avoidance (PROTA)
Function
If system variables of the kinematic chain $NK_..., the geometric machine modeling or the
collision avoidance $NP_... are written in the part program, the PROTA procedure must
subsequently be called so that the change becomes effective in the NC-internal machine model
of the collision avoidance.
Syntax
PROTA[(<Par>)]
Meaning
Supplementary conditions
Simulation
The PROTA procedure must not be used in part programs in conjunction with the simulation
(simNCK).
Example: Avoiding the call of PROTA while the simulation is active.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 289
K9: Collision avoidance - only 840D sl
7.3 Programming
See also
Setting the protection area state (PROTS) (Page 290)
Function
The PROTS() procedure sets the state of protection areas to the specified value.
Syntax
PROTS(<state>{, <name>})
Meaning
Function
The PROTD() function calculates the clearance of two protection areas.
Special functions
290 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.3 Programming
Function properties:
● The clearance calculation is performed independent of the protection area state (activated,
deactivated, preactivated).
● The clearance is calculated at the interpretation instant of the function with the axis positions
valid at the end of the previous block.
● Overlays that are included in the main run calculation, e.g. DRF offset or external work
offsets, are included in the clearance calculation with the values valid at the function
interpretation time.
Note
Synchronization
When using the PROTD() function, it is the sole responsibility of the user to synchronize
the main run and preprocessing, if required, with the STOPRE preprocessing stop.
Collision
If there is a collision between the specified protection areas, the function returns a clearance
of 0.0. There is a collision if both the protection areas touch or intersect each other.
The safety clearance for the collision check (MD10622 $MN_COLLISION_SAFETY_DIST) is
not taken into account in the clearance calculation.
Syntax
[<RetVal> = ] PROTD([<Name_1>],[<Name_2>],VAR <Vector>[,<System>])
Meaning
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 291
K9: Collision avoidance - only 840D sl
7.4 Example
<System>: Measuring system (inch/metric) for clearance and clearance vector (optional)
Data type: BOOL
Default value: FALSE
Value Meaning
FALSE Measuring system corresponding to the currently active G func‐
tion from G group 13 (G70, G71, G700, G710).
TRUE Measuring system corresponding to the set basic system:
MD52806 $MN_ISO_SCALING_SYSTEM
7.4 Example
7.4.1 Specifications
General Information
The basic procedure when parameterizing collision avoidance using a part program is shown
using a simplified 3-axis milling machine as example. All of the system variables relevant for
collision avoidance are written to the part program:
● Kinematic chain $NK_...
● Geometric machine modeling $NP_...
● Collision avoidance $NP_...
The machine model is subsequently activated in the part program, so that after executing the
part program, the collision avoidance has been completely parameterized in the 3-axis milling
machine and is active.
Special functions
292 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.4 Example
&ROXPQ
=D[LV
<
7RRODGDSWHU
7RRO
;
0DFKLQH]HURSRLQW
7DEOH
5HIHUHQFHSRLQW
The machine parts and/or protection areas are assigned to the following machine axes.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 293
K9: Collision avoidance - only 840D sl
7.4 Example
Dimension drawing
The dimensions of the protection area elements as well as their position (vectors to the center
point of the protection area element) referred to the machine zero point are specified in the
following dimension drawing.
9ZA
9S
9Tool
=
<
;
9T
Kinematic chain
The kinematic chain (see next diagram) starts with an "Offset" type element. These are
assigned to all static protection areas of the machine. In the example, this is only the "Column"
protection area.
The kinematic elements of the machine axes follow the offset element:
● Z axis and X axis traverse independently of one another ⇒ $NK_PARALLEL
● The Y axis traverses dependent on the X axis ⇒ $NK_NEXT
The various protection areas of the geometric machine modeling are assigned the kinematic
elements of the machine axes
Special functions
294 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.4 Example
*HRPHWULFPDFKLQHPRGHOLQJ
7 7RRO
722/ DGDSWHU =D[LV
3URWHFWLRQDUHDV 0$&+,1(
0$&+,1(
.LQHPDWLFFKDLQ
=D[LV
$;,6B/,1
Collision pairs
For the example, it is assumed that only the following collision pairs are to be taken into account:
● Tool adapter - table
● Tool - table
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 295
K9: Collision avoidance - only 840D sl
7.4 Example
Program code
;***********************************************************
;************************* Example ************************
; milling machine: 3 linear axes, 1 spindle
; table => X1, Y1
; Z axis, tool adapter, tool => Z1
;***********************************************************
; status: 2/11/2013, 15:34
;
;===========================================================
; collision machine data used
;===========================================================
; MD10619 $MN_COLLISION_TOLERANCE = 1
;
; MD18880 $MN_MM_MAXNUM_KIN_CHAIN_ELEM = 100
; MD18890 $MN_MM_MAXNUM_3D_PROT_AREAS = 10
; MD18892 $MN_MM_MAXNUM_3D_PROT_AREA_ELEM = 10
; MD18893 $MN_MM_MAXNUM_3D_T_PROT_ELEM = 100
; MD18894 $MN_MM_MAXNUM_3D_FACETS_INTERN = 1000
; MD18895 $MN_MM_MAXNUM_3D_FACETS = 3000
; MD18896 $MN_MM_MAXNUM_3D_COLLISION = 0
; MD18897 $MN_MM_MAXNUM_3D_INTERFACE_IN = 16
; MD18899 $MN_PROT_AREA_TOOL_MASK = 1
;
; MD19830 $ON_COLLISION_MASK = 1 ; option
;
;
;===========================================================
; definitions
;===========================================================
DEF INT RETVAL = 0 ; return value of the delete function
;
DEF INT C_NKE = 0 ; index for kinematic elements
DEF INT C_NPC = 0 ; index for protection areas
DEF INT C_NPE = 0 ; index for protection area elements
DEF INT C_NPP = 0 ; index for collision pairs
;
;
Special functions
296 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.4 Example
Program code
;===========================================================
; initialization of the collision data
;===========================================================
MSG("protection areas")
G4 F3
; reset all parameters to their initial setting
;
RETVAL = DELOBJ("KIN_CHAIN_ELEM")
IF (RETVAL <> 0)
MSG("error: DELOBJ KIN_CHAIN_ELEM")
G4 F5
ENDIF
;
RETVAL = DELOBJ("PROT_AREA_ALL")
IF RETVAL <> 0
MSG("error: DELOBJ PROT_AREA_ALL")
G4 F5
ENDIF
;
RETVAL = DELOBJ("PROT_AREA_COLL_PAIRS")
IF RETVAL <> 0
MSG("error: DELOBJ PROT_AREA_COLL_PAIRS")
G4 F5
ENDIF
;
;
;===========================================================
; kinematic chain
;===========================================================
; KE1: ROOT
; ----------------------------------------------------------
$NK_NAME[C_NKE] = "ROOT"
$NK_NEXT[C_NKE] = "X axis"
$NK_PARALLEL[C_NKE] = ""
$NK_TYPE[C_NKE] = "OFFSET"
;
$NK_OFF_DIR[C_NKE, 0] = 0.0 ; X
$NK_OFF_DIR[C_NKE, 1] = 0.0 ; Y
$NK_OFF_DIR[C_NKE, 2] = 0.0 ; Z
;
$NK_AXIS[C_NKE] = ""
$NK_A_OFF[C_NKE] = 0.0
;
C_NKE = C_NKE + 1 ; next kinematic element
;
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 297
K9: Collision avoidance - only 840D sl
7.4 Example
Program code
; ----------------------------------------------------------
; kinematic element: X axis
; ----------------------------------------------------------
$NK_NAME[C_NKE] = "X axis"
$NK_NEXT[C_NKE] = "Y axis"
$NK_PARALLEL[C_NKE] = "Z axis"
$NK_TYPE[C_NKE] = "AXIS_LIN"
;
$NK_OFF_DIR[C_NKE, 0] = 1.0 ; X
$NK_OFF_DIR[C_NKE, 1] = 0.0 ; Y
$NK_OFF_DIR[C_NKE, 2] = 0.0 ; Z
;
$NK_AXIS[C_NKE] = "X1"
$NK_A_OFF[C_NKE] = 0.0
;
C_NKE = C_NKE + 1 ; next kinematic element
;
; ----------------------------------------------------------
; kinematic element: Y axis
; ----------------------------------------------------------
$NK_NAME[C_NKE] = "Y axis"
$NK_NEXT[C_NKE] = ""
$NK_PARALLEL[C_NKE] = ""
$NK_TYPE[C_NKE] = "AXIS_LIN"
;
$NK_OFF_DIR[C_NKE, 0] = 0.0 ; X
$NK_OFF_DIR[C_NKE, 1] = 1.0 ; Y
$NK_OFF_DIR[C_NKE, 2] = 0.0 ; Z
;
$NK_AXIS[C_NKE] = "Y1"
$NK_A_OFF[C_NKE] = 0.0
;
C_NKE = C_NKE + 1 ; next kinematic element
;
; ----------------------------------------------------------
; kinematic element: Z axis
; ----------------------------------------------------------
$NK_NAME[C_NKE] = "Z axis"
$NK_NEXT[C_NKE] = ""
$NK_PARALLEL[C_NKE] = ""
$NK_TYPE[C_NKE] = "AXIS_LIN"
;
$NK_OFF_DIR[C_NKE, 0] = 0.0 ; X
$NK_OFF_DIR[C_NKE, 1] = 0.0 ; Y
$NK_OFF_DIR[C_NKE, 2] = 1.0 ; Z
;
$NK_AXIS[C_NKE] = "Z1"
$NK_A_OFF[C_NKE] = 0.0
;
C_NKE = C_NKE + 1 ; next kinematic element
;
;
Special functions
298 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.4 Example
Program code
;===========================================================
; protection areas with protection area elements
;===========================================================
; protection area 1: Column
; ----------------------------------------------------------
$NP_PROT_NAME[C_NPC] = "column"
$NP_PROT_TYPE[C_NPC] = "MACHINE"
$NP_CHAIN_ELEM[C_NPC] = "ROOT"
$NP_1ST_PROT[C_NPC] = "SBE column"
$NP_PROT_COLOR[C_NPC] = 'HFFA0A0A4' ; AARRGGBB
$NP_BIT_NO[C_NPC] = -1
$NP_INIT_STAT[C_NPC] = "A"
;
C_NPC = C_NPC + 1 ; next protection area
;
; ----------------------------------------------------------
; protection area element 1.1: SBE column
; ----------------------------------------------------------
$NP_NAME[C_NPE] = "SBE column"
$NP_NEXT[C_NPE] = ""
$NP_NEXTP[C_NPE] = ""
$NP_TYPE[C_NPE] = "BOX"
; cube dimensions
$NP_PARA[C_NPE,0] = 160.0 ; length
$NP_PARA[C_NPE,1] = 140.0 ; width
$NP_PARA[C_NPE,2] = 800.0 ; height
; center point
$NP_OFF[C_NPE,0] = 0.0 ; X
$NP_OFF[C_NPE,1] = 570.0 ; Y: xxx rear table edge
$NP_OFF[C_NPE,2] = 350.0 ; Z: Lower edge equal to lower edge table
;
$NP_DIR[C_NPE,0] = 0.0
$NP_DIR[C_NPE,1] = 0.0
$NP_DIR[C_NPE,2] = 0.0
;
$NP_ANG[C_NPE] = 0.0
;
$NP_COLOR[C_NPE] = 0
$NP_D_LEVEL[C_NPE] = 0
$NP_USAGE[C_NPE] = "V" ; V = visualize only
$NP_FILENAME[C_NPE] = ""
;
C_NPE = C_NPE + 1 ; next protection area element
;
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 299
K9: Collision avoidance - only 840D sl
7.4 Example
Program code
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; protection area 2: Tool adapter
; ----------------------------------------------------------
$NP_PROT_NAME[C_NPC] = "tool adapter"
$NP_PROT_TYPE[C_NPC] = "MACHINE"
$NP_CHAIN_ELEM[C_NPC] = "Z axis"
$NP_1ST_PROT[C_NPC] = "SBE tool adapter"
$NP_PROT_COLOR[C_NPC] = 'HFF0000FF' ; AARRGGBB
$NP_BIT_NO[C_NPC] = -1
$NP_INIT_STAT[C_NPC] = "A"
;
C_NPC = C_NPC + 1 ; next protection area
;
; ----------------------------------------------------------
; protection area element 2.1: SBE tool adapter
; ----------------------------------------------------------
$NP_NAME[C_NPE] = "SBE tool adapter"
$NP_NEXT[C_NPE] = ""
$NP_NEXTP[C_NPE] = ""
$NP_TYPE[C_NPE] = "CYLINDER"
; cylinder dimensions
$NP_PARA[C_NPE,0] = 50.0 ; height
$NP_PARA[C_NPE,1] = 60.0 ; radius
$NP_PARA[C_NPE,2] = 0.0
; center point
$NP_OFF[C_NPE,0] = 0.0 ; X
$NP_OFF[C_NPE,1] = 0.0 ; Y
$NP_OFF[C_NPE,2] = 25.0 ; Z: Half height
;
$NP_DIR[C_NPE,0] = 0.0
$NP_DIR[C_NPE,1] = 0.0
$NP_DIR[C_NPE,2] = 0.0
;
$NP_ANG[C_NPE] = 0.0
;
$NP_COLOR[C_NPE] = 0
$NP_D_LEVEL[C_NPE] = 0
$NP_USAGE[C_NPE] = "A"
$NP_FILENAME[C_NPE] = ""
;
C_NPE = C_NPE + 1 ; next protection area element
;
Special functions
300 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.4 Example
Program code
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; protection area 3: Tool
; ----------------------------------------------------------
$NP_PROT_NAME[C_NPC] = "WKZ"
$NP_PROT_TYPE[C_NPC] = "TOOL"
$NP_CHAIN_ELEM[C_NPC] = "Z axis"
$NP_1ST_PROT[C_NPC] = ""
$NP_PROT_COLOR[C_NPC] = 'HFFFF0000' ; AARRGGBB
$NP_BIT_NO[C_NPC] = -1
$NP_INIT_STAT[C_NPC] = "A"
; only relevant for type "TOOL"
$NP_INDEX[C_NPC,0] = 1 ; tool location No. / spindle No.
$NP_INDEX[C_NPC,1] = 9998 ; magazine No. / -
$NP_INDEX[C_NPC,2] = 1 ; TOA area
;
C_NPC = C_NPC + 1 ; next protection area
;
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 301
K9: Collision avoidance - only 840D sl
7.4 Example
Program code
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; protection area 4: Z axis
; ----------------------------------------------------------
$NP_PROT_NAME[C_NPC] = "Z axis"
$NP_PROT_TYPE[C_NPC] = "MACHINE"
$NP_CHAIN_ELEM[C_NPC] = "Z axis"
$NP_1ST_PROT[C_NPC] = "SBE Z axis"
$NP_PROT_COLOR[C_NPC] = 'HFFA0A0A4' ; AARRGGBB
$NP_BIT_NO[C_NPC] = -1
$NP_INIT_STAT[C_NPC] = "A"
;
C_NPC = C_NPC + 1 ; next protection area
;
; ----------------------------------------------------------
; protection area element 4.1: SBE horizontal column
; ----------------------------------------------------------
$NP_NAME[C_NPE] = "SBE Z axis"
$NP_NEXT[C_NPE] = ""
$NP_NEXTP[C_NPE] = ""
$NP_TYPE[C_NPE] = "BOX"
;
$NP_PARA[C_NPE,0] = 160.0
$NP_PARA[C_NPE,1] = 600.0
$NP_PARA[C_NPE,2] = 160.0
;
$NP_OFF[C_NPE,0] = 0.0
$NP_OFF[C_NPE,1] = 200.0
$NP_OFF[C_NPE,2] = 130.0
;
$NP_DIR[C_NPE,0] = 0.0
$NP_DIR[C_NPE,1] = 0.0
$NP_DIR[C_NPE,2] = 0.0
;
$NP_ANG[C_NPE] = 0.0
;
$NP_COLOR[C_NPE] = 0
$NP_D_LEVEL[C_NPE] = 0
$NP_USAGE[C_NPE] = "A"
$NP_FILENAME[C_NPE] = ""
;
C_NPE = C_NPE + 1 ; next protection area element
;
Special functions
302 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.4 Example
Program code
; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
; protection area 5: Table
; --------------------------------------------------------
$NP_PROT_NAME[C_NPC] = "table"
$NP_PROT_TYPE[C_NPC] = "MACHINE"
$NP_CHAIN_ELEM[C_NPC] = "Y axis"
$NP_1ST_PROT[C_NPC] = "SBE table"
$NP_PROT_COLOR[C_NPC] = 'HFF00FF00' ; AARRGGBB
$NP_BIT_NO[C_NPC] = -1
$NP_INIT_STAT[C_NPC] = "A"
;
C_NPC = C_NPC + 1 ; next protection area
;
; ----------------------------------------------------------
; protection area element 5.1: SBE table
; ----------------------------------------------------------
$NP_NAME[C_NPE] = "SBE table"
$NP_NEXT[C_NPE] = ""
$NP_NEXTP[C_NPE] = ""
$NP_TYPE[C_NPE] = "BOX"
;
$NP_PARA[C_NPE,0] = 1000.0
$NP_PARA[C_NPE,1] = 500.0
$NP_PARA[C_NPE,2] = 100.0
;
$NP_OFF[C_NPE,0] = 0.0
$NP_OFF[C_NPE,1] = 0.0
$NP_OFF[C_NPE,2] = -50.0
;
$NP_DIR[C_NPE,0] = 0.0
$NP_DIR[C_NPE,1] = 0.0
$NP_DIR[C_NPE,2] = 0.0
;
$NP_ANG[C_NPE] = 0.0
;
$NP_COLOR[C_NPE] = 0
$NP_D_LEVEL[C_NPE] = 0
$NP_USAGE[C_NPE] = "A"
$NP_FILENAME[C_NPE] = ""
;
C_NPE = C_NPE + 1 ; next protection area element
;
;
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 303
K9: Collision avoidance - only 840D sl
7.5 Data lists
Program code
;===========================================================
; collision pairs
;===========================================================
$NP_COLL_PAIR[C_NPP, 0] = "Tool adapter"
$NP_COLL_PAIR[C_NPP, 1] = "Table"
;
C_NPP = C_NPP + 1 ; next collision pair
;
$NP_COLL_PAIR[C_NPP, 0] = "T"
$NP_COLL_PAIR[C_NPP, 1] = "Table"
;
C_NPP = C_NPP + 1 ; next collision pair
;
;
;===========================================================
; activating the machine model
;===========================================================
PROTA
PROTS("A")
;
M2
;========================= END ===========================
Identifier Description
$NP_COLL_PAIR Name of the first or second protection area of a collision pair
$NP_SAFETY_DIST Safety clearance of the collision pair
$AN_COLL_STATE Current state of a protection area with regard to the collision avoidance
$AN_COLL_STATE_COND Monitoring state (bit-coded) of a protection area
Special functions
304 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
K9: Collision avoidance - only 840D sl
7.5 Data lists
Identifier Description
$AN_COLL_IPO_ACTIVE Activation state of the collision avoidance in the main run
$AN_COLL_IPO_LIMIT Velocity reduction through collision avoidance in the main run
$AN_COLL_LOAD Computation time requirement for the collision avoidance function
$AN_ACTIVATE_COLL_CHECK Current state of the NC/PLC interface DB10, DBX234.0 - DBX.241.7 (activate
protection areas)
$AN_COLL_CHECK_OFF Current state of the NC/PLC interface DB10, DBB58 (switch off protection
area groups depending on the operating mode)
$AA_COLLPOS Position of an axis in the MCS when the last collision alarm occurred
$AC_COLLPOS Vector for the collision position in the world coordinate system when the last
collision alarm occurred
$AN_COLL_MEM_AVAILABLE Size of the memory space in KB reserved for the collision avoidance.
$AN_COLL_MEM_USE_MIN Minimum value of the memory space used for the collision avoidance as a
percentage of the reserved memory.
$AN_COLL_MEM_USE_MAX Maximum value of the memory space used for the collision avoidance as a
percentage of the reserved memory.
$AN_COLL_MEM_USE_ACT Actual value of the memory space used for the collision avoidance as a per‐
centage of the reserved memory.
$AA_DTBREB Estimated, linearly approximated total braking distance (BCS)
$AA_DTBREB_CMD Command component (BCS)
$AA_DTBREB_CORR Correction component (BCS)
$AA_DTBREB_DEP Coupling component (BCS)
$AA_DTBREM Estimated, linearly approximated total braking distance (MCS)
$AA_DTBREM_CMD Command component (MCS)
$AA_DTBREM_CORR Correction component (MCS)
$AA_DTBREM_DEP Coupling component (MCS)
7.5.3 Signals
7.5.3.1 Signals to NC
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 305
K9: Collision avoidance - only 840D sl
7.5 Data lists
Special functions
306 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes 8
8.1 Coupled motion
8.1.1.1 Function
The "coupled motion" function enables the definition of simple axis links between a master
axis and a slave axis, taking into consideration a coupling factor.
Coupled motion has the following features:
● Any axis of the NC can be defined as a master axis.
● Any axis of the NC can be defined as a coupled axis with a specific coupling factor.
● The master axis and coupled motion axis or axes together form a coupled axis grouping.
● Any number of coupled motion axes can be assigned to a master axis.
● A total of 2 leading axes may be assigned to each coupled motion axis.
● A coupled motion axis can be the master axis of a further coupled axis grouping.
● Traversing movements of the master axis are executed in synchronism on all slave axes
based on the coupling factor.
● Coupled motion axes can be moved independently of the master axis while the coupling is
active (overlaid movements).
● The master and coupled motion axes of a coupled axis grouping are defined, and the
coupling switch on/switch off, by programming instructions in the part program or by
synchronized action.
● Coupled motion is also possible in the following manual modes: JOG, JOG REF, JOG INC,
etc.
8.1.1.2 Preconditions
Generic coupling
The coupled motion functionality is also available in the generic coupling.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 307
M3: Coupled axes
8.1 Coupled motion
However, for basic operation of generic coupling, the following restrictions apply:
● The maximum number of coupled motion groupings is limited to 4.
● Only 1 leading axes may be assigned to each coupled motion axis.
● Cascading is not possible.
Note
These restrictions do not apply when NCK software is supplied with the relevant options of
generic coupling (refer to " Preconditions (Page 380) " in the "Brief Description" of Generic
Coupling).
Leading axes
Any axis of the NC, including simulated axes, can be used as leading axis.
Coupled axes
Any axis of the NC can be used as coupled motion axis.
Coupling factor
The ratio in which the coupled motion axis moves in relation to the leading axis is specified via
the coupling factor.
Coupling factor K = motion of the coupled motion axis / motion of the leading axis
Negative coupling factors (motion of the coupled motion axis in the opposite direction) are also
permitted.
Special functions
308 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.1 Coupled motion
<D[LV
9D[LV
=D[LV
:D[LV
;D[LV
Multiple couplings
Up to 2 leading axes can be assigned to one coupled motion axis. The traversing movement
of the coupled motion axis then results from the sum of the traversing movements of the leading
axes.
Coordinate system
Coupled axis motion is always executed in the base coordinate system (BCS).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 309
M3: Coupled axes
8.1 Coupled motion
Activating/deactivating
Coupled motion can be activated/deactivated via the part programs and synchronous actions.
In this context please ensure activating/deactivating is undertaken with the same programming:
● Activate: Part program → Deactivate: Part program
● Activate: Synchronous action → Deactivate: Synchronized action
Synchronization on-the-fly
If switch on is performed while the leading axis is in motion, the coupled motion axis is first
accelerated to the velocity corresponding to the coupling. The position of the leading axis at
the time the velocities of the leading and coupled motion axes are synchronized then serves
as the start position for further coupled motion.
Operating modes
Coupled motion is effective in the AUTOMATIC, MDA and JOG modes.
CAUTION
No coupling
When the coupled motion axis is referenced, the coupling to the leading axis is cancelled.
If referencing is executed immediately with the leading axis, i.e. without changing JOG/
REF mode, the coupled motion axis does not traverse with the leading axis.
Special functions
310 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.1 Coupled motion
Response to NC Start
The behavior of the coupled-axis groupings during NC Start depends on the setting in the
machine data:
MD20112 $MC_START_MODE_MASK (definition of initial control settings for NC-START)
Note
If with NC RESET or end of part program in a channel, the leading axis is not stopped as well
(cross-channel coupling, command axis, PLC axis, etc.), the requested RESET cannot be
completed.
Because of traversing of the leading axis, the coupled-motion axis is still active for the channel
in which the RESET is requested. With suitable actions (NC RESET in the channel of the
leading axis, stopping of the command or PLC axis), the leading axis must also be stopped in
parallel to the coupled-motion axis.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 311
M3: Coupled axes
8.1 Coupled motion
8.1.3 Programming
Programming
Type: REAL
Range of values:± (2,2 * 10-308 … 1,8 * 10+308)
Default value: +1.0
Example:
Programming
Special functions
312 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.1 Coupled motion
Parameters:
Coupled motion Type: AXIS
axis: Range of val‐ All defined axis and spindle names in the channel
ues:
Leading axis: Type: AXIS
Range of val‐ All defined axis and spindle names in the channel
ues:
Example:
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 313
M3: Coupled axes
8.1 Coupled motion
Leading axis
When a coupled axis grouping is active, the interface signals (IS) of the leading axis are applied
to the appropriate coupled motion axis via the axis coupling, i.e.
● A position offset or feed control action of the leading axis is applied via the coupling factor
to effect an appropriate position offset or feed control action in the coupled motion axis.
● Shutdown of the leading axis as the result of an interface signal (e.g. axis-specific feed
stop, axis inhibit, servo enable, etc.) causes the corresponding coupled motion axis to shut
down.
Value Meaning
0 No coupling active
1, 2, 3 Tangential tracking
4 Synchronous spindle coupling
8 Coupled motion active
Special functions
314 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.1 Coupled motion
Value Meaning
16 Master value coupling
32 Following axis of electronic gearbox
Note
Only one coupling mode may be active at any given time.
CAUTION
Axis overload
If a coupled motion grouping
● in synchronized actions
● is activated in the part program with leading axes, that are not program axes in the
channel of the coupled motion axes,
it is the special responsibility of the user/machine manufacturer to provide suitable
measures to ensure that an overload of the coupled motion axes does not occur through
traversing of the leading axis.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 315
M3: Coupled axes
8.1 Coupled motion
Note
Alignment of the position control parameters of the leading axis and the coupled motion axis
can be performed via a parameter set changeover.
8.1.8 Examples
<D[LV
9D[LV
=D[LV
:D[LV
;D[LV
Example 1
Example of an NC part program for the axis constellation shown in Fig.:
Special functions
316 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.2 Curve tables - 840D sl only
Example 2
The dependent and independent movement components of a coupled motion axis are added
together for the coupled motion. The dependent component can be regarded as a co-ordinate
offset with reference to the coupled motion axis.
8.2.1.1 Function
The "curve tables" function can be used to define the complex sequence of motions of an axis
in a curve table.
Any axis can be defined as a leading axis and a following axis can be traversed by taking a
curve table into account.
The command variable in these motion sequences is an abstract master value, which is
generated by the control or derived from an external variable (e.g. simulated position of an
axis).
Creating curve tables is performed via part program sequences.
The curve tables in the static NC memory remain valid after the part program has been been
closed or after POWER DOWN.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 317
M3: Coupled axes
8.2 Curve tables - 840D sl only
Curve tables can be saved in dynamic NC memory for faster access. Please note that tables
need to be reloaded after run-up.
Axis groupings with curve tables must be reactivated independently of the storage location of
the curve table after POWER ON.
Linear curve table segments are stored in separate areas to save memory space.
8.2.1.2 Preconditions
Memory configuration
Static NC memory
Memory space for curve tables in static NC memory is defined by machine data:
MD18400 $MN_MM_NUM_CURVE_TABS (number of curve tables)
MD18402 $MN_MM_NUM_CURVE_SEGMENTS (number of curve segments)
MD18403 $MN_MM_NUM_CURVE_SEG_LIN (number of linear curve segments)
MD18404 $MN_MM_NUM_CURVE_POLYNOMS (number of curve table polynomials)
Dynamic NC memory
Memory space for curve tables in dynamic NC memory is defined by machine data:
MD18406 $MN_MM_NUM_CURVE_TABS_DRAM (number of curve tables)
MD18408 $MN_MM_NUM_CURVE_SEGMENTS_DRAM (number of curve segments)
MD18409 $MN_MM_NUM_CURVE_SEG_LIN_DRAM (number of linear curve segments)
MD18410 $MN_MM_NUM_CURVE_POLYNOMS_DRAM (number of curve table polynomials)
Curve table
A functional relation between a command variable "master value" and an abstract following
value is described in the curve table.
A following variable can be assigned uniquely to each master value within a defined master
value range.
Curve segment
The functional relation can be subdivided into separate sections of the master value axes,
called curve segments.
Within a curve segment, the relation between the master value and following value is generally
described by a polynomial up to the third order. Polynomials up to the 5th degree are also
permissible.
Special functions
318 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.2 Curve tables - 840D sl only
Reference:
Programming Manual, Production Planning
Curve segments are used if:
● Polynomes or circles are programmed
● Spline is active
● Compressor is active
● Polynomials or circles are generated internally (chamfer/rounding, approximate positioning
with G643, WRK etc.)
Note
Table definitions in the static NC memory are available even after control system run-up. Curve
tables of the dynamic NC memory must be redefined after every control system run-up.
Memory configuration
The storage place available for the curve table in the static and dynamic NC memory is defined
during memory configuration (see Section "Memory configuration (Page 321)").
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 319
M3: Coupled axes
8.2 Curve tables - 840D sl only
Memory optimization
In a curve table with linear segments, the linear segments can be stored efficiently in the
memory only if the two following machine data items are > 0:
MD18403 $MC_MM_NUM_CURVE_SEG_LIN (number of linear curve segments in the static
NC memory)
MD18409 $MC_MM_NUM_CURVE_SEG_LIN_DRAM (number of linear curve segments in
the dynamic NC memory)
If no memory areas are created with this machine data, then the linear segments are stored
as polynomial segments.
Insufficient memory
If a curve table cannot be created, because sufficient memory is not available, then the newly
created table is deleted immediately after the alarm.
If insufficient is available, then one or more table(s) that is/are no longer required can be deleted
with CTABDEL or, alternatively, memory can be reconfigured via machine data.
Special functions
320 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.2 Curve tables - 840D sl only
8.2.4 Commissioning
Static NC memory
MD18400 $MN_MM_NUM_CURVE_TABS Defines the number of curve tables that can be stored in the
static NC memory.
MD18402 $MN_MM_NUM_CURVE_SEGMENTS Defines the number of curve table segments that can be stored
in the static NC memory.
MD18403 $MN_MM_NUM_CURVE_SEG_LIN Defines the maximum number of linear segments in the static
NC memory.
MD18404 $MN_MM_NUM_CURVE_POLYNOMS Defines the number of curve table polynomes that can be stored
in the static NC memory.
Dynamic NC memory
MD18406 $MN_MM_NUM_CURVE_TABS_DRAM Defines the number of curve tables that can be stored in the
dynamic NC memory.
MD18408 $MN_MM_NUM_CURVE_SEGNENTS_DRAM Defines the number of curve table segments that can be stored
in the dynamic NC memory.
MD18409 $MN_MM_NUM_CURVE_SEG_LIN_DRAM Defines the maximum number of linear segments in the dynam‐
ic NC memory.
MD18410 $MN_MM_NUM_CURVE_POLYNOMS_DRAM Defines the number of curve table polynomes that can be stored
in the dynamic NC memory.
Note
A curve table with linear segments can be stored efficiently in the memory only if:
MD18403 > 0 or MD18409 > 0
If no memory areas are created with this machine data, then the linear segments are stored
as polynomial segments.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 321
M3: Coupled axes
8.2 Curve tables - 840D sl only
MD20900
Tool radius compensation can produce segments for which the following axis or leading axis
have no movement. A missing movement of the following axis does not normally represent
any problem. As against this, a missing movement of the leading axis requests a specification
as to how such discontinuities are to be handled, i.e., whether or not a curve table should be
generated in these cases. This specification is done in the machine data settings:
MD20900 $MC_CTAB_ENABLE_NO_LEADMOTION (curve tables with discontinuity of the
following axis)
Value Description
0 No curve tables that contain a discontinuity in the following axis are produced. Alarm 10949
is output and program processing is aborted.
1 Curve tables with a discontinuity in the following axis can be generated. If a segment contains
a discontinuity in the following axis, Alarm 10955 is output but program processing is continued.
2 Curve tables with a discontinuity in the following axis can be created without an alarm being
output.
Note
In the case of a curve table that contains segments without leading axis movement (this means
that the following axis jumps at this point), the following axis can only make a jump within its
dynamic limits (max. velocity and max. acceleration). This means that there is always a
deviation from the programmed curve.
MD20905
If there is no memory specification while defining or deleting a curve table, the memory type
can be determined through the following machine data:
MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE (default memory type for curve tables)
Value Description
0 Curve tabels are normally created in the static NC memory.
1 Curve tabels are normally created in the dynamic NC memory.
Special functions
322 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.2 Curve tables - 840D sl only
8.2.5 Programming
Definition
The following modal language commands work with curve tables: (The parameters are
explained at the end of the list of functions.)
● Beginning of definition of a curve table:
CTABDEF(following axis, leading axis, n, applim, memType)
● End of definition of a curve table:
CTABEND()
● Deleting curve table(s):
CTABDEL(n)
; curve table n
CTABDEL(n, m)
; [n < m], more than one in the range of numbers
; it is deleted in static "SRAM" and in dynamic "DRAM" of NC memory.
● CTABDEL(n, m, memType)
; Delete with memory specification:
Those curve tables with the numbers in the range, which are in the specified memory type,
will be deleted. All other curve tables are retained.
Delete all tables in a particular memory type:
CTABDEL(, , "DRAM")
CTABDEL(, , "SRAM")
CTABDEL()
; all in DRAM or
; all in SRAM:
; all, irrespective of memory type
● Read the following value for a master value
CTAB(master value, n, degrees, [following axis, lead axis])
● Read the master value for a following value
CTABINV(following value, approx. master value, n, degrees, [following axis, leading axis])
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 323
M3: Coupled axes
8.2 Curve tables - 840D sl only
Enable/cancel blocking
The following functions can be used to enable or cancel deletion and overwrite blocks for parts.
programs.
● Enable deletion and overwrite block.
General form: CTABLOCK(n, m, memType)
● Cancel deletion and overwrite block.
CTABUNLOCK releases the tables locked with CTABLOCK. Tables involved in an active
coupling remain locked, i.e. they cannot be deleted. However, the CTABLOCK command is
cancelled, i.e. the table can be deleted as soon as the coupling is deactivated. It is not
necessary to call CTABUNLOCK again.
General form: CTABUNLOCK(n, m, memType)
Applications of the forms:
Curve table with number n
CTABLOCK(n)
Curve tables in the number range n to m.
CTABLOCK(n, m)
All curve tables, irrespective of memory type
CTABLOCK()
All curve tables in the specified memory type
CTABLOCK(, , memType)
Curve table with number n
CTABUNLOCK(n)
Curve tables in the number range n to m.
CTABUNLOCK(n, m)
Special functions
324 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.2 Curve tables - 840D sl only
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 325
M3: Coupled axes
8.2 Curve tables - 840D sl only
Parameter
● Following axis:
Name of axis via which the following axis is programmed in the definition.
● Leading axis:
Name of axis via which the leading axis is programmed.
● n, m
Numbers for curve tables.
Curve table numbers can be freely assigned. They are used exclusively to uniquely identify
a curve table.
In order to delete a curve table area using the command CTABDEL(n, m) must be greater
than n.
● p
Entry location (in memType memory area)
Special functions
326 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.2 Curve tables - 840D sl only
● applim:
Behavior at the curve table edges.
– 0 non-periodic (table is processed only once, even for rotary axes).
– 1 periodic, modulo (the modulo value corresponds to the LA table values).
– 2 periodic, modulo (LA and FA are periodic).
● Master value
Position value for which a following value is to be determined.
● Slave value
Position value for which a master value is to be calculated.
● aproxmastervalue
Position value that can be used to determine a unique master value in the case of an
ambiguous reversing function of the curve table.
● degrees
Parameter in which the pitch of the table function is returned.
● memType
Optional parameter for specifying memory type to be used n curve tables.
Possible values:
"SRAM" curve table is created in static NC memory.
"DSRAM" curve table is created in dynamic NC memory.
If an invalid type is entered, the value -2 is returned.
If the parameter is omitted, then the memory type set via the following machine data takes
effect:
MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE (default memory type for curve
tables)
● segType
Optional parameter for entry of segment type
Possible values:
segType "L" linear segments
segType "P" Polynomial segments
Reference:
Programming Manual, Production Planning; Axis Couplings, Section: Curve tables (CTAB)
Restrictions
The following restrictions apply when programming:
● It is not permissible that the NC block generates a preprocessing stop.
● No discontinuities may occur in leading axis motion.
● Any block that contains a traverse instruction for the following axis must also include a
traverse for the leading axis.
● The direction of motion of the leading axis must not reverse at any point in the rule of motion,
i.e. the position of the leading axis must always be unique within the sequence of motions.
The programmed contour may not move perpendicular to the leading axis.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 327
M3: Coupled axes
8.2 Curve tables - 840D sl only
● Axis names from gantry axis groups cannot be used to define a table (only leading axis are
possible).
● Depending on the following machine data, jumps in the following axis may be tolerated if
a movement is missing in the leading axis.
MD20900 $MC_CTAB_ENABLE_NO_LEADMOTION (curve tables with discontinuity of the
following axis)
The other restrictions listed above still apply.
Axis assignment
Does not take effect until coupling is activated with curve table.
Note
The dynamic limit values of the motion commands for a curve table are not checked until
activation or interpolation.
Starting value
The first motion command in the definition of a curve table defines the starting value for the
leading and following value.
All instructions that cause a preprocessing stop must be hidden.
Example 1
Without tool radius compensation, without memory type
Special functions
328 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.2 Curve tables - 840D sl only
Example 2
Example of a curve table with active tool radius compensation:
Prior to definition of a curve table with CTABDEF(), tool radius compensation must not be active;
otherwise alarm 10942 is generated. This means that tool radius compensation must be
activated within the definition of the curve table. Similarly, it must be deactivated again before
the end of the curve table definition, using CTABEND.
Tool radius compensation is activated in block N30; this causes the approach movement for
radius compensation to be made in this block. Similarly, the approach movement for
deactivation of the radius compensation is made in block N80.
Note
The value pairs between CTABDEF and CTABENDmust be specified for precisely the axis
names that have been programmed in CTABDEF as the leading axis name and following axis
name. In the case of programming errors, alarms or incorrect contours may be generated.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 329
M3: Coupled axes
8.2 Curve tables - 840D sl only
1:1 to the internal segments of the curve table. This is always the case if only G1 blocks or axis
polynomials are used to define the curve tables and no other functions are active.
Programmed sections may under certain circumstances not be transformed unchanged into
internal curve segments if:
1. Circles or involutes are programmed
2. Chamfer or rounding is active (CHF, RND)
3. Smoothing with G643 is active
4. Compressor is active (COMPON, COMPCURV, COMPCAD)
5. Tool radius compensation is active for polynomial interpolation.
In these cases, the language commands CTABSSV and CTABSEV may not be used to query
the start and end points of the programmed segments.
CTABINV
When using the inversion function for the curve tables CTABINV, it must be noted that the
following value mapped to the leading value may not be unique.
Within a curve table, the following value can assume the same value for any number of master
value positions. In order to resolve this ambiguity, the program command CTABINV requires
a further parameter, in addition to the following value, which it uses to select the 'correct' master
value. CTABINV always returns the master value that is closest to this auxiliary parameter.
This auxiliary value can, for example, be the master value from the previous interpolator clock
cycle.
Note
Although the auxiliary parameter permits calculation of a unique result for the reversal function
of the curve table, it should be noted that numerical inaccuracies may give rise to contours,
which can cause the reversal function to produce results that deviate from those that would
be obtained in a calculation where the accuracy is unrestricted.
Optional parameters
The functions CTAB, CTABINV, CTABSSV and CTABSEV have optional parameters for the
leading and following axes. If one of these parameters is programmed, the master value and
following value are modified using the scaling factors of the relevant axes.
This is particularly important if axes have been configured with different length units (inch/
metric). If no optional parameters are programmed, the master value and following value are
treated as path positions in the conversion from external to internal representation. This means
that the values are multiplied according to the configured resolution (decimal places) and the
remaining decimal places are truncated.
Special functions
330 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.2 Curve tables - 840D sl only
<
(QG
1 1
1 1
6WDUW
;
;
Figure 8-2 Determining the curve segment associated with master value X = 30
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 331
M3: Coupled axes
8.2 Curve tables - 840D sl only
R10 =CTABTEP(n, degrees, F axis), following value at the beginning of the curve table
Special functions
332 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.2 Curve tables - 840D sl only
<
0D[LPXP
YDOXH
1
1 1
(QG
1 YDOXH
6WDUWLQJ
YDOXH 0LQLPXP
YDOXH
;
Figure 8-3 Determining the minimum and maximum values of the table
8.2.7 Activation/deactivation
Activation
The coupling of real axes to a curve table is activated through this command:
LEADON (<Following axis>, <Leading axis>, <n>)
with <n> =Number of the curve table
Activation is possible:
● In the part program
● in the definition of a synchronous action
Example:
...
N1000 LEADON(A,X,3) ; Axis A follows the master value X according to the rule
of motions defined in Curve Table No. 3
...
Deactivation
The switch off of the coupling to a curve table takes place through the following command:
LEADON (<Following axis>, <Leading axis>)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 333
M3: Coupled axes
8.2 Curve tables - 840D sl only
Deactivation is possible:
● In the part program
● in synchronized actions
Note
While programming LEADOF, the abbreviated form is also possible without specification of
the leading axis.
Example:
...
N1010 LEADOF(A,X) ; The coupling of Axis A with its leading axis is canceled
...
Multiple use
A curve table can be used several times in a single part program to couple different channel
axes.
Position is absolute
When an axial master value coupling is active, the position of the following axis via a curve
table is unique, i.e. an absolute assignment to the master axis exists.
This means that, when a modulo rotary axis is used as the master axis, the position of the
master axis is absolute. In other words, the position of the modulo rotary axis entered in the
curve table is absolute, and not modulo-reduced.
Example
Let the position of a modulo rotary axis with LEADON be 210°. The position 210° degrees is
used as the starting value in the curve table. After one rotation of the modulo axis, the axis
position is again displayed as 210°. The absolute position 570° is however taken as the input
value in the curve table:
210° + 1 round (360°) = 570°
Activation
An activated curve table is functional in the AUTOMATIC, MDA and JOG modes.
Special functions
334 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.2 Curve tables - 840D sl only
Leading axis
In an activated axis group, the interface signals move the leading axis through the axis coupling
to the associated following axis, i.e.:
● feed control of the leading axis causes a corresponding feed control of the following axis.
● A shutdown of the leading axis through interface signals (e.g., axis-specific feed stop, axis
inhibit, servo enable etc.) causes the corresponding following axis to shut down.
The effect of the axis inhibit of the leading axis on the following axis can be prevented through
the following MD setting:
MD37160 $MA_LEAD_FUNCTION_MASK, Bit 1 = 1
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 335
M3: Coupled axes
8.2 Curve tables - 840D sl only
a) Curve tables
● Determine total number of defined tables.
The definition applies to all memory types (see also CTABNOMEM)
CTABNO()
● Number of defined tables in SRAM or DRAM of NC memory.
CTABNOMEM (memType)
If memType is not specified, the memory type specified in the following machine data:
MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE (default memory type for curve tables)
Result:
>= 0: Number of defined curve tables
-2: Invalid memory type
● Determine number of curve tables still possible in memory.
CTABFNO(memType)
If memType is not specified, the memory type specified in the following machine data:
MD220905 $MC_CTAB_DEFAULT_MEMORY_TYPE
Result:
>= 0: Number of possible tables
-2: Invalid memory type
● Determine the table number of the pth table in the memory type specified optionally
CTABID(p, memType)
If memType is not specified, the memory type specified in the following machine data:
MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE
Result:
Table number or
Alarm for invalid p or memType
When using the CTABID(p, memType) function, no assumptions should be made
regarding the sequence of the curve tables in the memory. The CTABID(p, ...) function
supplies the ID (table number) of the curve table entered in memory as the pth curve table.
If the sequence of curve tables in memory changes between consecutive calls of
CTABID()CTABID(), e.g. due to the deletion of curve tables with CTABDEL(), the
CTABID(p, ...) function can supply a different curve table with the same number.
Special functions
336 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.2 Curve tables - 840D sl only
To prevent this from happening, the curve tables concerned can be locked, using the
CTABLOCK(...) language command. In this case, it should be noted that the curve tables
concerned are then unlocked with CTABUNLOCK().
●
Determine block condition
Table n
CTABISLOCK(n)
Result:
> 0: Table is blocked
Reason for block:
1: by CTABLOCK()
2: by an active coupling
3: by CTABLOCK()and by an active coupling
= 0: Table is not blocked
- 1: Table does not exist
● Check whether the curve table exists
CTABEXISTS(n)
Result:
1: Table exists
0: Table does not exist
●
Determine memory type of a curve table
CTABMEMTYP(n)
Result:
0: Table in static SRAM NC memory
1: Table in dynamic "DRAM" NC memory
-1: Table does not exist
● by an active coupling periodic
CTABPERIOD(n)
Result:
0: Table is not periodic
1: Table is periodic in the leading axis
2: Table is periodic in the leading and following axes
-1: Table does not exist
b) Curve table segments
● Determine number of used curve segments of the type memType in the memory range.
● CTABSEG(memType, segType)
● If memType is not specified, the memory type specified in the following machine data:
MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE
Result:
>= 0: Number of curve segments
-2: Invalid memory type
If segType is not specified, the sum is produced via linear and polynomisl segments in the
memory type.
-2: segType not equal "L" or "P"
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 337
M3: Coupled axes
8.2 Curve tables - 840D sl only
● Determine number of used curve segments of the type memType in the memory range
CTABSEGID(n, segType)
Result:
>= 0: Number of curve segments
-1: Curve table with number n does not exist
-2: segType not equal "L" or "P"
● Determine number of free curve segments of the type memType in the memory range
CTABFSEG(memType, segType)
If memType is not specified, the memory type specified in the following machine data:
MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE
Result:
>= 0: Number of free curve segments
-2: Invalid memory type, segType not equal "L" or "P"
● Determine maximum number of possible curve segments of the type segType in the memory
CTABMSEG(memType, segType)
If memType is not specified, the memory type specified in the following machine data:
MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE
Result:
>= 0: Maximum number of possible curve segments
-2: Invalid memory type, segType not equal "L" or "P"
c) Polynomials
● Determine the number of used polynomials of the memory type
CTABPOL(memType)
If memType is not specified, the memory type specified in the following machine data:
MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE
Result:
>= 0: Number of polynomials already used in the memory type
-2: Invalid memory type
● Determine the number of curve polynomials used by a curve table
CTABPOLID(n)
Result:
>=0: Number of used curve polynomials
-1: Curve table with number n does not exist
● Determine the number of free polynomials of the memory type
CTABFPOL(memType)
If memType is not specified, the memory type specified in the following machine data:
MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE
Result:
>= 0: Number of free curve polynomials
-2: Invalid memory type
● Determine the maximum number of polynomials of the memory type
CTABMPOL(memType)
If memType is not specified, the memory type specified in the following machine data:
MD20905 $MC_CTAB_DEFAULT_MEMORY_TYPE
Result:
>= 0: Maximum number of possible curve polynomials
-2: Invalid memory type
Special functions
338 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.2 Curve tables - 840D sl only
Transformations
Transformations are not permissible in curve tables. TRAANG is an exception.
TRAANG
If TRAANG is programmed, the rule of motion programmed in the basic co-ordinate system is
transformed to the associated machine co-ordinate system. In this way it is possible to program
a curve table as Cartesian co-ordinates for a machine with inclined linear axes.
The condition that stipulates that "the direction of motion of the leading axis must not reverse
at any point of the rule of motion" must then be met in the machine co-ordinate system. Please
note that this condition in the basic co-ordinate system does not have the same meaning as
in the machine co-ordinate system, since the contour tangents are changed by the
transformation.
8.2.13 Examples
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 339
M3: Coupled axes
8.2 Curve tables - 840D sl only
%_N_TAB_1_NOTPERI_MPF
N21 PO[X]=(147.754,-0.116,0.103) PO[Y]=(3.359,-0.188,0.277)
N22 PO[X]=(174.441,0.578,-0.206) PO[Y]=(0.123,1.925,0.188)
N23 PO[X]=(185.598,-0.007,0.005) PO[Y]=(-0.123,0.430,-0.287)
N24 PO[X]=(212.285,0.040,-0.206) PO[Y]=(-3.362,-2.491,0.190)
N25 PO[X]=(227.395,-0.193,0.103) PO[Y]=(-6.818,-0.641,0.276)
N26 PO[X]=(254.098,0.355,-0.053) PO[Y]=(-11.710,0.573,0.723)
N26 PO[X]=(254.098,0.355,-0.053) PO[Y]=(-11.710,0.573,0.723)
N27 PO[X]=(310.324,0.852,-0.937) PO[Y]=(-7.454,11.975,-1.720)
N28 PO[X]=(328.299,-0.209,0.169) PO[Y]=(-3.197,0.726,-0.643)
N29 PO[X]=(360.031,0.885,-0.413) PO[Y]=(0.000,-3.588,0.403)
CTABEND
N30 M30
Special functions
340 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.3 Master value coupling - 840D sl only
8.3.1.1 Function
The "axial master value coupling" function can be used to process short programs cyclically
with close coupling of the axes to one another and a master value that is either generated
internally or input from an external source.
The master value can, for example, be derived from a conveyor belt or a vertical shaft.
The axial master value coupling can be switched on and off in the NC part program or via
synchronized action.
8.3.1.2 Preconditions
The option "Master Value Coupling and Curve Tables Interpolation" or the relevant option of
generic coupling (refer to " Preconditions (Page 380) " in the "Brief description" for generic
coupling) is a prerequisite for utilization of the function.
Curve table
With the axial master value coupling, a leading and a following axis are moved in synchronism.
It is possible to assign the position of the following axis via a curve table or the resulting
polynomial uniquely to a position of the leading axis - simulated if necessary.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 341
M3: Coupled axes
8.3 Master value coupling - 840D sl only
Note
Virtual axes assigned to a real drive must remain unblocked.
Special functions
342 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.3 Master value coupling - 840D sl only
6'6$B/($'B6&$/(B,1B326>)$@ 6'6$B/($'B6&$/(B287B326>)$@
7KHLQSXWYDOXHLVPXOWLSOLHG 7KHRXWSXWYDOXHLVPXOWLSOLHG6HWWLQJGDWDLV
HIIHFWLYHRXWVLGHRIWKHWDEOHGHILQLWLRQDOVRLQ
WKHQHJDWLYHGLUHFWLRQ
)$
PP PP )$
PP PP
/$ /$
PP
PP PP PP PP PP
7DEOHGHILQLWLRQIRUH[DPSOH
PP
&7$%'())$/$&7$%15
/$ )$
/$ )$
&7$%(1'
PP
:LWK,16&$/(LVQRWDFWLYH
RXWVLGH7$% :LWK2876&$/(LVDFWLYHRXWVLGH7$%
6'B6$B/($'B2))6(7B,1B326>)$@ 6'6$B/($'B2))6(7B287B326>)$@
7KHFDOFXODWHGSRVLWLRQRIWKHIROORZLQJD[LVLV 7KHFDOFXODWHGSRVLWLRQRIWKHIROORZLQJD[LVLV
RIIVHWZLWKWKHVSHFLILHGLQFUHPHQWV RIIVHWZLWKWKHVSHFLILHGLQFUHPHQWV,IWKH7$%LV
PRYHGRXWVLGHRIWKH)$/($'21SRVLWLRQ.23
FDQQRWEHVZLWFKHGRQ6HWWLQJGDWDLVHIIHFWLYH
RXWVLGHRIWKHWDEOHGHILQLWLRQDOVRLQWKH
QHJDWLYHGLUHFWLRQ
)$
PP PP
PP
)$
PP
PP
PP
:LWK,12))6(7LVQRWDFWLYHRXWVLGH7$% :LWK2872))6(7DFWLYHRXWVLGH7$%
Figure 8-5 Master value coupling offset and scaling (with increment offset)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 343
M3: Coupled axes
8.3 Master value coupling - 840D sl only
Reaction to Stop
All leading value coupled following axes react to channel stop and MODE GROUP stop.
Master value coupled following axes react to a stop due to end of program (M30, M02) if they
have not been activated by static synchronized actions (IDS=...). The following machine
data is to be observed in this connection:
MD20110 $MC_RESET_MODE_MASK (definition of initial control settings after RESET / TP
End)
MD20112 $MC_START_MODE_MASK (definition of initial control settings for NC-START)
Leading axis and following axis must always interpolate in the same channel. A following axis
located in a different channel cannot be coupled (axis replacement).
START and mode change enable a following axis in the master value coupling that has been
stopped.
RESET also enables a stopped following axis in master value coupling. If enabling by RESET
is not desired, or if it is dangerous (e.g. because the following axis is coupled to an external
master value not controlled by the NC), then MD20110 must be programmed such that master
value couplings are switched off with RESET (=2001H, i.e. bit 13 set to 1).
Axial functions
Actual value coupling causes a position offset between the leading and following axis. The
cause of this is the IPO cycle-based dead time in the position controller, which lies between
the actual value of the leading axis and the following axis.
Normally, the position offset and the following error is compensated by a linear extrapolation
of the master value to the extent of this dead time, i.e. dead time compensation is active in
master value coupling. The following MD setting is defined to deactivate the dead time
compensation:
MD37160 $MA_LEAD_FUNCTION_MASK Bit 0 = 0
Special functions
344 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.3 Master value coupling - 840D sl only
8.3.3 Programming
<FA> Following axis as geometry-, channel- or machine axis name (X, Y, Z,...)
<LA> Leading axis as geometry-, channel- or machine axis name (X, Y, Z,...)
Software axis is also possible:
MD30130 $MA_CTRLOUT_TYPE=0 (setpoint output type)
<CTABn> Number of curve table
Range of values: 1 to 999
Example:
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 345
M3: Coupled axes
8.3 Master value coupling - 840D sl only
Boundary conditions:
● No reference point is required to activate the coupling.
● A defined following axis cannot be traversed in the JOG mode (not even if the "Synchronized
run fine" or. "synchronized run coarse" interface signal is not there).
● An activated coupling must first be deactivated with LEADOF before it can be activated again
with LEADON. The settings in the following machine data are to be considered in this
connection:
MD20112 MC_START_MODE_MASK (definition of initial control system settings with NC-
START)
MD20110 $MC_RESET_MODE_MASK (definition of initial control settings after RESET/TP-
End)
&283/,1*21DQGV\QFKURQRXVZLWK)$SRVLWLRQ
/HDGLQJD[LV /HDGLQJD[LV
7UDYHUVLQJGLUHFWLRQ
7UDYHUVLQJGLUHFWLRQ
&283/,1*21 &283/,1*21
)ROORZLQJD[LV )ROORZLQJD[LV
.23LVRQO\VZLWFKHGRQZKHQWKH/$LV .23LVRQO\VZLWFKHGRQZKHQWKH/$LV
ZLWKLQWKHWDEOHUDQJHRIWKH)$ ZLWKLQWKHWDEOHUDQJHRIWKH)$
2YHUOD\LQJDIWHU&283/,1*21ZLWKKDQGZKHHO'5)
/HDGLQJD[LV
,QWKHFRXSOHGVWDWHWKHIROORZLQJD[LVFDQEH
RYHUODLGZLWK%$$872'5)
2YHUULGH
)ROORZLQJD[LV
Switch off
An axis master value coupling is deactivated with the model language command LEADOF.
When the axis master value coupling is deactivated, the following axis becomes the command
axis and a stop command is generated implicitly for the following axis. The stop command can
be overwritten by another command with a synchronous action.
Syntax:
LEADON(<FA>,<LA>)
Special functions
346 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.3 Master value coupling - 840D sl only
Meaning:
<FA> Following axis as geometry-, channel- or machine axis name (X, Y, Z,...)
<LA> Leading axis as geometry-, channel- or machine axis name (X, Y, Z,...)
Software axis is also possible:
MD30130 $MA_CTRLOUT_TYPE=0 (setpoint output type)
Example:
Note
Activating / deactivating the axis master value coupling with LEADON / LEADOF is permissible
both in the part program and in synchronous actions.
References:
Function Manual, Synchronized Actions
Coupling type
The coupling type is defined by the following axis-specific setting data:
SD43100 $SA_LEAD_TYPE[<LA>] (type of master value)
<LA>: Leading axis as geometry axis name, channel axis name or machine axis name (X, Y,
Z,...)
Value Meaning
0 Actual value coupling (this type of coupling must be used for external leading axes)
1 Setpoint coupling (default setting)
2 Simulated master value (note virtual axis, not evaluated for FA)
Switch-over between actual and setpoint value coupling is possible at any time (preferably in
the idle phase).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 347
M3: Coupled axes
8.3 Master value coupling - 840D sl only
The speeds and positions of simulated master values (when $SA_LEAD_TYPE[ax]=2) can be
written in and read from the part program and synchronous actions.
Special functions
348 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.3 Master value coupling - 840D sl only
Note
If the following axis is not enabled for travel, it is stopped and is no longer synchronous.
Efficiency
A master value coupling is active depending on the settings in the part program and in the
following machine data:
MD20110 $MC_RESET_MODE_MASK (definition of initial control settings after RESET / TP
End)
MD20112 $MC_START_MODE_MASK (definition of initial control system settings with NC-
START)
Manual mode
Once a master axis coupling has been activated, traversal of the master axis (e.g. with rapid
traverse or incremental dimension INC1 ... INC10000) results in a movement of the slave axis,
allowing for the curve table definition.
Referencing
A master value coupled following axis is to be referenced prior to activation of the coupling. A
following axis cannot be referenced when the coupling is activated.
Deletion of distance-to-go
When deletion of distance-to-go is performed for a leading axis, all axes in the associated,
activated master value coupling are shut down.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 349
M3: Coupled axes
8.3 Master value coupling - 840D sl only
MD20112 $MC_START_MODE_MASK (bit 13) (definition of initial control system settings with
NC-START)
● MD20110 $MC_RESET_MODE_MASK=2001H
&&
MD20112 $MC_START_MODE_MASK=0H
→ Master value coupling remains valid after RESET and START
● MD20110 $MC_RESET_MODE_MASK=2001H
&&
MD20112 $MC_START_MODE_MASK=2000H
→ Master value coupling remains valid after RESET and is canceled with START. However,
master value coupling activated via IDS=... remains valid.
● MD20110 $MC_RESET_MODE_MASK=1H
→ Master value coupling is canceled with RESET irrespective of machine data:
MD20112 $MC_START_MODE_MASK
Master value coupling activated via IDS=... can only be deactivated via an operator front
panel reset and remains valid after program end/reset (M30, M02).
● MD20110 $MC_RESET_MODE_MASK=0H
→ Master value coupling remains valid after RESET and is canceled with START, irrespective
of machine data:
MD20112 $MC_START_MODE_MASK
However, master value coupling activated via IDS=... remains valid.
Reference:
Function Manual, Basic Functions; Coordinate Systems, Axis Types,
Axis Configurations, ... (K2)
Activating, deactivating
Master value couplings activated via a static synchronous action (IDS=...) are:
● not deactivated during program start, regardless of the value of machine data:
MD20110 $MC_RESET_MODE_MASK (definition of initial control settings after RESET /
TP End)
and
MD20112 $MC_START_MODE_MASK (definition of initial control system settings with NC-
START)
● not deactivated during program end reset (M30, M02), regardless of the value of machine
data:
MD20110 $MC_RESET_MODE_MASK
Special functions
350 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.3 Master value coupling - 840D sl only
Leading axis
When a coupled axis group is active, the interface signals (IS) of the leading axis are applied
to the appropriate following axis via axis coupling. i.e.:
● a feed control action of the leading axis is applied via the master value coupling to effect
an appropriate feed control action in the following axis.
● shutdown of the leading axis as the result of an IS (e.g. axis-specific feed stop, axis inhibit,
servo enable, etc.) causes the corresponding coupled motion axis to shut down.
Control dynamics
Depending on the application in question, it may be advisable to match the position controller
parameter settings (e.g. servo gain factor (KVfactor)) of the leading axis and following axis in
an axis grouping. It may be necessary to activate other parameter sets for the following axis.
The dynamics of the following axis should be the same or better than those of the leading axis.
Status of coupling
See Chapter "Status of coupling (Page 314)"
Interpolation
When the movement defined in the curve table is interpolated, axis position and axis speed
are calculated for a master value and its speed.
Logging
The curve tables generated by the definition of motion sequences are stored in the battery-
backed memory.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 351
M3: Coupled axes
8.4 Electronic gear (EG)
The curve tables are not lost when the control system is switched off.
These functions have no effect on cyclic machines because they are performed without
operator actions. Nor does it make sense to perform automatic (re-)positioning via the NC with
external master values.
8.4.1.1 Function
General
The "electronic gear" function makes it possible to control the movement of a following axis,
depending on up to five master axes. The relationship between each leading axis and the
following axis is defined by the coupling factor. Following axis motion components derived
from the individual leading axis motion components have an additive effect.
The coupling can be based on:
● Actual value of the leading axis
● Setpoint of the leading axis
The following functions of a gear grouping can be programmed using part program instructions:
● Defining
● Switch on
● Switch off
● Delete
Special functions
352 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.4 Electronic gear (EG)
Curve tables
Non-linear relationships between lead and following axes can also be implemented using curve
tables.
Cascading
Electronic gearboxes can be cascaded, i.e. the following axis of an electronic gearbox can be
the leading axis for a subsequent electronic gearbox.
Synchronous position
An additional function for synchronizing the following axis allows a synchronous position to be
selected:
● Approach next division (tooth gap) time-optimized
● Approach next division (tooth gap) path-optimized
● Approach in positive direction of axis rotation, absolute
● Approach in negative direction of axis rotation, absolute
● Traverse time-optimized with respect to programmed synchronized position
● Traverse path-optimized with respect to programmed synchronized position
Application Examples:
● Machine tools for gear cutting
● Gear trains for production machines
8.4.1.2 Preconditions
The "Electronic Gearbox" option or the relevant option of generic coupling (refer to
" Preconditions (Page 380) " in the "Brief description" of Generic Coupling) is required for the
usage of function.
Function
With the aid of the "Electronic gearbox" the movement of a following axis FA can be interpolated
dependent of up to five leading axes LA. The relationship between each leading axis and the
following axis is defined by a coupling factor. The following axis motion components derived
in this manner from the individual leading axis motion components have an additive effect.
FAset = SynPosFA + (LA1-SynPosLA1)*CF1 +... +(LA5-SynPosLA5)*CF5
with:
SynPosFA, SynPosLAi: from call EGONSYN (see below)
FAsetpoint: Partial setpoint of the following axis.
LAi: Setpoint or actual value of the ith leading axis (depending on the type of coupling - see
below)
KFi: Coupling factor of the ith leading axis (see below)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 353
M3: Coupled axes
8.4 Electronic gear (EG)
Extensions
The influence of each of the 5 leading axes can be specified using a curve table as an
alternative to a transmission ratio (KF=numerator/denominator).
It is thus possible for each curve (except for the special case of a straight line) for the leading
axis to influence the following axis in a non-linear manner. The function can only be used with
EGONSYN.
The function EG can be activated with curve tables with EGON.
The function EGONSYNE is available for approaching the synchronized position of the
following axis with a specified approach mode.
For special applications, it may be advisable configure the position controller as a PI
controller.
CAUTION
Application faults
Knowledge of the control technology and measurements with servo trace are an absolute
prerequisite for using this function.
References:
● CNC Commissioning Manual: NCK, PLC, drive
● Function Manual, Basic Functions; Velocities, Setpoint-Actual Value Systems, Closed-
Loop Control (G2)
Coupling type
The following axis motion can be derived from either of the following:
● Setpoints of leading axes
● Actual values of leading axes
The reference is set in the definition call for the EG axis group:
EGDEF
(see Chapter "Definition of an EG axis group (Page 361)")
Special functions
354 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.4 Electronic gear (EG)
Coupling factor
The coupling factor must be programmed for each leading axis in the group. It is defined by
numerator/denominator.
Coupling factor values numerator and denominator are entered per leading axis with the
following activation calls:
EGON
EGONSYN
EGONSYNE
(see Chapter "Activating an EG axis group (Page 362)")
Note
The option must be enabled.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 355
M3: Coupled axes
8.4 Electronic gear (EG)
EG cascading
The following axis of an EG can be the leading axis of another EG. For a sample configuration
file, see Chapter "Examples".
/$
=
1
/$ &DVFDGLQJDOVRSRVVLEOH
=
1 /$.
=1
/$ /$.
= =1
1 /$.
=1
/$.
/$
= =1
/$.
1
ಯ6RIWZDUHರD[LV =1
/$
=
1
Synchronous positions
To start up the EG axis group, an approach to defined positions for the following axis can first
be requested.
Synchronous positions are specified with:
EGONSYN (see below for details)
EGONSYNE (extended EGONSYN call).
Synchronization
If a gear is started with EGON(), EGONSYN() or EGONSYNE() see below, the actual position
of the following axis is only identical to the setpoint position defined by the rule of motion of
the gear specified by the positions of the leading axes at this time if the part program developer
makes sure that it is. The control then uses the motion of the following axis to ensure that the
setpoint and actual positions of the following axes correspond as quickly as possible if the
leading axes are moved further. This procedure is called synchronization. After synchronization
of the following axis, the term synchronous gearing is used.
Special functions
356 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.4 Electronic gear (EG)
Activation response
An electronic gearbox can be activated in two different ways:
1. On the basis of the axis positions that have been reached up to now in the course of
processing the command to activate the EG axis group is issued without specifying the
synchronizing positions for each individual axis.
EGON (see Chapter "Activating an EG axis group (Page 362)")
2. The command to activate the EG axis group specifies the synchronized positions for each
axis. From the point in time when these positions are reached, the EG should be
synchronized.
EGONSYN (see Chapter "Activating an EG axis group (Page 362)")
3. The command to activate the EG axis group specifies the synchronized positions and
approach mode for each axis. From the point in time when these positions are reached,
the EG should be synchronized.
EGONSYNE (see Chapter "Activating an EG axis group (Page 362)")
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 357
M3: Coupled axes
8.4 Electronic gear (EG)
Synchronous monitoring
The synchronism of the gearbox is monitored in each interpolator clock cycle on the basis of
the actual values of the following and leading axes. For this purpose, the actual values of the
axes are computed according to the rule of motion of the coupling. The synchronism
difference is the difference between the actual value of the following axis and the value
calculated from the leading axis actual values according to the rule of motion. The synchronism
difference can be queried from the part program (see below).
Special functions
358 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.4 Electronic gear (EG)
/$
/$ )$
(*
)$
(*
)$
(*
/$ /$
)$Lൺ)ROORZLQJD[LVIURP(*L /$LൺUHDOOHDGLQJD[LV
According to the definition given, the synchronism difference of following axis FA3 in the
example below is determined by the value of following axis FA3Act and the value of leading
axis FA2Act and LA2Act, but not by LA1Act and FA1Act.
If FA2 is not a real axis, the actual value FA2Act is not available. In this case, the setpoint of
the axis derived solely from the leading axis value FA1Act must be used instead of the actual
value of the setpoint of the axis.
Other signals
If an EGON(), EGONSYN() or EGONSYNE() block is encountered in the main run, the signal
"Coupling active" is set for the following axis. If the following axis is only overlaid, the signals
"Coupling active" and "Axis override" are set. If EGON(), EGONSYN() or EGONSYNE() is
active and the following axis is also overlaid, the signals "Coupling active" and "Axis override"
are also set.
IS "following spindle active" DB31, ... DBX 99.1: Coupling active,
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 359
M3: Coupled axes
8.4 Electronic gear (EG)
Special functions
360 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.4 Electronic gear (EG)
Note
When programmed in activation calls EGON, EGONSYN, EGONSYNE, each of the above
strings can be abbreviated to the first two characters.
If no block change has been defined for the EG axis group and none is currently specified,
"FINE" applies.
Note
The following definition commands and switch instructions of the electronic gearbox must all
be contained in only one block of a parts program.
All commands of the electronic gearbox result in a preprocessing stop, except for the activation
commands:
● EGON
● EGONSYN
● EGONSYNE
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 361
M3: Coupled axes
8.4 Electronic gear (EG)
No existing axis coupling may already be defined for the following axis. (If necessary, an
existing axis must be deleted with EGDEL.)
EGDEF triggers preprocessing stop with alarm.
For an example of how to use the EG gearbox for gear hobbing, please see Chapter
"Examples", "Electronic Gearbox for Gear Hobbing".
EGDEF
The gearbox definition with EGDEF should also be used unaltered when one or more leading
axes affect the following axis via a curve table.
The variant extended with the addition of non-linear coupling via curve tables is illustrated in
an extended example in Chapter "Extended Example with non-linear Components".
Without synchronization
The EG axis group is activated without synchronization selection with:
EGON(FA, block change mode, LA1, Z1, N1, LA2 , Z2, N2,..LA5, Z5, N5.)
The coupling is activated immediately.
With:
FA: Following axis
Depending on block change mode, the next block will be activated:
"NOC": Block change takes place immediately
"FINE": Block change is performed in "Fine synchronism"
"COARSE": Block change is performed in "Coarse synchronism"
"IPOSTOP": Block change is performed for setpoint-based synchronism
LAi: Axis name of the leading axis i
Zi: Counter for coupling factor of leading axis i
Ni: Denominator for coupling factor of leading axis i
Only the leading axes previously specified with the EGDEF command may be programmed in
the activation line. At least one leading axis must be programmed.
The positions of the leading axes and following axis at the instant the grouping is switched on
are stored as "Synchronized positions". The "Synchronized positions" can be read with the
system variable $AA_EG_SYN.
With synchronization
The EG axis group is activated with synchronization selective:
Special functions
362 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.4 Electronic gear (EG)
1. EGONSYN
EGONSYN(FA, block change mode, SynPosFA, LAi, SynPosLAi, Z_LAi, N_LAi)
With:
FA: Following axis
Block change mode:
"NOC": Block change takes place immediately
"FINE": Block change is performed in "Fine synchronism"
"COARSE": Block change is performed in "Coarse synchronism"
"IPOSTOP": Block change is performed for setpoint-based synchronism
SynPosFA: Synchronized position of the following axis
LAi: Axis name of the leading axis i
SynPosLAi: Synchronized position of leading axis i
Zi: Counter for coupling factor of leading axis i
Ni: Denominator for coupling factor of leading axis i
Note
The parameters indexed with i must be programmed for at least one leading axis, but for no
more than five.
Only leading axes previously specified with the EGDEF command may be programmed in the
activation line.
Through the programmed "Synchronized positions" for the following axis (SynPosFA) and for
the leading axes (SynPosLA), positions are defined for which the axis grouping is interpreted
as synchronous. If the electronic gear is not in the synchronized state when the grouping is
switched on, the following axis traverses to its defined synchronized position.
The position specification of the synchronized positions is specified in the configured basic
system independently of the programmable dimensions (G70/G71).
If the axis grouping includes modulo axes, their position values are reduced in the modulo,
This way the fastest possible synchronized position is approached reliably, e. g., the next tooth
from the tooth spacing (360 degree* Zn/Ni) and the associated synchronized positions.
(So-called relative synchronization.)
thereby ensuring that they approach the fastest possible synchronized position. (So-called
relative synchronization, e.g. the next tooth gap after "centering".)
If the following interface signal has not been set for the following axis, the axis will not travel
to the synchronization position.
DB31, ... DBX26.4 (Enable following axis override)
Instead the program is stopped at the EGONSYN block and the self-clearing alarm 16771 is
issued until the above mentioned signal is set.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 363
M3: Coupled axes
8.4 Electronic gear (EG)
2. EGONSYNE
EGONSYNE(FA, block change mode, SynPosFA, Approach mode, LAi,SynPosLAi, Z_LAi,
N_LAi)
with:
"FA": Following axis
Block change mode:
"NOC": Block change takes place immediately
"FINE": Block change is performed in "Fine synchronism"
"COARSE": Block change is performed in "Coarse synchronism"
"IPOSTOP": Block change is performed for setpoint-based synchronism
SynPosFA: Synchronized position of the following axis
Approach mode:
"NTGT": NextToothGapTime-optimized, the next tooth gap is approached time-optimized
(preset is used if no setting is applied).
"NTGP": The next tooth gap is approached time-optimized.
"ACN": AbsoluteCoordinateNegative, Absolute measurement specification, rotary axis
traverses in negative rotation direction
"ACP": AbsoluteCoordinatePositive, Absolute measurement specification, rotary axis
traverses in positive rotation direction
"DCT": DirectCoordinateTime-optimized, Absolute measurement specification, rotary axis
traverses time-optimized to programmed synchronized position
"DCP": DirectCoordinatePath-optimized, Absolute measurement specification, rotary axis
traverses path-optimized to programmed synchronized position
LAi: Axis name of the leading axis i
SynPosLAi: Synchronized position of leading axis i
Zi: Counter for coupling factor of leading axis i
Ni: Denominator for coupling factor of leading axis i
Note
The parameters indexed with i must be programmed for at least one leading axis, but for no
more than five.
The function is active only for modulo following axes that are coupled to modulo leading axes.
Tooth gap
The tooth gap is defined as 360 degrees * Zi / Ni
Example:
EGONSYNE(A, "FINE", FASysPos, "Traversing mode", B, LASynPos, 2, 10)
Special functions
364 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.4 Electronic gear (EG)
Programmed Position of the fol‐ Traversing Traversing mode Traversing mode Traversing mode
synchronized posi‐ lowing axis before mode NTGT/ DCT/DCP ACP ACN
tion FaSysPos EGONSYNE NTGP
110 150 182 (+32) 110 (-40) 110 (+320) 110 (-40)
110 350 326 (-24) 110 (+120) 110 (+120) 110 (-240)
130 0 346 (-14) 130 (+130) 130 (+130) 130 (-230)
130 30 58 (+28) 130 (+100) 130 (+100) 130 (-260)
130 190 202 (+12) 130 (-60) 130 (+300) 130 (-60)
190 0 334 (-26) 190 (-170) 190 (+190) 190 (-170)
230 0 14 (+14) 230 (-130) 230 (+230) 230 (-130)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 365
M3: Coupled axes
8.4 Electronic gear (EG)
17*3
YPD[
17*7
Figure 8-9 Reaching the next tooth gap, FA path-optimized (top) vs. time-optimized (bottom)
Sample notations
EGONSYNE(A, "FINE", 110, "NTGT", B, 0, 2, 10)
couple A to B, synchronized position A = 110, B = 0, coupling factor 2/10, approach mode =
NTGT
EGONSYNE(A, "FINE", 110, "DCT", B, 0, 2, 10)
couple A to B, synchronized position A = 110, B = 0, coupling factor 2/10, approach mode =
DCT
EGONSYNE(A, "FINE", 110, "NTGT", B, 0, 2, 10, Y, 15, 1, 3)
couple A to B, synchronized position A = 110, B = 0, Y = 15,
Coupling factor to B = 2/10, Coupling factor to Y = 1/3,
approach mode = NTGT
With synchronization
The syntax specified above applies with the following different meanings:
If a curve table is used for a leading axis, then the denominator of the linear coupling of the
coupling factor (Ni) must be set to 0 (denominator 0 would be impermissible for linear
couplings).
For control, denominator zero is the indicator that the counter of the coupling factor (Zi) is to
be interpreted as the number of the curve table to be used. The curve table with the specified
number must already be defined at power on (in accordance with Chapter "Curve Tables").
The leading axis specified (LAi) corresponds to the one specified for coupling via coupling
factor (linear coupling).
Special functions
366 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.4 Electronic gear (EG)
Variant 1
There are different ways to deactivate an active EG axis grouping.
EGOFS(following axis)
The electronic gear is deactivated. The following axis is braked to a standstill. This call triggers
a preprocessing stop.
Variant 2
The following parameterization of the command makes it possible to selectively control the
influence of individual leading axes on the motion of the following axis.
EGOFS(following axis, leading axis 1, ... leading axis 5)
Note
At least one leading axis must be specified.
The influence of the specified leading axes on the slave is selectively inhibited. This call triggers
a preprocessing stop.
If the call still includes active leading axes, then the slave continues to operate under their
influence. If the influence of all leading axes is excluded by this method, then the following axis
is braked to a standstill.
If the command EGONSYN is deactivated selectively, no axis movement is performed.
Variant 3
EGOFC(following spindle)
The electronic gear is deactivated. The following spindle continues to traverse at the speed/
velocity that applied at the instant of deactivation. This call triggers a preprocessing stop.
Note
Call for following spindles available. For EGOFC a spindle name must be programmed.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 367
M3: Coupled axes
8.4 Electronic gear (EG)
8.4.7 Response to POWER ON, RESET, operating mode change, block search
Block search
A search during active coupling (EG) is possible under the following supplementary conditions:
● Simulation is exclusively with setpoint coupling.
● No cross-channel leading axes may be disabled.
● Axis movements for which all real positions are known to the NC.
If it is technically not sensible or not possible to permit the target block for a block search with
calculation or SERUPRO within a part program section with active coupling, this section can
be locked for "continue machining at the contour".
Programming
● IPTRLOCK()
● IPTRUNLOCK()
Special functions
368 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.4 Electronic gear (EG)
References
(K1) Mode group, channel, program operation, reset response , Section "Block search type 5
SERUPRO" > "Lock program section for continue machining at the contour"
Application
The following system variables can be used in the part program to scan the current states of
an EG axis group and to initiate appropriate reactions if necessary:
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 369
M3: Coupled axes
8.4 Electronic gear (EG)
8.4.9 Examples
Use of axes
The following diagram shows the configuration of a typical gear hobbing machine. The machine
comprises five numerically closed loop controlled axes and an open loop controlled main
spindle. These are:
● The rotary motion of the workpiece table (C) and hobbing cutter (B).
● The axial axis (Z) for producing the feed motion over the entire workpiece width.
● The tangential axis (Y) for moving the hobbing cutter along its axis.
Special functions
370 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.4 Electronic gear (EG)
● The radial axis (X) for infeeding the cutter to depth of tooth.
● The cutter swivel axis (A) for setting the hobbing cutter in relation to the workpiece as a
function of cutter lead angle and angle of inclination of tooth.
= $
< %
;
&
; 5DGLDOD[LV
< 7DQJHQWLDOD[LVPDVWHUGULYH
< 7DQJHQWLDOD[LVPDVWHUGULYH
$ 0LOOLQJVZLYHOD[LV
& :RUNSLHFHURWDWLRQDOD[LVIROORZLQJGULYH
% 0LOOLQJURWDWLRQDOD[LV0DLQVSLQGOH0DLQGULYH
% = <
/$ /$ /$
:RUNSLHFHZLGWK /RQJLWXGLQDOD[LV
RIFXWWHU
5RWDWLRQRIFXWWHU
&
)$
5RWDU\D[LVRIZRUNSLHFHJHDUWRRWK
In this case, the workpiece table axis (C) is the following axis which is influenced by three
master drives.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 371
M3: Coupled axes
8.4 Electronic gear (EG)
The setpoint of the following axis is calculated cyclically with the following logic equation:
Workpiece/tool parameter
The values z0, z2, udz, and udy are workpiece- or tool-dependent and are specified by the NC
operator or in the part program.
Differential constants
Differential constants udz and udy make allowance for the angle of workpiece teeth and for cutter
geometry. These differential constants can be determined in user-specific cycles.
Special functions
372 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.4 Electronic gear (EG)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 373
M3: Coupled axes
8.4 Electronic gear (EG)
Introduction
The following example extends the example (see "Figure 8-10 Definition of axes on a gear
hobbing machine (example) (Page 371)") with the following:
● Machine error compensations which are not linearly dependent on the Z axis, and
● a Z-axis dependent component with tooth geometry.
This can be used to create a slightly convex tooth surface, so that the centre of the tooth
is stressed more than the edges during operation.
/HDGLQJD[HV /$
= =
&
;
=
; 1
*
&
< <
&RPSHQVDWLRQI=
=
1
*
&
$
$ =
1
*
% %
$FFRUGLQJWR%DVH([DPSOH )ROORZLQJD[LV
= &
1 &
*HDUJHRPHWU\ =
& =
2& 1
=
* 1 *
6RIWZDUHD[LV
Figure 8-11 Extended example with non-linear machine fault compensation and non-linear components on the tooth
geometry
Special functions
374 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.4 Electronic gear (EG)
The following section of a part program is intended to illustrate the general concept;
supplementary curve tables and gear wheel/machine parameters are still to be added.
Components to be added are marked with <...> . Stated parameters may also have to be
modified, e.g. coupling factors.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 375
M3: Coupled axes
8.4 Electronic gear (EG)
Machine data
Only one section is specified, which extends beyond the necessary geometry/channel
configuration and machine axis parameters.
Setting data
If the scaling described in Section "Electronic gear (EG) (Page 352) is used, the function value
from the following machine data changes according to the displacement:
MD43108 $SD_LEAD_SCALE_OUT_POS[4] = 1.2 ; scaling for table C4
System variables
In accordance with the above definitions, the following values are entered in the associated
system variables by the control.
Reference:
List Manual, System Variables
Special functions
376 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.4 Electronic gear (EG)
The system variables listed below are only used for explanatory purposes!
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 377
M3: Coupled axes
8.4 Electronic gear (EG)
Machine data
Extract from MD:
; ************** Channel 1
CHANDATA(1)
; ************** Axis 1, "X"
$MC_AXCONF_GEOAX_NAME_TAB[0] = "X"
$MC_AXCONF_CHANAX_NAME_TAB[0] = "X"
$MC_AXCONF_MACHAX_USED[0]=1
$MN_AXCONF_MACHAX_NAME_TAB[0] = "X1"
$MA_SPIND_ASSIGN_TO_MACHAX[AX1] = 0
$MA_IS_ROT_AX[AX1] = FALSE
; *************** Axis 2, "Y"
$MC_AXCONF_GEOAX_NAME_TAB[1]="Y"
$MC_AXCONF_CHANAX_NAME_TAB[1] = "Y"
$MC_AXCONF_MACHAX_USED[1] = 2
$MN_AXCONF_MACHAX_NAME_TAB[1] = "Y1"
$MA_SPIND_ASSIGN_TO_MACHAX[AX2] = 0
$MA_IS_ROT_AX[AX2] = FALSE
Special functions
378 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.4 Electronic gear (EG)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 379
M3: Coupled axes
8.5 Generic coupling
8.5.1.1 Function
Function
"Generic Coupling" is a general coupling function, combining all coupling characteristics of
existing coupling types (coupled motion, master value coupling, electronic gearbox and
synchronous spindle).
The function allows flexible programming:
● Users can select the coupling properties required for their applications (building block
principle).
● Each coupling property can be programmed individually.
● The coupling properties of a defined coupling (e.g. coupling factor) can be changed.
● Later use of additional coupling properties is possible.
● The coordinate reference system of the following axis (Base co-ordinate system or Machine
co-ordinate system) is programmable.
● Certain coupling properties can also be programmed with synchronous actions.
References:
Function Manual, Synchronized Actions
Adaptive cycles
Previous coupling calls for coupled motion (TRAIL*), Master value coupling (LEAD*), Electronic
Gearbox (EG*) and Synchronous spindle (COUP*) are still supported via adaptive cycles (see
Section "Adaptive cycles (Page 430)").
8.5.1.2 Requirements
CP version
The generic coupling is available in a basic version and four optional versions:
● CP-STATIC
● CP-BASIC
● CP-COMFORT
● CP-EXPERT
Special functions
380 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Table 8-2 Quantity structure, which is dependent on the execution of coupling modules that can be simultaneously activated
Typ CP versions allow one or more different CPSETTYPE Base ver‐ CP- CP-BA‐ CP-COM‐ CP-EX‐
e coupling objects simultaneously: sion STATIC SIC FORT PERT
A Coupled motion 4 - 4 4 8
B Synchronous spindle with |1|:1 coupling - 1 - - -
C o./u. Synchronous spindles, multi-edge turning - - 1 4 8
o./u. Master value coupling / curve tables interpolation
o./u. MCS coupling
D o./u. Electronic gearbox "plain" - - - 1 8
o./u. Free generic coupling "basic"
E o./u. Electronic gear - - - - 5
o./u. Free generic coupling
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 381
M3: Coupled axes
8.5 Generic coupling
Special functions
382 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Note
Existing coupling options (Master value coupling, Electronic gearbox and Synchronous
spindle) are not taken into consideration by generic coupling. Simultaneous operation of
existing coupling options and generic coupling is only possible if the couplings refer to different
axes/spindles.
Memory configuration
Memory space reserved in dynamic NC memory for generic coupling is defined in machine
data:
MD18450 $MN_MM_NUM_CP_MODULES (maximum allowed number of CP coupling
modules)
MD18452 $MN_MM_NUM_CP_MODUL_LEAD (maximum allowed number of CP master
values)
Note
Recommendation: Expected maximum values, which can be expected simultaneously for this
machine in its maximum configuration, should already be set during commissioning.
Hardware requirements
Systems with more than 6 axes are required when using the "CP-EXPERT" option.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 383
M3: Coupled axes
8.5 Generic coupling
8.5.2 Fundamentals
Coupling rule
The relationships between leading axis/values and a following axis are defined by a coupling
rule (coupling factor or curve table). The individual motion components from the individual
leading axes/values have an additive effect.
The relationship is demonstrated by the following example (following axis with two leading
axes):
&RXSOLQJUXOH
&RXSOLQJUXOH
)$'HS )$'HS
Special functions
384 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
The following axis position results from the overlay (summation) of the dependent motion
components (FADEP1 and FADEP2), which result from the individual coupling relationships to the
leading axes, and of the independent motion component (FACmd) of the following axis:
FATotal = FACmd + FADEP1 + FADEP2
The motion components of the following axis are calculated as follows:
Keywords
Programming is done via language commands, e.g. coupled motion with TRAILON(X,Y,2).
Keywords replace the language commands in generic coupling.
This has the following advantages:
● Coupling characteristics can be programmed individually (see following example).
● Programming of multiple couplings can be done in one block (since keywords do not require
their own block).
Advantage: Reduction of work off time
Example:
The properties set with the existing coupling call TRAILON(X,Y,2)(following axis, leading
axis and coupling factor) are defined in the generic coupling with the following keywords:
CPON=(X1) CPLA[X1]=(X2) CPLNUM[X1,X2]=2
Notation
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 385
M3: Coupled axes
8.5 Generic coupling
In order to be uniquely assigned, keywords are furnished with the prefix "CP", for Coupling).
Depending on meaning and application position, a third letter is used:
CPFPOS + CPON Synchronized position of the following axis when Not set
switching on
CPLPOS + CPON Synchronized position of the leading axis when Not set
switching on
CPFMSON Synchronization mode CFAST
Special functions
386 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Note
Coupling characteristics, which are not explicitly programmed (in part program of synchronous
actions), become effective with their default settings (see right hand column of the table).
Depending on the settings of the keyword CPSETTYPE instead of the default settings
(CPSETTYPE="CP") preset coupling characteristics can become effective (see Section
"Coupling types (Page 431)").
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 387
M3: Coupled axes
8.5 Generic coupling
Note
When writing in the part program, PREPROCESSING STOP is generated.
Notation
The names of system variables are normally derived from the relevant keywords and a
corresponding prefix.
The first letter of the prefix defines the access location when reading:
Note
The preprocessing value of a $PA_CP.. CP system variable only differs from the values of the
corresponding $AA_CP.. CP system variable during active part program processing.
At the end of the program or with abort, there is an appropriate synchronization of the
preprocessing with the main run states.
Special functions
388 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Programming
Range of values: All defined axis and spindle names in the channel
Example:
Programming Comment
CPDEF=(X2) ; A coupling module is created with axis X2 as following
axis.
Boundary conditions
● The maximum number of coupling modules is limited (see Section "Requirements
(Page 380)").
● The application of CPDEF to an already created coupling module is possible and will not
result in an alarm being generated.
Programming
Functionality: Deletion of a coupling module. All leading axis modules are deleted with
the coupling module and reserved memory is released.
Range of values: All defined axis and spindle names in the channel
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 389
M3: Coupled axes
8.5 Generic coupling
Example:
Programming Comment
CPDEL=(X2) ; Deletion of the coupling module with following axis X2.
Boundary conditions
● The switch command CPDEL results in a preprocessing stop with active coupling.
Exception: CPSETTYPE="COUP" does not result in a preprocessing stop.
● Applying CPDEL to a coupling module active in the block preparation results in implicit
deactivation of this coupling.
● Applying CPDEL to an undefined coupling module does not result in any action.
Range of values: All defined axis and spindle names in the channel
Example:
Programming Comment
CPLDEF[X2]=(X1) ; Definition of leading axis X1 for following axis X2.
Special functions
390 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Range of values: All defined axis and spindle names in the channel
Example:
Programming Comment
CPDEF=(X2) CPLA[X2]=(X1) ; Definition of leading axis X1 for following axis
X2.
Boundary conditions
● CPLDEF is only allowed in blocks without CPDEF/CPON/CPOF/CPDEL.
(This limitation applies to the case where the keywords refer to the same coupling module.)
● The maximum number of leading axis modules per coupling module is limited (see Section
"Requirements (Page 380)").
● Definition of leading axes on an already defined or active coupling module is possible. Any
newly defined leading axes and their properties (e.g. coupling factor) are not active
immediately. A corresponding switch-on command like (CPON or CPLON) is required.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 391
M3: Coupled axes
8.5 Generic coupling
Range of values: All defined axis and spindle names in the channel
Example:
Programming Comment
CPLDEL[X2]=(X1) ; Deletion of leading axis X1 of the coupling to following
axis X2.
Range of values: All defined axis and spindle names in the channel
Example:
Programming Comment
CPDEL=(X2) CPLA[X2]=(X1) ; Deletion of leading axis X1 of the coupling to fol-
lowing axis X2.
Boundary conditions
● CPLDEF is only allowed in blocks without CPDEF/CPON/CPOF/CPDEL.
(This limitation applies to the case where the keywords refer to the same coupling module.)
● If an active leading axis is deleted, the coupling to this leading axis is implicitly deactivated.
● Deletion of the last leading axis results in the entire coupling module to be deleted.
Special functions
392 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Programming
Designation: Coupling On
Functionality: Activate the coupling of the following axis to all defined leading axes.
Range of values: All defined axis and spindle names in the channel
Example:
Programming Comment
CPON=(X2) ; Activation of coupling of the following axis X2.
Boundary conditions
Application of CPON to an already active coupling results in a resynchronization. If applicable,
changed coupling properties become effective as a result. Any lost synchronization (for
example, following axis was in tracking mode) is restored.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 393
M3: Coupled axes
8.5 Generic coupling
Programming
Functionality: Deactivate the coupling of the following axis to all defined leading axes.
Range of values: All defined axis and spindle names in the channel
Example:
Programming Comment
CPOF=(X2) ; Deactivation of coupling of following axis X2.
Boundary conditions
● The switch command CPOF results in a preprocessing stop with active coupling.
Exception: CPSETTYPE="COUP" does not result in a preprocessing stop
● A CPOF switching command on an already deactivated or deleted coupling module has no
effect and is not executed.
● CPOF can be programmed in synchronous actions.
Programming
Special functions
394 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Range of values: All defined axis and spindle names in the channel
Example:
Programming Comment
CPLON[X2]=(X1) ; The coupling of leading axis X1 to following axis X2 is ac-
tivated.
Boundary conditions
CPON can be programmed in synchronous actions.
Programming
Example:
Programming Comment
CPLOF[X2]=(X1) ; The coupling of leading axis X1 to following axis X2 is de-
activated.
Constraints
CPLOF can be programmed in synchronous actions.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 395
M3: Coupled axes
8.5 Generic coupling
Example
Programming Comment
CPON=(X2) CPLA[X2]=(X1) ; Creates a coupling module for following axis X2 with
or leading axis X1 and activates the coupling module.
CPLON[X2]=(X1)
...
CPOF=(X2) ; After its deactivation, the implicitly created cou-
pling module is deleted.
Constraints
● Implicitly created coupling modules (via switch-on commands) are deleted once they are
completely deactivated (CPOF).
Advantage: Deleting them with CPDEL/CPLDEL is not necessary.
Disadvantage (possibly): All coupling properties which were set with CPOF are lost.
● Implicitly created coupling modules can be transformed into explicit coupling modules with
the following instruction CPDEF/CPLDEF. In this case CPOF does not delete the coupling
module and the data is retained.
Special functions
396 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Functionality: Defines the numerator of the coupling factor for the coupling rule of the
following axis/spindle FAx to the leading axis/spindle LAx.
Example:
Programming Comment
CPLNUM[X2,X1]=1.3 ; The numerator of the coupling factor of the coupling of
the following axis X2 to the leading axis X1 must be 1.3.
Functionality: Defines the denominator of the coupling factor for the coupling rule of the
following axis/spindle FAx to the leading axis/spindle LAx.
Example:
Programming Comment
CPLDEN[X2,X1]=2 ; The denominator of the coupling factor of the coupling of
the following axis X2 to the leading axis X1 must be 2.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 397
M3: Coupled axes
8.5 Generic coupling
Functionality: Specifies the number of the curve table to be used to calculate how the
leading axis/spindle must act on the following axis/spindle.
Example:
Programming Comment
CPLCTID[X2,X1]=5 ; The leading axis specific coupling component of the cou-
pling of the following axis X2 to the leading axis X1 is
calculated with curve table No. 5.
Supplementary conditions
● A coupling factor of zero (CPLNUM=0) is a permissible value. In this case, the leading axis/
spindle does not provide a path component for the following axis/spindle, however, it
remains a part of the coupling. Contrary to the switched-off state, the leading axis/spindle
still has an influence on the following axis/spindle. This affects, for example, reactions to
errors, limit switches and NC/PLC interface signals.
● CPLDEN=0 is not a valid value and is rejected with alarm.
● CPLNUM, CPLDEN and CPLCTID can be programmed in synchronous actions.
● Availability of non-linear coupling relationships (CPLCTID) depends on selected options
(see Section "Requirements (Page 380)").
Special functions
398 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Programming
Functionality: Defines tapping of the leading axis/spindle LAx and the reaction point
on the following axis/spindle FAx.
Range of values:
"CMDPOS" Commanded Position Setpoint value coupling
"CMDVEL" Commanded Velocity Speed coupling
"ACTPOS" Actual Value Actual value coupling
Example:
Programming Comment
CPLSETVAL[X2,X1]="CMDPOS" ; The coupling of following axis X2 to leading ax-
is X1 is deducted from the setpoint.
Constraints
For a coupling module speed coupling cannot be activated simultaneously with setpoint or
actual value coupling of another leading axis.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 399
M3: Coupled axes
8.5 Generic coupling
Programming
Functionality: Defines the co-ordinate reference system for the coupling module of the
following axis/spindle FAx.
Range of values:
”BCS” Basis Co-ordinate System Basic Coordinate System
”MCS” Machine Coordinate System Machine coordinate system
Example:
Programming Comment
CPFRS[X2]="BCS" ; The base co-ordinate system is the co-ordinate reference for
the coupling module with following axis X2.
Constraints
● Co-ordinate reference has to be specified when creating a coupling module, else the default
value is used. It is not possible to effect subsequent changes.
● Simultaneous active transformation and coupling via RESET is not supported.
Solution: Switching off the coupling with CPMRESET="OF" with RESET switching it on again
with CPMSTART="ON" in the part program.
● Simultaneous operation of the previous function "Axial Coupling in the Machine Co-ordinate
System (MCS Coupling)" and the generic coupling is not supported.
● CPFRS is not available in the main run.
Special functions
400 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Range of values:
"NOC" Block change is performed irrespective of the coupling
status.
"IPOSTOP" Block change is performed with setpoint synchronism.
"COARSE" Block change is performed with actual value synchron‐
ism “coarse”.
"FINE" Block change is performed with actual value synchron‐
ism “fine”.
Example:
Programming Comment
CPBC[X2]="IPOSTOP" ; Block change during processing of the part program is
done with setpoint synchronism (with active coupling to
following axis X2).
Syntax: WAITC(FAx1,BC)
Parameter: Fax: Designates the following axis and therefore the coupling module.
BC: Defines the desired block change criterion.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 401
M3: Coupled axes
8.5 Generic coupling
Range of values:
"NOC" Block change is performed irrespective of the coupling
status.
"IPOSTOP" Block change is performed with setpoint synchronism.
"COARSE" Block change is performed with actual value synchron‐
ism “coarse”.
"FINE" Block change is performed with actual value synchron‐
ism “fine”.
Example:
Programming Comment
WAITC(X2,"IPOSTOP") ; Block change during processing of the part program is
done with setpoint synchronism (with active coupling to
following axis X2).
Constraints
WAITC can only occur singularly in a block, contrary to the keyword CPBC.
Programming
Functionality: Defines the synchronized position of the following axis when switching
on. AC, IC and GP are possible in position specification.
Special functions
402 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Example:
Programming Comment
CPON=X2 CPFPOS[X2]=100 ; Activation of coupling to following axis X2. 100 is
taken as synchronized position of following axis X2.
Supplementary conditions
● CPFPOS is only effective as synchronized position with the switch-on command CPON/
CPLON.
The switch-off command CPOF evaluates CPFPOS as switch off position (see Section
"Following Axis Position on Switch off (Page 408)").
● CPFPOS without switch-on command results in an alarm.
● If the synchronized position of the following axis is not set during switch on, then the current
position of the following axis takes effect as synchronized position.
The program instruction IC can be used to move the current position.
● The position specification is specified in the configured basic system independently of the
programmable dimensions(G70/G71).
Programming
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 403
M3: Coupled axes
8.5 Generic coupling
Functionality: Defines the synchronized position of the following axis at switch on. Only
AC is possible in the position specification.
Example:
Programming Comment
CPLPOS[X2,X1]=200 ; 200 is taken as synchronized position of the leading ax-
is X1 of the coupling to following axis X2.
Constraints
● CPFPOS can only set with the switch-on command CPON / CPLON. CPFPOS without switch-
on command results in an alarm.
● If the synchronized position of the leading axis is not set with the switch on command
(CPON), then the current position of the leading axis takes effect as synchronized position
and therefore as zero point of the input variable.
● The position specification is specified in the configured basic system independently of the
programmable dimensions(G70 / G71).
Programming
Special functions
404 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Range of values:
"CFAST" Closed Coupling Fast The coupling is closed time-op‐
timized.
"CCOARSE" Closed If Gab Coarse The coupling is only closed
when the following axis posi‐
tion, required according to the
coupling rule, is in the range of
the current following axis posi‐
tion.
"NTGT" Next Tooth Gap Time The next tooth gap is ap‐
Optimized proached time-optimized.
"NTGP" Next Tooth Gap Path The next tooth gap is ap‐
Optimized proached path-optimized.
"NRGT" Next Ratio Gap Time The next segment is approach‐
Optimized ed in a time-optimized man‐
ner, in accordance with the ra‐
tio of the number of gears to
the number of teeth.
"NRGP" Next Ratio Gap Path The next segment is approach‐
Optimized ed in a path-optimized man‐
ner, in accordance with the ra‐
tio of the number of gears to
the number of teeth.
"ACN" Absolute Co-ordinate For rotary axes only!
Negative The rotary axis traverses to‐
wards the synchronized posi‐
tion in the negative axis direc‐
tion. Synchronization is effec‐
ted immediately.
"ACP" Absolute Coordinate For rotary axes only!
Positive The rotary axis traverses to the
synchronized position in the
positive axis direction. Syn‐
chronization is effected imme‐
diately.
"DCT" Direct Co-ordinate For rotary axes only!
Time Optimized The rotary axis traverses to the
programmed synchronized po‐
sition in time-optimized fash‐
ion. Synchronization is effec‐
ted immediately.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 405
M3: Coupled axes
8.5 Generic coupling
Example:
Programming Comment
CPFMSON[X2]="CFAST" ; CFAST is taken as synchronization mode of the coupling
to following axis X2.
Programming
Range of values:
"STOP" Stop For spindles only!
An active motion of the following spin‐
dle is stopped before switch-on.
"CONT" Continue For spindles and main traverse axes
only!
The current motion of the following
axis/spindle is taken over into the
coupling as start motion.
Special functions
406 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Example:
Programming Comment
CPFMON[X2]="CONT" ; The current motion of following axis X2 is taken over as
start motion.
Programming
Range of values:
"STOP" Stop Stop of a following axis/spindle.
An active overlaid motion is also
braked to standstill. Then the coupling
is opened, (deactivated).
"CONT" Continue For spindles and main traverse axes
only!
The following spindle continues to tra‐
verse at the speed/velocity that applied
at the instant of deactivation.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 407
M3: Coupled axes
8.5 Generic coupling
Example:
Programming Comment
CPFMOF[S2]="CONT" ; The following spindle S2 continues to traverse at the speed
that was applied at the instant of deactivation.
Programming
Example:
Programming Comment
CPOF=(X2) CPFPOS[X2]=100 ; Deactivation of coupling to following axis X2. 100
is approached as switch-off position of the fol-
lowing axis.
Supplementary conditions
● CPFPOS is only effective as switch-off position with the switch-off command CPOF.
The switch command CPON evaluates CPFPOS as switch-on position (see Section
"Synchronized Position of the Following Axis on Switch-on (Page 402)").
● The setting of a switch-off position is only permitted with the switch-off mode:
CPFMOF=STOP
● Switch-off position is approached with maximum dynamics.
● Block change behavior depends on parameterization of the keyword CPBC.
Special functions
408 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Programming
Range of values:
"NONE" The current state of the coupling is retained.
"ON" When the appropriate coupling module is created, the
coupling is switched on. All defined leading axis relation‐
ships are activated. This is also performed when all or
parts of these leading axis relationships are active, i.e.
resynchronization is performed even with a completely
activated coupling.
"OF" An active overlaid motion is also braked to standstill. The
coupling is then deactivated. When the relevant coupling
module was created without an explicit definition
(CPDEF), the coupling module is deleted. Otherwise it is
retained, i.e. it can still be used.
"OFC" Possible only in spindles!
The following spindle continues to traverse at the speed/
velocity that applied at the instant of deactivation. The
coupling is switched off. When the relevant coupling
module was created without an explicit definition
(CPDEF), the coupling module is deleted. Otherwise it is
retained, i.e. it can still be used.
"DEL" An active overlaid motion is also braked to standstill. The
coupling is then deactivated and then deleted.
"DELC" Possible only in spindles!
The following spindle continues to traverse at the speed/
velocity that applied at the instant of deactivation. The
coupling is deactivated and then deleted.
Example:
Programming Comment
CPMRESET[X2]="DEL" ; On RESET the coupling to following axis X2 is deactiva-
ted and then deleted.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 409
M3: Coupled axes
8.5 Generic coupling
Constraints
● The coupling characteristics set with CPMRESET is retained until the coupling module is
deleted with (CPDEL).
● For the coupling type (CPSETTYPE="TRAIL", "LEAD", "EG" or "COUP") the response is
defined by the following machine data during RESET:
MD20110 $MC_RESET_MODE_MASK (definition of initial control system settings after
RESET/TP-End)
→ See Section "Defaults" in " Coupling Types (CPSETTYPE) (Page 431) ".
Programming
Range of values:
"NONE" The current state of the coupling is retained.
"ON" When the appropriate coupling module is created, the cou‐
pling is switched on. All defined leading axis relationships
are activated. This is also performed when all or parts of
these leading axis relationships are active, i.e. resynchro‐
nization is performed even with a completely activated
coupling.
"OF" The coupling is switched off. When the relevant coupling
module was created without an explicit definition (CPDEF),
the coupling module is deleted. Otherwise it is retained,
i.e. it can still be used.
"DEL" The coupling is deactivated and then deleted.
Example:
Programming Comment
CPMSTART[X2]="ON" ; At part program start, coupling to following axis X2 is
switched on.
Special functions
410 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Constraints
● The coupling characteristics set with CPMSTART are retained until the coupling module is
deleted with (CPDEL).
● For the set coupling type (CPSETTYPE="TRAIL", "LEAD", "EG" or "COUP"), the response
is defined by the following machine data during part program start:
MD20112 $MC_START_MODE_MASK (Definition of the control default settings in case of
NC START)
→ See Section "Defaults" in " Coupling Types (CPSETTYPE) (Page 431) ".
8.5.5.13 Status during part program start in search run via program test (CPMPRT)
At part program start during search run via program test (SERUPRO), the coupling can be
activated, deactivated or the current status can be retained. The behavior can be set separately
for each coupling module.
Programming
Functionality: Defines the behavior of a coupling at part program start during search run
via program test.
Range of values:
"NONE" The current state of the coupling is retained.
"ON" When the appropriate coupling module is created, the cou‐
pling is switched on. All defined leading axis relationships
are activated. This is also performed when all or parts of
these leading axis relationships are active, i.e. resynchro‐
nization is performed even with a completely activated
coupling.
"OF" The coupling is switched off. When the relevant coupling
module was created without an explicit definition (CPDEF),
the coupling module is deleted. Otherwise it is retained,
i.e. it can still be used.
"DEL" The coupling is deactivated and then deleted.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 411
M3: Coupled axes
8.5 Generic coupling
Example:
Programming Comment
CPMPRT[X2]="ON" ; At part program start during search run via program
test, coupling to following axis X2 is switched on.
Constraints
● The coupling characteristics set with CPMPRT is retained until the coupling module is deleted
with (CPDEL).
● If CPMPRT="NONE" is set, then the response at part program start during search run via
program test (SERUPRO) is defined by CPMSTART.
● For the set coupling type (CPSETTYPE="TRAIL", "LEAD", "EG" or "COUP"), the response
is defined by the following machine data at part program start during search run via program
test:
MD22620 $MN_START_MODE_MASK_PRT(definition of initial control system settings
with special start)
MD22621 $MC_ENABLE_START_MODE_MASK_PRT (activation of MD22620)
MD20112 $MC_START_MODE_MASK (Definition of the control default settings in case of
NC START)
→ See Section "Defaults" in " Coupling Types (CPSETTYPE) (Page 431) ".
)$7RWDO )$ FPG^WUDQV2XWVFDOH2XW >/$6\Q3RV/$ VFDOH,QWUDQV,Q@ .)`^WUDQV2XW VFDOH2XW >/$6\Q3RV/$ VFDOH,Q WUDQV,Q @ .)`
Note
The scaling and offset values can be defined for each leading axis.
Special functions
412 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Programming
Offset of the input value
Functionality: Defines the offset value for the input value of the LAx leading axis.
Default value: 0
Example:
Programming Comment
CPLINTR[X2,X1]=-50 ; The input value of the leading axis X1 is moved in the
negative direction by the value 50.
Functionality: Defines the scaling factor for the input value of the LAx leading axis.
Default value: 1
Example:
Programming Comment
CPLINSC[X2,X1]=0.5 ; The input value of the leading axis X1 is multiplied
with the factor 0.5.
Functionality: Defines the offset value for the output value of coupling the following axis
FAx to leading axis LAx.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 413
M3: Coupled axes
8.5 Generic coupling
Default value: 0
Example:
Programming Comment
CPLOUTTR[X2,X1]=100 ; The output value of the coupling of the following axis
X2 with leading axis X1 is displaced by the value 100 in
the positive direction.
Functionality: Defines the scaling factor for the output value of coupling the following
axis FAx with leading axis LAx.
Default value: 1
Example:
Programming Comment
CPLOUTSC[X2,X1]=3 The output value of the coupling of the following axis X2
with leading axis X1 is multiplied with factor 3.
Note
The following setting data used in the existing coupling type "Master value coupling" is
considered in generic coupling independently of the set coupling type (CPSETTYPE):
SD43102 $SA_LEAD_OFFSET_IN_POS[FAx] (offset of master value)
SD43104 $SA_LEAD_SCALE_IN_POS[FAx] (scaling of master value)
SD43106 $SA_LEAD_OFFSET_OUT_POS[FAx] (offset of function value of the curve table)
SD43108 $SA_LEAD_SCALE_OUT_POS[FAx] (scaling of function value of the curve table)
These setting data have the following effect:
● on all leading axes that are coupled with the following axis via a curve table. This must be
taken into account for couplings with more than one leading axis!
● in addition to the CP key words CPLINTR, CPLINSC, CPLOUTTR and CPLOUTSC.
Special functions
414 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Note
Synchronous operation differences are signed and enable the advance or delay of the following
axis to be determined.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 415
M3: Coupled axes
8.5 Generic coupling
State Description
Not synchronized Provided the synchronous operation difference is greater than the
threshold value for position "coarse" synchronous operation or
"coarse" speed synchronous operation, the coupled group is des‐
ignated as non-synchronous.
"Coarse" synchronous operation The synchronous operation difference has reached the threshold
reached value for "coarse" position synchronous operation or "coarse"
speed synchronous operation.
In case the actual value-based synchronous operation difference,
the following NC/PLC-interface signal is set:
DB31, ... DBX98.1 (coarse synchronous operation)
"Fine" synchronous operation The synchronous operation difference has reached the threshold
reached value for "fine" position synchronous operation or "fine" speed syn‐
chronous operation.
In case the actual value-based synchronous operation difference,
the following NC/PLC-interface signal is set:
DB31, ... DBX98.0 (fine synchronous operation)
The status of the coupling for the synchronous operation can be read with the following system
variables:
Signal reaction
Synchronous operation signals themselves do not stop the involved axes, but can release
them via synchronized action or NC/PLC interface signals (see Section "R3: Extended stop
and retract (Page 469)").
Special functions
416 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Configuration
The threshold values for the first stage of the synchronous operation monitoring will be
adjusted:
● For setpoint / actual value coupling in the machine data:
– MD37200 $MA_COUPLE_POS_TOL_COARSE (threshold value for "coarse
synchronism")
– MD37210 $MA_COUPLE_POS_TOL_FINE (threshold value for "fine synchronism")
● For speed coupling in the machine data:
– MD37220 $MA_COUPLE_VELO_TOL_COARSE ("coarse" speed tolerance)
– MD37230 $MA_COUPLE_VELO_TOL_FINE ("fine" speed tolerance)
Programming
CP keywords can also be used to program the threshold values for the first stage of the
synchronous operation monitoring:
Functionality: Defines the threshold value for the "Coarse' position synchronous op‐
eration.
Functionality: Defines the threshold value for the "Fine" position synchronous opera‐
tion.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 417
M3: Coupled axes
8.5 Generic coupling
Functionality: Defines the threshold value for the "Coarse'' speed synchronous oper‐
ation.
Functionality: Defines the threshold value for the "Fine" velocity synchronous opera‐
tion.
Example
Program code Comment
CPDEF=(S2) CPLA[S2]=(S1) ; Definition of a spindle coupling:
Leading spindle S1 to following spindle S2
CPON=(S2) CPSYNCOP[S2]=0.5 ; Activation of the coupling with following spin-
CPSYNFIP[S2]=0.25 dle S2. The threshold values for the position syn-
chronous operation are set to 0.5 ("coarse") and
0.25 ("fine").
...
Special functions
418 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Supplementary conditions
● When considering the synchronous operation difference, an active coupling cascade is not
taken into account. This means: if in the considered coupling module, the leading axis is a
following axis in another coupling module, the current actual or setpoint position is still used
as input variable for the calculation of the synchronous operation difference. This
synchronous operation difference therefore does not show the total synchronous operation
error of the cascade.
● If the leading axis is not a real axis, but a simulated axis, then the actual value is not available
for the synchronous operation monitoring of the actual value. In this case, the modeled
actual values (according to the machine data setting) are used.
Technical background
As part of the "synchronous operation reached" and "exit synchronous window" monitoring
functions, for a correct assessment of any problems that arise during the multi-edge turning
(surface, waste, etc. ) and sometimes also for oscillating synchronous spindle it is often very
useful to define a tolerance range independent of the coarse/fine synchronous operation
tolerances of the first stage of the synchronous operation monitoring (similar to exact stop and
standstill monitoring for axes) in order to obtain a configurable error message or warning.
Configuration
The threshold values for the second stage of the synchronous operation monitoring are set in
the machine data:
MD37202 $MA_COUPLE_POS_TOL_COARSE_2 (second threshold value for "coarse
synchronous operation")
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 419
M3: Coupled axes
8.5 Generic coupling
Note
If the appropriate threshold value = 0, the associated monitoring is inactive. This is also the
default value so that the compatibility with older software versions is retained.
Programming
CP keywords can also be used to program the threshold values for the second stage of the
synchronous operation monitoring:
Functionality: Defines the second threshold value for the "Coarse' position synchro‐
nous operation.
Functionality: Defines the second threshold value for the "Fine" position synchronous
operation.
The programming applies similarly to the general CP behavior in the part program only with
the next switching command; for synchronized actions, immediately.
Special functions
420 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Sequence
Starting
The second stage of the synchronous operation monitoring function starts with active coupling
as soon as the following conditions are fulfilled:
● The setpoint synchronous operation is reached:
DB31, ... DBX99.4 (synchronization running) = 0
● The actual value related "coarse"/"fine" synchronous operation of the tolerance of the first
stage of the synchronous operation monitoring (see "Synchronism monitoring stage 1
(CPSYNCOP, CPSYNFIP, CPSYNCOV, CPSYNFIV) (Page 415)") is reached:
DB31, ... DBX98.1 (coarse synchronous operation) = 1 / DB31, ... DBX98.0 (fine
synchronous operation) = 1
Monitor
As long as the synchronism difference of the actual the threshold values for "fine" 2 position
synchronous operation and "coarse" 2 position synchronous operation are not exceeded, the
following NC/PLC interface signals are set:
DB31, ... DBX103.4 (synchronous operation 2 fine)
DB31, ... DBX103.5 (synchronous operation 2 coarse)
If, due to temporary overload in machining process (e.g. infeed feedrate for multi-edge
machining too high), the following axis/spindle can no longer follow the specifications of the
leading axis(n)/spindle(s) and the deviation is greater than the set tolerance, the violation of
the "fine"/"coarse" tolerance displays a display alarm that can be deleted:
Alarm 22026 "Channel %1 Block %2 Following axis/spindle %3 Synchronism (2): Coarse
tolerance exceeded"
Alarm 22025 "Channel %1 Block %2 Following axis/spindle %3 Synchronism (2): Fine
tolerance exceeded"
This does not interrupt the machining.
Note
Both alarms can also occur simultaneously.
Exit
The second stage of the synchronous operation monitoring ends in the following cases:
● Deactivation of the coupling (for the power-down command: CPOF, CPDEL, CPLOF,
CPLDEL)
● New synchronization request by:
– CPON / CPLON / CPDO / CPLOF
– DB31, ... DBX31.4 (synchronize following spindle) = 1
– Internal synchronization requests
If, in these cases, the start conditions are satisfied again, the monitoring will be restarted.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 421
M3: Coupled axes
8.5 Generic coupling
Boundary conditions
Exclusion conditions
No monitoring is performed in the following cases:
● MD37202 or MD37212 = 0.
● Speed coupling is active (CPLSETVAL="CMDVEL").
● DB31, ... DBX31.5 (inhibit synchronization of the FS) = 1
● Rapid stop of the following axis/spindle or one of the active leading axes/spindles.
● SERUPRO or block search is active.
● For channel-related run-in when the following axis/spindle or an active leading axis/spindle
does not really move.
● DB31, ... DBX63.3 (axis/spindle disable active) = 1 for the following axis/spindle or for one
of the active leading axes/spindles.
Example
Program code Comment
G0 Z–300 X50
CPDEF=(S2) CPLA=(S1) CPLNUM=2 CPLDEN=1 ; Gear ratio in accordance with tool.
CPBC="FINE"
M3 S2000
CPON=(S2) CPLA=(S1) CPSYNCOP2[X]=1.6 ; Block change is performed on reaching "fine synchronous
CPSYNFIP2[X]=0.8 operation".
; Synchronous operation monitoring stage 2 is also activa-
ted
; (tolerances: coarse 1.6, fine 0.8).
X20
G1 Z–200 ; Machining block, material removal.
; Synchronous operation determines the quality.
CPOF=(S2) ; Deselect coupling, deactivate the monitoring function.
Special functions
422 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Programming
Examples
Example 1:
Programming Comment
CPDEF=(AX5) CPLA[AX5]=(AX4) CPMBRAKE[AX5]=0 ; Defining a coupling (lead-
ing axis Ax4 with following
axis Ax5). NST "feed stop /
spindle stop" or "CP SW lim-
it stop" should not brake
the coupling group.
...
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 423
M3: Coupled axes
8.5 Generic coupling
Example 2:
Programming Comment
CPDEF=(S2) CPLA[S2]=(S1) ; Definition of a spindle coupling:
Leading spindle S1 with following spindle S2
CPON=(S2) CPMBRAKE[S2]=1 ; Activation of the coupling with following
spindle S2. NST "feed stop / spindle stop"
or "CP SW limit stop" should brake the cou-
pling group.
...
Programming
Functionality: CPMVDI is a bit-coded CP keyword, which defines the response of the cou‐
pling module of following axis FAx to certain NC/PLC interface signals.
The bit combination operators B_OR, B_AND, B_NOT, and B_XOR can be
used to set individual bits.
Special functions
424 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Bit Meaning
0 Reserved.
1 Reserved.
2 Reserved.
3 The effect of NC/PLC interface signal
DB31, ... DBX1.3 (axis/spindle disable)
on the following axis/spindle can be set via bit 3:
Bit 3 = 0 DB31, ... DBX1.3 has no effect on the following axis/
spindle. The state of the following axis/spindle with ref‐
erence to the axis/spindle disable is derived solely from
the state of the leading axes/spindles.
Bit 3 = 1 DB31, ... DBX1.3 has an effect on the following axis/
spindle. The state of the leading axes/spindles with ref‐
erence to the axis/spindle disable is not imposed on the
following axis/spindle.
Note:
If bit 3 = 1, the axis/spindle disable state of the following axis/spindle
only has an effect if the program test or SERUPRO states are not
active (see also bit 5).
4 Bit 4 is used to define the enable for the dependent motion compo‐
nents when the NC/PLC interface signal DB31, … DBX1.3 (axis/spin‐
dle disable) has an effect on the following axis/spindle:
Bit 4 = 0 Dependent motion components of the leading axes/spin‐
dles become effective irrespective of the state of the axis/
spindle disable of the relevant leading axis/spindle.
Bit 4 = 1 Dependent motion components of the leading axes/spin‐
dles only become effective if the state of the axis/spindle
disable of the leading axis/spindle matches that of the
axis/spindle disable of the following axis/spindle. Other‐
wise, the components are suppressed.
Note:
Bit 4 is only of significance if bit 3 is set, i.e. if the NC/PLC interface
signal DB31, … DBX1.3 (axis/spindle disable) has an effect on the
following axis/spindle (see bits 3 and 5).
5 The effect of NC/PLC interface signal
DB21, ... DBX25.7 (program test selected) or
DB21, ... DBX1.7 (activate program test)
on the following axis/spindle can be set via bit 5:
Bit 5 = 0 DB21, ... DBX25.7 or DB21, ... DBX1.7 has no effect on
the following axis/spindle. The state of the following axis/
spindle with reference to the axis/spindle disable is de‐
rived solely from the state of the leading axes/spindles.
Bit 5 = 1 If the "program test" state is active for an axis of the
coupling module, then for the following axis/spindle, its
own state is active regarding the axis/spindle disable.
The state of the leading axes/spindles with reference to
the axis/spindle disable is not imposed on the following
axis/spindle.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 425
M3: Coupled axes
8.5 Generic coupling
Note:
When bit 5 is set, the program test state still has an effect on the
following axis/spindle, even if the leading axes/spindles have a differ‐
ent state.
6 Bit 6 is used to define the enable for the dependent motion compo‐
nents when the NC/PLC interface signal DB21, … DBX25.7 (program
test selected) or DB21, ... DBX1.7 (activate program test) has an
effect on the following axis/spindle:
Bit 6 = 0 Dependent motion components of the leading axes/spin‐
dles become effective irrespective of the state of the axis/
spindle disable of the relevant leading axis/spindle.
Bit 6 = 1 Dependent motion components of the leading axes/spin‐
dles only become effective if the state of the axis/spindle
disable of the leading axis/spindle matches that of the
axis/spindle disable of the following axis/spindle. Other‐
wise, the components are suppressed.
Note:
Bit 6 is only of significance if bit 5 is set, i.e. if the program test state
has an effect on the following axis/spindle (see bits 3 and 5).
7 Reserved.
8 Reserved.
Note
The axis/spindle disable, which is set for the following axis/spindle via the NC/PLC interface
signal DB31, ... DBX1.3, can be overwritten by the program test (DB21, ... DBX25.7 or
DB21, ... DBX1.7) and SERUPRO states; this is also the case for every other axis/spindle.
A/S disable A/S disable A/S disable CPMVDI CPMVDI FATotal Meaning
FA LA1 LA2 Bit 3/5 Bit 4/6 for FA
0 0 0 0 0 FACmd + Real move‐
FADEP1 + ment.
FADEP2
0 0 0 1 0 FACmd + Real move‐
FADEP1 + ment.
FADEP2
0 1 1 0 0 FACmd + Simulated
FADEP1 + movement
FADEP2
0 0 1 0 0 - Alarm 16773,
different lead‐
ing axis states
with ref. to the
A/S disable
Special functions
426 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
A/S disable A/S disable A/S disable CPMVDI CPMVDI FATotal Meaning
FA LA1 LA2 Bit 3/5 Bit 4/6 for FA
1 0 0 0 0 FACmd + Real move‐
FADEP1 + ment, FA spin‐
FADEP2 dle disable has
no effect.
1 0 1 1 0 FACmd + Simulated
FADEP1 + movement, FA
FADEP2 spindle disable
has an effect.
1 0 1 1 1 FACmd + Simulated
FADEP2 movement, as
bit 4 is set,
FADEP1 is sup‐
pressed.
0 1 1 0 1 Alarm 19000,
bit 4/6 = 1 is on‐
ly supported if
bit 3/5 = 1.
1 0 0 0 1 Alarm 19000,
bit 4/6 = 1 is on‐
ly supported if
bit 3/5 = 1.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 427
M3: Coupled axes
8.5 Generic coupling
Note
The states in the columns for leading axes 1 and 2 also apply if there are several leading axes/
spindles, which have the same state with reference to the axis/spindle disable.
Programming
Special functions
428 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Example
Program code Comment
CPMALARM[X2]='H300' ; The 22025 and 22026 alarms are suppressed for the cou-
pling of the X2 following axis.
Coupling cascades
The coupling modules can be connected in series. The following axis/spindle of a coupling
module then becomes the leading axis/spindle of another coupling module. This results in a
coupling cascade.
Multiple coupling cascades in series is also possible. The internal computation sequence of
the individual coupling modules is performed so that there is no position offset in the coupling
relationship. This also applies for a cross-channel cascading.
Example:
Two new coupling modules are created. For the coupling module with following axis X2, the
leading axis X1 is defined. For the coupling module with following axis X2, the leading axis X2
and A1 are defined.
Programming
CPDEF=(X2) CPLA[X2]=(X1) CPDEF=(A2) CPLA[A2]=(X2) CPLA[A2]=(A1)
Supplementary conditions
● The availability of cascading is option-based (see Section "Requirements (Page 380)").
● Cascades between couplings of existing coupling functions and couplings of generic
couplings are not possible.
● A ring coupling is not permitted. It is rejected with alarm 16778:
"Ring coupling with following axis FAx and leading axis LAx not allowed"
(A ring coupling occurs when a following axis is also a leading axis of its own coupling
module or a leading axis in a series-connected coupling module).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 429
M3: Coupled axes
8.5 Generic coupling
8.5.7 Compatibility
Adaptive cycles
The provision of adaptive cycles as fixed component of the NCK software ensures a syntactic
and functional compatibility to coupling calls of existing coupling types (coupled motion, master
value coupling, electronic gearbox and synchronous spindle). This means that as long as the
manufacturer/user does not need new coupling characteristics, it is not necessary to modify
present coupling calls and any dependent application components (e.g. PLC evaluation of
coupling signals).
Memory location
Adaptive cycles are stored in the directory "CST".
Special functions
430 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Note
When upgrading the NCK software, a log file is saved in the "CST" directory (Changelog),
indicating necessary changes of the adaptive cycles.
Coupling types
If presetting of coupling types (coupled motion, master value coupling, electronic gearbox and
synchronized spindle) is required, when creating the coupling module (CPON/CPLON or CPDEF/
CPLDEF), the keyword CPSETTYPE needs to be used also.
Programming
Range of values:
"CP" Freely programmable
"TRAIL" Coupling type "Coupled motion"
"LEAD" Coupling type "Master Value Coupling"
"EG" Coupling type "Electronic gearbox"
"COUP" Coupling type "Synchronized spindle"
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 431
M3: Coupled axes
8.5 Generic coupling
Example:
Programming Comment
CPLON[X2]=(X1) CPSETTYPE[X2]="LEAD" ; Creates a coupling module for following
axis X2 with leading axis X1 and acti-
vates the coupling module. Coupling
properties are set such that they cor-
respond to the existing master value
coupling type.
Default settings
Presettings of programmable coupling characteristics for various coupling types can be found
in the following table:
CPON
CPOF
CPLON
CPLOF
Special functions
432 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
CPMBRAKE
Bit 0 1 - - - -
CPMVDI
Bit 3 0 0 0 0 0
Bit 4 1 1 1 1 1
Bit 5 0 0 0 0 0
Bit 6 1 1 1 1 1
Legend:
1)
Pre-processing
2)
Main run
3)
depends additionally on MD22621
- not relevant or not allowed
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 433
M3: Coupled axes
8.5 Generic coupling
Additional properties
Value ranges or availability of additional properties of a set coupling type (CPSETTYPE) can
be found in the following table:
Default Coupled motion Master value cou‐ Electronic gear Synchronous spindle
(CP) (TRAIL) pling ( (EG) (COUP)
LEAD)
Number of lead‐ ≦ 5 ≦2 1 ≦5 1
ing axes
Following axis Axis/spindle Axis/spindle Axis/spindle Axis/spindle Spindle
type
Defining/delet‐ CPDEF/CPDEL CPON/CPOF CPON/CPOF CPDEF/CPDEL CPDEF/CPDEL
ing coupling or
module CPON/CPOF
Defining/delet‐ CPLDEF/CPLDEL CPLON/CPLOF CPLON/CPLOF CPLDEF/CPLDEL CPLDEF/CPLDEL
ing leading axis or
CPLON/CPLOF
Cascading + + + + -
Dynamic obser‐ - - - - +
vation
of the leading
spindle
Implicit selec‐ - - - - +
tion/deselection
of state control1)
Legend:
1)
also refer to: Function Manual, Extended Functions; Synchronous Spindle (S3)
- not relevant or not allowed
Availability of the specified characteristics depends on the available version (see Section
"Requirements (Page 380)").
Example:
The coupled motion coupling type (CPSETTYPE="TRAIL") allows a maximum of two leading
axes and cascading. However, this is not available in the basic version, but requires the CP-
EXPERT option.
Supplementary conditions
● CPSETTYPE can be programmed in synchronous actions.
● If the coupling type (CPSETTYPE) is set, certain coupling characteristics are preset and
cannot be changed. Subsequent change attempts with keywords cause an error and are
rejected with an alarm:
Special functions
434 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Number of leading Alarm 16672 Alarm 16672 Alarm 16672 Alarm 16672
axes (∑ LA) with ∑ LA > 2 with ∑ LA > 1 with ∑ LA > 5 with ∑ LA > 1
Following axis type Alarm 14092
with axis
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 435
M3: Coupled axes
8.5 Generic coupling
Programming
Example:
Programming Comment
CPLON[S2]=(S1) CPSETTYPE[S2]="COUP" ; Creates a coupling module for follow-
ing spindle S2 with leading spindle S1
and activates the coupling module. Cou-
pling properties are set such that
they correspond to the existing syn-
chronous spindle coupling type.
...
CPRES=(S2) ; Activates projected data of the syn-
chronous spindle coupling to following
spindle S2.
Boundary conditions
● CPRES is only allowed when the coupling type "Synchronous spindle"
(CPSETTYPE="COUP") is set.
● Application of CPRES to an already active coupling results in a new synchronization.
● Applying CPRES to an undefined coupling module does not result in any action.
Special functions
436 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
The following and leading axes must be known to the calling channel.
Following axis
The following axis is requested for replacement in the channel when programming a CP
keyword in the part program, depending on the axis replacement projection (MD30552) with
the language command GETD.
Axis change of the following axis after activating the coupling module is only permitted in the
channel. Changing from channel to main run and vice versa is still possible, however a change
across channel boundaries is not. Supplementary conditions and properties still apply to axis
change. The axis replacement via channel axes is released again after deactivating the
coupling module.
Reference:
Function Manual, Extended Functions; Mode Groups, Channels, Axis Replacement (K5)
Leading axes
Axis change of leading axes can be performed independently of the state of the coupling.
Programming Comment
N10 G0 A0 X0 ; Traverse motion:
X = 0 mm, A = 0 degrees
N20 CPON=(A) CPLA[A]=(X) CPLNUM[A,X]=2 ; A coupling module for rotary ax-
is A with linear axis X as lead-
ing axis is created and activa-
ted. The coupling value is 2.
N30 X100 ; Traverse motion:
X = 100 mm, A = 200 degrees (=
100*2)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 437
M3: Coupled axes
8.5 Generic coupling
Programming Comment
N10 G0 A0 X0 ; Traverse motion:
X = 0 degrees, X = 0 mm
N20 CPON=(X) CPLA[X]=(A) CPLNUM[X,A]=0.5 ; A coupling module for linear ax-
is X with rotary axis A as lead-
ing axis is created and activa-
ted. The coupling value is 0.5.
N30 A200 ; Traverse motion:
A = 200 degrees, X = 100 mm
(= 200*0.5)
N40 A=IC(200) ; A traverses through 200 degrees
in a positive direction to 400
degrees, Display A = 40. X tra-
verses through 100 mm to 200.
N50 A=IC(100) ; A traverses from 40 degrees to
140 degrees, X traverses through
additional 50mm to 250.
N60 A=ACP(80) ; A traverses in the positive di-
rection to 50 degrees, the tra-
versing path is 300 degrees in
the positive direction. X traver-
ses correspondingly by 150 mm in
the positive direction. The end
position is therefore X = 400.
Special functions
438 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
)ROORZLQJD[LV;
PP
5HGXFWLRQRIWKHOHDGLQJD[LVE\
GHJUHHV
1
1 5HGXFWLRQRIWKHOHDGLQJD[LVE\
GHJUHHV
1
1
/HDGLQJD[LV$
Power on
No coupling is active at power ON. Coupling modules are not available.
RESET
The behavior on RESET can be set separately for each coupling module (see CPMRESET).
The coupling can be activated, deactivated or the current state can be retained.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 439
M3: Coupled axes
8.5 Generic coupling
Mode change
The coupling remains active during a mode change. The coupling is suppressed (not
deselected!) only in JOG-REF mode when referencing a following axis.
SERUPRO
The SERUPRO procedure will simulate the generic coupling and provide values for a restart.
With axial couplings, the simulation always assumes a setpoint coupling, which means, when
there is an actual value coupling, this is switched to setpoint coupling during the SERUPRO
procedure. This can mean that the simulation is not performed correctly.
Further deviations from the real procedure can occur due to increased simulation speed and
canceled axis dynamics limitations.
8.5.11.1 Function
Availability
The "CP SW limit monitoring" function can only be activated for following axes from:
● Generic couplings, type "Freely programmable (CPSETTYPE[FAx] = "CP")
● Couplings (generic coupling with CPSETTYPE[FAx] not equal to "CP", coupled motion,
electronic gearbox, master value coupling or synchronous spindle) with a maximum of one
active leading axis/spindle
In all other cases (and when "CP SW limit monitoring" is not activated) the previous function
of the software limit switch monitoring is active (see Chapter "Limit switch monitoring" in the
Function Manual, Basic Functions, A3: Axis Monitoring, Protection Areas).
Special functions
440 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Note
A brake set for a following axis can only influence its leading axes as long as the coupling is
active.
Braking behavior
The normal acceleration ramp is used when braking the axes towards the software limit switch
along the contour, maintaining the coupling definition.
When braking, the stop state 75 "brake request" and situation-dependent, the higher priority
stop states 22 "wait: spindle enable missing", 12 "wait for axis/spindle release" or 71 "wait for
enable, transformation axis" are displayed.
If the following axis is stationary as result of the "CP-SW limit stop", and cannot approach the
software limit switch any closer, then the following alarm is displayed:
10625 "%?C{channel %1: %}block %3 following axis/spindle %2 with CP-SW limit stop %4"
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 441
M3: Coupled axes
8.5 Generic coupling
This means that up to the "final" stopping position, the situation can be somewhat relieved by
moving the following axis in the opposite direction.
Note
For the "CP-SW limit monitoring", coupling involves maintaining synchronous operation. As a
consequence, it cannot be guaranteed that the axis stops at precisely the correct position, if
the coupling rule is to be maintained. If the brake is to be transferred to the leading axes, and
the interpolators brake as required, then the leading axis comes to a standstill in front of the
software limit switch. The maximum distance to the software limit switch is then obtained from
the actual maximum acceleration rate of the following axes multiplied by the square of the
interpolation cycle time.
Retraction
The user is responsible for retraction.
For diagnostic purposes, there are:
● the stop state 75 "brake request"
(if an axis has a travel command, but stops or may not traverse as a result of a braking
request)
● and the system variables:
$AA_BRAKE_STATE (actual brake status)
$AA_BRAKE_CONDB (context-sensitive conditions for the interpolator stop in the BCS)
$AA_BRAKE_CONDM (context-sensitive conditions for the interpolator stop in the MCS)
including the OPI variables aaBrakeState, aaBrakeCondB and aaBrakeCondM derived
from these.
Example for retraction:
1. acknowledge alarm 10625.
2. Switch to the JOG mode.
3. Traverse the leading axis using the traversing keys so that the following axis moves away
from the software limit switch.
8.5.11.2 Parameterization
Activation
The "CP SW limit monitoring" function is activated on an axis-for-axis basis using machine
data:
MD30455 $MA_MISC_FUNCTION_MASK (axis functions)
Special functions
442 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
8.5.11.3 Programming
DRF offset
Setting a CP-SW limit stop can cause a DRF movement to be canceled, as shown in the
following example:
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 443
M3: Coupled axes
8.5 Generic coupling
The basic motion is path motion with extremely low velocity in the positive direction. A larger
DRF correction motion applies to this in the opposite direction. This results in a travel command
in the negative direction. If these movements are now stopped using a CP-SW limit stop, then
for standard machine data, this means that DRF motion is canceled, and only path motion is
continued after the stop is withdrawn.
NCU link
The following restriction must be taken into account for cross-NCU couplings based on lead-
link axis and axis container:
As the leading axis can be interpolated on another NCU, it can take between one and two IPO
cycles for the brake to be transferred to the NCU of the leading axis.
8.5.11.5 Examples
Configuration:
Programming:
Special functions
444 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Function
The rapid stop stops the axis / spindle without ramp, i.e. the velocity setpoint value is specified
as zero. This default applies the brakes at the current limit. The servo enable is retained.
The rapid stop is set at:
● Stop A and Stop C (Safety Integrated)
● Alarms with rapid stop as configured braking behavior
● Reaching the hardware limit switch and rapid stop as configured braking behavior:
MD36600 $MA_BRAKE_MODE_CHOICE = 1
Note
A rapid stop that was initiated on reaching the hardware limit switch does not changeover the
actual value coupling.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 445
M3: Coupled axes
8.5 Generic coupling
The start of a rapid stop for a leading axis/spindle is detected across NCUs.
Note
A simultaneous rapid stop of the leading and following spindle is executed in the synchronized
spindle coupling type (CPSETTYPE="COUP") during a servo alarm.
8.5.13.1 Fundamentals
Function
The "track the deviation from synchronism" function serves to detect the position offset which
has been imposed on the actual value and to correct the following spindle when calculating
the setpoint.
Requirement
A coupling closed via the part/chuck must be in place in order to use this function.
Special functions
446 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Versions
There are two different options for determining the deviation from synchronism:
1. The deviation from synchronous operation is determined by the NCK (see "Measuring the
deviation from synchronism (Page 447)").
2. The deviation value is already known and entered by the user directly (see "Entering the
deviation from synchronism directly (Page 450)").
In both cases, the deviation value is then incorporated into the setpoint value calculation for
the following spindle, as a correction value.
Availability
The "track the deviation from synchronism" function was developed for machine couplings
(CPFRS="machine"). This means that it is also available for the "synchronous spindle"
coupling type (CPSETTYPE="COUP").
Like the other higher-level movements, the availability of the function (e.g. speed difference)
depends on the option (see "Requirements (Page 380)").
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 447
M3: Coupled axes
8.5 Generic coupling
Requirements
The following requirements must be met to enable the controller to calculate the correction
value:
● Requirements if the set coupling type is "synchronous spindle" (CPSETTYPE="COUP"):
– The coupling has precisely one leading spindle (requirement is met if
CPSETTYPE="COUP").
– The coupling factor (quotient from CPLNUM and CPLDEN) is 1 or -1.
– The following value is derived from the setpoint position ("DV") or the actual position
("AV") of the leading spindle.
– Setpoint synchronism must be achieved:
DB31, ... DBX99.4 (synchronization running) = 0
– Setpoint synchronism must not decline again.
– No overlaid movement (DB31, ... DBX98.4 = 0) must be present.
– A dynamics limit is required for the leading spindle, in order to exclude the possibility of
the following spindle being subjected to excessive demands.
● Requirements for a free generic coupling with CPFRS="machine":
– The configured spindles are coupled.
– The coupling has precisely one leading spindle.
– The coupling factor (quotient from CPLNUM and CPLDEN) is 1 or -1.
– The following value is derived from the setpoint position (CPLSETVAL="CMDPOS") or
the actual position (CPLSETVAL="ACTPOS") of the leading spindle.
– Setpoint synchronism must be achieved:
DB31, ... DBX99.4 (synchronization running) = 0
– Setpoint synchronism must not decline again.
– No overlaid movement (DB31, ... DBX98.4 = 0) must be present.
– A dynamics limit is required for the leading spindle, in order to exclude the possibility of
the following spindle being subjected to excessive demands.
Note
Dynamics limit for the leading spindle
The "dynamics limit for the leading spindle" property is specified automatically when the
"synchronous spindle" coupling type (CPSETTYPE="COUP") is set. In the case of other
coupling types, it is the particular responsibility of the user/machine manufacturer to provide
suitable measures to ensure that the following spindle cannot become dynamically overloaded.
Activation
Measuring and tracking of the deviation from synchronism are activated by setting the following
NC/PLC interface signal to "1":
DB31, ... DBX31.6 (track synchronism)
Special functions
448 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
Note
In the following cases, signal DB31, ... DBX31.6 (track synchronism) is ignored:
● Axis/spindle disable is active (DB31, ... DBX1.3 = 1).
● Program test is selected.
● SERUPRO is active.
If one of these situations arises when the "track the deviation from synchronism" function is
already active, the function will be deactivated.
Note
If a temporal extension is taken into account when relieving the tension between the leading
and the following spindle, bit 7 should be set to 0. The interface signal is then state-controlled.
The time required to relieve the tension can depend on various factors (e.g. KV factor of position
control, accelerating power of the motors) and must be determined by way of experiment.
Measuring sequence
The NC/PLC interface signal DB31, ... DBX31.6 (track synchronism) can only become effective
once setpoint synchronism has been achieved:
DB31, ... DBX99.4 (synchronization running) = 0
The actual values of the following spindle are read within the interpolation cycle and the
difference between them and the setpoint position is calculated, either for as long as signal
DB31, ... DBX31.6 is activated, or just once on that signal's rising edge (the frequency will
depend on the setting of bit 7 in MD30455; see the section titled "Time when measurement is
performed").
The correction value is the difference between the setpoint and actual-value synchronism
positions. This value is saved for the corresponding following spindle in the following system
variable:
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 449
M3: Coupled axes
8.5 Generic coupling
Note
You must ensure that the velocity of the leading and following axes is kept as constant as
possible and that no acceleration jump occurs for the duration of the measurement.
Example
When the coupling of the synchronous spindle [S2] is activated, a position offset of 77 degrees
is also programmed:
CPON=S2 ... CPFPOS[S2]=AC(77)
When the workpiece receptacle is closed, this results in a mechanical position offset, which
leads to an actual-value position offset of 81 degrees.
When the "track the deviation from synchronism" function is activated (DB31, ... DBX31.6 = 1)
and setpoint synchronism has been achieved (DB31, ... DBX99.4 = 0), the actual-value position
offset ($VA_COUP_OFFS[S2] = 81) is compared with the setpoint position offset
($AA_COUP_OFFS[S2] = 77). This results in a correction value of 4 degrees, which is saved
in system variable $AA_COUP_CORR[S2].
Note
Please note that the system variable can only be written once the mechanical coupling has
been created. Otherwise a new offset may arise when closing the chuck.
Requirements
To enable the system variable $AA_COUP_CORR to be written from the part program or
synchronized actions, a generic machine coupling must have been activated at least once for
the corresponding following spindle since the most recent controller power-up was performed.
Special functions
450 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
The correction value is incorporated into the setpoint value calculation for the following spindle,
in the coupling module. Resetting the setpoint by the coupling offset relieves the tension
between the leading and following spindles.
The synchronism signals are produced by comparing the actual values with the corrected
setpoints. Once a correction process has been undertaken, the synchronism signals should
be present again:
DB31, ... DBX98.1 (coarse synchronism) and/or
DB31, ... DBX98.0 (fine synchronism)
The correction value can be implemented and the synchronism signals produced as well, since
the whole point of the "tracking the deviation from synchronism" function is to improve
synchronism when tension is present. When implementing this value, the accelerating power
is restricted to no more than 10% of the maximum acceleration and velocity.
When $AA_COUP_CORR[S<n>] has been implemented in full, the following NC/PLC interface
signal is set:
DB31, ... DBX99.2 (synchronism correction implemented)
This still applies even if $AA_COUP_CORR[S<n>] is zero and no correction needs to be
implemented.
When synchronism correction is complete, the NC/PLC interface signal DB31, ... DBX31.6
(track synchronism) must be reset to "0" in order to restore the rigidity of the coupling.
The correction value is not changed again once signal DB31, ... DBX31.6 has been reset or
once the coupling has been deactivated (with CPOF). The system variable
$AA_COUP_CORR[S<n>] then returns a constant value.
The correction value is taken into account until it is reset by setting system variable
$AA_COUP_CORR[S<n>] to "0", which must be done, at the very latest, once the workpiece
is removed from the spindle.
Note
The setpoint correction by means of the system variable $AA_COUP_CORR[S<n>] impacts
on all subsequent following spindle programming in the same way as a position offset, similar
to a DRF offset in the machine.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 451
M3: Coupled axes
8.5 Generic coupling
Versions
Synchronism correction can be reset in the following ways:
● Writing value "0" to variable $AA_COUP_CORR[S<n>].
Synchronism correction is suppressed via a ramp with reduced accelerating power (just as
when a correction value is implemented).
● Resetting synchronism correction via the PLC.
On the rising edge of the NC/PLC interface signal:
DB31, ... DBX31.7 (reset synchronism correction)
, the variable $AA_COUP_CORR[S<n>] is set to zero and synchronism correction is reset
as follows:
– If the spindle is in speed control mode, the correction movement is stopped. The existing
synchronism correction is then transferred to the setpoint position.
– In all other cases, the synchronism correction that has already been implemented is
reset in exactly the same way as when variable $AA_COUP_CORR[S<n>] is set to zero.
Requirements
A requirement for resetting synchronism correction is that the correction value is not currently
being calculated (see Section "Measuring the deviation from synchronism (Page 447)").
Special functions
452 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
6\QFKURQL]LQJ 5HVHWWLQJ
'%'%;
WUDFNV\QFKURQLVP
W
'%'%;
UHVHWV\QFKURQLVPFRUUHFWLRQ
W
&RUUHFWLRQSDWK
WULJJHUHGE\
$$B&283B&255
W
'%'%;
V\QFKURQLVPFRUUHFWLRQ
LPSOHPHQWHG
W
'%'%;
V\QFKURQLVPFRUUHFWLRQ
LVWDNHQLQWRDFFRXQW
W
Figure 8-13 Time diagram for synchronizing and resetting synchronism correction
Note
If the correction path has not been traversed in full and the NC/PLC interface signal
DB31, ... DBX31.7 (reset synchronism correction) has not been reset, writing to variable
$AA_COUP_CORR[S<n>] will not have any effect.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 453
M3: Coupled axes
8.5 Generic coupling
Correction value
If the correction value $AA_COUP_CORR is being written via a part program/synchronized
action, as well as being determined due to the "track the deviation from synchronism" function
being activated (DB31, ... DBX31.6 = 1), the most recent event to occur is always the one that
takes effect.
Response to an interruption
If an interruption occurs (e.g. emergency stop), synchronism correction is reset automatically,
the existing synchronism correction is transferred to the setpoint position, and the NC/PLC
interface signal DB31, ... DBX99.2 (synchronism correction implemented) is set.
If, once the interruption has been dealt with, the generic machine coupling remains active and
the NC/PLC interface signal DB31, ... DBX31.6 (track synchronism) is set, the following applies:
● If the signal is level-triggered (MD30455 $MA_MISC_FUNCTION_MASK, bit 7 = 0), the
deviation from synchronism is measured and written to $AA_COUP_CORR; the setpoints
are corrected accordingly.
● If the signal is edge-triggered (MD30455 $MA_MISC_FUNCTION_MASK, bit 7 = 1) and
the deviation from synchronism is to be measured, a new rising edge of the NC/PLC
interface signal DB31, ... DBX31.6 (track synchronism) needs to be executed.
Special functions
454 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.5 Generic coupling
8.5.14 Examples
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 455
M3: Coupled axes
8.5 Generic coupling
CPDEL=(X2)
Target
Coupled motion in the machine co-ordinate system must be possible with the existing coupling
command TRAILON. The adaptive cycle for TRAILON is supplemented with the coupling
characteristic "Co-ordinate reference" (CPFRS).
Procedure
1. Copy adaptive cycle 700 from directory "CST" to directory "CMA".
2. Supplement cycle 700 with the following entry:
CPFRS[_FA]="MCS"
3. Comment to cycle changes (e.g. user version number and change date).
4. Save cycle.
Special functions
456 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.6 Dynamic response of following axis
&+$1*(0DU
3$7+ B1B&67B',5B1B&<&/(B63)
86(590DU
FODVVLF75$,/21)$/$)DFWRU
352&&<&/($;,6B&3) 12B$;,6$;,6B&3/ 12B$;,65($/B&3/) ,375/2&.6%/2)',63/2),&<&2)
,)B&3/) *272)B&32)
&3/21>B&3)@ B&3/&36(77<3(>B&3)@ 75$,/&3/180>B&3)B&3/@ B&3/)&3)56>B&3)@ 0&6
5(7
B&32)
,)3B7(&&<&/( 758(
,)$$B&36(77<3(>B&3)@!75$,/*272)B(;,7
(/6(
,)3$B&36(77<3(>B&3)@!75$,/*272)B(;,7
(1',)
,)B&3/ 12B$;,6
&36(77<3(>B&3)@ 75$,/&32) B&3)
(/6(
&36(77<3(>B&3)@ 75$,/&3/2)>B&3)@ B&3/
(1',)
B(;,75(7
6\V(UURUWKHUHIRUH,)FRPPDQGFRPPHQWHG
Figure 8-14 Cycle 700 after adaption. Changes are indicated by a colored bar.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 457
M3: Coupled axes
8.6 Dynamic response of following axis
Command Meaning
VELOLIMA[FA] Reducing or increasing the maximum Axis velocity
ACCLIMA[FA] Reducing or increasing the maximum Axis acceleration
The dynamic limits for the velocity and acceleration of the following axis are then calculated
as follows:
Maximum axis velocity = MD32000 $MA_MAX_AX_VELO * VELOLIMA[FA]
Maximum axis acceleration = MD32300 $MA_MAX_AX_ACCEL * ACCLIMA[FA]
Note
The reduction / increase is effected on the overall dynamics of the axis, i.e., on the sum of the
axis component from overlay and coupling.
Special functions
458 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.6 Dynamic response of following axis
Note
The user must restore the technological synchronization between machining and the
synchronism difference.
Acceleration mode
Only BRISKAis available for the following axis, i.e., abrupt axis acceleration. Acceleration
modes SOFTA and DRIVEAare not available for the following axes described.
Furthermore, it is also possible to configure the positions controller as a PI controller.
CAUTION
Application faults
This option can only be used in conjunction with servo trace and with the appropriate technical
knowledge of the control.
References:
● CNC Commissioning Manual: NCK, PLC, drive
● Function Manual, Basic Functions; Velocities, Setpoint-Actual Value Systems, Closed-
Loop Control (G2)
POWER ON
During POWER ON the values of VELOLIMA and ACCLIMA are initialized to 100%.
Mode change
The dynamic offsets remain valid only on transition from AUTO → JOG mode.
RESET
The validities of the (VELOLIMA and ACCLIMA) dynamic offsets after RESET depend on the
setting in the channel-specific machine data:
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 459
M3: Coupled axes
8.6 Dynamic response of following axis
Value Meaning
0 The values of VELOLIMA[FA] and ACCLIMA[FA] are set to 100% after RESET.
1 The last programmed values of VELOLIMA[FA] and ACCLIMA[FA] are also active after
RESET.
This response also applies for dynamics offsets set using static synchronized actions. If this
is not the case even when MD22410 = 0, then the IDS synchronized action should trigger a
repeat or continuous writing of the dynamic offset.
References:
Function Manual, Synchronized Actions
8.6.2.2 Examples
Electronic gearbox
Axis 4 is coupled to X via an electronic gearbox coupling. The acceleration capability of the
following axis is limited to 70% of maximum acceleration. The maximum permissible velocity
is limited to 50% of maximum velocity. After POWER ON, the maximum permissible velocity
is set to 100% again.
...
N120 ACCLIMA[AX4]=70
N130 VELOLIMA[AX4]=50 ; reduced speed
N150 EGON(AX4,"FINE",X,1,2)
N200 VELOLIMA[AX4]=100 ; full speed
...
...
N120 ACCLIMA[AX4]=80 ; 80%
N130 LEADON(AX4,X,2) ; Activate coupling
...
Special functions
460 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.7 General supplementary conditions
...
N120 IDS=2 WHENEVER $AA_IM[AX4] > 100 DO ACCLIMA[AX4]=80
N130 LEADON(AX4,X,2)
...
Preprocessing
$PA_ACCLIMA[n] REAL Acceleration offset set with ACCLIMA[Ax] %
$PA_VELOLIMA[n] REAL Velocity offset set with VELOLIMA[Ax] %
Main run
$AA_ACCLIMA[n] REAL Acceleration offset set with ACCLIMA[Ax] %
$AA_VELOLIMA[n] REAL Velocity offset set with VELOLIMA[Ax] %
Note
Reading the main run variables, implicitly triggers a preprocessing stop.
Note
Drive optimization
At a SINAMICS S120 drive unit, a maximum of 3 drives can be optimized or measured at the
same time (speed controller optimization/function generator). Therefore, for a coupling with
more than 3 coupled drives at the same time, we recommend that these are distributed over
several drive units.
Note
Block search with active coupling
For an active coupling, it is recommended to only use block search type 5, "Block search via
program test" (SERUPRO) for a block search.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 461
M3: Coupled axes
8.8 Data lists
Special functions
462 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.8 Data lists
Identifier Meaning
$AA_EG_ACTIVE Coupling for leading axis b is active, i.e. switched on
$AA_EG_AX Name for nth leading axis
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 463
M3: Coupled axes
8.8 Data lists
Identifier Meaning
$AA_EG_DENOM Numerator of the coupling factor for leading axis b
$AA_EG_NUMERA Numerator of the coupling factor for leading axis b
$AA_EG_NUMLA Number of leading axes defined with EGDEF
$AA_EG_SYN Synchronized position of leading axis b
$AA_EG_SYNFA Synchronous position of following axis a
$AA_EG_TYPE Type of coupling for leading axis b
$AA_IN_SYNC[FA] Synchronization status of the following axis
$AA_LEAD_P Current leading position value (modulo reduced).
$AA_LEAD_P_TURN current leading value - position component lost as a result of modulo reduction.
$AA_LEAD_SP simulated master value - position MCS
$AA_LEAD_SV Simulated master value - velocity
$AA_LEAD_V Current leading velocity value
$AA_SYNC Coupling status of the following axis for leading value coupling.
$P_EG_BC Block change criterion for EG activation calls: EGON, EGONSYN. WAITC = immediate
synchronism fine or coarse and setpoint synchronous operation.
$VA_EG_SYNCDIFF Synchronism difference
Generic coupling
Identifier Meaning
$AA_ACCLIMA Acceleration correction (main run) set with ACCLIMA
$AA_COUP_ACT Coupling type of a following axis/spindle
$AA_COUP_CORR Following spindle - correction value for tracking the deviation in synchronism
$AA_COUP_CORR_DIST $AA_COUP_CORR distance-to-go
$AA_COUP_OFFS Setpoint position offset
$AA_CPACTFA Name of active following axis
$AA_CPACTLA Name of active leading axis
$AA_CPBC Block change criterion
$AA_CPDEFLA Name of defined leading axis
$AA_CPFACT Coupling type of the following axis/spindle.
$AA_CPFCMDPT Axis setpoint position for all coupling components
$AA_CPFCMDVT Axis setpoint speed for all coupling components
$AA_CPFMOF Behavior of the following axis at switch-off
$AA_CPFMON Behavior of the following axis at switching on
$AA_CPFMSON Synchronization mode
$AA_CPFRS Coupling reference system
$AA_CPLCMDP Axis setpoint component of the leading axis
$AA_CPLCMDV Axis setpoint speed component of the leading axis
$AA_CPLCTID Table number of the active curve table
$AA_CPLDEN Denominator of the coupling factor
$AA_CPLNUM Numerator of the coupling factor
Special functions
464 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.8 Data lists
Identifier Meaning
$AA_CPLSETVAL Coupling reference of the leading axis
$AA_CPLSTATE State of the coupling
$AA_CPSYNCOP Threshold value of position synchronism "Coarse" (main run)
$AA_CPSYNCOV Threshold value of velocity synchronism "Coarse" (main run)
$AA_CPSYNFIP Threshold value of position synchronism "Fine" (main run)
$AA_CPSYNFIV Threshold value of velocity synchronism "Fine" (main run)
$AA_CPLINSC Scaling factor of the input value of a leading axis (main run)
$AA_CPLINTR Offset value of the input value of a leading axis (main run)
$AA_CPLOUTSC Scaling factor of the output value of the coupling (main run)
$AA_CPLOUTTR Offset value of the output value of the coupling (main run)
$AA_CPLTYPE Type of coupling
$AA_CPMRESET State of the coupling after RESET
$AA_CPMSTART State of the coupling after program start
$AA_CPNACTFA Number of active following axes
$AA_CPNACTLA Number of active leading axes
$AA_CPNDEFLA Number of defined leading axes
$AA_CPSETTYPE Preset coupling type
$AA_EG_ACTIVE Coupling for leading axis b is active
$AA_EG_AX Name for nth leading axis
$AA_EG_BC Block change criterion
$AA_EG_DENOM Denominator of the coupling factor
$AA_EG_NUMERA Numerator of the coupling factor
$AA_EG_NUM_LA Number of leading axes defined with EGDEF
$AA_EG_SYN Synchronized position of the leading axis
$AA_EG_SYNFA Synchronized position of the following axis
$AA_EG_TYPE Type of coupling
$AA_IN_SYNC[FA] Synchronization status of the following axis
$AA_JERKLIMA Jerk correction set with JERKLIMA (main run)
$AA_LEAD_SP Simulated master value - position with LEAD
$AA_LEAD_SV Simulated master value - speed with LEAD
$AA_LEAD_P_TURN Current leading value - position component lost as a result of modulo reduction.
$AA_LEAD_P Current leading value - position (modulo reduced)
$AA_LEAD_V Current leading velocity value
$AA_SYNC Coupling status of following axis
$AA_SYNCDIFF[FA] Synchronism difference of the setpoint
$AA_SYNCDIFF_STAT[FA] Status of the synchronism difference of the setpoint
$AA_TYP/TYPE Axis type
$AA_VELOLIMA Velocity correction set with VELOLIMA (main run)
$PA_ACCLIMA Acceleration correction set with ACCLIMA (pre-processing)
$PA_CPFACT Coupling type of the following axis/spindle.
$PA_CPFPOSSTAT Validity of synchronous and stop position
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 465
M3: Coupled axes
8.8 Data lists
Identifier Meaning
$PA_CPSYNCOP Threshold value of position synchronism "Coarse" (pre-processing)
$PA_CPSYNCOV Threshold value of velocity synchronism "Coarse" (pre-processing)
$PA_CPSYNFIP Threshold value of position synchronism "Fine" (pre-processing)
$PA_CPSYNFIV Threshold value of velocity synchronism "Fine" (pre-processing)
$PA_CPLINSC Scaling factor of the input value of a leading axis (pre-processing)
$PA_CPLINTR Offset value of the input value of a leading axis (pre-processing)
$PA_CPLOUTSC Scaling factor of the output value of the coupling (pre-processing)
$PA_CPLOUTTR Offset value of the output value of the coupling (pre-processing)
$PA_CPSETTYPE Preset coupling type
$PA_JERKLIMA Jerk correction set with JERKLIMA (pre-processing)
$PA_VELOLIMA Velocity correction set with VELOLIMA (pre-processing)
$VA_COUP_OFFS[S2] Actual-value position offset of the synchronous spindle
$VA_EG_SYNCDIFF Synchronism difference
$VA_EG_SYNCDIFF_S Synchronism difference with sign
$VA_SYNCDIFF[FA] Synchronism difference of the actual value
$VA_SYNCDIFF_STAT[FA] Status of the synchronism difference
$P_COUP_OFFS[S2] Programmed position offset of the synchronous spindle
$P_EG_BC Block change criterion
Identifier Meaning
$AA_ACCLIMA Main run acceleration correction set with ACCLIMA
$AA_VELOLIMA Main run speed correction set with VELOLIMA
$PA_ACCLIMA Preprocessing acceleration correction set with ACCLIMA
$PA_VELOLIMA Preprocessing speed correction set with VELOLIMA
8.8.4 Signals
Special functions
466 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
M3: Coupled axes
8.8 Data lists
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 467
M3: Coupled axes
8.8 Data lists
Special functions
468 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract 9
9.1 Brief description
The extended stop and retract function - subsequently called ESR - offers the possibility of
flexibly responding when a fault situation occurs as a function of the process:
● Extended stop
Assuming that the specific fault situation permits it, all of the axes, enabled for extended
stopping, are stopped in an orderly fashion.
● Retract
The tool currently in use is retracted from the workpiece as quickly as possible.
● Generator operation (SINAMICS drive function "Vdc control")
If a parameterizable value of the DC link voltage is fallen below, e.g. because the line
voltage fails, the electrical energy required for retraction is generated by recovering the
braking energy of the drive intended for this purpose (generator operation).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 469
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
using the SINAMICS S120 "Vdc control" drive function. Even when the power fails, their kinetic
energy is used to maintain the DC link voltage in order to permit NC controlled retraction motion.
Note
Detailed information on the SINAMICS S120 drive function "Vdc control" can be found in:
References
Function Manual SINAMICS S120 Drive Functions
NC-controlled responses
The function provides the following NC-controlled responses:
● "Extended stop"
Programmable, defined, delayed path-related stopping of traversing motion
● "Retraction"
Fastest possible retraction away from the machining plane to a safe retraction position to
separate the tool and workpiece
The responses are independent of each other. Retraction operations and temporary
continuation of axis couplings before stopping can be configured so that they are executed in
parallel from a time perspective. In this case, an axis in generator mode (Vdc control) can
maintain the DC link voltage.
Special functions
470 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
Generator operation
Generator operation is a drive function. Using the "Vdc control" function, the SINAMICS S120
drive unit can monitor the DC link group for undervoltage. When an adjustable voltage value
is fallen below, then the drive intended for the purpose is switched into generator operation.
The kinetic energy of the drive is used to buffer the DC link voltage. This allows the axes that
are still moving to be stopped and retracted in an ordering fashion on the NC side.
Note
At the instant that it is switched into generator operation, if an axis is in closed-loop position
control, then additional alarms can occur.
References
For detailed information on the SINAMICS S120 drive function "Vdc control", see:
Function Manual SINAMICS S120 Drive Functions
'&OLQNYROWDJH
9 3XOVHFDQFHOODWLRQ'&OLQN
9 3XOVHFDQFHOODWLRQGULYHV
9
9
9
:RUNDUHD
9 3XOVHUHVLVWRUPRGXOH
9
9
The drive and DC link pulses are cancelled at specific voltage levels, which means that the
drives coast-down. If this behavior is not desired, the excess energy can be discharged using
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 471
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
a resistor module. The operating range of the resistor module (shown highlighted in the
diagram) lies below the critical voltage level.
Note
The pulse power of the resistor module is greater than the infeed power.
9
9'&OLQNUDWHG 99
9'&OLQNYROWDJH 8=.S
WKUHVKROGBORZHU
'&OLQNXQGHUYROWDJH
9'&OLQNRII 9
6,1$0,&6$/02))
9
Axis-specific parameterization
The NC-controlled extended stopping for a machine axis is activated using machine data:
Special functions
472 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
MD37500 $MA_ESR_REACTION[<axis>] = 22
Note
Path axes
If NC-controlled extended stopping is parameterized for a path axis, then the corresponding
behavior is also transferred to all other path axes of the channel.
Leading and following axis
During the extended stopping, a following axis of an electronic gearbox follows the leading
axes according to the parameterized/programmed motion principle. That is why independent
braking is not possible for the following axis during the times specified in MD21380
$MC_DELAY_TIME1 and MD21381 $MC_ESR_DELAY_TIME2. MD21380
$MC_DELAY_TIME1MD21381 $MC_ESR_DELAY_TIME2 A prerequsite for correct
functioning of ESR is that all necessary enable signals must be set and remain set.
Channel-specific parameterization
The timing within a channel is parameterized using the following machine data:
● MD21380 $MC_ESR_DELAY_TIME1[<axis>] (delay time ESR axes)
● MD21381 $MC_ESR_DELAY_TIME2[<axis>] (ESR time for interpolatory braking)
Time sequence
After initiating ESR, the axis continues to traverse with the actual speed. After a delay time
has expired (..._TIME1), the axis is braked, interpolating.
The set time (..._TIME 2) is the maximum time available for interpolatory braking. After this
time has expired, a setpoint of 0 is output for the axis, and the follow-up mode is activated.
6SHHGQ
(65WULJJHUHG 2XWSXWRIVHWSRLQW
Q
Q
7 7 =HLWW
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 473
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
Note
For safety reasons, the sum of T1 and T2 should not exceed a maximum value of approx. 1
second.
Precondition
To ensure that ESR is carried out, at least one of the axes involved in the movement must be
parameterized as an NC-controlled retraction or stopping axis: MD37500
$MA_ESR_REACTION > 20
For axes that are not parameterized as NC controlled retraction or stopping axis, fast braking
with subsequent tracking is realized immediately so that extended stopping starts
($AC_ESR_TRIGGER = 1).
Processing of all commands, especially those that result in an axis stop (e.g. Reset, Stop,
Stopall), as well as the standard alarm responses STOPBYALARM and NOREADY, is delayed
by the sum of the parameterized times:
Delay time = MD21380 $MC_ESR_DELAY_TIME1 + MD21381 $MC_ESR_DELAY_TIME2
An NC controlled stop is also active in conjunction with the "Electronic gearbox" function (see
Chapter "Electronic gear (EG) (Page 352)"). It contains the (selective) switchover of the
electronic gearbox to actual value coupling if there is a fault on the leading axes, and also
maintains traversing motion and the enable signals during the delay time for ESR axes:
MD21380 $MC_ESR_DELAY_TIME1
9.2.5 Retract
Parameterization
NC-controlled retraction is parameterized with:
MD37500 $MA_ESR_REACTION = 21
Behavior
If the channel-specific system variable $AC_ESR_TRIGGER = 1 is set, and if there is a
retraction axis in this channel and $AA_ESR_ENABLE=1 is set for this, then LIFTFAST is
activated in this channel.
Precondition
The retraction position must have been programmed in the part program. The enable signals
must be set and remain set for retraction motion.
Rapid lift to the position defined with POLF is triggered using the modal program command
LFPOS (46th G code group).
The retracting movement configured with LFPOS, POLF for the axes selected with
POLFMASK or POLFMLIN replaces the path motion defined for these axes in the part program.
Special functions
474 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
During retraction:
● The axes defined in POLFMASK independently travel to the positions specified with POLF.
● The axes defined in POLFMLIN travel to the positions specified with POLF in a linear
relationship.
The extended retraction (i.e. LIFTFAST/LFPOS initiated through $AC_ESR_TRIGGER )
cannot be interrupted and can only be terminated prematurely using EMERGENCY OFF.
Speed and acceleration limits for the axes involved in the retraction are monitored during the
retraction motion. The retracting movement takes place with BRISK, i.e. without jerk limitation.
The maximum time available for retraction is the sum of the following delay times:
● MD21380 $MC_ESR_DELAY_TIME1 (delay time, ESR axes)
● MD21381 $MC_ESR_DELAY_TIME2 (delay time, ESR axes)
After the delay time has expired, fast braking is also initiated for the retraction axis with
subsequent tracking.
Boundary conditions
Retraction and/or rapid lift is not executed for the following axes:
● Axes, which are not permanently assigned a channel
● Axes, which are in the open-loop speed-controlled mode (spindles)
● Axes, which are interpolated as positioning spindles (SPOS/SPOSA)
Modulo rotary axes respond to rapid lift as follows:
● For incremental programming of the target position, the latter is approached without modulo
offset.
● With absolute programming, the target position is approached time-optimized with the use
of modulo offsets. This is almost identical to positioning via the shortest path.
The retraction movement is interpolated linearly, using the maximum acceleration and speed
of the axes involved in POLFLIN.
Only one linear retraction is permitted in each channel. This means that multiple axis groups,
which approach their retraction positions linearly, cannot be created in the channel.
In parallel with linear retraction, additional axes can also use POLFMASK for independent axial
retraction movement to their programmed retraction positions.
If axes are used in both POLFMASK and in POLFMIN, it should be noted that the last state
programmed is always active for retracting movement. This means that an axis previously
activated with POLFMIN is removed from the linear relationship following programming in
POLFMASK and the retracting movement would then take place as an independent movement
(see the examples in Chapter "Lift fast with linear relation of axes (Page 506)").
The parameters valid at the triggering time are decisive for the retraction movement. If one of
these parameters (POLF, POLFMASK, POLFMLIN, Frame, etc.) changes during the retracting
movement (e.g. due to a block change), this change does not affect the retraction movement
that has already started.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 475
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
Special functions
476 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
MD21204 $MC_LIFTFAST_STOP_COND
Note
Influence of the interface signals
● The axial NC/PLC interface signal DB31 DBB4.3 (feed stop) influences the complete
retraction motion. All axis motion defined using POLFMASK and POLFMLIN are stopped.
● The NC/PLC interface signal, DB21 DBB7.3 (NC stop) has no effect on the retraction
movement.
Programming
The destination position for the retraction axis is programmed with the language command:
Note
Frames with rotation
Frames with rotation influence the retraction position of geometry axes.
Machine axes
The retraction positions of machine axes are programmed in the machine coordinate system
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 477
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
MCS. The frame valid in the channel at the time of rapid lift is nottaken into account for the
retraction motion.
Note
Frames with rotation
Frames with rotation do not influence the retraction position of machine axes.
For the same axis names of a channel and machine axis, retraction motion is executed in the
workpiece coordinate system.
General
The following sections are equally valid for POLFMASK and POLFMLIN.
The parameters valid at triggering time are decisive for the retraction movement. If one of these
parameters (G code, POLF, POLFMASK, POLFMLIN, Frame, etc.) changes during retraction
(block change), this change does not affect the retracting movement that has already been
started.
Before rapid lift to a fixed position can be enabled via POLFMASKorPOLFMLINa position must
have been programmed with POLF for the selected axes. There is no machine data for pre-
assigning the values of POLF.
During interpretation of POLFMASK or POLFMLIN, alarm 16016 is issued if POLF has not been
programmed.
If retraction is activated, the position for retraction can still be changed. However, it is no longer
possible to change the coordinate system and an attempt is rejected with an alarm 16015.
If POLF is programmed again after enabling retraction, the position at which this axis was first
programmed must be specified in the coordinate system, in which this axis was first
programmed.
Special functions
478 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
Interactions, POLFMASK/POLFMLIN
The last data entered for a specific axis in one of the two instructions applies. For example:
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 479
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
Alarm responses
When ESR is active, the alarm responses NOREADY and STOPBYALARM are delayed by
one IPO cycle. The self-clearing alarm is displayed to indicate this delay:
Alarm 21600 "Monitoring for ESR active".
Note
The display of this alarm can be suppressed by:
MD11410 $MN_SUPPRESS_ALARM_MASK, bit16 = 1
Special functions
480 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
9.2.8 Activation
Option
The function "Extended stop and retract" is an option.
Voltage failure
For the following modules, when the line voltage fails, the power supply must be maintained
using suitable measures at least until it is ensured that the axes have come to a stop:
● SINUMERIK 840D sl NCU 7x0
● SINUMERIK NCU I/O modules
● SIMATIC PLC I/O modules
● SINAMICS drive system S120 (booksize)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 481
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
DC link energy
The energy available in the DC link of the drive units when the line supply fails is calculated
as follows:
tP = E / Pn * η
E: Energy in Wattseconds [Ws]
tP: Buffer time in milliseconds [ms]
Pn: Power in kilowatt [kW]
η: Efficiency of the drive unit
Example
Assumptions:
● Pn = 16 kW, infeed (ALM) with 3-ph. 380 VAC
● C = Cis - 20% = 20,000 µF - 20% = 16,000 µF = 16 * 10-3 F, for safety, a 20% lower effectively
available capacity is assumed.
● VDC linkalarm = 550 V
● VDC linkmin = 350 V
Special functions
482 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
The capacitance specified in the table for the minimum energy content (Emin for Cmin) takes into
account a component tolerance of -20% (worst case).
Note
It is recommended that the SIZER configuration tool be used to determine the total capacitance
of the DC link available.
Table 9-1 SINAMICS infeeds (ALMs): Nominal and minimum buffer times
ALM Max. capacitance Energy content Energy content Emin Backup time tPmax Buffer time tPmin for
Pmax [kW] Cmax[μF] Emax for Cmax [Ws] for Cmin [Ws] for Pmax [ms] Pmax [ms]
Energy balance
When configuring retraction motion, it is always necessary to consider the energy flow
(balance) to find out whether an additional capacitor module or a generator axis (with
correspondingly dimensioned flywheel effect) is required - or not.
Example
With a 16 kW unit under maximum load and minimum intermediate circuit capacity it should
be possible to execute an emergency retraction without generator operation. Interpolator clock
cycle time may theoretically not be more than 4.86 ms, i.e. in this case a maximum of 4 ms
could be set.
If necessary, a more powerful NCU must be chosen in order to achieve optimal conditions.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 483
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
Generator operation
For cases in which the DC link energy is not sufficient for safe and reliable retraction (minimum
3 IPO cycles), generator operation can be configured for a drive using the SINAMICS "Vdc
control" function. In this case, the mechanical energy of an axis is fed back into the DC link.
The energy stored in an axis can be calculated as follows:
E = 1/2 * Jtot * ω2
Jtot Total moment of inertia [kg*m2]
ω Angular velocity at the time of switchover to generator operation [s-1]
This energy is fed back into the DC link with an efficiency of approx. 90%:
When using infeeds with a high power rating (55, 80, 120 kW) for generator operation, it is
recommended to use a dedicated axis with additional flywheel effect. For this axis, after the
drive has accelerated to the rated speed, energy is only required to compensate for friction
losses.
However, in principle, any axis can be used for generator operation, if this is not directly
involved in extended stopping and retraction or in couplings that must be specifically
maintained.
In order to prevent that the DC link voltage does not become too high when using generator
operation (limit value: pulse cancelation, drive) and as a consequence that the pulses are
canceled for the axes, adequately dimensioned pulsed resistor modules must be used or the
SINAMICS function "Vdc control, overvoltage monitoring".
Systematic
If an axis is configured as NC-controlled retraction axis:
MD37500, $MA_ESR_REACTION[<axis>] = 21
The following enable signals must be available to execute retraction motion in the case of ESR:
● Axial ESR enable using system variable: $AA_ESR_ ENABLE[<axis>] = 1
● Axial retraction enable using a part program command: POLFMASK(<axis>)
Special functions
484 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
If one of the two enable signals is not available, then in the case of ESR, the axis responds
corresponding to the following table:
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 485
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
References
For detailed information about event-driven program calls see:
Function Manual, Basic Functions; Mode Group, Channel, Program Operation, Reset
Response (K1), Section: Eventcontrolled program calls
Special functions
486 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.2 Control-managed ESR - 840D sl only
Note
NC stop and command axes
Traversing command axes is interrupted for an NC stop.
Note
POLF/POLFMASK reset and program commands
For reset, the programmed absolute retraction positions (POLF) and the enable signals for the
retraction axes (POLFMASK) are not deleted.
Note
Retraction positions and enable signals
When a part program starts, the absolute retraction positions (POLF) and the enable signals
of the retraction axes (POLFMASK) must be reprogrammed corresponding to the actual
requirements.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 487
R3: Extended stop and retract
9.3 ESR executed autonomously in the drive
9.3.1 Fundamentals
Function
Drive-autonomous extended stop and retract (ESR) enables the fast separation of workpiece
and tool independent of the higher-level control (NC).
For this purpose, the following axial functions can be configured in the drive:
● Generator operation
● Extended stop
● Retract
The drive-autonomous responses are automatically initiated in error situations. The triggering
of the drive-autonomous responses can also be realized user-specific via the part programs
or synchronized actions from the higher-level control system.
As the stopping and retraction motion of the drive-autonomous ESR are purely axial, in contrast
to control-managed ESR, couplings are not taken into account.
Special functions
488 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.3 ESR executed autonomously in the drive
ESR executed autonomously in the drive can also be used in combination with control-
managed ESR. This also allows stopping and retraction motion in the drives if they are no
longer specified from the control, e.g. as a result of a communication failure.
Note
DRIVE-CLiQ
For possibly occurring DRIVE-CLiQ errors, in order to keep the reaction to the functions of the
drive-autonomous ESR as low as possible, within the scope of ESR, we recommend that the
motor modules involved are not connected through a line-type topology, but instead are directly
connected to the Control Unit (CU).
Link axes
The "Drive-autonomous extended stop and retract (ESR)" function cannot be used in
conjunction with link axes.
Requirements
The following conditions must be fulfilled:
● SINAMICS and SINUMERIK software version: ≥ V4.4
● Servo drive object, PROFIdrive telegram: 102 - 199
● Servo drive object, function module "ESR" active
The function module "Extended stop and retract (ESR)" must be activated via the drive
wizard of SINUMERIK Operate. For a description of the drive wizard, see: SINUMERIK
Operate online help.
● Servo drive object, generator operation (Vdc control) active in a drive
● Control unit drive object, PROFIdrive telegram: 390, 391
● The 24 V power supply for the modules is buffered via CSM or UPS
Parameter Description
p0888 ESR: Configuration
Value Meaning
1 Extended stopping (function integrated in the drive)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 489
R3: Extended stop and retract
9.3 ESR executed autonomously in the drive
Parameter Description
p0891 ESR: Off ramp
Value Meaning
0 OFF3 (default)
The drive is braked along the OFF3 down ramp by immediately entering n_set
= 0 (p1135: OFF3 ramp-down time).
1 OFF1
By immediately entering n_set = 0, the drive is braked along the ramp gener‐
ator down ramp (p1121: ramp-function generator ramp-down time).
Parameter Description
p0892 ESR: Timer
The drive travels at a constant velocity for the configured time with the speed setpoint
that was present when the fault occurred.
6SHHGQ
S
S
$86 $86
7 7 7LPHW
Feedback signal
The stop status is returned to the control (see Section "Feedback of the ESR status
(Page 494)").
References
For a detailed description of drive parameters, refer to:
SINAMICS S120/S150 Parameter Manual
Special functions
490 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.3 ESR executed autonomously in the drive
Parameter Description
p0888 ESR: Configuration
Value Meaning
2 Extended retraction (function integrated in the drive)
Parameter Description
p0891 ESR: Off ramp
Value Meaning
0 OFF3 (default)
The drive is braked along the OFF3 down ramp by immediately entering n_set
= 0 (p1135: OFF3 ramp-down time).
1 OFF1
By immediately entering n_set = 0, the drive is braked along the ramp gener‐
ator down ramp (p1121: ramp-function generator ramp-down time).
Parameter Description
p0892 ESR: Timer
The parameter specifies the total time that elapses to reach the speed specified in
p0893 followed by constant velocity travel.
This is followed by an OFF1 or OFF3 ramp depending on the parameterization in p0891.
Parameter Description
p0893 ESR: Speed
The parameter specifies the speed (retraction speed) that is reached when initiating
retraction via an OFF3 ramp.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 491
R3: Extended stop and retract
9.3 ESR executed autonomously in the drive
6SHHGQ
S
S
$86
S
$86 $86
7 7 7 7LPHW
Feedback signal
The retract status is returned to the control (see Section "Feedback of the ESR status
(Page 494)").
References
For a detailed description of drive parameters, refer to:
SINAMICS S120/S150 Parameter Manual
Parameter Description
p0888 ESR: Configuration
Value Meaning
3 Generator operation (Vdc controller)
Parameter Description
p1240 Vdc controller or Vdc monitoring configuration
Value Meaning
2 When reaching the lower DC link voltage threshold (p1248) - for ESR - the
motor is braked in order to utilize its kinetic energy to buffer the DC link.
Special functions
492 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.3 ESR executed autonomously in the drive
Parameter Description
p1248 Lower DC link voltage threshold
Setting the lower threshold for the DC link voltage. For p1240 = 2, this threshold is used
as setpoint limit for the Vdc_min controller.
'&OLQNYROWDJH9
S
S
U
7 7 7LPHW
Parameter Description
p2161 Speed threshold value 3
Speed threshold value for the message: |n_act| < speed threshold value 3
Feedback signal
The generator operation status is returned to the control (see Section "Feedback of the ESR
status (Page 494)").
References
A detailed description of drive parameters and the Vdc control can be found in:
● SINAMICS S120/S150 List Manual
● SINAMICS S120 Function Manual; Section "Servo control" > "Vdc control"
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 493
R3: Extended stop and retract
9.3 ESR executed autonomously in the drive
$AA_ESR_ENABLE[<axis>]
Value Meaning
1 ESR responses enabled in the drive
0 ESR responses inhibited in the drive
$AN_ESR_TRIGGER
Value Meaning
1 trigger drive-integrated ESR reactions that have been released
0 do not trigger drive-integrated ESR reactions that have been released
Note
The trigger signal must be active in the part program/synchronized action for at least 2 IPO
cycles to ensure that the PROFIdrive telegram is transferred to the drive.
References
For a detailed description of drive parameters, refer to:
SINAMICS S120/S150 List Manual
Special functions
494 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.3 ESR executed autonomously in the drive
System variable
The system variables can be evaluated in the part program / synchronized action, for example,
in order to trigger the drive-autonomous ESR (see Section "Triggering ESR via system
variable (Page 494)") or to acknowledge the ESR reactions triggered in the drive (see Section
"Acknowledge ESR reactions (Page 495)").
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 495
R3: Extended stop and retract
9.3 ESR executed autonomously in the drive
$$B(65B(1$%/(>D[LV!@
$1B(65B75,**(5
$$B(65B67$7%,7>D[LV!@
U(65WULJJHUHG
U(65UHDFWLRQEHLQJH[HFXWHG
Configuring drive-autonomous ESR functions "stop" and "retract" can be changed using the
commands from the part program described in the following.
Special functions
496 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.3 ESR executed autonomously in the drive
Syntax
ESRS(<access_1>,<stopping time_1>[,...,<axis_n>,<stopping time_n>])
Meaning
ESRS: Using the function, drive parameters can be changed regarding the drive-au‐
tonomous "stop" ESR function.
Special situations:
● Must be alone in the block
● Triggers a preprocessing stop
● Cannot be used in synchronized actions
● A maximum of five axes can be programmed per function call; n = 5
<axis_n>: For the specified axis, writes to drive parameter p0888 (configuration): p0888
=1
Data type: AXIS
Range of values: Channel axis name
<stopping For the axis specified under <Axis_n>, writes to drive parameter p0892 (tim‐
time_n>: er): P0892 = <stopping time_n>
Unit: s
Data type: REAL
Range of values: 0.00 - 20.00
Syntax
ESRR(<axis_1>,<retraction distance_1>,<retraction
velocity_1>[,...,<axis_n>,<retraction distance_n>,<retraction
velocity_n>])
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 497
R3: Extended stop and retract
9.3 ESR executed autonomously in the drive
Meaning
ESRR: Using the function, drive parameters can be changed regarding the drive-au‐
tonomous "retract" ESR function.
Special situations:
● Must be alone in the block
● Triggers a preprocessing stop
● Cannot be used in synchronized actions
● A maximum of five axes can be programmed per function call; n = 5
<axis_n>: For the specified axis, writes to drive parameter p0888 (configuration): p0888
=2
Data type: AXIS
Range of values: Channel axis name
<retraction For the axis specified under <Axis_n>, writes to drive parameter p0893 (re‐
velocity_n>: traction speed):
p0893 = (<retraction velocity> based on the currently effective total transmis‐
sion ratio converted into the corresponding retraction speed)
Unit: mm/min, inch/min, degrees/min (depending on the unit of
the axis)
Data type: REAL
Range of values: 0.00 - MAX
<retraction For the axis specified under <Axis_n>, writes to drive parameter p0892 (re‐
distance_n>: traction time):
p0892 = <retraction distance_n> / <retraction velocity _n>
Unit: mm, inches, degrees (depending on the unit of the axis)
Data type: REAL
Range of values: MIN - MAX
Note
Retraction speed
It should be ensured that the drive can reach the programmed retraction speed (see
parameters <retraction velocity_n>) within the retraction time (see parameter <retraction
distance _n>). The settings in the following drive parameters should be checked:
● p1082[0...n] (maximum speed)
● p1135[0...n] (OFF3 ramp-down time)
Retraction path
The conversion of the retraction path into a retraction duration for drive parameter p0892 is
performed under the assumption that the retraction motion is triggered at axis standstill (see
"Figure 9-5 Configuring_drive_integrated_generator_operation (Page 493)").
If retraction motion is triggered while the axis is traversing, the actually traversed retraction
distance differs from the programmed retraction distance due to the fact that traversing motion
is superimposed on the retraction motion.
Special functions
498 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.3 ESR executed autonomously in the drive
Dependencies
The programmed values for the retraction path and the retraction velocity refer to the load side.
Before writing to the drive parameters these are converted over to the motor side. The
transmission ratio effective in the NC at the execution time is applicable for the conversion. If
the drive-autonomous ESR for an axis is enabled ($AA_ESR_ENABLE[<axis>] == 1), then it
is not permissible to change the axial transmission ratio.
Note
Changing the transmission ratio
If the drive-autonomous ESR is not enabled for an axis ($AA_ESR_ENABLE[<axis>] == 0),
then the axial transmission ratio can be changed. After the change, it is the sole responsibility
of the user/machine manufacturer to appropriately adapt the retraction distance and the
retraction velocity.
See also
Configuring generator operation in the drive (Page 492)
When executing the functions ESRS(...) and ESRR(...) further execution of the part
program is stopped until writing to the drive parameters has been acknowledged. During this
time, the following message is used as feedback signal for the user: "Wait for drive parameters
from <Function>" is displayed.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 499
R3: Extended stop and retract
9.3 ESR executed autonomously in the drive
Reset behavior
The parameter values written using the functions ESRS(...) and ESRR(...) are
overwritten with the parameter values saved in the drive when the drive runs up or for a drive
warm restart.
Drive parameters can be saved from the HMI user interface or in the drive. From the HMI user
interface:
● Operating area "Commissioning" > "Machine data" > "Drive MD" > "Save/Reset" > "Save"
> "Drive object"or "drive unit" or " drive system"
Delay times
In order that drive-integrated ESR reactions in conjunction with Safety Integrated are executed
before the safety reactions associated with STOP E, STOP F or communication failure, then
the corresponding delay times regarding safety reactions must be configured in the control
and in the drive.
Delay times are configured in the controller using the following machine data:
● MD36954 $MA_SAFE_STOP_SWITCH_TIME_E (transition time, STOP E to safe
standstill)
● MD36955 $MA_SAFE_STOP_SWITCH_TIME_F (transition time, STOP F to STOP B)
● MD36961 $MA_SAFE_VELO_STOP_MODE (stop response, safely-reduced speed)
● MD36963 $MA_SAFE_VELO_STOP_REACTION (stop response, safely-reduced speed)
● MD10089 $MN_SAFE_PULSE_DIS_TIME_BUSFAIL (wait time pulse cancellation when
the bus fails)
Delay times in the drive are configured using the following drive parameters:
● p9554 (transition time from STOP E to "Safe Operating Stop" (SOS))
● p9555 (transition time STOP F to STOP B)
Special functions
500 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.3 ESR executed autonomously in the drive
References
A detailed description for configuring and the interaction of drive-integrated ESR responses
and Safety Integrated functions is given in:
References
Function Manual SINUMERIK Safety Integrated
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 501
R3: Extended stop and retract
9.4 Boundary conditions
Delay times
Delay times in the drive are configured using the following drive parameters:
● p9554 (transition time from STOP E to "Safe Operating Stop" (SOS))
● p9555 (transition time STOP F to STOP B)
● p9580 (wait time after which the pulses are safely cancelled after bus failure)
● p9697 (delay time for the pulse suppression after bus failure)
References
A detailed description of the drive parameters and the BICO technology can be found in:
● SINAMICS S120/S150 List Manual
● SINAMICS S120 Function Manual; Chapter "Fundamentals of drive technology" > "BICO
technology: Interconnecting signals"
Transformation
If NC-controlled extended stopping and retraction is activated for anaxis involved in an active
transformation, then extended stopping and retraction must also be activated for all other axes
involved in the transformation. Otherwise, when activating extended stopping and retraction,
it is possible that the transformation group will ungrouped.
Special functions
502 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.5 Examples
Drive components
In order that the configured stopping or retraction responses can be executed, the drive
components involved must be fully functional. Axis-specific servo or drive alarms, which
indicate the failure of one of these components, are also implicitly signaling that the configured
stopping or retraction response of the axis involved is no longer available or only partially.
Motion-synchronous actions
Motion-synchronous actions are executed in the interpolator clock cycle. Increasing the
interpolator clock cycle, e.g. due to a high number of active motion-synchronous actions,
results in a coarser time grid for evaluating trigger conditions and triggering responses for
extended stopping and retraction.
9.5 Examples
Task
The A axis is to operate as the generator drive, while the X axis should retract 10 mm at
maximum velocity in the event of a fault. The Y and Z axes should stop after a delay of 100
ms so that the X retraction axis has sufficient time to cancel the mechanical coupling.
The example is performed using NC-controlled reactions.
Only the essential parts of the entire functionality are displayed.
Requirements
The following functions must be available:
● Extended stopping and retraction (ESR)
● Static synchronized actions
● Asynchronous subprograms (ASUBs)
Settings
Machine data
Axis-specific operating mode of the ESR
● MD37500 $MA_ESR_REACTION[X] = 21 (NC-controlled retraction axis)
● MD37500 $MA_ESR_REACTION[Y] = 22 (NC-controlled stop axis)
● MD37500 $MA_ESR_REACTION[Z] = 22 (NC-controlled stop axis)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 503
R3: Extended stop and retract
9.5 Examples
Programming
Example 1
Trigger condition is the occurrence of alarms, which activate the follow-up (tracking) mode:
Program code
IDS=02 WHENEVER ($AC_ALARM_STAT B_AND 'H2000') > 0 DO $AC_ESR_TRIGGER=1
Example 2
Trigger condition is when the ELG synchronous monitoring responds, if, e.g. Y is defined as
ELG following axis and the max. permissible synchronism difference is 100 mm:
Program code
IDS=03 WHENEVER $VA_EG_SYNCDIFF[Y] > 0.1 DO $AC_ESR_TRIGGER=1
Special functions
504 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.5 Examples
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 505
R3: Extended stop and retract
9.6 Data lists
Special functions
506 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
R3: Extended stop and retract
9.6 Data lists
Identifier Meaning
$A_DBB Read/write data byte from/to PLC
$A_IN Digital input
$A_OUT Digital output
$AA_ESR_ENABLE[<axis>] Enable "Extended stop and retract"
$AA_TYP[<axis>] Axis type
$AA_ESR_TRIGGER[<axis>] Initiate ESR for PLC controlled axis (single axis)
$AC_ALARM_STAT Alarm status in the channel
$AC_ESR_TRIGGER Trigger ESR, channel-specific
$AC_STAT Channel status
9.6.3 Signals
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 507
R3: Extended stop and retract
9.6 Data lists
Special functions
508 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
S9: Setpoint exchange - 840D sl only 10
10.1 Brief description
Function
The "setpoint exchange" function is used in applications in which the same motor is used to
traverse different machine axes.
10.2 Startup
The "setpoint exchange" function is required in applications in which a single motor needs to
drive a number of axes/spindles such as, for example, on milling machines with special
millheads. The spindle motor is operated as both a tool drive and a millhead orienting
mechanism.
'LUPLOOKHDG 0LOOKHDGKROGHU
HQFRGHU
0RWRU
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 509
S9: Setpoint exchange - 840D sl only
10.2 Startup
'LUPLOOKHDG 0LOOKHDGKROGHU
HQFRGHU
0RWRU
6SLQGOH
0RWRUHQFRGHU
*HDU 'LUVSLQGOH
HQFRGHU
Figure 10-2 Example 2: 1 motor encoder, separate millhead encoder and spindle encoder
Configuration
Setpoint exchange enables a number of axes to use the same drive.
The same setpoint channel on this drive is assigned a number of times to define the axes
participating in setpoint exchange. For this, the following machine data must be pre-assigned
with the same logical drive number for every axis:
MD30110 $MA_CTRLOUT_MODULE_NR (setpoint assignment: module number)
Note
Alarm 26018 is output if the option is missing.
Special functions
510 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
S9: Setpoint exchange - 840D sl only
10.2 Startup
0DFKLQHD[HV
6HWSRLQWFKDQQHODVVLJQPHQWYLD0'
0$B&75/287B02'8/(B15>$@
0$B&75/287B02'8/(B15>%@
; < = $ %
/RJLFDOGULYHQXPEHU
0'
*HDU
*
0 0 0 1
0
*
0
*
0 0RWRU
* (QFRGHU
Activation
The setpoint is exchanged and the corresponding interface signals are evaluated in the PLC
user program.
Note
An existing PLC user program may need to be modified due to changes in the meaning of
interface signals in comparison with the technology card solution.
Only one of the machine axes with the appropriate logical drive number may have control via
the setpoint channel of the drive at any one time.
Requests to transfer drive control are sent using NC/PLC interface signal:
DB31, ... DBX24.5 (change setpoint output assignment)
The current status of drive control is displayed in the NC/PLC interface signal:
DB31, ... DBX96.5 (setpoint output assignment)
Access rights to the shared drive must be managed in the PLC user program.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 511
S9: Setpoint exchange - 840D sl only
10.3 Interface signals
Transfer conditions
● Axis standstill of all axes involved.
● Special functions such as reference point approach, measuring, travel to fixed stop, function
generator, star/delta changeover, drive parameter set changeover are not active in the axis
with drive control.
● No sign-of-life error and no faults pending on PROFIBUS drive.
The PLC interface provides constant information about the current state of the exchange. At
any one time, only one axis has drive control DB31, ... DBX96.5=1.
During exchange, servo enables on all axes involved are automatically withdrawn by the
control.
Axes without drive control are not in closed-loop control. Therefore, a brake control must be
set up for vertical axes.
Special cases
If a number of transfer requests are made simultaneously, exchange will not take place. The
last axis used remains in control of the drive. This is also the case if there are no transfer
requests pending.
If there are no transfer requests during machine power-up, drive control is assigned to the first
machine axis located with the same logical drive number. The interface signal
DB31, ... DBX24.5 (change setpoint output assignment) must be set explicitly in advance to
be able to traverse the axis. Logical drive numbers are scanned in ascending order.
MD30110 $MA_CTRLOUT_MODULE_NR[0,AX1] = 1
MD30110 $MA_CTRLOUT_MODULE_NR[0,AX2] = 2
MD30110 $MA_CTRLOUT_MODULE_NR[0,AX3] = 3
MD30110$MA_CTRLOUT_MODULE_NR[0,AX4] = 4 ; Drive control during power-up
MD30110 $MA_CTRLOUT_MODULE_NR[0,AX5] = 4
Axisspecific signals
Despite assignment of a drive to several machine axes, the use of NC/PLC interface signals
remains unchanged. This requires an explicit coordination of access operations to the NC/PLC
interface signals in the PLC user program.
Status signals
The status signals contained in the following bytes are always displayed in the same way for
all of the machine axes involved in the changeover:
DB31, ... DBB92 to DBB95
Special functions
512 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
S9: Setpoint exchange - 840D sl only
10.3 Interface signals
Control signals
The control signals contained in the following bytes are only active in the machine axes, which
are currently assigned to the drive:
DB31, ... DBB20 to DBB21
Controller enable
The NC/PLC interface signal:
DB31, ... DBX2.1 (controller enable)
is only effective if the machine axis currently has control of the drive:
DB31, ... DBX96.5 == 1 (status setpoint changeover)
Axes without drive control are subject to functional restrictions and are therefore operated in
the follow-up mode. To do this, the control automatically withdraws the controller enable signals
for these machine axes.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 513
S9: Setpoint exchange - 840D sl only
10.3 Interface signals
$;7UDYHUVLQJFRPPDQGLVSUHVHQW
'%'%;
$;&RQWUROYLDWKHGULYHDFWLYH" \HV
'%'%;
QR
$;&ORVHEUDNH
$;5HOLQTXLVKGULYHFRQWURO
'%'%;
QR
$;$;7UDFNLQJDFWLYH"
'%'%;
'%'%; \HV
&KDQJHRYHUPHFKDQLFDOV\VWHP
$;5HTXHVW
GULYHFRQWURO
'%'%;
QR
$;FRQWURODFFHSWHG
'%'%;
\HV
$;VHWFRQWUROOHUHQDEOH
'%'%;
$;2SHQEUDNH
Figure 10-4 Schematic setpoint changeover from machine axes AX1 to AX2
Special functions
514 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
S9: Setpoint exchange - 840D sl only
10.7 Supplementary conditions
10.4 Interrupts
Drive alarms are only displayed for axes with drive control
Parameter sets
A setpoint exchange is not performed if one of the following states is present:
● A parameter set changeover in one of the two machine axes has not completed.
● The parameter sets of the two machine axes are not the same.
Note
No message is displayed.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 515
S9: Setpoint exchange - 840D sl only
10.8 Data lists
Special functions
516 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T3: Tangential control - 840D sl only 11
Using the "Tangential control" function, a rotary axis is coupled as following axis to two
geometry axes as leading axes, so that the alignment of the following axis is a function of the
path tangent of the leading axes.
<
1
1
1
& ;
|
The path-defining leading axes, geometry axes X and Y and rotary axis C the following axis
of the tangential coupling can be seen in the diagram. The rotary axis is tracked with a
programmable offset angle of 270° with respect to the path tangent. At the block transition
from N10 to N20, the contour has a discontinuous transition or corner. As a result of a dynamic
response that is too low, the following axis cannot follow the path tangent over part of the path
(blue). However, the dynamic response of the following axis is sufficient so that it can precisely
follow circular blocks N20 and N30 further along the contour.
Properties
The tangential coupling sets itself apart as a result of the following features:
● The leading axes of the tangential coupling must be two geometry axes.
● The following axis of the tangential coupling must be a rotary axis.
● The tangential coupling can be defined, activated, deactivated and deleted in the NC
program.
● Tangential control is defined for the basic and the workpiece coordinate system.
● The positive direction of the path tangent is the same as the traversing direction of the path.
● For an offset angle of 0° between the rotary axis and the path tangent, shows the 0° direction.
● The axes of the tangential coupling must be the channel axes of the same channel.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 517
T3: Tangential control - 840D sl only
11.1 Commissioning
● The position of the following axis can act as the input value for an additional transformation.
● The tangential coupling is only active in the AUTOMATIC and MDI modes.
Application examples
● Tangential positioning a rotatable tool during nibbling
● Tracking the workpiece alignment for a belt saw.
● Positioning a dressing tool on a grinding wheel
● Positioning a cutting wheel for cutting glass or paper
● Tangentially feeding a wire for 5-axis welding.
Corner behavior:
If the contour described by the leading axes has a discontinuous block transition or corner,
then one of the following corner behaviors can be selected.
● The dynamic response of the rotary axis has no effect on the leading axes
● The dynamic response of the rotary axis is considered in the path planning of the leading
axes together with programmable parameters "rounding clearance" and "angular
tolerance".
● The leading axes are stopped before the corner, and in an automatically generated
intermediate block, the following axis is realigned.
The corner angle is detected depending on the value of machine data MD37400
$MA_EPS_TLIFT_TANG_STEP (tangential angle for corner detection).
11.1 Commissioning
Machine data
Special functions
518 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T3: Tangential control - 840D sl only
11.2 Programming
The active offset angle is the sum of the offset angle parameterized in the machine data and
the offset angle programmed with TANGON() (Page 522) when tangential coupling is activated:
System variables
11.2 Programming
Syntax
TANG(<following axis>, <leading axis_1>, <leading axis_2>, <coupling
factor>, <coordinate system>, <optimization>)
Meaning
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 519
T3: Tangential control - 840D sl only
11.2 Programming
Special functions
520 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T3: Tangential control - 840D sl only
11.2 Programming
1)
Note
As the leading axes for tangential coupling, the geometry axes must be used that travel along the
programmed path in the machine coordinate system (MCS) with reference to the initial position of the
machine. For example, if swivel cycle CYCLE800 is used on a milling machine with a swivel head,
depending on how the cycle is configured, interpolation will be performed in the WCS, e.g. with the
geometry axes X and Y. The tangential coupling, however, must be defined with the geometry axes as
the leading axes, which travel along the programmed path in the MCS. For this purpose, the geometry
axes in the non-swiveled condition of the machine must be used as the leading axes.
2)
Note
The basic coordinate system (BCS) must not be rotated with respect to the MCS. For example, if the
BCS is rotated with the ROT command or with the swivel cycle CYCLE800, the tangential control is no
longer correct.
Syntax
TLIFT(<following axis>)
Meaning
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 521
T3: Tangential control - 840D sl only
11.2 Programming
Path axis
If the following axis had already been traversed as a path axis before tangential coupling was
activated, the rotational movement is performed in the intermediate block as a path axis.
If you specify the reference radius with FGREF[<axis>]=0.001, the rotational movement
will be performed with the parameterized maximum axis velocity:
MD32000 $MA_MAX_AX_VELO[<following axis>]
Positioning axis
If the following axis had not yet been traversed as a path axis before tangential coupling was
activated, the rotation is performed in the intermediate block as a positioning axis.
The rotational movement is performed with the parameterized positioning axis velocity:
MD32060 $MA_POS_AX_VELO[<following axis>]
Optimization "P"
If the value "P" was specified as the optimization parameter in the definition of the tangential
coupling (TANG(...)), the parameter "rounding clearance" and optionally the parameter
"angular tolerance" must be set when coupling is activated.
If the value 0 is specified as the angular tolerance, only the parameter "rounding clearance"
will be active.
If a value greater than 0 is specified as the angular tolerance, the active rounding clearance
results from the minimum of the parameterized rounding clearance and the rounding clearance
based on the parameterized angular tolerance.
If the dynamic response of the following axis is not sufficient to follow the parameterized
conditions, the path velocity of the leading axes will be reduced accordingly.
Syntax
TANGON(<following axis>, <offset angle>, <rounding clearance>,
<angular tolerance>)
Special functions
522 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T3: Tangential control - 840D sl only
11.2 Programming
Meaning
Programming
TANGOF(<following axis>)
Meaning
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 523
T3: Tangential control - 840D sl only
11.2 Programming
Syntax
TANGDEL(<following axis>)
Meaning
Examples
Special functions
524 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T3: Tangential control - 840D sl only
11.3 Limit angle
r r
<
r r
&
|
;
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 525
T3: Tangential control - 840D sl only
11.5 Examples
Effect
If the following axis traverses with the actual offset angle with the axis position outside the
active working area limitation, then the control system checks whether the following axis, when
using the negative offset angle, would move in a permissible working area. If this is the case,
then the following axis is traversed with the negative offset angle.
Reference
Programming Guide Fundamentals; Chapter "Supplementary commands" > "Working area
limitation" > "Working area limitation in the BCS (G25/G26, WALIMON, WALIMOF)"
11.5 Examples
Special functions
526 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T3: Tangential control - 840D sl only
11.5 Examples
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 527
T3: Tangential control - 840D sl only
11.5 Examples
Special functions
528 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T3: Tangential control - 840D sl only
11.6 Data lists
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 529
T3: Tangential control - 840D sl only
11.6 Data lists
Identifier Description
$AC_BLOCKTYPE Current block is an intermediate block generated by TLIFT
Special functions
530 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) -
only 840D sl 12
12.1 Function
Note
The "Automatic post optimization with AST" function is an option for SINUMERIK 840D sl that
requires a license.
With the "Automatic post optimization with AST" function, axes with a changed mechanical
system can be post optimized from the part program.
SIEMENS provides predefined cycles for the functions of the Automatic Servo Tuning (AST)
(post optimization) (see "Programming (Page 534)"). They can be used by machine
manufacturers to create their own tuning cycles. The machine operator must only use the
machine manufacturer's cycle.
Application
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 531
T4: Automatic post optimization with AST (option) - only 840D sl
12.1 Function
All conventionally driven axes (servomotor with ballscrew spindle and possibly with gearbox)
do not require that the speed controller is post optimized (retuned).
Note
If, after the load has changed, the actual parameter data set no longer fits, in order to traverse
directly-driven axis reliably without any instability, then parameter values must be adapted
before setting the controller enable (DB31, ... DBX2.1 = 1). Automatic post optimization with
AST is only possible after the controller has been enabled.
The following measures are possible:
● The active parameter data set is set so that it is suitable for all load conditions - and can
be used without adaptation ("moderately" adjusted parameter data set).
● A "moderately" adjusted parameter data set is adapted using automatic post optimization
with AST, and is then subsequently activated.
● The required parameter values are assigned by the PLC (FB3, PI services, …) and/or
manufacturer cycle beforesetting the controller enable.
Typical applications
For typical applications, see Chapter "Examples (Page 555)".
Reference:
For information on user interface-based automatic servo optimization, see:
● CNC Commissioning Manual: NC, PLC, Drive
Special functions
532 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.2 Commissioning
12.2 Commissioning
System requirements
● SINUMERIK 840D sl with SINUMERIK Operate
● CNC software as of version 4.7 SP1
● "Automatic post optimization with AST" option is set.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 533
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
12.3 Programming
12.3.1 Overview
Data handling
Special functions
534 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
optimization data, the relative path would be specified, e.g. starting at /card/user/sinumerik/
nck/data/optimization.
The relative path is specified, starting without a forward slash ("/").
Subdirectories can be specified.
Example:
data/my_ast_ax1.xml
(corresponds to the absolute path /card/user/sinumerik/nck/data/optimization/data/
my_ast_ax1.xml)
Syntax
CYCLE751(<S_I_SESSIONCOMMAND>)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 535
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
Parameter
No. Parameters
1 <S_I_SESSIONCOMMAND>
Data type: INT
Value: 0 Not defined
1 Open new optimization session
Note:
Multiple sessions cannot be open concurrently. Opening a new session closes the current session
automatically.
2 Close current optimization session
3 Execute optimization functions of the current session with immediate transfer of the optimization
results
The scope of the optimization functions (measurement of the speed control loop, measurement of
the position control loop, optimization of the path interpolation) to be executed depends on the axis-
specific optimization strategies set from the user interface.
The optimization results are transferred immediately (update the axis and drive parameters, update
the optimization files).
4 Execute optimization functions of the current session without immediate transfer of the optimization
results
Unlike 3, the optimization results are not transferred immediately. Transfer can be realized later in
the optimization session using CYCLE756.
Syntax
CYCLE752(<S_I_AXIS>, <S_I_ACTIONREQUEST>, <S_B_ISPATHMEMBER>,
<S_SZ_FILENAME>)
Parameters
No. Parameters
1 <S_I_AXIS>
Meaning: Machine axis number
Specifies the axis to be added to the optimization session.
Note:
For gantry or master-slave couplings, only the leading or master axis of the coupling group should be
specified.
Data type: INT
Special functions
536 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
No. Parameters
2 <S_I_ACTIONREQUEST>
Meaning: Specifies whether the stored optimization data (optimization strategy and optimization results) should
be used or the axis with AST default settings reoptimized for the axis to be added.
Note:
If the axis has already been optimized and the optimization data has been saved in an optimization
file, this data is normally accessed first. CYCLE753 can then specify the further procedure.
Data type: INT
Value: 0 Not defined
1 Reoptimization with AST default settings
The axis should be remeasured and reoptimized with the AST default settings. The selected
AST settings are not considered on the user interface.
2 Optimization data from a user-defined optimization file
The stored optimization data from the specified user-defined optimization file (see <S_SZ_FIL‐
ENAME> parameter) is used for the axis.
Note:
This setting is only possible if the axis has already been optimized once, and the results have
been saved to a user-defined optimization file.
3 Optimization data from the standard optimization file
The stored optimization data from the axis-specific standard optimization file is used for the axis.
The selected AST settings are not considered on the user interface.
Note:
For the user interface-based automatic servo optimization, the standard optimization files are
automatically generated to backup optimization information and data (optimization strategy,
measuring and optimization results) and saved in the file system under /card/user/sinumerik/nck/
data/optimization. There is a standard optimization file for every axis – and a standard optimiza‐
tion file for the path interpolation.
For example, the setting <S_I_ACTIONREQUEST> = 2 or 3 is used in the following cases:
● The axis should be post-optimized using the saved strategy and measurement settings. To do this,
the saved optimization data is loaded with CYCLE752 and the deployed optimization mode defined
with CYCLE753.
● On completion of the reoptimization of the individual axes, the path interpolation must be
reoptimized.
● Saved optimization results (values for NC and drive parameters) should be restored.
3 <S_B_ISPATHMEMBER>
Meaning: Consideration of the axis for the last optimization step (optimization of the path interpolation)
Data type: BOOL
Value: 0 (FALSE) Do not consider the axis for the optimization of the path interpolation
1 (TRUE) Consider the axis for the optimization of the path interpolation
All axes, which are added using CYCLE752( , , TRUE, ), are taken into account when
optimizing path interpolation. This is realized within the scope of the optimization, e.g.
started using CYCLE751(3).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 537
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
No. Parameters
4 <S_SZ_FILENAME>
Meaning: Address of the user-defined, axis-specific optimization file (only relevant for <S_I_ACTIONREQUEST>
= 2!)
If the file was generated via the program-based automatic post optimization with AST using CYCLE757,
then as default setting, the file is in directory /card/user/sinumerik/nck/data/optimization and it is not
necessary to specify a directory path.
However, the more frequent use case is that the file is generated via the user interface-based automatic
servo optimization, and was saved in directory /card/user/sinumerik/hmi/log/optimization. In addition
to the file name, the address must also include the directory path (unless the file was subsequently
copied to the standard directory /card/user/sinumerik/nck/data/optimization). See also "Example 6:
Measuring an axis without optimization (Page 570)".
Data type: STRING [100]
Note
Gantry/master-slave coupling
For gantry or master-slave couplings, with CYCLE752, only the leading or master axis of the
coupling group is specified. The AST software automatically adds the coupled following or
slave axes.
AST then automatically measures all axes of a coupling group – and optimizes them with
identical controller settings. The position controller gains are set the same, the integral time in
the speed controller is selected the same and the effective speed controller gain (relative to
the overall moment of inertia) is selected the same. The current setpoint filters can be optimized
differently.
Coupled axes must be referenced (homed) before the automatic optimization!
Note
Premeasurement
The decision for performing a premeasurement depends on the available axis optimization
data.
● Cases in which the control unit performs a premeasurement for determining the measuring
parameters:
– The optimization strategy envisages a premeasurement; data from an earlier
premeasurement is not available.
– The optimization data does not specify any optimization strategy.
● Cases in which no premeasurement is performed:
– The optimization strategy envisages a premeasurement; data from an earlier
premeasurement is available.
– The optimization strategy does not envisage any premeasurement (the optimization
strategy takes precedence over the "Perform premeasurement for determining the
excitation" option selected from the user interface).
Special functions
538 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
Syntax
CYCLE753(<S_I_AXIS>, <S_I_ACTION>, <S_B_SAVEBOOTFILES>)
Parameters
No. Parameters
1 <S_I_AXIS>
Meaning: Machine axis number
Data type: INT
2 <S_I_ACTION>
Meaning: Specifies the optimization mode for the specified axis.
Data type: INT
Value: 0 Not defined
1 Match the path interpolation
The axis (path axis) should not be remeasured and reoptimized, but rather considered and
adapted only for the optimization of the path interpolation.
The stored results from the optimization file are used for the axis. The optimization of the path
interpolation means that the axis-specific machine data and drive parameters can change.
2 Reoptimization with a different optimization strategy based on stored measurements
The axis should be reoptimized based on the results from an earlier measurement and currently
valid optimization strategy changed from the user interface or CYCLE758.
This mode is used, for example, to eliminate known periodic disturbance frequencies (see "Ex‐
ample 5: Reoptimize the speed control loop to eliminate known periodic disturbance frequen‐
cies. (Page 568)").
3 Measurement and reoptimization (→ Mode for changed mechanics/loading!)
The mechanics/loading has changed. The axis should be remeasured and reoptimized using
the user-defined strategy and measuring settings from an optimization file. The strategy and
measuring settings can be adapted from the user interface or with CYCLE758.
3 <S_B_SAVEBOOTFILES>
Meaning: Save updated drive parameter values as persistent data
Data type: BOOL
Value: 0 (FALSE) No
1 (TRUE) Yes (default)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 539
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
Note
Adding or removing an axis or drive data set using CYCLE754 only refers to the data set list,
i.e an axis or drive data set removed from the list still remains in the control or in the drive.
Syntax
CYCLE754(<S_I_AXIS>, <S_I_ACTIONREQUEST>, <S_I_DATASETTYPE>,
<S_I_INDEX>)
Parameters
No. Parameters
1 <S_I_AXIS>
Meaning: Machine axis number
Data type: INT
2 <S_I_ACTIONREQUEST>
Meaning: Specifies whether the specified axis or drive data set should be added to or removed from the data
set list.
Data type: INT
Value: 0 Not defined
1 Add a data set
2 Remove a data set
3 Remove all data sets from the list
Note:
If the list is empty, the optimization results can be written only to the active data set.
3 <S_I_DATASETTYPE>
Meaning: Data set type
Data type: INT
Value: 0 Not defined
1 Axis data set (servo parameter set)
2 Drive data set (DDS)
Special functions
540 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
No. Parameters
4 <S_I_INDEX>
Meaning: Data set index
Specifies the data set to be added and into which the optimization results should be written or should
be removed from the list.
Note:
The following applies to the axisdata set index: <n> = parameter set number - 1
Example: Index 0 ≙ parameter set 1
Data type: INT
Range of values: -1, 0, 1, ... <MAX_INDEX>
-1 active data set
Note
The backup files are no longer required after the optimization session has been successfully
completed. This is the reason that these should be deleted again at the end of the optimization
session with CYCLE755.
Syntax
CYCLE755(<S_I_ACTIONREQUEST>, <S_SZ_NAME>, <S_SZ_GUD_BOOL_NAME>)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 541
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
Parameters
No. Parameters
1 <S_I_ACTIONREQUEST>
Data type: INT
Value: 0 Not defined
1 Backup data for a later restore
This setting saves the data values at the time of the cycle call in the specified file.
The following parameters define the content of the data backup:
● the currently valid optimization strategy
● the axes currently added to the optimization session
● the current list of parameter sets to be written
2 Restore data
This setting restores the data from the specified file.
Requirements:
● The optimization session is still active.
● The axis and data set selection at the time of the backup is still available.
3 Delete backup file
4 Querying the existence of a backup file
The result of the query is saved to a channel-global user variable (GUD), type BOOL (see pa‐
rameter <S_SZ_GUD_BOOL_NAME>).
2 <S_SZ_NAME>
Meaning: Name of backup file
The file name can be freely selected with the following restriction: it is not permissible that the sequence
of letters "AST" is located at the beginning of the file name.
Specifying a path (absolute or relative) is only required if the file is not to be saved to the standard
directory /card/user/sinumerik/nck/data/optimization/restore.
Data type: STRING [100]
3 <S_SZ_GUD_BOOL_NAME>
Meaning: Name of the GUD, in which the result of the file query should be saved
(only relevant, if <S_I_ACTIONREQUEST> = 4!)
Note:
The specified GUD must be defined in a definition file as a channel-global variable, type BOOL:
DEF CHAN BOOL
Data type: STRING [50]
Syntax
CYCLE756(<S_I_AXIS>, <S_I_REGULATOR_ROLE>, <S_B_SAVEBOOTFILES>)
Special functions
542 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
Parameters
No. Parameters
1 <S_I_AXIS>
Meaning: Machine axis number
Data type: INT
2 <S_I_REGULATOR_ROLE>
Meaning: Specifies which optimization results should act for the specified axis in the control unit and in the drive.
Note:
If the axis is part of a gantry group or a master-slave coupling, then optimization factors are included
in the optimization results, which would be necessary to adapt the dynamic response of all axes of the
coupling group.
Data type: INT
Value: 0 Not defined
1 The original data should act for the specified axis.
2 The current optimization results without optimization of the path interpolation should become
active for the specified axis (axis-optimum data)
3 The current optimization results with optimization of the path interpolation should become active
for the specified axis (path-optimum data).
3 <S_B_SAVEBOOTFILES>
Meaning: Save updated drive parameter values as persistent data
Data type: BOOL
Value: 0 (FALSE) No
1 (TRUE) Yes (default)
Application
Some situations for which CYCLE756 is useful:
● CYCLE751(4) executes the optimization functions of the current session without
transferring the optimization results immediately. The optimization results can be activated
later during the optimization session with CYCLE756. Prior to the activation, the data can
be read and tested with CYCLE758/759.
● CYCLE752 loads the saved optimization data from an optimization file. CYCLE756
activates the loaded data.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 543
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
NOTICE
Data loss
If CYCLE757 is not programmed, measurement data as well as parameters for assessment
and offline optimization are no longer available after the optimization session has been closed.
However, the optimization (depending on the strategy) is written to the axis and drive
parameters.
Remedy: Save optimization data to be backed up before closing the optimization session with
CYCLE757.
Syntax
CYCLE757(<S_I_AXIS>, <S_SZ_FILENAME>, <S_I_CONTENT_TYPE>,
<S_I_FORMATFILTER>, <S_I_SUPPINFO>)
Parameters
No. Parameters
1 <S_I_AXIS>
Meaning: Machine axis number
Data type: INT
Special functions
544 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
No. Parameters
2 <S_SZ_FILENAME>
Meaning: Name of the optimization file to be created (with file extension ".xml" or ".csv")
The file name can be freely selected with the following restriction: it is not permissible that the sequence
of letters "AST" is located at the beginning of the file name.
Specifying a path (absolute or relative) is only required if the file is not to be saved to the standard
directory.
Examples:
● AXIS.xml
● PATH.xml
● SPEEDCTRL_PLANT.csv
● POSCTRL_MECHRESP.csv
Special case:
● Empty string (""); only valid, if <S_I_CONTENT_TYPE> = 1 or 2
Entering an empty string means that the data of the program-based automatic post optimization
are written to the standard optimization file for the axis (<S_I_CONTENT_TYPE> = 1) or for the
path interpolation (<S_I_CONTENT_TYPE> = 2).
Notice:
The standard optimization files contain the data of the user interface-based automatic servo
optimization. By programming <S_SZ_FILENAME> = "", these are overwritten by the data of the
program-based automatic post optimization.
Data type: STRING [100]
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 545
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
No. Parameters
3 <S_I_CONTENT_TYPE>
Meaning: Specifies which optimization data should be saved in the created optimization file.
Data type: INT
Value: 0 Not defined
1 Creates an XML file in which the axis-specific optimization data for the specified axis is saved.
The following data is included:
● Measuring conditions
● Measurement results
● Optimization strategy
● Optimization results
Note:
If the axis is part of a gantry group or a master-slave coupling, then the optimization information
for the axis, includes the optimization information for all other axes of the coupling group.
2 Creates an XML file in which the data for optimization of the path interpolation is saved.
The following data is included:
● List of all involved axes.
● Strategy for optimization of the path interpolation
3 Creates a CSV file, in which the data for the frequency characteristic of the measured speed
controlled system is to be saved.
The data is stored as a 3-column table:
● Column 1: Frequency [Hz]
● Column 2: Linear amplitude
● Column 3: Phase [rad]
4 Creates a CSV file in which the data for the measured mechanical frequency response is saved.
The data is stored as a 3-column table:
● Column 1: Frequency [Hz]
● Column 2: Linear amplitude
● Column 3: Phase [rad]
5 Creates a CSV file, in which the data for the frequency response of the calculated closed speed
controller is saved.
The data is stored as a 3-column table:
Column 1: Frequency [Hz]
Column 2: Linear amplitude
Column 3: Phase [rad]
6 Creates a CSV file, in which the data for the frequency response of the calculated closed position
controller is saved.
The data is stored as a 3-column table:
Column 1: Frequency [Hz]
Column 2: Linear amplitude
Column 3: Phase [rad]
7 Creates a CSV file, in which the data for the frequency response of the measured closed speed
controller is saved.
The data is stored as a 3-column table:
Column 1: Frequency [Hz]
Special functions
546 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
No. Parameters
Column 2: Linear amplitude
Column 3: Phase [rad]
8 Creates a CSV file, in which the data for the frequency response of the measured closed position
controller is saved.
The data is stored as a 3-column table:
Column 1: Frequency [Hz]
Column 2: Linear amplitude
Column 3: Phase [rad]
4 <S_I_FORMATFILTER>
Meaning: Reserved
Data type: INT
5 <S_I_SUPPINFO>
Meaning: Reserved
Data type: INT
Syntax
CYCLE758(<S_I_AXIS>, <S_I_PARAMID>, <S_I_MEASTYPE>, <S_I_MEASINDEX>,
<S_SZ_NEWVALUE>)
Parameters
No. Parameters
1 <S_I_AXIS>
Meaning: Machine axis number (not relevant for parameters that affect the optimization of the path interpolation!)
Data type: INT
Note:
Are the measurement parameters of a following or slave axis to be changed
2 <S_I_PARAM
ID>
Meaning: ID number of the parameter whose value should be changed
Parameter IDs, see "List of the parameters for the automatic servo optimization (Page 549)".
Data type: INT
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 547
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
No. Parameters
3 <S_I_MEASTYPE>
Meaning: Measuring type to which the parameter refers (relevant only for measuring parameters!)
Uniquely identifies measuring parameters with the same ID number.
Data type: INT
Value: 1 Mechanical frequency response
2 Closed position control loop
3 Closed speed control loop
4 Speed-controlled system
5 Speed setpoint step change
4 <S_I_MEASINDEX>
Meaning: Measurement index to which the parameter refers (relevant only for measuring parameters!)
Uniquely identifies measuring parameters with the same ID number that refer to the same measuring
type. It must be specified only when multiple measurements of a measuring type exist.
Data type: INT
5 <S_SZ_NEWVALUE>
Meaning: New parameter value
Data type: STRING [20]
Note
Gantry/master-slave coupling
If the measurement parameters of a specific following or slave axis must be changed, then in
CYCLE758 the corresponding number of this axis must be specified (not the number of the
leading or master axis, as when adding coupled axes with CYCLE752 (Page 536)).
Syntax
CYCLE759(<S_I_AXIS>, <S_I_PARAMID>, <S_I_MEASTYPE>, <S_I_MEASINDEX>,
<S_SZ_GUDRESULT>)
Parameters
No. Parameters
1 <S_I_AXIS>
Meaning: Machine axis number (not relevant for parameters that affect the optimization of the path interpolation!)
Data type: INT
Special functions
548 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
No. Parameters
2 <S_I_PARAM
ID>
Meaning: ID number of the parameter whose value should be read
Parameter IDs, see "List of the parameters for the automatic servo optimization (Page 549)".
Data type: INT
3 <S_I_MEASTYPE>
Meaning: Measuring type to which the parameter refers (relevant only for measuring parameters!)
Uniquely identifies measuring parameters with the same ID number.
Data type: INT
Value: 1 Mechanical frequency response
2 Closed position control loop
3 Closed speed control loop
4 Speed-controlled system
5 Speed setpoint step change
4 <S_I_MEASINDEX>
Meaning: Measurement index to which the parameter refers (relevant only for measuring parameters!)
Uniquely identifies measuring parameters with the same ID number that refer to the same measuring
type. It must be specified only when multiple measurements of a measuring type exist.
Data type: INT
5 <S_SZ_GUDRESULT>
Meaning: Name of the global user variable (GUD) into which the parameter value should be copied.
Note:
The specified GUD must be defined in a definition file. The data type of the GUD must match the data
type of the parameter.
Data type: STRING [20]
Measuring conditions
001 Start position of the axis during a measurement mm or de‐ - +
grees
002 Direction sequence during a measurement INT 1, 2, 3, 4 + +
● 1 = plus
● 2 = minus
● 3 = plus, then minus
● 4 = minus, then plus
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 549
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
Special functions
550 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 551
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
Special functions
552 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.3 Programming
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 553
T4: Automatic post optimization with AST (option) - only 840D sl
12.4 Diagnostics
Unit
Parameter 021: Parameter 022:
Amplitude of the excitation Velocity offset
Measurement type Rotary motor Linear motor Rotary motor Linear motor
Speed-controlled system Nm N rad/s m/s
Closed speed control loop rad/s m/s rad/s m/s
● The following measurement were carried out via the control. Here, the units refer to the
axis, i.e. to the load side. It may be necessary to convert to SI units.
Unit
Parameter 021: Parameter 022:
Amplitude of the excitation Velocity offset
Measurement type Rotary axis Linear axis Rotary axis Linear axis
Mechanical frequency response rad/s m/s rad/s m/s
Closed position control loop rad m rad/s m/s
12.4 Diagnostics
If an error occurs when executing cycles, then an appropriate HMI alarm is output (number
range 150001 to 150004) as well as NC alarm 61840. Based on the block number specified
in alarm 61840, the user can define which NC block with a CYCLE75x call caused the error.
Reference:
For alarm descriptions, refer to the Diagnostics Manual Alarms.
Special functions
554 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
12.6 Examples
Programming
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 555
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
Optimization cycle
Note
In the following program example, those cycle calls required for the measurement are
highlighted bold.
Any cycle calls not highlighted are optional.
Special functions
556 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
; Switch to the newly optimized DDS or select the predefined DDS depending
on the load inertia.
; Limit the acceleration depending on the new inertia.
M17
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 557
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
Preparation
● Select optimization strategy 105 from the user interface:
● If necessary, change the optimization objective (fast, moderate, robust) with the "Speed"
softkey.
Programming
Optimization cycle
Note
In the following program example, those cycle calls required for the reoptimization are
highlighted bold.
Any cycle calls not highlighted are optional.
Special functions
558 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
; Add axis 4.
; Accept the optimization strategy from the standard optimization file (XML
file).
; The axis is not considered for an optimization of the path interpolation.
CYCLE752(myaxiswithnewload,3,false)
; Add DDS3 to the data set list and overwrite after optimization.
CYCLE754(myaxiswithnewload,1,2,3)
; Activate result:
; Activate axis-optimum results.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 559
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
M17
12.6.3 Example 3: Reoptimize the speed controller and the position controller of an axis
The controller setting of the rotary axis (here: 4th axis), which is driven by a torque motor,
depends on the clamping equipment and the load moment of inertia. If the clamping equipment
or the load inertia changes, the axis must be measured again. New current setpoint filters must
probably by set. The speed controller must be reoptimized. Because it is not known whether
the low-frequency behavior has changed, the position controller must also be reoptimized and
the associated mechanical frequency response measured.
The results, such as the complete inertia, can be read with CYCLE759. The newly optimized
speed controller is written to another data set. The newly optimized position controller can be
written to any desired axis parameter set. The correct path interpolation is guaranteed by a
target value for the (precontrolled) positioning behavior being specified in accordance with the
previously optimized axes. The optimization strategy for axis and speed controllers, selected
from the user interface, is deployed and was stored in the XML file for this axis (/card/user/
sinumerik/nck/data/optimization/AST_AX4_A1….xml).
Special functions
560 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
Preparation
● Select optimization strategy 102 from the user interface:
● Press the "Position" softkey to display the window for adaptation of the position controller
strategy and select "User-defined strategy 209":
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 561
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
Note
For the automatic operation, the servo parameter set with the appropriate path-optimum
values must then be selected in the other axes (here: with equivalent time = 3 ms).
Programming
Optimization cycle
Note
In the following program example, those cycle calls required for the reoptimization are
highlighted bold.
Any cycle calls not highlighted are optional.
Special functions
562 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
; Add DDS3 to the data set list and overwrite after optimization.
CYCLE754(myaxiswithnewload,1,2,3)
; Axis: Add parameter set 4 to the data set list and overwrite after
optimization.
CYCLE754(myaxiswithnewload,1,1,3)
; Activate result:
; Activate axis-optimum results.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 563
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
M17
Special functions
564 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
Preparation
● No equivalent time is forced, namely, the predefined strategies for the position controller
optimization are deployed:
● For the path interpolation, the strategy (all equivalent times identical or use MD32895
$MA_DESVAL_DELAY_TIME) was already chosen for the first optimization.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 565
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
Programming
Optimization cycle
Note
In the following program example, those cycle calls required for the reoptimization are
highlighted bold.
Any cycle calls not highlighted are optional.
Special functions
566 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
; Each axis was already optimized once with AST (using the screen forms).
; As a consequence, the standard file for CYCLE752 exists for each axis.
; Axis: Add parameter set 4 to the data set list and overwrite after
optimization.
CYCLE754(myaxiswithnewload,1,1,3)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 567
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
M17
12.6.5 Example 5: Reoptimize the speed control loop to eliminate known periodic
disturbance frequencies.
This example shows how the speed controller from the part program is reoptimized without
new measurement. The objective of the reoptimization is to minimize vulnerability to known
process-related periodic disturbance frequencies. The path interpolation is not reoptimized in
this example because the optimization strategy for the position controller provides a dynamic
customization by setting an equivalent time.
Special functions
568 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
Preparation
In the simplest case, only a speed controller optimization is necessary:
● Select optimization strategy 105 from the user interface:
Programming
DEF INT myAxis=4
; Add axis.
; The optimization data is loaded from the standard optimization file.
; The axis is not considered for an optimization of the path interpolation.
CYCLE752(myAxis,3,false,)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 569
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
CYCLE758(myAxis,209,,,"40.0" )
M17
Special functions
570 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
Preparation
1. Select optimization strategy 109 from the user interface:
Programming
Example of a cycle to measure an axis without optimization:
; Release brake
DEF INT AxNr=1
; For axis 1, the saved data are used from the user-defined file
RESULT_STRATEGY109_AX1.xml.
CYCLE752(AxNr,2,0,"/card/user/sinumerik/hmi/log/optimization/
RESULT_STRATEGY109_AX1.xml")
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 571
T4: Automatic post optimization with AST (option) - only 840D sl
12.6 Examples
M17
Special functions
572 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE01: Installation and activation of loadable compile
cycles 13
Contents
The following sections describe how technology and special functions in the form of individual
loadable compile cycle files (*.ELF) are installed and activated in the control.
Technology and special functions provided by Siemens in the form of compile cycles
New compile cycle files (*.ELF) for Siemens technology and special functions for CNC software
versions as of SW 4.5 can be obtained from your regional Siemens sales office.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 573
TE01: Installation and activation of loadable compile cycles
13.1 Loading compile cycles
Technology and special functions provided by third parties in the form of compile cycles
Compile cycle files (*.ELF) that have been generated for CNC software versions up to SW 4.4
must be adapted and recompiled with the generation environment for CNC software versions
as of SW 4.5. Details on the adaptation of the user-specific technology and special functions
can be found in the the Open Architecture (OA) documentation.
Compile cycles
Compile cycles are functional expansions of the NCK system software that can be created by
the machine manufacturer and/or by Siemens and then imported in the control later.
As part of the open NCK system architecture, compile cycles have comprehensive access to
data and functions of the NCK system level via defined software interfaces. In this way, compile
cycles significantly extend the functionality of the NCK.
Including a compile cycle in the NCK system software is performed by loading the compile
cycle into the file system of the NCK. The compile cycle can be loaded at any time.
Note
Compile cycles created by Siemens are options that require explicit activation and licensing.
References:
Ordering information in Catalog NC 60/61
Requirement
● The compile cycle to be transferred to the control must be saved on a storage medium
which can be directly connected to the control, such as a USB-FlashDrive.
● Access authorization of protection level 1 "Machine manufacturer" (default password
"SUNRISE") must be available.
● If there are no cursor keys on the operator panel, a mouse or keyboard must be connected
in order to perform the operator actions.
Special functions
574 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE01: Installation and activation of loadable compile cycles
13.1 Loading compile cycles
Execution
Perform the following steps to load a compile cycle from a USB-FlashDrive, for example:
1. Insert the USB-FlashDrive in the USB interface on the front of the operator panel.
2. At the user interface, change into the "System data" area:
Horizontal softkey bar: "Operating area switchover" > "Commissioning" > "System data"
3. Open the USB-FlashDrive: Directory "USB" (keyboard: "Enter" key).
4. Select the compile cycle and copy it:
Vertical softkey bar: "Copy"
5. Within the "System data" area, switch into the directory "NC data" > "Compile cycles" and
insert the compile cycle there:
Vertical softkey bar: "Insert"
6. Initiate an NCK reset to activate the compile cycle:
Horizontal softkey bar: "Operating area switchover" > "Commissioning" > "Machine data"
Vertical softkey bar: "Reset (po)"
Precondition
To transfer a compile cycle to the control, the following requirements must be met:
A storage medium (e.g. USB FlashDrive), which stores the compile cycle, is connected to the
PCU.
Execution
Perform the following operation to load a compile cycle from a USB FlashDrive to the NC:
1. Insert the USB FlashDrive into the PCU 50/70.
2. Open the USB FlashDrive as the local drive:
Operating area switchover > Services > Data admin > Local USB
If the "Local USB" is displayed as disabled, it implies the USB FlashDrive was not detected.
Wait until HMI Advanced has detected the USB FlashDrive.
3. Select the compile cycle and copy it:
vertical "Copy" softkey
4. Go to the OEM directory of the NC card:
ETC key (">") > "NC card" > Directory: "cc" or "Loadable Compile Cycles"
5. Add the compile cycle to the NC card's OEM directory:
Vertical "Add" softkey
6. Initiate an NCK reset.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 575
TE01: Installation and activation of loadable compile cycles
13.2 Interface version compatibility
Precondition
To transfer a compile cycle to the control, the following requirements must be met:
● The external computer (programming device / PC) which the compile cycle is loaded onto
is linked to the PCU via a network (TCP / IP).
● The program "WinSCP3" is installed on the external computer.
● The host name or the IP address of the PCU is known.
● The user name and the password to log onto the PCU are known.
Execution
Perform the following operation to load a compile cycle from an external computer into the
NCK:
1. Start the "WinSCP3" program on the external computer (programming device / PC)
2. Establish a connection to the PCU by selecting an appropriate profile or by entering the
host name or IP address, the user name and the password.
3. Copy the compile cycle from the external computer into the following directory on the PCU:
/card/oem/sinumerik/data/cc
The file name of the compile cycle should have any capital letters in the directory of the
PCU.
4. Initiate an NCK reset.
Special functions
576 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE01: Installation and activation of loadable compile cycles
13.2 Interface version compatibility
Interface versions
The relevant interface versions are displayed under:
● Interface version of the NCK system software
HMI Advanced:
Diagnosis > Service Display > Version > NCU Version
Display (excerpt)
-------------------------------------------
CC Interface Version:
@NCKOPI . . . .@Interfaces=<1st digit>.<2nd digit> . . . .
Loaded Compile Cycles:
....
-------------------------------------------
● Interface version of a compile cycle that has not yet been loaded
HMI Advanced (excerpt):
Services > <Medium> > Softkey: "Properties"
Display:
-------------------------------------------
Contents: Loadable compile cycle
Interface: . . . . @Interfaces=<1st digit>.<2nd digit> . . . .
-------------------------------------------
● Interface version of a loaded compile cycle
HMI Advanced:
Diagnosis > Service Display > Version > NCU Version
Display (excerpt)
-------------------------------------------
CC Interface Version:
@NCKOPI . . . .
Loaded Compile Cycles:
<Identifier> <Version> <Generation Data>
CC start address
_N_<Identifier><Version>IF<1st digit><2nd digit>_ELF . . .
-------------------------------------------
Example:
_N_CLC407IF003001_ELF corresponds to interface version: 3.1
Dependencies
The following dependencies exist between the interface versions of a compile cycle and the
NCK system software:
● 1. Position of the interface version number
The 1st digit of the interface version number of a compile cycle and the NCK system
software must be the same .
● 2. Position of the interface version number
The 2nd digit of the interface version number of a compile cycle must be less than or
equal to the 2nd digit of the NCK system software.
Note
If alarm 7200 is displayed after powering-up, this means no compile cycle has been loaded!
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 577
TE01: Installation and activation of loadable compile cycles
13.4 Activating the technological functions in the NCK
Note
The display of code and data range start addresses of a compile cycle are provided for
diagnostics purposes only and have no significance in normal operation.
Requirement
The corresponding option must be enabled before activating a technology function as
described below.
If the option data has not been set, the following alarm appears every time the NCK boots and
the technology function will not be activated:
Alarm 7202 "XXX_ELF_option_bit_missing: <Bit number>"
Special functions
578 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE01: Installation and activation of loadable compile cycles
13.6 Creating alarm texts
$MN_CC_ACTIVE_IN_CHAN_MCSC[0]
$MN_CC_ACTIVE_IN_CHAN_MCSC[1]
CAUTION
SINUMERIK 840D sl
The following alarm is displayed when a bit is set for the first time in the function-specific NCK
machine data:
$MN_CC_ACTIVE_IN_CHAN_XXXX[0]
:
Alarm 4400 "MD modification causes reorganization of the buffered memory (data loss)"
And you are warned that all user data (part programs, tool data, etc.) will be deleted on the
next run-up. If necessary, an archive should be created after setting the date and before
triggering NCK RESET.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 579
TE01: Installation and activation of loadable compile cycles
13.6 Creating alarm texts
Proceed as follows
1. Please copy the "oem_alarms_deu.ts" file from the "/siemens/sinumerik/hmi/template/lng"
directory to the "/oem/sinumerik/hmi/lng" directory.
2. Rename the file ("xxx_deu.ts").
3. Open the file in the editor and add the new alarm number and the new alarm text in German:
<message>
<source>075999/NCK</source>
<translation>
Channel %1 block %2 call parameter is invalid
</translation>
</message>
Note
Each alarm starts with the <message> tag and ends with the </message> tag. The
<source> tag contains the alarm number and the source URL. The <translation> tag
contains the alarm text.
4. To create an alarm text file in a foreign language, copy the just changed file and modify the
language code in the filename (e.g., "xxx_eng.ts for English").
5. Open the foreign language alarm text file in the editor and record the translated alarm text
in the <translation> tag.
6. Please copy the "oem_slaesvcadapconf.xml" file from the "/siemens/sinumerik/hmi/base"
directory to the "/oem/sinumerik/hmi/cfg" directory.
7. Rename the file to "slaesvcadapconf.xml".
8. Open the "slaesvcadapconf.xml" file in the editor and record the new base name (filename
of the newly created alarm text file without language code and postfix), e.g.:
<BaseNames>
<BaseName_02 type="QString" value="xxx"/>
</BaseNames>
9. Restart SINUMERIK Operate.
More information about creating alarm texts with SINUMERIK Operate can be found in:
References:
SINUMERIK 840D sl Base Software and Operating Software Commissioning Manual;
SINUMERIK Operate (IM9) Commissioning Manual, Section: Configuring machine data/alarms
Special functions
580 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE01: Installation and activation of loadable compile cycles
13.7 Upgrading a compile cycle
Proceed as follows
1. Copy the "mbdde.ini" file from the "F:\mmc2" directory to the "F:\oem" directory.
2. Add the following two lines in the "mbdde.ini" file:
[TextFiles]
UserCZYK=F:\oem\alc_
3. Create the language-dependent "alc_XX.com" text files in the "F:\oem" directory, e.g.:
"alc_GR.com" for German
"alc_UK.com" for English
4. Insert the new alarm text in the language-dependent text files, e.g.:
075999 0 0 "Channel %1 Sentence %2 Call parameter is invalid"
in the text file in German.
5. Restart HMI Advanced.
For more information about creating alarm texts with HMI Advanced, please refer to:
References:
SINUMERIK 840Di sl/840D sl/840D Base Software and HMI Advanced Commissioning
Manual; HMI-Advanced (IM4) Commissioning Manual, Section: Configuring user alarms
Note
HMI reinstallation
Retain the added alarm texts in the text files of the F:\oem even after a reinstallation of HMI.
Execution
Perform the following actions to upgrade a compile cycle:
1. Create an NC archive without compile cycles:
Operating area: "Commissioning" > "ETC" key > "Commissioning archive" > "Creating a
commissioning archive" > "OK" >
– Selection: "NC data" selected
– Selection: "with Compile cycles" not selected!
2. Delete the old compile cycle:
Operating area: "Commissioning" > "System data" in the directory: NC data > "Compile
cycles" > file: <Identifier>.ELF
3. Download the new compile cycle (see Section "Loading compile cycles (Page 574)")
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 581
TE01: Installation and activation of loadable compile cycles
13.8 Deleting a compile cycle
4. Initiate a power on reset with an NCK general reset (NCK commissioning switch: position
"1"). See:
References:
Commissioning Manual IBN CNC: NCK, PLC, Drive; Section: General tips > Separate NCK
and PLC general reset > NCK general reset
5. Download the NC archive created under Point 1 into the NCU again.
Operating area: "Commissioning" > "ETC" key > "Commissioning archive" > "Read-in
commissioning archive" > "OK"
Note
Version check
To check the version of the newly loaded compile cycle, see Section "Software version of a
compile cycle (Page 578)"
Several loaded compile cycles
If several compile cycles are loaded in the control, when upgrading a compile cycle according
to the process described above, the other compile cycles remain unchanged.
Newly created data
If the new compile cycle creates new data, which were still not available in the previous version,
then after subsequently booting the control, these are preassigned default values.
Execution
Perform the following actions to delete a compile cycle:
1. Create an NC archive without compile cycles:
Operating area: "Commissioning" > "ETC" key > "Commissioning archive" > "Creating a
commissioning archive" > "OK" >
– Selection: "NC data" selected
– Selection: "with Compile cycles" not selected!
2. Delete the compile cycle:
:Operating area: "Commissioning" > "System data" in the directory: NC data > "Compile
cycles" > File: Select "<Identifier>.ELF" > "Delete"
Special functions
582 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE01: Installation and activation of loadable compile cycles
13.9 Data lists
3. Initiate a power on reset with an NCK general reset (NCK commissioning switch: position
"1"). See:
References:
Commissioning Manual IBN CNC: NCK, PLC, drive; Chapter: General tips > Separate NCK
and PLC general reset > NCK general reset
4. Download the NC archive created under Point 1 into the NCU again.
Operating area: "Commissioning" > "ETC" key > "Commissioning archive" > "Read-in
commissioning archive" > "OK"
Note
Several loaded compile cycles
If several compile cycles are loaded in the control, when deleting a compile cycle according
to the process described above, the other compile cycles remain unchanged.
Efficient memory usage
To use the memory resources in the NCK as efficiently as possible, you should only load the
compile cycles (ELF files) that are actually required into the machine.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 583
TE01: Installation and activation of loadable compile cycles
13.9 Data lists
Special functions
584 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE02: Simulation of Compile Cycles (only HMI
Advanced) 14
14.1 Brief description
14.1.1 Function
If, at the SINUMERIK user interface "HMI Advanced" part programs are simulated that use
compile cycles, depending on the compile cycle being used, general specific conditions must
be established. These are described in the subsequent chapters.
Proceed as follows
1. On the computer, on which HMI Advanced is installed, in addition to the directory available
as standard "<HMI Advanced installation path>/MMC2", create a new directory "<HMI
Advanced installation path>/OEM".
2. In the "OEM" directory, create the file "DPSIM.TEA" with the following content:
$MN_NC_USER_CODE_CONF_NAME_TAB[196]="TRAORI"
$MN_NC_USER_CODE_CONF_NAME_TAB[197]="_TRAORI"
$MN_NC_USER_CODE_CONF_NAME_TAB[198]="TRACON"
$MN_NC_USER_CODE_CONF_NAME_TAB[199]="_TRACON"
CHANDATA(1)
$MC_AXCONF_GEOAX_ASSIGN_TAB[0]=1
$MC_AXCONF_GEOAX_ASSIGN_TAB[1]=2
$MC_AXCONF_GEOAX_ASSIGN_TAB[2]=3
$MC_TRAFO_RESET_VALUE=0
; Make sure that transformation types 4096 - 4101 are deleted
$MC_TRAFO_TYPE_1=0
$MC_TRAFO_TYPE_2=0
$MC_TRAFO_TYPE_3=0
; Delete transformation chains with OEM transformations
$MC_TRACON_CHAIN_1[0]=0
$MC_TRACON_CHAIN_1[1]=0
; NOTICE! No spaces after M30
M30
3. In the "OEM" directory, create the file "DPSIM.INI" with the following content:
[PRELOAD]
CYCLES=1
CYCLEINTERFACE=0
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 585
TE02: Simulation of Compile Cycles (only HMI Advanced)
14.2 OEM transformations
Special functions
586 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only 15
15.1 Brief description
Function description
The "clearance control" technological function is used to maintain a one-dimensional (1D) or
three-dimensional (3D) clearance required for technological reasons during a defined
machining process. The clearance to be maintained may be e.g. the distance of a tool from
the workpiece surface to be machined.
Function code
The code for the "clearance control" technological function for function-specific identifiers of
program commands, machine data, etc. is:
CLC = Clearance Control
Function restriction
The "clearance control" technological function is only available in the first NC channel, even
on controls with more than one NC channel. This means:
● Only channel axes in the first NC channel may be used as clearance-controlled axes.
● CLC part program commands for the clearance control may only be used in part programs
processed in the first NC channel.
Note
The "clearance control" technological function is only available in the first NC channel!
Availability
The "clearance control" technological function is available in SINUMERIK 840D sl.
Compile cycle
The "clearance control" technological function is a compile cycle.
For a description of the system-specific availability and use of compile cycles (see Section
"TE01: Installation and activation of loadable compile cycles (Page 573)").
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 587
TE1: Clearance control - 840D sl only
15.1 Brief description
Laser cutting
During laser cutting, a divergent parallel laser beam is directed across a fiber-optic cable or
via a mirror to a light-collecting lens mounted on the laser machining head. The collecting lens
focuses the laser beam at its focal point. Typical focal lengths are from 5 to 20 cm.
The position of the focal point in relation to the workpiece is an extremely critical process
parameter in laser cutting operations and must be kept constant within a tolerance of ≤100 µm.
The distance between the focal point and the workpiece, which is also a key process variable,
is usually measured by means of a high-speed capacitive clearance sensor. The analog output
voltage of the clearance sensor is approximately proportional to the distance between the
sensor and the workpiece surface.
The output voltage of the clearance sensor is transmitted as a digital input value via an analog
I/O module to the control where, in the event of deviations from the setpoint clearance, it
generates an additional velocity setpoint for the machining head motion axes.
6,180(5,.b'bVOZLWK 6,0$7,&(76,2
6,1$0,&66
1&8 352),%86'3
/DVHU
<
0DFKLQLQJKHDG ;
ZLWK
&OHDUDQFHVHQVRU
= 0RWLRQD[HV;DQG<
&OHDUDQFHFRQWUROD[LV=
&OHDUDQFHWR
EHFRQWUROOHG
:RUNSLHFHVXUIDFH
Figure 15-1 System components for clearance control with SINUMERIK 840D sl
Special functions
588 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.2 Clearance control
1D/ 3D machining
Clearance control can be used for 1D and 3D machining with up to five interpolatory axes.
● 1D machining
For the 1D machining, only one axis is affected by the clearance control. For example, axis
Z, as shown in the machine configuration described in the system overview (see previous
figure). Clearance control acts only in the direction of the Z axis.
● 3D machining
3 linear axes are used to position the tool. One or two rotary axes are used for the orientation
of the tool vector (5-axis machining). Up to 3 linear axes are controlled by the clearance
control. The direction of the compensation movement can be defined either in the direction:
– of the tool orientation vector (normal case)
– of the programmable compensation vector
9HORFLW\>PPLQ@ >PPLQ@
.9 LQ> @
)ROORZLQJHUURU>PP@ >PP@
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 589
TE1: Clearance control - 840D sl only
15.2 Clearance control
8DFW
Figure 15-2 Correlation between characteristics: Clearance sensor and clearance control
● The clearance sensor measures the actual distance from the workpiece surface and returns
as its output variable a voltage in [V], which is almost directly proportional to the distance.
● The clearance control function uses the parameterized voltage/velocity characteristic from
the voltage provided by the clearance sensor to calculate a compensatory velocity for the
clearance-controlled axes that is appropriate for the clearance.
From the point of view of the control, the unit for the closed-loop control gain is [(mm/min)/V].
In the same way as the setpoint clearance in standardized in [mm], values can only be
standardized in [(mm/min)/mm] by using the sensor electronics.
Special functions
590 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.2 Clearance control
The influencing variables together produce an effective time constant. A closed-loop control
gain set too high based on this time constant will induce natural oscillations in the range of
several hertz in the axis/axes to be controlled.
The objective when starting up the clearance control is to minimize important time constants
so that the closed-loop control gain required by the process can be set without inducing natural
oscillation of this type.
Dead time
In order to maximize the dynamics of the control response, clearance control takes place on
the highest priority position controller level of the NCK.
SINUMERIK 840D sl with I/O modules and drives connected via PROFIBUS DP produces a
deadtime Tdead of:
Tdead = 2 * position controller cycle + 2 * speed controller cycle + input lead time Ti
:LWK˂W
.9
PPLQ PPV
.9LQ > @ > @ > @
PP PP V
for an assumed loop control gain KV = 4, the corresponding delay time Δt is:
˂W PV
> @
V
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 591
TE1: Clearance control - 840D sl only
15.2 Clearance control
The speed filters of the SINAMICS S120 drive provide additional damping capabilities:
● Parameter 1414 and following: (time constant for speed setpoint filter 1, 2)
Note
Every damping measure implemented contributes to increasing the overall time constant
of the control loop!
You will find a complete description of the velocity feedforward control in:
References
Function Manual, Extended Functions; Compensation (K3),
Chapter: Following error compensation (feedforward control)
6,180(5,.1&
,QWHUSRODWRU 3RVLWLRQFRQWUROOHU
1&.,2V
&OHDUDQFHFRQWURO
$'FRQYHUVLRQ
6HQVRU
HOHFWURQLFV
9HORFLW\ 3RVLWLRQ
FRPSRQHQW FRPSRQHQW
/DVHU
9HORFLW\IHHGIRU
<
,QWHUSRODWLRQ 9HORFLW\= )LQH ZDUGFRQWURO 0DFKLQLQJKHDG
-HUN
SDWKDQG LQWHUSROD ZLWKFOHDUDQFH
ILOWHU ;
RULHQWDWLRQ WLRQ VHQVRU
3RVLWLRQ= =
'ULYH= (QFRGHU=
3 3,
0
0RWRU=
3RVLWLRQFRQWUROOHU.Y 6SHHGFRQWUROOHU
Figure 15-3 Control structure, position controller with clearance control (principle)
Special functions
592 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.2 Clearance control
&OHDUDQFHFRQWURO
0'0&B&/&B$1$/2*B,1
,QWHUSRODWRU 3RVLWLRQFRQWUROOHU
6HQVRUFKDUDFWHULVWLF
&/&B6(/
0'[0&B&/&B6(1625B92/7$*(B7$%/(B\
/LPLWDWLRQV 0'[0&B&/&B6(1625B9(/2B7$%/(B\
&/&B/,0
0'0&B&/&B6(1625B/2:(5B/,0,7>[@
0'0&B&/&B6(1625B833(5B/,0,7>[@
$B,1$>[@
&DOFXODWLRQRIWKHD[LDO 0'0&B&/&B6(1625B9(/2B/,0,7
FRPSRQHQWVEDVHGRQWKH 0'0&B&/&B6(1625B$&&(/B/,0,7
FXUUHQWWRRORULHQWDWLRQ
&DOFXODWLRQRIWKHFRPSR
QHQWVRI
GLVWDQFH
YHORFLW\ &RPSR &/&B*$,1
&/&B92))
DFFHOHUDWLRQUHPDLQLQJIRU QHQW RU
FOHDUDQFHFRQWURO =D[LV $B287>Q@
0'0&B
$B287>Q@DQG>P@
&/&B2))6(7B
0'0&B&/&B/2&.B $66,*1B$1$287
',5B$66,*1B',*287>[@ ,
9HORFLW\FRPSRQHQW 3RVLWLRQFRPSRQHQW
SURJUDPPHGLQV\QFKURQL]HGDFWLRQRUSDUWSURJUDP
&RPSHQVDWLRQYHFWRU
=
<
;
7&3 7RRO&HQWHU3RLQW
:RUNSLHFHVXUIDFH % 0DFKLQLQJSRLQW
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 593
TE1: Clearance control - 840D sl only
15.2 Clearance control
Note
In all the figures in this section, the traversing movement of the machining head needed in
order to machine the workpiece is in the direction of the Y coordinate, i.e. perpendicular to the
drawing plane.
As long as the tool orientation, and hence the compensation vector, is perpendicular to the
workpiece surface, no disadvantage for the machining process results from the compensation
movements of the clearance control.
If a tool setting angle is needed for technological reasons, with the result that the tool orientation
is no longer perpendicular to the workpiece surface, the machining point on the workpiece
surface is shifted during compensation movements of the clearance control along the standard
compensation vector.
7RROVHWWLQJDQJOH
=
D
<
; &RPSHQVDWLRQYHFWRU
7&33URJ
:RUNSLHFHVXUIDFHVHWSRLQW
6HWDFWXDOGLVFUHSDQF\
.=
7&3&/&
.;
:RUNSLHFHVXUIDFHDFWXDO %VHWSRLQW %DFWXDO
0DFKLQLQJSRLQW
VKLIW
The reason for the shift in the machining point is the X component (KX) of the compensation
vector parallel to the workpiece surface. The TCP of the tool, and thus the machining point B,
is shifted by this amount.
Special functions
594 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.2 Clearance control
=
<
;
7&33URJ
&RPSHQVDWLRQYHFWRU
SURJUDPPHG
:RUNSLHFHVXUIDFHVHWSRLQW
GLVFUHSDQF\
6HWDFWXDO
7&3&/&
Changes in orientation
Based on the above observations, a different behavior also results when the orientation of the
machining head is changed while the clearance control is active.
In the following diagram the normal case is shown on the left (compensation vector == tool
orientation vector); and the case with the programmed compensation vector is shown on the
right.
=
<
;
&RPSHQVDWLRQYHFWRU
WRRORULHQWDWLRQYHFWRU &RPSHQVDWLRQYHFWRU
SURJUDPPHG
7&33URJ 7&33URJ
GLVFUHSDQF\
6HWDFWXDO
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 595
TE1: Clearance control - 840D sl only
15.3 Technological features of clearance control
Special functions
596 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.4 Sensor collision monitoring
Sensor signal
If the clearance sensor used has an additional "sensor collision" signal for detecting a collision
between the sensor and the workpiece being machined, this signal can be made available to
the clearance control function via a digital NCK peripheral input.
In response to this signal, the clearance control function applies a retraction motion in all
clearance-controlled axes. The retraction motion is executed independently of the current
value of the velocity override with maximum traversing velocity in a positive control direction
until the currently valid upper limit of the control range is reached. Path motion is stopped
simultaneously.
Once all traversing movements have come to a standstill, part program processing can be
resumed with NC START.
Parameterization
The digital peripheral input, which the "sensor collision" signal is wired to, is assigned to the
clearance control function via the following machine data:
MD62504 $MC_CLC_SENSOR_TOUCHED_INPUT (digital peripheral input for "sensor
collision" signal)
The digital peripheral input is specified by entering the input number in the same way as $A_IN/
$A_OUT digital I/O peripheral system variables are specified ($A_IN[input number]).
If a negative input number is entered, the "sensor collision" signal will be processed with
internal inversion by the clearance control function (fail safe method).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 597
TE1: Clearance control - 840D sl only
15.5 Startup
15.5 Startup
Compile cycle
Before commissioning the technological function, ensure that the corresponding compile cycle
has been loaded and activated (see Section "TE01: Installation and activation of loadable
compile cycles (Page 573)").
Note
The technological function can be activated for several channels simultaneously.
Special functions
598 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.5 Startup
Analog input
The following machine data must be parameterized for the analog input:
● MD10300 $MN_FASTIO_ANA_NUM_INPUTS (number of active analog NCK inputs)
● MD10362 $MN_HW_ASSIGN_ANA_FASTIN (per analog module) (hardware assignment
for the fast analog NCK inputs)
Specifying the physical address activates the analog input module
Digital input
The following machine data must be parameterized for the digital input:
● MD10350 $MN_FASTIO_DIG_NUM_INPUTS (number of active digital NCK input bytes)
● MD10366 $MN_HW_ASSIGN_DIG_FASTIN (per digital module) (hardware assignment for
the external digital NCK inputs)
Specifying the physical address activates the digital input module.
A complete description of the analog and digital inputs appears in:
References:
Function Manual, Extended Functions, Digital and Analog NCK I/Os (A4)
Direction axes
The direction axes must meet the following conditions:
1. The direction axes must be channel axes of the channel in which the clearance control is
activated.
2. The direction axes must be linear axes.
Note:
Since the direction axes are only used to interpolate the direction components, they do not
need mechanical axes and can therefore be configured as simulation axes.
3. [mm] or [inch] must be selected as the unit of measurement for the direction axes.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 599
TE1: Clearance control - 840D sl only
15.5 Startup
4. The direction axes may not participate in an axis coupling, e.g. transformation, electronic
gear, etc.
5. To ensure that the dynamic response of the path is not limited by the dynamic response of
the direction axes, the following machine data for the direction axes must be set equal to
or more than the corresponding values of the geometry axes of the channel:
– MD32000 $MA_MAX_AX_VELO[x] (maximum axle velocity)
– MD32200 $MA_POSCTRL_GAIN[x] (Kv factor)
– MD32230 $MA_MAX_AX_ACCEL[x] (position controller structure configuration)
x = axle number
The following machine data is used to specify which channel axis is the direction axis:
● MD62528 $MC_CLC_PROG_ORI_AX_MASK (progr. orientation vector: axis mask)
Each machine data bit corresponds to a channel axis.
&KDQQHOD[LV
&KDQQHOD[LV
Special functions
600 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.5 Startup
Input signals
The clearance sensor input signals parameterized above are made known to the clearance
control function with the following machine data (see also Section "Parameter settings for input
signals (840D sl) (Page 598)"):
● MD62502 $MN_CLC_ANALOG_IN = <n> (analog input for the clearance control)
<n= input number, analog to the addressing of the system variables $A_INA[<n>]
● MD62504 $MN_CLC_SENSOR_TOUCHED_INPUT = <n> (assignment of an input bit for
the "sensor collision" signal)
<n= input number, analog to the addressing of the system variables $A_IN[<n>]
Exact stop
In order to be able to meet a programmed "Exact stop coarse/fine reached" block change
condition (G601/G602), the traversing velocity induced by the clearance control function in the
clearance-controlled axes must be lower than the standstill velocity tolerance at least for the
duration of the standstill delay time.
The following machine data must be modified to optimize the block change time:
● MD36000 $MA_STOP_LIMIT_COARSE[<x>] (exact stop coarse)
● MD36010 $MA_STOP_LIMIT_FINE[<x>] (exact stop fine)
● MD36020 $MA_POSITIONING_TIME[<x>] (delay time exact stop fine)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 601
TE1: Clearance control - 840D sl only
15.5 Startup
Clearance sensor
The clearance sensor outputs should be connected to the I/O modules that were activated
using the following machine data:
● MD10362 $MN_HW_ASSIGN_ANA_FASTIN (I/O address of the I/O module) (hardware
assignment of the fast analog NCK inputs)
● MD10366 $MN_HW_ASSIGN_DIG_FASTIN (I/O address of the I/O module) (hardware
assignment of the external digital NCK inputs)
(See also Section " "Supplementary conditions > I/O modules (Page 621)").
Program code
N100 $AC_TIMER[1]=2.5
N110 ID = 1 EVERY $AC_TIMER[1] >= 2.5 DO $AC__TIMER[1]=0
N120 ID = 2 WHENEVER $AC_TIMER[1] < 2.0 DO $A_OUTA[6] = 100000.0 *
($AC_TIMER[1] - 1.0)
N130 ID = 3 WHENEVER $AC_TIMER[1] >= 2.0 DO $A_OUTA[6] = 0.0
2XWSXWYROWDJH>9@
7LPH>V@
Special functions
602 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.5 Startup
The voltage specification for the analog output $A_OUTA[6] used in the synchronized action
is subtracted from the clearance sensor input voltage by the clearance control function and
therefore has the opposite polarity to the input signal.
Set the following machine data to induce the clearance control function to use analog output
6 ($A_OUTA[6]) as an additional input overlaid on the sensor input:
MD62522 $MN_CLC_OFFSET_ASSIGN_ANAOUT = 6 (hardware assignment of the external
digital NCK inputs)
Note
Before the clearance control function is activated for the first time, check that the entire working
range enabled for clearance control is collision-free:
● MD62505 $MC_CLC_SENSOR_LOWER_LIMIT (lower clearance control motion limit)
● MD62506 $MC_CLC_SENSOR_UPPER_LIMIT (upper clearance control motion limit)
An incorrect control direction can be corrected using one of the following methods:
● Reversing the polarity of the analog input
● Changing the sign of all values in the following machine data:
– MD62511 $MC_CLC_SENSOR_VELO_TABLE_1 (coordinate velocity of interpolation
points sensor characteristic 1)
– MD62513 $MC_CLC_SENSOR_VELO_TABLE_2 (coordinate velocity of interpolation
points sensor characteristic 2)
Sensor signal
Signal quality
The quality of the analog input signal can be checked using the function-specific display data
(see Chapter "Function-specific display data (Page 617)").
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 603
TE1: Clearance control - 840D sl only
15.6 Programming
Completion
A data backup is recommended once the start-up procedure has been completed.
References:
Commissioning Manual IBN CNC: NCK, PLC, drive
Note
A data backup is recommended once the start-up procedure has been completed.
15.6 Programming
Syntax
CLC(Mode)
Mode
● Format: Integer
● Range of values: -1, 0, 1, 2, 3
CLC(...) is a procedure call and must therefore be programmed in a dedicated part program
block.
Functionality
The following modes are available for activating/ deactivating clearance control:
● CLC(1)
Activation of the clearance control with compensation vector in the direction of the tool
orientation
The evaluation of the sensor collision signal is deactivated.
● CLC(2)
Activation of the clearance control with compensation vector in the direction of the tool
orientation
The evaluation of the sensor collision signal is activated.
● CLC(3)
Activation of the clearance control with programmed compensation vector
The evaluation of the sensor collision signal is deactivated.
Special functions
604 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.6 Programming
● CLC(0)
Deactivation of clearance control without canceling the position offset.
If the clearance-controlled axes are still moving at the instant of deactivation due to the
sensor signal, they are stopped. The workpiece coordinate system (WCS) is then
synchronized with the corresponding standstill positions. An automatic preprocessing stop
is executed.
● CLC(-1)
Deactivation of clearance control with cancellation of the position offset
If the clearance-controlled axes are still moving at the instant of deactivation due to the
sensor signal, they are stopped. A position offset to the last programmed position is
canceled automatically with the deactivation command.
RESET behavior
CLC(0) is executed implicitly on a reset (NC RESET or end of program).
CAUTION
Clearance control
The channel-specific NCK OEM machine data MD62524 is only effective in conjunction
with a 1D clearance control function.
For 3D clearance control, CLC(0) is always effective in the event of a RESET.
Boundary conditions
Please note the following supplementary conditions:
Continuous-path mode
Activating/ deactivating clearance control (CLC(mode)) during active continuous-path mode
(G64/G64x) will induce a drop in velocity for path motions. To avoid voltage drops of this type,
clearance control must be activated before a path section with constant path velocity. During
the corresponding path section, if necessary, clearance control can be blocked and then re-
enabled via the programmed gain factor for clearance control (CLC_GAIN).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 605
TE1: Clearance control - 840D sl only
15.6 Programming
Special functions
606 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.6 Programming
Compensation vector
Actual position of the direction axes
If the clearance control is activated with a programmable compensation vector at a position of
0 on all 3 direction axes, a compensation vector cannot be calculated from this information.
The following alarm is then displayed:
● Alarm "75019 Channel number, error ID: 1, angle 0.0"
Referencing of the direction axes
The direction axes must be referenced before clearance control is activated with
programmable compensation vector CLC(3).
Interface signals of the direction axes
The following interface signals must be set for all 3 direction axes by the PLC user program,
before clearance control is activated with programmable compensation vector CLC(3).
● DBX31, … DBX1.5 = 1 (position measuring system 1)
● DBX31, … DBX2.1 = 1 (servo enable)
● DBX31, … DBX21.7 = 1 (pulse enable)
x = axle number
Switchover of clearance control
Direct switchover of clearance control from CLC(1) or CLC(2) to CLC(3) or vice-versa is not
possible. Such switchovers are ignored without a checkback message. If a switchover is
necessary, the clearance control must first be deactivated with CLC(0) or CLC(-1) and then
activated in the desired mode.
Interpolation of the compensation vector
If the compensation vector is required to follow a non-linear workpiece surface, such as an
arc, with respect to its orientation, this can be achieved by programming the direction axes.
Example
Orientation of the compensation vector perpendicular to a semi-circular workpiece surface.
The programming of the traversing movement is not considered.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 607
TE1: Clearance control - 840D sl only
15.6 Programming
=
< &RPSHQVDWLRQYHFWRU >@
;
1 1
The compensation vector must be oriented by programming the direction axes at [1, 0, 0]
before part program block N100. In part program block N100, the end position of the
compensation vector is oriented by programming the direction axes at [0, 0, -1].
The intermediate values are generated by path interpolation of all axes programmed in the
part program block:
● Geometry axes for the movement of the machining head
● Direction axes of the compensation vector
It is necessary to break the movement down into part program blocks N100 and N200, because
an antiparallel orientation of the compensation vector of [1, 0, 0] at the start of the movement
and [-1, 0, 0] at the end of the movement (semi-circle) would otherwise result. In this case, the
interpolator would interpolate only the X coordinate of the compensation vector, and the
orientation of the compensation vector would remain unchanged.
Antiparallel orientation of the compensation vector
When an antiparallel orientation of the compensation vector is programmed in a part program
block, the following alarm is displayed:
● Alarm "75018 Channel number Block number CLC in programmable direction, error ID: 1"
Note
Interpolation of the compensation vector
The interpolation of the compensation vector is not a genuine vector interpolation, as
described above, but results from the interpolation of the actual positions of the direction
axes.
Consequently, if the compensation vector changes due to the workpiece contour, the
interpolation of the direction axes is included in the path interpolation of the geometry axes. In
order to minimize the impact of the direction axes on the path interpolation, it is recommended
to configure the dynamic response of the direction axes at least equal to or greater (by a factor
of approx. 10) than the dynamic response of the geometry axes.
Special functions
608 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.6 Programming
In the case of a re-orientation (rotation) of the compensation vector, it is also necessary to note
the ratio between the programmed traversing path and the configured dynamic response of
the direction axes. The ratio should be chosen such that the programmed traversing path is
not traversed in one or a small number of interpolation cycles, due to the dynamic response
of the axis. This causes heavy loads on the machine and, in certain circumstances, may trigger
axial alarms and abort part program execution.
Example
Rotation of the compensation vector and thus the machining head through 90°:
● Initial orientation: Parallel to coordinate axis X
● Target orientation: Parallel to coordinate axis Y
Bad programming of re-orientation:
● [1, 0, 0] → [0, 1, 0]
Good programming of re-orientation:
● [100, 0, 0] → [0, 100, 0]
Rotation of the workpiece coordinate system
As described above, the compensation vector always refers to the basic coordinate system
(machine coordinate system). If the workpiece coordinate system (rotation, mirroring) is
transformed to machine a workpiece in such a way that the coordinate axes of both coordinate
systems are no longer parallel with the same orientation, a corresponding transformation must
be carried out for the compensation vector.
CAUTION
Unequal orientation
If the workpiece coordinate system is transformed such that the coordinate axes of the basic
and workpiece coordinate systems are no longer parallel with the same orientation, it is the
sole responsibility of the user to ensure that an appropriate transformation of the
compensation vector is carried out.
Syntax
CLC_GAIN = Factor
Factor
● Format: Real
● Range of values: y 0.0
CLC_GAIN is an NC address and can therefore be written together with other instructions in
a part program block.
When a negative factor is programmed, the absolute value is used without an alarm output.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 609
TE1: Clearance control - 840D sl only
15.6 Programming
Functionality
The current closed-loop control gain for clearance control is produced by the active
characteristic specified via machine data:
● MD62510 $MC_CLC_SENSOR_VOLTAGE_TABLE1 (coordinate voltage of interpolation
points sensor characteristic 1)
● MD62511 $MC_CLC_SENSOR_VELO_TABLE1 (coordinate velocity of interpolation points
sensor characteristic 1)
or
● MD62512 $MC_CLC_SENSOR_VOLTAGE_TABLE2 (coordinate voltage of interpolation
points sensor characteristic 2)
● MD62513 $MC_CLC_SENSOR_VELO_TABLE2 (coordinate velocity of interpolation points
sensor characteristic 2)
CLC_GAIN can be used to multiply the closed-loop control gain of the characteristic by a
programmable factor.
NOTICE
Imprecise characteristic
Increasing the gain (CLC_GAIN > 1.0) may lead to oscillation in the controlled axes!
Instant of activation
The modified closed-loop control gain is effective in the part program block in which CLC_GAIN
has been programmed or, if this block does not contain any executable instructions, in the next
part program block with executable instructions.
Response to CLC_GAIN=0.0
If the closed-loop control gain for clearance control is deactivated with CLC_GAIN=0.0, the
CLC position offset present at the time of deactivation is retained and is not changed. This can
be used for example when laser-cutting sheet steel to "skip over" sections of sheet that are
not to be machined without foundering.
If the tool orientation is changed when 3D clearance control is active and the closed-loop
control gain has been deactivated (CLC_GAIN=0.0), the CLC offset vector is rotated
simultaneously. This generally induces an offset in the CLC operating point on the workpiece
surface (see following diagram).
Special functions
610 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.6 Programming
&/& &/&RIIVHW
RIIVHWYHFWRU &KDQJLQJWKHWRRORULHQWDWLRQ YHFWRU
ZKHQ&/&B*$,1
:RUNLQJSRLQWVKLIW
RQWKHZRUNSLHFHVXUIDFH
3DWKZLWKDFWLYH
FOHDUDQFHFRQWURO
:RUNSLHFHVXUIDFHDFW
W
H
IIV
R
LRQ
3URJUDPPHGSDWK
VLW
SR
&
&/
:RUNSLHFHVXUIDFHVHW
Reset
Within a part program, a modified gain factor must be reset by means of explicitly programming
CLC_GAIN=1.0.
RESET behavior
CLC_GAIN=1.0 becomes effective after a power on reset, NC RESET or end of program.
Syntax
CLC_LIM(lower limit, upper limit)
Lower limit, upper limit
Format and value range as machine data:
● MD62505 $MC_CLC_SENSOR_LOWER_LIMIT[n] (lower clearance control motion limit)
● MD62506 $MC_CLC_SENSOR_UPPER_LIMIT[n] (upper clearance control motion limit)
CLC_LIM(...) is a procedure call and must therefore be programmed in a dedicated part
program block.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 611
TE1: Clearance control - 840D sl only
15.6 Programming
Functionality
The maximum control range for clearance control can be modified on a block-specific basis
using CLC_LIM. The maximum programmable lower/upper limit is limited by the limit value
preset in the relevant machine data:
● MD62505 $MC_CLC_SENSOR_LOWER_LIMIT[1] (lower clearance control motion limit)
● MD62506 $MC_CLC_SENSOR_UPPER_LIMIT[1] (upper clearance control motion limit)
&RQWUROUDQJH
0'>@
0D[SURJUDPPDEOHXSSHUOLPLW
0'>@
3URJUDPPDEOHUDQJH
8SSHUEDVLFVHWWLQJOLPLW
5HIHUHQFH
0'>@ SRVLWLRQ
/RZHUEDVLFVHWWLQJOLPLW
0'>@
0D[SURJUDPPDEOHORZHUOLPLW
&RQWUROUDQJH
Figure 15-12 Value range limits for lower and upper limit
The control range limit is effective in relation to the current programmed setpoint position of
the axis. If the limits are changed so that the actual position is located outside the limit, the
clearance control automatically effects travel back to the limit range.
Reset
Within a part program, a modified control range limit can be reset by explicitly programming
CLC_LIM without a "CLC_LIM( )" argument. This reapplies the limits from the following
machine data:
● MD62505 $MC_CLC_SENSOR_LOWER_LIMIT[0] (lower clearance control motion limit)
● MD62506 $MC_CLC_SENSOR_UPPER_LIMIT[0] (upper clearance control motion limit)
RESET response
The default setting from the above-mentioned machine data becomes effective after power on
reset, NC RESET and end of program.
Special functions
612 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.6 Programming
Error messages
The following programming errors are displayed with an alarm:
● Programming more than 2 arguments
– CLC alarm "75005 Channel number Block number CLC_LIM: general programming
error"
● Programming arguments outside the permissible limits
– CLC alarm "750010 Channel number Block number CLC_LIM Value greater than MD
limit"
Syntax
$A_OUT[number] = enabling signal
Number
Number of the parameterized digital output (see "Parameter Assignment" section)
● Format: Integer
● Range of values: 1, 2, . . . max. number of digital outputs
Enabling signal
Invertable enable signal (see "Parameter Assignment" section)
● Format: Integer
● Range of values: 0, 1
System variable $A_OUT[n] can be set block-synchronously in the part program or
asynchronously via synchronized actions.
Functionality
Parameterizable digital outputs (system variable $A_OUT) can be used for direction-
dependent disabling of the traversing motion (manipulated variable) induced via clearance
control. As long as e.g. the negative traversing direction is disabled, the clearance-controlled
axes will only travel in a positive direction due to the sensor signal.
This can be used for example when laser-cutting sheet steel to "skip over" sections of sheet
that are not to be machined without foundering.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 613
TE1: Clearance control - 840D sl only
15.6 Programming
Parameterization
The following machine data is used to parameterize the digital outputs:
● MD62523 $MC_CLC_LOCK_DIR_ASSIGN_DIGOUT[n] (assignment of the digital outputs
for disabling the CLC movement)
n = 0 → Digital output for disabling the negative traversing direction
n = 1 → Digital output for disabling the positive traversing direction
Example
The following digital outputs are to be used:
● $A_OUT[3] to disable the negative traversing direction
● $A_OUT[4] to disable the positive traversing direction
Parameter settings in the machine data:
● MD62523 $MC_CLC_LOCK_DIR_ASSIGN_DIGOUT[0] = 3 (assignment of the digital
outputs for disabling the CLC movement)
● MD62523 $MC_CLC_LOCK_DIR_ASSIGN_DIGOUT[1] = 4
Effect:
● $A_OUT[3] = 0 → Negative traversing direction enabled
● $A_OUT[3] = 1 → Negative traversing direction disabled
● $A_OUT[4] = 0 → Positive traversing direction enabled
● $A_OUT[4] = 1 → Positive traversing direction disabled
Special functions
614 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.6 Programming
Syntax
CLC_VOFF = Voltage offset
Voltage offset
● Format: Real
● Unit: Volts
● Range of values: No restrictions
CLC_VOFF is an NC address and can therefore be written together with other instructions in
a part program block.
Functionality
CLC_VOFF can be used to preset a constant voltage offset for clearance control, which is
subtracted from the input voltage of the clearance sensor. The programmed voltage offset
therefore changes the setpoint distance between the workpiece and the clearance sensor or
offsets the operating point for clearance control.
The quantitative effect of the voltage offset is dependent on the additional parameters for
clearance control and can therefore not be standardized in a generally valid format.
Instant of activation
The voltage offset is effective in the part program block in which CLC_VOFF has been
programmed or, if this block does not contain any executable instructions, in the next part
program block with executable instructions.
Reset
Within a part program, a voltage offset must be reset by means of explicitly programming
CLC_VOFF=0.0.
RESET response
CLC_VOFF =0.0 becomes effective after a power on reset, NC RESET or end of program.
Syntax
$A_OUTA[number] = Voltage offset
Number
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 615
TE1: Clearance control - 840D sl only
15.6 Programming
Functionality
A parameterizable output (system variable $A_OUTA) can be used to apply a voltage offset
for clearance control, which, like CLC_OFF, is subtracted from the input voltage of the
clearance sensor.
The voltage offset can be modified in the interpolator clock cycle by programming the analog
output within a synchronized action.
Parameterization
The following machine data is used to parameterize the analog output:
MD62522 $MC_CLC_OFFSET_ASSIGN_ANAOUT (modification of the setpoint distance by
means of sensor signal override)
Example
An external voltage Uext is present at analog input $A_INA[3], which is to be overlaid on the
sensor voltage as a continuously variable voltage offset e.g. for test or start-up purposes.
$A_OUTA[2] is used as an analog output for the clearance control voltage offset.
Parameter setting for the analog output for clearance control voltage offset:
MD62522 $MC_CLC_OFFSET_ASSIGN_ANAOUT = 2 (modification of the setpoint distance
by means of sensor signal override)
The analog input $A_INA[3] is assigned to the clearance control analog output $A_OUTA[2]
within a synchronized action:
ID=1 DO $A_OUTA[2] = $A_INA[3]
Syntax
CLC_SEL(characteristic number)
Characteristic number
● Format: Integer
● Range of values: 1, 2
Special functions
616 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.7 Function-specific display data
Functionality
CLC_SEL can be used to switch between the sensor characteristics defined in the machine
data.
● Characteristic 1:
– MD62510 $MC_CLC_SENSOR_VOLTAGE_TABLE_1 (coordinate voltage of
interpolation points sensor characteristic 1)
– MD62511 $MC_CLC_SENSOR_VELO_TABLE_1 (coordinate velocity of interpolation
points sensor characteristic 1)
● Characteristic 2:
– MD62512 $MC_CLC_SENSOR_VOLTAGE_TABLE_2 (coordinate voltage of
interpolation points sensor characteristic 2)
– MD62513 $MC_CLC_SENSOR_VELO_TABLE_2 (coordinate velocity of interpolation
points sensor characteristic 2)
RESET response
Characteristic 1 becomes effective after a power on reset, NC RESET or end of program.
Possible applications
Application options for display data include for example:
● Determination of form variances and transient control errors via the variables for the
maximum and minimum position offset/sensor voltage.
● Determination of the voltage noise detected by the A/D converter via the variables for the
maximum and minimum sensor input voltage. This requires a constant clearance between
the clearance sensor and the workpiece surface and the deactivation of clearance control
via CLC_GAIN = 0.0.
The minimum and maximum values are detected in the position controller cycle.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 617
TE1: Clearance control - 840D sl only
15.7 Function-specific display data
Types of variable
The display data is available both as channel-specific GUD (Global User Data) variables and
as OPI variables.
Once the technological function has been started up successfully, the GUD variables listed
are not displayed automatically on the HMI interface.
Special functions
618 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.7 Function-specific display data
SINUMERIK Operate
Proceed as follows to create and display the GUD variables for SINUMERIK Operate.
1. Setting the password
Enter the password for protection level 1: (machine manufacturer).
2. If no SGUD.DEF file is yet available:
Operating area switchover > Commissioning > System data > Open NC data directory: Set
cursor to definitions > New...
● Name: SGUD
● Type: DEF
Confirm with OK.
This opens the file in the editor.
1. Edit the GUD variable definitions
DEF CHAN REAL CLC_DISTANCE[3] ; Array of real, 3 elements
DEF CHAN REAL CLC_VOLTAGE[3] ; Array of real, 3 elements
M30
2. Save the file and close the editor.
3. Activate the SGUD.DEF file.
The GUD variables for clearance control are now displayed under:
Operating area switchover > Parameters > User variables > GUD channel
SINUMERIK NCK
The new GUD variables, which are already being displayed, will only be detected by the
clearance control function and supplied with up-to-date values following an NCK POWER ON
RESET.
Note
Once the GUD variables have been created, an NCK POWER ON RESET must be carried
out in order for the clearance control function to update the GUD variables.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 619
TE1: Clearance control - 840D sl only
15.7 Function-specific display data
OPI variables still have to be registered or defined in the system in order that they can be
accessed.
Using LinkItem
In order to use the OPI variables in a DDE control, the "LinkItem" property of the DDE control
must be set in accordance with the following example:
label1.LinkItem = "CLC[u1,1,9](" "!d%15.4lf" ")"
The format string can be modified if necessary.
Special functions
620 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.9 Supplementary conditions
The following code lines provide an example of how the variables supplied by means of NCDDE
access can be distributed on a field of labels:
FOR i = 0 To 8
label2.Caption[i] = Trim$(Mid$(label1.Caption, 1+15*i, 15))
NEXT
The analog output voltage of the distance sensor for the A/D conversion must be connected
to the NC using an I/O module with an analog input.
Connection options
The SIMATIC ET 200S I/O for SINUMERIK 840D sl is connected via PROFIBUS DP. The
clearance sensor is connected via an analog S7 I/O module.
6,180(5,.b'bVOZLWK 6,0$7,&(76,2
6,0$7,&6
1&8
&OHDUDQFHVHQVRU
2XWSXWYROWDJH
352),%86'3
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 621
TE1: Clearance control - 840D sl only
15.9 Supplementary conditions
Note
To check whether a module selected from the hardware catalog complies with the module in
the automation system, the following procedure is recommended:
1. Note the article numbers of all modules used in the automation system.
2. Select the corresponding module in the hardware catalog and compare the article number
of the module used in the automation system with the article number that is displayed in
the hardware catalog. Both article numbers must match one another.
Note
It is better for the control if electromagnetic shielding is used to ensure a large signal-noise
ratio than if smoothing filters are used in the signal path.
Complete NC Stop
If in conjunction with an NC Stop, not only the programmed path motion but also the traversing
movement of the clearance-controlled axes should be stopped, the following NC/PLC interface
signals must be set:
● DB21, ... DBX7.3 = 1 (NC Stop)
● DB21, ... DBX7.4 = 1 (NC stop axes and spindles)
Followup
If a clearance-controlled axis is to be switched as an alarm response or via the corresponding
interface signal from the NC/PLC in "follow-up" mode, setpoint output will cease for clearance
control on this axis.
Special functions
622 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.9 Supplementary conditions
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 623
TE1: Clearance control - 840D sl only
15.9 Supplementary conditions
No virtual axes
Clearance-controlled axes must not be parameterized as virtual axes:
MD30132 $MA_IS_VIRTUAL_AX[<axis>] (axis is virtual axis)
Special functions
624 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.10 Data lists
Clearance control
62500 CLC_AXNO Axis assignment for clearance control
62502 CLC_ANALOG_IN Analog input for clearance control function
62504 CLC_SENSOR_TOUCHED_INPUT Input bit assignment for the "sensor collision" signal
62505 CLC_SENSOR_LOWER_LIMIT Lower motion limit of clearance control
62506 CLC_SENSOR_UPPER_LIMIT Upper motion limit of clearance control
62508 CLC_SPECIAL_FEATURE_MASK Special functions and operating modes of the clear‐
ance control
62510 CLC_SENSOR_VOLTABE_TABLE_1 Coordinate voltage of interpolation points sensor char‐
acteristic 1
62511 CLC_SENSOR_VELO_TABLE_1 Coordinate velocity of interpolation points sensor char‐
acteristic 1
62512 CLC_SENSOR_VOLTAGE_TABLE_2 Coordinate voltage of interpolation points sensor char‐
acteristic 2
62513 CLC_SENSOR_VELO_TABLE_2 Coordinate velocity of interpolation points sensor char‐
acteristic 2
62516 CLC_SENSOR_VELO_LIMIT Clearance control movement velocity
62516 CLC_SENSOR_ACCEL_LIMIT Clearance control movement acceleration
62520 CLC_SENSOR_STOP_POS_TOL Positional tolerance for status message "Clearance
control zero speed"
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 625
TE1: Clearance control - 840D sl only
15.10 Data lists
Special functions
626 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE1: Clearance control - 840D sl only
15.10 Data lists
15.10.3 Signals
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 627
TE1: Clearance control - 840D sl only
15.10 Data lists
Special functions
628 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE3: Speed/torque coupling, master-slave 16
16.1 Brief description
A master-slave coupling is a speed setpoint coupling between a master and any number of
slave axes - performed at the position controller level - with and without torque equalization
control. The coupling can be permanently switched on, dynamically switched on/off and
reconfigured.
Note
The following restrictions apply for the SINUMERIK 828D with regard to the "Master-slave
coupling":
● Only one master-slave grouping is possible.
● Only one slave axis can be coupled to the master axis.
Applications
Possible applications of a master-slave coupling include:
● Increase the power for mechanically coupled drives
● Compensating gear and gear tooth flank play by entering a pre-tensioning torque
&RXSOLQJ2))
0RWLRQ$[LV
0RWLRQ$[LV
$[LV
$[LV
&RXSOLQJ21
0RWLRQ$[LVDQGD[LV
$[LV
6ODYHD[LV
$[LV
0DVWHUD[LV
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 629
TE3: Speed/torque coupling, master-slave
16.2 Coupling diagram
1&8 'ULYH
Special functions
630 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE3: Speed/torque coupling, master-slave
16.3 Configuring a coupling
Static assignment
For a speed setpoint coupling and torque equalization control, the static assignment of master
and slave axis is defined separately in the following machine data:
● Speed setpoint coupling
MD37250 $MA_MS_ASSIGN_MASTER_SPEED_CMD[<slave axis>] =
<machine axis number of the master axis for the speed setpoint coupling>
● Torque equalization control
MD37252 $MA_MS_ASSIGN_MASTER_TORQUE_CTR[<slave axis>] =
<machine axis number of the master or slave axis for torque equalization control>
(see Section "Tension torque (Page 635)")
Defining assignments
Assignment of one or several slave axes to a master axis:
MASLDEF (<slave axis_1>, <slave axis_2>, ..., <master axis>)
In principle, any number of slave axes can be assigned. The assignment is kept even after an
operating mode change, reset and end of part program.
Deleting assignments
Delete assignment of one or several slave axes to their associated master axis:
MASLDEL (<slave axis_1>, <slave axis_2>, ...)
An active coupling is first implicitly switched off before deleting the assignment.
Axis assignment for speed setpoint coupling and torque equalization control
For the speed setpoint coupling, the slave axis refers to the master axis specified when defining
the assignment (MASLDEF).
The axis to which the slave axis refers for torque equalization control is defined in the following
machine data:
MD37253 $MA_MS_FUNCTION_MASK[<slave axis>], bit 1 = <value>
<value> Description
0 In the case of dynamic assignment (MASLDEF), the slave axis for the torque equalization
control – as well as for speed setpoint coupling – refers to the master axis of the master-
slave grouping.
1 In the case of dynamic assignment (MASLDEF), the slave axis for the torque equalization
control refers to the axis, master or slave axis of the master-slave grouping specified in
machine data:
MD37252 $MA_MS_ASSIGN_MASTER_TORQUE_CTR<slave axis> = <axis>
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 631
TE3: Speed/torque coupling, master-slave
16.3 Configuring a coupling
Supplementary conditions
The following supplementary conditions must be observed for the dynamic assignment:
● When the coupling is switched on, a change to the assignment using MASLDEF has no
effect. The change only becomes effective the next time that the coupling is switched off.
● The same master axis is always used for the speed setpoint coupling and torque
equalization control.
● A plausibility check of the assignment is only made when the coupling is switched on.
Programming Description
① MASLDEF (AX3, AX1) Assignment of slave axis AX3 to master axis AX1
② MASLON (AX3) Switching on the coupling
③ MASLDEL (AX3) Switch off the coupling and cancel the assignment between AX3 and AX1
④ MASLDEF (AX3, AX2) Assignment of slave axis AX3 to master axis AX2
Special functions
632 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE3: Speed/torque coupling, master-slave
16.4 Torque compensatory controller
Note
Several slave axes
For a master-slave grouping with one master and several slave axes, the input of the additional
speed setpoint to the master and slave axes - set as standard in MD37254 - can result in
instability. For several axes, the input of an additional speed setpoint should only be done in
the slave axes:
MD37254 $MA_MS_TORQUE_CTRL_MODE = 1
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 633
TE3: Speed/torque coupling, master-slave
16.4 Torque compensatory controller
Scaling
Scaling the machine data:
● MD37256 $MA_MS_TORQUE_CTRL_P_GAIN (gain factor (P component))
● MD37260 $MA_MS_MAX_CTRL_VELO (speed setpoint limiting)
Must be entered using the following machine data:
MD37253 $MA_MS_FUNCTION_MASK[<slave axis>], bit 0 = <value>
<value> Description
0 MD37256 and MD37260 are internally multiplied with the following factor: 1 / Ipo cycle[s]
1 MD37256 and MD37260 are accepted unchanged
Note
It is recommended to set MD37253 $MA_MS_FUNCTION_MASK[<slave axis>], bit 0 = 1.
Special functions
634 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE3: Speed/torque coupling, master-slave
16.5 Tension torque
Torque weighting
The percentage of the torque generated by the slave axis of the total torque can be set using
the torque weighting.
MD37268 $MA_MS_TORQUE_WEIGHT_SLAVE[<slave axis>]
Using the torque weighting, it is possible to configure a different torque distribution between
the master and slave axes for motors with different rated torques. For motors of the master
and slave axes with the same rated torques, it makes sense to have a 50% torque distribution
(default setting).
The torque provided by the master axis is given by:
Note
Mechanical coupling
When using the torque equalization controller, it is absolutely necessary to have a mechanical
coupling between the master and slave axis. Otherwise, the two drives involved could
accelerate in an uncontrollable fashion.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 635
TE3: Speed/torque coupling, master-slave
16.5 Tension torque
Setting
The tension torque is entered as a percentage of the rated torque of the slave axis and is active
immediately:
MD37264 $MA_MS_TENSION_TORQUE[<slave axis>] = <tension torque>
As can be seen from the structure of the torque equalization controller (Chapter "Torque
compensatory controller (Page 633)"), the tension torque is entered via a PT1 filter. The filter
time constant is set using the following machine data:
MD37266 $MA_MS_TENSION_TORQ_FILTER_TIME[<slave axis>] = <time constant>
A value for the filter time constant greater than 0 activates the filter.
NOTICE
No axis equalization
If a tension torque is entered without a mechanical coupling between the master and slave
axis then this causes the axes to move.
Note
Minimum tension torque
The tension torque chosen must be high enough to ensure that the resulting torque does not
drop below the minimum required tension even during acceleration.
Reducing the motor temperature rise
The tension torque can be reduced when the motor is at a standstill to reduce the motor
temperature rise.
Axis Reference axis of the speed set‐ Reference axis of the torque equal‐ Input of the torque equalization
point coupling ization controller contr.
MD37250 = value MD37252 = value MD37254 = value
Value Description Value Description Value Description
AX1 0 No reference axis 0 No reference axis 0 Master and slave
AX2 1 Master axis, AX1 1 Master axis, AX1 0 Master and slave
Special functions
636 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE3: Speed/torque coupling, master-slave
16.5 Tension torque
Axis Reference axis of the speed set‐ Reference axis of the torque equal‐ Input of the torque equalization
point coupling ization controller contr.
MD37250 = value MD37252 = value MD37254 = value
Value Description Value Description Value Description
AX3 1 Master axis, AX1 0 No reference axis 3 No input
AX4 1 Master axis, AX1 3 2nd slave axis, AX3 0 Master and slave
0DVWHU 6ODYH
$; $;
-RLQWO\GULYHQPDFKLQH
HOHPHQW
6ODYH 6ODYH
$; $;
'UHK]DKONRSSOXQJ
0RPHQWHQDXVJOHLFKVUHJHOXQJ
Example 2 (840D sl): Dynamic coupling with 1x4 and 2x2 axes grouped in pairs
Assumption regarding machine axes:
● 1st to 4th machine axis: AX1, AX2, AX3, AX4
Dynamic coupling for all slave axes:
● MD37262 $MA_MS_COUPLING_ALWAYS_ACTIVE[AX2] = 0
● MD37262 $MA_MS_COUPLING_ALWAYS_ACTIVE[AX3] = 0
● MD37262 $MA_MS_COUPLING_ALWAYS_ACTIVE[AX4] = 0
For a dynamic coupling, the master axis specified when defining the coupling (MASLDEF) is,
as standard, the reference axis for speed setpoint coupling and torque equalization control.
The definition of reference axis AX3 for the torque equalization control of the 3rd slave axis
AX4 is required for the application "1x4 axes" where the following machine data is set:
MD37253 $MA_MS_FUNCTION_MASK[AX4], Bit 1 = 1 (see part program)
Axis Reference axis of the speed set‐ Reference axis of the torque equal‐ Input of the torque equalization
point coupling ization controller contr.
MD37250 = value MD37252 = value MD37254 = value
Value Description Value Description Value Description
AX1 0 No reference axis 0 No reference axis 0 Master and slave
AX2 0 No reference axis 0 No reference axis 0 Master and slave
AX3 0 No reference axis 0 No reference axis 3 No input
AX4 0 No reference axis 3 Machine axis AX3 0 Master and slave
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 637
TE3: Speed/torque coupling, master-slave
16.5 Tension torque
Special functions
638 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE3: Speed/torque coupling, master-slave
16.6 Closing/opening a coupling
-RLQWO\GULYHQPDFKLQH
HOHPHQW
-RLQWO\GULYHQPDFKLQH
HOHPHQW
-RLQWO\GULYHQPDFKLQH
HOHPHQW
6SHHGFRXSOLQJ
[D[HV [D[HV
7RUTXHHTXDOL]DWLRQFRQWURO
Figure 16-4 Example 2: Alternating coupling with 1x4 and 2x2 axes
Default setting
After the control has booted, the following machine data defines whether the coupling is
permanently switched on (static) or can be dynamically switched on/off and reconfigured:
MD37262 $MA_MS_COUPLING_ALWAYS_ACTIVE[<slave axis>] = <switch on mode>
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 639
TE3: Speed/torque coupling, master-slave
16.6 Closing/opening a coupling
Note
A statically switched on coupling can neither be switched on/off nor reconfigured using the
master-slave-specific NC/PLC interface signals and/or program commands.
Coupling state
System variable
The actual coupling state of a slave axis can be read in the part program and synchronized
action using the following system variable:
Special functions
640 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE3: Speed/torque coupling, master-slave
16.7 Response on activation/deactivation
$AA_MASL_STAT[<slave axis>]
Value Description
0 1) The coupling of the slave axis is not active.
2) The specific axis is not a slave axis
>0 The coupling is active.
<value> == Machine axis number of the master axis
Setpoint state
Requests to switch on/off a master-slave coupling (NC/PLC interface signal and/or program
commands) that consecutively follow one another mutually overwrite one another. The
effective setpoint state results from the last chronological request (see Section "Response on
activation/deactivation (Page 641)").
0DVWHUVODYHRQ
'%'%;
0$6/21
0$6/2)
$[LVVSLQGOH
VWDWLRQDU\'%
'%;
0DVWHUVODYH
DFWLYH'%
'%;
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 641
TE3: Speed/torque coupling, master-slave
16.7 Response on activation/deactivation
When switching on the coupling using the program command MASLON, the system waits until
the coupling is closed before the block is changed. The "Master-slave switchover active"
message will be displayed on the user interface during this time.
Note
Switching on/off during motion
During the motion, the coupling can be switched on/off only for spindles in speed control
mode.
Special functions
642 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE3: Speed/torque coupling, master-slave
16.7 Response on activation/deactivation
Switching on
When switching on during the motion, the coupling operation divides itself at different speeds
in two phases.
● Phase 1
The PLC user program must request the switch on of the coupling with:
DB31, ... DBX24.7 = 1 (master/slave ON)
The slave spindle accelerates or brakes along a ramp to the setpoint speed of the master
spindle.
When the setpoint speed is reached, the coupling is switched on and the NC/PLC interface
signal is set:
DB31, ... DBX96.7 == 1 (coupling active)
If the master spindle is accelerated while the coupling is being switched on, then Phase 1
is extended corresponding to the dynamic difference between the master and the slave
spindle.
● Phase 2
The following synchronous signals are generated from the actual speed difference between
the master and slave spindle(s):
– DB31, ... DBX96.3 (speed tolerance, coarse)
– DB31, ... DBX96.2 (speed tolerance, fine)
The associated limits are set using the following machine data:
– MD37270 $MA_MS_VELO_TOL_COARSE ("Tolerance coarse")
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 643
TE3: Speed/torque coupling, master-slave
16.7 Response on activation/deactivation
6HWSRLQW
0DVWHU
W W W
6SHHG VSLQGOH
6HWSRLQW $FWXDOYDOXH
6ODYH 6ODYH
VSLQGOH VSLQGOH
W
ಯ&RXSOLQJFORVHGರ
'%'%;
ಯ&RXSOLQJDFWLYHರ
'%'%;
ಯ6SHHGWROHUDQFHFRDUVHರ
'%'%;
ಯ6SHHGWROHUDQFHILQHರ
'%'%;
Special functions
644 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE3: Speed/torque coupling, master-slave
16.8 Supplementary conditions
Note
The implicit preprocessing stop is omitted for MASLON and MASLOF. The missing preprocessing
stop means that the $P system variables of the slave spindles do not supply updated values
until reprogrammed.
Coupling characteristics
The behavior regarding the program commands MASLON, MASLOF, MASLOFS, MASLDEL (only
840D sl) and the NC/PLC interface signal: DB31, ... DBX24.7 (master/slave on) is, for spindles
in the open-loop speed controlled mode, set using the following machine data:
MD37263 $MA_MS_SPIND_COUPLING_MODE[<slave spindle>] = <value>
<value> Description
0 Coupling and disconnection take place only at standstill.
The current coupling state is retained until all axes involved have actually come to a stand‐
still. The MASLOFS and MASLOF operations are identical; the slave spindle is not decelerated
automatically.
1 Coupling and disconnection takes place immediately and therefore during motion.
During coupling, the slave spindles are accelerated automatically to the current speed of
the master spindle.
On disconnection, the slave spindles rotating at this time retain their speeds until next speed
programming. However, a slave spindle disconnected with MASLOFS decelerates automat‐
ically.
General
● Master and slave axes must be on the same NCU.
● A coupling is closed or opened independent of the channel state the next time that the axis
is at a standstill.
● Slave axes can only be traversed via the master axis when the coupling is closed.
● A coupled slave axis cannot be switched further via the axis container.
● A requested axis interchange of coupled slave axes is not executed.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 645
TE3: Speed/torque coupling, master-slave
16.8 Supplementary conditions
● When the coupling is switched-in (closed) via the slave axis, the master axis is braked
automatically, if the channel axis is in the same channel: ⇒ asymmetrical behavior when
activating and deactivating the coupling:
– Activate: the leading axis is automatically braked
– Deactivating: no automatic braking of the leading axis
● The setpoint position of a coupled slave axis corresponds to its actual position.
● For axes and spindles in the positioning mode, the coupling is only switched-in (closed)
and switched-out (opened) at standstill (zero speed).
● The leading-following coupling must be deactivated prior to a gear change or a star-delta
switchover.
Virtual axis
Master and/or slave axes must not be "virtual" axes:
MD30132 $MA_IS_VIRTUAL_AX (axis is virtual axis)
Spindles
● If a master-slave coupling is activated with spindles, the slave spindle is operated in the
open-loop speed controlled mode. The actual value of the slave spindle is not displayed
as modulo 360° in the service display. However, in the automatic basic display the actual
value is displayed as modulo 360°.
● If the spindles are accelerated at the current limit, this may mean that no adjusting reserves
are left over in the coupled state for the torque compensatory controller to use to distribute
the torque between the master and the slave as required.
Special functions
646 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE3: Speed/torque coupling, master-slave
16.8 Supplementary conditions
● The maximum master spindle chuck speed must be configured in the following machine
data to be lower than or equal to that of the following spindles:
MD35100 $MA_SPIND_VELO_LIMIT[<master spindle>]
● The axial velocity monitoring function should be adapted to the chuck speed:
MD36200 $MA_AX_VELO_LIMIT[<master spindle>]
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 647
TE3: Speed/torque coupling, master-slave
16.8 Supplementary conditions
● If, for the master or slave axis, one of the following drive status signals is not set:
DB31, ... DBX61.7 (current controller active) == 0 OR
DB31, ... DBX61.6 (speed controller active) == 0
then, when the slave axis is at a standstill, the status signal is reset:
DB31, ... DBX96.7 (master/slave active) = 0
As soon as the master and slave axis are again in closed-loop control:
DB31, ... DBX61.7 (current controller active) == 1 AND
DB31, ... DBX61.6 (speed controller active) == 1
then for the slave axis, the status signal is again set:
DB31, ... DBX96.7 (master/slave active) = 1
● The torque equalization controller can be activated via the NC/PLC interface using:
DB31, ... DBX24.4 = 1 (torque equalization controller on)
The status of the torque equalization controller is displayed in:
DB31, ... DBX96.4 (master/slave equalization controller active)
Note
The slave axis is only closed-loop speed controlled when the coupling is closed. The NC/
PLC interface signal: DB31, ... DBX61.5 (position controller active) is no longer set.
Function generator
To calibrate the speed control loop with activated coupling, it is recommended that a low value
should be set for the torque weighting of the slave axis (MD37268
$MA_MS_TORQUE_WEIGHT_SLAVE). Traversing of a mechanical coupled-motion slave
axis is not prevented by the torque compensatory controller.
Position-related compensations
Position-related compensations of the slave axis, such as spindle pitch errors, backlash,
temperature and sag offsets are not active because the position controller of the slave axis is
not active.
Correct calculation of the backlash compensation requires that the backlash of the slave axis
is always overtraveled by the motion of the master axis in coupled mode. Disconnecting the
coupling during an axis reversal error will generate an incorrect actual value for the slave axis.
Special functions
648 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE3: Speed/torque coupling, master-slave
16.8 Supplementary conditions
Gantry
If one master-slave relationship is defined on each side of the gantry grouping to increase the
gain, only the leading axis or following axis may be operated as master axis.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 649
TE3: Speed/torque coupling, master-slave
16.8 Supplementary conditions
Note
For more information about gear stage change and parameter sets for changes in spindle
mode, see:
References:
Function Manual, Basic Functions; Spindles (S1)
Axis container
If a coupled slave axis is configured as a container axis, alarm "4025 Switch axis container
%3 not permitted: Master-slave active channel %1 Axis %2" is displayed for an axis container
rotation.
Axis containers with changing master can be used to make the relevant spindle the master
spindle following a rotation of the axis container. Both master and slave spindles can be
container spindles.
For a coupling to be closed after axis container rotation using a different spindle in each case,
the old coupling must be separated before the rotation, the configuration deleted and the new
coupling configured and closed after the rotation.
Example of a cyclic coupling sequence (position = 3 / container = CT1)
Special functions
650 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE3: Speed/torque coupling, master-slave
16.8 Supplementary conditions
6 6
$; $;
6 6
Figure 16-7 Coupling between container spindle S3 and auxiliary motor AUX (prior to rotation)
6 6
$; $;
6 6
Figure 16-8 Coupling between container spindle S3 and auxiliary motor AUX (after to rotation)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 651
TE3: Speed/torque coupling, master-slave
16.8 Supplementary conditions
The movement away of the slave axis from the limit switch must be performed via the traversing
of the master axis. Switching off the coupling (MASLOF) and traversing the slave axis is not
possible. The coupling cannot be switched off until the cause of the error has been removed.
NOTICE
Power Off/On or warm restart (reset (po)) after overtravel of the software or hardware limit
switch and switching off the coupling with MASLOF
If the software or hardware limit switch is overtraveled by a slave axis and an attempt is made
to switch off the coupling with MASLOF while the slave axis is still behind the limit switch, the
message "Waiting for coupled slave axis" is displayed. The coupling can only be switched off
by means of a Power Off/On or warm restart (reset (po)).
Block search
Static coupling
The "Block search with calculation" function (SERUPRO) can be used without any restrictions
in conjunction with a static master-slave coupling.
Special functions
652 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE3: Speed/torque coupling, master-slave
16.8 Supplementary conditions
● The system ASUB "PROGEVENT.SPF" must be saved under the following path: /
_N_CMA_DIR/_N_PROG_EVENT_SPF
● The following machine data should be parameterized so that PROGEVENT.SPF is started.
NC-specific machine data:
– MD11450 $MN_SEARCH_RUN_MODE = 'H02'
– MD11602 $MN_ASUP_START_MASK = 'H01'
– MD11604 $MN_ASUP_START_PRIO_LEVEL = 100
Channel-specific machine data:
– MD20105 $MC_PROG_EVENT_IGN_REFP_LOCK = ’H3F’
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 653
TE3: Speed/torque coupling, master-slave
16.9 Examples
Note
For an activated coupling, it is recommended to only use block search type 5, "Block search
via program test" (SERUPRO) for a block search.
More information about event-driven program calls and "block search using the program test"
(SERUPRO) is included in:
References:
Function Manual, Basic Functions;
● Auxiliary function outputs to PLC (H2)
● Mode group, channel, program operation, reset response (K1)
● Spindles (S1)
16.9 Examples
Configuration
Master-slave coupling between AX1=Master and AX2=Slave.
1. Machine axis number of master axis for speed setpoint coupling
MD37250 $MA_MS_ASSIGN_MASTER_SPEED_CMD[AX2] = 1
2. Master axis with torque distribution identical to master axis with speed setpoint coupling
MD37252 $MA_MS_ASSIGN_MASTER_TORQUE_CTR[AX2] = 0
3. Permanent coupling
MD37262 $MA_MS_COUPLING_ALWAYS_ACTIVE[AX2] = 1
4. Torque is injected in both the master and slave axes
MD37254 $MA_MS_TORQUE_CTRL_MODE[AX2] = 0
5. Torque distribution between the master and slave axes is 50% to 50%
MD37268 $MA_MS_TORQUE_WEIGHT_SLAVE[AX2] = 50
6. Parameters of the torque compensatory controller
MD37256 $MA_MS_TORQUE_CTRL_P_GAIN[AX2] = 0.5
MD37258 $MA_MS_TORQUE_CTRL_I_TIME[AX2] = 5.0
Special functions
654 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE3: Speed/torque coupling, master-slave
16.9 Examples
Preconditions
● One configured master axis
MD37250 $MA_MS_ASSIGN_MASTER_SPEED_CMD ≠ 0
● Activation of a master-slave coupling via
MD37262 $MA_MS_COUPLING_ALWAYS_ACTIVE=0
● The coupling is open.
Action Effect/comment
● Approach coupling position Each axis moves to the coupling position.
● Close coupling mechanically Both axes are mechanically coupled to one anoth‐
er.
● Request to close the coupling PLC interface signal "Master/slave on" DB32, ...
DBX24.7 is set.
● Read back coupling state When the axis is at a standstill, the coupled slave
axis sets PLC interface signal "Master/slave ac‐
tive" DB32, ... DBX96.7 and clears "Position con‐
troller active" DB32, ... DBX61.5.
Wait for checkback signal.
● Moving the master-slave group The master axis is moved.
16.9.3 Closing/separating the coupling via the part program for the SINUMERIK 840D
sl
This application allows you to close or separate a master-slave coupling between the machine
axes AX1=Master axis and AX2=Slave via the part program.
Preconditions
● A configured master axis MD37250 0 0.
● Not a static master-slave coupling:
MD37262 $MA_MS_COUPLING_ALWAYS_ACTIVE= 0
● The coupling is open.
Parts program
Program code Comment
N10 G0 AX1=0 AX2=0 ; Approach the coupling position on an axis-for-axis basis
N20 MASLON (AX2) ; (mechanically connect the axes)
; Close the coupling.
N30 AX1=100 ; Move the master-slave group using the master axis.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 655
TE3: Speed/torque coupling, master-slave
16.9 Examples
Preconditions
● Master-slave coupling is configured.
● Axes are stationary.
● No servo enable signals.
Action Effect/comment
● Request to close the coupling The following PLC interface signal is set:
DB31, ... DBX24.7 (Master/Slave ON)
● Set controller enable PLC interface signal "Servo enable" DB31, ...
DBX2.1 is set for both axes.
● Interpreting the feedback Link PLC interface signals of the master axis using
AND:
DB31, ... DBX61.7 (current controller active)
DB31, ... DBX61.6 (speed controller active)
DB31, ... DBX61.5 (position controller active)
Link PLC interface signals of the saster axis using
AND:
DB31, ... DBX61.7 (current controller active)
DB31, ... DBX61.6 (speed controller active)
DB31, ... DBX96.7 (master/slave active)
● Release brakes If the result of the AND operations on the master
and slave axes is ≠ 0, the brake may be released.
Special functions
656 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE3: Speed/torque coupling, master-slave
16.10 Data lists
Identifier Meaning
$P_SEARCH_MASLC[following axis name] This variable registers a change in the coupling state during the
SERUPRO block search.
$P_SEARCH_MASLD[following axis name] This variable indicates the positional offset between the slave and
master axes at the instant the coupling was closed.
$AA_MASL_STAT[following axis name] This variable indicates the current coupling state.
Value ≠ 0: "Master-slave coupling active"
In this case, it contains the current machine number of the master
axis and, if the NCU link is active (several operating panel fronts
and NCUs), also the NCU No. at the hundreds position.
Example: 201 for Axis 1 on NCU2.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 657
TE3: Speed/torque coupling, master-slave
16.10 Data lists
16.10.3 Signals
Special functions
658 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only 17
17.1 Brief description
Functionality
The handling transformation package has been designed for use on manipulators and robots.
The package is a type of modular system, which enables the customer to configure the
transformation for his machine by setting machine data (provided that the relevant kinematics
are included in the handling transformation package).
Section structure
The "Handling transformation package" section deals with the following topics:
● The "Kinematic transformation" section describes the kinematic transformation
environment.
● The "Definition of terms" section explains some basic terms.
● The "Configuration of the kinematic transformation" section explains the machine data
required for the configuration.
● The "Kinematic descriptions" section uses configuring examples to illustrate the most
commonly used 2-axis to 5-axis kinematics that can be configured with the "Handling
transformation package".
● The "Tool orientation" to "Tool programming" sections handle the programming. describing
orientation programming, the entry of tool parameters and transformation calls.
Abbreviations
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 659
TE4: Handling transformation package - 840D sl only
17.3 Definition of terms
Task of a transformation
The purpose of a transformation is to transform movements in the tool tip, which are
programmed in a Cartesian coordinate system, into machine axis positions.
Fields of application
The handling transformation package described here has been designed to cover the largest
possible number of kinematic transformations implemented solely via parameter settings in
machine data. Currently, kinematics with two to maximum six axes to be included in the
transformation can be configured with this package, corresponding to up to five spatial degrees
of freedom. In this case, a maximum of 3 degrees are available for translation and 3 degrees
for orientation, This package thus allows a tool (milling cutter, laser beam) to be oriented by a
5-axis machine in any desired relation to the workpiece in every point of the machining space.
The workpiece is always programmed in the rectangular workpiece coordinate system; any
programmed or set frames rotate and shift this system in relation to the basic system. The
kinematic transformation then converts this information into motion instructions for the real
machine axes. The kinematic transformation requires information about the design
(kinematics) of the machine, which are stored in machine data.
Kinematic categories
The handling transformation package is divided into two categories of kinematics, which can
be selected via machine data:
MD62600 $MC_TRAFO6_KINCLASS (kinematic category)
● STANDARD: This category includes the most commonly used kinematics.
● SPECIAL: Special kinematics
Direction of rotation
In the case of angles, arrows in the drawings always indicate the mathematically positive
direction of rotation.
Special functions
660 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.3 Definition of terms
Frame
A frame can be used to translate one coordinate system into another. In this respect, a
distinction must be made between translation and rotation. Translation results in an offset; a
rotation, a rotation of the coordinate system with respect to the initial system. Coordinates X,
Y and Z are used as designator for a translation. They are defined so as to result in a legal
coordinate system.
Translation
A translation is always specified in relation to the coordinate directions of the initial system.
These directions are assigned to machine data as follows:
● X direction: ..._POS[ 0 ]
● Y direction: ..._POS[ 1 ]
● Z direction: ..._POS[ 2 ]
Rotation
A rotation is specified in RPY angles A, B and C (R=roll, P=pitch, Y=yaw). The positive direction
of rotation is defined by the right hand rule, i.e. if the thumb on the right hand is pointing in the
direction of the axis of rotation, then the fingers are pointing in the positive angular direction.
Angles A and C are defined in the interval [ -180; +180 ], and B in the interval [ -90; +90 ].
The definitions of the RPY angles are as follows:
● Angle A: 1. rotation about the Z axis of the initial system
● B angle: 2. Rotation through the rotated Y axis
● C angle: 3. rotation about the twice rotated X axis
The RPY angles are assigned to machine data as follows:
● Angle A: ..._RPY[ 0 ]
● B angle: ..._RPY[ 1 ]
● C angle: ..._RPY[ 2 ]
The following diagram shows an example for a rotation through the RPY angle. The initial
coordinate system X1, Y1, Z1 is transitioned into the coordinate system X4, Y4, Z4
1. Rotation through angle A around the Z1 axis
2. Rotation through angle B around the Y2 axis
3. Rotation through angle C around the X3 axis.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 661
TE4: Handling transformation package - 840D sl only
17.3 Definition of terms
=
=
<
<
; < < =
; =
; ;
Meaning
A sliding joint is implemented using a translatory axis, and a swivel joint, using a rotary axis.
The basic axis identifiers result from the arrangement and sequence of the individual joints.
These are specified using letter codes (S, C, R, N).
Special functions
662 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.4 Configuration of a kinematic transformation
6 6OLGLQJMRLQW
& 6OLGLQJMRLQW__VZLYHOMRLQW
6ZLYHOMRLQW__VZLYHOMRLQW
6ZLYHOMRLQW6OLGLQJMRLQW
1 6ZLYHOMRLQWVZLYHOMRLQW
3RVLWLYHD[LVGLUHFWLRQ
)ODQJHIRUDWWDFKLQJ 3RVLWLYHD[LVGLUHFWLRQ
)/ IORZLQJWRZDUGWKHGUDZLQJSODQH
WKHWRRO
IORZLQJDZD\IURPWKHGUDZLQJSODQH
3RVLWLYHGLUHFWLRQRIURWDWLRQ
7 7RRO __ $[LVGLUHFWLRQVSDUDOOHOWRRQHDQRWKHU
$[LVGLUHFWLRQVSHUSHQGLFXODUWRRQHDQRWKHU
Meaning
In order to ensure that the kinematic transformation can convert the programmed values into
axis motions, it must have access to some information about the mechanical construction of
the machine. This information is stored in machine data:
● Axis assignments
● Geometry information
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 663
TE4: Handling transformation package - 840D sl only
17.4 Configuration of a kinematic transformation
Special functions
664 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.4 Configuration of a kinematic transformation
Modular principle
The machine geometry is parameterized according to a type of modular principle. With this
method, the machine is successively configured in geometry parameters from its base center
point to the tool tip, thereby producing a closed kinematic loop. In this case, frames are used
to describe the geometry. While the control is powering up, the configuration machine data is
checked and alarms displayed when relevant. All axes of the mode group are tracked as alarm
response. The alarms can be deleted using POWER ON.
As shown in the following diagram "Closed kinematic loop illustrated by the example of a robot",
the kinematic transformation converts the tool operating point (tool coordinate system: XTO,
YTO, ZTO), specified relative to the base coordinate system (BCS = robot coordinate system:
XRO, YRO, ZRO), in machine axis values (MCS positions: A1, A2, A3, ...). The operating point
(XWZ, YWZ, ZWZ) is specified in the part program in relation to the workpiece to be machined
(workpiece coordinate system WCS: XWS, YWS, ZWS). The programmable frames make it
possible to create an offset between the workpiece coordinate system (WCS) and the base
coordinate system (BCS).
$
;)/
Note
For more detailed information about coordinate systems, please see:
Reference:
Function Manual Basic Functions;
Chapter "K2, axes, coordinate systems, frames" > "Coordinate systems"
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 665
TE4: Handling transformation package - 840D sl only
17.4 Configuration of a kinematic transformation
Special functions
666 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.4 Configuration of a kinematic transformation
5
5 =,52 5 4
4 4
<,52
=,52 3
3 3
;,52 ;,52
<,52
=,52
<,52
;,52 $ %
$
=,52 5 =,52 5 =,52 5
<,52 4 4 <,52 4
<,52
3 3 3
;,52 ;,52 ;,52
$ % $
$
$ 4
3
5
%
<,52
;,52
=,52
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 667
TE4: Handling transformation package - 840D sl only
17.4 Configuration of a kinematic transformation
Special functions
668 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.4 Configuration of a kinematic transformation
&HQWUDOKDQG %HYHOHGKDQGZLWKHOERZ
]
+3
]
[ [ [+3
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 669
TE4: Handling transformation package - 840D sl only
17.4 Configuration of a kinematic transformation
] ]
+3
[ [
+3
[
]
① MD62614 $MC_TRAFO6_DHPAR4_5A[ 0 ]
② MD62616 $MC_TRAFO6_DHPAR4_5ALPHA[ 0 ]
③ MD62615 $MC_TRAFO6_DHPAR4_5D[ 1 ]
Special functions
670 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.4 Configuration of a kinematic transformation
7B;B3 7B)/B:3
$
] $ $ $ $
,52 U [
\ T \
+3 [
,52 ] )/
+3
[ S [ \
,52 +3 \
)/
]
] )/
7B,52B52
$
]
52 \
52
[
52
Frame: T_IRO_RO
Frame T_IRO_RO provides the link between the base center point coordinate system (RO)
defined by the user and the internal robot coordinate system (IRO). The internal robot
coordinate system is predefined in the handling transformation package for each basic axis
type and included in the kinematic diagrams for the basic axis arrangements. The base center
point system is in the Cartesian zero point of the machine, corresponding to the basic
coordinate system. If no FRAMES are programmed, the basic coordinate system equals the
workpiece coordinate system.
Note
For more detailed information about FRAMES, please see:
References:
Programming Manual Fundamentals
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 671
TE4: Handling transformation package - 840D sl only
17.4 Configuration of a kinematic transformation
Frame: T_X3_P3
Frame T_X3_P3 describes the method used to attach the wrist axis to the basic axes. Frame
T_X3_P3 is used to link the coordinate system of the last basic axis (p3_q3_r3 coordinate
system) with the coordinate system of the first wrist axis (x3_y3_z3 coordinate system). The
p3_q3_r3 coordinate system is included in the kinematic diagrams for the basic axis
arrangements.
The z3 axis is always on the 4th axis.
Depending on the number of axes to be included in the transformation, frame T_X3_P3 is
subject to certain restrictions relating to the wrist and basic axes:
● For 5-axis kinematics, frame T_X3_P3 can be freely selected in the following cases:
– If the basic axes are of the SS type.
– If the basic axes are of the CC, CS or SC type, the transformation must either include
a central wrist axis or the 4th axis must be positioned in parallel to the last rotary basic
axis.
– If the basic axes are of the NR or RR type, the transformation must either include a
central wrist axis or the 4th axis must be positioned in parallel to the last basic rotary
axis and an X flange must intersect the 5th axis.
– If the basic axes are of the NN type, the transformation must include a central wrist axis.
● For 4-axes, ensure that the Z3 axis is always parallel/anti-parallel or perpendicular to the
last basic axis.
Frame: T_FL_WP
Frame T_FL_WP links the flange with the last internal coordinate system (wrist point coordinate
system) preset by the handling transformation package.
For kinematics with less than 6 axes, this frame is subject to certain restrictions. These
restrictions are explained by the relevant kinematics.
Special functions
672 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.4 Configuration of a kinematic transformation
Note
With certain types of kinematics, it is possible to transpose axes without changing the behavior
of the kinematic transformation. Machine data:
MD62620 $MC_TRAFO6_AXIS_SEQ (rearrangement of axes)
The axes on the machine are numbered consecutively from 1 to 6 and must be entered in the
internal sequence in machine data:
MD62620 $MC_TRAFO6_AXIS_SEQ[0] ...[4]
All other axis-specific machine data refer to the sequence of axes on the machine.
Example 1
There are two kinematics, such as those shown in Fig. "Rearrangement of axes 1". Kinematic
1 is directly included in the handling transformation package. It corresponds to a CC kinematic
with a wrist axis parallel to the last basic rotary axis.
Kinematic 2 is the same as kinematic 1 inasmuch as it is irrelevant for the resulting robot
movement whether the translational axis is axis 1 or axis 4. In this instance, the data for
kinematic 2 must be entered as follows in machine data:
● MD62620 $MC_TRAFO6_AXIS_SEQ (rearrangement of axes)
The input is as follows:
● MD62620 $MC_TRAFO6_AXIS_SEQ[ 0 ] = 4
● MD62620 $MC_TRAFO6_AXIS_SEQ[ 1 ] = 1
● MD62620 $MC_TRAFO6_AXIS_SEQ[ 2 ] = 2
● MD62620 $MC_TRAFO6_AXIS_SEQ[ 3 ] = 3
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 673
TE4: Handling transformation package - 840D sl only
17.4 Configuration of a kinematic transformation
① Kinematics 1
② Kinematics 2
Example 2
This example involves a SCARA kinematic transformation as illustrated in Fig.
"Rearrangement of axes 2", in which the axes can be freely transposed. Kinematic 1 is directly
included in the handling transformation package. It corresponds to a CC kinematic. As regards
the transposition of axes, it is irrelevant how many wrist axes are involved in the transformation.
Special functions
674 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.4 Configuration of a kinematic transformation
The mathematical zero points of axes are preset in the handling transformation package.
However, the mathematical zero point does not always correspond to the mechanical zero
point (calibration point) of axes. In order for the zero point of each axis to fit one another, the
difference between the mathematical zero point and the alignment point for each axis must be
entered in the following machine data:
● MD62617 $MC_TRAFO6_MAMES[ ] (offset between mathematical and mechanical zero
points [axis no.]: 0...5)
The deviation to be entered corresponds to the difference between the mechanical zero point
and the mathematically positive direction of rotation of the axis.
Example
Jointed arm kinematics are shown in the following diagram.
In the mathematical zero position ②, axis 2 (A2) has a value of 90º. This value should be
entered into the machine data for axis 2 (index 1):
● MD62617 $MC_TRAFO6_MAMES[ 1 ] = 90
Axis 3 (A3) is counted relative to the previous axis 2 (A2) in the kinematic chain, and in the
mechanical zero position ① has the value: -90º:
● MD62617 $MC_TRAFO6_MAMES[ 2 ] = -90
$
$
$
$
$ $
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 675
TE4: Handling transformation package - 840D sl only
17.4 Configuration of a kinematic transformation
Cartesian velocity
The velocities for individual translational motion directions for axis traversal with G00 can be
preset in machine data:
● MD62629 $MC_TRAFO6_VELCP[i] (Cartesian velocity [no.]: 0...2)
– Index i = 0 : X component of basic system
– Index i = 1 : Y component of basic system
– Index i = 2 : Z component of basic system
Special functions
676 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
Configuration
The procedure for configuring a 3-axis kinematic is as follows:
1. Enter "Standard" kinematic category in machine data:
MD62600 $MC_TRAFO6_KINCLASS (kinematic category)
2. Set the number of axes for transformation in machine data:
MD62605 $MC_TRAFO6_NUM_AXES = 3 (number of transformed axes)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 677
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
3. Compare the basic axes with the basic axes contained in the handling transformation
package. → Enter the basic axis identifier in machine data:
MD62603 $MC_TRAFO6_MAIN_AXES (basic axis identifier)
4. If the axis sequence is not the same as the normal axis sequence, it must be corrected in
machine data:
MD62620 $MC_TRAFO6_AXIS_SEQ (rearrangement of axes)
5. As identifier for the wrist axes, the following machine data must be set to 1 (no wrist axis):
MD62604 $MC_TRAFO6_WRIST_AXES = 1 (wrist axis identifier)
6. Enter the axis types for the transformation in machine data:
MD62601 $MC_TRAFO6_AXES_TYPE (axis type for transformation)
7. Compare the directions of rotation of axes with the directions defined in the handling
transformation package and correct in machine data:
MD62618 $MC_TRAFO6_AXES_DIR (matching of physical and mathematical directions
of rotation)
8. Enter the mechanical zero offset in machine data:
MD62617 $MC_TRAFO6_MAMES (offset between mathematical and mechanical zero
points)
9. Enter the basic axis lengths in machine data:
MD62607 $MC_TRAFO6_MAIN_LENGTH_AB (basic axis lengths A and B)
10.Define frame T_IRO_RO and enter the offset in machine data:
MD62612 $MC_TRAFO6_TIRORO_POS (frame between base center point and internal
system (position component))
Enter the rotation in machine data:
MD62613 $MC_TRAFO6_TIRORO_RPY (frame between base center point and internal
system (rotation component))
11.Determine the flange coordinate system. For this purpose, the p3_q3_r3 coordinate system
must be regarded as the initial system. The offset is entered in machine data:
MD62610 $MC_TRAFO6_TFLWP_POS (frame between wrist point and flange (position
component))
The rotation is entered in machine data:
MD62611 $MC_TRAFO6_TFLWP_RPY (frame between wrist point and flange (rotation
component))
SCARA kinematics
SCARA kinematics are characterized by the fact that they possess both translational and rotary
axes. The kinematics have different names depending on how the basic axes are arranged
with respect to one another, e.g.: CC, SC, CS kinematics (see Chapter "Definition of a joint
(Page 662)").
Special functions
678 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
3-axis CC kinematics
T ])/
\)/
S [)/
]:= \
U :=
[:=
\,52
[,522
],52
]52 0'
\52 75$)2B7,5252B326>@
[52
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 679
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
3-axis SC kinematics
75$)2B7,5252B326>@ [:=
\,52
[,52
0' 0'
75$)2B0$,1B/(1*7+B$%>@ 75$)2B7)/:3B326>@
Special functions
680 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
3-axis CS kinematic
U
&6 T
]
)/
\
)/
S [
)/
] \
:=
:=
] [
,52 :=
\
,52
[
,52
0'
75$)2B7,5252B326>@
]
52 \
52
[
52
0'
75$)2B7)/:3B326>@
0'
75$)2B0$,1B/(1*7+B$%>@
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 681
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
Articulated-arm kinematics
3-axis NR kinematics
0'
75$)2B0$,1B/(1*7+B$%>@
=,52 5
=)/
<,52 4
<)/
;,52 3 ;)/
=:=
<:=
;:=
0'75$)B
7,5252B326>@ =52
<52 0'75$)2B
7)/:3B326>@
;52 0'75$)2B
0$,1B/(1*7+B$%>@
Special functions
682 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
3-axis RR kinematics
55
0' 0'
75$)2B0$,1B/(1*7+B$%>@
75$)2B7)/:3B326>@
=,52 5
<,52 =)/
4
<)/
;,52
3 ;)/
=:=
<:=
;:=
=52
<52
;52
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 683
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
3-axis NN kinematics
0' 0'
75$)2B0$,1B/(1*7+B$%>@
75$)2B7)/:3B326>@
4 =)/
<)/
3 ;)/
=:=
5
<:=
0' ;:=
75$)2B0$,1B
/(1*7+B$%>@
<,52
;,52
0'
=,52
75$)2B7,5252B
326>@ =52
<52
;52
Special functions
684 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
Restrictions
The following restrictions apply to 4-axis kinematics:
The frame T_FL_WP is subject to the following condition:
● MD62611 $MC_TRAFO6_TFLWP_RPY = [ 0.0, 90.0, 0.0 ] (frame between wrist point and
flange (rotation component))
● X flange and X tool must be parallel to the 4th axis.
● Two successive basic axes must be parallel or orthogonal.
● The 4th axis must only be mounted in a parallel or orthogonal way to the last basic axis.
Configuration
The procedure for configuring a 4-axis kinematic is as follows:
1. Enter "Standard" kinematic category in the machine data:
MD62600 $MC_TRAFO6_KINCLASS (kinematic category)
2. Set the number of axes for transformation in the machine data:
MD62605 $MC_TRAFO6_NUM_AXES=4 (number of transformed axes)
3. Compare the basic axes with the basic axes contained in the handling transformation
package.
– Enter the basic axis identifier in machine data:
MD62603 $MC_TRAFO6_MAIN_AXES (basic axis identifier)
4. If the axis sequence is not the same as the normal axis sequence, it must be corrected in
machine data:
MD62620 $MC_TRAFO6_AXIS_SEQ (rearrangement of axes)
5. As identifier for the wrist axes, the following machine data must be set (no wrist axis):
MD62604 $MC_TRAFO6_WRIST_AXES = 1 (wrist axis identifier)
6. Whether axis 4 runs parallel/anti-parallel to the last rotary basic axis is entered into the
machine data:
MD62606 $MC_TRAFO6_A4PAR (axis 4 is parallel/anti-parallel to last basic axis)
7. Enter the axis types for the transformation in machine data:
MD62601 $MC_TRAFO6_AXES_TYPE (axis type for transformation)
8. Compare the directions of rotation of axes with the directions defined in the handling
transformation package and correct in the machine data:
MD62618 $MC_TRAFO6_AXES_DIR (matching of physical and mathematical directions
of rotation)
9. Enter the mechanical zero offset in the machine data:
MD62617 $MC_TRAFO6_MAMES (offset between mathematical and mechanical zero
points)
10.Enter the basic axis lengths in the machine data:
MD62607 $MC_TRAFO6_MAIN_LENGTH_AB (basic axis lengths A and B)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 685
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
11.Define frame T_IRO_RO and enter the offset in the machine data:
MD62612 $MC_TRAFO6_TIRORO_POS (frame between base center point and internal
system (position component))
Enter the rotation in the machine data:
MD62613 $MC_TRAFO6_TIRORO_RPY (frame between base center point and internal
system (rotation component))
12.Specification of frame T_X3_P3 to attach wrist axis. For this purpose, the p3_q3_r3
coordinate system must be regarded as the initial system. The offset is entered in the
machine data:
MD62608 $MC_TRAFO6_TX3P3_POS (attachment of wrist axis (position component))
The rotation is entered in the machine data:
MD62609 $MC_TRAFO6_TX3P3_RPY (attachment of wrist axis (rotation component))
is entered.
13.Determine the flange coordinate system. For this purpose, the wrist point coordinate system
must be regarded as the initial system. The offset is entered in the machine data:
MD62610 $MC_TRAFO6_TFLWP_POS (frame between wrist point and flange (position
component))
The rotation is entered in the machine data:
MD62611 $MC_TRAFO6_TFLWP_RPY (frame between wrist point and flange (rotation
component))
SCARA kinematics
4-axis CC kinematics
T
S
U
[+3
\,52
\+3
[,52 ]+3
],52 \)/
])/ [)/
\:=
]:=
[:=
① MD62612 $MC_TRAFO6_TIRORO_POS[2]
② MD62607 $MC_TRAFO6_MAIN_LENGTH_AB[1]
③ MD62608 $MC_TRAFO6_TX3P3_POS[0]
④ MD62608 $MC_TRAFO6_TX3P3_POS[1]
⑤ MD62610 $MC_TRAFO6_TFLWP_POS[0]
Special functions
686 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
4-axis SC kinematics
],52 U \)/
\,52 T ] [)/
\:=
[,52 S [ ])/ [:=
\ ]:=
]52
\52
[52
① MD62612 $MC_TRAFO6_TIRORO_POS[2]
② MD62607 $MC_TRAFO6_MAIN_LENGTH_AB[0]
③ MD62608 $MC_TRAFO6_TX3P3_POS[0]
④ MD62610 $MC_TRAFO6_TFLWP_POS[0]
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 687
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
4-axis CS kinematic
U
T
S
],52
\,52 [+3
\+3
[,52 ]+3
\)/
])/ [)/
]52 \:=
\52
]:=
[52 [:=
① MD62612 $MC_TRAFO6_TIRORO_POS[2]
② MD62607 $MC_TRAFO6_MAIN_LENGTH_AB[0]
③ MD62608 $MC_TRAFO6_TX3P3_POS[0]
④ MD62608 $MC_TRAFO6_TX3P3_POS[2]
⑤ MD62610 $MC_TRAFO6_TFLWP_POS[2]
Special functions
688 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
Articulated-arm kinematics
4-axis NR kinematics
],52 U
T \)/
\,52 ]+3
[)/
]52
\52
[52
① MD62612 $MC_TRAFO6_TIRORO_POS[2]
② MD62607 $MC_TRAFO6_MAIN_LENGTH_AB[0]
③ MD62607 $MC_TRAFO6_MAIN_LENGTH_AB[1]
④ MD62608 $MC_TRAFO6_TX3P3_POS[0]
⑤ MD62610 $MC_TRAFO6_TFLWP_POS[0]
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 689
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
See also
Definition of a joint (Page 662)
Restrictions
The following restrictions apply to 5-axis kinematics:
1. There are restrictions for the flange coordinate system because the X flange axis must
intersect the 5th axis, nevertheless, it must not be parallel to it.
2. The frame T_FL_WP is subject to the following condition as far as 5-axis articulated-arm
kinematics are concerned:
– MD62610 $MC_TRAFO6_TFLWP_POS = [0.0, 0.0, Z] (frame between wrist point and
flange (position component))
– MD62611 $MC_TRAFO6_TFLWP_RPY = [A, 0.0, 0.0] (frame between wrist point and
flange (rotation component))
3. There are restrictions for the tool as far as 5-axis articulated-arm kinematics are concerned:
– 4. Axis parallel to the 3rd axis: 2-dimensional tool is possible [X, 0.0, Z]
– 4. Axis perpendicular to the 3rd axis: Only 1-dimensional tool is possible [X, 0.0, 0.0]
Special functions
690 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
4. There are restrictions for the tool as far as 5-axis Scara kinematics are concerned:
– 4. Axis perpendicular to the 3rd axis: 1-dimensional tool is possible [X, 0.0, 0.0]
5. Two successive basic axes must be parallel or orthogonal.
6. The 4th axis must only be mounted in a parallel or orthogonal way to the last basic axis.
Configuration
The procedure for configuring a 5-axis kinematic is as follows:
1. Enter "Standard" kinematic category in machine data:
MD62600 $MC_TRAFO6_KINCLASS (kinematic category)
2. Set the number of axes for transformation in the machine data:
MD62605 $MC_TRAFO6_NUM_AXES = 5 (number of transformed axes)
3. Compare the basic axes with the basic axes contained in the handling transformation
package.
– Enter the basic axis identifier in machine data:
MD62603 $MC_TRAFO6_MAIN_AXES (basic axis identifier)
4. If the axis sequence is not the same as the normal axis sequence, it must be corrected in
machine data:
MD62620 $MC_TRAFO6_AXIS_SEQ (rearrangement of axes)
5. ID specification for the wrist axes. If axis 4 and 5 intersect, a central hand (ZEH) is present.
In all other cases, the ID for beveled hand with elbow (BHE) must be entered in the machine
data:
MD62604 $MC_TRAFO6_WRIST_AXES (wrist axis identifier)
6. Whether axis 4 runs parallel/anti-parallel to the last rotary basic axis must be entered into
the machine data:
MD62606 $MC_TRAFO6_A4PAR (axis 4 is parallel/anti-parallel to last basic axis)
7. Enter the axis types for the transformation in machine data:
MD62601 $MC_TRAFO6_AXES_TYPE (axis type for transformation)
8. Compare the directions of rotation of axes with the directions defined in the handling
transformation package and correct in machine data:
MD62618 $MC_TRAFO6_AXES_DIR (matching of physical and mathematical directions
of rotation)
9. Enter the mechanical zero offset in the machine data:
MD62617 $MC_TRAFO6_MAMES (offset between mathematical and mechanical zero
points)
10.Enter the basic axis lengths in machine data:
MD62607 $MC_TRAFO6_MAIN_LENGTH_AB (basic axis lengths A and B)
11.Define frame T_IRO_RO and enter the offset in machine data:
MD62612 $MC_TRAFO6_TIRORO_POS (frame between base center point and internal
system (position component))
Define frame T_IRO_RO and enter the rotation in machine data:
MD62613 $MC_TRAFO6_TIRORO_RPY (frame between base center point and internal
system (rotation component))
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 691
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
12.Specification of frame T_X3_P3 to attach hand. The offset is entered in machine data:
MD62608 $MC_TRAFO6_TX3P3_POS (attachment of hand (position component))
The rotation is entered in the machine data:
MD62609 $MC_TRAFO6_TX3P3_RPY (attachment of hand (rotation component))
13.Specification of wrist axes parameters. For this purpose, only the parameters for axis 4
must be entered in the machine data:
MD62614 $MC_TRAFO6_DHPAR4_5A[0] (parameter A for configuring the hand)
MD62616 $MC_TRAFO6_DHPAR4_5ALPHA[0] (parameter A for configuring the hand)
All other parameters must be set to 0.0.
14.Determine the flange coordinate system. For this purpose, the hand-point coordinate
system must be regard as the initial system. The offset is entered in the machine data:
MD62610 $MC_TRAFO6_TFLWP_POS (frame between wrist point and flange (position
component))
The rotation is entered in the machine data:
MD62611 $MC_TRAFO6_TFLWP_RPY (frame between wrist point and flange (rotation
component))
SCARA kinematics
5-axis CC kinematics
0'
&& 0' 0&B75$)2B'+3$5B$>@
0&B75$)2B0$,1B
0'
/(1*7+B$%>@
0' 0&B75$)2B7)/:3B326>@
0&B75$)2B7;3B326>@
T ] \ ]+3 ])/
0'
]52 0&B75$)2B7,5252B326>@
\52
[52
Special functions
692 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
5-axis NR kinematics
15
0' 0'
0&B75$)2B0$,1B/(1*7+B$%>@ 0&B75$)2B7;3B326>@
],52 U
T ]+3 ])/ ]:=
\,52
[:=
[,52 S \+3 [)/
[+3 \)/ \:=
0' 0'
0' 0&B75$)2B0$,1B 0&B75$)2B7)/:3B326>@
0&B75$)2B /(1*7+B$%>@
7,5252B326>@
]52
\52
[52
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 693
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
See also
Definition of a joint (Page 662)
Special functions
694 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
[:=
]:=
[)/ \:=
])/
\)/
0'0&B75$)2B0$,1B/(1*7+B$%>@
0' $
[,52
0&B75$)2B0$,1B/(1*7+B$%>@ ],52
\,52
$ [52
0'0&B75$)2B7,5252B326>@
]52
\52
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 695
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
0' 0'
0&B75$)2B7;3B326>@ 0&B75$)2B7)/:3B326>@
\:= [:=
],52 \)/
\,52 ] [)/ ]:=
$ [,52 $ [ ])/
0'
0&B75$)2B7,5252B326>@ \
]52
\52
[52
$
Special functions
696 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
0' 0'
0&B75$)2B7;3B326>@ 0&B75$)2B0$,1B/(1*7+B$%>@
],52 ]
U \
\,52 T
[,52 S [
0'
0&B75$)2B7)/:3B
0' \)/ 326>@
0&B75$)2B0$,1B/(1*7+B$%>@
]52
\52 ])/ \:=
[)/ ]:=
[52
[:=
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 697
TE4: Handling transformation package - 840D sl only
17.5 Descriptions of kinematics
0' 0'0&B75$)2B
0&B75$)2B7;3B326>@ 0$,1B/(1*7+B$%>@
],52
])/
U ] \
\,52 T \)/
[)/
[,52 S [
]:=
\:=
0' [:=
0'
0&B75$)2B 0&B75$)2B0$,1B/(1*7+B$%>@
7,5252B326>@
0'
\52 0&B75$)2B7,5252B326>@
[52
]52
Special functions
698 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.6 Tool orientation
=
< %
;
$
① Tool axis
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 699
TE4: Handling transformation package - 840D sl only
17.6 Tool orientation
Machine data
<value> Meaning
TRUE G commands for orientation interpolation: ORIWKS and ORIMKS
FALSE G commands of the 51st G group for orientation interpolation: ORIAXES, ORIVECT,
ORIPLANE, ...
Programming
Function
The tool orientation can be programmed via:
● Directly programming the rotary axes
● Programming the Euler or RPY angle
● Programming the direction vector
Special functions
700 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.6 Tool orientation
The coordinate system in which motion is executed is defined using the ORIWKS and
ORIMKS commands.
Syntax
ORIWKS
ORIMKS
Meaning
Note
● ORIWKS is the preferred approach for a program independent of a particular machine.
● It is not possible to program the tool orientation using Euler angles, RPY angles or direction
vectors for kinematics involving fewer than 5 axes. For 4-axis kinematics with only one
rotary axis, there is only one degree of freedom for orientation. This orientation angle can
only be programmed with orientation axis angle "A".
● Transferring an orientation using ORIMKS is not allowed in the handling transformation
package. With an active transformation, the machine axis angles are not programmed and
traversed, but rather the "orientation angles" (RPY angles according to robotics definition,
see Section "Definition of positions and orientations using frames (Page 661)").
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 701
TE4: Handling transformation package - 840D sl only
17.6 Tool orientation
[+3
$
\+3
]52 ]+3
\)/
])/
\52 [)/
$
[52 \:=
]:=
[:=
Special functions
702 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.7 Singular positions and how they are handled
]:=
]52 ])/
\)/
\:=
[)/
\52
%
[52
$
[:=
The following machine data can be used to set the flange coordinate system on the user side
so that Z can be set as tool direction for 5-axis kinematics:
MD62636 $MC_TRAFO6_TFL_EXT_RPY (adaptation of the flange coordinate system)
The following machine data can be used to specify whether the tool direction should be set
according to the robotics convention (0 = default setting) or the NC convention:
MD62637 $MC_TRAFO6_TOOL_DIR (definition of the tool direction)
To provide a tool calculation function as usually available for machine tools, set the following
machine data:
MD62637 $MC_TRAFO6_TOOL_DIR = 1 (standard definition of the tool direction)
This machine data also has an effect on the rotation sequence of the virtual orientation axes.
For this purpose, the vector in the Z tool direction is first turned through angle A at the X axis
and then through angle B at the rotated Y axis. The rotation by the angle C is not possible for
5-axis kinematics because of the restricted degrees of freedom for the orientation.
Note
Additional information can be found in:
Function Manual, Special Functions, Section "Orientation axes"
and
Programming Manual, Job Planning, Section "Orientation axes".
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 703
TE4: Handling transformation package - 840D sl only
17.8 Call and application of the transformation
Singular positions
● A singular position is, for example, characterized by the fact that the fifth axis is positioned
at 0°. In this case, the singular position does not depend on a specified orientation. The
fourth axis is not specified in this position, i.e., the fourth axis does not have any influence
on the position or the orientation.
● A singular position also applies for articulated arm and SCARA kinematics if the third axis
is at 0° or 180°. These positions are called leveling/diffraction singularity.
● Another singular position exists for articulated arm kinematics if the hand point is above
the rotary axis of axis 1. This position is called overhead singularity.
Behavior at pole
The unwanted behavior of fast compensating movements can be improved by reducing the
velocity in the proximity of a pole. Traveling through the pole with active transformation is
usually not possible.
Activating
The transformation is activated by means of the TRAORI(1) command.
Once the TRAORI(1) command has been executed and the transformation thus activated,
the interface signal switches to "1":
DB21, … DBX33.6 (transformation active)
If the machine data have not been defined for an activated transformation grouping, the NC
program stops and the control displays the alarm 14100 "Orientation transformation does not
exist".
For more information, go to:
References:
Programming Manual, Production Planning,
Section: "5-axis machining"
Special functions
704 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.9 Actual value display
Deactivating
The currently active transformation is deactivated by means of TRAFOOF or TRAFOOF().
Note
When the "Handling transformation package" transformation is deactivated, no preprocessing
stop and no synchronization of the preprocessing with the main run is performed.
RESET/end of program
The control behavior in terms of transformation following run-up, end of program or RESET
depends on machine data:
MD20110 $MC_RESET_MODE_MASK (definition of control basic setting na)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 705
TE4: Handling transformation package - 840D sl only
17.10 Tool programming
Meaning
The tool lengths are specified in relation to the flange coordinate system. Only 3-dimensional
tool compensations are possible. Depending on the kinematic type, there are additional tool
restrictions for 5-axis and 4-axis kinematics. For a kinematic as illustrated in Fig. "5-axis NR
kinematic", only a 1-dimensional tool with lengths in the x direction is permitted.
The tool direction is dependent on the machine's initial setting, as specified with G codes G17,
G18 and G19. The tool lengths refer to the zero position specified by G17. This zero position
should not be modified in the program.
Example
An example of a 2-dimensional tool mounted on a 5-axis Scara is described below (see Fig.
"5-axis CC kinematic"). Type 100 (cutting tool) is specified as the tool identifier. The tool lengths
result from the specifications shown in Fig. "Tool length programming". X-TOOL must be
entered as tool length x and Y-TOOL must be entered as tool length y in the tool parameters.
;722/
]+3 ])/
[+3 [)/
]:=
<722/
\+3 \)/
$ $
[:=
\:=
Special functions
706 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.12 Startup
References
For additional information on the function "Cartesian PTP travel" see:
Programming Manual, Job Planning; Transformations,
Section: Cartesian PTP travel
17.12 Startup
Option
The "Handling transformation package" function is an option for which a license must be
purchased:
● Transformation Handling RCTRA, Order No.: 6FC5800-0AM31-0YB0
A detailed description of licensing, for instance the assignment between a license and
hardware, is provided in:
References
Commissioning Manual, CNC Commissioning: NCK, PLC, drive
Section: "Licensing"
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 707
TE4: Handling transformation package - 840D sl only
17.12 Startup
Parameterizing transformation
1. Enter the transformation type into the machine data:
– MD24100 $MC_TRAFO_TYPE_1 = 4100 (definition of transformation 1 in the channel)
2. Enter the assignment of the channel axes involved in the transformation in the machine
data (axis numbers, starting at 1):
– MD24110 $MC_TRAFO_AXES_IN_1[0 ... 5] (axis assignment for transformation)
3. Enter the geometry axes corresponding to the Cartesian degrees of freedom of the machine
in the machine data:
– MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[0 ... 2] (assignment between
geometry axis and channel axis for transformation 1)
4. Enter the kinematic identifier in the machine data:
– MD62600 $MC_TRAFO6_KINCLASS (kinematic category)
5. Enter the identifier for special kinematics, if there are any, in machine data:
– MD62602 $MC_TRAFO6_SPECIAL_KIN (special kinematic type)
6. Enter the number of axes in the machine data:
– MD62605 $MC_TRAFO6_NUM_AXES (number of transformed axes)
7. If the travel direction of the involved axes is opposed to the transformation definition, then
change the factory setting in the machine data:
– MD62618 $MC_TRAFO6_AXES_DIR[ ] (matching of physical and mathematical
directions of rotation)
8. Enter the data which define the basic axes:
– MD62603 $MC_TRAFO6_MAIN_AXES (basic axis identifier)
– MD62607 $MC_TRAFO6_MAIN_LENGTH_AB (basic axis lengths A and B)
9. Enter any changes to the axis sequence in the machine data:
– MD62620 $MC_TRAFO6_AXIS_SEQ (rearrangement of axes)
10.Enter the data which define the wrist axis:
– MD62604 $MC_TRAFO6_WRIST_AXES (wrist axis identifier)
– MD62614 $MC_TRAFO6_DHPAR4_5A (parameter A for configuring the wrist axis)
– MD62615 $MC_TRAFO6_DHPAR4_5D (parameter D for configuring the wrist axis)
– MD62616 $MC_TRAFO6_DHPAR4_5ALPHA (parameter ALPHA for configuring the
wrist axis)
– MD62606 $MC_TRAFO6_A4PAR (axis 4 is parallel/anti-parallel to last basic axis)
11.Enter the geometry parameters:
– Frame T_IRO_RO
– Frame T_X3_P3
– Frame T_FL_WP
Special functions
708 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.13 Supplementary conditions
12.Enter the position in relation to the calibration point in the machine data:
– MD62617 $MC_TRAFO6_MAMES (offset between mathematical and mechanical zero
points)
13.Enter the Cartesian velocities and acceleration rates.
Clearance control
The handling transformation package cannot be used together with the technology function:
"clearance control".
Several transformations
The handling transformation package can be activated just once per channel in all channels.
Tool programming
Tools can only be parameterized by specifying tool lengths. It is not possible to program an
orientation for the tool.
Programming of orientation
The programming possibilities of the orientation depend on the number of axes available on
the machine:
● Number < 5:
– Orientation axis angle
● Number = 5:
– Orientation axis angle
– Orientation vector
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 709
TE4: Handling transformation package - 840D sl only
17.14 Data lists
Singularities
A pole cannot be directly passed through when a transformation is active.
NOTICE
Traversing close to the pole
When traversing close to the pole, the axes involved can be overloaded. This is because the
control does not automatically reduce or limit the feedrate, acceleration or jerk. As a
consequence, the user is responsible in limiting the feedrate of the axes involved and/or the
clearance to the pole.
Special functions
710 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE4: Handling transformation package - 840D sl only
17.14 Data lists
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 711
TE4: Handling transformation package - 840D sl only
17.14 Data lists
17.14.2 Signals
Special functions
712 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE6: MCS coupling - 840D sl only 18
18.1 Brief description
If there are two or more separately traversable machining heads on a machine tool and a
transformation is required for machining, the orientation axes of the machining heads cannot
be coupled via the standard coupling functions COPON, TRAILON. The coupling is performed
in the workpiece coordinate system (WCS). However, under the aforementioned conditions
the coupling of the orientation axes must be performed in the machine coordinate system
(MCS).
The compile cycle "MCS coupling" can be used to parameterize coupling in the machine
coordinate system (MCS) with coupling factors "1" and "-1" for a master axis, referred to as
CC_Master in the following, and several slave axes, referred to as CC_Slave in the following.
The couplings can be switched on and off via commands in the part program.
0DFKLQLQJKHDG
0DFKLQLQJKHDG
<
<
=
=
$
$
:
:
& ;
8
&
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 713
TE6: MCS coupling - 840D sl only
18.2 Description of MCS coupling functions
Tolerance window
When the coupling is active, the actual values of the CC_Master and CC_Slave are monitored
for compliance with a parameterizable tolerance window.
Programming a CC-Slave
If a CC_Slave is programmed in a channel, either an alarm is displayed or the axis is requested
for the channel via an implicitly triggered axis interchange (GET), depending on the setting in
machine data:
MD30552 $MA_AUTO_GET_TYPE = <GET type> (automatic GET for axis)
Collision protection
In order to protect the machining heads against collision in decoupled operation or in mirrored
coupling, a collision protection can be parameterized. The activation is performed via machine
data or the NC/PLC interface. The assignment of the protected pairs is not dependent on the
CC_Master and CC_Slave pairs.
Special functions
714 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE6: MCS coupling - 840D sl only
18.2 Description of MCS coupling functions
Requirements
● The CC_Master and CC_Slave axes must be either both rotary axes or both linear axes.
● Spindles cannot be coupled by this function.
● Neither the CC_Master nor CC_Slave axis may be an exchange axis
($MA_MASTER_CHAN[AXn]=0)
Axis name
An axis can be specified via:
● Machine axis name
● Channel axis name
● Geometry axis name
Boundary conditions
● A programmed axis must be involved in a coupling.
● CC_Master axes, CC_Slave axes or both can be programmed simultaneously. All defined
couplings are switched on with CC_COPON or CC_COPONM.
● An alarm is output if an axis not involved in a coupling is programmed.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 715
TE6: MCS coupling - 840D sl only
18.2 Description of MCS coupling functions
Boundary condition
A coupling can only be switched on or off when the axes are at standstill.
Note
The offset might change:
● if the SW limit monitor was active for one axis during the main run,
● if one axis has been switched to follow-up mode,
● if collision protection was active for one axis.
Special functions
716 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE6: MCS coupling - 840D sl only
18.3 Description of collision protection
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 717
TE6: MCS coupling - 840D sl only
18.3 Description of collision protection
WARNING
Risk of collision when starting
If the axes are forced to brake, the positions displayed in the workpiece coordinate system
are incorrect!
These are not re-synchronized again until a system RESET.
If the axes are already violating the minimum clearance when collision protection is activated,
they can only be traversed in one direction (retraction direction). The retraction direction is
configured in machine data:
MD63543 $MA_CC_PROTECT_OPTIONS
The collision protection status is optionally displayed in axial VDI-Out byte of the PSlave:
DB31, … DBX66.0 (activate monitoring)
● DB31, … DBX66.0=1 → collision protection active
● DB31, … DBX66.0=0 → collision protection inactive
This output is activated via Bit7 in machine data of the PSlave axis:
MD63543 $MA_CC_PROTECT_OPTIONS
&&B&2//,6,21B:,1>36ODYH@
&&B3527(&7B237,216>30DVWHU@ELW
30DVWHU
36ODYH
&&B3527(&7B237,216>36ODYH@ELW
&&B2))6(7B0$67(5>36ODYH@
Special functions
718 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE6: MCS coupling - 840D sl only
18.4 User-specific configurations
Note
Since the collision protection function extrapolates the target positions from the "current
velocity + maximum acceleration (or +20%)", the monitoring alarm may be activated
unexpectedly at reduced acceleration rates:
Example:
PMaster = X, PSlave = X2, $MA_CC_COLLISION_WIN = 10mm
Starting point in part program: X=0.0 X2=20.0
N50 G0 X100 X2=90
; the monitoring alarm is activated because X and X2 are interpolating together: for this reason,
the acceleration rate of X2 < maximum acceleration.
Remedy:
● N50 G0 POS[X]=100 POS[X2]=90
● or switch the monitoring function off.
Note
When an axis/spindle inhibit is active, a part program can be executed if this axis is not
operating under position control.
Spindle functionalities
Since an MCS coupling cannot be activated for spindles, other types of solutions should be
configured for these.
● Positioning the spindle (SPOS= ...)
Instead, a cycle is called from SPOS. SPOS is called for all active spindles in this cycle.
● Speed default
Speed and direction of rotation inputs can be detected via synchronized actions or PLC
and passed on to all other active spindles.
● Synchronous spindle function
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 719
TE6: MCS coupling - 840D sl only
18.5 Special operating states
Reset
The couplings can remain active after a RESET.
Reorg
No non-standard functionalities.
Block search
During a block search, the last block containing an OEM-specific language command is always
stored and then output with the last action block. This feature is illustrated in the following
examples. The output positions of the axes are always 0.
Example 1:
N01 M3 S1000
N02 G01 F1000 X10 Y10
N03 CC_COPON( X, Y)
TARGET:
If this program is started normally, axes X and Z traverse to X10 Z10 in the decoupled state.
After block search to TARGET: axes X and Y traverse to this position in the coupled state!
Example 2:
N01 M3 S1000
N02 CC_COPON( X)
N03 G01 F1000 X100 Y50
N04 CC_COPOFF( X)
N05 CC_COPON( Y)
N06 Y100
N10 CC_COPOFF()
TARGET:
After block search to TARGET: the axes traverse to X100 Y100 in the decoupled state.
Example 3:
N01 CC_COPON( X, Y, Z)
N02 ...
...
N10 CC_COPOFF( Z)
TARGET:
After block search to TARGET: no coupling is active!
Special functions
720 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE6: MCS coupling - 840D sl only
18.7 Data lists
Single block
There are no nonstandard functionalities.
Validity
The function is configured only for the first channel.
Braking behavior
Braking behavior at the SW limit with path axes
The programmable acceleration factor ACC for braking at the SW limit corresponds to the path
axes.
The axes in an MCS coupling are principal axes that are referred to as geometry axes due to
their geometric arrangement.
Braking geometry axes using synchronized actions
The faster deceleration capacity as required for path axes can be implemented for geometry
axes as follows using a synchronized action:
ACC[x2]=190
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 721
TE6: MCS coupling - 840D sl only
18.7 Data lists
Special functions
722 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE7: Continue machining at the contour (retrace
support) - 840D sl only 19
19.1 Brief description
Function
The "Continue machining - Retrace support (RESU)" technological function supports the
retracing of uncompleted 2-dimensional machining processes such as laser cutting, water jet
cutting, etc.
In the event of a fault during the machining process, e.g. loss of the laser, RESU can be used
even by machine operators who do not have specific knowledge of the active part program to
interrupt machining and travel back along the contour from the interruption point to a program
continuation point necessary for machining purposes.
After reaching the "continue machining" point, the machine operator triggers the re-machining.
As part of the retrace process, an implicit block search takes place along the contour with
calculation followed by repositioning on the contour and automatic retracing of the part program
machining process.
The retrace option is selected and deselected in advance using part program commands within
the machining program. The program continuation point can be selected at any position within
the contour ranges specified in this way.
3URJUDPFRQWLQXDWLRQSRLQW
*HRPHWU\D[LV
1
1
1&&B35(35(
5(686WDUW 1
1 1
1
1&&B35(35(
5(686WRS
1
*HRPHWU\D[LV
Figure 19-1 Programmed contour with program continuation and interruption points
Precise retracing of contours is possible on all programmed contours comprising straight and
circular elements. During retracing, other programmed contour elements such as splines or
automatically inserted non-linear contour elements (circle, parable, etc. e.g. through tool radius
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 723
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.2 Function description
compensation) are mapped as straight lines through the start and end points of the
corresponding contour element, thereby preventing precise retracing of contours.
Function code
The code for the "Continue Machining - Retrace support" technological function for function-
specific identifiers of program commands, machine data, etc. is:
RESU (= REtrace SUpport)
Restrictions
The use of the "Continue Machining Retrace support" technological function is subject to the
following restrictions:
● The technological function is available only in the 1st channel of NC.
● Program continuation or reverse travel is only possible for part program blocks that contain
traversing blocks in the configured RESU working plane (e.g. 1st and 2nd geometry axis
of the channel, see Section "Definition of the RESU working plane (Page 730)").
References
The "Continue Machining - Retrace support" technological function is a compile cycle. For the
handling of compile cycles, see Section "TE01: Installation and activation of loadable compile
cycles (Page 573)".
19.2.1 Function
Special functions
724 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.2 Function description
Continue machining might be required for example in a laser cutting application if the laser is
lost during the machining operation and machining needs to resume at the point at which it
was interrupted.
RESU supports the machining continuation via the following automatically running sub-
functions:
● Function-specific reverse travel along the contour to the required program continuation point
● Automatic identification of the part program block associated with the program continuation
point
● Block search with calculation on the contour for the part program block identified
● Repositioning on the contour at the program continuation point
● Continuation of part program machining
To approach the required program continuation point exactly, it is possible to switch several
times between reverse and forward travel along the contour during the continue machining
process.
5HWUDFHDEOHFRQWRXUUDQJH
*HRPHWU\D[LV
1 1&&B35(35(
1
1&&B35(35(
1
1&&B35(35(
1 1
1
1&&B35(35(
1
*HRPHWU\D[LV
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 725
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.2 Function description
Interruption point
The interruption point is the point of the contour at which the traversing movement comes to
a standstill following an NC stop and reverse travel is activated.
Requirements
A part program with traversing blocks in the configured RESU working plane (e.g. 1st and 2nd
geometry axis of the channel) as well as the part program command for the RESU start has
been started in the 1st channel.
Functional sequence
1. Interrupt part program processing:
The part program processing / traversing movement may be interrupted any number of
traversing blocks after RESU start by NC stop.
2. Select reverse travel:
The selection of the reverse travel is by PLC interface signal:
DB21, … DBX0.1 = 1 (forward / reverse)
3. Reverse travel:
The contour is traversed in the RESU working plane in the reverse direction with NC start.
Instead of the current machining program, RESU selects the automatically generated
RESU main program.
For more about RESU programs, see Section "RESU-specific part programs (Page 736)".
4. End reverse travel:
Once the required program continuation point on the contour has been reached, reverse
travel is ended using NC stop.
Special functions
726 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.2 Function description
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 727
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.2 Function description
,QWHUIDFHVLJQDOV
ཱ ི ཱི ུ ཱུ ྲྀ ཷ
WR1&FKDQQHO3/&ൺ1&.
'%'%;
5HYHUVH)RUZDUG
'%'%;
6WDUWFRQWLQXHPDFKLQLQJ
IURP1&FKDQQHO1&.ൺ3/&
'%'%;
5HWUDFHPRGHDFWLYH
'%'%;
&RQWLQXHPDFKLQLQJDFWLYH
'%'%;
%ORFNVHDUFKDFWLYH
'%'%;
$FWLRQEORFNDFWLYH
'%'%;
/DVWDFWLRQEORFNDFWLYH
'%'%;
$683VWRSSHG
'%'%;
$SSURDFKEORFNDFWLYH
'%'%;
1&6WDUW
'%'%;
1&6WRS
1&6WDUWLV
UHMHFWHGZLWKDQDODUP
Special functions
728 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.2 Function description
: SURJUDPFRQWLQXDWLRQSRLQW
8 LQWHUUXSWLRQSRLQW
5HYHUVHWUDYHO0D[5(68UDQJH
1&&B35(35(
:PD[ :
5HYHUVHWUDYHO0D[5(68UDQJH
1*;)
1*;<
*HRPHWU\D[LV
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 729
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.3 Startup
19.3 Startup
19.3.1 Activation
Before commissioning the technological function, ensure that the corresponding compile cycle
has been loaded and activated (see also Section "TE01: Installation and activation of loadable
compile cycles (Page 573)").
Activation
The "Continue machining - Retrace support" technology function is activated via the following
machine data:
MD60900+i $MN_CC_ACTIVE_IN_CHAN_RESU[0], bit 0 = 1
Note
The "Continue machining - Retrace support" technological function is available only in the
1st channel of NC.
Value Meaning
1 The RESU working plane is formed by the 1st and 2nd Geometry axes of the 1st channel (for
G17).
2 The RESU working plane is formed by the 1st and 3rd Geometry axes of the 1st channel (for
G18).
3 The RESU working plane is formed by the 2nd and 3rd Geometry axes of the 1st channel (for
G19).
Special functions
730 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.3 Startup
Memory requirements
RESU requires compile cycles heap memory for the following function-specific buffers:
● Block buffer
The larger the block buffer (see "Figure 19-6 RESU-specific part programs (Page 736)"),
the larger the number of part program blocks that can be traversed backwards.
32 bytes are required per part program block.
The block buffer can be parameterized directly.
● Block search buffer
The block search buffer contains the information required for processing subprogram
searches in the context of RESU.
180 bytes are required for each subprogram. The block search buffer requires at least 2880
bytes (16 subprogram calls with 180 bytes each).
The block search buffer cannot be parameterized directly.
A function-specific GUD variable displays the size of the block search buffer (for creation
of GUD variables, see Section "Channel-specific GUD variables (Page 746)").
0&B5(68B5,1*B%8))(5B6,=(
0&B5(68B6+$5(B2)B&&B+($3B0(0
0'0&B00B180B&&B+($3B0(0
%ORFNEXIIHU 0'
0'
0'
0'
%ORFNVHDUFKEXIIHU 0'
+HDSPHPRU\IRU
DGGLWLRQDOFRPSLOH
F\FOHV
Memory configuration
Size of the compile cycle heap memory
The size of the heap memory in KB that can be used by the user for compile cycles is defined
via the memory configuring channel-specific machine data:
MD28105 $MC_MM_NUM_CC_HEAP_MEM
For RESU, the already existing machine data value (x) is adjusted as follows:
MD28105 $MC_MM_NUM_CC_HEAP_MEM = x + 50
Size of the block buffer
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 731
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.3 Startup
The size of the block buffer is adjusted via the machine data:
MD62571 $MC_RESU_RING_BUFFER_SIZE
Default setting:
MD62571 $MC_RESU_RING_BUFFER_SIZE = 1000
RESU portion of the total heap memory
The RESU portion of the total heap memory that can be used for compile cycles is set via the
machine data:
MD62572 $MC_RESU_SHARE_OF_CC_HEAP_MEM
Default setting:
MD62572 $MC_RESU_SHARE_OF_CC_HEAP_MEM = 100
Error messages
The block search buffer requires at least 2880 bytes (corresponding to 16 subprogram calls
with 180 bytes each). Otherwise, the following alarm will be generated during NC power-up:
Alarm 75600 "Channel 1 Retrace Support: Incorrect MD configuration, error no. 5"
If the block search buffer is not big enough during operation, the following alarm appears:
Alarm 75606 "Channel 1 retraceable contour shortened"
Memory configuration
The storage location of the RESU main program CC_RESU.MPF can be set with the following
machine data (see Section "Main program (CC_RESU.MPF) (Page 737)"):
MD62574 $MC_RESU_SPECIAL_FEATURE_MASK (additional RESU features)
Special functions
732 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.3 Startup
Series commissioning
Due to the default setting of MD62574 Bit 2, the RESU-specific subroutines along with their
contents are stored as user cycles the first time the NC is powered up after the activation of
the technological function.
If the setting is then changed to specify that the RESU-specific subroutines are to be stored
as manufacturer cycles, the RESU-specific subroutines already created as user cycles are
retained even after a new power-up and must be deleted.
As support for series commissioning, the RESU-specific subroutines present as user cycles
can be deleted without prompting when the NC is powered up:
MD62574 $MC_RESU_SPECIAL_FEATURE_MASK, Bit 3 = 1
Note
A requirement for using ASUBs is that the "Cross-mode actions" option must be available.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 733
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.3 Startup
The following machine data must be set for the start enable for the RESU-specific ASUB
CC_RESU_ASUP.SPF while the channel is in the NC STOP state:
MD11602 $MN_ASUP_START_MASK, bit 0 = 1 (ignore stop reason for ASUB)
MD11604 $MN_ASUP_START_PRIO_LEVEL = 1 (priorities from which MD11602 is
effective)
Requirements
The following functionality is necessary for the sequential coordination of the RESU function
in the PLC user program:
Program example
The following program extract implements the changes described above:
Special functions
734 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.4 Programming
19.4 Programming
Syntax
CC_PREPRE(<mode>)
Meaning
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 735
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.5 RESU-specific part programs
RESET response
For the following reset events, CC_PREPRE(-1) is implicitly executed:
● Power on (warm restart)
● Channel reset
● End of program reset (M30)
19.5.1 Overview
RESU uses the following, automatically generated and partially adjustable part programs:
Program Name
Main program CC_RESU.MPF
INI program CC_RESU_INI.SPF
END program CC_RESU_END.SPF
Continue machining ASUB CC_RESU_BS_ASUP.SPF
RESU ASUB CC_RESU_ASUP.SPF
The following figure provides an overview of the internal structure of the technological function
and the relationship between the various part programs.
5(68LQWHUQDO
EORFNEXIIHU
5(68PDLQSURJUDP 5(68,1,SURJUDP
3DUWSURJUDP 1 &&B5(6803) &&B5(68B,1,63)
1 &&B5(68B,1,63)
&DQEHFKDQJHG
1 1
1&&B35(35( &DQQRWEHFKDQJHG
1VWUHWUDFHDEOH 5(68(1'SURJUDP
1
WUDYHUVLQJEORFN &&B5(68B(1'63)
&&B5(68B(1'63)
&DQEHFKDQJHG
1LQWHUUXSWHG
WUDYHUVLQJEORFN
1ODVWUHWUDFHDEOH
WUDYHUVLQJEORFN
1
&&B35(35( 5(68$68% 5(68UHWUDFHVXSSRUW$68%
&&B5(68B$68363) &&B5(68B%6B$68363)
&DQQRWEHFKDQJHG &DQEHFKDQJHG
10
Special functions
736 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.5 RESU-specific part programs
Function
In addition to the calls for the RESU-specific subprograms, the RESU main program
"CC_RESU.MPF" contains the traversing blocks generated from the traversing blocks logged
in the block buffer for reverse/forward travel along the contour. The program is always
regenerated by the RESU function if, once the part program has been interrupted, the status
of the following interface signal changes:
DB21, … DBX0.1 (Reverse / Forward)
Note
CC_RESU.MPF must not be changed. User-specific adjustments are to be made in the
corresponding RESU-specific subprograms.
Error messages
By default, RESU generates traversing blocks for the entire retraceable contour range logged
in the block buffer. If there is not enough memory for all traversing blocks to be generated in
the parameterized memory area of the RESU main program (see Section "RESU main program
memory area (Page 732)"), RESU reduces the number of generated traversing blocks.
The lacking memory and/or reduction in the number of the generated traversing blocks is
indicated by an alarm:
RESU alarm 75608 "Channel number NC memory limit reached, RAM type type"
If the RESU main program is created in the static user memory, the following system alarm
appears at the same time as the RESU alarm:
Alarm 6500 "NC memory full"
Note
If the number of traversing blocks generated is reduced due to insufficient memory, the entire
retraceable contour can still be retraced for retrace support. To do this, proceed as follows:
● Reverse travel up to the end of the RESU main program
● Two-time change of the interface signal:
DB21, … DBX0.1 (Reverse/Forward)
Using the current position as a new interruption point enables RESU to generate a new RESU
main program.
Subsequently, travel is possible as far as the end of the retraceable contour range or, if the
limits have changed, as far as the starting point of the last traversing block that can be
generated.
The procedure described can be repeated as many times as required both for reverse and
forward travel.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 737
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.5 RESU-specific part programs
Function
The RESU-specific subprogram "CC_RESU_INI.SPF" contains the defaults required for the
reverse travel:
Program structure
CC_RESU_INI.SPF has the following content by default:
PROC CC_RESU_INI
Special functions
738 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.5 RESU-specific part programs
CAUTION
Program changes
By changing the content of the RESU-specific subprogram "CC_RESU_INI.SPF", the user
(machine manufacturer) takes over the responsibility for the correct sequence of the
technological function.
Note
CC_RESU_INI.SPF may be changed.
CC_RESU_INI.SPF must not contain any RESU part program commands. CC_PREPRE(x).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 739
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.5 RESU-specific part programs
Function
The task of the RESU-specific subroutine "CC_RESU_END.SPF" is to stop reverse travel once
the end of the retraceable contour is reached. If the RESU function is parameterized
appropriately, this scenario will not arise under normal circumstances.
Program structure
CC_RESU_END.SPF has the following content by default:
PROC CC_RESU_END
M0
M17
CAUTION
Program changes
By changing the content of the RESU-specific subroutine "CC_RESU_END.SPF", the user
(machine manufacturer) takes over the responsibility for the correct sequence of the
technological function.
Note
CC_RESU_END.SPF may be changed.
CC_RESU_END.SPF must not contain any RESU part program commands. CC_PREPRE(x).
Function
The NC is forced to approach the current path point during machining continuation with the
help of the RESU-specific ASUB "CC_RESU_BS_ASUP.SPF":
Program structure
CC_RESU_BS_ASUP.SPF has the following content by default:
Special functions
740 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.5 RESU-specific part programs
M17
CAUTION
Program changes
By changing the content of the RESU-specific subroutine "CC_RESU_BS_ASUP.SPF", the
user (machine manufacturer) takes over the responsibility for the correct sequence of the
technological function.
Note
CC_RESU_BS_ASUP.SPF may be changed.
User-specific modifications must be inserted before the part program block RMN.
Function
The RESU-specific ASUB "CC_RESU_ASUP.SPF" is required internally for the function. The
ASUB is initiated if the following RESU interface signal is switched over in the NC stop state:
DB21, … DBX0.1 (Forward/Reverse)
Program structure
CC_RESU_ASUP.SPF has the following content:
PROC CC_RESU_ASUP
; siemens system asub - do not change
G4 F0.001
M0
REPOSA
M17
Note
CC_RESU_ASUP.SPF must not be changed.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 741
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.6 Retrace support
Requirement
In order for retrace support to function, the retrace mode, launched by means of the request
for reverse travel, must be active in the channel:
DB21, … DBX32.1 = 1 (retrace mode active)
(See Section "Functional sequence (principle) (Page 726)")
Subfunctions
The two essential subfunctions of retrace support are the standard NC functions:
● Block search with calculation on contour
● Repositioning on the contour via shortest route (REPOS RMN)
Function
The block search with calculation on the contour initiated implicitly by RESU within the
framework of the retrace support has the following tasks:
● Set the program pointer on the part program block on which repositioning was done with
the help of Reverse / Forward travel
● Calculates the axis positions on the basis of the programmed traversing blocks from the
start of the part program to the target block
● Collates the instructions programmed from the start of the part program to the target block,
which are executed in the action block. These include:
– Auxiliary functions
– Tool change
– Spindle functions
– Feedrate programming
Special functions
742 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.6 Retrace support
All part program instructions which are not executed in the action block but are required for
retrace support in the part program must be entered manually in the RESU-specific retrace
support ASUB CC_RESU_BS_ASUP.SPF, e.g.:
● Synchronized actions
● M functions
References
The complete description of the Block search is available in:
Basic Functions Function Manual; Mode Group, Channel, Program Mode (K1), Program test
19.6.3 Reposition
Function
Following the end of the last action block (last traversing block before repositioning), NC Start
outputs the approach block for repositioning all channel axes programmed in the part program
as far as the target block.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 743
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.6 Retrace support
Geometry axes
In the approach block, the geometry axes of the RESU working plane (e.g. 1st and 2nd
geometry axes of the channel) traverse the shortest route along the contour to the program
continuation point.
1HJVSOLQHEORFN
*HRPHWU\D[LV
3URJUDPFRQWLQXDWLRQSRLQW
1
1&&B35(35( 5(326VWDUWLQJ
SRLQW
1
1
*HRPHWU\D[LV
3DWKVHFWLRQVWUDYHUVHG
3DUWSURJUDPSURFHVVLQJ
5HYHUVHWUDYHO
Channel axes
All other channel axes programmed in the part program travel to the relevant position
calculated in the block search.
Special functions
744 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.6 Retrace support
Functionality
For retrace support with block search from the last main block, the search for the target block
takes place in 2 stages:
1. Block search without calculation from start of machining program to last main block before
target block. Subprograms are ignored during this search, i.e. it takes place exclusively in
the main program.
2. Block search with calculation on contour from main block to target block. This block search
does not ignore subprograms.
Requirement
To enable a search from last main block for retrace support, at least one main block must be
programmed after the RESU start CC_PREPRE(1).
Main block
All instructions required for processing the subsequent section of the part program must be
programmed in one main block.
The main blocks are to be designated with a Main Block No. consisting of the sign ":" and a
positive whole number (block number).
References:
Programming Manual, Fundamentals; Fundamentals of NC Programming, Language
Elements of the Programming Language
Activation
Activation of the block search from the last main block is performed using the RESU-specific
machine data:
MD62575 $MC_RESU_SPECIAL_FEATURE_MASK_2, bit 0 (additional RESU features)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 745
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.7 Function-specific display data
Supplementary conditions
In order that a new retrace support operation can take place following a retrace support
operation with block search from last main block, the RESU start CC_PREPRE(1) must be
programmed in the retrace support ASUB "CC_RESU_BS_ASUP.SPF".
Programming example:
After the startup of the technological function, the GUD variable is not displayed automatically
on the operator panel.
Special functions
746 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.9 Boundary conditions
Note
The new GUD variable, which is already being displayed, will be detected by the RESU function
and supplied with an up-to-date value only following an NCK POWER ON Reset. Hence, a
NCK POWER-ON must be initiated after the creation.
References
The exact procedure to be following while creating and displaying GUD variables depends on
the software version of the existing operator panel and is described in the:
● Operating Manual
Number of passes P
Subprogram repetitions using number of passes P are taken into account for retrace support.
This means that retrace support is performed in the part program with the correct reference to
the part program block and number of passes P to the program continuation point of the contour.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 747
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.9 Boundary conditions
● LOOP ENDLOOP
● FOR ENDFOR
● WHILE ENDWHILE
● REPEAT UNTIL
● CASE/IF-ELSE-ENDIF in conjunction with GOTOB
WARNING
Risk of collision
Significant contour deviations can occur during the machining if the programmed continuation
point at the programmed contour is the result of a loop run that is not equal to the first loop
run.
If retrace support is performed within program loops, the retrace support is always effective
in the first loop run.
Special functions
748 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.9 Boundary conditions
WARNING
Risk of collision when traversing
The machine operator must ensure that collision of the associated traversing movements
does not take place during the entire machining continuation operation within the framework
of the technological function of RESU.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 749
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.9 Boundary conditions
19.9.2.5 Transformations
RESU can also be used for active kinematic transformation (e.g. 5-axis transformation) subject
to restrictions, as the traversing movements of the two geometry axes of the RESU working
plane are recorded in the basic coordinate system (BCS) and therefore before the
transformation (see also Section "TE4: Handling transformation package - 840D sl only
(Page 659)").
Transformation changeover
While RESU is active, no transformation changes are permitted to take place and
transformation must not be activated/deactivated.
The RESU activity:
● Starts:
– with the part program command CC_PREPRE(1)
● Ends with:
– the program end
or
– with the part program command CC_PREPRE(-1)
References
A full description of the transformations is available in:
Function Manual, Extended Functions; Kinematic Transformation (M1)
19.9.2.6 Compensations
RESU can be used in interaction with compensations, because the traversing movements of
the two geometry axes of the RESU working plane is recorded in the basic coordinate system
(BCS) and therefore before the compensation.
Special functions
750 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.9 Boundary conditions
19.9.2.7 Frames
RESU can be used in conjunction with frames.
However, as the traversing movements of the two geometry axes of the RESU working plane
are recorded in the basic coordinate system (BCS) and therefore after the frames have been
taken into account, the frame offsets must be deactivated during retrace support (reverse /
forward travel).
The frame offsets are deactivated during retrace support via the standard default settings of
the RESU-specific subprogram "CC_RESU_INI.SPF" (see Section: "INI program
(CC_RESU_INI.SPF) (Page 738)").
A full description of the frames can be found in:
Reference:
Function Manual, Basic Functions; Axes, Coordinate Systems, Frames (K2)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 751
TE7: Continue machining at the contour (retrace support) - 840D sl only
19.10 Data lists
Special functions
752 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE8: Cycle-independent path-synchronous switching
signal output - 840D sl only 20
20.1 Brief description
Function
The "Cycle-independent path synchronized switching signal output" technological function
serves the purpose of switching time-critical, position-based machining processes on and off
quickly, e.g. high speed laser cutting (HSLC; High Speed Laser Cutting).
The switching signal output can be block-related or path length-related:
● Block-related switching signal output
The switching signal output and therefore, the activation / deactivation of the machining is
undertaken independently of the status changes:
– Rapid travel mode G00 active / inactive
– Programmed feed threshold fell short / exceeded
● Path length-related switching signal output
The switching signal output and therefore, the activation / deactivation of the machining
takes place in a continuous change and is monitored along the traversed path.
This enables a regular machining without the individual switching positions having to be
programmed explicitly.
The activation or selection of the mentioned options leads to the monitoring of the output of
the digital signal which is programmed with a part program command.
I/Os
Only the on-board I/Os of the NC module can be used as the digital I/O via which the switching
signal is output: The switching signal can only be output via one of the 4 on-board digital outputs
on the NCU module.
Restrictions
The use of the "Cycle-independent path synchronized switching signal output" technological
function is subject to the following restriction:
● The technological function is available only in one channel of NC.
References
The "cycle-independent path-synchronous switching signal output" technological function is a
compile cycle. For the handling of compile cycles, see Section "TE01: Installation and
activation of loadable compile cycles (Page 573)".
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 753
TE8: Cycle-independent path-synchronous switching signal output - 840D sl only
20.2 Functional description
Note
The functionality is described with examples, with the help of the "High speed laser cutting
technology (HSLC, High Speed Laser Cutting).
Switching criteria
During high-speed laser cutting, e.g. as used to manufacture perforated sheets, it is absolutely
essential to switch the laser beam on/off exactly at the programmed setpoint positions during
the machining process.
In order to minimize programming overheads, the switching positions of the technology
function are calculated using the velocity of the geometry axes programmed in the part program
block.
The following criteria define the setpoint position programmed in the part program block (end
of block position) as a switching position:
1. G0 edge change
2. Overshooting/undershooting a freely programmable velocity threshold
Special functions
754 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE8: Cycle-independent path-synchronous switching signal output - 840D sl only
20.2 Functional description
2Q
6ZLWFKLQJ
VLJQDO 2II
7KUHVKROG
YDOXH
6SHHGVHWSRLQW
2II
2Q
6ZLWFKLQJ
VLJQDO 2II
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 755
TE8: Cycle-independent path-synchronous switching signal output - 840D sl only
20.2 Functional description
Functional sequence
The path length-related switching signal output starts with a switch on signal at the beginning
of the first traversing block after activation with CC_FAST_CONT (refer to ① in the screen).
The processing is active till a deactivation signal is set after the traversing of a programmable
path s1 (refer to ② in screen). This way the processing is interrupted till a switch on signal is
set again after the traversing of a programmable path s2 (refer to ③ in screen).
The changeover between activation and deactivation signal, and therefore between processing
and interruption phase is path length dependent at the end of either of the stretch sections s1
and s2. This enables a continuous and regular machining without the individual switching
positions having to be programmed explicitly.
The path length-related switching signal output ends with the start of the first traversing block
(or of another executable block) after deactivation with CC_FASTOFF (refer to ④ in screen).
3DUWSURJUDP
7UDYHOSDWK V V V V V V V V V V V
2Q
6ZLWFKLQJVLJQDO
2II
Special functions
756 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE8: Cycle-independent path-synchronous switching signal output - 840D sl only
20.2 Functional description
Note
Special case: IPO cycle time = position controller cycle time
In this case, the maximum switching frequency is:
1 signal edge change per 2 IPO cycles
Example:
For IPO cycle times of 2 ms and position controller cycle times of 1 ms as well as a feed rate
of 20000 mm/min, the theoretically possible minimum distance between switching positions
one above the other is limited to:
20000 mm/min * 2 ms = 0.667 mm
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 757
TE8: Cycle-independent path-synchronous switching signal output - 840D sl only
20.2 Functional description
1**);
Special functions
758 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE8: Cycle-independent path-synchronous switching signal output - 840D sl only
20.2 Functional description
6ZLWFKLQJ
SRVLWLRQ;
'LUHFWLRQRIPRWLRQ ZLWKRXWRIIVHW
1*; 1*);
1HJDWLYHRIIVHW 3RVLWLYHRIIVHW
GLVWDQFH GLVWDQFH
OHDG IROORZXS
Path reference
The offset distance is a positional specification that refers to the programmed path. This way
one can start from a simplified linear motion. Path curves are not taken into account.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 759
TE8: Cycle-independent path-synchronous switching signal output - 840D sl only
20.3 Startup
20.3 Startup
20.3.1 Activation
Before commissioning the technological function, ensure that the corresponding compile cycle
has been loaded and activated (see also Section "TE01: Installation and activation of loadable
compile cycles (Page 573)").
Activation
The "Cycle-independent path synchronized switching signal output" technology function is
activated via the following machine data:
MD60948 $MN_CC_ACTIVE_IN_CHAN_HSLC[0], Bit 0 = 1
Note
The "Cycle-independent path-synchronized switching signal output" is available only in one
channel of NC.
Parameter assignment
A digital output from the local I/O is required for the switching signal.
For this, at least 1 digital output byte must be defined through the following machine data:
MD10360 $MN_FASTIO_DIG_NUM_OUTPUTS ≥ 1 (number of active digital output bytes)
References
A full description of the parameterization of a digital output can be found in:
● Function Manual, Extended Functions, Digital and Analog NCK I/Os (A4)
Special functions
760 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE8: Cycle-independent path-synchronous switching signal output - 840D sl only
20.3 Startup
Disable
Entering the number of the digital output n = 0 deactivates the function. No message or alarm
is output.
Standard setting
Machines for high-speed laser cutting normally have two geometry axes that are configured
in the following two machine data:
MD20050_$MC_AXCONF_GEOAX_ASSIGN_TAB[0]
MD20050_$MC_AXCONF_GEOAX_ASSIGN_TAB[1]
The calculation of the switching instants is derived from these two geometry axes.
Note
The configured axis selection for calculating the switching instants can be changed by
redefining the first and second geometry axes in the part program with the help of program
instructions GEOAX(1,<axis name>) and GEOAX(2,<axis name>).
Important:
For the function change to be considered correctly, it should occur before the interpretation of
the CC_FASTON command.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 761
TE8: Cycle-independent path-synchronous switching signal output - 840D sl only
20.4 Programming
Value Meaning
$MN_CC_ACTIVE_IN_CHAN_HSCL[1]='H3' Default setting.
The calculation of the switching instants is derived
from the first and second geometry axis.
$MN_CC_ACTIVE_IN_CHAN_HSCL[1]='H7' The calculation of the switching instants is derived
from the first, second and third geometry axis.
20.4 Programming
Syntax
CC_FASTON (DIFFON, DIFFOFF [,FEEDTOSWITCH])
CC_FASTON() is a procedure call and must therefore be programmed in a dedicated part
program block.
Parameter
The parameters for the CC_FASTON() procedure have the following meaning:
Parameter Meaning
<DIFFON> Length* of the offset distance for setting the switching signal.
<DIFFOFF> Length* of the offset distance for deactivating the switching signal.
<FEEDTOSWITCH> This parameter is optional.
If the parameter is not specified in the procedure call, the G0 edge change
is used as the switching criterion.
If the parameter is specified in the procedure call, it contains as a switching
criterion the velocity threshold value, which, when undershot or exceeded,
activates or deactivates the switching signal accordingly.
* The basic unit (inch or mm) depends on the current dimensions programming (G70 / G71 / G700 /
G710).
Special functions
762 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE8: Cycle-independent path-synchronous switching signal output - 840D sl only
20.4 Programming
Programming example
Programming Comment
DEF REAL DIFFON= -0.08 ; Length* of the offset distance for
activating the switching signal =
-0.08
DEF REAL DIFFOFF= 0.08 ; Length* of the offset distance for
deactivating the switching signal =
0.08
DEF REAL FEEDTOSWITCH= 20000 ; Speed threshold value = 20000
CC_FASTON(DIFFON,DIFFOFF,FEEDTOSWITCH) ; Activating block-related switching
signal output (with speed threshold
value as switching criterion)
Changing parameters
The parameters for the CC_FASTON() procedure can be modified at any time during the
execution of the part program. To do this, enter the procedure call again with the new parameter
values. The switching criterion (G0 edge change / velocity threshold value) may also be
changed.
Reset response
A reset (NC RESET or end of program) deactivates the function.
Syntax
CC_FASTON_CONT (PATH_DISTANCE_ON, PATH_DISTANCE_OFF)
CC_FASTON_CONT() is a procedure call and must therefore be programmed in a dedicated
part program block.
Parameter
The parameters for the CC_FASTON_CONT() procedure have the following meaning:
Parameter Meaning
< PATH_DISTANCE_ON > Length* of the stretch section with machining (s1).
< PATH_DISTANCE_OFF> Length* of the stretch section without machining (s2).
* The basic unit (inch or mm) depends on the current dimensions programming (G70 / G71 / G700 /
G710).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 763
TE8: Cycle-independent path-synchronous switching signal output - 840D sl only
20.5 Function-specific alarm texts
Programming example
Programming Comment
DEF REAL PATH_DISTANCE_ON = 0.5 ; Length* of the stretch section with
machining = 0.5
DEF REAL PATH_DISTANCE_OFF = 1.0 ; Length* of the stretch section
without machining = 1.0
CC_FASTON_CONT (PATH_DISTANCE_ON, PATH_DISTANCE_OFF) ; Activating path
length-related
switching signal out-
put.
Changing parameters
The parameters for the CC_FASTON_CONT( ) procedure can be modified at any time during
the execution of the part program. For this, the procedure call must be specified again with the
new parameter values.
Reset response
A reset (NC RESET or end of program) deactivates the function.
Syntax
CC_FASTOFF
CC_FASTOFF is a procedure call and must therefore be programmed in a dedicated part
program block.
Functionality
The CC_FASTOFF procedure call deactivates the "Cycle independent, path synchronized
switching signal output" function.
Special functions
764 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE8: Cycle-independent path-synchronous switching signal output - 840D sl only
20.6 Supplementary conditions
Example
Normal process:
In the normal process of the part program machining, the switching signal is activated for the
first time at the beginning of part program block N60.
3DUWSURJUDP
1*;< <
1*);< 1
1*; 6WDUWSRVLWLRQ
1&&B)$6721 6ZLWFKLQJ
1< VLJQDO2Q
1*;< 1
1
1
1
1
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 765
TE8: Cycle-independent path-synchronous switching signal output - 840D sl only
20.6 Supplementary conditions
6WDUWSRVLWLRQ
3DUWSURJUDP 6ZLWFKLQJVLJQDO21
1*;< <
1*);< 1
1*;
1&&B)$6721
1<
1*;< 1
1
1
1
1
Note
It is the sole responsibility of the user (machine manufacturer) to suppress the output of the
switching signal during repositioning, e.g. after a block search.
References
You will find a description of the block search in:
Function Manual, Basic Functions, Mode Group, Channel, Program Operation, Reset Behavior
(K1)
20.6.2 Transformations
The function will only run correctly with deactivated transformation. There is no monitoring
function.
For a description of the transformations (see Section "TE4: Handling transformation package
- 840D sl only (Page 659)").
References:
Function Manual Extended Functions; Kinematic Transformation (M1)
Special functions
766 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE8: Cycle-independent path-synchronous switching signal output - 840D sl only
20.6 Supplementary conditions
20.6.3 Compensations
The following compensations are considered while calculating the switching positions:
● Temperature compensation
● Sag compensation
A description of the compensations can be found in:
Reference:
Function Manual, Extended Functions; Compensations (K3)
Continuous-path mode
Although the CC_FASTON(), CC_FASTON_CONT() and CC_FASTOFF procedure calls must
be programmed in dedicated part program blocks, this will not lead to a drop in velocity while
continuous-path mode is active (G64, G641, ...).
References
You will find a description of the continuous-path mode in:
Function Manual, Basic Functions, Continuouspath Mode, Exact Stop and Look Ahead (B1)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 767
TE8: Cycle-independent path-synchronous switching signal output - 840D sl only
20.7 Data lists
Special functions
768 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE9: Axis pair collision protection 21
21.1 Brief description
Function
The "axis pair collision protection" function enables machine axes, which are arranged on the
same guide element of a machine, to be monitored in pairs to ensure that no collisions occur
and that the maximum distance between the two axes is not exceeded.
Function code
The code for function-specific identifiers of machine data, system variables, etc., is:
PROTECT (axial collision PROTECTion)
References
The "axis pair collision protection" function is realized as compile cycle. For the handling of
compile cycles (see Chapter "TE01: Installation and activation of loadable compile cycles
(Page 573)".
Collision protection
The function uses the current actual positions and actual velocities, as well as the offset for
the machine coordinate systems and the axis-specific brake acceleration values, to calculate
the distance between the standstill positions of the machine axes, on a cyclical basis. If the
resulting distance is shorter than the protection window that has been set, the machine axes
are decelerated to a standstill. This ensures that the minimum distance defined using the
protection window is not undershot.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 769
TE9: Axis pair collision protection
21.3 Startup
Distance monitoring
If the offset vector is selected accordingly, the function can also be used to monitor the
maximum distance between the two machine axes (maximum distance vector).
0DFKLQHD[LV$ 0DFKLQHD[LV$
0LQLPXPFOHDUDQFHYHFWRU
$FWXDOFOHDUDQFHYHFWRU
0D[LPXPFOHDUDQFHYHFWRU
0&6B$ 0&6B$
0&6BRIIVHWYHFWRU
Monitoring status
The actual status of an axis pair can be read out of _PROTECT_STATUS (Page 775),
optionally defined global user variables in the NC program (GUD).
21.3 Startup
Special functions
770 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE9: Axis pair collision protection
21.3 Startup
Channel-specific activation
The function must be activated in the following NC channels:
● Always in the 1st channel of the NC
● All channels that are assigned – with the appropriate machine data parameterization – to
machine axes to be monitored
● All channels, which are assigned at a later point in time, e.g. through axis interchange, to
machine axes to be monitored
The function is activated on a channel-specific basis using machine data:
MD60972 $MN_CC_ACTIVE_IN_CHAN_PROT[0], bit n = 1
with bit n = 1: Activation in the (n+1)th channel of the NC, with n = 0, 1, 2, ...
Definition
A pair of machine axes to be monitored is defined in the following item of machine data:
MD61516 $MN_CC_PROTECT_PAIRS[<axis pair>] = <yyxx>
<axis pair>: Axis pair index, with n = 0, 1, 2, ... (maximum number of axis pairs - 1)
<yyxx> Meaning
xx 1. and 2nd decimal place ⇒ axis number of the 1st machine axis
yy 3. and 4th decimal place ⇒ axis number of the 2nd machine axis
Boundary conditions
Axis number
The axis number m of a machine axis relates to machine data MD10002
$MN_AXCONF_LOGIC_MACHAX_TAB[ i ] where i = (m - 1).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 771
TE9: Axis pair collision protection
21.3 Startup
<yyxx> Meaning
xx Retraction direction for the 1st axis pair
yy Retraction direction for the 2nd axis pair
Retraction in the positive direction of travel of the machine axis: xx or yy > 0
Retraction in the negative direction of travel of the machine axis: xx or yy = 0
Note
Machine data change
Machine data $MN_...SAFE_DIR[<axis pair>] may only be made changed for an axis pair, if
the protection function for this axis pair is not active ($MN_...PAIRS[<axis pair>] = 0).
$FKVH $FKVH
0.6 0.6
9
9
Special functions
772 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE9: Axis pair collision protection
21.3 Startup
Note
Machine data change
Machine data $MN_...OFFSET[<axis pair>] may only be made changed for an axis pair, if the
function for the axis pair is not active ($MN_...PAIRS[<axis pair>] = 0).
Note
Machine data change
A change to machine data $MN_...WINDOW[<axis pair>] may also be activated when the
($MN_...PAIRS[<axis pair>] ≠ 0) function is activated.
21.3.7 Orientation
The orientation of the axes of the axis pair to one another is specified in the following machine
data:
MD61532 $MN_CC_PROTECT_DIR_IS_REVERSE[<axis pair>] = <value>
<value> Meaning
0 Equidirectional orientation
1 Counterdirectional orientation
Note
Machine data change
A change to machine data item $MN_... DIR_IS_REVERSE[<axis pair>] must only be activated
when the function is inactive ($MN_...PAIRS[n] = 0).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 773
TE9: Axis pair collision protection
21.3 Startup
Note
Machine data change
A change to machine data item $MN_...WINDOW_EXTENSION[<axis pair>] may also be
made when the protection function is active, for example, from the part program and activated
when "NewConfig" is initiated.
Note
Without jerk limitation
The acceleration set in MD63514 is always effective without jerk limitation.
Special functions
774 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE9: Axis pair collision protection
21.3 Startup
Definition
DEF NCK INT _PROTECT_STATUS[<number of parameterized axis pairs> ]
with <number of parameterized axis pairs> = 1, 2, ... (maximum number of axis pairs
(Page 771) - 1)
Range of values
<value> Meaning
-1 Deactivation of the output.
≥0 Starting index of the interface within the system variable field $A_DBD in byte (0, 1, 2, ... )
Note
Double word index
The starting index can be specified in the machine data, byte-by-byte (0, 1, 2, ...). System
variable $A_DBD is accessed from the PLC using a double word. This means that a starting
index, which is not located at a double word boundary (0, 4, 8, ...), is rounded off to the next
double word boundary: Index = (index DIV 4) * 4
Examples: 3 ⇒ 0; 5 ⇒ 4; 10 ⇒ 8;
Interface
Each interface bit is assigned a machine axis:
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 775
TE9: Axis pair collision protection
21.4 Limitations and constraints
Bit n Meaning
0 Machine axis (n+1) is not braked
1 Machine axis (n+1) is braked
Note
Path reference
If machine axes being monitored by the function are traversed by a channel with a path
reference to other axes, this path reference is lost as soon as the protection function causes
the axis grouping to decelerate. The machine axes being monitored by the function are braked
using their function-specific acceleration values from machine data item MD63514
$MA_CC_PROTECT_ACCEL. The remaining axes in the axis grouping are decelerated using
the current path acceleration value of the channel.
Example
The protection function is to monitor logical machine axes 1 and 13. These relate to slots 1
and 2 of axis container CT1. The associated real machine axes are AX1 and AX13.
In an axis container rotation, the axis container makes a transition by one step, which causes
the real machine axes to be changed.
Machine axis AX13 is retracted in the positive direction of travel. Machine axis AX1 is retracted
in the negative direction of travel.
Special functions
776 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE9: Axis pair collision protection
21.4 Limitations and constraints
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 777
TE9: Axis pair collision protection
21.5 Examples
Effect
If the machine axis is not traversed in the first channel of the NC, then the components, created
from the interpolatory couplings for the position and velocity setpoint are only available after
a deadtime of one interpolator clock cycle of the "axis pair collision protection" function.
Therefore, the machine axes are monitored, offset by these components. The absolute value
of the components is independent of the interpolator clock cycle and the actual velocity and
acceleration of the machine axis.
21.5 Examples
$ $ $
Special functions
778 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE9: Axis pair collision protection
21.5 Examples
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 779
TE9: Axis pair collision protection
21.5 Examples
0LQFOHDUDQFHYHFWRU
$FWXDOFOHDUDQFHYHFWRU
0D[FOHDUDQFHYHFWRU
0&6B$ 0&6B$
0&6BRIIVHWYHFWRU
Figure 21-3 Collision protection and distance limiter for one axis pair
Special functions
780 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
TE9: Axis pair collision protection
21.6 Data lists
Note
Maximum distance vector
The maximum distance vector from the 1st machine axis to the 2nd machine axis is the vector
from the origin of the machine coordinate system for the 1st machine axis to the maximum
permissible position of the 2nd machine axis, with reference to the machine coordinate system
for the 1st machine axis.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 781
TE9: Axis pair collision protection
21.6 Data lists
Identifier Description
_PROTECT_STATUS[n] Status of the protection function (optional)
Special functions
782 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
V2: Preprocessing 22
22.1 Brief description
Preprocessing
The programs stored in the directories for standard and user cycles can be preprocessed to
reduce runtimes.
Preprocessing is activated via machine data.
Standard and user cycles are preprocessed when the power is switched on, i.e. as an internal
control function, the part program is translated (compiled) into a binary intermediate code
optimized for processing purposes.
All program errors that can be corrected by means of a compensation block are detected during
preprocessing. In addition, when the program includes branches and check structures, a check
is made to ensure that the branch destinations are present and that structures are nested
correctly.
The full scope of control functionality is available:
● Override influence
● Reactions to data and signals that are input by the PLC or the operator
● Current block display
● The programs can be processed in single block mode (SBL1 and SBL2). Block searches
can be executed. The compilation cannot be stored; it is concealed from the user and
regenerated every time the power is switched on.
Preprocessing can be used:
● To optimize the runtimes of part programs with high-level language components (branches,
check structures, motion-synchronous actions)
● CPU time intensive part programs (e.g. stock removal cycles)
● Faster processing of time-critical sections (e.g. program continuation after preprocessing
stop during rapid deletion of distance-to-go, or return stroke, or in the tool change cycle).
General information
Preprocessing standard and user cycles is possible. The processing time of part programs
can then be reduced without restricting the control functionality.
The standard and user cycles are preprocessed when machine data is set accordingly:
MD10700 $MN_PREPROCESSING_LEVEL (program preprocessing level)
Preprocessing is carried out program-specifically. It is possible to mix preprocessed part
programs and part programs interpreted in ASCII format. Preprocessing serves to reduce
incidental times.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 783
V2: Preprocessing
22.1 Brief description
Memory is required for preprocessing cycles. You can optimize your memory in two ways:
● The program to be executed can be shortened with the command DISPLOF (display off).
● MD10700 $MN_PREPROCESSING_LEVEL has been expanded by bit 2 and 3. This allows
selective cycle preprocessing of the individual directories (e.g. user cycles).
MD10700 $MN_PREPROCESSING_LEVEL has been expanded by bit 4. This allows you to
select preprocessing for user cycles from the _N_CMA_DIR directory.
MD10700 $MN_PREPROCESSING_LEVEL has been expanded by bit 5. This allows selective
preprocessing of the specific individual user cycles that have the command PREPRO after the
PROC instruction.
Pretranslated cycles are stored in the dynamic NC memory by default. MD10700
$MN_PREPROCESSING_LEVEL has been expanded by bit 6. This allows specifying that the
compiled programs that are now stored in the dynamic NC memory and no longer have enough
space can be stored in static NC memory.
Functionality
The programs stored in the directories for standard and user cycles are preprocessed when
the power is switched on, i.e. the part program is translated (compiled) into an intermediate
binary code optimized for processing purposes. The compilation is processed when called.
Runtime optimization
The preprocessing function is primarily suited for optimizing the runtimes of part programs with
high-level language components (branches, check structures, motion-synchronous actions).
While branches and check structures are invalidated by a search through all blocks (block
start) when part programs are interpreted in ASCII format (active as default), a branch is made
directly to the destination block in a preprocessed part program.
The runtime differences between branches and check structures are thus eliminated.
Example of a preprocessing runtime:
Runtime reduction by 30% with active compressor
DEF INT COUNTER
Target: G1 G91 COMPON
G1 X0.001 Y0.001 Z0.001 F100000
COUNTER=COUNTER +1
COUNTER=COUNTER -1
COUNTER=COUNTER +1
IF COUNTER<= 100000 GOTOB TARGET
CPU time intensive programs and programs with symbolic names are processed faster.
Runtime-critical sections (e.g. continuation of processing after deletion of distance-to-go or
preprocessing stop in cycles) can be processed faster.
If the interrupt routine is available as a preprocessed cycle, processing can be continued more
rapidly after the program interrupt.
Special functions
784 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
V2: Preprocessing
22.2 Program handling
Activation/Deactivation
Cycles are preprocessed on POWER ON if the following machine data is set:
MD10700 $MN_PREPROCESSING_LEVEL, bit 1 (program preprocessing level)
The areas occupied in the dynamic NC memory by the compilation are visible to the user.
Bit combinations are permissible.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 785
V2: Preprocessing
22.2 Program handling
Compiling
In the directories for standard cycles: _N_CST_DIR, _N_CMA_DIR and user cycles:
Subprograms (_SPF file extension) located in _N_CUS_DIR, and, if necessary, the
subprograms marked with PREPRO are compiled. The name of the compilation corresponds
to the original cycle with extension _CYC.
Note
Program changes to precompiled programs do not take effect until the next POWER ON.
Access rights
The preprocessed program can only be executed, but not read or written. The compilation
cannot be modified or archived. The original cycles _SPF files are not deleted.
The compilation is not changed when the ASCII cycle is altered, i.e. changes do not take effect
until after the next POWER ON.
Memory requirements
The memory requirement for compiled cycles is approximately factor 2 in addition to the ASCII
part program.
The memory requirements for variables defined in the part programs are defined by the
following machine data:
MD28020 $MC_MM_NUM_LUD_NAMES_TOTAL (number of local user variables)
MD28010 $MC_MM_NUM_REORG_LUD_MODULES (number of modules for local user
variables with REORG)
MD28040 $MC_MM_LUD_VALUES_MEM (memory size for local user variables)
MD18242 $MC_MM_MAX_SIZE_OF_LUD_VALUE (memory block size for LUD/GUD
values)
References:
Function Manual, Extended Functions; Memory Configuration (S7)
While preprocessing is in progress, the amount of memory required is the same as if the
preprocessed program were called on the first subprogram level.
When programs are preprocessed after POWER ON, a name is counted for each branch
destination/label as if it were a variable. These names must be taken into account in the
following machine data:
MD28020 $MC_MM_NUM_LUD_NAMES_TOTAL (number of local user variables)
Example:
Special functions
786 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
V2: Preprocessing
22.2 Program handling
In order to execute this program normally, the following machine data must specify at least 3
names:
MD28020 $MC_MM_NUM_LUD_NAMES_TOTAL
Six names are required to compile this program after POWER ON.
Preprocessed programs/cycles are stored in the dynamic NC memory. The space required for
each program must be flashed over unmodified as outlined above. Adjustment of the memory
mapping in the static NC memory is required only if bit 6 = 1 is set in the following machine
data:
MD10700 $MN_PREPROCESSING_LEVEL (program processing level)
In this case, the program compilations for which there is insufficient space in the dynamic NC
memory are stored in the static NC memory.
Examples for appropriate machine data settings can be found under "Examples" in the
Subsection "Preprocessing in the dynamic NC memory".
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 787
V2: Preprocessing
22.3 Program call
Overview
0DLQSURJUDP
&DOO
&<&/(B63) $6&,,
ZLWKRXWSUHSURFHVVLQJ &\FOH
&<&/( B1B&<&/(B63)
3UHSURFHVVLQJ
&<&/(B&<&
B1B&<&/(B&<&
0DLQSURJUDP $6&,,
&DOO
ZLWKRXWSUHSURFHVVLQJ &\FOH
352&&<&/(
5($/)):
&<&/(
B1B&<&/(B63)
3UHSURFHVVLQJ
&DOO 3UH
ZLWKSUHSURFHVVLQJ SURFHVVHG
&\FOH
B1B&<&/(B&<&
Special functions
788 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
V2: Preprocessing
22.3 Program call
Start
● Compiled cycle: A compiled cycle is called in exactly the same way as a normal subroutine.
Example: CYCLE
● Preprocessing is activated: The compiled cycle is called instead of the ASCII cycle.
– If the subroutine is called explicitly with extension _SPF, then the ASCII cycle is called
even if a compilation is available.
Example: CYCLE_SPF; ASCII cycle call
– If the subroutine is called explicitly with extension _CYC, then the preprocessed cycle
is called if available. An error message is output if no compilation is available.
Example: CYCLE_CYC; Preprocessed cycle call
– If bit 5 is set and a file that is not marked with PREPRO is called explicitly with the
extension _CYC, an error message is issued with Alarm 14011.
● If a subroutine is called without explicit extension, an attempt is first made to load the
program. If this is not possible (not marked with PREPRO), an attempt is made to load the
SPF program.
● The change to an external language mode with G291 is rejected and an alarm issued. When
the pre-compiled cycle is called, an explicit change is made to the Siemens language mode.
● When the subroutine is called, it is checked whether the compiled file is older than the cycle.
If so, the compile file is deleted and an alarm issued. The user must preprocess the cycles
again.
Note
Only cycles without parameters may be called with the extension _SPF or _CYC.
Do not use PUDs in cycles that are preprocessed. The PUDs are created in the calling
main program. At the time of compilation after POWER ON, this data is not known to the
cycles.
The current program display shows whether the current ASCII cycle or the compilation has
been called (extension _SPF or _CYC).
Call condition
All cycles in the cycle directories must be compiled before preprocessing is activated. Non-
compiled cycles in _N_CUS_DIR and _N_CST_DIR which were loaded after POWER ON, for
example, can only be called through explicit specification of extension _SPF.
If preprocessing is active and bit 5 is set, all programs that do not start with the PREPRO PROC
instruction are not precompiled.
Syntax check
All program errors that can be corrected by means of a compensation block are detected during
preprocessing. In addition, when the program includes branches and check structures, a check
is made to ensure that the branch destinations are present and that structures are nested
correctly.
Branch destinations and labels must be unique in the program.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 789
V2: Preprocessing
22.4 Constraints
After the errors detected during preprocessing have been corrected, preprocessing must be
started again by means of an NCK POWER ON.
22.4 Constraints
Language scope
The full vocabulary of the NC language is available in the part program.
There are no restrictions on the calculation of measured process variables and in the reaction
to signals from the process and other channels (override, deletion of distance-to-go, motion-
synchronous actions, channel coordination, interrupt processing, etc.).
Axis name
Part programs are compiled independently of channels. For this reason, the geometry and
channel names set in the following machine data must be identical in all channels if they are
used directly in the precompiled cycles:
MD20060 $MC_AXCONF_GEOAX_NAME_TAB (name of the geometry axis in the channel)
MD20080 $MC_AXCONF_CHANAX_NAME_TAB (name of the channel axis in the channel)
Generally speaking, axis names are not used directly in machining cycles since cycles are
written as follows:
● independently of channels and
● independently of the axis names defined on the machine.
Special functions
790 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
V2: Preprocessing
22.5 Examples
The axes to be traversed are addressed indirectly via machine data or transferred as
parameters:
● Indirect axis programming:
– IF $AA_IM[AXNAME($MC_AXCONF_CHANAX_NAME_TAB[4])] > 5
; This branch will pass through if the actual value of the 5th channel axis
; with reference to the machine coordinate system is greater than 5.
– G1 AX[AXNAME($MC-AXCONF-GEOAX-NAME-TAB[0])] = 10
F1000 G90.
; Traverse the 1st geometry axis to the value 10.
ENDIF
● Transfer of axis to be traversed from the main program:
– Cycle definition
PROC DRILL(AXIS DRILL_AXIS)
WHILE $AA_IW[DRILL_AXIS] > -10
G1 G91 F250 AX[DRILL_AXIS] = -1
ENDWHILE
– Call from the main program
DRILL(Z)
22.5 Examples
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 791
V2: Preprocessing
22.5 Examples
Sample constellations:
a) Bit 5 = 1
MD10700 $MN_PREPROCESSING_LEVEL=45 ; bit 0, 2, 3, 5
Subprogram UP1 is pretranslated, and the call description is generated.
Subprogram UP2 is not pretranslated, but the call description is generated.
b) Bit 5 = 0
MD10700 $MN_PREPROCESSING_LEVEL=13 ; bit 0, 2, 3,
Both subprograms are pretranslated, and the call description is generated.
c) Example of an invalid subprogram with activated compiling:
Special functions
792 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
V2: Preprocessing
22.6 Data lists
Machine data for preprocessing in the dynamic NC memory with the option of using the static
NC memory and selective selection:
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 793
V2: Preprocessing
22.6 Data lists
Special functions
794 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
W5: 3D tool radius compensation - 840D sl only 23
23.1 Brief description
Why 3D TRC?
3D tool radius compensation is used to machine contours with tools that can be controlled in
their orientation independently of the tool path and shape.
Note
This description is based on the specifications for 2D tool radius compensation.
References:
Function Manual Basic Functions; Tool Offset (W1)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 795
W5: 3D tool radius compensation - 840D sl only
23.1 Brief description
'75&
7RRO
:RUNSLHFH
FRQWRXU
3DWKRIWKH
WRROFHQWHUSRLQW
DWHTXDOGLVWDQFH
WRWKHFRQWRXU
HTXLGLVWDQWSDWK
'75&
,6' ,Q6HUWLRQ'HSWK 5
,QVHUWLRQGHSWK /
,6'
The parameters for display in the "Face milling" screen are described in detail in Chapter "Face
milling (Page 809)".
Z
)6
H G
Q)
)(
Special functions
796 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
W5: 3D tool radius compensation - 840D sl only
23.1 Brief description
Orientation
With 3D TRC, a distinction must be drawn between:
● Tools with space-bound orientation
● Tools with variable orientation
Circumferential milling
Tools will be applied as follows for circumferential milling:
● with space-bound orientation (21/2D TRC) and
● with variable orientation (3D TRC)
3D TRC can therefore be applied in circumferential milling only if the tool orientation is variable.
Intermediate blocks that are required from non-tangential transitions for mathematical reasons
can be avoided using the intersection procedure. In these cases, the two curves in question
are extended; the intersection of both extended curves is approached.
Face milling
Tools of both types, i.e. with constant or variable orientation, can be used for face milling
operations.
Tools with variable orientation offer the following advantages:
● Better approximation of end contour
● Greater cutting capability
● Wider selection of tool shapes
● Wider range of surfaces can be machined (relief cuts).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 797
W5: 3D tool radius compensation - 840D sl only
23.2 Circumferential milling
Circumferential milling
The variant of circumferential milling used here is implemented through the definition of a path
(directrix) and the associated orientation. In this machining mode, the tool shape is irrelevant
on the path and at the outside corners. The only decisive factor is the radius at the tool contact
point.
$
% 7RROD[LV
&LUFXPIHUHQWLDO
PLOOLQJ
< ;
Special functions
798 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
W5: 3D tool radius compensation - 840D sl only
23.2 Circumferential milling
)+
,6'
)6
* *
,QWHUQDO ([WHUQDO
FRUQHU FRUQHU
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 799
W5: 3D tool radius compensation - 840D sl only
23.2 Circumferential milling
0DFKLQLQJGLUHFWLRQ
G450
Outside corners are treated as if they were circles with a 0 radius. The tool radius compensation
acts on these circles in the same way as on any other programmed path.
The circle plane extends from the final tangent of the first block to the start tangent of the
second block.
The orientation can be changed during block transition.
A change in orientation between two programmed blocks is executed either before the circle
block or in parallel to it. Circles are always inserted. The command DISC is not evaluated.
Programming
● ORIC: Change in orientation and path movement in parallel
(ORIentation Change Continuously)
● ORID: Change in orientation and path movement consecutively
(ORIentation Change Discontinuously)
The ORIC and ORID program commands are used to determine whether changes in orientation
programmed between two blocks are executed before the inserted circle block is processed
or at the same time.
Special functions
800 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
W5: 3D tool radius compensation - 840D sl only
23.2 Circumferential milling
When the orientation needs to be changed at outside corners, the change can be implemented
in parallel to interpolation or separately from the path motion. When ORID is programmed, the
inserted blocks are executed first without a path motion (blocks with changes in orientation,
auxiliary function outputs, etc.). The circle block is inserted immediately in front of the second
of the two traversing blocks which form the corner.
ORIC
If ORIC is active and there are two or more blocks with changes in orientation (e.g. A2= B2=
C2=) programmed between the traversing blocks, then the inserted circle block is distributed
among these intermediate blocks according to the absolute changes in angle.
Change in orientation
The method by which the orientation is changed at an outer corner is determined by the
program command that is active in the first traversing block of an outer corner.
2XWVLGHFRUQHUZLWKFRQVWDQW
2ULHQWDWLRQLQVHUWHG
VHWQRWSURJUDPPHG
1
1 7RRODWLQFOLQHGDQJOH
1
1
1 1
2XWVLGHFRUQHUZLWKRYHU
ODLGFKDQJHLQRULHQWDWLRQ
7RROLQYHUWLFDOSRVLWLRQ
Example:
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 801
W5: 3D tool radius compensation - 840D sl only
23.2 Circumferential milling
The circular motion and change in orientation are executed in parallel in block N80 (ORIC
active).
Special case
Intermediate blocks without traversing and orientation motions are executed at the
programmed positions, e.g. auxiliary functions.
Example:
Blocks N75 and N80 are executed after N70. The circle block is then executed with the current
orientation.
Special functions
802 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
W5: 3D tool radius compensation - 840D sl only
23.2 Circumferential milling
ORID
If ORID is active, then all blocks between the two traversing blocks are executed at the end of
the first traversing block. The circle block with constant orientation is executed immediately
before the second traversing block.
2XWVLGHFRUQHUZLWKFRQVWDQW
2ULHQWDWLRQLQVHUWHG
VHWQRWSURJUDPPHG
7RRODWLQFOLQHGDQJOH
1
1
7RRODWVWDUW
SRLQWRI1
1
7RRODWWKHHQGRI1
1 1 2ULHQWDWLRQLVFKDQJHG
1 LQDZD\WKDWWKH
WRRODOZD\VWRXFKHV
WKHHQGSRLQWRI1
7RROLQ 7RRODWWKH
YHUWLFDO (QGRI1
SRVLWLRQ
Example:
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 803
W5: 3D tool radius compensation - 840D sl only
23.2 Circumferential milling
Note
The command DISC is not evaluated.
G451
The intersection is determined by extending the offset curves of the two participating blocks
and defining the intersection of the two blocks at the corner in the plane perpendicular to the
tool orientation. If no such intersection is available, a circle is inserted.
If an intersection is found in the plane perpendicular to the tool, this does not mean that the
curves also intersect in space. Rather the curves in the direction of the tool longitudinal axis
are considered, which are generally a certain distance apart. The positional offset is eliminated
over the entire block length in direction of the tool.
The way this offset is processed in tool direction at outside corners is the same as for inside
corners.
No intersection procedure
The intersection procedure is not used when at least one block containing a change to the tool
orientation was inserted between the traversing blocks in question. In this case a circle is
always inserted at the corner.
Collision monitoring
With the 3D compensation function, only adjacent traversing blocks are taken into account in
the calculation of intersections.
Path segments must be long enough to ensure that the contact points of the tool do not cross
the block limits into other blocks when the orientation changes at an inside corner.
Special functions
804 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
W5: 3D tool radius compensation - 840D sl only
23.2 Circumferential milling
1&KDQJHLQRULHQWDWLRQ 1
1
1
Figure 23-9 The contact points of the tool must not cross the limits of block N70 or N90 as a result of
the change in orientation in block N80
Example:
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 805
W5: 3D tool radius compensation - 840D sl only
23.2 Circumferential milling
3URJUDPPHG
3RVLWLRQ
Figure 23-10 Path end position and change in orientation at inside corners
Special functions
806 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
W5: 3D tool radius compensation - 840D sl only
23.2 Circumferential milling
1HZ
2OG ,6'
,6'
)6
6HW
6HW
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 807
W5: 3D tool radius compensation - 840D sl only
23.2 Circumferential milling
1
1
:5.
Example:
Special functions
808 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
W5: 3D tool radius compensation - 840D sl only
23.3 Face milling
Z
)6
G
H G
Q)
)(
If a tool number other than any of those specified in the table above is used in the NC program,
then the tool type is assumed to be a ball end mill (tool type 110). Tool parameters marked
with an X in the tool table are not evaluated. A value other than zero is meaningless for the
tool offset for face milling.
An alarm is output if tool data are programmed that violate the limits specified in the table
above.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 809
W5: 3D tool radius compensation - 840D sl only
23.3 Face milling
The shaft characteristics are not taken into account on any of the tool types. For this reason,
the two tool types 120 (end mill) and 155 (bevel cutter), for example, have an identical
machining action since only the section at the tool tip is taken into account. The only difference
between these tools is that the tool shape is represented differently (dimensions).
G
G G
D D
G
G G
U U
(QGPLOOZLWK %HYHOFXWWHUZLWK
FRUQHUURXQGLQJ %HYHOFXWWHU FRUQHUURXQGLQJ
7\SH 7\SH 7\SH
The tool data are stored under the following tool parameter numbers:
Note
The geometry and wear values of a tool data are added.
The reference point for tool length compensation (also referred to as tool tip or tool center point
(TCP)) on all tool types is the point at which the longitudinal axis of the tool penetrates the
surface.
A new tool with different dimensions may be programmed only when the tool compensation is
activated for the first time (i.e. on transition from G40 to G41 or G42) or, if the compensation
is already active, only when G41 or G42 are reprogrammed.
In contrast to circumferential milling, therefore, there are no variable tool dimensions in one
block.
This restriction applies only to the tool shape (tool type, dimensions d, r and a).
Special functions
810 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
W5: 3D tool radius compensation - 840D sl only
23.3 Face milling
A change in tool involving only a change in other tool data (e.g. tool length) is permitted
provided that no other restrictions apply. An alarm is output if a tool is changed illegally.
23.3.2 Orientation
The options for programming the orientation have been extended for 3D face milling.
The tool offset for face milling cannot be calculated simply by specifying the path (e.g. a line
in space). The surface to be machined must also be known. The control is supplied with the
information it requires about this surface by the surface normal vector.
The surface normal vector at the block beginning is programmed with A4, B4, C4, and the
vector at the block end with A5, B5, C5. Components of the surface normal vector that are
not programmed are set to zero. The length of a vector programmed in this way is irrelevant.
A vector of zero length (all three components are zero) is ignored, i.e. the direction programmed
beforehand remains valid, no alarm is generated.
If only the start vector is programmed (A4, B4, C4) in a block, then the programmed surface
normal vector remains constant over the entire block. If only the end vector is programmed
(A5, B5, C5), then large-circle interpolation is used to interpolate between the end value of
the preceding block and the programmed end value. If both the start and end vectors are
programmed, then interpolation takes place between both directions using the large-circle
interpolation method. The fact that the start vector may be reprogrammed in a block means
that the direction of the surface normal vector can change irregularly on a block transition.
Irregular transitions of the surface normal vector always occur in cases where there is no
tangential transition between the surfaces (planes) involved, i.e. if they form an edge.
Once a surface normal vector has been programmed, it remains valid until another vector is
programmed. In the basic setting, the surface normal vector is set to the same values as the
vector in the z direction. This basic setting direction is independent of the active plane (G17 -
G19). If ORIWKS is active, surface normal vectors refer to the active frame, i.e. when the frame
is rotated, the vectors rotate simultaneously. This applies both to programmed orientations as
well as to those derived from the active plane. If ORIWKS is active, the surface normal vectors
are adjusted when a new frame becomes active. An orientation modified as the result of frame
rotations is not returned to its original state on switchover from ORIWKS to ORIMKS.
It must be noted that the programmed surface normal vectors may not necessarily be the same
as those used internally. This always applies when the programmed surface normal vector is
not perpendicular to the path tangent. A new surface normal vector is then generated which
is positioned in the plane extending from the path tangent to the programmed surface normal
vector, but which is at right angles to the path tangent vector. This orthogonalization is
necessary because the path tangent vector and surface normal vector for a real surface must
always be perpendicular to one another. However, since the two values can be programmed
independently, they may contain mutually contradictory information. Orthogonalization
ensures that the information contained in the path tangent vector has priority over the data in
the surface normal vector. An alarm is output if the angle between the path tangent vector and
the programmed surface normal vector is smaller than the limit value programmed in machine
data:
MD21084 $MC_CUTCOM_PLANE_PATH_LIMIT (minimum angle between surface normal
vector and path tangent vector)
If a block is shortened (inside corner), then the interpolation range of the surface normal vector
is reduced accordingly, i.e. the end value of the surface normal vector is not reached as it
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 811
W5: 3D tool radius compensation - 840D sl only
23.3 Face milling
would be with other interpolation quantities such as, for example, the position of an additional
synchronized axis.
In addition to the usual methods of programming orientation, it is also possible to refer the tool
orientation to the surface normal vector and path tangent vector using the addresses LEAD
(lead or camber angle) and TILT (side angle). The lead angle is the angle between the tool
orientation and the surface normal vector. The side angle is the angle between the path tangent
and the projection of the tool vector into the surface to be machined. Specification of the angle
relative to the surface normal is merely an additional option for programming tool orientation
at the block end. It does not imply that the lead and side angles reach their programmed values
before the path end point is reached.
The final tool orientation is calculated from the path tangent, surface normal vector, lead angle
and side angle at the block end. This orientation is always implemented by the end of the block,
particularly in cases where the block is shortened (at an inside corner). If the omitted path
section is not a straight line in a plane, the lead and side angles generally deviate from their
programmed values at the path end point. This is because the orientation has changed relative
to the surface normal vector or path tangent vector when the absolute orientation of the tool
is the same as at the original path end point.
Special functions
812 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
W5: 3D tool radius compensation - 840D sl only
23.3 Face milling
6LQJXODUSRLQW
Figure 23-15 Change in the machining point on the tool surface close to a point in which surface normal
vector and tool orientation are parallel
The problem is basically solved as follows: If the angle d between the surface normal vector
nF and tool orientation w is smaller than a limit value (machine data) δmin, then the side angle
y on tools with a flat end face (e.g. torus cutter or cylindrical mill) must be 0. This restriction
does not apply to tool types with a spherical end face (e.g. ball end mill, die sinker) since
angular changes close to the singular point do not lead to abrupt changes in the machining
point on the surface of such tools. If δ now becomes 0, i.e. the sign of lead angle b changes,
the machining point moves from its current position to the opposite side of the tool. This
movement is executed in an inserted linear block.
The machining operation is aborted with an alarm if an attempt is made to machine within the
illegal angular range for the side angle y (i.e. δ < δmin and γ , 0).
The insertion of linear blocks makes it necessary to split the original blocks at the singular
points. The partial blocks created in this way are treated as if they were original, which means,
for example, that a concave path containing a singularity is treated like an inside corner, i.e.
there is no contour violation. Each new partial block must contain at least one tool contact point
since this is always calculated on the basis of adjacent traversing blocks.
Singularities do not just occur at isolated points, but along whole curves. This is the case, for
example, if the curve to be interpolated is a plane curve (i.e. a curve with a constant osculating
plane) and the tool is constantly aligned in parallel to the binormal vector, i.e. perpendicular to
the osculating plane. A simple example is a circular arc in the x-y plane that is machined by a
tool aligned in parallel to the z axis. On paths of this type, the tool offset is reduced to a tool
length compensation, i.e. the tool is moved so that its tip FS is positioned on the programmed
path.
On transition between singular and non-singular curves, linear blocks must be inserted in the
same way as for isolated singular points so that the machining point on the tool can move from
the tool tip FS to the periphery (on outside corners and convex surfaces) or the paths must be
shortened to avoid contour violations (on inside corners and concave surfaces).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 813
W5: 3D tool radius compensation - 840D sl only
23.3 Face milling
The surface normals of the two surfaces forming the edge may point in opposite directions of
the overall surface (the front edge of one surface is continued on the rear edge of the second
surface), see also the following Figure. Such transitions are not permissible and are rejected
with an alarm.
The scalar product of the surface normal vector and (possibly variable) tool orientation on one
corner/path must be positive at each point, i.e. it is not permissible to machine from the rear
face of the surface. Failure to observe this rule results in an alarm. The permissible ranges of
validity of tool orientation for inside and outside corners are illustrated in the following Figure.
These ranges are further restricted by the condition that the angle between the surfaces to be
machined and the "steepest" surface line of the tool surface must not be lower than a particular
machine data setting. The "steepest" surface line is a line at angle a to the tool longitudinal
axis (this line is in the same direction as the tool longitudinal axis on cylindrical tools). This
restriction must be imposed to ensure that the contact point on the tool does not leave the
permissible range.
5DQJHRIYDOLGLW\RIWRRORULHQWDWLRQ
Q Q Q Q
Q
Q
It is possible to insert blocks that contain no motion commands (e.g. auxiliary function outputs)
and/or that include motions of axes not involved in the path between two blocks which contain
a path definition. Changes in orientation can also be programmed in such intermediate blocks.
The only exception applies to the activation and deactivation of the 3D tool radius
compensation function, i.e. intermediate blocks with changes in orientation may not be inserted
between the activation block and the first corrected block or between the last corrected block
and the deactivation block. Other intermediate blocks are, however, permitted.
Special functions
814 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
W5: 3D tool radius compensation - 840D sl only
23.3 Face milling
Programming
● ORIC: Change in orientation and path movement in parallel
(ORIentation Change Continuously)
● ORID: Change in orientation and path movement consecutively
(ORIentation Change Discontinuously)
The ORIC and ORID program commands are used to determine whether changes in orientation
programmed between two blocks are executed before the inserted circle block is processed
or at the same time.
When the orientation needs to be changed at outside corners, the change can be implemented
in parallel to interpolation or separately from the path motion. When ORID is programmed, the
inserted blocks are executed first without a path motion (blocks with changes in orientation,
auxiliary function outputs, etc.). The circle block is inserted immediately in front of the second
of the two traversing blocks which form the corner.
ORIC
If ORIC is active and there are two or more blocks with changes in orientation (e.g. A2= B2=
C2=) programmed between the traversing blocks, then the inserted circle block is distributed
among these intermediate blocks according to the absolute changes in angle.
Change in orientation
The method by which the orientation is changed at an outer corner is determined by the
program command that is active in the first traversing block of an outer corner.
If the tool orientation at an outside corner is not constant, then the change in orientation is
implemented in exactly the same way as described in Subsection "Behavior at outer corners"
for circumferential milling operations.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 815
W5: 3D tool radius compensation - 840D sl only
23.3 Face milling
&RQWDFWSRLQWV
7RROVXUIDFH
3DWKRIIVHWS 3DWK
RIIVHWS
7RRO
&XWHGJHRI
3DWKRQVXUIDFH ERWKVXUIDFHV 3DWKRQVXUIDFH
Figure 23-17 Inside corner with face milling (view in direction of longitudinal axis of tool)
Note
The amount by which the contact points deviate from the programmed contour will generally
be small since the explanatory example shown in the Figure, in which the machining point
"changes" the cutter side at an inside corner (the value of the angular difference Ψ about the
tool longitudinal axis between the two contact points on the tool surface is approximately 180°)
is more likely to be the exception (see also the following Figure, on the right). The angle Ψ will
normally stay almost constant so that the distance between the contact points on the tool
surface will be relatively small (see also the following Figure, on the left).
The difference between the programmed point on the path and the point actually to be
approached (path offset p) is eliminated linearly over the entire block length. Differences
resulting from inside corners at the block start and block end are overlaid. The current
difference in a path point is always perpendicular to the path and in the surface defined by the
surface normal vector.
If the tool orientation at an inside corner is not constant, the change in orientation is
implemented in the same way as described in Subsection "Behavior at inside corners" for 3D
circumferential milling, i.e. the tool is moved in the corner so that it contacts the two adjacent
surfaces at the block start, block end and at two points 1/3 and 2/3 of the change in orientation.
A 3rd-degree polynomial is used to interpolate between these 4 points.
Special functions
816 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
W5: 3D tool radius compensation - 840D sl only
23.4 Selection/deselection of 3D TRC
A variable tool orientation in a block that is shortened owing to an inside corner is also treated
in the same way as described in Subsection "Behavior at inside corners" for 3D milling, i.e.
the entire change in orientation is executed in the shortened block. Consequently, the
functional relationship between path tangent, surface normal and tool orientation also changes.
This results in new, previously nonexistent singularities or impermissible side angles (at points
which are virtually singular) occurring in the shortened block. If this type of situation is detected
during processing of an inside corner, the machining operation is aborted with an alarm. No
block division takes place at the singular points since the compensatory motions this would
involve frequently cause contour violations and the change in machining side on the tool is not
generally intended or even foreseen by the user. The alarm is also output during examination
of an inside corner if the singularity occurs in the second of the two blocks without the transition
to the next block being considered. The system does not therefore detect that a block of this
type will form an inside corner in conjunction with the following block and that the singularity
would be eliminated again by the second block reduction.
The surface normal vector nF is not affected by the reduction of a block. This means that in
contrast to the tool orientation, the change in orientation that may need to be executed for this
vector will not be imaged onto the reduced traversing interval. This is necessary because a
surface other than that programmed would be machined. Unlike the tool orientation, no
problems arise as the result of an abrupt change in the surface normal vector at a block
transition since it does not reflect any axis motions.
Analogously to 3D circumferential milling, (see Section "Behavior at inside corners
(Page 804)"), the two traversing blocks that form an inside corner must contain contact points.
There is no evaluation of several traversing blocks (i.e. no bottleneck detection), CDON/CDOF
are not evaluated. If no contact point can be found, the machining operation is aborted with
an alarm (risk of collision).
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 817
W5: 3D tool radius compensation - 840D sl only
23.4 Selection/deselection of 3D TRC
CUT3DC
3D radius compensation for circumferential milling (only when 5-axis transformation is
active).
CUT3DFS
3D tool offset for face milling with constant orientation. The tool orientation is determined by
G17 - G19 and is not influenced by frames.
CUT3DFF
3D tool offset for face milling with constant orientation. The tool orientation is the direction
defined by G17 - G19 and, in some case, rotated by a frame.
CUT3DF
This programming command selects the 3D tool offset for face milling with change in orientation
(only when 5-axis transformation is active).
TRC selection
The program commands used to select 3D TRC are the same as those for 2D TRC. G41/
G42 specify the compensation on the left or right in the direction of motion (the response on
selection of G41 and G42 for 3D face milling is identical). Tool radius compensation is
deactivated with G40. The approach response is always controlled with NORM. Activation must
be in a linear block.
Example:
Intermediate blocks
Intermediate blocks are permitted when 3D TRC is active. The specifications for 2D TRC apply
equally to 3D TRC.
Special functions
818 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
W5: 3D tool radius compensation - 840D sl only
23.5 Constraints
Deselection
The 3D tool radius compensation function is deselected in a linear block G0/G1 with geometry
axes by means of G40.
Example:
Note
D0 is programmed via active tool radius compensation, so there is no selection. If no geometry
axis is programmed for the current plane in the block with the selection, no selection takes
place.
23.5 Constraints
Face milling
The following boundary conditions must be observed for the "3D tool radius compensation"
for face milling:
● Functions with higher-order geometry information cannot be used (e.g. compressor,
polynomial or spline interpolation).
● A "bottleneck detection" is not possible, and therefore the user is solely responsible.
● For traversing motion in the orientation direction of the tool, and alarm is displayed and
machining stopped.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 819
W5: 3D tool radius compensation - 840D sl only
23.6 Examples
23.6 Examples
Example program for 3D circumferential milling:
Special functions
820 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
W5: 3D tool radius compensation - 840D sl only
23.7 Data lists
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 821
W5: 3D tool radius compensation - 840D sl only
23.7 Data lists
Special functions
822 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
W6: Path length evaluation - 840D sl only 24
24.1 Brief description
Function
With the "Path length evaluation" function, the NCK specific machine axis data is made
available as the system and OPI variables, with whose help it is possible to assess the strain
on the machine axes and thereby make an evaluation on the state of the machine's
maintenance.
Recorded data
The following data is recorded:
● Total traverse path
● Total travel time
● Total travel count
● Total traverse path at high axis speeds
● Total travel time at high axis speeds
● Travel count at high axis speeds
● Total sum of jerks
● Axis travel time with jerk
● Travel count with jerk
Evaluation
When the function is activated, the selected control data is automatically sent and made
available via the system and OPI variables for evaluation in the part program or synchronized
actions, as with user-specified HMI functions.
Meaning
The data remains saved in the control, so that it may continue to be used after POWER OFF /
ON. Consequently, the actual value of a data item represents the sum of all measured values
since the function was activated.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 823
W6: Path length evaluation - 840D sl only
24.3 Parameterization
24.2 Data
The following data is available:
24.3 Parameterization
Special functions
824 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
W6: Path length evaluation - 840D sl only
24.4 Examples
Bit Value Activation of the following data: System variable / OPI variable
0 1 ● Total traverse path: $AA_TRAVEL_DIST / aaTravelDist
● Total travel time: $AA_TRAVEL_TIME / aaTravelTime
● Total travel count: $AA_TRAVEL_COUNT / aaTravelCount
1 1 ● Total traversing distance for high velocities:
$AA_TRAVEL_DIST_HS / aaTravelDistHS
● Total traversing time for high velocities:
$AA_TRAVEL_TIME_HS / aaTravelTimeHS
● Total number of traversing operations at high velocities:
$AA_TRAVEL_COUNT_HS / aaTravelCountHS
2 1 ● Total sum of jerks: $AA_JERK_TOT / aaJerkTotal
● Travel time with jerk: $AA_JERK_TIME / aaJerkTime
● Total travel count with jerk:
$AA_JERK_COUNT / aaJerkCount
24.4 Examples
Parameter assignment
Activation of the overall function:
MD18860 $MN_MM_MAINTENANCE_MON = TRUE
Group activation: "Total travel distance, total travel time and number of travel operations" for
geometry axis AX1:
MD33060 $MA_MAINTENANCE_DATA[AX1] = 1
Programming
To determine the values referred to the part program, the actual value of the system variables
at the beginning of the part program must be saved in a calculation variable. The difference is
acquired at the end of the part program.
Part program (extract):
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 825
W6: Path length evaluation - 840D sl only
24.5 Data lists
Special functions
826 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Z3: NC/PLC interface signals 25
25.1 F2: 3 to 5-axis transformation
DB21, ...
DBX29.4 activate PTP traversal
Edge evaluation: Yes Signal(s) updated:
Signal state 1 or edge activate PTP traversal.
change 0 → 1
Signal state 0 or edge Activate CP traversal.
change 1 → 0
Signal irrelevant for ... No handling transformations active.
Additional references Function Manual, Special Functions; 3-Axis to 5-Axis Transformation (F2)
DB21, ...
DBX33.6 Transformation active
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or edge Active transformation.
change 0 → 1
Signal state 0 or edge Transformation not (no longer) active.
change 1 → 0
Signal irrelevant for ... No transformation used.
Additional references Programming Manual, Fundamentals
DB21, ...
DBB232 Number of active G function of G function group 25 (tool orientation reference)
Edge evaluation: Signal(s) updated:
Signal state 1 or edge ORIWKS: The tool orientation is implemented in a workpiece coordinate system and is thus
change 0 → 1 not dependent on the machine kinematics. This is the default setting.
Signal state 0 or edge ORIMKS: The tool orientation is defined in the machine coordinate system and is thus depend‐
change 1 → 0 ent on the machine kinematics. This is the default setting.
DB21, …
DBX317.6 PTP traversal active
Edge evaluation: Yes Signal(s) updated:
Signal state 1 or edge PTP traversal active.
change 0 → 1
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 827
Z3: NC/PLC interface signals
25.1 F2: 3 to 5-axis transformation
DB21, …
DBX317.6 PTP traversal active
Signal state 0 or edge CP traversal active.
change 1 → 0
Signal irrelevant for ... No handling transformations active.
Additional references Function Manual, Special Functions; 3-Axis to 5-Axis Transformation (F2)
DB21, …
DBX318.2 TOFF active
Edge evaluation: Yes Signal(s) updated:
Signal state 1 or edge Activate online tool length offset.
change 0 → 1
Signal state 0 or edge Reset online tool length offset.
change 1 → 0
Signal irrelevant for ... The "generic 5-axis transformation" option is not available and no handling transformations
are active.
Additional references Function Manual, Special Functions; 3-Axis to 5-Axis Transformation (F2)
DB21, …
DBX318.3 TOFF motion active
Edge evaluation: Yes Signal(s) updated:
Signal state 1 or edge Activate offset motion.
change 0 → 1
Signal state 0 or edge Deactivate offset motion.
change 1 → 0
Signal irrelevant for ... The "generic 5-axis transformation" option is not available and no handling transformations
are active.
Additional references Function Manual, Special Functions; 3-Axis to 5-Axis Transformation (F2)
Special functions
828 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Z3: NC/PLC interface signals
25.2 G1: Gantry axes
DB31, ...
DBX29.4 Start gantry synchronization
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or edge Request from PLC user program to synchronize the leading axis with the assigned synchron‐
change 0 → 1 ized axes:
MD37100 $MA_GANTRY_AXIS_TYPE (gantry axis definition)
(i.e. all gantry axes approach the reference position of the gantry grouping in the decoupled
state).
Synchronization of the gantry axes can be started only under the following conditions:
● REF machine function must be active
● DB11, ... DBX5.2 (REF active machine function) = 1
● DB31, ... DBX101.5 (gantry grouping is synchronized) = 0
● DB31, ... DBX101.4 (gantry synchronization ready to start) = 1
● No axis is being referenced in the appropriate NC channel:
DB21, … DBX33.0 (referencing active) = 0
Signal state 0 or edge The PLC user program can then, for example, reset the interface signal to signal state "0" on
change 1 → 0 completion of gantry synchronization (DB31, ... DBX101.5 = 1).
If the IS is set continuously to "1", the gantry synchronization run would be started automatically
as soon as the above conditions are fulfilled.
Signal irrelevant for ... Gantry synchronized axis
Application example(s) If the deviation between the position actual values and the reference position is greater than
the gantry warning threshold after referencing of the gantry axes, automatic gantry synchroni‐
zation is not started and IS "Gantry synchronization ready to start" is set to "1".
Synchronization of the gantry axes can be started by the user or the PLC user program with
IS "Start gantry synchronization".
Corresponding DB31, ... DBX101.5 (gantry grouping is synchronized)
to .... DB31, ... DBX101.4 (gantry synchronization ready to start)
DB11, ... DBX5.2 (REF active machine function)
DB21, ... DBX33.0 (referencing active)
DB31, ...
DBX29.5 Disable automatic synchronization
Edge evaluation: No Signal(s) updated:
Signal state 1 or edge No automatic synchronization.
change 0 → 1
Signal state 0 or edge The automatic synchronization process is active.
change 1 → 0
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 829
Z3: NC/PLC interface signals
25.2 G1: Gantry axes
DB31, ...
DBX29.5 Disable automatic synchronization
Signal irrelevant for ... Gantry synchronized axis
Application example(s) The automatic synchronization process can be disabled by sending a VDI signal to the axial
PLC → NC interface of the master axis. This always makes sense when the axes are not
activated by default. In this case, the synchronization process should also be started explicitly.
DB31, ...
DBX101.2 Gantry trip limit exceeded
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or edge The difference between the position actual values of the leading and synchronized axes has
change 0 → 1 exceeded the maximum permissible limit value. The axes in the gantry grouping are shut down
internally in the control. Alarm 10653 "Error limit exceeded" is also output.
The monitored limit value is derived from the following machine data:
● MD37120 $MA_GANTRY_POS_TOL_ERROR (gantry trip limit)
... if gantry grouping is synchronized.
● MD37130 $MA_GANTRY_POS_TOL_REF (gantry trip limit for referencing)
... if gantry grouping is not yet synchronized.
Note:
IS "Gantry trip limit exceeded" is output to the PLC via the PLC interface of the synchronized
axis.
Signal state 0 or edge The difference between the position actual values of the leading and synchronized axes is still
change 1 → 0 within the permissible tolerance range.
Signal irrelevant for ... Gantry leading axis
Corresponding to .... MD37120 $MA_GANTRY_POS_TOL_ERROR (gantry trip limit)
MD37130 $MA_GANTRY_POS_TOL_REF (gantry trip limit for referencing)
DB31, ... DBX101.5 (gantry grouping is synchronized)
DB31, ...
DBX101.3 Gantry warning limit exceeded
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or edge The difference between the position actual values of the leading and synchronized axes has
change 0 → 1 exceeded the limit value defined by the following machine data:
MD37110 $MA_GANTRY_POS_TOL_WARNING (gantry warning limit)
The message "Warning limit exceeded" is also output.
Note:
IS "Gantry warning limit exceeded" is output to the PLC via the PLC interface of the synchron‐
ized axis.
Signal state 0 or edge The difference between the position actual values of the leading and synchronized axes is less
change 1 → 0 than the limit value defined with machine data:
MD37110 $MA_GANTRY_POS_TOL_WARNING (gantry warning limit)
Signal irrelevant for ... Gantry leading axis
Special functions
830 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Z3: NC/PLC interface signals
25.2 G1: Gantry axes
DB31, ...
DBX101.3 Gantry warning limit exceeded
Application example(s) When the gantry warning limit is exceeded, the necessary measures (e.g. program interruption
at block end) can be initiated by the PLC user program.
Special cases, errors, ... Warning limit monitoring is rendered inactive when the value 0 is input in the following machine
data:
MD37110 $MA_GANTRY_POS_TOL_WARNING (gantry warning limit)
Corresponding to .... MD37110 $MA_GANTRY_POS_TOL_WARNING (gantry warning limit)
DB31, ...
DBX101.4 Gantry synchronization ready to start
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or edge After gantry axis referencing, the monitoring function has detected that the position actual value
change 0 → 1 deviation between the leading and synchronized axes is greater than the gantry warning limit:
MD37110 $MA_GANTRY_POS_TOL_WARNING (gantry warning limit)
It is therefore not possible to start the automatic synchronization compensatory motion of the
gantry axes internally in the control.
The compensatory motion must be started by the user or the PLC user program (IS "Start
gantry synchronization"). The signal is processed for the gantry leading axis only.
Signal state 0 or edge After the synchronization compensatory motion has been started by the PLC user program (IS
change 1 → 0 "Start gantry synchronization" = "1").
Signal irrelevant for ... Gantry synchronized axis
Corresponding to .... MD37110 $MA_GANTRY_POS_TOL_WARNING (gantry warning limit)
DB31, ... DBX29.4 (gantry synchronization ready to start)
DB31, ...DBX60.4 and 60.5 (referenced / synchronized 1/2)
DB31, ...
DBX101.5 Gantry grouping is synchronized
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or edge The gantry axis grouping defined with the following machine data is synchronized:
change 0 → 1 MD37100 $MA_GANTRY_AXIS_TYPE (gantry axis definition)
Any existing misalignment between the leading and synchronized axes (e.g. after start-up of
the machine) is eliminated by gantry axis synchronization (see Section "Start-up of gantry
axes (Page 162)").
The synchronization process is initiated either automatically once the gantry axes have been
referenced or via the PLC user program (IS "Start gantry synchronization").
The compensation values for temperature and sag do not become effective internally in the
control until the gantry grouping is synchronized.
Note:
IS "Gantry grouping is synchronized" is output to the PLC via the PLC interface of the leading
axis.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 831
Z3: NC/PLC interface signals
25.2 G1: Gantry axes
DB31, ...
DBX101.5 Gantry grouping is synchronized
Signal state 0 or edge The gantry axis grouping defined with the following machine data is not synchronized:
change 1 → 0 MD37100 $MA_GANTRY_AXIS_TYPE (gantry axis definition)
which means that the positions of the leading and synchronized axes may not be ideally aligned
(e.g. gantry misalignment).
Workpiece machining with a non-synchronized gantry axis grouping will result in impaired ma‐
chining accuracy or mechanical damage to the machine.
The gantry grouping becomes desynchronized if:
● The gantry axes were in "Follow-up" mode
● The reference position of a gantry axis is no longer valid or the axis is referenced again (IS
"Referenced/Synchronized")
● The gantry grouping has been invalidated via the following machine data:
MD37140 $MA_GANTRY_BREAK_UP (invalidate gantry axis grouping)
Signal irrelevant for ... Gantry synchronized axis
Application example(s) Machining should be enabled only if the gantry axes are already synchronized. This can be
implemented in the PLC user program by combining NC Start with IS "Gantry grouping is
synchronized".
Corresponding to .... DB31, ... DBX29.4 (gantry synchronization ready to start)
DB31, ... DBX60.4 and 60.5 (referenced/synchronized 1 / 2)
MD37140 $MA_GANTRY_BREAK_UP (invalidate gantry axis grouping)
DB31, ...
DBX101.6 Gantry leading axis
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or edge The axis is defined as the leading axis within a gantry axis grouping (see MD37100).
change 0 → 1 Note:
The following interface signals are evaluated or output to the PLC via the PLC interface of the
gantry leading axis:
DB31, ... DBX29.4 (gantry synchronization ready to start)
DB31, ... DBX101.5 (gantry grouping is synchronized)
Signal state 0 or edge The axis is defined as the synchronized axis within a gantry axis grouping (see MD37100).
change 1 → 0 It is not possible to traverse a synchronized axis directly by hand (in JOG mode) or to program
it in a part program.
Note:
The following interface signals are output to the PLC via the PLC interface of the gantry
synchronized axis:
DB31, ... DBX101.3 (warning limit exceeded)
DB31, ... DBX101.2 (gantry trip limit exceeded)
The NCK does not evaluate individual axial PLC interface signals for the synchronized axis.
Corresponding to .... MD37100 $MA_GANTRY_AXIS_TYPE (gantry axis definition)
DB31, ...DBX101.7 (gantry axis)
Special functions
832 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Z3: NC/PLC interface signals
25.3 K9: Collision avoidance
DB31, ...
DBX101.7 Gantry axis
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or edge The axis is defined as a gantry axis within a gantry axis grouping (see MD37100).
change 0 → 1 The PLC user program can read IS "Gantry leading axis" to detect whether the axis has been
declared as a leading or synchronized axis.
Signal state 0 or edge The axis is not defined as a gantry axis (see MD37100).
change 1 → 0
Corresponding to .... MD37100 $MA_GANTRY_AXIS_TYPE (gantry axis definition)
DB31, ... DBX101.6 (gantry leading axis)
DB10
DBX58.0 - 7 Collision avoidance: Deactivate protection area group
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 The deactivation of all protection areas in the selected operating mode and the
selected protection area type is requested.
Bit Operating mode Protection area type 1)
0 AUTOMATIC MACHINE
1 AUTOMATIC TOOL
2 --- ---
3 --- ---
4 JOG MACHINE
5 JOG TOOL
6 --- ---
7 --- ---
Signal state 0 The deactivation of all protection areas in the selected operating mode and the
selected protection area type is not requested.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 833
Z3: NC/PLC interface signals
25.3 K9: Collision avoidance
DB10
DBX58.0 - 7 Collision avoidance: Deactivate protection area group
Remark 1) Type of a protection area: System variable $NP_PROT_TYPE (Page 236)
Note
● The protection area groups can be deactivated through the SINUMERIK
Operate user interface. Machine basic display AUTOMATIC, JOG or MDI >
"ETC key (">")" > "Settings" > "Collision avoidance" > "Switch collision
avoidance on and off"
● If manual traversing has been enabled in AUTOMATIC mode:
MD10735 $MN_JOG_MODE_MASK, bit 0 == 1 (Enable Jog in Automatic
mode)
the settings for the JOG mode also apply in AUTOMATIC mode during
manual traversing.
Additional references Turning and/or Milling Operating Manual respectively: "Collision avoidance" sec‐
tion
DB10
DBX234.0 - DBX241.7 Collision avoidance: Activate protection area
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 Request to activate the protection areas that are connected with the interface
signal.
Signal state 0 Request to deactivate the protection areas that are connected with the interface
signal.
Remark A protection area is connected with the interface signal via parameter assign‐
ment of the Bit number corresponding with the interface signal, in the system
variables $NP_BIT_NO (Page 240) of the protection area.
Assignment: Bit number ↔ interface signal
Bit number Interface signal
0, 1, 2, ... 62, 63 DBX234.0, DBX234.1, DBX234.2, ... DBX241.6,
DBX241.7
corresponding DB10, DBX226.0 - DBX233.7 (collision avoidance: protection area active)
with ...
DB10
DBX226.0 - DBX233.7 Collision avoidance: Protection area active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 The protection area connected to the interface signal 1) is active.
If several protection areas are connected to the interface signal 1): All protection
areas are active.
Signal state 0 The protection area connected to the interface signal 1) is not active.
If several protection areas are connected to the interface signal 1): At least one
protection area is not active.
Special functions
834 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Z3: NC/PLC interface signals
25.3 K9: Collision avoidance
DB10
DBX226.0 - DBX233.7 Collision avoidance: Protection area active
Remark A protection area is connected with the interface signal via parameter assign‐
ment of the Bit number corresponding with the interface signal, in the system
variables $NP_BIT_NO (Page 240) of the protection area.
Assignment: Bit number ↔ interface signal
Bit number Interface signal
0, 1, 2, ... 62, 63 DBX226.0, DBX226.1, DBX226.2, ... DBX233.6,
DBX233.7
corresponding DB10, DBX234.0 - DBX241.7 (collision avoidance: activate protection area)
with ...
DB21, ...
DBX377.0 Collision avoidance: Stop
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 The collision avoidance has triggered a stop of the traversing motions in the
channel.
Signal state 0 The collision avoidance has not triggered a stop of the traversing motions in the
channel.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 835
Z3: NC/PLC interface signals
25.4 M3: Axis couplings
DB31, …
DBX26.4 Active following axis overlay
DB31, …
DBX98.5 Velocity warning threshold
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or edge When the following axis velocity in the axis grouping of the electronic gear (set in machine
change 0 → 1 data MD32000) reaches or exceeds the velocity % block entered in machine data MD37550,
the signal is set to 1.
Signal state 0 or edge The following axis velocity in the axis grouping of the electronic gear is less than the threshold
change 1 → 0 value described above.
Signal irrelevant ... Without electronic gear.
Corresponding to ... the following machine data:
MD37550 $MA_EG_VEL_WARNING (threshold value velocity alarm threshold)
MD32000 $MA_MAX_AX_VELO (maximum axis velocity)
DB31, …
DBX98.6 Acceleration warning threshold
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or edge When the following axis acceleration in the axis grouping of the electronic gear (set in machine
change 0 → 1 data MD32300) reaches or exceeds the acceleration % block entered in machine data
MD37550, the signal is set to 1.
Signal state 0 or edge The following axis acceleration in the axis grouping of the electronic gear is less than the
change 1 → 0 threshold value described above.
Special functions
836 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Z3: NC/PLC interface signals
25.5 R3: Extended stop and retract
DB31, …
DBX98.6 Acceleration warning threshold
Signal irrelevant ... Without electronic gear.
Corresponding to ... The following machine data:
MD37550 $MA_EG_VEL_WARNING (threshold value velocity alarm threshold)
MD32300 $MA_MAX_AX_ACCEL (axis acceleration)
DB31, …
DBX99.3 Axis accelerated
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or edge When the following axis acceleration in the axis grouping of the electronic gear (set in machine
change 0 → 1 data MD32300) reaches or exceeds the acceleration % block entered in machine data
MD37560, the signal is set to 1.
Signal state 0 or edge The following axis acceleration in the axis grouping of the electronic gear is less than the
change 1 → 0 operating value described above.
Signal irrelevant ... Without electronic gear.
Corresponding to ... The following machine data:
MD37560 $MA_EG_ACC_TOL (threshold value for "Accelerate axis")
MD32300 $MA_MAX_AX_ACCEL (axis acceleration)
DB31, ...
DBX95.1 ESR: DC link undervoltage
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 The drive signals that the DC link voltage VDC link is less than the lower DC link voltage threshold set
with parameter p1248.
Signal state 0 The drive signals that the DC link voltage VDC link is greater than the lower DC link voltage threshold
set with parameter p1248.
Application exam‐ The PLC user program can initiate measures in order to safely end machining and/or to buffer the
ple(s) DC link voltage, e.g. initiate a drive-autonomous and/or control-managed extended stop and retract
(ESR).
Corresponding to .... ● Drive parameter p1248 (lower DC link voltage threshold)
● Drive telegram MELDW.Bit 4
Additional references Commissioning Manual IBN CNC: NCK, PLC, Drive
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 837
Z3: NC/PLC interface signals
25.6 S9: Setpoint changeover
DB31, ...
DBX95.2 ESR: Reaction triggered or generator operation active
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 The drive signals that the configured ESR response has been triggered or generator operation is
active.
Signal state 0 The drive signals that neither the configured ESR response has been triggered nor that generator
operation is active.
Corresponding to .... Drive telegram MELDW.Bit 9
Additional references Commissioning Manual IBN CNC: NCK, PLC, Drive
DB31, ...
DBX95.3 Generator operation – minimum speed fallen below
Edge evaluation: No Signal(s) updated: Cyclically
Signal state 1 The axis is parameterized as generator axis. The drive signals that the actual speed is less than the
minimum speed set using parameter p2161 (speed threshold value 3).
Signal state 0 The axis is parameterized as generator axis. The drive signals that the actual speed is greater than
the minimum speed set using parameter p2161 (speed threshold value 3).
Application exam‐ The PLC user program can initiate measures in order to safely end machining and/or to buffer the
ple(s) DC link voltage, e.g. initiate a drive-autonomous and/or control-managed extended stop and retract
(ESR).
Corresponding to .... ● Drive parameter p2161 (speed threshold value 3)
● Drive telegram MELDW.Bit2
Additional references Commissioning Manual IBN CNC: NCK, PLC, Drive
DB31, ...
DBX24.5 Activate setpoint exchange
Edge evaluation: No Signal(s) updated: Cyclic
Signal state = 1 Request to axis to take over drive control.
Signal state = 0 Request to axis to relinquish drive control.
Special functions
838 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Z3: NC/PLC interface signals
25.8 TE1: Clearance control
DB31, ...
DBX96.5 Status of setpoint exchange
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 The axis has taken over control of the drive.
Signal state 0 The axis has relinquished control of the drive.
Signal relevant for ... All axes involved in setpoint exchange.
Table 25-1
DB21, ...
DBX1.4 CLC stop
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or Clearance control is deactivated in the same way as the part program command
edge change 0 → 1 CLC_GAIN=0.0.
Signal state 0 or Clearance control is enabled.
edge change 1 → 0
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 839
Z3: NC/PLC interface signals
25.8 TE1: Clearance control
DB21, ...
DBX1.5 CLC_Override
Edge evaluation: no Signal(s) updated: Cyclic
Signal state 1 or The channel-specific override DB21, … DBB4 (feed rate override) also applies to the clearance
edge change 0 → 1 control
Override settings < 100% reduce corresponding to the velocity limitation for the overriding
motion, as defined in the following machine data:
MD62516 $MC_CLC_SENSOR_VELO_LIMIT (velocity of clearance control motion)
Override settings > 100% apply the limitation from the machine data.
Signal state 0 or The maximum velocity of the control motion is not dependent on the override setting
edge change 1 → 0
Application example The difference for the operator is particularly dependent on whether the sensor motion is stop‐
ped or not with a 0 override.
Corresponding to .... channel-specific override settings:
DB21, ... DBB4 (feed rate override)
DB21, ... DBX6.7 (feed rate override active)
DB21, ...
DBX37.3 CLC is active
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or Clearance control is activated.
edge change 0 → 1
Signal state 0 or Clearance control is deactivated.
edge change 1 → 0
DB21, ...
DBX37.4 CLC motion at lower motion limit
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or The traversing movement of the clearance-controlled axes based on clearance control has
edge change 0 → 1 been stopped at the upper movement limit set in
MD62505 $MC_CLC_SENSOR_LOWER_LIMIT (lower clearance control motion limit)
or programmed with CLC_LIM(..).
Note:
The following signal is set at the same time:
DB21, … DBX37.5 (CLC-stopped upper limit)
→ see "CLC motion has stopped" signal.
Signal state 0 or Clearance control has left the lower limitation.
edge change 1 → 0
Special functions
840 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Z3: NC/PLC interface signals
25.8 TE1: Clearance control
DB21, ...
DBX37.5 CLC motion at upper motion limit
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or The traversing movement of the clearance-controlled axes based on clearance control has
edge change 0 → 1 been stopped at the upper movement limit set in
MD62506 $MC_CLC_SENSOR_UPPER_LIMIT (upper clearance control motion limit)
or programmed with CLC_LIM(..).
Note:
The following signal is set at the same time:
DB21, … DBX37.4 (CLC-stopped lower limit)
→ see "CLC motion has stopped" signal.
Signal state 0 or Clearance control has left the upper limitation.
edge change 1 → 0
DB21, ...
DBX37.4-5 CLC motion has stopped
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or The traversing movement of the clearance-controlled axes based on clearance control is at a
edge change 0 → 1 standstill. The following conditions will set the signal:
The standstill conditions set in the following machine data are met:
MD62520 $MC_CLC_SENSOR_STOP_POS_TOL (positional tolerance for status message
"Clearance control zero speed")
MD62521 $MC_CLC_SENSOR_STOP_DWELL_TIME (wait time for status message "Clear‐
ance control zero speed")
Programming of CLC_GAIN=0.0
PLC interface signal:
DB21, … DBX1.4 (stop CLC motion)
Note:
The "CLC motion at standstill" signal is only set if bits 4 and 5 are set at the same time. If only
one of the two bits is set → see below.
Signal state 0 or Clearance control generates traversing movements directly in the clearance-controlled axes.
edge change 1 → 0 As long as the axes are traversing due to clearance control, the axial interface signals cannot
be set:
DB31, … DBX60.6/7 (position reached with exact stop coarse/fine)
Corresponding to .... DB3x DBX30.6/7 "Position reached, exact stop coarse/fine"
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 841
Z3: NC/PLC interface signals
25.9 TE3: Speed/torque coupling, master-slave
DB31, ...
DBX24.4 Torque compensatory controller on
Edge evaluation: Yes Signal(s) updated: Cyclically
Signal state 1 or edge Torque compensatory controller is to be activated.
change 0 → 1 The following conditions must be fulfilled for activation:
DB31, ... DBX96.2 ("fine" differential speed reached)
Signal state 0 or edge Torque compensatory controller is to be deactivated.
change 1 → 0
DB31, ...
DBX24.7 Master/slave on
Edge evaluation: Yes Signal(s) updated: Cyclic
Signal state 1 or edge Master-slave coupling should be activated.
change 0 → 1
Signal state 0 or edge Master-slave coupling should be deactivated.
change 1 → 0 The following conditions must be fulfilled for activation and deactivation:
● Leading and following axes under position control (DB31, ... DBX61.5)
● Leading and following axes are at standstill (DB31, ... DBX61.4)
● The channels of the leading and following axes are in the reset state (DB21, ... DBX35.7)
If a condition is not fulfilled, the coupling will not be activated or deactivated. No alarm appears
and the status of the coupling remains the same.
If, at a later point, all conditions are fulfilled, the coupling will be activated or deactivated
depending on the status of the signal.
The signal for the following axis of a coupling is relevant.
DB31, ...
DBX96.2 Master/slave fine
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or edge The differential speed is in the range defined by the following machine data:
change 0 → 1 MD37272 $MA_MS_VELO_TOL_FINE
Signal state 0 or edge The differential speed has not reached the range defined in MD37272.
change 1 → 0
Special functions
842 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Z3: NC/PLC interface signals
25.10 TE4: Transformation package, handling
DB31, ...
DBX96.3 Master/slave coarse
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or edge The differential speed is in the range defined by the following item of machine data:
change 0 → 1 MD37270 $MA_MS_VELO_TOL_COARSE
Signal state 0 or edge The differential speed has not reached the range defined in MD37270.
change 1 → 0
DB31, ...
DBX96.4 Master/slave compensatory cont. active
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or edge Torque compensatory control is active.
change 0 → 1
Signal state 0 or edge Torque compensatory control is not active.
change 1 → 0 The signal at the slave axis of a coupling is relevant.
DB31, ...
DBX96.7 Master/slave active
Edge evaluation: No Signal(s) updated: Cyclic
Signal state 1 or edge Master-slave coupling is active.
change 0 → 1
Signal state 0 or edge Master-slave coupling is not active.
change 1 → 0 The signal at the following axis of a coupling is relevant.
DB21, ...
DBX29.4 Activate PTP traversal
Edge evaluation: Yes Signal(s) updated:
Signal state 1 or Activate PTP traversal.
edge change 0 → 1
Signal state 0 or Activate CP traversal.
edge change 1 → 0
Signal irrelevant No handling transformations active.
for ...
Additional references Function Manual, Special Functions; 3-Axis to 5-Axis Transformation (F2)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 843
Z3: NC/PLC interface signals
25.11 TE6: MCS coupling
DB21, ...
DBX33.6 Transformation active
Edge evaluation: Yes Signal(s) updated:
Signal state 1 or edge Active transformation.
change 0 → 1
Signal state 0 or edge Transformation not (no longer) active.
change 1 → 0
Signal irrelevant for ... No transformation used.
Additional references Function Manual, Special Functions; 3-Axis to 5-Axis Transformation (F2)
DB21, ...
DBB232 Number of active G function of G function group 25 (tool orientation reference)
Edge evaluation: Signal(s) updated:
Meaning 1 ORIWKS: The tool orientation is implemented in a workpiece coordinate system and is thus not de‐
pendent on the machine kinematics.
Meaning 2 ORIMKS: The tool orientation is defined in the machine coordinate system and is thus dependent on
the machine kinematics. This is the default setting.
Meaning 3 ORIPATH: The tool orientation is implemented with the programmed lead and side angles relative to
the path tangent and surface normal vector.
DB21, ...
DBX317.6 PTP traversal active
Edge evaluation: Yes Signal(s) updated:
Signal state 1 or edge PTP traversal active.
change 0 → 1
Signal state 0 or edge CP traversal active.
change 1 → 0
Signal irrelevant for ... No handling transformations active.
Additional references Function Manual, Special Functions; 3-Axis to 5-Axis Transformation (F2)
DB31, …
DBX24.2 Deactivate or disable coupling
Edge evaluation: No Signal(s) updated:
Signal state 1 An active coupling is not deactivated until the relevant axes are stationary. If CC_COPON is
programmed for this axis, no error message is generated.
Signal state 0 Coupling may be activated
Special functions
844 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Z3: NC/PLC interface signals
25.11 TE6: MCS coupling
DB31, …
DBX24.2 Deactivate or disable coupling
Signal irrelevant for ...
Application example(s) Evaluated only on the CC_Slave axis.
DB31, …
DBX24.3 Switch on collision protection
Edge evaluation: Yes Signal(s) updated:
Signal state 1 Collision protection ON
Signal state 0 Collision protection OFF
Signal irrelevant for ... This signal is processed only if collision protection is not activated via machine data:
MD65543 $MA_CC_PROTECT_OPTIONS
Application example(s) Evaluated only on the PSlave axis.
DB31, …
DBX66.0 Activate monitor
Edge evaluation: No Signal(s) updated:
Signal state 1 Monitoring is active.
This readout must be activated by the PSlave axis in the the following machine data:
MD63543 $MD_CC_PROTECT_OPTIONS
Note:
Conflicts may occur in connection with customer-specific compile cycles.
Signal state 0 Monitor is not active.
DB31, …
DBX97.0 Axis is a slave axis
Edge evaluation: No Signal(s) updated:
Signal state 1 Axis is a CC_Slave axis.
The associated CC_Master axis can be found in the machine data.
Signal state 0 Axis is not a CC_Slave axis
DB31, …
DBX97.1 Activate coupling
Edge evaluation: No Signal(s) updated:
Signal state 1 Coupling active
Signal state 0 Coupling not active
Signal irrelevant for ...
Application example(s) Displayed only for the CC_Slave axis.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 845
Z3: NC/PLC interface signals
25.12 TE7: Continue machining at the contour – retrace support
DB31, …
DBX97.2 Activate mirroring
Edge evaluation: No Signal(s) updated:
Signal state 1 Mirroring active (1:-1)
Signal state 0 1:1 coupling active
Signal irrelevant for ... Relevant only if coupling is active (DBX97.1 = 1)
Application example(s) Displayed only for the CC_Slave axis.
DB31, …
DBX97.3 Offset after point of activation
Edge evaluation: Yes Signal(s) updated:
Signal state 1 New offset after point of activation.
This bit is set to 1 if a particular event (SW/HW limit switch on CC_Slave axis) causes a change
in the offset between CC_Master and CC_Slave stored when the coupling was activated.
Signal state 0 No new offset since activation.
Signal irrelevant for ... The bit is not set in the RESET phase.
Application example(s) Displayed only for the CC_Slave axis.
DB21, ...
DBX0.1 Reverse/Forward
Edge evaluation: Yes Signal(s) updated:
Signal state 1 or edge Activate reverse travel.
change 0 → 1 The RESU main program CC_RESU.MPF is generated from the traversing blocks recorded in the
RESU-internal block buffer in order to initiate travel back along the contour on the next NC START.
Edge change 1 → 0 Activate forward travel.
The RESU main program CC_RESU.MPF is generated from the traversing blocks recorded in the
RESU-internal block buffer in order to initiate travel forwards along the contour on the next NC
START.
Signal state 0 Not relevant.
Signal irrelevant for ... RESU technological function not loaded or not activated.
Special functions
846 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Z3: NC/PLC interface signals
25.12 TE7: Continue machining at the contour – retrace support
DB21, ...
DBX0.2 Start retrace support
Edge evaluation: No Signal(s) updated:
Signal state 1 Start retrace support:
The original machining program is reselected and a block search is carried out to locate the program
continuation point.
Signal state 0 Not relevant.
Signal irrelevant for ... The NC is not in Retrace mode or RESU is not active.
DB21, ...
DBX32.1 Retrace mode active
Edge evaluation: No Signal(s) updated:
Signal state 1 The "Retrace mode active" signal is active as long as the control is in Retrace mode. This is the case
from initial activation of the "reverse/forward" signal until activation of the "start retrace support"
signal.
Signal state 0 The machining program is executed.
Signal irrelevant for ... RESU technological function not active.
DB21, ...
DBX32.2 Retrace support active
Edge evaluation: No Signal(s) updated:
Signal state 1 The "retrace support active" signal is set as soon as signal state 1 is detected for the "start retrace
support" signal. The "retrace support active" signal is reset at the end of retrace support once the
last action block has been completed.
Signal state 0 Retrace support not active
Signal irrelevant for ... RESU technological function not active.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 847
Z3: NC/PLC interface signals
25.12 TE7: Continue machining at the contour – retrace support
Special functions
848 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
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
CI Connector Input
CF Card Compact Flash Card
CNC Computerized Numerical Control: Computer-Supported Numerical Control
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 849
Appendix
A.1 List of abbreviations
C
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)
E
I Input
EES Execution from External Storage
Special functions
850 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Appendix
A.1 List of abbreviations
E
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
GSDML Generic Station Description Markup Language: XML-based description language for
creating a GSD file
GUD Global User Data: Global user data
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 851
Appendix
A.1 List of abbreviations
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
PMS Position Measuring System
LR Position controller
LSB Least Significant Bit: Least significant bit
LUD Local User Data: User data (local)
Special functions
852 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Appendix
A.1 List of abbreviations
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
NCK Numerical Control Kernel: NC kernel with block preparation, traversing range, etc.
NCU Numerical Control Unit: NCK hardware unit
NRK Name for the operating system of the NCK
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
P
PIQ Process Image Output
PII Process Image Input
PC Personal Computer
PCIN Name of the SW for data exchange with the control
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 853
Appendix
A.1 List of abbreviations
P
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
RP R Parameter, arithmetic parameter, predefined user variable
RPA R Parameter Active: Memory area on the NCK 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
Special functions
854 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Appendix
A.1 List of abbreviations
R
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: Search run by 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
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 855
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 NCK 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
Special functions
856 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
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)
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 857
Appendix
A.2 Overview
A.2 Overview
*HQHUDOGRFXPHQWDWLRQ
6,180(5,. 6,180(5,. 6,180(5,.
'VO
'
Special functions
858 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
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.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 859
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.
Special functions
860 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
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. Polynomials of the
3rd degree are used.
Channel
A channel is characterized by the fact that it can process a → part program independently of
other channels. A channel exclusively controls the axes and spindles assigned to it. Part
program runs of different channels can be coordinated through → synchronization.
Circular interpolation
The → tool moves on a circle between specified points on the contour at a given feedrate, and
the workpiece is thereby machined.
CNC
See → NC
Computerized Numerical Control: includes the components → NCK, → PLC, HMI, → COM.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 861
Glossary
CNC
See → NC
Computerized Numerical Control: includes the components → NCK, → PLC, HMI, → COM.
COM
Component of the NC for the implementation and coordination of communication.
Compensation axis
Axis with a setpoint or actual value modified by the compensation value
Compensation table
Table containing interpolation points. It provides the compensation values of the compensation
axis for selected positions on the basic axis.
Compensation value
Difference between the axis position measured by the encoder and the desired, programmed
axis position.
Continuous-path mode
The objective of continuous-path mode is to avoid substantial deceleration of the → path axes
at the part program block boundaries and to change to the next block at as close to the same
path velocity as possible.
Contour
Contour of the → workpiece
Contour monitoring
The following error is monitored within a definable tolerance band as a measure of contour
accuracy. An unacceptably high following error can cause the drive to become overloaded, for
example. In such cases, an alarm is output and the axes are stopped.
Coordinate system
See → Machine coordinate system, → Workpiece coordinate system
CPU
Central processing unit, see → PLC
Special functions
862 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
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.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 863
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.
Special functions
864 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
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.
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
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 865
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.
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 → NCK that defines intermediate values for the motions to be carried out in
individual axes based on information on the end positions specified in the part program.
Special functions
866 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Glossary
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.
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.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 867
Glossary
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.
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.
Special functions
868 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Glossary
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.
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.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 869
Glossary
NC
Numerical Control component of the → CNC that executes the → part programs and coordinates
the movements of the machine tool.
Network
A network is the connection of multiple S7-300 and other end devices, e.g. a programming
device via a → connecting cable. A data exchange takes place over the network between the
connected devices.
NRK
Numeric robotic kernel (operating system of → NCK)
NURBS
The motion control and path interpolation that occurs within the 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.
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
Special functions
870 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Glossary
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.
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.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 871
Glossary
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).
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.
Special functions
872 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Glossary
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.
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
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 873
Glossary
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.
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.
Special functions
874 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Glossary
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)).
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.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 875
Glossary
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".
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.
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).
Special functions
876 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Glossary
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).
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.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 877
Glossary
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.
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.
Special functions
878 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Glossary
Working memory
The working memory is a RAM in the → CPU that the processor accesses when processing
the application program.
Workpiece
Part to be made/machined by the machine tool.
Workpiece contour
Set contour of the → workpiece to be created or machined.
Workpiece zero
The workpiece zero is the starting point for the → workpiece coordinate system. It is defined
in terms of distances to the → machine zero.
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 879
Glossary
Special functions
880 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Index
$AC_TOOLR_END, 104
$AN_ACTIVATE_COLL_CHECK, 285
$ $AN_COLL_CHECK_OFF, 285
$AN_COLL_IPO_ACTIVE, 285
$AA_BRAKE_CONDB, 442
$AN_COLL_IPO_LIMIT, 285
$AA_BRAKE_CONDM, 442
$AN_COLL_LOAD, 285
$AA_BRAKE_STATE, 442
$AN_COLL_MEM_AVAILABLE, 286
$AA_COLLPOS, 285
$AN_COLL_MEM_USE_ACT, 286
$AA_COUP_ACT, 314
$AN_COLL_MEM_USE_MAX, 286
$AA_COUP_CORR, 450
$AN_COLL_MEM_USE_MIN, 286
$AA_COUP_CORR_DIST, 451
$AN_COLL_STATE, 285
$AA_DTBREB, 286
$AN_COLL_STATE_COND, 285
$AA_DTBREB_CMD, 286
$AN_ESR_TRIGGER, 494
$AA_DTBREB_CORR, 286
$NK_A_OFF, 200, 204, 206
$AA_DTBREB_DEP, 286
$NK_AXIS, 200, 203
$AA_DTBREM, 287
$NK_NAME, 195
$AA_DTBREM_CMD, 287
$NK_NEXT, 196
$AA_DTBREM_CORR, 287
$NK_OFF_DIR, 198, 202, 205, 207
$AA_DTBREM_DEP, 287
$NK_PARALLEL, 196
$AA_ESR_ENABLE, 494
$NK_SWITCH, 211
$AA_IN_SYNC, 348
$NK_SWITCH_INDEX, 208
$AA_JERK_COUNT, 824
$NK_SWITCH_POS, 210
$AA_JERK_TIME, 824
$NK_TYPE, 198
$AA_JERK_TOT, 824
$NP_1ST_PROT, 237
$AA_LEAD_P, 348
$NP_BIT_NO, 241
$AA_LEAD_P_TURN, 348
$NP_CHAIN_ELEM, 235
$AA_LEAD_SP, 348
$NP_COLL_PAIR, 261, 282
$AA_LEAD_SV, 348
$NP_COLOR, 249
$AA_LEAD_V, 348
$NP_D_LEVEL, 250
$AA_MASL_STAT, 652
$NP_DIR, 259
$AA_SYNC, 348, 416
$NP_FILENAME, 256
$AA_SYNCDIFF, 415
$NP_INDEX, 243
$AA_TRAVEL_COUNT, 824
$NP_INIT_STAT, 240, 242
$AA_TRAVEL_COUNT_HS, 824
$NP_NAME, 245
$AA_TRAVEL_DIST, 824
$NP_NEXT, 247
$AA_TRAVEL_DIST_HS, 824
$NP_NEXTP, 248
$AA_TRAVEL_TIME, 824
$NP_OFF, 258
$AA_TRAVEL_TIME_HS, 824
$NP_PARA, 257
$AC_COLLPOS, 285
$NP_PROT_COLOR, 239
$AC_TOOL_O_ACT, 105
$NP_PROT_D_LEVEL, 240
$AC_TOOL_O_DIFF, 105
$NP_PROT_NAME, 234
$AC_TOOL_O_END, 105
$NP_PROT_TYPE, 236
$AC_TOOL_R_ACT, 106
$NP_SAFETY_DIST, 284
$AC_TOOL_R_DIFF, 106
$NP_TYPE, 255
$AC_TOOL_R_END, 106
$NP_USAGE, 251
$AC_TOOLO_ACT, 104
$P_PROG_EVENT, 652
$AC_TOOLO_DIFF, 104
$P_SEARCH_MASLC, 652
$AC_TOOLO_END, 104
$P_SEARCH_MASLD, 652
$AC_TOOLR_ACT, 104
$P_TOOL_O, 105
$AC_TOOLR_DIFF, 105
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 881
Index
$P_TOOL_R, 105
$P_TOOLROT, 104
$VA_STOPSI, 501 A
$VA_SYNCDIFF, 415
aaJerkCount, 824
$VC_TOOL_O, 105
aaJerkTime, 824
$VC_TOOL_O_DIFF, 105
aaJerkTotal, 824
$VC_TOOL_R, 106
aaTravelCount, 824
$VC_TOOL_R_DIFF, 106
aaTravelCountHS, 824
$VC_TOOLO, 104
aaTravelDist, 824
$VC_TOOLO_DIFF, 104
aaTravelDistHS, 824
$VC_TOOLO_STAT, 104
aaTravelTime, 824
$VC_TOOLR, 105
aaTravelTimeHS, 824
$VC_TOOLR_DIFF, 105
Acceleration
$VC_TOOLR_STAT, 105
Channel-specific, 776
Function-specific, 776
Acceleration mode, 459
2 Acceleration warning threshold, 836, 837
2-axis swivel head, 86 Access rights, 786
ACCLIMA[FA], 458
Activate coupling, 845
3 Activate master-slave coupling, 842
Activate mirroring, 846
3-axis and 4-axis transformation, 35
Activate monitor, 845
3-axis and 4-axis transformations, 55
activate PTP traversal, 827
3-axis kinematics, 85
Activate PTP traversal, 843
3-axis to 5-axis transformation
Activate setpoint exchange, 838
Call and application, 66
Activate torque compensatory controller, 842
3-axis transformations, 69
Activation, 67
Activation of rotation, 120
Activation/Deactivation, 785
4 Actual value display, 351
4-axis kinematics, 85 Alarm 10653, 150
4-axis Transformation, 35 Alarm texts, 579
4-axis transformations, 69 Angle of rotation, 123
ASUB enable, 734
Automatic synchronization, 829, 830
5 AXCTSWED, 777
Axis accelerated, 837
5-axis kinematics, 84
Axis assignment, 328
5-axis transformation
Axis container, 776
Configuration of a machine, 43
Axis container rotation, 776
Geometry of the machine, 44
Axis identifier, 790
Machine types, 42
Axis is a slave axis, 845
Singular positions, 52
Axis replacement, 437, 749
Tool orientation, 49
B
7
Basic orientation, 87
7-axis transformation, 78
Behavior at inside corners, 815
Example, 140
Behavior at outer corners, 814
Kinematics, 79
Behavior at pole, 53
Special functions
882 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Index
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 883
Index
Special functions
884 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Index
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 885
Index
DBX98.4, 360
DBX98.5, 360
DBX98.6, 360 E
DBX98.7, 488
Effects on orientations, 70
DBX99.0, 314
EG axis group
DBX99.1, 314
- activating, 362
DBX99.2, 451
- Deactivating, 367
DBX99.3, 360
- defining, 361
DBX99.4, 348, 358, 359
- delete, 367
DB31, ... DBX1.4, 314
EG axis groupings, 355
DB31, …
Electronic gearbox, 352, 353
DBX24.2, 715
System variables, 369
DBX24.3, 717
Element, 188
DBX26.4, 836
Enable, 770
DBX60.6, 841
Enable following axis overlay, 836
DBX60.7, 841
End orientation, 121
DBX66.0, 718
END program, 740
DBX97.0, 714
ESR, 470
DBX97.3, 716
Gating logic, 480
DBX98.5, 836
Trigger sources, 479, 480
DBX98.6, 836, 837
Euler angles, 49
DBX99.3, 837
Example
DB31, ... DBB20, 513
Tangential control, 654
DB31, ... DBB21, 513
Extended interpolation of orientation axes, 121
DB31, ... DBB92, 512
Extended monitoring
DB31, ... DBB93, 512
Gantry axes, 150
DB31, ... DBB94, 512
DB31, ... DBB95, 512
DBX31, …
DBX1.5, 607
F
DBX2.1, 607 Face milling, 809
DBX21.7, 607 Following axis overlay, 385
DC Link Following axis/spindle module, 390
Energy balance, 483 Functionality, 784
Deactivate or disable coupling, 844, 845
Definition
EG axis group, 361 G
Definition of an axis pair, 771
G0 edge change, 754
DELOBJ, 213
G450, 800
Dependent coupled motion axis, 309
G451, 804
Detailed description, 783
G91 extension
Diagnosing and optimizing utilization of
Zero offset, 113
resources, 335
Gantry axes
Differential speed "Coarse", 843
Differences in comparison with coupled
Differential speed "Fine", 842
motion, 171
Direction of rotation, 123
Gantry axis, 833
Direction vector, 122
Gantry grouping is synchronized, 831, 832
Disable, 761
Gantry leading axis, 832
Distance vector
Gantry synchronization ready to start, 831
Maximum, 781
Gantry trip limit exceeded, 830
Dynamic limits, 457
Gantry warning limit exceeded, 830, 831
Special functions
886 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Index
M
I
Machine kinematics, 68
I/Os, 753, 760
Machine types, 42, 44, 71
Identification of axis sequence, 44
5-axis transformation, 68
Independent coupled motion axis, 309
6-axis transformation, 75
INI program, 738
Main program, 737
Insertion depth (ISD), 798
Master value
Integrated outputs, 753
-coupling, 341
Interface signals
-object, 341
ESR reaction is triggered, 838
Offset, 412
Generator operation – minimum speed fallen
Scaling, 412
below, 838
Master value coupling
VDC link lower than alarm threshold, 837
Behavior in operating modes, 349
Interface versions, 577
Interface signals, 351
Intermediate blocks, 818
Switch off, 346
Intermediate orientation, 123
Switch on, 345
Interpolation, 351
Master/slave coarse, 843
Interpolation of the angle of rotation, 118
Master/slave compensatory cont. active, 843
Interpolation of the rotation vector, 119
Master/slave fine, 842
Interpolation type and selection, 114
Master-slave coupling active, 843
Interruption point, 726
Maximum axis acceleration, 458
Intersection procedure for 3D compensation, 804
Maximum axis velocity, 458
ISD, 798
Maximum switching frequency, 757
MD10000, 33, 777
MD10002, 777
K MD10089, 500
Keywords, 385 MD10300, 599
Kinematic chains, 188 MD10320, 603
Kinematic structure, 187 MD10350, 599
Kinematic transformation, 41 MD10360, 760
Kinematics MD10362, 599, 602
Swiveling linear axis, 36 MD10366, 599, 602
Kinematics of machines, 42 MD10619, 279
MD10620, 49, 700
MD10622, 279
L MD10640, 49, 700
MD10674, 114
Language scope, 790
MD10700, 783, 785, 787
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 887
Index
Special functions
888 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Index
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 889
Index
Special functions
890 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Index
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 891
Index
Special functions
892 Function Manual, 10/2015, 6FC5397-2BP40-5BA3
Index
U
Universal milling head, 38
V
V2 preprocessing
Brief description, 783
Velocity threshold value, 755
Velocity warning threshold, 836
VELOLIMA[FA], 458
Versions, 380
Virtual leading axis, 342
W
WAITC, 401
World coordinate system, 190
Special functions
Function Manual, 10/2015, 6FC5397-2BP40-5BA3 893
Index
Special functions
894 Function Manual, 10/2015, 6FC5397-2BP40-5BA3