840Dsl Transformations FCT Man 0619 en-US
840Dsl Transformations FCT Man 0619 en-US
840Dsl Transformations FCT Man 0619 en-US
Fundamental safety
instructions 1
M1: Kinematics
transformation 2
SINUMERIK
F2: Multi-axis transformations 3
SINUMERIK 840D sl
Transformations K12 transformation
definitions with kinematic 4
chains
Function Manual
Appendix A
Valid for:
Control system
SINUMERIK 840D sl / 840DE sl
Software
CNC software version 4.92
06/2019
A5E47435470B AA
Legal information
Warning notice system
This manual contains notices you have to observe in order to ensure your personal safety, as well as to prevent
damage to property. The notices referring to your personal safety are highlighted in the manual by a safety alert
symbol, notices referring only to property damage have no safety alert symbol. These notices shown below are
graded according to the degree of danger.
DANGER
indicates that death or severe personal injury will result if proper precautions are not taken.
WARNING
indicates that death or severe personal injury may result if proper precautions are not taken.
CAUTION
indicates that minor personal injury can result if proper precautions are not taken.
NOTICE
indicates that property damage can result if proper precautions are not taken.
If more than one degree of danger is present, the warning notice representing the highest degree of danger will be
used. A notice warning of injury to persons with a safety alert symbol may also include a warning relating to property
damage.
Qualified Personnel
The product/system described in this documentation may be operated only by personnel qualified for the specific
task in accordance with the relevant documentation, in particular its warning notices and safety instructions. Qualified
personnel are those who, based on their training and experience, are capable of identifying risks and avoiding
potential hazards when working with these products/systems.
Proper use of Siemens products
Note the following:
WARNING
Siemens products may only be used for the applications described in the catalog and in the relevant technical
documentation. If products and components from other manufacturers are used, these must be recommended or
approved by Siemens. Proper transport, storage, installation, assembly, commissioning, operation and
maintenance are required to ensure that the products operate safely and without any problems. The permissible
ambient conditions must be complied with. The information in the relevant documentation must be observed.
Trademarks
All names identified by ® are registered trademarks of Siemens AG. The remaining trademarks in this publication
may be trademarks whose use by third parties for their own purposes could violate the rights of the owner.
Disclaimer of Liability
We have reviewed the contents of this publication to ensure consistency with the hardware and software described.
Since variance cannot be precluded entirely, we cannot guarantee full consistency. However, the information in this
publication is reviewed regularly and any necessary corrections are included in subsequent editions.
SINUMERIK documentation
The SINUMERIK documentation is organized into the following categories:
● General documentation/catalogs
● User documentation
● Manufacturer/service documentation
Additional information
You can find information on the following topics at the following address (https://
support.industry.siemens.com/cs/de/en/view/108464614):
● Ordering documentation/overview of documentation
● Additional links to download documents
● Using documentation online (find and search in manuals/information)
If you have any questions regarding the technical documentation (e.g. suggestions,
corrections), please send an e-mail to the following address
(mailto:docu.motioncontrol@siemens.com).
mySupport/Documentation
At the following address (https://support.industry.siemens.com/My/ww/en/documentation),
you can find information on how to create your own individual documentation based on
Siemens' content, and adapt it for your own machine documentation.
Training
At the following address (http://www.siemens.com/sitrain), you can find information about
SITRAIN (Siemens training on products, systems and solutions for automation and drives).
FAQs
You can find Frequently Asked Questions in the Service&Support pages under Product
Support (https://support.industry.siemens.com/cs/de/en/ps/faq).
SINUMERIK
You can find information about SINUMERIK at the following address (http://www.siemens.com/
sinumerik).
Transformations
Function Manual, 06/2019, A5E47435470B AA 3
Preface
Target group
This publication is intended for:
● Project engineers
● Technologists (from machine manufacturers)
● System startup engineers (Systems/Machines)
● Programmers
Benefits
The function manual describes the functions so that the target group knows them and can
select them. It provides the target group with the information required to implement the
functions.
Standard version
This documentation only describes the functionality of the standard version. Extensions or
changes made by the machine tool manufacturer are documented by the machine tool
manufacturer.
Other functions not described in this documentation might be executable in the control. This
does not, however, represent an obligation to supply such functions with a new control or when
servicing.
Further, for the sake of simplicity, this documentation does not contain all detailed information
about all types of the product and cannot cover every conceivable case of installation, operation
or maintenance.
Technical Support
Country-specific telephone numbers for technical support are provided in the Internet at the
following address (https://support.industry.siemens.com/sc/ww/en/sc/2090) in the "Contact"
area.
Transformations
4 Function Manual, 06/2019, A5E47435470B AA
Preface
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.)
● Appendix with:
– List of abbreviations
– Documentation overview
● Index of terms
Note
For detailed descriptions of data and alarms see:
● For machine and setting data:
Detailed machine data description
● For NC/PLC interface signals:
NC Variables and Interface Signals List Manual
● For alarms:
Diagnostics Manual
Transformations
Function Manual, 06/2019, A5E47435470B AA 5
Preface
Quantity structure
Explanations concerning the NC/PLC interface are based on the absolute maximum number of
the following components:
● Mode groups (DB11)
● Channels (DB21, etc.)
● Axes/spindles (DB31, etc.)
Data types
The control provides the following data types that can be used for programming in part
programs:
Arrays
Arrays can only be formed from similar elementary data types. Up to 3-dimensional arrays are
possible.
Example: DEF INT ARRAY[2, 3, 4]
Number systems
The following number systems are available:
● Decimal: DEF INT number = 1234 or DEF REAL number = 1234.56
● Hexadecimal: DEF INT number = 'H123ABC'
● Binary: DEF INT number = 'B10001010010'
Transformations
6 Function Manual, 06/2019, A5E47435470B AA
Preface
Transformations
Function Manual, 06/2019, A5E47435470B AA 7
Preface
Transformations
8 Function Manual, 06/2019, A5E47435470B AA
Table of contents
Preface .........................................................................................................................................................3
1 Fundamental safety instructions.................................................................................................................15
1.1 General safety instructions.....................................................................................................15
1.2 Warranty and liability for application examples ......................................................................15
1.3 Industrial security ...................................................................................................................16
2 M1: Kinematics transformation ...................................................................................................................19
2.1 TRANSMIT face end transformation (option).........................................................................19
2.1.1 Function .................................................................................................................................19
2.1.1.1 Introduction ............................................................................................................................19
2.1.1.2 Machining options ..................................................................................................................20
2.1.1.3 Working area limitations.........................................................................................................26
2.1.1.4 Overlaid motions with TRANSMIT .........................................................................................27
2.1.1.5 Monitoring of rotary axis rotations over 360º..........................................................................28
2.1.2 Parameterization ....................................................................................................................28
2.1.2.1 Overview ................................................................................................................................28
2.1.2.2 Axis configuration...................................................................................................................29
2.1.2.3 Specific settings .....................................................................................................................31
2.1.3 Programming..........................................................................................................................33
2.1.4 Constraints .............................................................................................................................34
2.1.5 Example .................................................................................................................................35
2.2 TRACYL cylinder surface transformation (option)..................................................................38
2.2.1 Function .................................................................................................................................38
2.2.2 Parameterization ....................................................................................................................43
2.2.2.1 Overview ................................................................................................................................43
2.2.2.2 Axis configuration...................................................................................................................45
2.2.2.3 Specific settings .....................................................................................................................47
2.2.3 Programming..........................................................................................................................52
2.2.3.1 Activate cylinder surface transformation (TRACYL)...............................................................52
2.2.3.2 Activate cylinder surface transformation (TRACYL): Further information ..............................53
2.2.4 Boundary conditions...............................................................................................................55
2.2.5 Examples ...............................................................................................................................58
2.2.5.1 Machining grooves on a cylinder surface with X-Y-Z-C kinematics .......................................58
2.2.5.2 Machining grooves on a cylinder surface with X-Y-Z-A-C kinematics....................................63
2.3 Oblique angle transformation (inclined axis) TRAANG (option).............................................66
2.3.1 Function .................................................................................................................................66
2.3.2 Parameterization ....................................................................................................................68
2.3.2.1 Overview ................................................................................................................................68
2.3.2.2 Axis configuration...................................................................................................................69
2.3.2.3 Specific settings .....................................................................................................................71
2.3.3 Programming..........................................................................................................................72
2.3.3.1 Activating an oblique angle transformation with programmable angle (TRAANG) ................72
2.3.3.2 Activate oblique angle transformation with fixed angle (TRAANG)........................................73
Transformations
Function Manual, 06/2019, A5E47435470B AA 9
Table of contents
Transformations
10 Function Manual, 06/2019, A5E47435470B AA
Table of contents
Transformations
Function Manual, 06/2019, A5E47435470B AA 11
Table of contents
Transformations
12 Function Manual, 06/2019, A5E47435470B AA
Table of contents
Transformations
Function Manual, 06/2019, A5E47435470B AA 13
Table of contents
Transformations
14 Function Manual, 06/2019, A5E47435470B AA
Fundamental safety instructions 1
1.1 General safety instructions
WARNING
Danger to life if the safety instructions and residual risks are not observed
If the safety instructions and residual risks in the associated hardware documentation are not
observed, accidents involving severe injuries or death can occur.
● Observe the safety instructions given in the hardware documentation.
● Consider the residual risks for the risk evaluation.
WARNING
Malfunctions of the machine as a result of incorrect or changed parameter settings
As a result of incorrect or changed parameterization, machines can malfunction, which in turn
can lead to injuries or death.
● Protect the parameterization against unauthorized access.
● Handle possible malfunctions by taking suitable measures, e.g. emergency stop or
emergency off.
Transformations
Function Manual, 06/2019, A5E47435470B AA 15
Fundamental safety instructions
1.3 Industrial security
Note
Industrial security
Siemens provides products and solutions with industrial security functions that support the
secure operation of plants, systems, machines and networks.
In order to protect plants, systems, machines and networks against cyber threats, it is
necessary to implement – and continuously maintain – a holistic, state-of-the-art industrial
security concept. Products and solutions from Siemens constitute one element of such a
concept.
Customers are responsible for preventing unauthorized access to their plants, systems,
machines and networks. Such systems, machines and components should only be connected
to an enterprise network or the Internet if and to the extent such a connection is necessary and
only when appropriate security measures (e.g. using firewalls and/or network segmentation)
are in place.
For additional information on industrial security measures that can be implemented, please
visit:
Industrial security (https://www.siemens.com/industrialsecurity)
Siemens’ products and solutions undergo continuous development to make them more secure.
Siemens strongly recommends that product updates are applied as soon as they become
available, and that only the latest product versions are used. Use of product versions that are
no longer supported, and failure to apply the latest updates may increase customer’s exposure
to cyber threats.
To stay informed about product updates, subscribe to the Siemens Industrial Security RSS
Feed at:
Industrial security (https://www.siemens.com/industrialsecurity)
Transformations
16 Function Manual, 06/2019, A5E47435470B AA
Fundamental safety instructions
1.3 Industrial security
WARNING
Unsafe operating states resulting from software manipulation
Software manipulations, e.g. viruses, Trojans, or worms, can cause unsafe operating states
in your system that may lead to death, serious injury, and property damage.
● Keep the software up to date.
● Incorporate the automation and drive components into a holistic, state-of-the-art industrial
security concept for the installation or machine.
● Make sure that you include all installed products into the holistic industrial security concept.
● Protect files stored on exchangeable storage media from malicious software by with
suitable protection measures, e.g. virus scanners.
● On completion of commissioning, check all security-related settings.
● Protect the drive against unauthorized changes by activating the "Know-how protection"
converter function.
Transformations
Function Manual, 06/2019, A5E47435470B AA 17
Fundamental safety instructions
1.3 Industrial security
Transformations
18 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation 2
2.1 TRANSMIT face end transformation (option)
2.1.1 Function
2.1.1.1 Introduction
Note
The "TRANSMIT and peripheral surface transformation" option that is under license is required
for the function "End face transformation (TRANSMIT)."
The TRANSMIT transformation permits end face machining (drill holes, contours) on turning
machines.
A Cartesian coordinate system can be used to program these machining operations.
The controller transforms the programmed traversing movements of the Cartesian coordinate
system to the traversing movements of the real machine axes.
Standard case:
● Rotary axis
● Infeed axis, perpendicular to rotary axis
● Longitudinal axis, parallel to rotary axis
● The linear axes are perpendicular to one another.
Transformations
Function Manual, 06/2019, A5E47435470B AA 19
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
&0
< ;
;0
$60
==0
X, Y, Z Geometry axes
CM Machine axis: Rotary axis
XM Machine axis: Linear axis, perpendicular to rotary axis
ZM Machine axis: Linear axis, parallel to rotary axis
ASM Machine axis: Main spindle
Other options:
● A tool center offset relative to the turning center is permitted.
● The tool center point path can pass through the turning center point of the rotary axis.
● The rotary axis does not need to be a modulo axis.
Note
For active transformation, the names of the involved machine, channel and geometry axes are
different:
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB (machine axis name)
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB (channel axis name)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB (geometry axis name)
Transformations
20 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
recommended since these may require sharp feedrate reductions to prevent overloading of the
rotary axis.
New features
A pole is said to exist if the line described by the tool center point intersects the turning center
of the rotary axis.
The following cases are covered:
● Under what conditions and by what methods the pole can be traversed
● The response in pole vicinity
● The response with respect to working area limitations
● Monitoring of rotary axis rotations over 360°.
Pole crossing
The pole can be traversed by two methods:
● Traversal along linear axis
● Traversal into pole with rotation of rotary axis in pole
<
Transformations
Function Manual, 06/2019, A5E47435470B AA 21
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
Rotation in pole
= =
< <
; ;
Selection of method
The method must be selected according to the capabilities of the machine and the
requirements of the part to be machined. The method is selected by machine data:
MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_1
MD24951 $MC_TRANSMIT_POLE_SIDE_FIX_2
The first MD applies to the first TRANSMIT transformation in the channel and the second MD
correspondingly to the second TRANSMIT transformation.
VALUE Meaning
0 Pole crossing
The tool center point path (linear axis) must cross the pole on a continuous
path.
1 Rotation around the pole.
The tool center point path must be restricted to a positive traversing range
of the linear axis (in front of turning center).
2 Rotation around the pole.
The tool center point path must be restricted to a negative traversing range
of the linear axis. (behind turning center).
Transformations
22 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
Behavior:
Step Action
1 Linear axis traverses into pole
2 Rotary axis turns through 180°, the other axes involved in the transformation
remain stationary.
3 Execution of remaining block. The linear axis now exits from the pole again.
In JOG mode, the motion stops in the pole. In this mode, the axis may exit from the pole only
along the path tangent on which it approached the pole. All other motion instructions would
require a step change in the rotary axis position or a large machine motion in the cases of
minimum motion instructions. They are rejected with alarm 21619.
Transformations
Function Manual, 06/2019, A5E47435470B AA 23
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
= =
< <
; ;
Requirements:
AUTOMATIC mode,
MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_1 = 0
or
MD24951 $MC_TRANSMIT_POLE_SIDE_FIX_2 = 0
The control system inserts a traversing block at the step change point. This block generates the
smallest possible rotation to allow processing of the contour to continue.
Transformations
24 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
< <
; ;
Requirements:
AUTOMATIC mode,
MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_1 = 1 or 2
or
MD24951 $MC_TRANSMIT_POLE_SIDE_FIX_2 = 1 or 2
The control system inserts a traversing block at the step change point. This block generates the
necessary rotation so that processing of the contour can continue on the same side of the pole.
Transformations
Function Manual, 06/2019, A5E47435470B AA 25
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
or
MD24951 $MC_TRANSMIT_POLE_SIDE_FIX_2= 1
processing is done before the rotational center point (linear axis in positive traversing range),
for
MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_1= 2
or
MD24951 $MC_TRANSMIT_POLE_SIDE_FIX_2= 2
behind the rotational center point (linear axis in negative traversing range).
Starting point
When TRANSMIT is active, the pole is replaced by a working area limitation if the tool center
point cannot be positioned at the turning center of the rotary axis involved in the transformation.
This is the case when the axis perpendicular to the rotary axis (allowing for tool offset) is not
positioned on the same radial plane as the rotary axis or if both axes are positioned mutually at
an oblique angle. The distance between the two axes defines a cylindrical space in the BCS in
which the tool cannot be positioned.
The illegal range cannot be protected by the software limit switch monitoring function since the
traversing range of the machine axes is not affected.
Transformations
26 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
<
=
<
;
Transformations
Function Manual, 06/2019, A5E47435470B AA 27
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
2.1.2 Parameterization
2.1.2.1 Overview
Transformations
28 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
0'
0&B$;&21)B*(2$;B$66,*1B7$%
&KDQQHO
0' &KDQQHO
0&B$;&21)B*(2$;B1$0(B7$%
&KDQQHO
&KDQQHO
VWJHRPHWU\D[LV>@ ;
QGJHRPHWU\D[LV>@ < 0'
UGJHRPHWU\D[LV>@ = 0&B75$)2B*(2$;B$66,*1B7$%
&KDQQHO
&KDQQHO
0' 0'
0&B$;&21)B&+$1$;B1$0(B7$% 0&B$;&21)B0$&+$;B86('
&KDQQHO &KDQQHO
&KDQQHO &KDQQHO
VWFKDQQHOD[LV>@ ;&
QGFKDQQHOD[LV>@ =&
UGFKDQQHOD[LV>@ &&
WKFKDQQHOD[LV>@ $6&
0' 0'
0$B63,1'B$66,*1B72B0$&+$; 0$B$;&21)B0$&+$;B1$0(B7$%
VWPDFKLQHD[LV>$;@ &0
QGPDFKLQHD[LV>$;@ ;0
UGPDFKLQHD[LV>$;@ =0
WKPDFKLQHD[LV>$;@ $60
Transformations
Function Manual, 06/2019, A5E47435470B AA 29
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
Identification of spindles
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 0 ] = 1 (spindle)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 1 ] = 0 (axis)
Transformations
30 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
<Index> Meaning
0 Linear axis, perpendicular to rotary axis
1 Rotary axis
2 Linear axis, parallel to rotary axis
The channel axis numbers must relate to the axis sequence defined with
$MC_TRAFO_GEOAX_ASSIGN_TAB_<n>.
<Index> Meaning
0 Linear axis, perpendicular to rotary axis
1 Rotary axis
2 Linear axis, parallel to rotary axis
3 Linear axis perpendicular to the axes from index 0 and 1
Transformations
Function Manual, 06/2019, A5E47435470B AA 31
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
The channel axis numbers must relate to the axis sequence defined with
$MC_TRAFO_GEOAX_ASSIGN_TAB_<n>.
&0 &0
< ; < ;
= =
Transformations
32 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
Further information:
Function Manual Basic Functions; Coordinate systems, axis types, axis configurations,
workpiece-related actual-value system, external zero offset
2.1.3 Programming
The front face transformation (TRANSMIT) is activated in the part program or synchronized
action using the TRANSMIT statement.
Syntax
TRANSMIT
TRANSMIT(<n>)
Meaning
Note
A TRANSMIT transformation active in the channel is activated with:
● Deactivate transformation: TRAFOOF
● Activation of another transformation: E.g. TRACYL, TRAANG, TRAORI
Transformations
Function Manual, 06/2019, A5E47435470B AA 33
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
2.1.4 Constraints
Look Ahead
All functions requiring Look Ahead (traversal through pole, Look Ahead) work satisfactorily only
if the relevant axis motions can be calculated exactly in advance. With TRANSMIT, this applies
to the rotary axis and the linear axis perpendicular to it. If one of these axes is the positioning
axis, then the Look Ahead function is deactivated by alarm 10912 and the conventional online
velocity check activated instead.
Selection of method
The user is responsible for making the optimum choice of "Traversal through pole" or "Rotation
around pole".
REPOS
It is possible to reposition on the sub-blocks produced as a result of the extended TRANSMIT
function in SW 4. In this case, the control uses the first sub-block that is closest to the
repositioning point in the BCS.
Transformations
34 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
Block search
In the case of block search with calculation, the block end point (of the last sub-block) is
approached in cases where intermediate blocks have been generated as the result of the
extended functionality in SW 4.
2.1.5 Example
The example refers to the axis configuration shown in the following figure.
&0
< ;
;0
$60
==0
X, Y, Z Geometry axes
CM 1st machine axis: Rotary axis
XM 2nd machine axis: Linear axis, perpendicular to rotary axis
ZM 3rd machine axis: Linear axis, parallel to rotary axis
ASM 4th machine axis: Main spindle
Parameter assignment
Transformations
Function Manual, 06/2019, A5E47435470B AA 35
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
Identification of spindles
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 0 ] = 1 (1st machine axis: spindle)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 1 ] = 0 (2nd machine axis: axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 2 ] = 0 (3rd machine axis: axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 3 ] = 2 (4th machine axis: spindle)
Transformations
36 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.1 TRANSMIT face end transformation (option)
Transformation type
● MD24100 $MC_TRAFO_TYPE_1 = 256 (transformation TRANSMIT with a rotary or linear
axis)
Basic offset of the tool zero relative to the geometry axes while TRANSMIT is active
● MD24920 $MC_TRANSMIT_BASE_TOOL_1 [ 0 ] = 0.0 (offset relative to 1st TrafoGeoAxis)
● MD24920 $MC_TRANSMIT_BASE_TOOL_1 [ 1 ] = 0.0 (offset relative to 2nd TrafoGeoAxis)
● MD24920 $MC_TRANSMIT_BASE_TOOL_1 [ 2 ] = 0.0 (offset relative to 3rd TrafoGeoAxis)
Programming example
Program code Comment
N10 T1 D1 G54 G17 G90 F5000 G94 ; tool selection
; 1st Settable work offset
; XY plane
; absolute dimensions
; linear feedrate F in mm/min
N20 G0 X20 Z10 SPOS=45 ; approach the start position
; spindle positioning 45
N30 TRANSMIT ; TRANSMIT with first
; data record from MD24100 ON
N40 ROT RPL=–45 ; frame: Rotation in XY plane by Z
N50 ATRANS X–2 Y10 ; frame: Additive offset
N60 G1 X10 Y–10 G41 OFFN=1 ; square roughing; 1 mm tolerance (OFFN)
N70 X–10
Transformations
Function Manual, 06/2019, A5E47435470B AA 37
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
2.2.1 Function
Note
The licensed "TRANSMIT and peripheral surface transformation" option is required for the
function "Cylinder surface transformation (TRACYL)."
The TRACYL transformation permits the machining of cylinder jacket curves (grooves) on
turning machines.
The path of the grooves is programmed with reference to the unwrapped, level surface of the
cylinder.
The controller transforms the programmed traversing movements of the cylinder coordinate
system to the traversing movements of the real machine axes.
Transformations
38 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
&
Note
For active transformation, the names of the involved machine, channel and geometry axes are
different:
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB (machine axis name)
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB (channel axis name)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB (geometry axis name)
Transformation Types
The TRACYL transformation exists in three variants:
● without groove side offset (transformation type 512):
● with groove side offset (transformation type 513):
● programmable with or without groove side offset (transformation type 514)
Transformations
Function Manual, 06/2019, A5E47435470B AA 39
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
$60 ==0
<&0
;0
Groove edges
For a cylinder surface transformation without groove wall correction, the edges of the groove
longitudinal to the rotary axis (longitudinal grooves) are only parallel if the groove width
corresponds to the tool diameter. For groove widths greater than the tool diameter, the groove
edges are at an angle to each other (see ①).
The groove edges of grooves that extend parallel to the circumference (transverse grooves)
are not parallel to each other (see ②). Only the start and the end of the groove edges are not
parallel.
Transformations
40 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
= =
< <
; ;
① Longitudinal groove
② Transverse groove
Figure 2-8 Groove edges with TRACYL without groove side offset
Transformations
Function Manual, 06/2019, A5E47435470B AA 41
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
==0
$60
<0
<&0
;0
For a machine kinematic with three linear axes (X, Y and Z), grooves of any form can be
generated on the cylinder.
Groove edges
Because the Y axis is oriented perpendicular to the turning center, almost parallel groove edges
can be generated even for groove widths larger than the tool diameter.
Transformations
42 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
Figure 2-10 Parallel limited longitudinal groove with TRACYL with groove side offset
2.2.2 Parameterization
2.2.2.1 Overview
Transformations
Function Manual, 06/2019, A5E47435470B AA 43
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
Transformations
44 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
0'
0&B$;&21)B*(2$;B$66,*1B7$%
&KDQQHO
0' &KDQQHO
0&B$;&21)B*(2$;B1$0(B7$%
&KDQQHO
&KDQQHO
VWJHRPHWU\D[LV>@ ;
QGJHRPHWU\D[LV>@ < 0'
UGJHRPHWU\D[LV>@ = 0&B75$)2B*(2$;B$66,*1B7$%
&KDQQHO
&KDQQHO
0' 0'
0&B$;&21)B&+$1$;B1$0(B7$% 0&B$;&21)B0$&+$;B86('
&KDQQHO &KDQQHO
&KDQQHO &KDQQHO
VWFKDQQHOD[LV>@ ;&
QGFKDQQHOD[LV>@ <&
UGFKDQQHOD[LV>@ =&
WKFKDQQHOD[LV>@ &&
WKFKDQQHOD[LV>@ $6&
0' 0'
0$B63,1'B$66,*1B72B0$&+$; 0$B$;&21)B0$&+$;B1$0(B7$%
VWPDFKLQHD[LV>$;@ &0
QGPDFKLQHD[LV>$;@ ;0
UGPDFKLQHD[LV>$;@ <0
WKPDFKLQHD[LV>$;@ =0
WKPDFKLQHD[LV>$;@ $60
Transformations
Function Manual, 06/2019, A5E47435470B AA 45
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
Transformations
46 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
Identification of spindles
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 0 ] = 1 (spindle)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 1 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 2 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 3 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 4 ] = 2 (spindle)
The TRACYL transformation with programmed groove side offset (type 514) can be activated
with or without groove side offset (see "Programming (Page 52)").
Axis image
The following paragraph describes how the transformation axis image is specified.
Transformations
Function Manual, 06/2019, A5E47435470B AA 47
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
Transformations
48 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
Rotational position
The rotational position of the axis on the cylinder peripheral surface perpendicular to the rotary
axis must be defined as follows:
<
˟
˞˟>r@
MD24800 TRACYL_ROT_AX_OFFSET_<t>
The rotational position of the peripheral surface in relation to the defined zero position of the
rotary axis is specified with:
MD24800 $MC_TRACYL_ROT_AX_OFFSET_<t> = ...°
During this, <t> is replaced by the number of TRACYL transformations (<t> can be a maximum
of 2) agreed upon in the transformation datasets.
Direction of rotation
The direction of rotation of the rotary axis is specified by machine data as described in the
following paragraph.
Transformations
Function Manual, 06/2019, A5E47435470B AA 49
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
TRACYL_ROT_SIGN_IS_PLUS_<t>
If the direction of rotation of the rotary axis on the x-y plane is counterclockwise when viewed
against the z axis, then the machine data must be set to TRUE, otherwise to FALSE.
758(
MD24810 $MC_TRACYL_ROT_SIGN_IS_PLUS_<t>=TRUE
In this case, "t" is substituted by the number of TRACYL transformations declared in the
transformation data blocks (t may not be greater than 2).
Further information
Function Manual Basic Functions; Coordinate systems, axis types, axis configurations,
workpiece-related actual-value system, external zero offset
Transformations
50 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
MD24820 TRACYL_BASE_TOOL_<t>
This machine data is used to inform the control of the tool zero point position in relation to the
origin of the cylinder coordinate system declared for TRACYL. The machine data has three
components for the axes X, Y, Z of the machine coordinate system.
=
<&
① ty
② tx
③ tz
④ Tool zero
Figure 2-12 Position of tool zero in relation to machine zero
Example
MD24820 $MC_TRACYL_BASE_TOOL_<t>[ 0 ] = tx
MD24820 $MC_TRACYL_BASE_TOOL_<t>[ 1 ] = ty
MD24820 $MC_TRACYL_BASE_TOOL_<t>[ 2 ] = tz
with <t> = the number of TRACYL transformations agreed upon in the transformation datasets
Transformations
Function Manual, 06/2019, A5E47435470B AA 51
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
=
G ˭
<
① Slot (example)
Figure 2-13 Cylinder coordinate system
2.2.3 Programming
Syntax
TRACYL(<d>)
TRACYL(<d>,<n>)
TRACYL(<d>,<n>,<k>)
Meaning
TRACYL(<d>): Activate TRACYL with the first TRACYL data set and working diameter
<d>
TRACYL (<d>,<n>): Activate TRACYL with the <n>th TRACYL data set and working diameter
<d>
<d>: Reference or working diameter
The value must be greater than 1.
<n>: TRACYL data set number (optional)
Range of values: 1, 2
Transformations
52 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
<k>: The parameter <k> is only relevant for transformation type 514
k = 0: without groove side correction
k = 1: with groove side correction
If the parameter is not specified, then the parameterized basic position
applies:
$MC_TRACYL_DEFAULT_MODE_<n>
With <n> = TRACYL data set number
Note
A TRACYL transformation active in the channel is switched-off with:
● Deactivate transformation: TRAFOOF
● Activation of another transformation: E.g. TRAANG, TRANSMIT, TRAORI
Example
Program code Comment
...
N40 TRACYL(40.) ; Activate TRACYL with the first TRACYL data set
and working diameter 40 mm.
...
Further information
Program structure
A part program for milling a groove with TRACYL transformation 513 (TRACYL with groove
side offset) generally comprises the following steps:
1. Select tool.
2. Select TRACYL.
3. Select suitable coordinate offset (frame).
4. Positioning.
5. Program OFFN.
6. Select TRC.
7. Approach block (position TRC and approach groove side).
8. Groove center line contour.
9. Deselect TRC.
10.Retraction block (retract TRC and move away from groove side).
11.Positioning.
Transformations
Function Manual, 06/2019, A5E47435470B AA 53
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
12.TRAFOOF.
13.Reselect original coordinate shift (frame).
① OFFN
② Programmed path
Note
OFFN should be at least as large as the tool radius to avoid damage occurring to the opposite
side of the groove wall.
Note
OFFN acts differently with TRACYL than it does without TRACYL. Since, even without
TRACYL, OFFN is included when TRC is active, OFFN should be reset to zero after TRAFOOF.
NOTICE
Effect of OFFN depends on the transformation type
For TRACYL transformation 513 (TRACYL with groove side offset), half the groove width is
programmed for OFFN.
For TRACYL transformation 512 (TRACYL with groove side offset), the value of OFFN acts as
an allowance for the TRC.
Transformations
54 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
side, statement G42 must be programmed instead of G41 or the value of OFFN specified with
a negative sign.
Tool diameter
With TRACYL and a tool whose diameter is less than the groove width, the same groove side
geometry is not generated as with a tool whose diameter is the same as the groove width. To
improve the precision, it is recommended that the tool diameter is selected to be only slightly
less than the groove width.
Axis utilization
Note
The following axes cannot be used as a positioning axis or a reciprocating axis:
● The geometry axis in the peripheral direction of the cylinder peripheral surface (Y axis).
● The additional linear axis for groove side compensation (Z axis).
Selection/deselection
● An intermediate motion block is not inserted (phases/radii).
● A series of spline blocks must be concluded.
● Tool radius compensation must be deselected.
● The frame which was active prior to TRACYL is deselected by the control system
(analog G500).
● An active working area limit is deselected for axes affected by the transformation
(analog WALIMOF).
● Continuous path control and rounding are interrupted.
● DRF offsets must have been deleted by the operator.
● The Y axis used for the compensation should be set to zero for selection and active groove
side compensation.
Tool change
Tools can be changed only when the tool radius compensation function is deselected.
Frame
A frame change with G91 (incremental dimension) is not specially treated for active
transformation. The path to be traversed is evaluated in the workpiece coordinate system of the
new frame - regardless of which frame was active in the previous block.
Transformations
Function Manual, 06/2019, A5E47435470B AA 55
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
A rotary axis offset can, for example, be entered by compensating the inclined position of a
workpiece can be considered using a frame or as offset of the rotary axis.
The following setting is required for the axial complete frame of the rotary axis to act in the
transformation:
$MC_TRACYL_ROT_AX_FRAME_<t> = 1
Note
Changes in the axis assignments are converted every time the transformation is selected or
deselected.
Further information
Function Manual Basic Functions; Coordinate systems, frames
Transformations
56 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
WARNING
Risk of collision
No monitoring for collisions takes place.
The operator is responsible for ensuring that the tool can be re-positioned without any
difficulties.
Transformations
Function Manual, 06/2019, A5E47435470B AA 57
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
2.2.5 Examples
<0
$60 =0
&0
;0
Parameter assignment
Transformations
58 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
Identification of spindles
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 0 ] = 1 (spindle)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 1 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 2 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 3 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 4 ] = 2 (spindle)
Transformations
Function Manual, 06/2019, A5E47435470B AA 59
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
Transformation type
● MD24100 $MC_TRAFO_TYPE_1 = 513 (TRACYL with groove side offset)
Basic offset of the tool zero relative to the geometry axes while TRACYL is active
● MD24820 $MC_TRACYL_BASE_TOOL_1 [ 0 ] = 0.0 (offset relative to 1st transformation
geometry axis)
● MD24820 $MC_TRACYL_BASE_TOOL_1 [ 1 ] = 0.0 (offset relative to 2nd transformation
geometry axis)
● MD24820 $MC_TRACYL_BASE_TOOL_1 [ 2 ] = 0.0 (offset relative to 3rd transformation
geometry axis)
Transformations
60 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
Programming
Producing a hook-shaped groove with groove side offset (TRACYL transformation type 513)
6ORWZLWKVORWVLGH
RIIVHW
<
=
=
,QLWLDOSRVLWLRQ
1
1
1
1
2))1 KDOI
VORWZLGWK
1
1
3RVLWLRQLQJ
RYHUWKHFHQWHU
1 RIWKHVORW
1
x
+DQGOLQJRIWKHF\OLQGHUVXUIDFH
<
Tool definition
Transformations
Function Manual, 06/2019, A5E47435470B AA 61
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
Transformations
62 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
=0
<0
630
;0
&0 &
$0
Parameter assignment
Transformations
Function Manual, 06/2019, A5E47435470B AA 63
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
Transformations
64 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.2 TRACYL cylinder surface transformation (option)
Identification of spindles
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 0 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 1 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 2 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 3 ] = 1 (spindle)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 4 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 4 ] = 0 (axis)
Transformation type
● MD24200 $MC_TRAFO_TYPE_2 = 513 (TRACYL with groove side offset)
Basic offset of the tool zero relative to the geometry axes while TRACYL is active
● MD24870 $MC_TRACYL_BASE_TOOL_2 [ 0 ] = 0.0 (offset relative to 1st transformation
geometry axis)
● MD24870 $MC_TRACYL_BASE_TOOL_2 [ 1 ] = 0.0 (offset relative to 2nd transformation
geometry axis)
● MD24870 $MC_TRACYL_BASE_TOOL_2 [ 2 ] = 0.0 (offset relative to 3rd transformation
geometry axis)
Transformations
Function Manual, 06/2019, A5E47435470B AA 65
M1: Kinematics transformation
2.3 Oblique angle transformation (inclined axis) TRAANG (option)
Programming
Program code Comment
N10 WORKPIECE(,"",,"CYLINDER",0,0,-180,-80,179) ; Blank definition
N20 M3 S2000 ; Setting spindle speed
N30 T="NUTFRAESER" M6 D1 ; Tool selection
N40 G0 G54 X0 Y-20 Z105 ; Positioning
N50 CYCLE800(0,"TABLE",100000,57,0,0,0,-90,0,0,0,0,0,-1,100,1) ; Rotate A-axis with swivel cycle
N60 G17 G90 ; Setting the machining plane
N70 G0 Y-10 Z100 G40 ; Positioning
N80 TRACYL(179, 2) ; Selecting the Tracyl data set
2 with groove wall offset
N90 OFFN=20 ; Setting the offset (half
groove width)
N100 G1 F500 X0 Z75 G42 ; Setting the starting point and
selecting the TRC
N110 Y30 ; Groove center path
N120 X-60 ; Groove center path
N130 X0 ; Groove center path
N140 Y-10 ; Groove center path
N150 Z105 G40 ; Retraction and deselection of
the TRC
N160 TRAFOOF ; Deselection of the transforma-
tion
N170 G0 X0 Y-20 Z115 ; Positioning retract movement
N180 M5 ; Spindle stop
N190 CYCLE800(0,"TABLE",100000,57,0,0,0,0,0,0,0,0,0,-1,100,1) ; Turn back A axis
N200 M30 ; End of program
2.3.1 Function
Note
Option
For function "Oblique angle transformation (TRAANG) with programmable angle", option
"6FC5800-0AM28-0YB0" is necessary which requires a license.
For function "Oblique angle transformation (TRAANG) with fixed angle", option
"6FC5800-0AS54-0YB0" is necessary which requires a license.
The oblique angle transformation permits programming in the Cartesian workpiece coordinate
system (WCS) on machines with obliquely arranged machine axes, which is a typical axis
arrangement on grinding machines.
Transformations
66 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.3 Oblique angle transformation (inclined axis) TRAANG (option)
The controller transforms the programmed traversing movements of the Cartesian coordinate
system to the traversing movements of the real machine axes.
80
==0
0 &0
$60
① Grinding disk
② Workpiece
X Geometry axis
Z Geometry axis
ZM Machine axis
UM Machine axis
α Angle of inclined axis
CM Machine axis (spindle)
ASM Machine axis (tailstock)
Figure 2-14 Grinding with inclined infeed axis
Versions
● Oblique angle transformation (TRAANG) with programmable angle
For oblique angle transformation (TRAANG) with programmable angle, when activating the
transformation, the angle can be specified.
See Section "Activating an oblique angle transformation with programmable angle
(TRAANG) (Page 72)"
● Oblique angle transformation (TRAANG) with fixed angle
For oblique angle transformation (TRAANG) with fixed angle, when activating the
transformation, an angle cannot be specified.
See Section "Activate oblique angle transformation with fixed angle (TRAANG) (Page 73)"
Transformations
Function Manual, 06/2019, A5E47435470B AA 67
M1: Kinematics transformation
2.3 Oblique angle transformation (inclined axis) TRAANG (option)
Note
For active transformation, the names of the machine, channel and geometry axes involved
must be different:
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB (machine axis name)
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB (channel axis name)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB (geometry axis name)
2.3.2 Parameterization
2.3.2.1 Overview
Transformations
68 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.3 Oblique angle transformation (inclined axis) TRAANG (option)
0'
0&B$;&21)B*(2$;B$66,*1B7$%
&KDQQHO
0' &KDQQHO
0&B$;&21)B*(2$;B1$0(B7$%
&KDQQHO
&KDQQHO
VWJHRPHWU\D[LV>@ ;
QGJHRPHWU\D[LV>@ < 0'
UGJHRPHWU\D[LV>@ = 0&B75$)2B*(2$;B$66,*1B7$%
&KDQQHO
&KDQQHO
0' 0'
0&B$;&21)B&+$1$;B1$0(B7$% 0&B$;&21)B0$&+$;B86('
&KDQQHO &KDQQHO
&KDQQHO &KDQQHO
VWFKDQQHOD[LV>@ =&
QGFKDQQHOD[LV>@ &&
UGFKDQQHOD[LV>@ $6&
WKFKDQQHOD[LV>@ 8&
0' 0'
0$B63,1'B$66,*1B72B0$&+$; 0$B$;&21)B0$&+$;B1$0(B7$%
VWPDFKLQHD[LV>$;@ &0
QGPDFKLQHD[LV>$;@ 80
UGPDFKLQHD[LV>$;@ =0
WKPDFKLQHD[LV>$;@ $60
Transformations
Function Manual, 06/2019, A5E47435470B AA 69
M1: Kinematics transformation
2.3 Oblique angle transformation (inclined axis) TRAANG (option)
Identification of spindles
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 0 ] = 1 (spindle)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 1 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 2 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 3 ] = 2 (spindle)
Transformations
70 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.3 Oblique angle transformation (inclined axis) TRAANG (option)
Note
The tool zero is not converted when the angle is changed.
Speed margin
The machine data sets the speed margin for the compensation movements of the longitudinal
axis:
MD24720 $MC_TRAANG_PARALLEL_VELO_RES_<n> = <value>
<value> Meaning
0.0 The speed margin is determined by the NC depending on the angle of the inclined
axis and the speed capability of the inclined and the longitudinal axis so that the same
speed limitation results in the direction of the longitudinal axis and of the associated
perpendicular (virtual) axis.
> 0.0 Speed margin = <value> * (MD32000 $MA_MAX_AX_VELO of the longitudinal axis)
Acceleration margin
The machine data sets the acceleration margin for the compensation movements of the
longitudinal axis:
Transformations
Function Manual, 06/2019, A5E47435470B AA 71
M1: Kinematics transformation
2.3 Oblique angle transformation (inclined axis) TRAANG (option)
$MC_TRAANG_PARALLEL_ACCEL_RES_<n> = <value>
<value> Meaning
0.0 The acceleration margin is determined by the NC depending on the angle of the
inclined axis and the acceleration capability of the inclined and the longitudinal axis so
that the same acceleration limitation results in the direction of the longitudinal axis and
of the associated perpendicular (virtual) axis.
> 0.0 Acceleration margin = <value> * (MD32300 $MA_MAX_AX_ACCEL of the longitudi‐
nal axis)
WARNING
No M code is output.
The values 0 to 6, 17 and 30 are not output to the PLC.
2.3.3 Programming
Syntax
TRAANG
TRAANG()
TRAANG(, <n>)
TRAANG(<α>)
TRAANG(<α>,<n>)
Meaning
TRAANG: Activate TRAANG with the first TRAANG data set and last valid angle
TRAANG(): <α>
TRAANG(, <n>): Activate TRAANG with the <n>th TRAANG data set and last valid angle
<α>
TRAANG(<α>): Activate TRAANG with the first TRAANG data set and angle <α>
TRAANG(<α>,<n>): Activate TRAANG with the <n>th TRAANG data set and angle <α>
Transformations
72 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.3 Oblique angle transformation (inclined axis) TRAANG (option)
Note
Oblique angle transformation TRAANG active in the channel is deactivated using:
● Deactivate transformation: TRAFOOF
● Activation of another transformation: E.g. TRACYL, TRANSMIT, TRAORI
Example
Program code Comment
N20 TRAANG(45) ; Activate TRAANG with the first TRAANG data set and angle 45°
Syntax
TRAANG
TRAANG()
TRAANG(, <n>)
Meaning
TRAANG: Activate TRAANG with the first TRAANG data set and angle <α> from
TRAANG(): machine data MD24700 $MC_TRAANG_ANGLE_1
TRAANG(, <n>): Activate TRAANG with <n>th TRAANG data set and angle <α> from
machine data MD2xxxx $MC_TRAANG_ANGLE_<n>
<n>: TRAANG data set number (optional)
Range of values: 1, 2
Transformations
Function Manual, 06/2019, A5E47435470B AA 73
M1: Kinematics transformation
2.3 Oblique angle transformation (inclined axis) TRAANG (option)
Note
Oblique angle transformation TRAANG active in the channel is deactivated using:
● Deactivate transformation: TRAFOOF
● Activation of another transformation: E.g. TRACYL, TRANSMIT, TRAORI
Example
Program code Comment
N20 TRAANG(,2) ; Activate TRAANG with second TRAANG data set
; and angle from MD24750 $MC_TRAANG_ANGLE_2.
Syntax
G7 <Endpos_X> <Endpos_Z>
G5 <Endpos_X>
Meaning
G7: Calculate the starting position for the oblique plunge-cutting and approach.
G5: Traverse the inclined axis to the programmed end position
<Endpos_X>: X axis end position
<Endpos_Z>: End position of the Z axis
Transformations
74 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.3 Oblique angle transformation (inclined axis) TRAANG (option)
Example
˞
80
;
1
1
==0
0 &0
$60
① Grinding wheel
② Workpiece
③ Parallel to the inclined axis through the programmed end position
④ Starting position
⑤ Plunge-cutting: Starting position
⑥ Plunge-cutting: End position
⑦ Parallel to the Z axis, at a distance from the actual position of the X axis
X Geometry axis
Z Geometry axis
ZM Machine axis
UM Machine axis
Figure 2-15 Programming an inclined axis
Transformations
Function Manual, 06/2019, A5E47435470B AA 75
M1: Kinematics transformation
2.3 Oblique angle transformation (inclined axis) TRAANG (option)
Tool change
Tools may only be changed when the tool radius compensation function is deselected.
Frames
All instructions which refer to the workpiece coordinate system are permissible (FRAME, tool
radius compensation). Unlike the procedure for inactive transformation, however, a frame
change with G91 (incremental dimension) is not specially treated. The increment to be
traversed is evaluated in the workpiece coordinate system of the new frame - regardless of
which frame was effective in the previous block.
Extensions
When the oblique angle transformation (TRAANG) is selected and deselected, the assignment
between geometry axes and channel axes can change. The user can apply these geometric
contour sections to the axial frame as a translation, rotation, scaling and mirroring in relation to
the x and z planes with respect to the inclined infeed axis.
Further information
Further detailed information on the frame corrections for transformations can be found in:
Function Manual Basic Functions; Axes, coordinate systems, frames
Unusable functions
The following functions cannot be used in channel axes involved in the transformation:
● Set actual value (PRESETON)
● Travel to fixed stop (FXS)
● Reference point approach (G74 or manual reference point approach)
Transformations
76 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.3 Oblique angle transformation (inclined axis) TRAANG (option)
Velocity control
The velocity monitoring function for oblique angle transformation (TRAANG) is implemented by
default during preprocessing. The velocity monitoring function and limitation in the main run
takes place in the following operating states:
● AUTOMATIC mode: Programming of a positioning or oscillating axis that is involved in the
transformation
● JOG mode: After a change of operating mode to JOG mode
After resynchronization of the preprocessing to the main run, e.g. after a change of operating
mode from JOG to AUTOMATIC mode, velocity monitoring and limitation takes place in the
preprocessing again.
Note
Program operation: Behavior with axis-specific feedrate stop
● Velocity monitoring in main run
Program execution is stopped with active velocity monitoring in the main run for one of the
axes involved in the transformation of the axis-specific feedrate stop at (DBX31, ... DBX4.3
== 1).
● Velocity monitoring in the preprocessing
The NC program execution continues with active velocity monitoring in the preprocessing
for one of the axes involved in the transformation of the axis-specific feedrate stop at
(DBX31, ... DBX4.3 == 1). The precondition for this is that no traversing motions are
programmed for the relevant axis.
Transformations
Function Manual, 06/2019, A5E47435470B AA 77
M1: Kinematics transformation
2.3 Oblique angle transformation (inclined axis) TRAANG (option)
2.3.5 Example
The example refers to the axis configuration shown in the following figure.
80
==0
0 &0
$60
① Grinding disk
② Workpiece
X Geometry axis
Z Geometry axis
ZM Machine axis
UM Machine axis
α Angle of inclined axis
CM Machine axis (spindle)
ASM Machine axis (tailstock)
Figure 2-16 Inclined axis
Parameterization
Transformations
78 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.3 Oblique angle transformation (inclined axis) TRAANG (option)
Identification of spindles
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 0 ] = 1 (spindle)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 1 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 2 ] = 0 (axis)
● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 3 ] = 2 (spindle)
Transformation type
● MD24100 $MC_TRAFO_TYPE_1 = 1024 (TRAANG)
Transformations
Function Manual, 06/2019, A5E47435470B AA 79
M1: Kinematics transformation
2.3 Oblique angle transformation (inclined axis) TRAANG (option)
Basic offset of the tool zero relative to the geometry axes while TRAANG is active
● MD24710 $MC_TRAANG_BASE_TOOL_1 [0] = 0.0 (offset relative to 1st TrafoGeoAxis)
● MD24710 $MC_TRAANG_BASE_TOOL_1 [1] = 0.0 (offset relative to 2nd TrafoGeoAxis)
● MD24710 $MC_TRAANG_BASE_TOOL_1 [2] = 0.0 (offset relative to 3rd TrafoGeoAxis)
Programming example
Program code Comment
N10 G0 G90 Z0 UM=10 G54 F5000 G18 G64 T1 D1 ; XZ planes, tool selection, clamping compensation
N20 TRAANG(45) ; Activate TRAANG with the first TRAANG data set
and angle 45°
N30 G0 Z10 X5 ; Approach the start position
N40 WAITP(Z) ; Wait for end of travel of the Z axis
N50 OSP1[Z]=10 OSP2[Z]=5 OST1[Z]=–2 OST2[Z]=–2 ; Oscillating motion
FA[Z]=5000 ; OSP1/OSP2: Left/right reversal point
; OST1/OST2: Stopping point at the left/right re-
versal point
N60 OS[Z]=1 ; Activate oscillation
N70 POS[X]=4.5 FA[X]=50 ; Position X axis in parallel
N80 OS[Z]=0 ; Deactivate oscillation
N90 WAITP(Z) ; Wait for end of travel of the Z axis
N100 TRAFOOF ; Deactivate transformation
N110 G0 Z10 UM=10 ; Retract
N120 M30
Transformations
80 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.4 Chained transformations
2.4.1 Function
2.4.1.1 Introduction
For a concatenated transformation, two transformations can be connected one after the other
(chained). As a consequence, motion components of the axes can be taken from the first
transformation and used as input data for the second transformation. The motion components
of the axes from the second transformation then act on the machine axes.
● The following are possible as first transformation:
– TRAORI orientation transformations, including universal milling head
Further information
F2: Multi-axis transformations (Page 137)
– Face end transformation TRANSMIT
– Cylinder surface transformation TRACYL
● Only the following is possible as second transformation:
– Inclined axis TRAANG
Note
Exception, when commissioning
A concatenated transformation normally comprises two transformations chained one after the
other. For test purposes, e.g. during commissioning, it is also permissible to enter just one
transformation in the chaining list.
Note
Different axis identifiers
For active transformation, the names of the machine, channel and geometry axes involved
must be different:
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB (machine axis name)
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB (channel axis name)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB (geometry axis name)
Application examples
● Grinding contours that are programmed as a side line of a cylinder (TRACYL) using an
inclined grinding wheel, e.g. tool grinding.
● Finish cutting of a contour that is not round and was generated with TRANSMIT using an
inclined grinding wheel.
Transformations
Function Manual, 06/2019, A5E47435470B AA 81
M1: Kinematics transformation
2.4 Chained transformations
Axis configuration
The following configuration measures are necessary for a chained transformation:
● Assignment of names to geometry axes
● Assignment of names to channel axes
● Assignment of geometry axes to channel axes
– General situation (no transformation active)
● Assignment of channel axes to machine axis numbers
● Identification of spindle, rotation, modulo for axes
● Allocation of machine axis names
● Transformation-specific settings (for individual transformations and for chained
transformations)
– Transformation type
– Axes going into the transformation
– Assignment of geometry axes to channel axes during active transformation
– Depending on transformation, rotational position of the coordinate system, direction of
rotation, tool zero point in relation to the original coordinate system, angle of the inclined
axis, etc.
Note
Supplementary conditions and special cases
The supplementary conditions and special cases specified in the individual transformation
descriptions must also be observed when used within a chained transformation.
Boundary conditions
Chaining direction
The first transformation of the chained transformations has the basic coordinate system (BCS)
as input.
The second transformation of the chained transformations has the machine coordinate system
(MCS) as output.
Transformations
82 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.4 Chained transformations
Tool data
A tool is always assigned the first transformation of chained transformations. The subsequent
transformation then behaves as if the active tool length were zero.
Only the basic tool lengths set in the machine data (_BASE_TOOL_) are valid for the first
transformation in the chain.
Boundary conditions
● Warm restart
The encoder position has the value 0 for non-referenced axes. For the $VA variables, the
encoder actual values are appropriately inverse-transformed.
● Channel reset
The active transformation can change after a channel reset. This can have a direct influence
on the system variable values.
An active transformation, which is active again after a channel reset, is briefly deactivated
and then reactivated. This influences the position variables. The values of variables can
change.
Via the variable:
$AC_STAT == 0
this status can be queried in synchronous actions.
Transformations
Function Manual, 06/2019, A5E47435470B AA 83
M1: Kinematics transformation
2.4 Chained transformations
\ \ \ \ \
[ [ [ [ [
] ] ] ] ]
/D\HU
/D\HU
/D\HU
Figure 2-17 Transformer layer
Axis
As 1st index of the system variable, either a geometry, a channel or a machine axis name is
permissible. When programming geometry axis names, in each transformer layer, the
assignment of the channel axes to the geometry axes corresponding to transform layer 0 is
effective. This means that the geometry axis assignment on the BCS side is active in all planes.
Using geometry axis names is meaningful only if the geometry axes are not switched over.
Otherwise, it is always better to use channel axis names.
Transformer layer
The 2nd index of the system variable corresponds to the transformation layer from which the
positions are taken:
● Transformer layer 0: The positions correspond to BCS positions, $AA_ITR[x,0] == $AA_IB[x]
● Transformer layer 1: Setpoint positions at the output of the 1st transformation
● Transformer layer 2: Setpoint positions at the output of the 2nd transformation
● Transformer layer 3: Setpoint positions at the output of the 3rd transformation
● Transformer layer 4: Setpoint positions at the output of the 4th transformation, $AA_ITR[x,4]
== $AA_IM[x]
If one or more transformations of the transformation chain are missing, the highest layers
continue to deliver the same values. If, for example, transformation 3 and transformation 4 are
missing, then the following applies:
$AA_ITR[x,2] = $AA_ITR[x,3] = $AA_ITR[x,4] = $AA_IM[x]
If the transformations are deactivated using TRAFOOF - or for a channel reset - then layers 0 to
4 merge. The system variable then supplies the BCS value (layer 0).
Transformations
84 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.4 Chained transformations
Note
$VA_ITR$, VA_IBC, $VA_IW, $VA_IB
The value of the variable does not change while reading the variable within an IPO cycle,
although the actual value could have changed.
In active transformations, one must consider that the transformation of the actual values into
BCS in the IPO cycle can be very time-consuming. In this case one must set an adequate IPO
cycle.
Transformations
Function Manual, 06/2019, A5E47435470B AA 85
M1: Kinematics transformation
2.4 Chained transformations
2.4.2 Programming
Syntax
TRACON(<Trafo_No>,<Par_1>,...,<Par_n>,<Par_n+1>)
...
TRAFOOF
Meaning
Transformations
86 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.4 Chained transformations
Example
Program code Comment
...
N230 TRACON(1,45.) ; Activate first concatenated transformation.
; The previously active transformation is automatically de-
selected.
; The angle for the inclined axis is 45°.
...
N330 TRACON(2,40.) ; Activate second concatenated transformation.
; The angle for the inclined axis is 40°.
...
N380 TRAFOOF ; Deactivate second concatenated transformation.
...
2.4.3 Examples
Parameter assignment
Transformations
Function Manual, 06/2019, A5E47435470B AA 87
M1: Kinematics transformation
2.4 Chained transformations
MD20070 $MC_AXCONF_MACHAX_USED[6]=7
MD20070 $MC_AXCONF_MACHAX_USED[7] = 0
MD20080 $MC_AXCONF_CHANAX_NAME_TAB[3]="A"
MD20080 $MC_AXCONF_CHANAX_NAME_TAB[4]="B"
MD20080 $MC_AXCONF_CHANAX_NAME_TAB[5]="C"
MD36902 $MA_IS_ROT_AX[ AX4 ] = TRUE
MD36902 $MA_IS_ROT_AX[ AX5 ] = TRUE
MD36902 $MA_IS_ROT_AX[ AX6 ] = TRUE
MD36902 $MA_IS_ROT_AX[ AX7 ] = TRUE
MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[AX5]= 0
MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[AX7] = 1
MD35000 $MA_ROT_IS_MODULO[AX7] = TRUE
Single transformations
; 1. TRAORI
MD24470 $MC_TRAFO_TYPE_1= 16 ; TRAORI: A-B kinematics
MD24410 $MC_TRAFO_AXES_IN_1[0]=1
MD24410 $MC_TRAFO_AXES_IN_1[1]=2
MD24410 $MC_TRAFO_AXES_IN_1[2]=3
MD24410 $MC_TRAFO_AXES_IN_1[3]=4
MD24410 $MC_TRAFO_AXES_IN_1[4]=5
MD24410 $MC_TRAFO_AXES_IN_1[5]=0
MD24120$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=1
MD24120$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=2
MD24120$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2]=3
MD24550$MC_TRAFO5_BASE_TOOL_1[0]=0
MD24550$MC_TRAFO5_BASE_TOOL_1[1]=0
MD24550$MC_TRAFO5_BASE_TOOL_1[2]=0
; 2. TRANSMIT
MD24200 $MC_TRAFO_TYPE_2 = 256 ; TRANSMIT
MD24210 $MC_TRAFO_AXES_IN_2[0] = 1
MD24210 $MC_TRAFO_AXES_IN_2[1] = 6
MD24210 $MC_TRAFO_AXES_IN_2[2]=3
MD24210 $MC_TRAFO_AXES_IN_2[3]=0
MD24210 $MC_TRAFO_AXES_IN_2[4] = 0
MD24210 $MC_TRAFO_AXES_IN_2[5] = 0
MD24210 $MC_TRAFO_AXES_IN_2[6]=0
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[0] =1
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[1] =6
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[2] =3
; 3. TRAANG
MD24300 $MC_TRAFO_TYPE_3 = 1024 ; TRAANG
Transformations
88 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.4 Chained transformations
MD24310 $MC_TRAFO_AXES_IN_3[0] = 1
MD24310 $MC_TRAFO_AXES_IN_3[1] = 3
MD24310 $MC_TRAFO_AXES_IN_3[2] = 2
MD24310 $MC_TRAFO_AXES_IN_3[3] = 0
MD24310 $MC_TRAFO_AXES_IN_3[4] = 0
MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[0] =1
MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[1] =3
MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[2] =2
MD24700 $MC_TRAANG_ANGLE_1 = 45.
MD24720 $MC_TRAANG_PARALLEL_VELO_RES_1 = 0.2
MD24721 $MC_TRAANG_PARALLEL_ACCEL_RES_1 = 0.2
MD24710 $MC_TRAANG_BASE_TOOL_1 [0] = 0.0
MD24710 $MC_TRAANG_BASE_TOOL_1 [1] = 0.0
MD24710 $MC_TRAANG_BASE_TOOL_1 [2] = 0.0
Chained transformations
Programming example
The following programming example assumes that the angle of the "inclined axis" can be set
on the machine and is set to 0° when the single transformations are activated.
Transformations
Function Manual, 06/2019, A5E47435470B AA 89
M1: Kinematics transformation
2.4 Chained transformations
Transformations
90 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.4 Chained transformations
[ ;0
\
75$160,7 75$$1* <0
] =0
\ &
[
\ 75$&</ 75$$1*
]
\
Parameter assignment
CHANDATA(1)
; TRANSMIT
MD24100 $MC_TRAFO_TYPE_1=256
MD24110 $MC_TRAFO_AXES_IN_1[0] = 2
MD24110 $MC_TRAFO_AXES_IN_1[1] = 1
MD24110 $MC_TRAFO_AXES_IN_1[2] = 3
MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1 [0] = 2
MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1 [1] = 1
MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1 [2] = 3
; TRACYL
MD24200 $MC_TRAFO_TYPE_2=512
MD24210 $MC_TRAFO_AXES_IN_2[0]=2
MD24210 $MC_TRAFO_AXES_IN_2[1]=1
MD24210 $MC_TRAFO_AXES_IN_2[2]=3
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[0] =2
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[1] =1
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[2] =3
Transformations
Function Manual, 06/2019, A5E47435470B AA 91
M1: Kinematics transformation
2.4 Chained transformations
; TRAANG
MD24300 $MC_TRAFO_TYPE_3=1024
MD24310 $MC_TRAFO_AXES_IN_3[0] = 2
MD24310 $MC_TRAFO_AXES_IN_3[1]=4
MD24310 $MC_TRAFO_AXES_IN_3[2] = 3
MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[0] =2
MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[1] =4
MD24320 $MC_TRAFO_GEOAX_ASSIGN_TAB_3[2] =3
MD24700 $MC_TRAANG_ANGLE_1 = 45.
MD24720 $MC_TRAANG_PARALLEL_VELO_RES_1 = 0.2
MD24721 $MC_TRAANG_PARALLEL_ACCEL_RES_1 = 0.2
MD24710 $MC_TRAANG_BASE_TOOL_1 [0] = 0.0
MD24710 $MC_TRAANG_BASE_TOOL_1 [1] = 0.0
MD24710 $MC_TRAANG_BASE_TOOL_1 [2] = 0.0
; 1. TRANSMIT/TRAANG chaining
MD24400 $MC_TRAFO_TYPE_4=8192 ; TRACON (1)
MD24995 $MC_TRACON_CHAIN_1[0] = 1
MD24995 $MC_TRACON_CHAIN_1[1] = 3
MD24995 $MC_TRACON_CHAIN_1[2] = 0
MD24995 $MC_TRACON_CHAIN_1[3] = 0
MD24410 $MC_TRAFO_AXES_IN_4[0]=1
MD24410 $MC_TRAFO_AXES_IN_4[1]=2
MD24410 $MC_TRAFO_AXES_IN_4[2]=3
MD24420 $MC_TRAFO_GEOAX_ASSIGN_TAB_4[0] =2
MD24420 $MC_TRAFO_GEOAX_ASSIGN_TAB_4[1] =1
MD24420 $MC_TRAFO_GEOAX_ASSIGN_TAB_4[2] =3
; 2. TRACYL/TRAANG chaining
MD24430 $MC_TRAFO_TYPE_5=8192 ; TRACON (2)
MD24996 $MC_TRACON_CHAIN_2[0] = 2
MD24996 $MC_TRACON_CHAIN_2[1] = 3
MD24996 $MC_TRACON_CHAIN_2[2]=0
MD24996 $MC_TRACON_CHAIN_2[3]=0
MD24432 $MC_TRAFO_AXES_IN_5[0]=1
MD24432 $MC_TRAFO_AXES_IN_5[1]=2
MD24432 $MC_TRAFO_AXES_IN_5[2]=3
MD24434 $MC_TRAFO_GEOAX_ASSIGN_TAB_5[0] =2
MD24434 $MC_TRAFO_GEOAX_ASSIGN_TAB_5[1] =1
MD24434 $MC_TRAFO_GEOAX_ASSIGN_TAB_5[2] =3
M17
Programming example
Program code Comment
N10 $TC_DP1[1,1]=120
N20 $TC_DP3[1,1]=20
N30 $TC_DP4[1,1]=0
N40 $TC_DP5[1,1]=0
N50
N60 X0 Y0 Z0 F20000 T1 D1
N70
N80 ; Cyclic reading in the synchronized actions
N90 ID=1 WHENEVER TRUE DO $R0=$AA_ITR[X,0] $R1=$AA_ITR[X,1] $R2=$AA_ITR[X,2]
Transformations
92 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.5 Persistent transformation
Function
A persistent transformation is always active and has a relative effect to the other explicitly
selected transformations.
Selected transformations are computed as the first chained transformation in relation to the
persistent transformation.
Transformations such as e.g. TRANSMIT, which are selected relative to the persistent
transformation, are chained in the NC program with persistent transformation using TRACON.
The chained transformation, e.g. TRANSMIT, is then programmed in the NC program.
Further information
Programming Manual Advanced; Transformations > Activate concatenated transformation
(TRACON)
Transformations
Function Manual, 06/2019, A5E47435470B AA 93
M1: Kinematics transformation
2.5 Persistent transformation
System variables
System variable to read transformation types of the active or chained transformations.
● $AC_TRAFO (active transformation)
● $AC_TRAFO_CHAIN[0] (active chained transformation)
● $P_TRAFO (programmed transformation)
● $P_TRAFO_CHAIN[0] (programmed chained transformation)
Transformations
94 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.5 Persistent transformation
Frames
Frame adjustments for selection and deselection of the TRACON are carried out as if there was
only the first chained transformation. Transformations on the virtual axis cease to be effective
when TRAANG is selected.
JOG
The persistent transformation remains in effect when traversing with JOG.
Boundary conditions
The persistent transformation does not change the principle operating sequences in the NC. All
restrictions applying to an active transformation also continue to apply:
● For RESET, an existing transformation is completely deselected - and the persistent
transformation is selected again.
● When referencing, the transformation is deselected and then requires a channel reset or NC
start in order to again select the persistent transformation.
Example
For a lathe with an inclined additional Y axis, the transformation of the inclined axis should be
part of the machine configuration. As a consequence, it does not have to be taken into
consideration by the programmer. With TRACYL or TRANSMIT, the transformations are
selected, which must then include TRAANG.
When deactivating the programmed transformations, TRAANG is automatically reactivated.
TRACYL or TRANSMIT are correspondingly displayed on the user interface.
Machine constellation: Lathe with a Y1 axis, inclined to X1 and perpendicular to Z1
Program code
CANDATA (1)
; Kinematic without transformations
MD20080 $MC_AXCONF_CHANAX_NAME_TAB[1] = "Y2"
MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[0] = 1
MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[1] = 0
MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[2] = 3
; Data for TRAANG
MD24100 $MC_TRAFO_TYP_1 = 1024 ; TRAANG, Y1 axis inclined to X1,
perpendicular to Z1
MD24110 $MC_TRAFO_AXES_IN_1[0]=2
MD24110 $MC_TRAFO_AXES_IN_1[1]=1
MD24110 $MC_TRAFO_AXES_IN_1[2] = 3
MD24110 $MC_TRAFO_AXES_IN_1[3] = 0
MD24110 $MC_TRAFO_AXES_IN_1[4] = 0
MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1[0] = 1
Transformations
Function Manual, 06/2019, A5E47435470B AA 95
M1: Kinematics transformation
2.5 Persistent transformation
Program code
; Definition of persistent transformation
MD20144 $MC_TRAFO_MODE_MASK = 1
MD20140 $MC_TRAFO_RESET_VALVUE= 1
MD20110 $MC_RESET_MODE_MASK = 'H01'
MD20112 $MC_START_MODE_MASK = 'H80'
MD20140 $MC_TRAFO_RESET_VALUE
MD20118 $MC_GEOAX_CHANGE_RESET= TRUE
; Data for TRANSMIT, TRACYL
MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_1 = 1 ; also 2, causes alarm 21617
MD24200 $MC_TRAFO_TYP_2 = 257 ; TRANSMIT
MD24210 $MC_TRAFO_AXES_IN_2[0] = 1
MD24210 $MC_TRAFO_AXES_IN_2[1] = 4
MD24210 $MC_TRAFO_AXES_IN_2[2] = 3
MD24210 $MC_TRAFO_AXES_IN_2[3] = 0
MD24210 $MC_TRAFO_AXES_IN_2[4] = 0
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[0] =1
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[1] =4
MD24220 $MC_TRAFO_GEOAX_ASSIGN_TAB_2[2] =3
Transformations
96 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.6 Cartesian PTP travel
NC program
Program code
$TC_DP1[1,1]=120 ; tool type
$TC_DP2[1,1] = 0
$TC_DP3[1,1]=3 ; length compensation vector
$TC_DP4[1,1]=25
$TC_DP5[1.1] =5
$TC_DP6[1,1]= 2; Radius; tool radius
; Transformation changeover
N1000 G0 X0 Y=0 Z0 A80 G603 SOFT G64
N1010 X10 Y20 Z30 ; TRAANG(,1) not required, as automatically selected
N1110 TRANSMIT(1)
N1120 X10 Y20 Z30
N1130 Y2=0 ; TRACON(2) not required, as automatically converted
N1210 TRAFOOF ; TRAANG(,1) not required, as automatically converted
N1220 X10 Y20 Z30
M30
2.6.1 Function
Precondition
Cartesian point-to-point or PTP travel can only be activated if one of the following
transformations is active:
● TRAORI (orientation transformation)
● TRANSMIT (face side transformation)
● TRACON (chained transformation)
Precondition: The first chained transformation supports PTP travel!
● RCTRA (transformation for 2 to 4-axis handling/robot kinematics)
Precondition: Compile cycle "RMCC/RCTRA Transformation Handling" is loaded and
active!
● ROBX (transformation for 4 to 6-axis robot kinematics)
Precondition: Compile cycle "RMCC/ROBX Transformation Extended Robotics" is loaded
and active!
Without active transformation, alarm 14146 "CP or PTP motion without transformation not
permitted" is output.
Note
The axes of the transformation must not simultaneously be positioning axes.
Transformations
Function Manual, 06/2019, A5E47435470B AA 97
M1: Kinematics transformation
2.6 Cartesian PTP travel
Function
With the Cartesian PTP travel, in G0 and G1 sets it is possible to approach a point programmed
as a Cartesian destination point with a synchronous axis movement.
Regarding the traversing movement, the Cartesian PTP travel acts as though no
transformation is active The position data in the part program continue to be in the Cartesian
workpiece coordinate system. Programmed frames (coordinate movements and rotations)
remain valid. The display is also in the Cartesian workpiece coordinate system.
The movement in the Cartesian PTP travel is described by a starting and end position of the
axes. The path of the movement described by the individual axes from the starting to the end
position is not specified by the controller by means of path interpolation points and can
therefore not be predicted. The axes only have to reach their specified target position.
Interaction between the axis movements only exists in regard to time, i.e. all axis start
simultaneously and are stopped at the same time when the target position has been reached.
The slowest axis determines the total traverse time.
One sensible usage option is to travel by a singularity. If Cartesian positions are available,
which are provided by a CAD/CAM system for example, this has the benefit of not having to
convert them into machine axis values. Furthermore, direct traversing of the machine axes is
time-optimized compared to Cartesian traversing with active transformation and programmed
feed. The result of this would either be a corresponding reduction of the feedrate when
traversing through the singularity (speed planning in preprocessing) or an overload of the axis
if no speed planning is carried out in preprocessing.
Note
Cartesian PTP travel is only permissible in conjunction with the interpolation types G0 and G1.
Versions
Three versions are available for Cartesian PTP travel:
● PTP
The programmed Cartesian position in G0 and G1 blocks is approached with synchronous
axis motion.
● PTPG0
Only in G0 blocks is the programmed Cartesian position approached with synchronous axis
motion. In G1 blocks, it is switched to the type of motion CP (CP = Continuous Path) and the
position is approached with a Cartesian path motion.
● PTPWOC (only for orientation transformation)
Just the same as PTP, however, without any compensatory motion, which is caused by
motion of rotary axes and orientation axes.
Since the transformation, which compensates the movement of the tool tip (TCP) during
orientation changes, is not active, the position of the TCP in the workpiece coordinate
system must generally also be changed if no linear axes involved in the transformation are
programmed.
Programmed linear axis movements are carried out in the workpiece coordinate system that
applies at the beginning of the block and overlays the simultaneously programmed rotary
axis movements if applicable. The block end point that is reached in the workpiece
coordinate system is therefore generally not the same as the programmed end point.
Transformations
98 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.6 Cartesian PTP travel
The following table lists which version can be practically used for which transformation:
NOTICE
Risk of collision
For PTP travel it must be observed that in part there are significantly different tool movements
than with CP!
This must especially be considered for PTPG0, because subprograms can be created with it
independently of the active transformation. With active front-end transformation (TRANSMIT),
however, entirely different collision risks may occur than with an orientation transformation
(TRAORI).
For PTP travel with active front-end transformation (TRANSMIT), machine axes basically
travel the shortest path. Minor displacements of the block end point can cause the rotary axis
to rotate by +179.99° instead of + -179.99°. This results in a completely different motion, even
though the block end point has hardly changed.
Note
DB21, ... DBX29.4 is only effective in JOG mode when the transformation is active.
The active type of motion is reported via the following NC/PLC interface signal:
DB21, ... DBX317.6 (PTP travel active)
Transformations
Function Manual, 06/2019, A5E47435470B AA 99
M1: Kinematics transformation
2.6 Cartesian PTP travel
2.6.2 Commissioning
Value Meaning
1 CP (default setting)
2 PTP
3 PTPG0
4 PTPWOC
Value Meaning
0 The default command in MD20150 $MC_GCODE_RESET_VALUES[48] becomes ef‐
fective (default setting).
1 The command that was active before the reset/part program end remains effective.
Function
With Cartesian PTP travel, a rotary axis is normally traversed according to the strategy
"shortest path" if no position information has been programmed via the operation TU
(Page 108). To prevent a software limit switch being overtraveled when the target position is
behind the software limit switch, the user can use the "Consideration of the SW limits during
PTP travel" function. The rotary axis is then traversed with the strategy "long path" instead of
"shortest path" if overtravel of the software limit switch would happen, i.e. the opposite
traversing direction as with the "shortest path" strategy.
Requirement
The function can only be used when the relevant axis has been referenced.
Transformations
100 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.6 Cartesian PTP travel
Activation
The "Consideration of the SW limits during PTP travel" function can be activated separately for
each axis.
This setting is made via bit 14 in the axial machine data:
MD30455 $MA_MISC_FUNCTION_MASK
Bit 14 =0 With Cartesian PTP travel, the strategy "shortest path" is retained for software limit
switch overtravel of a rotary axis (basic setting).
=1 The strategy "long path" is used when during Cartesian PTP travel a rotary axis
with the strategy "shortest path" would overtravel the software limit switch.
Supplementary conditions
Example
Axis 6 is to traverse from +150° t +240°. The software limit switch is at +200°.
If for axis 6, bit 14 in MD30455 $MA_MISC_FUNCTION_MASK is set to "1", axis 6 is traversed
to -120°.
Transformations
Function Manual, 06/2019, A5E47435470B AA 101
M1: Kinematics transformation
2.6 Cartesian PTP travel
2.6.3 Programming
Requirement
Transformation TRANSMIT, RCTRA or ROBX is active.
Syntax
PTP / PTPG0 / PTPWOC
...
CP
Meaning
Note
PTPWOC
It does not make any sense to use PTPWOC in combination with a RCTRA or ROBX
transformation!
Transformations
102 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.6 Cartesian PTP travel
Examples
See:
● Example 3: PTPG0 and TRANSMIT (Page 112)
Precondition
Transformation TRAORI, TRANSMIT, RCTRA or ROBX is active.
Syntax
PTP / PTPG0 / PTPWOC
...
CP
Meaning
Transformations
Function Manual, 06/2019, A5E47435470B AA 103
M1: Kinematics transformation
2.6 Cartesian PTP travel
Note
PTPWOC
It does not make any sense to use PTPWOC in combination with a RCTRA or ROBX
transformation!
Examples
See:
● Example 1: PTP travel of a 6-axis robot with ROBX transformation (Page 111)
● Example 2: PTP travel for generic 5-axis transformation (Page 112)
● Example 3: PTPG0 and TRANSMIT (Page 112)
Note
The control takes into account programmed STAT values only for PTP motions. They are
ignored with CP motions because a change of position is not normally possible while traversing
with an active transformation. When traversing with active CP, the position for the target point
is taken from the starting point.
Syntax
STAT=<Value>
Meaning
The use of STAT is to be illustrated by the example of a 6-axis articulated robot with milling
spindle. The kinematic transformation is to be realized using the ROBX robot transformation
(precondition: Compile cycle "RMCC/ROBX Transformation Extended Robotics" is loaded and
active).
Transformations
104 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.6 Cartesian PTP travel
$
$
$
$
$
$
Axes A1, A2 and A3 are the main axes of the articulated robot. The axes A4, A5 and A6, which
are also designated as head or hand/wrist axes, are positioned in the working area with the
main axes. The additional motion options of the hand/wrist axes enable the milling spindle to be
orientated in space as required for the particular machining task. Various articulated joint
positions are possible to achieve the same tool orientation.
The articulated joint positions required for machining are selected by programming bit 0 ... 2 of
the adjustable STAT address:
Bit 0 Position of the intersection points of the hand/wrist axes (A4, A5, A6)
=0 Basic range (shoulder right)
The robot is in the basic range if the X value
of the intersection point of the hand/wrist ax‐
es is positive in relation to to the A1 coordi‐
nate system.
=1 Overhead range (shoulder left)
The robot is in the overhead range if the X
value of the intersection point of the hand/
wrist axes is negative in relation to the A1
coordinate system.
%LW %LW
; ;
Transformations
Function Manual, 06/2019, A5E47435470B AA 105
M1: Kinematics transformation
2.6 Cartesian PTP travel
Program example:
→ Elbow down
→ No handflip
<
Transformations
106 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.6 Cartesian PTP travel
→ Elbow up
→ No handflip
<
→ Elbow down
→ Handflip
<
→ Elbow up
→ Handflip
<
TRANSMIT
For TRANSMIT, the STAT address is used to initiate the equivocality regarding the pole.
Transformations
Function Manual, 06/2019, A5E47435470B AA 107
M1: Kinematics transformation
2.6 Cartesian PTP travel
The following applies if the rotary axis must rotate through 180º or the contour for CP would go
through the pole:
Note
The control only takes into account programmed TU values for PTP motion. CP motion is
ignored.
Syntax
TU=<Value>
Meaning
Transformations
108 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.6 Cartesian PTP travel
$
$
$
$
$
$
Transformations
Function Manual, 06/2019, A5E47435470B AA 109
M1: Kinematics transformation
2.6 Cartesian PTP travel
2 =0 ① θA3 ≥ 0°
3 =0 ① θA4 ≥ 0°
4 =1 ① θA5 < 0°
5 =0 ① θA6 ≥ 0°
Note
In the case of axes with a traversing range > ±360°, the axis always moves along the shortest
path because the axis position cannot be specified uniquely by the TU information.
If no TU is programmed for a position, then depending on MD30455
$MA_MISC_FUNCTION_MASK, the shorter or longer path is traversed (see Chapter "Taking
into account the software limits for PTP travel (Page 100)" in the Extended Functions Function
Manual).
TRANSMIT
For PTP travel with TRANSMIT active, the address of TU has no meaning!
Example
The rotary axis position shown in the following diagram can be approached in the negative or
positive direction. The angular position is programmed under address A1. The traversing
direction is only absolutely clear when TU is specified.
6WDUWLQJSRVLWLRQ
1HJDWLYHGLUHFWLRQ
$ r78ELW
3RVLWLYHGLUHFWLRQ
$ r78ELW
7DUJHWSRVLWLRQ
Transformations
110 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.6 Cartesian PTP travel
<
N1 G90
N2 T=“T8MILLD20“ D1 M6
N3 TRAORI
;$P_UIFR[1]=CTRANS(X,1500,Y,0,Z,400):CROT(X,0,Y,0,Z,-90)
N4 G54
N5 M3 S20000
N6 ORIWKS
N7 ORIVIRT1
N8 CYCLE832(0.01,_FINISH,1)
;HOME
N9 TRAFOOF
N10 G0 RA1=0.0000 RA2=-90.0000 RA3=90.0000 A=0.0000 B=90.0000 C=0.0000
N11 TRAORI
N12 G54
N13 G0 PTP X1369.2426 Y956.7528 Z502.5517 A=135.5761 B=-33.2223
C=161.1435 STAT='B010' TU='B001011'
N14 G0 X1355.1242 Y1014.9394 Z424.9695 A=135.8491 B=-33.1439
C=160.9941 STAT='B010' TU='B001011'
N15 G1 CP X1354.8361 Y1016.1269 Z423.3862 A=136.0635 B=-33.0819 C=160.8770
F1000
N16 G1 X1336.4283 Y1016.1269 Z426.6311 A=136.0484 B=-32.2151 C=160.9643
F2000
N17 G1 X1317.9831 Y1016.1269 Z429.6730 A=136.0175 B=-31.3394 C=161.0655
;HOME
N18 TRAFOOF
N19 G0 RA1=0.0000 RA2=-90.0000 RA3=90.0000 A=0.0000 B=90.0000 C=0.0000
N20 M30
Transformations
Function Manual, 06/2019, A5E47435470B AA 111
M1: Kinematics transformation
2.6 Cartesian PTP travel
<
PTP
CP
1*;<
1;<
Transformations
112 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.6 Cartesian PTP travel
<
PTP
CP 30
N070 X20 Y2 20
10 N060 X0 Y0
-10
-20
Programming Comment
N001 G0 X90 Z0 F10000 T1 D1 G90 ;Initial setting
N002 SPOS=0
N003 TRANSMIT ;TRANSMIT transformation
N010 PTPG0 ; for each G0 block, automatically PTP –
and then CP again.
N020 G0 X90 Y60
N030 X-90 Y-60
N040 X-30 Y-20
N050 X10 Y0
N060 X0 Y0
N070 X-20 Y2
N170 G1 X0 Y0
N160 X10 Y0
N150 X-30 Y-20
M30
Transformations
Function Manual, 06/2019, A5E47435470B AA 113
M1: Kinematics transformation
2.6 Cartesian PTP travel
Chipping cycles
With active PTP/PTPWOC, chipping cycles such as CONTPRON or CONTDCON cannot be
applied because the chipping require a contour to be able to construct the cut segmentation.
With PTPG0, on the other hand, chipping cycles are possible because the blocks required for
the chipping cycles are traversed with CP.
Axis overlay
An axis superimposing in the interpolation may not change during the PTP sequence. This
applies, for example, to LIFTFAST, fine tool offset, coupled motion TRAILON and tangential
follow-up TANGON.
NC block compression
In the PTP blocks, an active compressor function (COMPON, COMPCURV, COMPCAD or
COMPSURF) is automatically deselected.
Blending
Blending with G643 is not possible with the PTP travel. In the PTP blocks with an active G643,
there is an automatic switchover to G642.
Transformations
114 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.7 Cartesian manual traversing (option)
Path feedrate
An F value input with G1 refers to the fictitious path calculated from the machine axis
coordinates.
Mode change
Cartesian PTP travel only makes sense in the modes AUTOMATIC and MDI.
When changing the mode to JOG, the current setting is retained:
● If PTP travel is set, the axes will traverse in MCS.
● If CP is set, the axes will traverse in WCS.
After returning to the AUTOMATIC or MDI mode, the status that was active before the switch
to JOG mode is restored.
Block search
If the face end transformation (TRANSMIT) is active, different machine axis positions for the
same Cartesian position can result if a program section is executed with block search.
REPOS
The setting for Cartesian PTP travel is not altered during repositioning. If PTP was set in the
interruption block, then repositioning also takes place with PTP.
Note
The "Handling transformation package" option is necessary for the "Cartesian manual travel"
function.
Transformations
Function Manual, 06/2019, A5E47435470B AA 115
M1: Kinematics transformation
2.7 Cartesian manual traversing (option)
Function
The "Cartesian manual travel" function, as a reference system for JOG mode, allows axes to
be set independently of each other in the following Cartesian coordinate systems:
● Basic coordinate system (BCS)
● Workpiece coordinate system (WCS)
● Tool coordinate system (TCS)
Adjustment and activation is done using machine data:
MD21106 $MC_CART_JOG_SYSTEM (coordinate systems for Cartesian JOG)
Bit Meaning
0 Basic coordinate system
1 Workpiece coordinate system
2 Tool coordinate system
Note
The workpiece coordinate system has been shifted and rotated compared to the basic
coordinate system via frames.
Further information:
Function Manual Basic Functions; Axes, coordinate systems, frames
Translation
A translation movement can be used to move the tool center point (TCP) in parallel and 3-
dimensional to the axes of the reference system. The traversing movement is made via the VDI
signals of the geometry axes.
Transformations
116 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.7 Cartesian manual traversing (option)
= <
<
;
; =
<
%.6 <
;
=
① Starting position
② End position
Figure 2-19 Cartesian manual travel in the basic coordinate system (translation)
Transformations
Function Manual, 06/2019, A5E47435470B AA 117
M1: Kinematics transformation
2.7 Cartesian manual traversing (option)
= <
<
;
; =
<
:.6 <
;
=
① Workpiece
Figure 2-20 Cartesian manual travel in the workpiece coordinate system (translation)
Transformations
118 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.7 Cartesian manual traversing (option)
= <
<
<
;
=
:.6
%.6
;
① Starting position
② Frame
③ Workpiece
④ End position
Figure 2-21 Cartesian manual travel in the tool coordinate system (translation)
Orientation
The tool can be aligned to the component surface via an orientation movement. The orientation
movement is given control from the PLC via the VDI signals of the orientation axes (DB21, ...
DBB321).
Several orientation axes can be traversed simultaneously. The virtual orientation axes execute
rotations around the fixed axes of the relevant reference system.
The rotations are identified according to the RPY angles.
● A angle: Rotation around the Z axis
● B angle: Rotation around the Y axis
● C angle: Rotation around the X axis
Programming rotations:
Transformations
Function Manual, 06/2019, A5E47435470B AA 119
M1: Kinematics transformation
2.7 Cartesian manual traversing (option)
The user can define how rotations are to be executed using the current G commands of group
50 for orientation definition
Specifying ORIEULER, ORIRPY, ORIVIRT1 and ORIVIRT2.
With ORIVIRT1, rotation is executed according to MD21120 $MC_ORIAX_TURN_TAB_1. The
orientation axes are assigned to the channel axes via machine data: MD24585
$MC_TRAFO5_ORIAX_ASSIGN_TAB_1.
The direction of rotation is determined according to the "right hand rule". The thumb points in
the direction of the rotary axis. The finger stipulates the positive direction of rotation.
<
$
;7.6
%.6
① Start orientation
② End orientation
Figure 2-22 Cartesian manual travel in the basic coordinate system, orientation angle A
Transformations
120 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.7 Cartesian manual traversing (option)
<
%
;7.6
%.6
;
① Start orientation
② End orientation
Figure 2-23 Cartesian manual travel in the basic coordinate system, orientation angle B
<
;7.6
&
%.6
;
① Start orientation
② End orientation
Figure 2-24 Cartesian manual travel in the basic coordinate system, orientation angle C
Transformations
Function Manual, 06/2019, A5E47435470B AA 121
M1: Kinematics transformation
2.7 Cartesian manual traversing (option)
$
=
;
<
Figure 2-25 Cartesian manual travel in the tool coordinate system, orientation angle A
Transformations
122 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.7 Cartesian manual traversing (option)
<
; =
Figure 2-26 Cartesian manual travel in the tool coordinate system, orientation angle B
Transformations
Function Manual, 06/2019, A5E47435470B AA 123
M1: Kinematics transformation
2.7 Cartesian manual traversing (option)
<
&
Figure 2-27 Cartesian manual travel in the tool coordinate system, orientation angle C
Boundary conditions
The "Cartesian manual travel" function can only be executed if the transformation is active in
the NC: DB21, ... DBX33.6 == 1 ("transformation active")
The following supplementary conditions must be observed:
● "Handling transformation package" option with 5-axis or 6-axis transformation is set
● Virtual orientation axes must be defined via the following machine data:
MD24585 $MC_TRAFO5_ORIAX_ASSIGN_TAB_1[n]
● DB21, ... DBX29.4 == 0 (activate PTP travel)
● MD21106 $MC_CART_JOG_SYSTEM > 0
Transformation in pro‐ Prog. traversing type DB21, ... DBX29.4 DB21, ... DBX33.6
gram active (TRAORI..) "Activate PTP travel" "Transformation active"
FALSE Not active Not active 0
TRUE CP 0 1
TRUE CP 1 0
Transformations
124 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.7 Cartesian manual traversing (option)
Transformation in pro‐ Prog. traversing type DB21, ... DBX29.4 DB21, ... DBX33.6
gram active (TRAORI..) "Activate PTP travel" "Transformation active"
TRUE PTP 0 1
TRUE PTP 1 0
The G command PTP/CP currently active in the program does not affect Cartesian manual
travel. The NC/PLC interface signals are interpreted in the channel DB for geometry and
orientation axes.
Activation
The reference system for Cartesian manual travel is set as follows:
● The Cartesian manual travel function is activated with the following machine data:
MD21106 $MC_CART_JOG_SYSTEM > 0
The BCS, WCS or TCS reference systems are enabled via MD21106
$MC_CART_JOG_SYSTEM.
● JOG traverse motion via SD42650 SC_CART_JOG_MODE
Standard behavior as before: Bits 0 to 2 = 0, bits 8 to 10 = 0.
Reference system for translation via bits 0-2 and the reference system for orientation via bits
8-10.
If not all of the bits are set to 0, the process uses the new function. The reference systems
for translation and orientation may be set independently.
SD42650 $SC_CART_JOG_MODE (only set one bit):
SD42650 $SC_CART_JOG_MODE
Bit 11 - Bit 10 Bit 9 Bit 8 Bit 7 - Bit 2 Bit 1 Bit 0
bit 15 bit 3
Reserved Orienta‐ Orienta‐ Orienta‐ Reserved Transla‐ Transla‐ Transla‐
tion in the tion in the tion in the tion in the tion in the tion in the
TCS WCS BCS TCS WCS BCS
Transformations
Function Manual, 06/2019, A5E47435470B AA 125
M1: Kinematics transformation
2.8 Activating transformation machine data via part program/softkey
2.8.1 Function
Transformation MD can now be activated by means of a program command softkey, i.e. these
can, for example, be written from the parts program, thus altering the transformation
configuration completely.
Up to ten different transformations can be set in the control system. The transformation type is
set in the following machine data:
MD24100 $MC_TRAFO_TYPE_1
up to
MD24460 $MC_TRAFO_TYPE_10.
Characteristics
The transformation MDs are activated using the "Setting machine data effective".
The protection level is now 7/7 (KEYSWITCH_0), which means that data can be modified from
the NC program without any particular authorization.
If the machine data are activated (regardless whether via the NEWCONF NC program
command, the HMI or implicitly following reset or end of program) - and no transformation has
been selected (activated) - then the machine data listed above can be altered without restriction
and then activated.
Of particular relevance is that new transformations can be configured or existing
transformations replaced by one of a different type or deleted, since the modification options
are not restricted to re-parameterization of existing transformations.
2.8.2 Constraints
Transformations
126 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.8 Activating transformation machine data via part program/softkey
Note
For a program interruption (Repos, delete distance to go, ASUPs etc.) to restart, several blocks
are also required in the control, which were already executed. That it is prohibited to change
machine data of an active transformation also refers to these blocks.
Example:
Two orientation transformations are set via machine data, e.g. MD24100
$MC_TRAFO_TYPE_1 = 16, MD24200 $MC_TRAFO_TYPE_2 = 18.
When executing "Activate machine data", it is assumed that the second transformation is
active. In this case, all machine data that relate only to the first transformation may be changed,
e.g.:
MD24500 $MC_TRAFO5_PART_OFFSET_1
but not, for instance:
MD24650 $MC_TRAFO5_BASE_TOOL_2
or
MD21110 $MC_X_AXIS_IN_OLD_X_Z_PLANE
Furthermore, another transformation (TRANSMIT) can be set, for example with MD24300
$MC_TRAFO_TYPE_3 = 256 and can be parameterized with additional machine data.
Transformations
Function Manual, 06/2019, A5E47435470B AA 127
M1: Kinematics transformation
2.8 Activating transformation machine data via part program/softkey
MD24100 $MC_TRAFO_TYPE_1 = 16
; orientation transformation 1: Orientation transformation data set
MD24200 $MC_TRAFO_TYPE_2 = 256 : Transmit transformations
MD24300 $MC_TRAFO_TYPE_3 = 18
; orientation transformation 2: Orientation transformation data set
The first data set for orientation transformations is assigned to the first transformation (at the
same time, the first orientation transformation) - and the second transformation data set to the
third transformation (at the same time, the the second orientation transformation).
If the third transformation is active when executing the "Activate machine data" function, then
it is not permissible to change the first transformation into a transformation of another group
(e.g. TRACYL) since, in this case, the third transformation would then not become the second
orientation transformation, but the first.
In the above example, however, it is permissible to set another orientation transformation for
the first transformation (e.g. using MD24100 $MC_TRAFO_TYPE_1 = 32) or a transformation
from another group as the first transformation (e.g. using $MD24100 $MC_TRAFO_TYPE_1 =
1024, TRAANG), if the second transformation is changed into an orientation transformation at
the same time, e.g. with MD24200 $MC_TRAFO_TYPE_2 = 48.
2.8.3 Control response to power ON, mode change, RESET, block search, REPOS
With the aid of the following machine data it is possible to select a transformation automatically
in response to RESET (i.e. at end of program as well) and/or on program start:
MD20110 $MC_RESET_MODE_MASK
MD20112 $MC_START_MODE_MASK
and
MD20140 $MC_TRAFO_RESET_VALUE
This may result in the generation of an alarm, for example, at the end or start of a program, if
the machine data of an active transformation has been altered.
To avoid this problem when re-configuring transformations via an NC program, we therefore
recommend that NC programs are structured as follows:
Transformations
128 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.8 Activating transformation machine data via part program/softkey
All transformations
Machine data which are relevant for all transformations:
● MD24100 $MC_TRAFO_TYPE_1 to MD24480 $MC_TRAFO_TYPE_10
● MD24110 $MC_TRAFO_AXES_IN_1 to MD24482 $MC_TRAFO_AXES_IN_10
● MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1 to
MD24484 $MC_TRAFO_GEOAX_ASSIGN_TAB_10
Orientation transformations
Machine data that are relevant for orientation transformations:
● MD24550 $MC_TRAFO5_BASE_TOOL_1 and
MD24650 $MC_TRAFO5_BASE_TOOL_2
● MD24558 $MC_TRAFO5_JOINT_OFFSET_1 and
MD24658 $MC_TRAFO5_JOINT_OFFSET_2
● MD24500 $MC_TRAFO5_PART_OFFSET_1 and
MD24600 $MC_TRAFO5_PART_OFFSET_2
● MD24510 $MC_TRAFO5_ROT_AX_OFFSET_1 and
MD24610 $MC_TRAFO5_ROT_AX_OFFSET_2
● MD24520 $MC_TRAFO5_ROT_SIGN_IS_PLUS_1 and
MD24620 $MC_TRAFO5_ROT_SIGN_IS_PLUS_2
● MD 24530: TRAFO5_NON_POLE_LIMIT_1 and
MD24630 $MC_TRAFO5_NON_POLE_LIMIT_2
● MD24540 $MC_TRAFO5_POLE_LIMIT_1 and
MD24640 $MC_TRAFO5_POLE_LIMIT_2
● MD24570 $MC_TRAFO5_AXIS1_1 and
MD24670 $MC_TRAFO5_AXIS1_2
● MD24572 $MC_RAFO5_AXIS2_1 and
MD24672 $MC_TRAFO5_AXIS2_2
● MD24574 $MC_TRAFO5_BASE_ORIENT_1 and
MD24674 $MC_TRAFO5_BASE_ORIENT_2
● MD24562 $MC_TRAFO5_TOOL_ROT_AX_OFFSET_1 and
MD24662 $MC_TRAFO5_TOOL_ROT_AX_OFFSET_2
● MD24564 $MC_TRAFO5_NUTATOR_AX_ANGLE_1 and
MD24664 $MC_TRAFO5_NUTATOR_AX_ANGLE_2
● MD24566 $MC_TRAFO5_NUTATOR_VIRT_ORIAX_1 and
MD24666 $MC_TRAFO5_NUTATOR_VIRT_ORIAX_2
Transformations
Function Manual, 06/2019, A5E47435470B AA 129
M1: Kinematics transformation
2.8 Activating transformation machine data via part program/softkey
Transmit transformations
Machine data that are relevant for transmit transformations:
● MD24920 $MC_TRANSMIT_BASE_TOOL_1 and
MD24970 $MC_TRANSMIT_BASE_TOOL_2
● MD24900 $MC_TRANSMIT_ROT_AX_OFFSET_1 and
MD24950 $MC_TRANSMIT_ROT_AX_OFFSET_2
● MD24910 $MC_TRANSMIT_ROT_SIGN_IS_PLUS_1 and
MD24960 $MC_TRANSMIT_ROT_SIGN_IS_PLUS_2
● MD24911 MC_RANSMIT_POLE_SIDE_FIX_1 and
MD24961 $MC_TRANSMIT_POLE_SIDE_FIX_2
Tracyl transformations
Machine data that are relevant for Tracyl transformations:
● MD24820 $MC_TRACYL_BASE_TOOL_1 and
MD24870 $MC_TRACYL_BASE_TOOL_2
● MD24800 $MC_TRACYL_ROT_AX_OFFSET_1 and
MD24850 $MC_TRACYL_ROT_AX_OFFSET_2
● MD24810 $MC_TRACYL_ROT_SIGN_IS_PLUS_1 and
MD24870 $MC_TRACYL_ROT_SIGN_IS_PLUS_2
● MD24808 $MC_TRACYL_DEFAULT_MODE_1 and
MD24858 $MC_TRACYL_DEFAULT_MODE_2
Chained transformations
Machine data that are relevant for chained transformations:
● MD24995 $MC_TRACON_CHAIN_1 and
MD24996 $MC_TRACON_CHAIN_2
● MD24997 $MC_TRACON_CHAIN_3 and
MD24998 $MC_TRACON_CHAIN_4
Transformations
130 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.8 Activating transformation machine data via part program/softkey
Persistent transformation
Machine data that are relevant for persistent transformations:
● MD20144 $MC_TRAFO_MODE_MASK
● MD20140 $MC_TRAFO_RESET_VALUE
● MD20110 $MC_RESET_MODE_MASK and
MD20112 $MC_START_MODE_MASK
Not transformation-specific
Machine data that are not transformation-specific. They are not uniquely assigned to a specific
transformation data set - or are also of significance outside an active transformation:
● MD21110 $MC_X_AXIS_IN_OLD_X_Z_PLANE
● MD21090 $MC_ MAX_LEAD_ANGLE
● MD21092 $MC_ MAX_TILT_ANGLE
● MD21100 $MC_ORIENTATION_IS_EULER
2.8.5 Example
It would be permissible in the following example to reconfigure (write) a machine data affecting
the second transformation (e.g. MD24650 $MC_TRAFO5_BASE_TOOL_2[2]) in block N90,
since writing a machine data alone does not activate it. However, if the program remained
otherwise unchanged, an alarm would occur in block N130, because an attempt would then be
made to modify an active transformation.
Example program:
Transformations
Function Manual, 06/2019, A5E47435470B AA 131
M1: Kinematics transformation
2.9 Data lists
2.9.1.1 TRANSMIT
Transformations
132 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.9 Data lists
2.9.1.2 TRACYL
Transformations
Function Manual, 06/2019, A5E47435470B AA 133
M1: Kinematics transformation
2.9 Data lists
Transformations
134 Function Manual, 06/2019, A5E47435470B AA
M1: Kinematics transformation
2.9 Data lists
2.9.1.3 TRAANG
Transformations
Function Manual, 06/2019, A5E47435470B AA 135
M1: Kinematics transformation
2.9 Data lists
Transformations
136 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations 3
3.1 Brief description
Axis names
While a transformation is active, the channel, geometry and machine axis names within a
channel must be different.
● MD10000 $MN_AXCONF_MACHAX_NAME_TAB (machine axis name)
● MD20080 $MC_AXCONF_CHANAX_NAME_TAB (channel axis name)
● MD20060 $MC_AXCONF_GEOAX_NAME_TAB (geometry axis name)
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.
Transformations
Function Manual, 06/2019, A5E47435470B AA 137
F2: Multi-axis transformations
3.1 Brief description
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.
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.
Transformations
138 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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.
= =
=
< < =
%
%
;
;
; ;
Transformations
Function Manual, 06/2019, A5E47435470B AA 139
F2: Multi-axis transformations
3.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.
Transformations
140 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.1 Brief description
$
%
Transformations
Function Manual, 06/2019, A5E47435470B AA 141
F2: Multi-axis transformations
3.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)
$ಿ
& 7RROD[LV
Figure 3-4 Schematic diagram of a machine tool with universal milling head
Transformations
142 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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
Function
The "Cartesian manual travel" function allows the reference system for JOG motion to be
selected for one of the following coordinate systems (for both translation and orientation as):
● Basic coordinate system (BCS)
● Workpiece coordinate system (WCS)
● Tool coordinate system (TCS)
Transformations
Function Manual, 06/2019, A5E47435470B AA 143
F2: Multi-axis transformations
3.1 Brief description
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.
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.
Transformations
144 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.2 5-axis transformation
See also
Cartesian PTP travel (Page 97)
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.
Transformations
Function Manual, 06/2019, A5E47435470B AA 145
F2: Multi-axis transformations
3.2 5-axis transformation
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.
<
&
<
$ %
= =
<
& &
Figure 3-5 Machine types 5-axis transformation
Transformations
146 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.2 5-axis transformation
Machine types
Note
Transformations not in accordance with the conditions mentioned here are described in their
own sections
Transformation type
The transformation type that is dependent on the machine type is set in machine data:
Transformations
Function Manual, 06/2019, A5E47435470B AA 147
F2: Multi-axis transformations
3.2 5-axis transformation
Axis assignment
In the machine data, the axis assignment at the input of the 5-axis transformation defines which
axis will be mapped by the transformation to which channel axis:
MD24110 $MC_TRAFO_AXES_IN_<x> (axis assignment for transformation x)
where x = 1, 2, ... maximum number of transformations
Transformations
148 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.2 5-axis transformation
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):
● $MC_TRAFO5_PART_OFFSET_<x> (workpiece-oriented offset)
where x = 1, 2, ... maximum number of transformations in the channel
– Machine type 1:
Vector from machine reference point to table zero point (generally, the zero vector)
– Machine type 2:
Vector components from the last rotating joint of the table to the zero point of the table ①.
&
Figure 3-6 Machine data $MC_TRAFO5_PART_OFFSET_1 for machine type 2
Transformations
Function Manual, 06/2019, A5E47435470B AA 149
F2: Multi-axis transformations
3.2 5-axis transformation
Examples
&
$ MR $
&
WR WR
W W
PR PR
[ [
= SR SR
;
① Machine zero
② Zero point tool table
mo Position vector in MCS
po $MC_TRAFO5_PART_OFFSET_<x>[0 ..2]
x Vector of programmed position in BCS
t Tool correction vector
to $MC_TRAFO5_BASE_TOOL_<x>[0 .. 2]
jo MD24560 $MC_TRAFO5_JOINT_OFFSET_<x>[0 .. 2]
Figure 3-7 Schematic diagram of CA kinematics, moved tool
Transformations
150 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.2 5-axis transformation
WR
W
WR PR
W [
PR
%
= SR
& %
PR
& MR
;
① Machine zero
② Zero point tool table
mo Position vector in MCS
po $MC_TRAFO5_PART_OFFSET_<x>[0 ..2]
x Vector of programmed position in BCS
t Tool correction vector
to $MC_TRAFO5_BASE_TOOL_<x>[0 .. 2]
jo $MC_TRAFO5_JOINT_OFFSET_<x>[0 .. 2]
Figure 3-8 Schematic diagram of CB kinematics, moved workpiece
Transformations
Function Manual, 06/2019, A5E47435470B AA 151
F2: Multi-axis transformations
3.2 5-axis transformation
$ WR
W
WR
PR
W [
PR
SR
= SR
MR &
&
;
① Machine zero
② Zero point tool table
mo Position vector in MCS
po $MC_TRAFO5_PART_OFFSET_<x>[0 ..2]
x Vector of programmed position in BCS
t Tool correction vector
to $MC_TRAFO5_BASE_TOOL_<x>[0 .. 2]
jo $MC_TRAFO5_JOINT_OFFSET_<x>[0 .. 2]
Figure 3-9 Schematic diagram of AC kinematics, moved tool, moved workpiece, moved tool
<n> Meaning
0 1st rotary axis
1 2nd rotary axis
2 3rd rotary axis
<Val‐ Meaning
ue>
TRUE The sign is not inverted. The traversing direction is as defined in MD32100 $MA_AX_MO‐
TION_DIR.
FALS The sign is inverted.
E
Transformations
152 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.2 5-axis transformation
The machine data is not used to define that the direction of rotation of the rotary axis involved
is changed. Instead, it is specified as to whether the rotary axis, for traversing motion, rotates
in the positive traversing direction in the mathematical positive (counterclockwise) or negative
(clockwise) direction. The consequence when changing this machine data is therefore not a
change in the direction of rotation, but a change in the compensating motion in the linear axes.
However, if a direction vector, and therefore implicitly compensation motion is specified, then
the direction of rotation of the rotary axis involved changes.
This means that at a real machine, the machine data only has to be set to FALSE if, for
traversing motion in the positive traversing direction, the rotary axis rotates in the mathematical
positive direction (counterclockwise).
=
$
;
<
① Tool axis
Figure 3-10 Processing of workpieces with 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:
Transformations
Function Manual, 06/2019, A5E47435470B AA 153
F2: Multi-axis transformations
3.2 5-axis transformation
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.
The orientation is selected via NC language commands ORIWKS and ORIMKS.
Transformations
154 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.2 5-axis transformation
r
)
$
; %
<
)
Transformations
Function Manual, 06/2019, A5E47435470B AA 155
F2: Multi-axis transformations
3.2 5-axis transformation
r
r
r
; =
<
② Retraction
③ with ORIWKS (large circle)
④ Approach of area F2
⑤ With ORIMKS (linear interpolation between rotary axes)
Figure 3-12 Change in orientation while processing inclined edges
Transformations
156 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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:
Further information
Function Manual Tools, tool offset, orientable tool carriers
Transformations
Function Manual, 06/2019, A5E47435470B AA 157
F2: Multi-axis transformations
3.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 189)" or "Programming Manual, Production Planning).
Transformations
158 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.2 5-axis transformation
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
WKD[LV5$
0'0&B75$)2B121B32/(B/,0,7B
WKD[LV5$
Figure 3-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)
Transformations
Function Manual, 06/2019, A5E47435470B AA 159
F2: Multi-axis transformations
3.3 3-axis and 4-axis transformations
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".
Machine type swiveling/ Rotary axis orientation plane Transformation Tool orientation in
rotary parallel to type zero position
1 Tool X Y-Z 16 Z
Y X-Z 18
Z X-Y 20 Y
Z X-Y 21 X
any Any 24 1)
Any
2 workpiece X Y-Z 32, 33 Z
Y X-Z 34, 35
Any Any 40 1) Any
1) The rotary axis and the orientation plane can be set, so that the orientation does not change in a
plane, but on a tapered peripheral surface.
Axis assignments
The three linear 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.
Transformations
160 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.4 Transformation with swiveled linear axis
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 140)" 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.
● 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.
Transformations
Function Manual, 06/2019, A5E47435470B AA 161
F2: Multi-axis transformations
3.4 Transformation with swiveled linear axis
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"
$
%
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:
MD24100, ... MD25190 $MC_TRAFO_TYP_n = <type>, with n = 1, 2, 3, ...
Kinematics <type>
1st rotary axis 2nd 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
Transformations
162 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.4 Transformation with swiveled linear axis
Kinematics <type>
1st rotary axis 2nd rotary axis swiveled linear axis Bits 6 - 0
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
Note
Requirement
The machine has been traversed so that the tool holding flange aligns with the table zero (*).
Is this is technically not possible, vector to must be corrected by the deviations.
Transformations
Function Manual, 06/2019, A5E47435470B AA 163
F2: Multi-axis transformations
3.4 Transformation with swiveled linear axis
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
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.
Transformations
164 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.4 Transformation with swiveled linear axis
$
%
=
;
<
WR
SR
MR
UR] UR
① Stand
② Fixture
③ Axis of the tool
Figure 3-17 Front view: Vectors for machine in the zero position
Transformations
Function Manual, 06/2019, A5E47435470B AA 165
F2: Multi-axis transformations
3.4 Transformation with swiveled linear axis
<
WR
SR
=
MR UR
MR[
MR\
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 170)".
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 153)").
Transformations
166 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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 145)". 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.
$ಿ
$ಿ
= =
Transformations
Function Manual, 06/2019, A5E47435470B AA 167
F2: Multi-axis transformations
3.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
&
ϕ
=
$
;
<
Transformations
168 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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.
3.5.2 Parameterization
Transformations
Function Manual, 06/2019, A5E47435470B AA 169
F2: Multi-axis transformations
3.6 Programming of the 3- to 5-axis transformation
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.
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:
Transformations
170 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.6 Programming of the 3- to 5-axis transformation
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.
Further information
A detailed description of the machine data can be found in:
Parameter Manual, Detailed Machine Data Description
See also
Dynamic orientation transformation TRAORI_DYN (Page 258)
Transformations
Function Manual, 06/2019, A5E47435470B AA 171
F2: Multi-axis transformations
3.7 Generic 5-axis transformation and variants
3.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 145)") 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 167)").
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.
Transformations
172 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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 147)"):
$MC_TRAFO_TYPE_1, ..., _8
Additional types have been introduced for generic 5-axis transformation:
Table 3-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
Transformations
Function Manual, 06/2019, A5E47435470B AA 173
F2: Multi-axis transformations
3.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.
Transformations
174 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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:
Further information
Function Manual Tools, tool offset, orientable tool carriers
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 1st rotary axis) or
MD24670 $MC_TRAFO5_AXIS1_2[n] (direction 1st 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.
Transformations
Function Manual, 06/2019, A5E47435470B AA 175
F2: Multi-axis transformations
3.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
Transformations
176 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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 NEWCONF. Alternatively, the machine data concerned for
transformation type 72 can be activated via the HMI user interface.
Transformations
Function Manual, 06/2019, A5E47435470B AA 177
F2: Multi-axis transformations
3.7 Generic 5-axis transformation and variants
Transformations
178 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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.
Transformations
Function Manual, 06/2019, A5E47435470B AA 179
F2: Multi-axis transformations
3.7 Generic 5-axis transformation and variants
<Transformation type> 24 1) 40 1) 56 2) 57 3)
Machine type 1 2 3 4
Tool orientation 3 rotary axes --- 2 rotary axes 1 rotary axis
Workpieceorientation --- 3 rotary axes 1 rotary axis 2 rotary axes
1)
The first rotary axis of the transformation is the rotary axis that in the kinematic chain is located next
for the workpiece.
The third rotary axis of the transformation is the rotary axis that in the kinematic chain is located next
for the tool.
When the second rotary axis traverses, then the third rotary axis is also moved.
2)
The second rotary axis of the transformation is the rotary axis that in the kinematic chain is located next
for the workpiece.
The third rotary axis of the transformation is the rotary axis that in the kinematic chain is located next
for the tool.
When the first rotary axis traverses, then the third rotary axis is also moved.
3)
The first rotary axis of the transformation is the rotary axis that in the kinematic chain is located next
for the tool.
The third rotary axis of the transformation is the rotary axis that in the kinematic chain is located next
for the workpiece.
When the second rotary axis traverses, then the third rotary axis is also moved.
Note
Using transformation types 24, 40, 56 and 57, only those kinematics are formed, where the
three linear axes of the transformation form a right-handed Cartesian coordinate system - and,
there is no rotary axis between the linear axes in the kinematic chain.
Transformations
180 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.7 Generic 5-axis transformation and variants
Parameter assignment: Offset vector between the second and third rotary axes
The offset vector between the second and third rotary axes is set in:
$MC_TRAFO6_JOINT_OFFSET_2_3_<x>[ 0 ... 2 ] = <component of the offset vector>
Orientation
With the extension of the generic orientation transformation to six 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. The axis direction of the third axis
defines the orientation.
Two degrees of freedom are required to specify this axis direction. The third degree of freedom
is defined via a rotation around this axis direction, e.g. by specifying an angle THETA or a
direction vector for one of the two other axes of the coordinate system (see Chapter "Rotations
of orientation vector (Page 223)").
Addresses AN3, BN3, CN3 define the direction of the second axis of the coordinate system, i.e.
the orientation normal vector. The orientation normal vector, programmed with addresses AN3,
BN3, CN3, should be perpendicular to the orientation. If this is not the case, then the
programmed orientation normal vector is internally modified to achieve this. Then, the modified
orientation normal vector lies in the plane formed by the programmed orientation and
orientation normal vector - and is perpendicular to the orientation vector. This orthogonalization
is only possible if the two programmed vectors are neither parallel nor antiparallel. Alarm 4342
is output if this condition is not satisfied.
Orientation vector
Vector components (x,y,z) of the orientation vector of a tool can be defined in the tool data using
$TC_DPV or $TC_DPV3 - $TC_DPV5.
Further information: Function Manual Tools; Tool offsets, sum and setup offsets
Transformations
Function Manual, 06/2019, A5E47435470B AA 181
F2: Multi-axis transformations
3.7 Generic 5-axis transformation and variants
See also
Example of a generic 6-axis transformation (Page 245)
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.
Transformations
182 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.7 Generic 5-axis transformation and variants
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
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.
Transformations
Function Manual, 06/2019, A5E47435470B AA 183
F2: Multi-axis transformations
3.7 Generic 5-axis transformation and variants
Note
The 7-axis transformation also covers kinematics in which the 6th axis is not available. In the
following, 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.
The extensions of the following machine data are required to configure a generic 7-axis
transformation:
Transformations
184 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.7 Generic 5-axis transformation and variants
MR $
MR
&
&
PR
WR
SR
=HURSRLQWWRRO (
WDEOH
0DFKLQH]HUR
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 command.
– The position of the 7th axis does not influence the programmed orientation.
– The programmed end orientation is rotated with the 7th axis.
Transformations
Function Manual, 06/2019, A5E47435470B AA 185
F2: Multi-axis transformations
3.7 Generic 5-axis transformation and variants
Orientation
1. Orientation with axis interpolation
If the 7th axis should have no influence on the programmed orientation, the G commands
of groups 25 and 51 must be set accordingly:
G group 25: ORIMKS
G 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 are 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
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.
Transformations
186 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.7 Generic 5-axis transformation and variants
Note
Option
The "Handling transformation package" option is necessary for the function.
Functionality
With function "Cartesian manual travel", the following Cartesian coordinate system can be set
for traversing geometry and orientation axis in the JOG mode:
● Basic coordinate system (BCS)
● Workpiece coordinate system (WCS)
● Tool coordinate system (TCS)
Traversing motion of linear and rotary axes is realized via the NC/PLC interface signals of the
geometry and/or orientation axes.
Note
For further information about the representation of the translations for the Cartesian manual
travel in the corresponding coordinate systems, see:
Further information
M1: Kinematics transformation (Page 19)
Coordinate systems
The following machine data not only activates the function, but also sets the permitted
coordinate systems, which can be toggled between.
MD21106 $MC_CART_JOG_SYSTEM, bit n = <value>
Transformations
Function Manual, 06/2019, A5E47435470B AA 187
F2: Multi-axis transformations
3.8 Restrictions for kinematics and interpolation
Value Meaning
0 The virtual kinematics are defined using transformation
1 Rotation with Euler angles: Rotation sequence, ZX'Z'' convention:
2 Rotation with Euler angles: XY'Z'' convention (RPY angle)
3 Rotation with Euler angles: Rotation sequence ZY'X'' convention (RPY angles)
4 Defining the rotation sequence using: MD21120 $MC_ORIAX_TURN_TAB_1
5 Defining the rotation sequence using: MD21130 $MC_ORIAX_TURN_TAB_2
For further explanations regarding orientation motion (see Chapter "Orientation (Page 191)"
and "Orientation axes (Page 212)").
Note
For further information on programming the rotations, see:
Further information
Programming Manual Advanced; 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.
Transformations
188 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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 219)").
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:
Further information
Programming Manual Advanced; Transformations, Cartesian PTP travel
Transformations
Function Manual, 06/2019, A5E47435470B AA 189
F2: Multi-axis transformations
3.8 Restrictions for kinematics and interpolation
7ROHUDQFHFLUFOH &RQVWDQW
3ROH 3RVLWLRQRIWKH
QGURWDU\D[LV
6WDUWSRLQW
3URJUDP
PHG
(QGSRLQW
3DWK
UHDFKHG
(QGSRLQW
&RQVWDQW
3RVLWLRQRIWKH
VWURWDU\D[LV
Figure 3-22 Generic 5-axis transformation; end point of orientation inside tolerance circle.
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.
Transformations
190 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.9 Orientation
3.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.
Transformations
Function Manual, 06/2019, A5E47435470B AA 191
F2: Multi-axis transformations
3.9 Orientation
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.
Transformations
192 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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 "Example of generic 5-axis transformation (Page 243)".
Transformations
Function Manual, 06/2019, A5E47435470B AA 193
F2: Multi-axis transformations
3.9 Orientation
Function
Using compressor functions COMPON, COMPCURV, COMPCAD and COMPSURF, NC
programs, in which the orientation is programmed using direction vectors, can be compressed,
but still maintaining a specifiable tolerance.
Requirement
An orientation motion is only compressed under the following conditions:
● Orientation transformation (TRAORI) is active.
● Large-radius circular interpolation is active.
I.e. tool orientation is changed in the plane that is determined by start and end orientation.
Large-radius circular interpolation is performed under the following conditions:
– MD21104 $MC_ORI_IPO_WITH_G_CODE = 0
+ ORIWKS is active.
+ orientation is programmed using vectors (with A3, B3, C3 or A2, B2, C2).
– MD21104 $MC_ORI_IPO_WITH_G_CODE = 1
+ ORIVECT or ORIPLANE is active.
The tool orientation can be programmed either as a direction vector or with rotary axis
positions. Large-radius circular interpolation is not executed if G command ORICONxx
or ORICURVE is active or if polynomials for orientation angle (PO[PHI] and PO[PSI]) are
programmed.
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 programmed path, the compressor generates a spline curve such that, for the axes
involved, the maximum tolerance set with the machine data is complied with in the endpoints:
MD33100 $MA_COMPRESS_POS_TOL = <maximum deviation with compression>
Transformations
194 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.9 Orientation
Contour accuracy
The maximum deviation from the programmed contour and tool orientation permitted during
compression is set with the following setting data:
● SD42475 $SC_COMPRESS_CONTUR_TOL = <maximum contour deviation>
● SD42476 $SC_COMPRESS_ORI_TOL = <maximum angular deviation of the tool
orientation>
Only effective with orientation transformation.
● SD42477 $SC_COMPRESS_ORI_ROT_TOL = <maximum angular deviation of the tool
orientation>
Only effective with orientation transformation in conjunction with 6-axis transformation.
Note
A maximum deviation of tool orientation can only be specified if an orientation transformation
is active (TRAORI).
Compression mode
With the machine data, the following decimal-coded functions are parameterized:
● Units digit: Taking into account tolerances
● Tens digit: Compression of blocks with programmed tool orientation and / or value
assignments.
● Hundreds digit: Compression of blocks, except linear blocks (G1).
● Thousands digit: Compression for specific applications.
MD20482 $MC_COMPRESSOR_MODE = <value>
Val‐ Meaning
ue
Units digit
(Effective tolerance specifications)
xxx0 Geometry and orientation axes MD33100 $MA_COMPRESS_POS_TOL
xxx1 Geometry axes SD42475 $SC_COMPRESS_CONTUR_TOL
Orientation axes MD33100 $MA_COMPRESS_POS_TOL
xxx2 Geometry axes MD33100 $MA_COMPRESS_POS_TOL
Orientation axes SD42476 $SC_COMPRESS_ORI_TOL
SD42477 $SC_COMPRESS_ORI_ROT_TOL
xxx3 Geometry axes SD42475 $SC_COMPRESS_CONTUR_TOL
Orientation axes SD42476 $SC_COMPRESS_ORI_TOL
SD42477 $SC_COMPRESS_ORI_ROT_TOL
Tens digit
(Compression of blocks with programmed tool orientation and / or value assignments)
xx0x Blocks with programmed tool orientation and/or value assignments are compressed.
xx1x Blocks with programmed tool orientation are compressed.
Blocks with value assignments are not compressed.
Transformations
Function Manual, 06/2019, A5E47435470B AA 195
F2: Multi-axis transformations
3.9 Orientation
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 vector 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. I.e., an angle of rotation must not be programmed with a polynomial
PO[THT]=(...).
Transformations
196 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.9 Orientation
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
Transformations
Function Manual, 06/2019, A5E47435470B AA 197
F2: Multi-axis transformations
3.9 Orientation
Further information
Function Manual Basic Functions; Continuous-path mode, exact stop, LookAhead >
Compressor functions
3.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.
3.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.
Transformations
198 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.9 Orientation
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.
Transformations
Function Manual, 06/2019, A5E47435470B AA 199
F2: Multi-axis transformations
3.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
Transformations
200 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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
(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, cannot 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.
Transformations
Function Manual, 06/2019, A5E47435470B AA 201
F2: Multi-axis transformations
3.9 Orientation
● Hundred digit: Activation and definition of the direction of the lift motion for reorientation
during an active ORIPATH
● Thousands digit: Behavior of the path-relative orientation in the activation/deactivation
blocks of the tool offset
MD21094 $MC_ORIPATH_MODE = <value>
Val‐ Meaning
ue
Units digit
(Orientation relative to the path)
xxx0 The tool orientation only has the reference to the path tangent and to the surface normal vector
programmed with LEAD and TILT, at the end of the block. During the block, the orientation does
not follow the path tangent.
xxx1 In the complete block, the tool orientation has the reference to the path tangent and surface
normal vector programmed with LEAD and TILT.
Tens digit
(Interpretation of the angles of rotation LEAD and TILT)
For path-relative orientation, the coordinate system is formed by the vectors path tangent T and pro‐
grammed surface normal vector N.
Note 1: Programming the surface normal vector N
● at the block start: A4=… B4=… C4=…
● at the block end: A5=… B5=… C5=…
xx0x )1 1st rotation LEAD: Rotation of the orientation vector O around the
2
path normal vector BN ⇒ O'
$'
/( 2nd rotation TILT: Rotation of the new orientation vector O'
around the surface normal vector FN ⇒ O''
2
2
7&3
%1
%7
7,/7
%
xx1x )
1
1st rotation LEAD: Rotation of the orientation vector O around
the path normal vector BN ⇒ O'
2
$' 7
,/7 2nd rotation TILT: Rotation of the new orientation vector O'
/(
around the path tangent vector BT ⇒ O''
2
2
7&3
%
%7 1
Transformations
202 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.9 Orientation
xx2x )
1 1st rotation LEAD: Rotation of the orientation vector O and the
2 path tangent vector BT around the path normal vector BN ⇒ O'
( $'
2 / and B'T
7,/
7 2nd rotation TILT: Rotation of the new orientation vector O'
2 around the new path tangent vector B'T ⇒ O''
7&3
1
/(
$'
%
7
% %
7
xx3x )
1 1st rotation TILT: Rotation of the new orientation vector O
'
2
7
around the path tangent vector BT ⇒ O'
$
/( ,/
7
2nd rotation LEAD: Rotation of the new orientation vector O'
2 around the path normal vector BN ⇒ O"
2
7&3
% %
7 1
xx4x )
1
7,/7 1st rotation TILT: Rotation of the orientation vector O and the
2 path normal vector BN around the path tangent vector BT ⇒ O'
$'
2 and B'N
/(
2nd rotation LEAD: Rotation of the new orientation vector O'
2
around the new path normal vector B'N ⇒ O"
7&3
% %
7 7 1
,/
7
% %1
Hundreds digit
(Activation and definition of the direction of the lift motion for reorientation during an active ORIPATH)
Note
A programmed retraction/lift motion is only executed, for:
● Once digit == 1 AND
● Length of the lift vector ≠ 0.0
x0xx No lift motion is executed.
x1xx Lift motion is executed in the direction of the programmed lift vector in the toolcoordinate system.
The lift vector refers to the coordinate system defined by the actual tool direction (z coordinate)
and the orientation change (x coordinate).
x2xx Lift motion is executed in the direction of the programmed lift vector in the workpiececoordinate
system. The lift vector refers to the coordinate system that is defined by the active plane (z
coordinate is the surface normal vector of the active plane) and the orientation change (x coor‐
dinate).
Thousands digit
(Behavior of the path-relative orientation in the activation/deactivation blocks of the tool offset)
Transformations
Function Manual, 06/2019, A5E47435470B AA 203
F2: Multi-axis transformations
3.9 Orientation
0xxx The path-relative orientation is also maintained in activation or deactivation blocks of the tool
offset.
1xxx The path-relative orientation is not maintained in activation or deactivation blocks of the tool
offset.
Note
The tool orientation normally remains constant in the activation or deactivation blocks of the tool
offset. However, in these blocks it is permitted to program a tool orientation, which is then
traversed through in these blocks. However, programming the orientation in these blocks is only
possible with vectors; it is not permitted to program rotary axis positions.
Note
Naming convention
The rules defined by MD20080 $MC_AXCONF_CHANAX_NAME_TAB should be complied
with for axis identifiers.
Transformations
204 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.9 Orientation
Note
Naming convention
The rules defined by MD20080 $MC_AXCONF_CHANAX_NAME_TAB should be complied
with for axis identifiers.
Transformations
Function Manual, 06/2019, A5E47435470B AA 205
F2: Multi-axis transformations
3.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:
Further information
Programming Manual Production Planning
Type 1 polynomials
Orientation polynomials of type 1 are polynomials for angles
Transformations
206 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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.
THE‐ Rotation around the tool direction. This is only possible when the tool orientation has
TA: a total of 3 degrees of freedom (see Section "Extension of the generic transformation
to 6 axes (Page 179)").
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:
Transformations
Function Manual, 06/2019, A5E47435470B AA 207
F2: Multi-axis transformations
3.9 Orientation
The higher polynomial coefficients, which are zero, can be omitted when programming. For
example PO[PHI] = (a2) programs a parabola for the lead angle LEAD.
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:
Further information
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 angles are 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 if linear 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.
Transformations
208 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.9 Orientation
Alarms
An illegally programmed polynomial is signaled with the following alarms:
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.
Transformations
Function Manual, 06/2019, A5E47435470B AA 209
F2: Multi-axis transformations
3.9 Orientation
Orientation and rotation of the tool in the various coordinate systems (BCS, WCS, SZS)
Tool orientation
Transformations
210 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.9 Orientation
System variable
$P_TOOL_R[<i>,<j>] ; <i> =1, 2, 3 i-th component of the actual rotation vector in the NC
; <j> = 0, 1, 2 program in the coordinate system <j>
<j> = 0: BCS
<j> = 1: WCS
<j> = 2: SZS
$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 the
; <j> = 0, 1, 2 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>].
Transformations
Function Manual, 06/2019, A5E47435470B AA 211
F2: Multi-axis transformations
3.10 Orientation axes
Directions of rotation
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]
Transformations
212 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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 assign‐ n = channel axis [0..7]
ment for transformation)
to
MD24410 $MC_TRAFO5_AXES_IN_4[n] (axis assign‐
ment for transformation 4)
transformation [5..8]
MD24432 $MC_TRAFO5_AXES_IN_5[n] (axis assign‐ n = channel axis [0..7]
ment for transformation 5)
to
MD24462 MC_TRAFO5_AXES_IN_8[n] (axis assignment
for transformation 8)
Example
For orientation axes, see Chapter "Example for orientation axes (Page 240)".
Preconditions
Orientation axes can only be traversed in the jog operating mode when the following
preconditions are satisfied:
● The orientation axis must be defined as such, that is, a value must be set in the following
machine data:
MD24585 $MC_TRAFO5_ORIAX_ASSIGN_TAB (ORI/channel axis assignment
Transformation 1)
● A transformation must be active (TRAORI).
Transformations
Function Manual, 06/2019, A5E47435470B AA 213
F2: Multi-axis transformations
3.10 Orientation axes
Velocity
When orientation axes are traversed manually, the channel-specific feedrate override switch or
the rapid traverse override switch in rapid traverse override applies.
Normally, velocities when traversing in the jog mode have always been derived from the
machine axis velocities. However, for geometry and orientation axes, there is not necessarily
a direct assignment to a particular machine axis. This is the reason that dedicated machine data
exist for geometry axes and orientation axes, which allow velocities to be separately specified:
● MD21150 $MC_JOG_VELO_RAPID_ORI[n] (conventional rapid traverse for ORI axes)
● MD21155 $MC_JOG_VELO_ORI[n] (conventional ORI axis velocity)
● MD21160 $MC_JOG_VELO_RAPID_GEO[n] (conventional rapid traverse for GEO axes)
● MD21165 $MC_JOG_VELO_GEO[n] (conventional GEO axis velocity)
Acceleration
The acceleration for orientation axes is set in machine data:
MD21170 $MC_ACCEL_ORI[n] (acceleration for 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)
Transformations
214 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.10 Orientation axes
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 240)".
Interpolation type
The following machine data is used to specify which interpolation type is used:
MD21104 $MC_ORI_IPO_WITH_G_CODE (G command for orientation interpolation):
● ORIMKS or ORIWKS
● G 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 swiveled in the plane spanned by
the start and end vectors (large circle interpolation). With 6 transformation axes a
rotation around the orientation vector is executed in addition to the swivel movement.
With ORIVECT the orientation axes are always traversed on the shortest possible path.
Transformations
Function Manual, 06/2019, A5E47435470B AA 215
F2: Multi-axis transformations
3.10 Orientation axes
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.
n: Number of transformation n = 1 or 2
x, y, z Components of the vector for the basic orientation of the tool (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:
Further information
Programming Manual Advanced; Transformations
Transformations
216 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.10 Orientation axes
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.
Note
For more information about orientable toolholders, please see:
Further information
Function Manual Tools; Tool offset
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.
Transformations
Function Manual, 06/2019, A5E47435470B AA 217
F2: Multi-axis transformations
3.10 Orientation axes
Function
The positions of orientation axes can be displayed for the BCS and WCS display in a settable
modulo area. Whether the machine axes are linear or rotary is not relevant in this context. This
means that 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]
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 become effective with NEWCONF.
● 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
Transformations
218 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.11 Orientation vectors
Note
Further information about programming polynomial interpolation with POLY and on
interpolation of orientation vectors is given in:
Further information
Programming Manual; Advanced
A block with POLY is used to program polynomial interpolation. Whether the programmed
polynomials are then interpolated as polynomial, depends on whether the G command POLY
is active or not:
● The G command is not active: The programmed axis end points are traversed linearly.
● The G command is active: The programmed polynomials are interpolated as polynomials.
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 command 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".
Transformations
Function Manual, 06/2019, A5E47435470B AA 219
F2: Multi-axis transformations
3.11 Orientation vectors
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
Transformations
220 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.11 Orientation vectors
3+,
6WDUWYHFWRU
(QGYHFWRU
Figure 3-23 Rotation of the orientation vector in the plane between start and end vector
Transformations
Function Manual, 06/2019, A5E47435470B AA 221
F2: Multi-axis transformations
3.11 Orientation vectors
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 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.
Transformations
222 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.11 Orientation vectors
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:
Further information
Programming Manual; Advanced
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 the machine kinematics. Interpolation of the orientation vector
between the start and end values can also be modified by programming polynomials.
Transformations
Function Manual, 06/2019, A5E47435470B AA 223
F2: Multi-axis transformations
3.11 Orientation vectors
Transformations
224 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.11 Orientation vectors
The rotation vector is always perpendicular to the actual tool orientation and forms the angle
THETA in conjunction with the basic rotation vector.
Note
When configuring the machine, the direction in space 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 parameter interval 0 ... 1, this produces the following values for linear coefficients:
Activating rotation
A rotation of the orientation vector is programmed with identifier THETA. The following
programming options are available:
Transformations
Function Manual, 06/2019, A5E47435470B AA 225
F2: Multi-axis transformations
3.11 Orientation vectors
Supplementary 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 angle via A2, B2, C2
3. RPY angle 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.
A programmed orientation rotation is only interpolated if the machine kinematics allow rotation
of the tool orientation (e.g. 6-axis machines).
Transformations
226 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.11 Orientation vectors
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 3-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.
● 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.
Transformations
Function Manual, 06/2019, A5E47435470B AA 227
F2: Multi-axis transformations
3.11 Orientation vectors
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.
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.
Transformations
228 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.11 Orientation vectors
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.
Transformations
Function Manual, 06/2019, A5E47435470B AA 229
F2: Multi-axis transformations
3.11 Orientation vectors
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
command of group 51 through extended interpolation of the orientation vector, using the
following commands:
Transformations
230 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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.
Transformations
Function Manual, 06/2019, A5E47435470B AA 231
F2: Multi-axis transformations
3.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.
Further information
Function Manual Tools; Tool offset, orientable tool carriers
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.
Transformations
232 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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:
Further information
Programming Manual Advanced; Transformations
As long as online tool length offset is active, the VDI signal at the NC → 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
Transformations
Function Manual, 06/2019, A5E47435470B AA 233
F2: Multi-axis transformations
3.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 the JOG mode to PTP as long as a tool
length offset 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:
Transformations
234 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.13 Examples
Further information
List 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 processing 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.
3.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
Transformations
Function Manual, 06/2019, A5E47435470B AA 235
F2: Multi-axis transformations
3.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:
Transformations
236 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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
Transformations
Function Manual, 06/2019, A5E47435470B AA 237
F2: Multi-axis transformations
3.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.
Transformations
238 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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
Transformations
Function Manual, 06/2019, A5E47435470B AA 239
F2: Multi-axis transformations
3.13 Examples
CHANDATA(1)
M17
= =
= = $
<
&
%
& < <
%
$
<
;VWDUW
$ ;WDUJHW
;
% &
; ;
;
Figure 3-26 3 orientation axes for the 1st orientation transformation for kinematics with 6 transformed
axes
Example 2:
Transformations
240 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.13 Examples
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 3-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.
Further information
Programming Manual Advanced
Transformations
Function Manual, 06/2019, A5E47435470B AA 241
F2: Multi-axis transformations
3.13 Examples
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.
Transformations
242 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.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.
Transformations
Function Manual, 06/2019, A5E47435470B AA 243
F2: Multi-axis transformations
3.13 Examples
CHANDATA(1)
$MC_TRAFO_TYPE_1 = 24 ; General 5-axis transformation
; 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:
Transformations
244 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.13 Examples
Transformations
Function Manual, 06/2019, A5E47435470B AA 245
F2: Multi-axis transformations
3.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
Transformations
246 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.14 Data lists
Note
While traversing the quadrant in the example, only the 7th axis turns by 360 degrees. The
machine remains in the fixed position.
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.
Transformations
Function Manual, 06/2019, A5E47435470B AA 247
F2: Multi-axis transformations
3.14 Data lists
Transformations
248 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.14 Data lists
Transformations
Function Manual, 06/2019, A5E47435470B AA 249
F2: Multi-axis transformations
3.14 Data lists
Transformations
250 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.14 Data lists
Transformations
Function Manual, 06/2019, A5E47435470B AA 251
F2: Multi-axis transformations
3.14 Data lists
Transformations
252 Function Manual, 06/2019, A5E47435470B AA
F2: Multi-axis transformations
3.14 Data lists
Transformations
Function Manual, 06/2019, A5E47435470B AA 253
F2: Multi-axis transformations
3.14 Data lists
Transformations
254 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains 4
4.1 Function description
4.1.1 Characteristics
In this chapter, a description is provided as to how transformations are 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.
=HURSRLQWRIWKHWRRO
FRRUGLQDWHV\VWHP
7RROFKDLQ
=HURSRLQWRIWKH
ZRUNSLHFHFRRUGLQDWH
V\VWHP
:RUNSLHFHFKDLQ
=HURSRLQWRIWKHZRUOG
FRRUGLQDWHV\VWHP
Both kinematic chains are merged internally into a single kinematic chain, which, by definition,
begins at the workpiece reference point and ends at the tool reference point.
Transformations
Function Manual, 06/2019, A5E47435470B AA 255
K12 transformation definitions with kinematic chains
4.1 Function description
System variable
$NK_NAME Name of the current element
$NK_NEXT Name of the next element
$NK_PARALLEL Defines a parallel kinematic chain. As a result, the second chain can be defined parallel to
the first chain.
$NK_TYPE Defines the type of the element, e.g. AXIS_LIN, AXIS_ROT, OFFSET, ROT_CONST,
SWITCH
$NK_OFF_DIR Defines the rotation vector relative to the machine axis
$NK_AXIS Name of the machine axis
$NK_A_OFF Defines the work offset of the assigned machine axis.
Transformations
256 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.1 Function description
Defining transformation
The description of the machine kinematics with kinematic chains is not sufficient to completely
specify a kinematic transformation. The transformations can be completely defined via system
variables with the $NT_... prefix. The system variables available for the transformation are
divided into the following parts:
● System variables that are relevant for all transformations.
● System variables that are only relevant for specific transformations.
You can find a complete list under System variables for general transformation types
(Page 278). Among other things, the following general system variables are available:
An orientation transformation is defined, for example, via the elements displayed in the graphic.
Transformations
Function Manual, 06/2019, A5E47435470B AA 257
K12 transformation definitions with kinematic chains
4.1 Function description
&D[LV
17B527B$;B1$0(>PF@
%D[LV
17B527B$;B1$0(>PE@
;<=D[HV %DVHWRRORIIVHW
17B*(2B$;B1$0(>P[@ 17B7B&+$,1B/$67B(/(0
17B*(2B$;B1$0(>P\@
17B*(2B$;B1$0(>P]@
7RROUHIHUHQFHSRLQW
:RUNSLHFHUHIHUHQFH
SRLQW
7DEOHRIIVHW
17B3B&+$,1B/$67B(/(0
=HURSRLQWRIWKHZRUOG
FRRUGLQDWHV\VWHP
See also
Examples (Page 325)
5-axis transformation
Different versions are possible for the 5-axis transformation, see 5-axis transformation
(Page 145). Generally this transformation is comprised of up to 3 linear axes and up to 2 rotary
axes.
Transformations
258 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.1 Function description
Transformation Characteristics
3-axis transformation 2 translation axes (linear axes)
1 rotary axis
4-axis transformation 3 translation axes (linear axes)
1 rotary axis
Transformations
Function Manual, 06/2019, A5E47435470B AA 259
K12 transformation definitions with kinematic chains
4.1 Function description
Tool orientation
The tool orientation can be specified as vector. The system variables $NT_BASE_ORIENT or
$NT_BASE_ORIENT_NORMAL are available for this. The orientations come into effect if no
tool is selected. If the vectors are not explicitly defined, the default setting is (0, 0, 1).
● $NT_BASE_ORIENT[n, 0 ...2]; defines the basic tool orientation via a vector, as shown in
the following example:
– $NT_BASE_ORIENT[1, 0] = 1.0; component in X-direction
– $NT_BASE_ORIENT[1, 1] = 1.5; component in Y-direction
– $NT_BASE_ORIENT[1, 2] = 100; component in Z-direction
● $NT_BASE_ORIENT_NORMAL[n, 0 ...2] defines a vector which stands vertically on the
basic tool orientation for orientation transformations with three degrees of freedom. If the
vectors are not explicitly defined, the default setting is (0, 1, 0).
● $NT_IGNORE_TOOL_ORIENT[n]; if the system variable is set, the values from the system
variables $NT_BASE_ORIENT and $NT_BASE_ORIENT_NORMAL are also used when a
tool is active.
Transformations
260 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.1 Function description
Example of kinematics
The example schematically shows two-axis swivel head kinematics with the axis sequence CA,
as a spatial image and as a kinematic chain.
6ZLYHOKHDG
5RWDU\D[HV&DQG$
&
$
&
;<=D[HV
ZKHUH
;
<
=
7DEOHRIIVHW
= :RUNSLHFHUHIHUHQFH
= SRLQW
=HURSRLQWRIWKHZRUOG =HURSRLQWRIWKHZRUOG
:RUNSLHFHUHIHUHQFH
FRRUGLQDWHV\VWHP FRRUGLQDWHV\VWHP
SRLQW
Transformations
Function Manual, 06/2019, A5E47435470B AA 261
K12 transformation definitions with kinematic chains
4.1 Function description
&0
<
;
;0
$60
==
0
X, Y, Z Geometry axes
CM Machine axis; rotary axis
XM Machine axis; linear axis, perpendicular to rotary axis
ZN Machine axis; linear axis, parallel to rotary axis
ASM Machine axis; work spindle
Figure 4-4 TRANSMIT
Supplementary conditions
● There must be exactly one rotary axis (the polar axis), with its name in
$NT_ROT_AX_NAME[n,1].
● One to three entries for linear axes are possible in the system parameters
$NT_GEO_AX_NAME[n,i].
Transformations
262 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.1 Function description
Transformations
Function Manual, 06/2019, A5E47435470B AA 263
K12 transformation definitions with kinematic chains
4.1 Function description
are assigned to the geometry axes. The three binary numbers must correspond to the following
decimal numbers:
VALUE Meaning
0 Pole crossing
The tool center point path (linear axis) must cross the pole on a continuous path.
1 Rotation around the pole.
The tool center point path must be restricted to a positive traversing range of the linear axis
(in front of turning center).
2 Rotation around the pole.
The tool center point path must be restricted to a negative traversing range of the linear axis.
(behind turning center).
Transformations
264 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.1 Function description
Importing the rotary axis offset from the work offset upon selection of the transformation:
● 0 = Axial offset of the rotary axis is not taken into account.
● 1 = axial offset of the rotary axis is taken into account.
● 2 = Axial offset of the rotary axis is taken into account up to the SZS. SZS is the settable zero
system. The SZS frames contain transformed rotations around the rotary axis.
Transformations
Function Manual, 06/2019, A5E47435470B AA 265
K12 transformation definitions with kinematic chains
4.1 Function description
&
=
Figure 4-5 Cylinder surface transformation (TRACYL)
Supplementary conditions
● There must be exactly one rotary axis (the polar axis), with its name in
$NT_ROT_AX_NAME[n,1].
● There can be 1 to 3 entries for linear axes in the system parameters
$NT_GEO_AX_NAME[n,i].
Transformations
266 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.1 Function description
● If there are two linear axes, they do not have to be orthogonal to one another.
● If there are three linear axes, two axes must be orthogonal to one another. A third axis can
be at an oblique angle to one of the other two axes. There can only be one axis pair in which
the angle of the two axes is not equal to 90°. An oblique axis cannot be positioned
perpendicularly on another axis.
Transformations
Function Manual, 06/2019, A5E47435470B AA 267
K12 transformation definitions with kinematic chains
4.1 Function description
Transformations
268 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.1 Function description
80
==0
0 &0
$60
① Grinding disk
② Workpiece
X Geometry axis
Z Geometry axis
ZM Machine axis
UM Machine axis
α Angle of inclined axis
CM Machine axis (spindle)
ASM Machine axis (tailstock)
Figure 4-6 Inclined axis
Transformations
Function Manual, 06/2019, A5E47435470B AA 269
K12 transformation definitions with kinematic chains
4.1 Function description
Reference
Information on orientable tool carriers via kinematic chains can be found in the "Basic
Functions" Function Manual in section "Tool offset" under "Orientable tool carriers".
See also
Dynamic orientation transformation TRAORI_DYN (Page 258)
Transformations
270 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.1 Function description
Transformation type "TRACON_K" (Page 281) is used in combination with kinematic chains in
order to chain an "Open Architecture (OA)" transformation with one of the standard
transformations. More detailed information is provided in the "Open Architecture (OA)"
documentation.
Further information
An exhaustive description of the chaining of transformations without kinematic chains can be
found in Chained transformations.
See also
$NT_TRACON_CHAIN (Page 316)
Chained transformations (Page 81)
Persistent transformation
A persistent transformation is a transformation which is retained even when another (different)
transformation is switched off with TRAFOOF. This transformation is identical to the
transformation that is in effect during the reset (Page 271).
If a different transformation is selected, the persistent transformation is replaced by the newly
selected transformation. The newly selected transformation is NOT concatenated with the
persistent transformation.
Transformations
Function Manual, 06/2019, A5E47435470B AA 271
K12 transformation definitions with kinematic chains
4.1 Function description
Conventional transformations
Conventional transformations are understood to mean transformations that are defined via
machine data. These transformation definitions remain valid and can be used without
restrictions.
The variant available as of V4.8. SP2 also allows kinematic transformations to be defined via
kinematic chains and system variables.
Activating a transformation
The following functions are available for the activation of kinematic transformations:
● Syntax for transformations via kinematic chains: TRAFOON (Page 317) (<name>)
● Syntax for conventional transformations: TRAORI(...), TRANSMIT(...), TRACYL(...),
TRAANG(...).
Transformations which have been defined via kinematic chains can be called via the syntax for
conventional transformations.
To this end, the transformation that is to be called must be defined via the system variable
$NT_TRAFO_INDEX (Page 280).
Transformations
272 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.1 Function description
Orientation transformations
For orientation transformations, which are parameterized with kinematic chains, the content of
the system variable $P_TRAFO is defined for compatibility reasons.
With an active orientation transformation, $P_TRAFO provides the values that would be
contained in the machine data $MC_TRAFO_TYPE_x for the conventional parameterization of
a corresponding transformation, i.e. the value 24 for "tool" kinematics, the value 40 for
"workpiece" kinematics, and either the value 56 or 57 for mixed kinematics.
The value 57 can only occur with 6-axis transformations if the tool chain contains one
orientation axis and the workpiece chain contains two orientation axes.
Transformations
Function Manual, 06/2019, A5E47435470B AA 273
K12 transformation definitions with kinematic chains
4.2 Commissioning
Tool lengths
If the portion of the kinematic chain that leads to the tool is part of the tool, then the tool
reference point and the tool reference position that was set via $NT_T_REF_ELEM are no
longer identical.
The following applies to the NC functions, GETTCORR, SETTCORR and LENTOAX, for which
the tool reference point is important:
The portion of the kinematic chain that lies between the tool reference position and the tool
reference point is handled like an orientable tool carrier, which has been defined via machine
data.
4.2 Commissioning
4.2.1 General
4.2.1.1 Overview
The startup of the function "Transformations via kinematic chains" is done by means of:
● Machine data
– Specification of the quantity structure
– Specification of the first element in the kinematic chain
● System variables
– Definition of the transformation type
– Specification of the kinematic properties of an element
– Connection of the element to the kinematic chain
Transformations
274 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
General
The system variables to describe the elements of kinematic chains have the following
properties:
● The prefix for all of the system variables of the kinematic chain is $NT_, (N for NC, K for
transformation).
● 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 is reversed, index 1 → 1. Element,
index 2 → 2. Element, ... (n+1) → (n+1) element, with n = ($MN_MM_NUM_KIN_TRAFOS - 1)
All system variables of an element have the same index.
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
Transformations
Function Manual, 06/2019, A5E47435470B AA 275
K12 transformation definitions with kinematic chains
4.2 Commissioning
Transformations
276 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
Usage table
The following table shows which $NT data is relevant for the individual types of transformations.
Note
Changed data
Changed data (e.g. $NT_xxx or $NK_yyy) enter into effect in the NC program after NEWCONF or
after a RESET (program end).
Transformations
Function Manual, 06/2019, A5E47435470B AA 277
K12 transformation definitions with kinematic chains
4.2 Commissioning
4.2.4.1 Overview
Transformations
278 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.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().
Change system variable values
A change 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.
4.2.4.2 $NT_NAME
Function
The NC-wide unique name of the transformation dataset or transformation must be entered in
the system variable. The transformation is referenced via this name, e.g. upon activation with
TRAFOON. If the zero string ("") is entered as the name, the transformation is considered to be
undefined.
Syntax
$NT_NAME[<n>] = "<Name>"
Meaning
Transformations
Function Manual, 06/2019, A5E47435470B AA 279
K12 transformation definitions with kinematic chains
4.2 Commissioning
Example
The name "5-axis transformation C-B" is assigned to the first transformation with kinematic
chains:
4.2.4.3 $NT_TRAFO_INDEX
Function
To ensure that a transformation can also be called via the corresponding conventional
command, e.g. the orientation transformation via TRAORI, an NC-wide, unique identifier must
be entered in the system variable. The identifier identifies a transformation with kinematic
chains by means of the transformation type, transformation number and channel number to
which a transformation that is called conventionally with this identifier is diverted
(TRAORI(<identifier>, ...)). The identifier is decimally coded.
Syntax
$NT_TRAFO_INDEX[<n>] = <Id>
Meaning
Transformations
280 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
Example
The call of the first orientation transformation TRAORI(2) in the third channel should be
diverted to the second transformation with kinematic chains.
4.2.4.4 $NT_TRAFO_TYPE
Function
The designation of the transformation type must be entered in the system variable.
Syntax
$NT_TRAFO_TYPE[<n>] = "<TrafoType>"
Transformations
Function Manual, 06/2019, A5E47435470B AA 281
K12 transformation definitions with kinematic chains
4.2 Commissioning
Meaning
Example
The first transformation with kinematic chains describes a dynamic orientation transformation
with orientation axes:
4.2.4.5 $NT_T_CHAIN_FIRST_ELEM
Function
The kinematics of a transformation is described by a maximum of two kinematic subchains,
which begin in the respective root element, i.e. the first element of the kinematic chain that is
in effect. One subchain leads from the root element to the workpiece reference point
(see Definition of kinematic transformations (Page 256)). The other subchain leads to the tool
reference point. If the subchain does not start, as is usual, in the root element, the first element
of the active kinematic subchain can be defined for the tool chain and for the workpiece chain
using the system variables
Transformations
282 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
The name ($NT_NAME (Page 279)) of the element of the kinematic subchain that is currently
active, which defines the starting point of the subchain for the tool reference point, must be
entered in the system variable $NT_T_CHAIN_FIRST_ELEM.
Note
Pure tool kinematics
The first element only has to be defined in $NT_P_CHAIN_FIRST_ELEM in special
circumstances; otherwise the system variable can remain empty. In this case, the ROOT
element is used as the first element.
Syntax
$NT_T_CHAIN_FIRST_ELEM[<n>] = "<ElementName>"
Meaning
$NT_T_CHAIN_FIRST_ELE Name of the element that defines the starting point of the currently ac‐
M: tive kinematic chain for the tool reference point.
Data type: STRING
Default value: ""
Range of val‐ Element names of the currently active kinematic chain
ues:
<n>: System variable or transformation index
Data type: INT
Range of val‐ 1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
ues:
<ElementName>: Name of an element of the currently active kinematic chain
Data type: STRING
Example
For the first transformation, the name of the element of the kinematic subchain that defines the
starting point of the subchain for the workpiece reference point is "Baseoffset_2":
Transformations
Function Manual, 06/2019, A5E47435470B AA 283
K12 transformation definitions with kinematic chains
4.2 Commissioning
4.2.4.6 $NT_P_CHAIN_FIRST_ELEM
Function
The kinematics of a transformation is described by a maximum of two kinematic subchains,
which begin in the respective root element, i.e. the first element of the kinematic chain that is
in effect. One subchain leads from the root element to the tool reference point (see Definition
of kinematic transformations (Page 256)). The other subchain, which is described here, leads
to the workpiece reference point. If the subchain does not start, as is usual, in the root element,
the first element of the active kinematic subchain can be defined for the tool and workpiece
chain using the system variables.
The name ($NT_NAME (Page 279)) of the element of the kinematic chain that is currently in
effect, which defines the starting point of the subchain for the workpiece reference point, must
be entered in the system variable $NT_P_CHAIN_FIRST_ELEM.
Note
Pure workpiece kinematics
The first element only has to be defined in $NT_T_CHAIN_FIRST_ELEM in special
circumstances; otherwise the system variable can remain empty. In this case, the ROOT
element is used as the first element.
Syntax
$NT_P_CHAIN_FIRST_ELEM[<n>] = "<ElementName>"
Meaning
$NT_P_CHAIN_FIRST_ELE Name of the first element of the kinematic subchain that is currently
M: active defined at the endpoint of the tool reference point.
Data type: STRING
Default value: ""
Range of val‐ Element names of the currently active kinematic chain
ues:
<n>: System variable or transformation index
Data type: INT
Range of val‐ 1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
ues:
<ElementName>: Name of an element of the currently active kinematic chain
Data type: STRING
Transformations
284 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
Example
For the first transformation, the name of the element of the kinematic chain that defines the end
point of the subchain for the workpiece reference point is "TableOffset":
4.2.4.7 $NT_T_CHAIN_LAST_ELEM
Function
The kinematics of a transformation is described by a maximum of two kinematic subchains,
which begin in the respective root element, i.e. the first element of the kinematic chain that is
in effect. One subchain leads from the root element to the workpiece reference point
(see Definition of kinematic transformations (Page 256)). The other subchain, which is
described here, leads to the tool reference point.
The name ($NT_NAME (Page 279)) of the element of the kinematic chain that is currently in
effect, which defines the end point of the subchains for the tool reference point, must be entered
in the system variable $NT_T_CHAIN_LAST_ELEM.
Note
Pure tool kinematics
If, for pure tool kinematics, the kinematics of the transformation is completely described by the
subchain for the tool reference point, the parameterization of the system variable
$NT_T_CHAIN_LAST_ELEM is sufficient. The system variable for describing the subchain for
the workpiece reference point ($NT_P_CHAIN_LAST_ELEM) can remain blank.
Syntax
$NT_T_CHAIN_LAST_ELEM[<n>] = "<ElementName>"
Meaning
$NT_T_CHAIN_LAST_ELEM: Name of the element of the kinematic chain currently in effect, which
defines the end point for the tool reference point, starting from the root
element.
Data type: STRING
Default value: ""
Range of val‐ Element names of the currently active kinematic chain
ues:
Transformations
Function Manual, 06/2019, A5E47435470B AA 285
K12 transformation definitions with kinematic chains
4.2 Commissioning
Example
For the first transformation, the name of the element of the kinematic chain that defines the end
point of the subchain for the tool reference point is "Basetool":
4.2.4.8 $NT_P_CHAIN_LAST_ELEM
Function
The kinematics of a transformation is described by a maximum of two kinematic subchains,
which begin in the respective root element, i.e. the first element of the kinematic chain that is
in effect. One subchain leads from the root element to the tool reference point (see Definition
of kinematic transformations (Page 256)). The other subchain, which is described here, leads
to the workpiece reference point.
The name ($NT_NAME (Page 279)) of the element of the kinematic chain that is currently in
effect, which defines the end point of the subchains for the workpiece reference point, must be
entered in the system variable $NT_P_CHAIN_LAST_ELEM.
Note
Pure workpiece kinematics
If, for pure workpiece kinematics, the kinematics of the transformation is completely described
by the subchain for the workpiece reference point, the parameterization of the system variable
$NT_P_CHAIN_LAST_ELEM is sufficient. The system variable for describing the subchain for
the tool reference point ($NT_T_CHAIN_LAST_ELEM) can remain blank.
Syntax
$NT_P_CHAIN_LAST_ELEM[<n>] = "<ElementName>"
Transformations
286 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
Meaning
$NT_P_CHAIN_LAST_ELEM: Name of the element of the kinematic chain currently in effect, which
defines the end point for the workpiece reference point, starting from the
root element.
Data type: STRING
Default value: ""
Range of val‐ Element names of the currently active kinematic chain
ues:
<n>: System variable or transformation index
Data type: INT
Range of val‐ 1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
ues:
<ElementName>: Name of an element of the currently active kinematic chain
Data type: STRING
Example
For the first transformation, the name of the element of the kinematic chain that defines the end
point of the subchain for the workpiece reference point is "TableOffset":
4.2.4.9 $NT_T_REF_ELEM
Function
The name ($NT_NAME (Page 279)) of the element of the kinematic chain that is currently in
effect, which defines the tool reference position, i.e. the reference point for the tool length
calculation, must be entered in the system variable. The tool reference position is located at
the starting point of the kinematic element.
If no name of an element is entered in the system variable, the tool reference position is
identical to the tool reference point.
Syntax
$NT_T_REF_ELEM[<n>] = "<RefElementName>"
Transformations
Function Manual, 06/2019, A5E47435470B AA 287
K12 transformation definitions with kinematic chains
4.2 Commissioning
Meaning
$NT_T_REF_ELEM: Name of the element of the kinematic chain that is currently in effect,
which defines the tool reference position.
Data type: STRING
Default value: "" (tool reference position = tool reference point)
Value range: Element names of the currently active kinematic chain
<n>: System variable or transformation index
Data type: INT
Range of val‐ 1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
ues:
<RefElementName>: Name of an element of the currently active kinematic chain
Data type: STRING
Example
For the first transformation, the name of the element of the kinematic chain that is currently in
effect, which defines the tool reference position, is "ToolRefPoint":
4.2.4.10 $NT_GEO_AX_NAME
Function
A maximum of three names ($NT_NAME (Page 279)) of the elements of the kinematic chain
that is currently in effect, which define the geometry axes (linear axes) of the transformation
type (Page 256) to be parameterized, must be entered in the system variable. The geometry
axes carry out the linear compensating movements, which result from the kinematic
transformation.
Syntax
$NT_GEO_AX_NAME[<n>,<k>] = "<GeoAxElementName>"
Meaning
$NT_GEO_AX_NAME: Names of the elements of the kinematic chain currently in effect, which
define the geometry axes
Data type: STRING
Default value: ("", "", "")
Value range: Element names of the currently active kinematic chain
Transformations
288 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
Example
For the first transformation, the names of the elements of the kinematic chain currently in effect,
which define the geometry axes, are "X_AXIS", Y_AXIS" and "Z_AXIS", must be entered.
4.2.4.11 $NT_ROT_AX_NAME
Function
A maximum of three names ($NT_NAME (Page 279)) of the elements of the kinematic chain
that is currently in effect, which define the rotary axes of the transformation type (Page 256) to
be parameterized, must be entered in the system variable.
● Orientation transformation: The orientation axes A, B, C
● Face end (TRANSMIT) and cylinder surface transformation (TRACYL): The rotary axis,
which rotates the workpiece and, together with a linear axis, defines the polar coordinate
system.
Order of definitions
The maximum three rotary axes, beginning at Index 0, must be entered in the system variables
in the order in which they are defined in the kinematic chain that is currently in effect.
The kinematic chain must be run through as follows:
1. Starting point: Workpiece reference point
2. Elements of the chain
3. End point: Tool reference point
Transformations
Function Manual, 06/2019, A5E47435470B AA 289
K12 transformation definitions with kinematic chains
4.2 Commissioning
The elements that define the rotary axes must be seamlessly entered in the system variable
with their names, starting at Index 0.
Syntax
$NT_ROT_AX_NAME[<n>,<k>] = "<RotAxElementName>"
Meaning
$NT_ROT_AX_NAME: Names of the elements of the kinematic chain currently in effect, which
define the rotary axes
Data type: STRING
Default value: ("", "", "")
Value range: Element names of the currently active kinematic chain
<n>: System variable or transformation index
Data type: INT
Value range: 1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
<k>: Index for the elements that define the rotary axes
Data type: INT
Range of val‐ 0: 1st rotary axis in the definition sequence
ues: 1: 2nd rotary axis in the definition sequence
2: 3rd rotary axis in the definition sequence
<RotAxElementName>: Name of an element of the kinematic chain that is currently in effect,
which defines a rotary axis.
Data type: STRING
Example
For the first transformation, the names of the elements of the kinematic chain currently in effect,
which define the rotary axes, are "ROT_AXIS_1", ROT_AXIS_2" and "ROT_AXIS_3" must be
entered.
Transformations
290 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
4.2.4.12 $NT_ROT_AX_OFFSET
Function
System variable $NT_ROT_AX_OFFSET allows you to enter an angle offset for the rotary axes
of the active transformation.
● For TRAORI_K, these are the rotary axes 1, 2, and 3.
● For TRANSMIT_K and TRACYL_K it is rotary axis 1.
Supplementary conditions
● System variable $NT_ROT_AX_OFFSET for Transmit or Tracyl transformations without a
kinematic chain corresponds to machine data $MC_TRANSMIT_ROT_AX_OFFSET_n or
$MC_TRACYL_ROT_AX_OFFSET_n.
● System variable $NT_ROT_AX_OFFSET for orientation transformations without a kinematic
chain corresponds to machine data $MC_TRAFO5_ROT_AX_OFFSET_n.
Syntax
$NT_ROT_AX_OFFSET[<n,m>] = <offset_angle>
Meaning
Example
Provides the number of rotary axes for the subchain:
Transformations
Function Manual, 06/2019, A5E47435470B AA 291
K12 transformation definitions with kinematic chains
4.2 Commissioning
4.2.4.13 $NT_CLOSE_CHAIN_P
Function
The name ($NT_NAME (Page 279)) of the element of the currently active kinematic chain, at
the end of which the subchain for the workpiece reference point is closed if $NT_CNTRL, Bit 7
== 1, can be entered in the system variable.
If no name is entered in the system variable, the subchain is closed independently of
$NT_CNTRL, Bit 7, at the end of the last element (workpiece reference point).
Syntax
$NT_CLOSE_CHAIN_P[<n>] = "<ElementName>"
Meaning
$NT_CLOSE_CHAIN_P: Name of the element of the kinematic chain currently in effect, at the end
of which the subchain for the workpiece reference point is closed
Data type: STRING
Default value: ""
Value range: Element names of the currently active kinematic chain
<n>: System variable or transformation index
Data type: INT
Range of val‐ 1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
ues:
<ElementName>: Name of an element of the currently active kinematic chain
Data type: STRING
Example
For the first transformation, the name of the element of the kinematic chain, at the end of which
the part chain for the workpiece reference point is closed, is: "P_Offset_3"
See also
$NT_CNTRL (Page 298)
Transformations
292 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
4.2.4.14 $NT_CLOSE_CHAIN_T
Function
The name ($NT_NAME (Page 279)) of the element of the currently active kinematic chain, at
the end of which the subchain for the tool reference point is closed if $NT_CNTRL, Bit 8 == 1
($NT_CNTRL (Page 298)), can be entered in the system variable.
If no name is entered in the system variable, the subchain is closed independently of
$NT_CNTRL, Bit 8, at the end of the last element (tool reference point).
Syntax
$NT_CLOSE_CHAIN_T[<n>] = "<ElementName>"
Meaning
$NT_CLOSE_CHAIN_T: Name of the element of the kinematic chain currently in effect, at the end
of which the subchain for the tool reference point is closed
Data type: STRING
Default value: ""
Value range: Element names of the currently active kinematic chain
<n>: System variable or transformation index
Data type: INT
Range of val‐ 1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
ues:
<ElementName>: Name of an element of the currently active kinematic chain
Data type: STRING
Example
For the first transformation, the name of the element of the kinematic chain, at the end of which
the part chain for the tool reference point is closed, is: "T_Offset_3"
Transformations
Function Manual, 06/2019, A5E47435470B AA 293
K12 transformation definitions with kinematic chains
4.2 Commissioning
4.2.4.15 $NT_ROT_OFFSET_FROM_FRAME
Function
In the system variable $NT_ROT_OFFSET_FROM_FRAME it must be entered whether the
programmable offset for orientation axes will be automatically imported from the zero point
offset for the orientation axes, which becomes active upon switch-on of an orientation
transformation.
● TRAORI or TRAORY_DYN:
– If $NT_ROT_OFFSET_FROM_FRAME=1 the following applies:
The offsets for the orientation axes of the 5/6 axis transformation of the rotary axes, for
which the tool orientation is in the basic setting, are automatically defined. Thus, the
offset from an active work offset of the rotary axes, which is active as soon as the
transformation is switched on, is applied.
– If $NT_ROT_OFFSET_FROM_FRAME=0, then the following applies:
The offset of the orientation axes is only applied if the work offsets when switching on the
transformation are kept, i.e. MD10602 $MN_FRAME_GEOAX_CHANGE_MODE is > 0.
● TRACYL and/or TRANSMIT
– If $NT_ROT_OFFSET_FROM_FRAME=2, the following applies:
Axial offset of the rotary axis is taken into account up to the SZS. SZS is the settable zero
system. The SZS frames contain transformed rotations around the rotary axis.
Note
Automatic application of work offsets
Automatic application of the active work offsets to the offset is mainly only practical for the polar
axis in table kinematics. i.e. for example, in AC kinematics for the C axis. If the offset is changed
for another orientation axis, in particular, the non-polar axis, this changes the kinematic
behavior of the transformation. The can result in the compensatory movement of the linear axes
no longer being correct.
Syntax
$NT_ROT_OFFSET_FROM_FRAME[<n>] = "<ROTOffset>"
Meaning
$NT_ROT_OFFSET_FROM_FRAME: Importing the rotary axis offset from the work offset upon se‐
lection of the transformation:
● 0 = Axial offset of the rotary axis is not taken into account.
● 1 = axial offset of the rotary axis is taken into account.
● 2 = Axial offset of the rotary axis is taken into account up to
the SZS or is automatically applied (see above).
Data type: INT
Default value: 0
Transformations
294 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
Example
The 2nd transformation is assigned the name "B axis":
4.2.4.16 $NT_TRAFO_INCLUDES_TOOL
Function
Information about whether the tool length is to be handled within the transformation or outside
of the transformation must be entered in the system variable.
Syntax
$NT_TRAFO_INCLUDES_TOOL[<n>] = "<>"
Meaning
$NT_TRAFO_INCLUDES_TOOL: Defines whether the tool length is handled within or outside of the
transformation.
Data type: BOOL
● 0: Tool length is handled outside of the
transformation.
● 1: Tool length is handled within the transformation.
Default val‐ 0
ue:
<n>: System variable or transformation index
Data type: INT
Range of 1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
values:
Transformations
Function Manual, 06/2019, A5E47435470B AA 295
K12 transformation definitions with kinematic chains
4.2 Commissioning
Example
The 2nd transformation is assigned the name "B axis":
4.2.4.17 $NT_AUX_POS
Function
A position vector, e.g. for use in user-specific cycles, can be entered in the system variable. The
system variable is not evaluated in the NC. The values are, however, automatically
recalculated for an inch/metric switchover.
Syntax
$NT_AUX_POS[<n>,<k>] = <Value>
Meaning
Transformations
296 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
Example
A position vector (1.0, 1.0, 1.0) is entered for the first transformation:
4.2.4.18 $NT_IDENT
Function
Up to three user-specific numeric values, analogous to the system variable $TC_CARR37, can
be entered in the system variable as an identifier for the tool carrier or the current transformation
for program management. The system variable is not evaluated in the NC.
Syntax
$NT_IDENT[<n>,<k>] = <Value>
Meaning
Transformations
Function Manual, 06/2019, A5E47435470B AA 297
K12 transformation definitions with kinematic chains
4.2 Commissioning
Example
The following administration data is entered for the first transformation: (1000, 100, 0)
4.2.4.19 $NT_CNTRL
Function
With this system variable, the behavior of the transformation in specific situations can be
influenced using bit code.
Transformations
298 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
Transformations
Function Manual, 06/2019, A5E47435470B AA 299
K12 transformation definitions with kinematic chains
4.2 Commissioning
Syntax
$NT_CNTRL[<n>] = "<Value>"
Meaning
Transformations
300 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
Example
The third orientation axis of the first transformation is Hirth-coupled.
4.2.4.20 $NT_ROT_AX_CNT
Function
The system variable $NT_ROT_AX_CNT provides the number of the relevant rotary axes in the
workpiece or in the tool chain. The relevant rotary axes in this sense are the rotary axes that are
defined in the system variable $NT_ROT_AX_Name.
Syntax
$NT_ROT_AX_CNT[<n,m>] = <NumberRotAxes>
Meaning
$NT_ROT_AX_CN Number of relevant rotary axes of a transformation in the workpiece chain or tool
T: chain
Data type: INT
Default value: -1; content is not evaluated
<n>: System variable or transformation index
Data type: INT
Value range: 1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
<m>: Index of the variable $NT_ROT_AX_CNT; specifies which kinematic chain will be
selected.
Data type: INT
Value range ● 0; selects the workpiece chain
● 1; selects the tool chain
Example
Provides the number of rotary axes for the subchain:
Transformations
Function Manual, 06/2019, A5E47435470B AA 301
K12 transformation definitions with kinematic chains
4.2 Commissioning
4.2.4.21 $NT_BASE_TOOL_COMP
Function
Using bit-coded system variable $NT_BASE_TOOL_COMP, for each of the geometry axes you
can separately set whether for the base tool an offset is entered in transformation frame
$P_TRAFRAME. This means that when the transformation is selected, no change is made in
the WCS component.
This function is only available if system frame $P_TRAFRAME was configured using MD28082
$MC_MM_SYSTEM_FRAME_MASK bit6.
The system variable is only relevant for TRANSMIT and TRACYL.
Syntax
$NT_BASE_TOOL_COMP[<n>, <m>]
Meaning
Example
The 2nd transformation is assigned the name "B axis":
Transformations
302 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
4.2.5.1 Overview
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().
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.
4.2.5.2 $NT_BASE_ORIENT
Function
The rotation vector of the basic tool orientation must be entered in the system variable. The
basic tool orientation is in effect if no tool is selected.
Transformations
Function Manual, 06/2019, A5E47435470B AA 303
K12 transformation definitions with kinematic chains
4.2 Commissioning
Syntax
$NT_BASE_ORIENT[<n>,<k>] = <VectorComp>
Meaning
Example
The rotation vector of the basic tool orientation of the first transformation has the value (1.0, 2.0,
3.0):
4.2.5.3 $NT_BASE_ORIENT_NORMAL
Function
The normal vector of the basic tool orientation must be entered in the system variable. The
system variable or the normal vector of the basic tool orientation is only relevant for
transformations with three degrees of orientation freedom if no tool is selected.
Transformations
304 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
Syntax
$NT_BASE_ORIENT_NORMAL[<n>,<k>] = <VectorComp>
Example
The normal vector of the basic tool orientation of the first transformation has the value (2.0, -1.0,
3.0):
4.2.5.4 $NT_ROT_AX_POS
Function
The positions of the orientation axes, which result from the constant rotations which are
parameterized in elements of the kinematic chain of the type ROT_CONST, must be entered
in the system variable. The positions of the orientation axes that are effective due to this
element can thus be described without having to know the kinematic structure of the
transformation or the indices of the associated kinematic elements.
Syntax
$NT_ROT_AX_POS[<n>,<k>] = <OriAxPos>
Transformations
Function Manual, 06/2019, A5E47435470B AA 305
K12 transformation definitions with kinematic chains
4.2 Commissioning
Meaning
Example
The positions of the orientation axes, which result from the parameterized constant rotation,
are: (0, 0, 45.0°)
4.2.5.5 $NT_POLE_LIMIT
Function
The maximum permitted angle by which the C axis can deviate from its programmed position
during a large circle interpolation at the end of a block is entered in the system variable.
End angle
If a traversing movement is programmed that is not to pass exactly through the pole, but within
the area near to the pole defined by MD 24530 ($MC_TRAFO5_NON_POLE_LIMIT_n), the
movement will deviate from the specified path because the interpolation runs exactly through
the pole point. As a result, the position at the end point of the fourth axis (pole axis) deviates
from the programmed value.
A pole angle, which defines a tolerance circle about the pole, can be parameterized in the
Transformations
306 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
system variables. If a programmed tool path passes by the pole within the tolerance circle, a
switchover is made from orientation interpolation to linear/rotary axis interpolation.
&
( 6
˞
˖ (
① Pole
② Equatorial plane
③ Programmed path
④ Path traveled through the pole
⑤ End angle
A Rotary axis about the X coordinate axis of the WCS
C Rotary axis about the Z coordinate axis of the WCS
S Starting point of the interpolation / traversing block
E Approached end point
E' Programmed end point
α End angle
Ω Maximum permitted end angle ($NT_POLE_LIMIT)
Syntax
$NT_POLE_LIMIT[<n>] = <PoleTolAngle>
Meaning
Transformations
Function Manual, 06/2019, A5E47435470B AA 307
K12 transformation definitions with kinematic chains
4.2 Commissioning
Example
A pole angle of 2.54° is set for the first transformation:
4.2.5.6 $NT_POLE_LIMIT
Function
The maximum permitted angle by which the C axis can deviate from its programmed position
during a large circle interpolation at the end of a block is entered in the system variable.
End angle
In the 5-axis transformation, the two orientation axes of the tool span a spherical coordinate
system, consisting of meridians and parallels.
If a traversing movement is programmed that is not to pass exactly through the pole, but within
the area near to the pole defined by MD 24530 ($MC_TRAFO5_NON_POLE_LIMIT_n), the
movement will deviate from the specified path because the interpolation runs exactly through
the pole point. As a result, the position at the end point of the fourth axis (pole axis) deviates
from the programmed value.
The system variable specifies the angle by which the pole axis for the 5-axis transformation can
deviate from the programmed value if there is a switchover from the programmed interpolation
to the interpolation through the pole point.
If a large deviation results, an error message is displayed (Alarm 14112) and the interpolation
is not carried out.
For a conventional 5 or 6-axis interpolation, a pole position is identified by the fact that the tool
orientation does not change during a rotation of a rotary axis. If a programmed path then runs
in the vicinity of the pole, extremely high traversing speeds can result for individual rotary axes
to maintain the orientation. If the programmed path runs exactly through the pole, this problem
may not arise under certain circumstances.
Transformations
308 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
A pole angle, which defines a tolerance circle about the pole, can be parameterized in the
system variables. If a programmed tool path passes by the pole within the tolerance circle, a
switchover is made from orientation interpolation to linear/rotary axis interpolation.
&
( 6
˞
˖ (
① Pole
② Equatorial plane
③ Programmed path
④ Path traveled through the pole
⑤ End angle
A Rotary axis about the X coordinate axis of the WCS
C Rotary axis about the Z coordinate axis of the WCS
S Starting point of the interpolation / traversing block
E Approached end point
E' Programmed end point
α End angle
Ω Maximum permitted end angle ($NT_POLE_LIMIT)
Syntax
$NT_POLE_LIMIT[<n>] = <PoleTolAngle>
Meaning
Transformations
Function Manual, 06/2019, A5E47435470B AA 309
K12 transformation definitions with kinematic chains
4.2 Commissioning
Example
A pole angle of 2.54° is set for the first transformation:
4.2.5.7 $NT_POLE_TOL
Function
The end angle tolerance for interpolation through the pole for the first 5/6-axis transformation
must be entered in the system variable.
The system variable is only evaluated by the generic 5/6-axis transformation.
If the programmed end orientation lies within the polar cone and within the tolerance cone
specified by this MD, the pole axis does not move and retains its start positions. In contrast, the
other rotary axis accepts the programmed angle.
As a result, there is a deviation of the end orientation from the programmed orientation.
Another meaning of this system variable is the handling of the programmed end orientation for
non-perpendicular kinematics. As a rule, not all of the tool orientations can be set for these
machine kinematics. If an orientation that lies outside of the settable range is programmed,
alarm 14112 "Programmed orientation path not possible" is displayed.
Syntax
$NT_POLE_TOL[<n>] = <PoleTolLim>
Meaning
Transformations
310 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
<PoleTolLim>: Angle
Data type: REAL
Example
An end angle tolerance of 2.54° is defined for the first transformation:
4.2.5.8 $NT_IGNORE_TOOL_ORIENT
Function
Each tool that is known in the controller has a defined orientation. This tool orientation is
normally used as the basis for the calculations of the movements of the orientation axes. The
system variable can be used to define a situation in which, even with a tool active, it is not the
tool orientation, but the orientation parameterized in the system variables $NT_BASE_ORIENT
(Page 303) and $NT_BASE_ORIENT_NORMAL (Page 304) that is used for the calculations of
the movements of the orientation axes.
Syntax
$NT_IGNORE_TOOL_ORIENT[<n>] = <Value>
Meaning
Transformations
Function Manual, 06/2019, A5E47435470B AA 311
K12 transformation definitions with kinematic chains
4.2 Commissioning
Example
For the first transformation, the orientation parameterized in the system variables
$NT_BASE_ORIENT and $NT_BASE_ORIENT_NORMAL for calculating the movements of
the orientation axes is activated:
4.2.5.9 $NT_CORR_ELEM_T
Function
This system data is used to reference a maximum of 4 constant chain elements ($NK_NAME)
in the tool chain, which are provided for accepting offset values (linear offsets), as they are
determined in measurement cycles, for example. The offset values are calculated by the
function CORRTRAFO (Page 318). This is only important for orientation transformations.
There must always be an orientation axis in the kinematic chain between two of these elements.
This means that all 4 chain elements can only be occupied for 6-axis transformations in which
all 3 orientation axes are defined in the tool chain; whereas, for 5-axis transformations, for
example, this system data can only contain a maximum of three entries.
The entire kinematic chain, from the machine zero point (reference point of the kinematic chain)
to the tool holder, is divided into a maximum of 4 sections by the orientation axes. There can be
a maximum of one correction element in each of these sections. The correction element with
the index n must be located in the nth section (example: $NT_CORR_ELEM_T[k, 1] must refer
to a chain element between the first and second orientation axis of the tool chain).
Syntax
$NT_CORR_ELEM_T[<n>, <k>] = "<CORR_TElementName>"
Meaning
Transformations
312 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
Example
Defines an correction element in the tool chain that is used to include offset values.
4.2.5.10 $NT_CORR_ELEM_P
Function
This system data is used to reference a maximum of 4 constant chain elements ($NK_NAME)
in the part chain, which are provided for accepting offset values (linear offsets), as they are
determined in measurement cycles, for example. The offset values are calculated by the
function CORRTRAFO (Page 318). This is only important for orientation transformations.
There must always be an orientation axis in the kinematic chain between two of these elements.
This means that all 4 chain elements can only be occupied for 6-axis transformations in which
all 3 orientation axes are defined in the tool chain; whereas, for 5-axis transformations, for
example, this system data can only contain a maximum of three entries.
The entire kinematic chain, from the machine zero point (reference point of the kinematic chain)
to the workpiece center point (part), is divided into a maximum of 4 sections by the orientation
axes. There can be a maximum of one correction element in each of these sections. The
correction element with the index n must be located in the nth section (example:
$NT_CORR_ELEM_T[k, 1] must refer to a chain element between the first and second
orientation axis of the part chain).
Syntax
$NT_CORR_ELEM_P[<n>,<m>,<k>] = "<CORR_PElementName>"
Meaning
Transformations
Function Manual, 06/2019, A5E47435470B AA 313
K12 transformation definitions with kinematic chains
4.2 Commissioning
Example
Defines an correction element in the workpiece chain that is used to accept offset values.
4.2.6.1 Overview
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().
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.
Transformations
314 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.2 Commissioning
4.2.6.2 $NT_POLE_SIDE_FIX
Function
Using the system variable, the limitation of the work area must be set before and after the pole.
Syntax
$NT_POLE_SIDE_FIX[<n>] = <POLESIDEFIX>
Meaning
$NT_POLE_SIDE_FIX: Names of the elements of the kinematic chain currently in effect, which
define the rotary axes
Data type: INT
Default value: ""
Value range: Element names of the currently active kinematic
chain
<n>: System variable or transformation index
Data type: INT
Range of values: 1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS -
1)
<PoleSIDEFIX>: Limiting the work area:
● 0 = no limitation; traversing through the pole is allowed.
● 1 = work area of the linear axis for positions ≥ 0 (if tool length offset
is parallel to linear axis = 0).
● 2 = work area of the linear axis for positions ≤ 0 (if tool length offset
is parallel to linear axis = 0).
Data type: STRING
Example
For the first transformation, the names of the elements of the kinematic chain currently in effect,
which define the rotary axes, are "ROT_AXIS_1", ROT_AXIS_2" and "ROT_AXIS_3".
Transformations
Function Manual, 06/2019, A5E47435470B AA 315
K12 transformation definitions with kinematic chains
4.2 Commissioning
4.2.7.1 $NT_TRACON_CHAIN
Function
For chained transformations ($NT_TRAFO_TYPE[...] = "TRACON_K") with this system
variable, the names of the part transformations are specified in the order in which the
transformation of the BKS to the MKS is to be carried out.
Syntax
$NT_TRACON_CHAIN[<n>,<m>] = "<Name>"
Meaning
Example
Program code Comment
...
N2502 $NT_TRACON_CHAIN[2,0] = "Open Architecture Transformation" ; Partial transformation 1
N2503 $NT_TRACON_CHAIN[2,1] = "Inclined axis" ; Partial transformation 2
...
Transformations
316 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.3 Programming
4.3 Programming
Note
Alternatively, a transformation defined with kinematic chains can also be activated via
conventional NC commands, such as TRAORI or TRANSMIT. For this purpose, an appropriate
value, not equal to zero, must be entered in the $NT_TRAFO_INDEX system variable.
For further information on $NT_TRAFO_INDEX see "System Variables List Manual".
Syntax
TRAFOON(<Trafoname>,<Diameter>,<k>)
Meaning
Example
Program code Comment
TRAFOON["Trans_1"] Activates the transformation with the name Trans_1.
Transformations
Function Manual, 06/2019, A5E47435470B AA 317
K12 transformation definitions with kinematic chains
4.3 Programming
Note
The correction values written with the CORRTRAFO function are not immediately effective in
the transformation. The correction values do not become effective until after a transformation
deselection, NEWCONF and transformation selection.
Syntax
<Corr_Status> = CORRTRAFO(<Corr_Vect>, <Corr_Index>, <Corr_Mode>,
[ <No_Alarm>])
Transformations
318 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.3 Programming
Meaning
Transformations
Function Manual, 06/2019, A5E47435470B AA 319
K12 transformation definitions with kinematic chains
4.3 Programming
Transformations
320 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.3 Programming
Transformations
Function Manual, 06/2019, A5E47435470B AA 321
K12 transformation definitions with kinematic chains
4.3 Programming
Transformations
322 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.3 Programming
Note
In the event of an error when the function is called, either an alarm is output or an error number
returned (see <No_Alarm> parameter), so that the user can respond in a suitable way to the
error state. The cause of the error is described in more detail through an alarm parameter. An
error number returned instead of an alarm is identical to the alarm parameter.
See also
Angular deviation for rotation vectors for CORRTRAFO (Page 276)
Transformations
Function Manual, 06/2019, A5E47435470B AA 323
K12 transformation definitions with kinematic chains
4.3 Programming
Y˞
Y˞
=HURSRLQWRIWKHZRUOG
FRRUGLQDWHV\VWHP
The sections are clearly defined: If you run through the kinematic subchain from the starting
point to the end point, the first section has the index 0, the next the index 1, and so on. The index
of the last section is then always equal to the number of orientation axes.
Correction elements
A reference can be made to a constant kinematic chain element (chain element of the type
$NK_TYPE[<n>] = "OFFSET") in each section with the $NT_CORR_ELEM_T[<n>, 0 ... 3] or
$NT_CORR_ELEM_P[<n>, 0 ... 3] system variables. The correction values that were
determined during the machine measurement are written to these elements with the
CORRTRAFO function.
Closing a chain
If bit 7 or bit 8 are set in the $NT_CNTRL[<n>] system variable, additional constant chain
elements that establish a connection from the end point of the chain to the machine zero point
are automatically inserted internally at the end of the workpiece chain (bit 7) or before the
starting point of the tool chain (bit 8) ("close chain").
These automatically inserted elements cannot be written externally, only read (see the
$AC_TRAFO_CORR_ELEM_P/T system variables).
Transformations
324 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.4 Examples
4.4 Examples
General Information
An example of the basic procedure for parameterizing a transformation with a kinematic chain
via a part program is shown on the basis of a 5-axis machine. All of the system variables,
relevant for kinematic chain, are written to the part program:
● Kinematic chains with $NK_...
● Transformation with kinematic chain $NT_...
Transformations
Function Manual, 06/2019, A5E47435470B AA 325
K12 transformation definitions with kinematic chains
4.4 Examples
&D[LV
%D[LVRIIVHW
%D[LV
&D[LVRIIVHW
%DVHWRRORIIVHW
=HURSRLQWRIWKHWRRO
FRRUGLQDWHV\VWHP
=HURSRLQWRIWKH
ZRUNSLHFHFRRUGLQDWH
;<=D[HV
V\VWHP
ZLWK
;
<
=
7DEOHRIIVHW
=HURSRLQWRIWKHZRUOG
FRRUGLQDWHV\VWHP
Transformations
326 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.4 Examples
● The C axis offset is a constant element, which defines the distance between the linear axes
X, Y, Z and the first rotary axis (C axis). The C axis is a rotary axis which points in the Z
direction.
● The B axis offset is a constant element, to which the B axis connects.
● The conclusion is formed by the constant offset "Basetool".
● The kinematic chain to the workpiece reference point is formed by the constant
element "Table offset" of the type Offset.
● The following orientation axes are defined:
– C axis
– B axis
● The following linear compensating axes are defined:
– X axis
– Y axis
– Z axis
Transformations
Function Manual, 06/2019, A5E47435470B AA 327
K12 transformation definitions with kinematic chains
4.4 Examples
Transformations
328 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.4 Examples
Program code
;===========================================================
; Definitions
;===========================================================
N10 DEF INT KIE_CNTR = 0 ; counter for elements of the kin. chains
;===========================================================
; deletion of all transformation data sets and kinematic chain elements
;===========================================================
N20 IF (DELOBJ(“TRAFO_DATA”) < 0)
N30 SETAL(61000)
N40 ENDIF
Transformations
Function Manual, 06/2019, A5E47435470B AA 329
K12 transformation definitions with kinematic chains
4.4 Examples
Program code
N320 $NK_TYPE[KIE_CNTR] = "OFFSET"
N330 $NK_NEXT[KIE_CNTR] = "C axis"
N340 $NK_OFF_DIR[KIE_CNTR,0] = 200.0
Transformations
330 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.4 Examples
Program code
N680 $NT_ROT_AX_NAME[1,0] = "C axis"
N690 $NT_ROT_AX_NAME[1,1] = "B axis"
N700 $NT_GEO_AX_NAME[1,0] = "X axis"
N710 $NT_GEO_AX_NAME[1,1] = "Y axis"
N720 $NT_GEO_AX_NAME[1,2] = "Z axis"
End
Transformations
Function Manual, 06/2019, A5E47435470B AA 331
K12 transformation definitions with kinematic chains
4.4 Examples
Transformations
332 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.4 Examples
Program code
;===========================================================
Transformations
Function Manual, 06/2019, A5E47435470B AA 333
K12 transformation definitions with kinematic chains
4.4 Examples
Program code
N450 $NT_ROT_AX_NAME[_TRA_CNTR,2] = ""
N460 $NT_ROT_OFFSET_FROM_FRAME[_TRA_CNTR] = 1
N470 $NT_CNTRL[_TRA_CNTR] = 'H0'
N480 _TRA_CNTR = _TRA_CNTR + 1
; 2nd TRANSMIT 257
;******************************************************
N490 $NT_NAME[_TRA_CNTR] = "Trafo Transmit_2"
N500 $NT_TRAFO_TYPE[_TRA_CNTR] = "TRANSMIT_K"
N510 $NT_P_CHAIN_LAST_ELEM[_TRA_CNTR] = "C-Axis"
N520 $NT_T_CHAIN_LAST_ELEM[_TRA_CNTR] = "Y-Axis"
N530 $NT_GEO_AX_NAME[_TRA_CNTR,0] = "X-Axis"
N540 $NT_GEO_AX_NAME[_TRA_CNTR,1] = "Y-Axis"
N550 $NT_GEO_AX_NAME[_TRA_CNTR,2] = "Z-Axis"
N560 $NT_ROT_AX_NAME[_TRA_CNTR,0] = ""
N570 $NT_ROT_AX_NAME[_TRA_CNTR,1] = "C-Axis"
N580 $NT_ROT_AX_NAME[_TRA_CNTR,2] = ""
N590 $NT_ROT_OFFSET_FROM_FRAME[_TRA_CNTR] = 1
N600 $NT_CNTRL[_TRA_CNTR] = 'H200' ; TRANSMIT 257
N610 _TRA_CNTR = _TRA_CNTR + 1
;******************************************************
; Activate kinematic chain and transformation:
;******************************************************
N620 NEWCONF
N630 STOPRE
;*************************************************************************
*************************
End
Transformations
334 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.4 Examples
Transformations
Function Manual, 06/2019, A5E47435470B AA 335
K12 transformation definitions with kinematic chains
4.4 Examples
Program code
;===========================================================
Transformations
336 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.4 Examples
Program code
N1080 $NT_P_CHAIN_LAST_ELEM[_TRA_CNTR] = "C-Axis"
N1090 $NT_GEO_AX_NAME[_TRA_CNTR,0] = "X-Axis"
N1100 $NT_GEO_AX_NAME[_TRA_CNTR,1] = "Y-Axis"
N1110 $NT_GEO_AX_NAME[_TRA_CNTR,2] = "Z-Axis"
N1120 $NT_ROT_AX_NAME[_TRA_CNTR,0] = ""
N1130 $NT_ROT_AX_NAME[_TRA_CNTR,1] = "C-Axis"
N1140 $NT_ROT_AX_NAME[_TRA_CNTR,2] = ""
N1150 $NT_ROT_OFFSET_FROM_FRAME[_TRA_CNTR] = 1
N1160 $NT_CNTRL[_TRA_CNTR] = 'H200' ; TRACYL 513
N1170 _TRA_CNTR = _TRA_CNTR + 1
; 3rd TRACYL 514
;******************************************************
N1180 $NT_NAME[_TRA_CNTR] = "Trafo Tracyl 514"
N1190 $NT_TRAFO_TYPE[_TRA_CNTR] = "TRACYL_K"
N1200 $NT_T_CHAIN_LAST_ELEM[_TRA_CNTR] = "Y-Axis"
N1210 $NT_P_CHAIN_LAST_ELEM[_TRA_CNTR] = "C-Axis"
N1220 $NT_GEO_AX_NAME[_TRA_CNTR,0] = "X-Axis"
N1230 $NT_GEO_AX_NAME[_TRA_CNTR,1] = "Y-Axis"
N1240 $NT_GEO_AX_NAME[_TRA_CNTR,2] = "Z-Axis"
N1250 $NT_ROT_AX_NAME[_TRA_CNTR,0] = ""
N1260 $NT_ROT_AX_NAME[_TRA_CNTR,1] = "C-Axis"
N1270 $NT_ROT_AX_NAME[_TRA_CNTR,2] = ""
N1280 $NT_ROT_OFFSET_FROM_FRAME[_TRA_CNTR] = 1
N1290 $NT_CNTRL[_TRA_CNTR] = 'H400' ; TRACYL 514
N1300 _TRA_CNTR = _TRA_CNTR + 1
;******************************************************
;Activate kinematic chain and transformation:
;******************************************************
N1310 NEWCONF
N1320 STOPRE
;*************************************************************************
*************************
End
Transformations
Function Manual, 06/2019, A5E47435470B AA 337
K12 transformation definitions with kinematic chains
4.4 Examples
Program code
;===========================================================
;******************************************************
; Activate kinematic chain and transformation:
;******************************************************
N2330 NEWCONF
N2340 STOPRE
;*************************************************************************
*************************
Transformations
338 Function Manual, 06/2019, A5E47435470B AA
K12 transformation definitions with kinematic chains
4.4 Examples
Program code
End
Transformations
Function Manual, 06/2019, A5E47435470B AA 339
K12 transformation definitions with kinematic chains
4.4 Examples
Transformations
340 Function Manual, 06/2019, A5E47435470B AA
Appendix A
A.1 List of abbreviations
A
O Output
ADI4 (Analog drive interface for 4 axes)
AC Adaptive Control
ALM Active Line Module
ARM Rotating induction motor
AS Automation system
ASCII American Standard Code for Information Interchange: American coding standard for
the exchange of information
ASIC Application-Specific Integrated Circuit: User switching circuit
ASUB Asynchronous subprogram
AUXFU Auxiliary function: Auxiliary function
STL Statement List
UP User Program
B
OP Operating Mode
BAG Mode group
BCD Binary Coded Decimals: Decimal numbers encoded in binary code
BERO Contact-less proximity switch
BI Binector Input
BICO Binector Connector
BIN BINary files: Binary files
BIOS Basic Input Output System
BCS Basic Coordinate System
BO Binector Output
OPI Operator Panel Interface
C
CAD Computer-Aided Design
CAM Computer-Aided Manufacturing
CC Compile Cycle: Compile cycles
CEC Cross Error Compensation
CI Connector Input
CF Card Compact Flash Card
Transformations
Function Manual, 06/2019, A5E47435470B AA 341
Appendix
A.1 List of abbreviations
C
CNC Computerized Numerical Control: Computer-Supported Numerical Control
CO Connector Output
CoL Certificate of License
COM Communication
CPA Compiler Projecting Data: Configuring data of the compiler
CRT Cathode Ray Tube: picture tube
CSB Central Service Board: PLC module
CU Control Unit
CP Communication Processor
CPU Central Processing Unit: Central processing unit
CR Carriage Return
CTS Clear To Send: Ready to send signal for serial data interfaces
CUTCOM Cutter radius Compensation: Tool radius compensation
D
DAC Digital-to-Analog Converter
DB Data Block (PLC)
DBB Data Block Byte (PLC)
DBD Data Block Double word (PLC)
DBW Data Block Word (PLC)
DBX Data block bit (PLC)
DDE Dynamic Data Exchange
DDS Drive Data Set: Drive data set
DIN Deutsche Industrie Norm
DIO Data Input/Output: Data transfer display
DIR Directory: Directory
DLL Dynamic Link Library
DO Drive Object
DPM Dual Port Memory
DPR Dual Port RAM
DRAM Dynamic memory (non-buffered)
DRF Differential Resolver Function: Differential revolver function (handwheel)
DRIVE-CLiQ Drive Component Link with IQ
DRY Dry Run: Dry run feedrate
DSB Decoding Single Block: Decoding single block
DSC Dynamic Servo Control / Dynamic Stiffness Control
DW Data Word
DWORD Double Word (currently 32 bits)
Transformations
342 Function Manual, 06/2019, A5E47435470B AA
Appendix
A.1 List of abbreviations
E
I Input
EES Execution from External Storage
I/O Input/Output
ENC Encoder: Actual value encoder
EFP Compact I/O module (PLC I/O module)
ESD Electrostatic Sensitive Devices
EMC ElectroMagnetic Compatibility
EN European standard
ENC Encoder: Actual value encoder
EnDat Encoder interface
EPROM Erasable Programmable Read Only Memory: Erasable, electrically programmable
read-only memory
ePS Network Services Services for Internet-based remote machine maintenance
EQN Designation for an absolute encoder with 2048 sine signals per revolution
ES Engineering System
ESR Extended Stop and Retract
ETC ETC key ">"; softkey bar extension in the same menu
F
FB Function Block (PLC)
FC Function Call: Function Block (PLC)
FEPROM Flash EPROM: Read and write memory
FIFO First In First Out: Memory that works without address specification and whose data is
read in the same order in which they was stored
FIPO Fine interpolator
FPU Floating Point Unit: Floating Point Unit
CRC Cutter Radius Compensation
FST Feed Stop: Feedrate stop
FBD Function Block Diagram (PLC programming method)
FW Firmware
G
GC Global Control (PROFIBUS: Broadcast telegram)
GDIR Global part program memory
GEO Geometry, e.g. geometry axis
GIA Gear Interpolation dAta: Gear interpolation data
GND Signal Ground
GP Basic program (PLC)
GS Gear Stage
GSD Device master file for describing a PROFIBUS slave
Transformations
Function Manual, 06/2019, A5E47435470B AA 343
Appendix
A.1 List of abbreviations
G
GSDML Generic Station Description Markup Language: XML-based description language for
creating a GSD file
GUD Global User Data: Global user data
H
HEX Abbreviation for hexadecimal number
AuxF Auxiliary function
HLA Hydraulic linear drive
HMI Human Machine Interface: SINUMERIK user interface
MSD Main Spindle Drive
HW Hardware
I
IBN Commissioning
ICA Interpolatory compensation
IM Interface Module: Interconnection module
IMR Interface Module Receive: Interface module for receiving data
IMS Interface Module Send: Interface module for sending data
INC Increment: Increment
INI Initializing Data: Initializing data
IPO Interpolator
ISA Industry Standard Architecture
ISO International Standardization Organization
J
JOG Jogging: Setup mode
K
KV Gain factor of control loop
Kp Proportional gain
KÜ Transformation ratio
LAD Ladder Diagram (PLC programming method)
L
LAI Logic Machine Axis Image: Logical machine axes image
LAN Local Area Network
LCD Liquid Crystal Display: Liquid crystal display
LED Light Emitting Diode: Light-emitting diode
LF Line Feed
Transformations
344 Function Manual, 06/2019, A5E47435470B AA
Appendix
A.1 List of abbreviations
L
PMS Position Measuring System
LR Position controller
LSB Least Significant Bit: Least significant bit
LUD Local User Data: User data (local)
M
MAC Media Access Control
MAIN Main program: Main program (OB1, PLC)
MB Megabyte
MCI Motion Control Interface
MCIS Motion Control Information System
MCP Machine Control Panel: Machine control panel
MD Machine Data
MDA Manual Data Automatic: Manual input
MDS Motor Data Set: Motor data set
MSGW Message Word
MCS Machine Coordinate System
MM Motor Module
MPF Main Program File: Main program (NC)
MCP Machine control panel
N
NC Numerical Control: Numerical control with block preparation, traversing range, etc.
NCU Numerical Control Unit: NC hardware unit
NRK Name for the operating system of the NC
IS Interface Signal
NURBS Non-Uniform Rational B-Spline
WO Work Offset
NX Numerical Extension: Axis expansion board
O
OB Organization block in the PLC
OEM Original Equipment Manufacturer
OP Operator Panel: Operating equipment
OPI Operator Panel Interface: Interface for connection to the operator panel
OPT Options: Options
OLP Optical Link Plug: Fiber optic bus connector
OSI Open Systems Interconnection: Standard for computer communications
Transformations
Function Manual, 06/2019, A5E47435470B AA 345
Appendix
A.1 List of abbreviations
P
PIQ Process Image Output
PII Process Image Input
PC Personal Computer
PCIN Name of the SW for data exchange with the control
PCMCIA Personal Computer Memory Card International Association:
Plug-in memory card standardization
PCU PC Unit: PC box (computer unit)
PG Programming device
PKE Parameter identification: Part of a PIV
PIV Parameter identification: Value (parameterizing part of a PPO)
PLC Programmable Logic Control: Adaptation control
PN PROFINET
PNO PROFIBUS user organization
PO POWER ON
POU Program Organization Unit
POS Position/positioning
POSMO A Positioning Motor Actuator: Positioning motor
POSMO CA Positioning Motor Compact AC: Complete drive unit with integrated power and control
module as well as positioning unit and program memory; AC infeed
POSMO CD Positioning Motor Compact DC: Like CA but with DC infeed
POSMO SI Positioning Motor Servo Integrated: Positioning motor, DC infeed
PPO Parameter Process data Object: Cyclic data telegram for PROFIBUS DP transmission
and "Variable speed drives" profile
PPU Panel Processing Unit (central hardware for a panel-based CNC, e.g SINUMERIK
828D)
PROFIBUS Process Field Bus: Serial data bus
PRT Program Test
PSW Program control word
PTP Point-To-Point: Point-To-Point
PUD Program global User Data: Program-global user variables
PZD Process data: Process data part of a PPO
Q
QEC Quadrant Error Compensation
R
RAM Random Access Memory: Read/write memory
REF REFerence point approach function
REPOS REPOSition function
RISC Reduced Instruction Set Computer: Type of processor with small instruction set and
ability to process instructions at high speed
ROV Rapid Override: Input correction
Transformations
346 Function Manual, 06/2019, A5E47435470B AA
Appendix
A.1 List of abbreviations
R
RP R Parameter, arithmetic parameter, predefined user variable
RPA R Parameter Active: Memory area in the NC for R parameter numbers
RPY Roll Pitch Yaw: Rotation type of a coordinate system
RTLI Rapid Traverse Linear Interpolation: Linear interpolation during rapid traverse motion
RTS Request To Send: Control signal of serial data interfaces
RTCP Real Time Control Protocol
S
SA Synchronized Action
SBC Safe Brake Control: Safe Brake Control
SBL Single Block: Single block
SBR Subroutine: Subprogram (PLC)
SD Setting Data
SDB System Data Block
SEA Setting Data Active: Identifier (file type) for setting data
SERUPRO SEarch RUn by PROgram test: Block search, program test
SFB System Function Block
SFC System Function Call
SGE Safety-related input
SGA Safety-related output
SH Safe standstill
SIM Single in Line Module
SK Softkey
SKP Skip: Function for skipping a part program block
SLM Synchronous Linear Motor
SM Stepper Motor
SMC Sensor Module Cabinet Mounted
SME Sensor Module Externally Mounted
SMI Sensor Module Integrated
SPF Sub Routine File: Subprogram (NC)
PLC Programmable Logic Controller
SRAM Static RAM (non-volatile)
TNRC Tool Nose Radius Compensation
SRM Synchronous Rotary Motor
LEC Leadscrew Error Compensation
SSI Serial Synchronous Interface: Synchronous serial interface
SSL Block search
STW Control word
GWPS Grinding Wheel Peripheral Speed
SW Software
SYF System Files: System files
SYNACT SYNchronized ACTion: Synchronized Action
Transformations
Function Manual, 06/2019, A5E47435470B AA 347
Appendix
A.1 List of abbreviations
T
TB Terminal Board (SINAMICS)
TCP Tool Center Point: Tool tip
TCP/IP Transport Control Protocol / Internet Protocol
TCU Thin Client Unit
TEA Testing Data Active: Identifier for machine data
TIA Totally Integrated Automation
TM Terminal Module (SINAMICS)
TO Tool Offset: Tool offset
TOA Tool Offset Active: Identifier (file type) for tool offsets
TRANSMIT Transform Milling Into Turning: Coordination transformation for milling operations on a
lathe
TTL Transistor-Transistor Logic (interface type)
TZ Technology cycle
U
UFR User Frame: Work offset
SR Subprogram
USB Universal Serial Bus
UPS Uninterruptible Power Supply
V
VDI Internal communication interface between NC and PLC
VDI Verein Deutscher Ingenieure [Association of German Engineers]
VDE Verband Deutscher Elektrotechniker [Association of German Electrical Engineers]
VI Voltage Input
VO Voltage Output
FDD Feed Drive
W
SAR Smooth Approach and Retraction
WCS Workpiece Coordinate System
T Tool
TLC Tool Length Compensation
WOP Workshop-Oriented Programming
WPD Workpiece Directory: Workpiece directory
TRC Tool Radius Compensation
T Tool
TO Tool Offset
TM Tool Management
TC Tool change
Transformations
348 Function Manual, 06/2019, A5E47435470B AA
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)
Transformations
Function Manual, 06/2019, A5E47435470B AA 349
Appendix
A.1 List of abbreviations
Transformations
350 Function Manual, 06/2019, A5E47435470B AA
Index
$P_TOOL_R, 211
$P_TOOLROT, 210
$ $VC_TOOL_O, 211
$VC_TOOL_O_DIFF, 211
$AC_TOOL_O_ACT, 210
$VC_TOOL_R, 211
$AC_TOOL_O_DIFF, 210
$VC_TOOL_R_DIFF, 211
$AC_TOOL_O_END, 210
$VC_TOOLO, 209
$AC_TOOL_R_ACT, 211
$VC_TOOLO_DIFF, 209
$AC_TOOL_R_DIFF, 211
$VC_TOOLO_STAT, 209
$AC_TOOL_R_END, 211
$VC_TOOLR, 210
$AC_TOOLO_ACT, 209
$VC_TOOLR_DIFF, 210
$AC_TOOLO_DIFF, 209
$VC_TOOLR_STAT, 210
$AC_TOOLO_END, 209
$AC_TOOLR_ACT, 210
$AC_TOOLR_DIFF, 210
$AC_TOOLR_END, 210
2
$AC_TRAFO_CORR_ELEM_P, 324 2-axis swivel head, 189
$AC_TRAFO_CORR_ELEM_T, 324
$AC_TRAFO_ORIAX_LOC, 325
$NT_AUX_POS, 296 3
$NT_BASE_ORIENT, 304
3-axis and 4-axis transformation, 139
$NT_BASE_ORIENT_NORMAL, 305
3-axis and 4-axis transformations, 160
$NT_BASE_TOOL_COMP, 302
3-axis kinematics, 188
$NT_CLOSE_CHAIN_P, 292
3-axis to 5-axis transformation
$NT_CLOSE_CHAIN_T, 293, 325
Call and application, 170
$NT_CNTRL, 300, 324
3-axis transformations, 174
$NT_CORR_ELEM_P, 313, 324
$NT_CORR_ELEM_T, 312, 324
$NT_GEO_AX_NAME, 288
$NT_IDENT, 297
4
$NT_IGNORE_TOOL_ORIENT, 311 4-axis kinematics, 188
$NT_NAME, 279, 317 4-axis Transformation, 139
$NT_P_CHAIN_FIRST_ELEM, 284 4-axis transformations, 174
$NT_P_CHAIN_LAST_ELEM, 286
$NT_POLE_LIMIT, 307, 309
$NT_POLE_SIDE_FIX, 315 5
$NT_POLE_TOL, 310
5-axis kinematics, 188
$NT_ROT_AX_CNT, 301
5-axis transformation
$NT_ROT_AX_NAME, 290
Geometry of the machine, 149
$NT_ROT_AX_OFFSET, 291
Singular positions, 157
$NT_ROT_AX_POS, 305
Tool orientation, 153
$NT_ROT_OFFSET_FROM_FRAME, 294
5th degree polynomial, 225
$NT_T_CHAIN_FIRST_ELEM, 283
$NT_T_CHAIN_LAST_ELEM, 285
$NT_T_REF_ELEM, 287
$NT_TRACON_CHAIN, 316
6
$NT_TRAFO_INCLUDES_TOOL, 295 6FC5800-0AM28-0YB0, 66
$NT_TRAFO_INDEX, 280, 317
$NT_TRAFO_TYPE, 281
$P_TOOL_O, 210
Transformations
Function Manual, 06/2019, A5E47435470B AA 351
Index
DB21, …
DBX33.6, 171
7 Defining geometry axes, 127
Direction of rotation, 228
7-axis transformation, 183
Direction vector, 228
Example, 246
Kinematics, 184
E
A Effects on HMI operation, 94
Effects on orientations, 175
Activating rotation, 225
End face transformation, 262
Activation, 172
End orientation, 227
All transformations, 129
Euler angles, 154
Angle of rotation, 229
Example, 95
Exceptions, 76
Extended interpolation of orientation axes, 227
B Extensions, 76
Basic orientation, 191
Behavior at pole, 158
Boundary conditions, 95 F
Frames, 95
C
Cardan milling head, 167 G
Applications, 167
G5, 74
JOG, 170
G7, 74
Cartesian manual travel, 116, 143
G91 extension
Cartesian PTP travel, 98, 102, 103
Zero offset, 219
Chained transformations, 81
Generic 5-axis transformation and variants, 172
Persistent transformation, 93
Generic orientation transformation variants, 174
Change in orientation, 228
Groove side offset, 43
Changing the assignment, 127
Collision avoidance
Fundamentals example, 325
Compression mode, 195
I
Compressor, 194 Identifying the axis sequence, 148
CORRTRAFO, 318 Inclined axis transformations, 130
CP, 102, 103 Intermediate orientation, 228
Cycle832 Interpolation of the angle of rotation, 224
Rotary axes, 260 Interpolation of the rotation vector, 225
Cylinder coordinate system, 39 Interpolation type and selection, 220
Cylinder surface transformation, 38, 265
J
D JOG, 95
DB21, ...
DBX29.4, 99
DBX317.6, 99 K
DBX318.2, 233, 234
Kinematic transformation, 145
DBX318.3, 233
Kinematic chain, 255
Transformations
352 Function Manual, 06/2019, A5E47435470B AA
Index
Transformations
Function Manual, 06/2019, A5E47435470B AA 353
Index
Transformations
354 Function Manual, 06/2019, A5E47435470B AA
Index
TRAANG
Restrictions, 76
with fixed angle, 66, 73
with programmable angle, 66, 72
TRACON, 86
TRACYL, 52, 265
Tracyl transformations, 130
TRACYL_BAE_TOOL_t, 51
TRACYL_ROT_AX_OFFSET_t, 49
TRACYL_Rot_Sign_IS_PLUS_t, 50
TRAFOON, 317
Transformation active, 171
Transformation chain, setpoint positions, 83
Transformation inactive, 171
Transformations
Concatenated, 86
Translation, 116
TRANSMIT, 33, 262
Transmit transformations, 130
TRANSMIT_ROT_AX_OFFSET_t, 32
TU, 108
U
Universal milling head, 142
V
Velocity control, 77
W
Workpiece chain, 323
Transformations
Function Manual, 06/2019, A5E47435470B AA 355
Index
Transformations
356 Function Manual, 06/2019, A5E47435470B AA