Siemens SINUMERIK 840DE sl Function Manual

Siemens SINUMERIK 840DE sl Function Manual

Hide thumbs Also See for SINUMERIK 840DE sl:
Table of Contents

Advertisement

SINUMERIK
SINUMERIK 840D sl
Transformations
Function Manual
Valid for:
Control system
SINUMERIK 840D sl / 840DE sl
Software
CNC software version 4.92
06/2019
A5E47435470B AA
Preface
Fundamental safety
instructions
M1: Kinematics
transformation
F2: Multi-axis transformations
K12 transformation
definitions with kinematic
chains
Appendix
1
2
3
4
A

Advertisement

Table of Contents
loading

Summary of Contents for Siemens SINUMERIK 840DE sl

  • Page 1 Preface Fundamental safety instructions M1: Kinematics SINUMERIK transformation F2: Multi-axis transformations SINUMERIK 840D sl Transformations K12 transformation definitions with kinematic chains Function Manual Appendix Valid for: Control system SINUMERIK 840D sl / 840DE sl Software CNC software version 4.92 06/2019 A5E47435470B AA...
  • Page 2 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.
  • Page 3: Preface

    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).
  • Page 4 Note regarding the General Data Protection Regulation Siemens observes standard data protection principles, in particular the principle of privacy by design. That means that this product does not process / store any personal data, only technical functional data (e.g. time stamps).
  • Page 5: Transformations

    Preface Information on the structure and contents 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.
  • Page 6 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: Type Meaning...
  • Page 7 Preface Program code Comment ELSE <> AXPOS ENDIF Transformations Function Manual, 06/2019, A5E47435470B AA...
  • Page 8 Preface Transformations Function Manual, 06/2019, A5E47435470B AA...
  • Page 9: Table Of Contents

    Table of contents Preface .................................3 Fundamental safety instructions.........................15 General safety instructions.....................15 Warranty and liability for application examples ..............15 Industrial security ........................16 M1: Kinematics transformation ........................19 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...
  • Page 10 Table of contents 2.3.3.3 Oblique plunge-cutting on grinding machines (G5, G7) ............74 2.3.4 Boundary conditions.......................75 2.3.5 Example ..........................78 Chained transformations ......................81 2.4.1 Function ..........................81 2.4.1.1 Introduction ..........................81 2.4.1.2 System variables........................83 2.4.2 Programming..........................86 2.4.3 Examples ..........................87 2.4.3.1 Application example of chained transformations..............87 2.4.3.2 Determining the axis positions in the transformation chain............91 Persistent transformation .......................93...
  • Page 11 Table of contents 3.1.5 Universal milling head ......................142 3.1.6 Orientation axes ........................143 3.1.7 Cartesian manual travel .......................143 3.1.8 Cartesian PTP travel ......................144 3.1.9 Generic 5-axis transformation ....................144 3.1.10 Online tool length offset .......................144 3.1.11 Activation via parts/program/softkey ..................144 3.1.12 Orientation compression ......................145 5-axis transformation......................145 3.2.1 Kinematic transformation .....................145...
  • Page 12 Table of contents 3.10.5 Orientation transformation and orientable tool holders ............217 3.10.6 Modulo display of orientation axes..................218 3.11 Orientation vectors .......................219 3.11.1 Polynomial interpolation of orientation vectors..............219 3.11.2 Rotations of orientation vector .....................223 3.11.3 Extended interpolation of orientation axes ................227 3.12 Online tool length offset .......................231 3.13...
  • Page 13 Table of contents 4.2.1.2 Structure of the system variables..................274 4.2.2 Machine data........................276 4.2.2.1 Maximum number of transformations with kinematic chains..........276 4.2.2.2 Name of the reset transformation..................276 4.2.2.3 Activation limit of the real-time dynamic monitoring (linear axes) ........276 4.2.2.4 Activation limit of real-time dynamic monitoring (rotary axes)..........276 4.2.2.5 Correction value for offset vectors for CORRTRAFO ............276 4.2.2.6...
  • Page 14 Table of contents Examples ..........................325 4.4.1 Settings for TRAORI_DYN ....................325 4.4.2 Part program for TRAORI_DYN ...................328 4.4.3 Part program for TRANSMIT....................332 4.4.4 Part program for TRACYL....................335 4.4.5 Part program for TRAANG ....................338 Appendix..............................341 List of abbreviations ......................341 Index.................................351 Transformations Function Manual, 06/2019, A5E47435470B AA...
  • Page 15: Fundamental Safety Instructions

    Fundamental safety instructions 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. ●...
  • Page 16: Industrial Security

    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.
  • Page 17 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. ●...
  • Page 18 Fundamental safety instructions 1.3 Industrial security Transformations Function Manual, 06/2019, A5E47435470B AA...
  • Page 19: M1: Kinematics Transformation

    M1: Kinematics transformation 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.
  • Page 20: Machining Options

    M1: Kinematics transformation 2.1 TRANSMIT face end transformation (option) X, Y, Z Geometry axes Machine axis: Rotary axis Machine axis: Linear axis, perpendicular to rotary axis Machine axis: Linear axis, parallel to rotary axis Machine axis: Main spindle Other options: ●...
  • Page 21 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.
  • Page 22 M1: Kinematics transformation 2.1 TRANSMIT face end transformation (option) Rotation in pole ① Travel into the pole ② Travel out of the pole Figure 2-2 Traversal of x axis into pole (a), rotation (b), exit from pole (c) Selection of method The method must be selected according to the capabilities of the machine and the requirements of the part to be machined.
  • Page 23 M1: Kinematics transformation 2.1 TRANSMIT face end transformation (option) Behavior: Table 2-1 Traversal of pole along the linear axis Mode Status Response AUTOMATIC All axes involved in the transforma‐ High-speed pole traversal tion are moved synchronously. TRANSMIT active. Not all of the axes participating in Traversal of pole at creep speed the transformation are moved syn‐...
  • Page 24 M1: Kinematics transformation 2.1 TRANSMIT face end transformation (option) Tool center point path with corner in pole A tool center point path which includes a corner in the pole will not only cause a step change in axis velocities, but also a step change in the rotary axis position. These cannot be reduced by decelerating.
  • Page 25 M1: Kinematics transformation 2.1 TRANSMIT face end transformation (option) Corner without pole traversal ① Travel into the pole ② Travel out of the pole Figure 2-4 Processing on one pole side Requirements: AUTOMATIC mode, MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_1 = 1 or 2 MD24951 $MC_TRANSMIT_POLE_SIDE_FIX_2 = 1 or 2 The control system inserts a traversing block at the step change point.
  • Page 26: Working Area Limitations

    M1: Kinematics transformation 2.1 TRANSMIT face end transformation (option) MD24951 $MC_TRANSMIT_POLE_SIDE_FIX_2= 1 processing is done before the rotational center point (linear axis in positive traversing range), MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_1= 2 MD24951 $MC_TRANSMIT_POLE_SIDE_FIX_2= 2 behind the rotational center point (linear axis in negative traversing range). Transformation selection outside pole The controller traverses the axes participating in the transformation without evaluating the machine data MD24911 $MC_TRANSMIT_POLE_SIDE_FIX_<t>.
  • Page 27: Overlaid Motions With Transmit

    M1: Kinematics transformation 2.1 TRANSMIT face end transformation (option) ① Unmachinable cylinder - working area limitation ② Axis distance Figure 2-5 Working area limitation based on offset linear axis Traverse into working area limitation Any motion that leads into the working area limitation is rejected with alarm 21619. Any corresponding parts program block is not processed.
  • Page 28: Monitoring Of Rotary Axis Rotations Over 360º

    M1: Kinematics transformation 2.1 TRANSMIT face end transformation (option) 2.1.1.5 Monitoring of rotary axis rotations over 360º The positions of the rotary axis are ambiguous with respect to the number of rotations. The control breaks down blocks containing several rotations around the pole into sub-blocks. This subdivision must be noted with respect to parallel actions (e.g.
  • Page 29: Axis Configuration

    M1: Kinematics transformation 2.1 TRANSMIT face end transformation (option) ● MD2xxxx $MC_TRANSMIT_BASE_TOOL_<n> (vector of the base tool) ● MD2xxxx $MC_TRANSMIT_POLE_SIDE_FIX_<n> (limitation of the working area in front of/ behind the pole) where <n> = 1, 2 (TRANSMIT data set number) 2.1.2.2 Axis configuration The following shows an axis configuration that is typical of TRANSMIT.
  • Page 30 M1: Kinematics transformation 2.1 TRANSMIT face end transformation (option) ● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 2 ] = "ZM" ● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 3 ] = "ASM" Geometry axis names ● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 0 ] = "X" (name of the 1st geometry axis) ● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 1 ] = "Y" (name of the 2nd geometry axis) ●...
  • Page 31: Specific Settings

    M1: Kinematics transformation 2.1 TRANSMIT face end transformation (option) ● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 2 ] = 0 (axis) ● MD35000 $MA_SPIND_ASSIGN_TO_MACHAX[ 3 ] = 2 (spindle) 2.1.2.3 Specific settings One rotary and one linear axis: TRAFO_TYPE = 256 The transformation type 256 must be set for TRANSMIT with a rotary and a linear axis: $MC_TRAFO_TYPE_<n>...
  • Page 32 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>. Rotary axis offset: TRANSMIT_ROT_AX_OFFSET If the rotary axis zero point does not match the rotary axis zero position when the TRANSMIT transformation is active, the angular difference must be entered as an offset in the machine data: $MC_TRANSMIT_ROT_AX_OFFSET_<t>...
  • Page 33: Programming

    M1: Kinematics transformation 2.1 TRANSMIT face end transformation (option) Position of the tool zero: TRANSMIT_BASE_TOOL The position of the tool zero is specified in relation to the origin of the effective Cartesian coordinate system for TRANSMIT: ● MD24920 $MC_TRANSMIT_BASE_TOOL_<t>[ 0 ] = <Offset in X> ●...
  • Page 34: Constraints

    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.
  • Page 35: Example

    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.
  • Page 36 M1: Kinematics transformation 2.1 TRANSMIT face end transformation (option) Geometry axis names ● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 0 ] = "X" (name of the 1st geometry axis) ● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 1 ] = "Y" (name of the 2nd geometry axis) ● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 2 ] = "Z" (name of the 3rd geometry axis) Channel axis names ●...
  • Page 37 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) Offset relative to the zero position of the rotary axis ● MD24900 $MC_TRANSMIT_ROT_AX_OFFSET_1 = 0 Sign of rotary axis ●...
  • Page 38: Tracyl Cylinder Surface Transformation (Option)

    M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) Program code Comment N80 Y10 N90 X10 N100 Y–10 N110 G0 Z20 G40 OFFN=0 ; tool radius compensation OFF, ; 0 mm tolerance N120 T2 D1 X15 Y–15 ; tool change N130 Z10 G41 ;...
  • Page 39 M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) The machine kinematics must correspond to the cylinder coordinate system: ● One, two or three linear axes and one rotary axis ● The linear axes must be oriented perpendicular to each other ●...
  • Page 40 M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) Two linear axes For a machine kinematic with two linear axes (X and Z), grooves of any form can be generated on the cylinder. Infeed axis perpendicular to the turning center Linear axis parallel to the turning center Y / CM Transformatory Y axis / rotary axis...
  • Page 41 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...
  • Page 42 M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) TRACYL with groove wall offset The cylinder surface transformation with groove wall offset is used for machine kinematics with three linear axes (X, Y, and Z) (axis configuration 2). Infeed axis perpendicular to the turning center Supplementary axis perpendicular to the X-Z plane Linear axis parallel to the turning center Y / CM...
  • Page 43: Parameterization

    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 Machine data: Transformation data in general The following machine data is used to define transformation data sets in a channel: ●...
  • Page 44 M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) Machine data: TRACYL transformation A TRACYL transformation is parameterized in the following machine data: ● MD2xxxx $MC_TRACYL_ROT_AX_OFFSET_<n> (offset of the rotary axis) ● MD2xxxx $MC_TRACYL_ROT_AX_FRAME_<n> (rotary axis offset) ● MD2xxxx $MC_TRACYL_DEFAULT_MODE_<n> (selection of TRACYL mode) ●...
  • Page 45: Axis Configuration

    M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) 2.2.2.2 Axis configuration The following shows an axis configuration that is typical of TRACYL. ① Effective if TRACYL is active. Machine axis name ● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 0 ] = "CM" ● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 1 ] = "XM" ●...
  • Page 46 M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) Geometry axis names ● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 0 ] = "X" (name of the 1st geometry axis) ● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 1 ] = "Y" (name of the 2nd geometry axis) ● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 2 ] = "Z" (name of the 3rd geometry axis) Channel axis names ●...
  • Page 47: Specific Settings

    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) ●...
  • Page 48 M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) Transformation geometry axes For the transformation dataset <n>, three (or four) channel axis numbers must be specified for TRACYL: ● MD24110 $MC_TRAFO_AXES_IN_1[0]=channel axis number of the axis radial to the rotary axis.
  • Page 49 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: α Rotational position of the rotary axis for C=0 β...
  • Page 50 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. MD24810 $MC_TRACYL_ROT_SIGN_IS_PLUS_<t>=TRUE In this case, "t"...
  • Page 51 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.
  • Page 52: Programming

    M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) ① Slot (example) Figure 2-13 Cylinder coordinate system 2.2.3 Programming 2.2.3.1 Activate cylinder surface transformation (TRACYL) The cylinder surface transformation (TRACYL) is activated in the part program or synchronized action using the TRACYL statement. Syntax TRACYL(<d>) TRACYL(<d>,<n>)
  • Page 53: Activate Cylinder Surface Transformation (Tracyl): Further Information

    M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) The parameter <k> is only relevant for transformation type 514 <k>: 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>...
  • Page 54 M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) 12.TRAFOOF. 13.Reselect original coordinate shift (frame). Contour offset (OFFN) In order to mill grooves using TRACYL transformation 513, the center line of the groove and half of the groove width via the OFFN address are programmed in the part program. To avoid damage to the groove side, OFFN acts only when the tool radius compensation is active.
  • Page 55: Boundary Conditions

    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.
  • Page 56 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>...
  • Page 57 M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) Interrupt part program ● Mode change from AUTOMATIC to JOG If a part program processing is interrupted for active transformation and traversed manually in the JOG operating mode, ensure for continuation of the part program in the AUTOMATIC operating mode that the transformation is already active in the restart block from the current position to the interruption location.
  • Page 58: Examples

    M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) 2.2.5 Examples 2.2.5.1 Machining grooves on a cylinder surface with X-Y-Z-C kinematics The example refers to the turning machine with an additional Y axis drawn in the following figure. Infeed axis, perpendicular to rotary axis Additional axis Axis is parallel to rotary axis Rotary axis...
  • Page 59 M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) Channel axis names ● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 0 ] = "XC" ● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 1 ] = "YC" ● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 2 ] = "ZC" ● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 3 ] = "CC" ●...
  • Page 60 M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) Transformation type ● MD24100 $MC_TRAFO_TYPE_1 = 513 (TRACYL with groove side offset) Offset relative to the zero position of the rotary axis ● MD24800 $MC_TRACYL_ROT_AX_OFFSET_1 = 0 Sign of rotary axis ●...
  • Page 61 M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) Programming Producing a hook-shaped groove with groove side offset (TRACYL transformation type 513) Tool definition Program code Comment ; Tool parameters $TC_DP1[1,1]=120 ; Tool type: Milling tool $TC_DP2[1,1] = 0 ; Cutting edge position: For turning tools only Program code Comment ;...
  • Page 62 M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) Program code Comment $TC_DP4[1,1]=9. ; Length compensation vector: Calculation accord- ing to plane $TC_DP5[1,1]=7. Program code Comment ; Geometry: Radius $TC_DP6[1,1]=6. ; Radius $TC_DP7[1,1]=0 ; Groove width b for slotting saw, rounding radi- us for milling tools $TC_DP8[1,1]=0 ;...
  • Page 63: Machining Grooves On A Cylinder Surface With X-Y-Z-A-C Kinematics

    M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) Program code Comment N140 Z110 G40 ; Travel away from the groove wall and TRC dese- lection N150 G0 X25 Y0 ; Return to the initial position N170 TRAFOOF ; Deactivate transformation N180 M30 ;...
  • Page 64 M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) ● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 3 ] = "SPM" ● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 4 ] = "AM" ● MD10000 $MN_AXCONF_MACHAX_NAME_TAB[ 5 ] = "CM" Geometry axis names ● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 0 ] = "X" (name of the 1st geometry axis) ●...
  • Page 65 M1: Kinematics transformation 2.2 TRACYL cylinder surface transformation (option) ● MD20070 $MC_AXCONF_MACHAX_USED[ 3 ] = 4 (4th channel axis → 4th machine axis SPM) ● MD20070 $MC_AXCONF_MACHAX_USED[ 4 ] = 5 (5th channel axis → 5th machine axis ● MD20070 $MC_AXCONF_MACHAX_USED[ 5 ] = 6 (6th channel axis → 6th machine axis Identification of spindles ●...
  • Page 66: Oblique Angle Transformation (Inclined Axis) Traang (Option)

    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 ;...
  • Page 67 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. ① Grinding disk ② Workpiece Geometry axis Geometry axis Machine axis Machine axis α...
  • Page 68: Parameterization

    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) ●...
  • Page 69: Axis Configuration

    M1: Kinematics transformation 2.3 Oblique angle transformation (inclined axis) TRAANG (option) where <n> = 1, 2 (TRAANG data set number) 2.3.2.2 Axis configuration The following shows an axis configuration that is typical of TRAANG. ① Effective if TRAANG is active. Machine axis name ●...
  • Page 70 M1: Kinematics transformation 2.3 Oblique angle transformation (inclined axis) TRAANG (option) Geometry axis names ● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 0 ] = "X" (name of the 1st geometry axis) ● MD20060 $MC_AXCONF_GEOAX_NAME_TAB[ 1 ] = "Y" (name of the 2nd geometry axis) ●...
  • Page 71: Specific Settings

    M1: Kinematics transformation 2.3 Oblique angle transformation (inclined axis) TRAANG (option) 2.3.2.3 Specific settings Angle between longitudinal axis and inclined axis ● MD24700 $MC_TRAANG_ANGLE_<n> = <angle> with -90° < angle < 90° , without 0° The angle is counted positively in the clockwise direction starting at X (see Section "Function (Page 66)": Angle α).
  • Page 72: Programming

    M1: Kinematics transformation 2.3 Oblique angle transformation (inclined axis) TRAANG (option) $MC_TRAANG_PARALLEL_ACCEL_RES_<n> = <value> <value> Meaning 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.
  • Page 73: Activate Oblique Angle Transformation With Fixed Angle (Traang)

    M1: Kinematics transformation 2.3 Oblique angle transformation (inclined axis) TRAANG (option) <α>: Angle of the inclined axis (optional) Range of values: -90° < α < + 90° The initial state parameterized in the machine data is effective if an angle is not specified: MD2xxxx $MC_TRAANG_ANGLE_<n>...
  • Page 74: Oblique Plunge-Cutting On Grinding Machines (G5, G7)

    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) ;...
  • Page 75: Boundary Conditions

    M1: Kinematics transformation 2.3 Oblique angle transformation (inclined axis) TRAANG (option) Example ① 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 Geometry axis Geometry axis...
  • Page 76 M1: Kinematics transformation 2.3 Oblique angle transformation (inclined axis) TRAANG (option) Selection and deselection ● An intermediate motion block is not inserted (phases/radii). ● A spline block sequence must be terminated. ● Tool radius compensation must be deselected. ● The current frame is deselected by the control system. Corresponds to programmed G500. ●...
  • Page 77 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: ●...
  • Page 78: Example

    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. ① Grinding disk ② Workpiece Geometry axis Geometry axis Machine axis Machine axis α Angle of inclined axis Machine axis (spindle) Machine axis (tailstock) Figure 2-16...
  • Page 79 M1: Kinematics transformation 2.3 Oblique angle transformation (inclined axis) TRAANG (option) Channel axis names ● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 0 ] = "ZC" ● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 1 ] = "CC" ● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 2 ] = "ASC" ● MD20080 $MC_AXCONF_CHANAX_NAME_TAB[ 3 ] = "UC" Assignment of geometry axes to channel axes TRAANG not active: ●...
  • Page 80 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) ●...
  • Page 81: Chained Transformations

    M1: Kinematics transformation 2.4 Chained transformations 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.
  • Page 82 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 –...
  • Page 83: System Variables

    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.
  • Page 84 M1: Kinematics transformation 2.4 Chained transformations $AA_ITR: Actual setpoint value at output of the nth transformation System variable $AA_ITR[ <axis>, <transformation layer> ] determines the setpoint position of an axis at the output of the n th cascaded transformation. Figure 2-17 Transformer layer Axis As 1st index of the system variable, either a geometry, a channel or a machine axis name is...
  • Page 85 M1: Kinematics transformation 2.4 Chained transformations $AA_IBC: Actual setpoint of a cartesian axis System variable $AA_IBC[ <axis>] determines the setpoint position of a cartesian axis lying between BCS and MCS. If an axis is cartesian at the output of the nth transformation, then this output value is delivered.
  • Page 86: Programming

    M1: Kinematics transformation 2.4 Chained transformations 2.4.2 Programming A configured concatenated (chained) transformation is activated in the part program or synchronized action using the TRACON statement. Syntax TRACON(<Trafo_No>,<Par_1>,...,<Par_n>,<Par_n+1>) TRAFOOF Meaning Activate concatenated transformation TRACON: If another transformation was previously activated, it is implicitly dis‐ abled by means of TRACON().
  • Page 87: Examples

    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. ;...
  • Page 88 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...
  • Page 89 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...
  • Page 90 M1: Kinematics transformation 2.4 Chained transformations Program code Comment ; Call single transformations N30 TRANSMIT ; Activate TRANSMIT N40 X0 Y20 N50 X-20 Y0 N60 X0 Y-20 N70 X20 Y0 N80 TRAFOOF ; Deactivate TRANSMIT N130 TRAANG(45.) ; Activate inclined axis transformation ;...
  • Page 91: Determining The Axis Positions In The Transformation Chain

    M1: Kinematics transformation 2.4 Chained transformations 2.4.3.2 Determining the axis positions in the transformation chain Two chained transformations are configured in the following example, and the system variables for determining the axis positions in the synchronous action are read cyclically in the part program.
  • Page 92 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...
  • Page 93: Persistent Transformation

    M1: Kinematics transformation 2.5 Persistent transformation Program code Comment N100 ID=2 WHENEVER TRUE DO $R3=$AA_IBC[X] $R4=$AA_IBC[Y] $R5=$AA_IBC[Z] N110 ID=3 WHENEVER TRUE DO $R6=$VA_IW[X]-$AA_IW[X] N120 ID=4 WHENEVER TRUE DO $R7=$VA_IB[X]-$AA_IB[X] N130 ID=5 WHENEVER TRUE DO $R8=$VA_IBC[X]-$AA_IBC[X] N140 ID=6 WHENEVER TRUE DO $R9=$VA_ITR[X,1]-$AA_ITR[X,1] N150 N160 N170 TRACON(1,)
  • Page 94 M1: Kinematics transformation 2.5 Persistent transformation Selection and deselection Persistent transformation is selected via the following machine data: ● MD20144 $MC_TRAFO_MODE_MASK, bit 0 = 1 ● MD20144 $MC_TRAFO_RESET_VALUE defines persistent transformation. ● MD20140 $MC_TRAFO_RESET_VALUE=Number of the transformation data set of the persistent transformation Other machine data ●...
  • Page 95 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. The persistent transformation remains in effect when traversing with JOG.
  • Page 96 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 ;...
  • Page 97: Cartesian Ptp Travel

    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 ;...
  • Page 98 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.
  • Page 99 M1: Kinematics transformation 2.6 Cartesian PTP travel The following table lists which version can be practically used for which transformation: transformation PTPG0 PTPWOC TRAORI TRANSMIT RCTRA ROBX 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.
  • Page 100: Commissioning

    M1: Kinematics transformation 2.6 Cartesian PTP travel 2.6.2 Commissioning 2.6.2.1 Response after POWER ON After Power On, traversing mode CP is automatically effective for axis traversal with transformation. The default can be switched over to Cartesian PTP travel via the following machine data: MD20150 $MC_GCODE_RESET_VALUES[48] (initial setting of G group 49) Value Meaning...
  • Page 101: Displaying Stat And Tu

    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 With Cartesian PTP travel, the strategy "shortest path"...
  • Page 102: Programming

    M1: Kinematics transformation 2.6 Cartesian PTP travel 2.6.3 Programming 2.6.3.1 Activating/deactivating Cartesian PTP travel (PTP, PTPG0, PTPWOC, CP) The Cartesian point-to-point or PTP travel is activated/deactivated in the NC program using G group 49 commands. The commands are modal. The default setting is travel with Cartesian path motion (CP). Contrary to CP, for active PTP travel, only the Cartesian target point is transformed, and the machine axes are traversed in synchronism.
  • Page 103: Activating/Deactivating Cartesian Ptp Travel (Ptp, Ptpg0, Ptpwoc, Cp)

    M1: Kinematics transformation 2.6 Cartesian PTP travel Examples See: ● Example 3: PTPG0 and TRANSMIT (Page 112) 2.6.3.2 Activating/deactivating Cartesian PTP travel (PTP, PTPG0, PTPWOC, CP) The Cartesian point-to-point or PTP travel is activated/deactivated in the NC program using G group 49 commands.
  • Page 104: Specify The Position Of The Joints (Stat)

    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) ●...
  • Page 105 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.
  • Page 106 M1: Kinematics transformation 2.6 Cartesian PTP travel Bit 1 Position of axis 3 The angle at which the value of bit 1 changes depends on the particular robot type. The following applies to robots whose axes 3 and 4 intersect: A3 <0°...
  • Page 107 M1: Kinematics transformation 2.6 Cartesian PTP travel → Shoulder right STAT=2 ('B010') → Elbow up → No handflip → Shoulder left STAT=5 ('B101') → Elbow down → Handflip → Shoulder right STAT=6 ('B110') → 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...
  • Page 108: Specify The Sign Of The Axis Angle (Tu)

    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: Bit 0 Only relevant for $MC_TRANSMIT_POLE_SIDE_FIX_1/2 = 1 or 2: Rotary axis traverses through +180º or rotates clockwise. Rotary axis rotates through -180º...
  • Page 109 M1: Kinematics transformation 2.6 Cartesian PTP travel Meaning Value Axis angle Axis angle sign Bit 0 Sign for the axis angle of A1 ≥ 0° < 0° Bit 1 Sign for the axis angle of A2 ≥ 0° < 0° Bit 2 Sign for the axis angle of A3 ≥...
  • Page 110 M1: Kinematics transformation 2.6 Cartesian PTP travel ① θ ≥ 0° ① θ ≥ 0° ① θ < 0° ① θ ≥ 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.
  • Page 111: Example 1: Ptp Travel Of A 6-Axis Robot With Robx Transformation

    M1: Kinematics transformation 2.6 Cartesian PTP travel 2.6.3.5 Example 1: PTP travel of a 6-axis robot with ROBX transformation In the following application example, Cartesian PTP travel and the associated NC commands are shown in the form of an example. Figure 2-18 6-axis articulated robot with milling spindle N1 G90...
  • Page 112: Example 2: Ptp Travel For Generic 5-Axis Transformation

    M1: Kinematics transformation 2.6 Cartesian PTP travel 2.6.3.6 Example 2: PTP travel for generic 5-axis transformation Assumption: Right-angled CA kinematics used as basis. Program code Comment TRAORI ;Transformation CA kinematics ON ; Activate PTP traversal N10 A3=0 B3=0 C3=1 ; rotary axis positions C=0 A=0 N20 A3=1 B3=0 C3=1 ;...
  • Page 113 M1: Kinematics transformation 2.6 Cartesian PTP travel Program code Comment N120 G1 X30 Y20 N110 X30 Y0 Traversing from the pole with PTPG0 and TRANSMIT N070 X20 Y2 N060 X0 Y0 N050 X10 Y0 Programming Comment N001 G0 X90 Z0 F10000 T1 D1 G90 ;Initial setting N002 SPOS=0 N003 TRANSMIT...
  • Page 114: Supplementary Conditions

    M1: Kinematics transformation 2.6 Cartesian PTP travel 2.6.4 Supplementary conditions Tool radius compensation (TRC) With PTP/PTPWOC, no tool radius compensation (TRC) can be active, because PTP/ PTPWOC creates contours other than those calculated by the TRC. The response is different for PTPG0. Here, with active TRC, an internal switchover to CP takes place so that the TRC is performed correctly.
  • Page 115: Cartesian Manual Traversing (Option)

    M1: Kinematics transformation 2.7 Cartesian manual traversing (option) In addition, the following special features should be noted: ● Blending is always done in the machine coordinate system and it thus high-performance in terms of time. The criteria for G642 is always interpreted in the machine coordinate system and not as usual in the Cartesian basic coordinate system.
  • Page 116 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) ●...
  • Page 117 M1: Kinematics transformation 2.7 Cartesian manual traversing (option) Machine data MD24120$MC_TRAFO_GEOAX_ASSIGN_TAB_x[n] is used to assign the geometry axes. Simultaneous traversing in more than one direction permits the execution of movements that lie parallel to the directions of the reference system. Translation in the BCS The basic coordinate system (BCS) describes the Cartesian zero of the machine.
  • Page 118 M1: Kinematics transformation 2.7 Cartesian manual traversing (option) Translation in the WCS The workpiece coordinate system (WCS) lies in the workpiece zero. The workpiece coordinate system can be shifted and rotated relative to the basic coordinate system via frames. As long as no frame rotation is active, traversing motion corresponds to the translation of motion in the basic coordinate system.
  • Page 119 M1: Kinematics transformation 2.7 Cartesian manual traversing (option) Translation in the TCS The tool coordinate system (TCS) is at the tool center point. Its direction depends on the current setting of the machine, since the tool coordinate system moves during the motion. ①...
  • Page 120 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.
  • Page 121 M1: Kinematics transformation 2.7 Cartesian manual traversing (option) ① Start orientation ② End orientation Figure 2-23 Cartesian manual travel in the basic coordinate system, orientation angle B ① 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...
  • Page 122 M1: Kinematics transformation 2.7 Cartesian manual traversing (option) Orientation in the TCS The rotations are around the moving directions in the tool coordinate system. The current homing directions of the tool are always used as rotary axes. Figure 2-25 Cartesian manual travel in the tool coordinate system, orientation angle A Transformations Function Manual, 06/2019, A5E47435470B AA...
  • Page 123 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...
  • Page 124 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: ●...
  • Page 125 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 TRUE The G command PTP/CP currently active in the program does not affect Cartesian manual travel.
  • Page 126: Activating Transformation Machine Data Via Part Program/Softkey

    M1: Kinematics transformation 2.8 Activating transformation machine data via part program/softkey SD42650 $SC_CART_JOG_MODE Reference system for 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.
  • Page 127 M1: Kinematics transformation 2.8 Activating transformation machine data via part program/softkey MD24564 $MC_TRAFO5_NUTATOR_AX_ANGLE_n for an active transformation with MD24100 $MC_$MC_TRAFO_TYPE = 16 (5-axis transformation with rotatable tool and two mutually perpendicular rotary axes A and B) since this particular machine data is not involved in the transformation.
  • Page 128: Control Response To Power On, Mode Change, Reset, Block Search, Repos

    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).
  • Page 129: List Of Machine Data Affected

    M1: Kinematics transformation 2.8 Activating transformation machine data via part program/softkey 2.8.4 List of machine data affected The machine data that can be activated are listed below. All transformations Machine data which are relevant for all transformations: ● MD24100 $MC_TRAFO_TYPE_1 to MD24480 $MC_TRAFO_TYPE_10 ●...
  • Page 130 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:...
  • Page 131: Example

    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: ●...
  • Page 132: Data Lists

    M1: Kinematics transformation 2.9 Data lists Program code Comment N190 M30 Data lists 2.9.1 Machine data 2.9.1.1 TRANSMIT Channelspecific machine data Number Identifier: $MC_ Description 20110 RESET_MODE_MASK Definition of control basic setting after run-up and RESET/part program end 20140 TRAFO_RESET_VALUE Basic transformation position 22534 TRAFO_CHANGE_M_CODE...
  • Page 133: Tracyl

    M1: Kinematics transformation 2.9 Data lists Number Identifier: $MC_ Description 24464 TRAFO_GEOAX_ASSIGN_TAB_8 Geo-axis assignment for 8th transformation 24900 TRANSMIT_ROT_AX_OFFSET_1 Deviation of rotary axis from zero position in degrees (1st TRANSMIT) 24910 TRANSMIT_ROT_SIGN_IS_PLUS_1 Sign of rotary axis for TRANSMIT (1st TRANSMIT) 24911 TRANSMIT_POLE_SIDE_FIX_1 Limitation of working range in front of/behind pole, 1st trans‐...
  • Page 134 M1: Kinematics transformation 2.9 Data lists Number Identifier: $MC_ Description 24432 TRAFO_AXES_IN_5 Axis assignment for the 5th transformation 24434 TRAFO_GEOAX_ASSIGN_TAB_5 Geo-axis assignment for 5th transformation 24436 TRAFO_INCLUDES_TOOL_5 Tool handling with active transformation 5. 24440 TRAFO_TYPE_6 Definition of the 6th transformation in channel 24442 TRAFO_AXES_IN_6 Axis assignment for the 6th transformation...
  • Page 135: Traang

    M1: Kinematics transformation 2.9 Data lists 2.9.1.3 TRAANG Channelspecific machine data Number Identifier: $MC_ Description 20110 RESET_MODE_MASK Definition of control basic setting after run-up and RESET/part program end 20140 TRAFO_RESET_VALUE Basic transformation position 20144 RAFO_MODE_MASK Selection of the kinematic transformation function 20534 TRAFO_CHANGE_M_CODE M code for transformation changeover...
  • Page 136: Chained Transformations

    M1: Kinematics transformation 2.9 Data lists Number Identifier: $MC_ Description 24760 TRAANG_BASE_TOOL_2 Distance of tool zero point from origin of geometry axes (2nd TRAANG) 24770 TRAANG_PARALLEL_ACCEL_RES_1 Axis acceleration reserve of parallel axis for compensatory motion (1st TRAANG) 24771 TRAANG_PARALLEL_ACCEL_RES_2 Axis acceleration reserve of parallel axis for compensatory motion (2nd TRAANG) 2.9.1.4 Chained transformations...
  • Page 137: F2: Multi-Axis Transformations

    F2: Multi-axis transformations Brief description 3.1.1 General specifications Transformation data set A transformation is defined with a specific number of machine data. All machine data of a transformation data set are marked using the same prefix <x>. With <x> = 1, 2, 3, ... maximum number of possible transformations in the channel.
  • Page 138 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: ●...
  • Page 139: 3-Axis And 4-Axis Transformation

    F2: Multi-axis transformations 3.1 Brief description Special cases of 5-Axis transformation The following transformations are to be entered as special cases of the general 5-Axis transformation: ● 3-axis and 4-axis transformation There are 2 or 3 linear axes and a rotary axis. ●...
  • Page 140: Orientation Transformation With A Swiveling Linear Axis

    F2: Multi-axis transformations 3.1 Brief description Figure 3-2 Schematic diagram of a 4-axis transformation with moveable workpiece 3.1.4 Orientation transformation with a swiveling linear axis. 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.
  • Page 141 F2: Multi-axis transformations 3.1 Brief description ① Linear axis 1 (X) ② Linear axis 2 (Y) ③ Swiveling linear axis 3 (Z) Figure 3-3 Schematic diagram of a machine with swiveling linear axis Transformations Function Manual, 06/2019, A5E47435470B AA...
  • Page 142: Universal Milling Head

    F2: Multi-axis transformations 3.1 Brief description 3.1.5 Universal milling head 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 ●...
  • Page 143: Orientation Axes

    F2: Multi-axis transformations 3.1 Brief description 3.1.6 Orientation axes Model for describing change in orientation There is no such simple correlation between axis motion and change in orientation in case of robots, hexapodes or nutator kinamatics, as in the case of conventional 5-axes machines. For this reason, the change in orientation is defined by a model that is created independently of the actual machine.
  • Page 144: Cartesian Ptp Travel

    F2: Multi-axis transformations 3.1 Brief description 3.1.8 Cartesian PTP travel 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.
  • Page 145: Orientation Compression

    F2: Multi-axis transformations 3.2 5-axis transformation See also Cartesian PTP travel (Page 97) 3.1.12 Orientation compression During the execution of NC programs containing blocks with relatively short traverse paths, the interpolator clock cycle can lead to a reduction in tool path velocity and a corresponding increase in machining time.
  • Page 146: Machine Types For 5-Axis Transformation

    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. 3.2.2 Machine types for 5-axis transformation Depending on the orientation capability of tool and workpiece, machines are classified according to machine types 1, 2 and 3.
  • Page 147: Configuration Of A Machine For 5-Axis Transformation

    F2: Multi-axis transformations 3.2 5-axis transformation Machine types Number Swivel head workpiece table Machine type Tool ① Rotary axes A and C fixed Two-axis swivel head with the axis ar‐ Orientable rangement CA ② Rotary axis B Rotary axis C Single-axis swivel head and single-axis ro‐...
  • Page 148 F2: Multi-axis transformations 3.2 5-axis transformation MD24100 $MC_TRAFO_TYPE_<x> = <transformation type> where x = 1, 2, ... maximum number of transformations Axis se‐ Machine type 1 Machine type 2 Machine type 3 quence of the (tool that can be swiveled/ (workpiece that can be (tool/workpiece that can be machine...
  • Page 149 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): ●...
  • Page 150 F2: Multi-axis transformations 3.2 5-axis transformation Examples ① Machine zero ② Zero point tool table Position vector in MCS $MC_TRAFO5_PART_OFFSET_<x>[0 ..2] Vector of programmed position in BCS Tool correction vector $MC_TRAFO5_BASE_TOOL_<x>[0 .. 2] MD24560 $MC_TRAFO5_JOINT_OFFSET_<x>[0 .. 2] Figure 3-7 Schematic diagram of CA kinematics, moved tool Transformations Function Manual, 06/2019, A5E47435470B AA...
  • Page 151 F2: Multi-axis transformations 3.2 5-axis transformation ① Machine zero ② Zero point tool table Position vector in MCS $MC_TRAFO5_PART_OFFSET_<x>[0 ..2] Vector of programmed position in BCS Tool correction vector $MC_TRAFO5_BASE_TOOL_<x>[0 .. 2] $MC_TRAFO5_JOINT_OFFSET_<x>[0 .. 2] Figure 3-8 Schematic diagram of CB kinematics, moved workpiece Transformations Function Manual, 06/2019, A5E47435470B AA...
  • Page 152 F2: Multi-axis transformations 3.2 5-axis transformation ① Machine zero ② Zero point tool table Position vector in MCS $MC_TRAFO5_PART_OFFSET_<x>[0 ..2] Vector of programmed position in BCS Tool correction vector $MC_TRAFO5_BASE_TOOL_<x>[0 .. 2] $MC_TRAFO5_JOINT_OFFSET_<x>[0 .. 2] Figure 3-9 Schematic diagram of AC kinematics, moved tool, moved workpiece, moved tool Sign handling for rotary axes The sign handling of rotary axes involved in 5-axis transformation is set in the channel using machine data:...
  • Page 153: Tool Orientation

    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.
  • Page 154 F2: Multi-axis transformations 3.2 5-axis transformation MD10620 $MN_EULER_ANGLE_NAME_TAB (name of Euler angles) Direction vector via: MD10640 $MN_DIR_VECTOR_NAME_TAB (name of direction vectors) The tool orientation can be located in any block. Above all, it can be programmed alone in a block, resulting in a change of orientation in relation to the tool tip which is fixed in its relationship to the workpiece.
  • Page 155 F2: Multi-axis transformations 3.2 5-axis transformation ① Process the surface F1 along the edge of F2 ② Retraction ③ Orientation change B: +90° A: -30° ④ Approach of area F2 ⑤ Process the surface F2 along the edge of F1 Figure 3-11 Change in cutter orientation while processing inclined edges Transformations...
  • Page 156 F2: Multi-axis transformations 3.2 5-axis transformation ② 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 ORIMKS constitutes the basic setting The basic setting can be changed via the following machine data: MD20150 MC_GCODE_RESET_VALUES (RESET position of G groups) MD20150 $MC_GCODE_RESET_VALUES [24] = 1 ⇒...
  • Page 157: Singular Positions And Handling

    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.
  • Page 158 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): ●...
  • Page 159 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.
  • Page 160: 3-Axis And 4-Axis Transformations

    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 ●...
  • Page 161: Transformation With Swiveled Linear Axis

    F2: Multi-axis transformations 3.4 Transformation with swiveled linear axis Parameter assignment procedure ● Enter the type of transformation according to the previous table as machine data: $MC_TRAFO_TYPE_n ● Assign channel axes to the geometry axes of the transformation. ● For a 3-axis transformation, set the values for the axis, which is not required: –...
  • Page 162 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"...
  • Page 163 F2: Multi-axis transformations 3.4 Transformation with swiveled linear axis Kinematics <type> Bits 6 - 0 1st rotary axis 2nd rotary axis swiveled linear axis 10 00 100 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: ●...
  • Page 164 F2: Multi-axis transformations 3.4 Transformation with swiveled linear axis Figure 3-15 Projections of the vectors to be set in the machine data 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.
  • Page 165 F2: Multi-axis transformations 3.4 Transformation with swiveled linear axis ① Linear axis 1 (X) ② Linear axis 2 (Y) ③ Swiveling linear axis 3 (Z) Figure 3-16 Machine in the zero position ① Stand ② Fixture ③ Axis of the tool Figure 3-17 Front view: Vectors for machine in the zero position Transformations...
  • Page 166 F2: Multi-axis transformations 3.4 Transformation with swiveled linear axis ① Stator with clamping device ② Swivel axis of the linear axis Figure 3-18 Top view: Vectors for machine in the zero position Determination of the machine data values Perform the following operation: 1.
  • Page 167: Cardan Milling Head

    F2: Multi-axis transformations 3.5 Cardan milling head Cardan milling head 3.5.1 Fundamentals of 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)".
  • Page 168 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:...
  • Page 169: Parameterization

    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 φ...
  • Page 170: Traverse Of The Cardan Milling Head In Jog Mode

    F2: Multi-axis transformations 3.6 Programming of the 3- to 5-axis transformation Axis se‐ Moving component: Bits 6 - 5 quence: Tool Workpiece Tool/workpiece Bits 0 - 2 Zero position Zero position Zero position BC' / B'C CA' / C'A CB' / C'B 1) Orientation of the tool in the zero position: Bits 3 - 4 x: Transformation type can be set -: Transformation type cannot be set...
  • Page 171 F2: Multi-axis transformations 3.6 Programming of the 3- to 5-axis transformation DB21, ... DBX33.6 = 1 (transformation active) Deactivation With the TRAFOOF command disables the currently active 3- to 5-axis transformation. The disable of the transformation resets the NC/PLC interface signal: DB21, ...
  • Page 172: Generic 5-Axis Transformation And Variants

    F2: Multi-axis transformations 3.7 Generic 5-axis transformation and variants 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)").
  • Page 173: Description Of Machine Kinematics

    F2: Multi-axis transformations 3.7 Generic 5-axis transformation and variants 3.7.2 Description of machine kinematics 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.
  • Page 174: Generic Orientation Transformation Variants

    F2: Multi-axis transformations 3.7 Generic 5-axis transformation and variants MD24572 $MC_TRAFO5_AXIS2_1[0] = 0.0 (direction 2nd rotary axis) MD24572 $MC_TRAFO5_AXIS2_1[1] = 1.0 MD24572 $MC_TRAFO5_AXIS2_1[2] = 0,0 3.7.3 Generic orientation transformation 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...
  • Page 175 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: ●...
  • Page 176: Parameterization Of Orientable Toolholder Data

    F2: Multi-axis transformations 3.7 Generic 5-axis transformation and variants 3.7.4 Parameterization of orientable toolholder data 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.
  • Page 177 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.
  • Page 178 F2: Multi-axis transformations 3.7 Generic 5-axis transformation and variants Assignment for all types of transformation together identical MD24520 $MC_TRAFO5_ROT_SIGN_IS_PLUS_1[0] (sign of rotary TRUE* axis 1/2/3 for 5-axis transformation 1) MD24520 $MC_TRAFO5_ROT_SIGN_IS_PLUS_1[1] TRUE* *) Machine data MD24520/MD24620 $MC_TRAFO5_ROT_SIGN_IS_PLUS_1/2 are redundant. They are used to invert the direction of rotation of the assigned rotary axis. However, this can also be achieved by inverting the direction of axis vector $MC_TRAFO5_AXIS1/2_1/2.
  • Page 179: Extension Of The Generic Transformation To 6 Axes

    F2: Multi-axis transformations 3.7 Generic 5-axis transformation and variants Transformation type "P" (in accordance with MD24100 $MC_TRAFO_TYPE_1 = 40) MD24500 $MC_TRAFO5_PART_OFFSET_1[1] $TC_CARR19 (+$TC_TCARR59) MD24500 $MC_TRAFO5_PART_OFFSET_1[2] $TC_CARR20 (+$TC_TCARR60) Assignments for transformation type 56 Toolholder data assignments dependent on transformation type 56 Transformation type "M"...
  • Page 180 F2: Multi-axis transformations 3.7 Generic 5-axis transformation and variants Parameter assignment: Transformation type The transformation type is set on a channel-for-channel basis using: $MC_TRAFO_TYPE_<x> = <transformation type> The transformation type to be set is obtained from the machine type and/or the allocation of the three rotary axes regarding tool and workpiece orientation: <Transformation type>...
  • Page 181 F2: Multi-axis transformations 3.7 Generic 5-axis transformation and variants Parameter assignment: Direction vector of the 3rd rotary axis The direction vector of the third rotary axis is set in: $MC_TRAFO5_AXIS3_<x>[ 0 ... 2 ] = <direction vector component> Parameter assignment: Tool normal vector It is not permissible that the tool normal vector is in parallel or is antiparallel to the basic tool orientation vector (MD24574 $MC_TRAFO5_BASE_ORIENT_<x>).
  • Page 182: Extension Of The Generic Transformation To 7 Axes

    F2: Multi-axis transformations 3.7 Generic 5-axis transformation and variants Orientation normal vector Vector components (x,y,z) of the orientation normal vector of a tool can be defined in the tool data using $TC_DPVN3 - $TC_DPVN5. The significance of the vector components is analogous to the vector components of the orientation vector: ●...
  • Page 183 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 ).
  • Page 184 F2: Multi-axis transformations 3.7 Generic 5-axis transformation and variants Description of the kinematics The 7-axis transformation builds on the generic 5-/6-axis transformation. 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.
  • Page 185 F2: Multi-axis transformations 3.7 Generic 5-axis transformation and variants Position vector in MCS $MC_TRAFO5_PART_OFFSET_n[0..2] Vector of programmed position in the WCS Tool correction vector $MC_TRAFO5_BASE_TOOL_n[0..2] $MC_TRAFO5_JOINT_OFFSET_n[0..2] jo23: $MC_TRAFO6_JOINT_OFFSET_2_3_n[0..2] Figure 3-21 Schematic diagram of 7-axis kinematics 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.
  • Page 186 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).
  • Page 187: Cartesian Manual Travel With Generic Transformation

    F2: Multi-axis transformations 3.7 Generic 5-axis transformation and variants 3.7.7 Cartesian manual travel with generic transformation 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: ●...
  • Page 188: Restrictions For Kinematics And Interpolation

    F2: Multi-axis transformations 3.8 Restrictions for kinematics and interpolation SD42660 $SC_ORI_JOG_MODE = <value> Value Meaning The virtual kinematics are defined using transformation Rotation with Euler angles: Rotation sequence, ZX'Z'' convention: Rotation with Euler angles: XY'Z'' convention (RPY angle) Rotation with Euler angles: Rotation sequence ZY'X'' convention (RPY angles) Defining the rotation sequence using: MD21120 $MC_ORIAX_TURN_TAB_1 Defining the rotation sequence using: MD21130 $MC_ORIAX_TURN_TAB_2 For further explanations regarding orientation motion (see Chapter "Orientation (Page 191)"...
  • Page 189: Singularities Of Orientation

    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.
  • Page 190 F2: Multi-axis transformations 3.8 Restrictions for kinematics and interpolation Figure 3-22 Generic 5-axis transformation; end point of orientation inside tolerance circle. End point within the circle If the end point is within the circle, the first axis comes to a standstill and the second axis moves until the difference between target and actual orientation is minimal.
  • Page 191: Orientation

    F2: Multi-axis transformations 3.9 Orientation Orientation 3.9.1 Basic orientation Differences to the previous 5-axis transformations In the 5-axis transformations implemented to date, basic orientation of the tool was defined by the type of transformation. Generic 5-axis transformation can be used to enable any basic tool orientation, i.e. space orientation of the tool is arbitrary, with axes in their initial positions.
  • Page 192 F2: Multi-axis transformations 3.9 Orientation Definition by the orientation of the active tool The basic orientation is determined by the tool, if: ● it has not been defined by specifying a direction vector in the transformation call ● a tool is already active. The orientation of a tool is dependent on the selected plane.
  • Page 193: Orientation Movements With Axis Limits

    F2: Multi-axis transformations 3.9 Orientation 3.9.2 Orientation movements with axis limits Calculate rotary axis position If the final orientation in a 5-axis transformation is programmed indirectly in an NC block by means of a Euler, RPY angle or direction vector, it is necessary to calculate the rotary axis positions that produce the desired orientation.
  • Page 194: Orientation Compression

    F2: Multi-axis transformations 3.9 Orientation 3.9.3 Orientation compression 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: ●...
  • Page 195 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>...
  • Page 196 F2: Multi-axis transformations 3.9 Orientation xx2x Blocks with value assignments are compressed. Blocks with programmed tool orientation are not compressed. xx3x Blocks with programmed tool orientation and / or value assignments are not compressed. Hundreds digit (Compression of blocks, except linear blocks (G1)) x0xx Circular blocks and G0 blocks are not compressed.
  • Page 197 F2: Multi-axis transformations 3.9 Orientation Programming tool orientation using rotary axis positions Tool orientation can be also specified using rotary axis positions, e.g. with the following structure: N... X=<...> Y=<...> Z=<...> A=<...> B=<...> C=<...> THETA=<...> F=<...> In this case, compression is executed in two different ways, depending on whether large-radius circular interpolation is executed.
  • Page 198: Smoothing Of The Orientation Characteristic

    F2: Multi-axis transformations 3.9 Orientation Further information Function Manual Basic Functions; Continuous-path mode, exact stop, LookAhead > Compressor functions 3.9.4 Smoothing of the orientation characteristic 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.
  • Page 199: Activating/Deactivating The Orientation Characteristic (Orison, Orisof)

    F2: Multi-axis transformations 3.9 Orientation Maximum block path length The orientation characteristic is only smoothed in blocks whose traversing distance is shorter than the settable maximum block path length: MD20178 $MC_ORISON_BLOCK_PATH_LIMIT Blocks with longer traversing distances interrupt smoothing and are traversed as programmed. Maximum tolerance Smoothing of the orientation characteristic is carried out with the specified maximum tolerance being observed (maximum angular displacement of tool orientation in degrees):...
  • Page 200: Path-Relative Orientation (Oripath, Oripaths, Orirotc)

    F2: Multi-axis transformations 3.9 Orientation Program code Comment $SC_ORISON_TOL=1.0 ; Maximum angular deviation of the tool orientation = 1.0 degrees. X10 A3=1 B3=0 C3=1 X10 A3=–1 B3=0 C3=1 X10 A3=1 B3=0 C3=1 X10 A3=–1 B3=0 C3=1 X10 A3=1 B3=0 C3=1 X10 A3=–1 B3=0 C3=1 X10 A3=1 B3=0 C3=1 X10 A3=–1 B3=0 C3=1...
  • Page 201 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. ●...
  • Page 202 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>...
  • Page 203 F2: Multi-axis transformations 3.9 Orientation xx2x 1st rotation LEAD: Rotation of the orientation vector O and the path tangent vector B around the path normal vector B ⇒ O' and B' 2nd rotation TILT: Rotation of the new orientation vector O' around the new path tangent vector B' ⇒...
  • Page 204 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.
  • Page 205 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. Parameterization: Setting data SD42670 (path section to the orientation smoothing) Using the setting data, a path section is specified, within which, for a tool orientation step at a block transition, it is possible to deviate from the programmed orientation path in order to smooth the orientation path.
  • Page 206: Programming Of Orientation Polynominals

    F2: Multi-axis transformations 3.9 Orientation Path-relative interpolation of the rotation (ORIROTC) For 6-axis transformations, in addition to the path-relative interpolation of all of the components of the tool orientation (rotation around each of the three axes of rotation), using ORIROTC it is possible that only the rotation of the tool around the orientation vector relative to the path tangent is interpolated.
  • Page 207 F2: Multi-axis transformations 3.9 Orientation Type 2 polynomials Orientation polynomials of type 2 are polynomials for coordinates PO[XH]: x coordinate of the reference point on the tool PO[YH]: y coordinate of the reference point on the tool PO[ZH]: z coordinate of the reference point on the tool Polynomials for angle of rotation and rotation vectors For 6-axis transformations, the rotation of the tool around itself can be programmed for tool orientation.
  • Page 208 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. Rotations of rotation vectors with ORIROTC The rotation vector is interpolated relative to the path tangent with an offset that can be programmed using the THETA angle.
  • Page 209: System Variable For Tool Orientation

    F2: Multi-axis transformations 3.9 Orientation Alarms An illegally programmed polynomial is signaled with the following alarms: Alarm 14136: Orientation polynomial is generally not allowed. Alarm 14137: Polynomials PO[PHI] and PO[PSI] are not permitted. Alarm 14138: Polynomials PO[XH], PO[YH], PO[ZH] are not permitted. Alarm 14139: Polynomial for angle of rotation PO[THT] is not permitted.
  • Page 210 F2: Multi-axis transformations 3.9 Orientation Rotation vector in the BCS For a 6-axis kinematics, in addition to the orientation of the tool, there is also a rotation of the tool, which can be changed. System variable Meaning $P_TOOLROT[<i>] ; <i> = 1, 2, 3 i-th component of the actual rotation vector in the NC program $AC_TOOLR_ACT[<i>]...
  • Page 211 F2: Multi-axis transformations 3.9 Orientation System variable Meaning $VC_TOOL_O[<i>,<j>] ; <i> =1, 2, 3 i-th component of the vector of the actual orientation in various coordinate systems <j> ; <j> = 0, 1, 2 $VC_TOOL_O_DIFF[<j>] ; <j> = 0, 1, 2 Angle in degrees between reference and actual val‐...
  • Page 212: Orientation Axes

    F2: Multi-axis transformations 3.10 Orientation axes 3.10 Orientation axes 3.10.1 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: ●...
  • Page 213: Jog Mode

    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) MD24410 $MC_TRAFO5_AXES_IN_4[n] (axis assign‐...
  • Page 214: Programming For Orientation Transformation

    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.
  • Page 215 F2: Multi-axis transformations 3.10 Orientation axes Machine data MD21102 $MC_ORI_DEF_WITH_G_CODE (definition of ORI axes via G command) is used to specify whether MD21100 $MC_ORIENTATION_IS_EULER (angle definition for orientation programming) is active (default) or G group 50. The following four variants are available for programming orientation: 1.
  • Page 216: Programmable Offset For Orientation Axes

    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.
  • Page 217: Orientation Transformation And Orientable Tool Holders

    F2: Multi-axis transformations 3.10 Orientation axes Programming offset automatically As the offset is transferred automatically from the currently active zero offset on the orientation axes, the effects of zero offset on rotary axes are always the same, both with and without active transformation.
  • Page 218: Modulo Display Of Orientation Axes

    F2: Multi-axis transformations 3.10 Orientation axes 3.10.6 Modulo display of 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.
  • Page 219: Orientation Vectors

    F2: Multi-axis transformations 3.11 Orientation vectors 3.11 Orientation vectors 3.11.1 Polynomial interpolation of orientation vectors Programming of polynomials for axis motions The rotary axes are normally subjected to linear interpolation in case of orientation changes with the help of rotary axis interpolation. However, it is also possible to program the polynomials as usual for the rotary axes.
  • Page 220 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 ("AXES"): For all path axes and supplementary axes ("VECT"):...
  • Page 221 F2: Multi-axis transformations 3.11 Orientation vectors The coefficients a and b are specified in degrees. PO[PHI]=(a The angle PHI is interpolated according to PHI(u) = a *u + a PO[PSI]=(b The angle PHI is interpolated according to PSI(u) = b *u + b Length of the parameter interval where polynomials are defined.
  • Page 222 F2: Multi-axis transformations 3.11 Orientation vectors PHI and PSI angle Programming of polynomials for the two angles PO[PHI] and PO[PSI] is always possible. Whether the programmed polynomials are actually interpolated for PHI and PSI depends on: ● POLYPATH("VECT") and ORIVECT are active, then the polynomials will be interpolated. ●...
  • Page 223: Rotations Of Orientation Vector

    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;...
  • Page 224 F2: Multi-axis transformations 3.11 Orientation vectors Programming of orientation direction and rotation While the direction of rotation is already defined when you program the orientation with RPY angles, additional parameters are needed to specify the direction of rotation for the other orientations: 1.
  • Page 225 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.
  • Page 226 F2: Multi-axis transformations 3.11 Orientation vectors Non-modal switchover to incremental dimensions THETA = IC(...) Programming a polynomial for rotation angle THETA. PO[THT] = (...) Angle THETA is programmed in degrees. Interpolation of the rotation vector is defined by modal G commands: Angle of rotation to an absolute direction of rotation ORIROTA Angle of rotation relative to the plane between the start and end...
  • Page 227: Extended Interpolation Of Orientation Axes

    F2: Multi-axis transformations 3.11 Orientation vectors 3.11.3 Extended interpolation of orientation axes 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.
  • Page 228 F2: Multi-axis transformations 3.11 Orientation vectors Programming orientation interpolation in a plane: Interpolation in a plane ORIPLANE (large circle interpolation) orientation interpolation on a cone clockwise: Interpolation on ORICONCW the peripheral surface of a cone in the clockwise direction orientation interpolation on a cone counter clockwise: Interpo‐ ORICONCCW lation on the peripheral surface of a cone in the counter-clock‐...
  • Page 229 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. Angle of rotation and opening angle The following may be programmed additionally for the angle of the cone: angle of rotation for orientation about the direction axis...
  • Page 230 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.
  • Page 231: Online Tool Length Offset

    F2: Multi-axis transformations 3.12 Online tool length offset Examples Various changes in orientation are programmed in the following program example: Program code Comment N10 G1 X0 Y0 F5000 N20 TRAORI ; orientation transformation active. N30 ORIVECT ; interpolate tool orientation as vector N40 ORIPLANE ;...
  • Page 232 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.
  • Page 233 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...
  • Page 234 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.
  • Page 235: Examples

    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.
  • Page 236 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...
  • Page 237 F2: Multi-axis transformations 3.13 Examples Approach initial position: N100 G1 x1 y0 z0 a0 b0 F20000 G90 G64 T1 D1 G17 ADIS=.5 ADISPOS=3 Orientation vector programming: 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...
  • Page 238: Example Of A 3-Axis And 4-Axis Transformation

    F2: Multi-axis transformations 3.13 Examples 3.13.2 Example of a 3-axis and 4-axis transformation 3.13.2.1 Example of a 3-axis transformation Example: For the schematically represented machine (see "Figure 3-1 Schematic diagram of 3-axis transformation (Page 139)"), the 3-axis transformation can be projected as follows: Program code Comment $MC_TRAFO_TYPE_n = 18...
  • Page 239 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 ; angle of second rotary axis $MC_TRAFO5_NUTATOR_AX_ANGLE_1 = 45 Program Program code Comment ;...
  • Page 240: Example For Orientation Axes

    F2: Multi-axis transformations 3.13 Examples 3.13.4 Example for orientation axes Example 1: 3 orientation axes for the 1st orientation transformation for kinematics with 6 transformed axes. Rotation must be done in the following sequence: ● firstly about the Z axis. ●...
  • Page 241 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 ●...
  • Page 242: Examples For Orientation Vectors

    F2: Multi-axis transformations 3.13 Examples 3.13.5 Examples for orientation vectors 3.13.5.1 Example for polynomial interpretation of orientation vectors Orientation vector in Z-X plane The orientation vector is programmed directly in the examples below. The resulting movements of the rotary axes depend on the particular kinematics of the machine. Program code Comment N10 TRAORI...
  • Page 243: Example Of Rotations Of Orientation Vector

    F2: Multi-axis transformations 3.13 Examples 3.13.5.2 Example of rotations of orientation vector Rotations with angle of rotation THETA In the following example, the angle of rotation is interpolated in linear fashion from starting value 0 degrees to end value 90 degrees. The angle of rotation changes according to a parabola or a rotation can be executed without a change in orientation.
  • Page 244 F2: Multi-axis transformations 3.13 Examples Relevant machine data is as follows: 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 ;...
  • Page 245: Example Of A Generic 6-Axis Transformation

    F2: Multi-axis transformations 3.13 Examples Program code Comment ; basic orientation → B0 C0 N200 TRAORI(,2.0, 3.0, 6.0) ; Pass basic orientation in call N210 A3=2 B3=3 C3=6 ; Orientation parallel to ; basic orientation → B0 C0 N220 TOFRAME ;...
  • Page 246: Example Of A Generic 7-Axis Transformation

    F2: Multi-axis transformations 3.13 Examples Program code Comment N140 $TC_DPV4[2,2]= 0 ; Y component N150 $TC_DPV5[2,2]= 0.5 ; Z component ; Orientation normal vector N160 $TC_DPVN3[2,2]= 0 ; X component N170 $TC_DPVN4[2,2]= 1 ; Y component N180 $TC_DPVN5[2,2]= 0 ; Z component N200 TRAORI( ) ;...
  • Page 247: Example For The Modification Of Rotary Axis Motion

    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. 3.13.6.4 Example for the modification of rotary axis motion The machine is a 5-axis machine of machine type 1 (two-axis swivel head with CA kinematics) on which both rotary axes rotate the tool (transformation type 24).
  • Page 248: Channelspecific Machine Data

    F2: Multi-axis transformations 3.14 Data lists Number Identifier: $MN_ Description 10642 ROT_VECTOR_NAME_TAB Name of rotation vectors 10644 INTER_VECTOR_NAME_TAB Name of intermediate vector components 10646 ORIENTATION_NAME_TAB Identifier for programming a 2nd orientation path 10648 NUTATION_ANGLE_NAME Name of orientation angle 10670 STAT_NAME Name of position information 10672 TU_NAME...
  • Page 249 F2: Multi-axis transformations 3.14 Data lists Number Identifier: $MC_ Description 21194 TOFF_VELO Speed of online offset in tool direction 21196 TOFF_ACCEL Acceleration of online offset in tool direction 24100 TRAFO_TYPE_1 Definition of transformation 1 in channel 24110 TRAFO_AXES_IN_1[n] Axis assignment for transformation 1 [axis index] 24120 TRAFO_GEOAX_ASSIGN_TAB_1[n] Assignment geometry axis to channel axis for transfor‐...
  • Page 250 F2: Multi-axis transformations 3.14 Data lists Number Identifier: $MC_ Description 24510 TRAFO5_ROT_AX_OFFSET_1[n] Position offset of rotary axis 1/2 for 5-axis transformation 1 [axis no.] 24520 TRAFO5_ROT_SIGN_IS_PLUS_1[n] Sign of rotary axis 1/2 for 5-axis transformation 1 [axis no.] 24530 TRAFO5_NON_POLE_LIMIT_1 Definition of pole range for 5-axis transformation 1 24540 TRAFO5_POLE_LIMIT_1 End angle tolerance with interpolation through pole for 5-...
  • Page 251: Channelspecific Machine Data

    F2: Multi-axis transformations 3.14 Data lists Number Identifier: $MC_ Description 24660 TRAFO5_JOINT_OFFSET_2[n] Vector of kinematic offset for 5-axis transformation 2 [n = 0.. 2] 24661 TRAFO6_JOINT_OFFSET_2_3_2[n] Vector of kinematic offset for 6-axis transformation 2_3_2 24662 TRAFO5_TOOL_ROT_AX_OFFSET_2[n] Offset of focus of 2nd 5-axis transformation with swiv‐ eled linear axis.
  • Page 252 F2: Multi-axis transformations 3.14 Data lists Number Identifier: $MC_ Description 21108 POLE_ORI_MODE Behavior during large circle interpolation at pole position 21120 ORIAX_TURN_TAB_1[n] Assignment of rotation of orientation axes about the ref‐ erence axes, definition 1 [n = 0..2] 21130 ORIAX_TURN_TAB_2[n] Assignment of rotation of orientation axes about the ref‐...
  • Page 253 F2: Multi-axis transformations 3.14 Data lists Number Identifier: $MC_ Description 24444 TRAFO_GEOAX_ASSIGN_TAB_6[n] Assignment geometry axis to channel axis for transfor‐ mation 6 [geometry no.] 24450 TRAFO_TYPE_7 Definition of transformation 7 in channel 24452 TRAFO_AXES_IN_7[n] Axis assignment for transformation 7 [axis index] 24454 TRAFO_GEOAX_ASSIGN_TAB_7[n] Assignment geometry axis to channel axis for transfor‐...
  • Page 254: Setting Data

    F2: Multi-axis transformations 3.14 Data lists Number Identifier: $MC_ Description 25394 TRAFO7_EXT_ROT_AX_OFFSET_4 Angle offset of the 4th external rotary axis 25395 TRAFO7_EXT_AXIS1_4 Direction of the 4th external rotary axis 28580 MM_ORIPATH_CONFIG Configuration for path relative orientation ORIPATH 3.14.2 Setting data 3.14.2.1 General setting data Number...
  • Page 255: K12 Transformation Definitions With Kinematic Chains

    K12 transformation definitions with kinematic chains 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.
  • Page 256: Definition Of Kinematic Transformations

    K12 transformation definitions with kinematic chains 4.1 Function description Definition of the kinematic transformation The definition of kinematic transformations via kinematic chains is used to standardize the definition of the previous transformation types. The following transformations are taken into consideration: ●...
  • Page 257 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: ●...
  • Page 258: Dynamic Orientation Transformation Traori_Dyn

    K12 transformation definitions with kinematic chains 4.1 Function description Figure 4-2 Transformation elements in the kinematic chain See also Examples (Page 325) 4.1.3 Dynamic orientation transformation TRAORI_DYN A dynamic orientation transformation is understood to mean a kinematic transformation in which the movements of any rotary axes are compensated by compensation movements of a maximum of three linear axes in such a way that the coordinates of the tool tip in the workpiece coordinate system remain unchanged.
  • Page 259 K12 transformation definitions with kinematic chains 4.1 Function description 3 and 4-axis transformation 3 and 4-axis transformations are special cases of the 5-axis transformation, see 3-axis and 4- axis transformations (Page 160). Possible versions are listed below: Transformation Characteristics 3-axis transformation 2 translation axes (linear axes) 1 rotary axis 4-axis transformation...
  • Page 260 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). ●...
  • Page 261 K12 transformation definitions with kinematic chains 4.1 Function description Machine measurement for orientation transformation With the CORRTRAFO (Page 318) function, measured lever arm lengths and axis directions can be written in correction elements: ● $NT_CORR_ELEM_T[n, 0 ...3]; names of the correction elements (type "OFFSET") in the kinematic chain (tool chain) which can be written to by CORRTRAFO.
  • Page 262: Face End Transformation Transmit

    K12 transformation definitions with kinematic chains 4.1 Function description 4.1.4 Face end transformation TRANSMIT In this chapter, a description is provided as to how a end face transformation is mapped using a kinematic chain and parameterized in the control system using system variables. The TRANSMIT transformation permits end face machining (drill holes, contours) on turning machines.
  • Page 263 K12 transformation definitions with kinematic chains 4.1 Function description Coordinate systems for end face transformations The workpiece coordinate system and the basic coordinate system are independent of the world coordinate system in which the kinematic chains are defined. ● The Z axis is parallel to the polar axis (axis CM - see above) and parallel to the longitudinal axis, if it is defined.
  • Page 264 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: Decimal Order of the geometry axes Behavior when passing through the pole The behavior when passing through the pole is defined via the system variable $NT_POLE_SIDE_FIX VALUE Meaning...
  • Page 265: Cylinder Surface Transformation Tracyl

    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. ●...
  • Page 266 K12 transformation definitions with kinematic chains 4.1 Function description Figure 4-5 Cylinder surface transformation (TRACYL) Activating a transformation with TRAFOON In addition to the name of the transformation, the reference diameter can also be specified for TRACYL and a setting as to whether the "Slot side offset" function is active is also possible: TRAFOON (<transformation name>, <diameter>, <k>) With k = 1, the slot side offset is carried out, see Activating a transformation (TRAFOON) (Page 317).
  • Page 267 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.
  • Page 268 K12 transformation definitions with kinematic chains 4.1 Function description Slot side offset In connection with bit 9 = 1, you can set whether TRACYL is operated with or without slot side offset upon activation of the transformation via TRAFOON. "Slot side active" corresponds to transformation type 514.
  • Page 269: Oblique Angle Transformation (Inclined Axis) Traang_K

    K12 transformation definitions with kinematic chains 4.1 Function description 4.1.6 Oblique angle transformation (inclined axis) TRAANG_K In this chapter, a description is provided as to how an oblique angle transformation (TRAANG_K) is mapped using a kinematic chain and parameterized in the control system using system variables.
  • Page 270: Static Orientation Transformation Traori_Stat

    K12 transformation definitions with kinematic chains 4.1 Function description 4.1.7 Static orientation transformation TRAORI_STAT Static orientation transformations differ from dynamic orientation transmissions in that it is not possible to carry out interpolator compensating movements in such a way that the tool tip adheres to the path programmed in the NC program in the workpiece coordinate system.
  • Page 271: Effective Transformations Upon Reset

    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.
  • Page 272: Simulation/Simultaneous Recording With Kinematic Chains

    K12 transformation definitions with kinematic chains 4.1 Function description 4.1.11 Simulation/simultaneous recording with kinematic chains Machine data $MNS_FUNCTION_MASK_SIM To correctly carry out the simulation and simultaneous recording, the machine data MD 51226 $MNS_FUNCTION_MASK_SIM Bit 22 must be set. The transformations TRAORI_DYN, TRANSMIT_K, TRACYL_K and TRAANG_K are affected by this.
  • Page 273: Frames For Kinematic Transformations

    K12 transformation definitions with kinematic chains 4.1 Function description The following also applies: ● If a transformation has been defined conventionally and with a kinematic chain, the transformation is called via a kinematic chain. ● No check is made to determine whether the called transformation is of a type that is compatible with the transformation type of the original call.
  • Page 274: Tool Lengths

    K12 transformation definitions with kinematic chains 4.2 Commissioning 4.1.14 Tool lengths 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.
  • Page 275 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).
  • Page 276: Machine Data

    K12 transformation definitions with kinematic chains 4.2 Commissioning 4.2.2 Machine data 4.2.2.1 Maximum number of transformations with kinematic chains The maximum number of transformations that can be defined with kinematic chains is set using the machine data MD18866 $MN_MM_NUM_KIN_TRAFOS = <number> 4.2.2.2 Name of the reset transformation The name of a transformation is specified with the machine data that is selected during run-up/...
  • Page 277: Use Of System Variables For Kinematic Transformations

    K12 transformation definitions with kinematic chains 4.2 Commissioning 4.2.3 Use of system variables for kinematic transformations 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).
  • Page 278: System Variables For General Transformation Types

    K12 transformation definitions with kinematic chains 4.2 Commissioning Variable BTSS (column TRAORI_ST TRAORI_DY TRANS‐ TRAC‐ TRAANG ind.) MIT_K YL_K $NT_BASE_TOOL_COMP 1396 $NT_ROT_AX_OFFSET[n, 0..2] 1324-1326 "x" affects the transformation. "-" has no effect on the transformation "~" has no effect on the transformation in the NCK, but can be properly used for purposes outside of NC. "Numbers"...
  • Page 279: Nt_Name

    K12 transformation definitions with kinematic chains 4.2 Commissioning System variable Meaning $NT_CORR_ELEM_P Names of a maximum of four correction elements in the kinematic chain for the workpiece $NT_CNTRL Control word The system variables are described in detail in the following sections. Note Element names The system does not monitor as to whether the element names of the kinematic chain, which...
  • Page 280: Nt_Trafo_Index

    K12 transformation definitions with kinematic chains 4.2 Commissioning System variable or transformation index <n>: Data type: Range of values: 1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1) Transformation name, max. string length: 31 characters <name>: Data type: STRING Example The name "5-axis transformation C-B" is assigned to the first transformation with kinematic chains: Program code Comment...
  • Page 281: Nt_Trafo_Type

    K12 transformation definitions with kinematic chains 4.2 Commissioning Tens and hundreds Transformation number $NT_TRAFO_INDEX: digits (xxBBx) (continued) The number <n>, which references the nth channel-specific machine dataset of this type (MD24100ff or MD25100ff) for a conventional call of a transfor‐ mation type, e.g.
  • Page 282: Nt_T_Chain_First_Elem

    K12 transformation definitions with kinematic chains 4.2 Commissioning Meaning Transformation type $NT_TRAFO_TYPE: Data type: STRING Default value: "" Value range: Value Meaning "TRAORI_DYN" Dynamic orientation transformation with orientation axes "TRAORI_STAT" Static orientation transformation with‐ out orientation axes "TRAANG" Inclined angle transformation without orientation axes "TRAANG_K"...
  • Page 283 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...
  • Page 284: Nt_P_Chain_First_Elem

    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.
  • Page 285: Nt_T_Chain_Last_Elem

    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": Program code Comment N100 $NT_P_CHAIN_FIRST_ELEM[1] = "Base- ;...
  • Page 286: Nt_P_Chain_Last_Elem

    K12 transformation definitions with kinematic chains 4.2 Commissioning System variable or transformation index <n>: Data type: Range of val‐ 1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1) ues: Name of an element of the currently active kinematic chain <ElementName>: Data type: STRING Example For the first transformation, the name of the element of the kinematic chain that defines the end...
  • Page 287: Nt_T_Ref_Elem

    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: ""...
  • Page 288: Nt_Geo_Ax_Name

    K12 transformation definitions with kinematic chains 4.2 Commissioning Meaning Name of the element of the kinematic chain that is currently in effect, $NT_T_REF_ELEM: 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 System variable or transformation index...
  • Page 289: Nt_Rot_Ax_Name

    K12 transformation definitions with kinematic chains 4.2 Commissioning System variable or transformation index <n>: Data type: Value range: 1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1) Index for the elements that define the geometry axes <k>: Data type: Range of val‐ 0: X coordinate (abscissa) ues: 1: Y coordinate (ordinate)
  • Page 290 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 Names of the elements of the kinematic chain currently in effect, which $NT_ROT_AX_NAME: define the rotary axes Data type:...
  • Page 291: Nt_Rot_Ax_Offset

    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. ●...
  • Page 292: Nt_Close_Chain_P

    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.
  • Page 293: Nt_Close_Chain_T

    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.
  • Page 294: Nt_Rot_Offset_From_Frame

    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.
  • Page 295: Nt_Trafo_Includes_Tool

    K12 transformation definitions with kinematic chains 4.2 Commissioning System variable or transformation index <n>: Data type: Value range: 0, 1, 2 ROTOffset Rotary axis offset Example The 2nd transformation is assigned the name "B axis": Program code Comment N100 $NT_ROT_OFFSET_FROM_FRAME[1] = ;...
  • Page 296: Nt_Aux_Pos

    K12 transformation definitions with kinematic chains 4.2 Commissioning Example The 2nd transformation is assigned the name "B axis": Program code Comment N100 $NT_TRAFO_INCLUDE_TOOL[1] = ; 1st transformation, "1" ; tool length is processed within the transformation. 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.
  • Page 297: Nt_Ident

    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: Program code Comment ; 1st transformation, ; position vector: N100 $NT_AUX_POS[1,0] = 1.0 ; X coordinate (abscissa) N110 $NT_AUX_POS[1,1] = 1.0 ;...
  • Page 298: Nt_Cntrl

    K12 transformation definitions with kinematic chains 4.2 Commissioning Example The following administration data is entered for the first transformation: (1000, 100, 0) Program code Comment ; 1st transformation, ; position vector: N100 $NT_AUX_POS[1,0] = 1000 ; identifier: Toolholder N110 $NT_AUX_POS[1,1] = 100 ;...
  • Page 299 K12 transformation definitions with kinematic chains 4.2 Commissioning Value Meaning 4 - 6 Orientation axes with Hirth joint Bit 4: 1st orientation axis Bit 5: 2nd orientation axis Bit 6: 3rd orientation axis The orientation axis is not Hirth-coupled. The orientation axis is Hirth-coupled. Note ●...
  • Page 300 K12 transformation definitions with kinematic chains 4.2 Commissioning Value Meaning The direction of rotation of the pole axis remains unchanged. The direction of rotation of the pole axis is inverted. 12 ... 15 Reserved for OEM transformations. 16 ... 18 Binary coding using bits 16, 17 and 18 (bits H10000 - H40000) defines how the channel axes, which are entered in $NT_GEO_AX_NAME [n,1], $NT_GEO_AX_NAME [n,2] and $NT_GEO_AX_NAME [n,3], are assigned to the...
  • Page 301: Nt_Rot_Ax_Cnt

    K12 transformation definitions with kinematic chains 4.2 Commissioning Example The third orientation axis of the first transformation is Hirth-coupled. Program code Comment N100 $NT_CNTRL[1] = 'B001000000' ; 1st transformation, 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.
  • Page 302: Nt_Base_Tool_Comp

    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.
  • Page 303: Additive System Variable For Orientation Transformation

    K12 transformation definitions with kinematic chains 4.2 Commissioning 4.2.5 Additive system variable for orientation transformation 4.2.5.1 Overview System variable Meaning $NT_BASE_ORIENT Basic tool orientation $NT_BASE_ORIENT_NORMAL Normal vector of the orientation $NT_ROT_AX_POS Axis positions of the orientation axes, which are parameterized as constant rotations $NT_POLE_LIMIT End angle tolerance with interpolation through pole...
  • Page 304: Nt_Base_Orient_Normal

    K12 transformation definitions with kinematic chains 4.2 Commissioning Syntax $NT_BASE_ORIENT[<n>,<k>] = <VectorComp> Meaning Rotation vector of the basic tool orientation (X; Y; Z) $NT_BASE_ORIENT: Data type: REAL Default value: (0.0, 0.0, 1.0) Value range: Direction vector: 1*10 < |Vector | ≤ max. REAL value System variable or transformation index <n>: Data type:...
  • Page 305: Nt_Rot_Ax_Pos

    K12 transformation definitions with kinematic chains 4.2 Commissioning Syntax $NT_BASE_ORIENT_NORMAL[<n>,<k>] = <VectorComp> Normal vector of the basic tool orientation (X; Y; Z) $NT_BASE_ORIENT_NORMA Data type: REAL Default value: (0.0, 1.0, 0.0) Value range: Normal vector: 1*10 < |Vector | ≤ max. REAL value System variable or transformation index <n>: Data type:...
  • Page 306: Nt_Pole_Limit

    K12 transformation definitions with kinematic chains 4.2 Commissioning Meaning Positions of the orientation axes due to the constant rotation $NT_ROT_AX_POS: Data type: REAL Default value: (0.0, 0.0, 0.0) Range of val‐ - max. REAL value ≤ x ≤ + max. REAL value ues: System variable or transformation index <n>:...
  • Page 307 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. ① Pole ② Equatorial plane ③ Programmed path ④...
  • Page 308: Nt_Pole_Limit

    K12 transformation definitions with kinematic chains 4.2 Commissioning System variable or transformation index <n>: Data type: Range of val‐ 1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1) ues: Tolerance value <PoleTolAngle>: Data type: REAL Example A pole angle of 2.54° is set for the first transformation: Program code Comment N100 $NT_POLE_LIMIT[1] = 2.54...
  • Page 309 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.
  • Page 310: Nt_Pole_Tol

    K12 transformation definitions with kinematic chains 4.2 Commissioning System variable or transformation index <n>: Data type: Range of val‐ 1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1) ues: Tolerance value <PoleTolAngle>: Data type: REAL Example A pole angle of 2.54° is set for the first transformation: Program code Comment N100 $NT_POLE_LIMIT[1] = 2.54...
  • Page 311: Nt_Ignore_Tool_Orient

    K12 transformation definitions with kinematic chains 4.2 Commissioning Angle <PoleTolLim>: Data type: REAL Example An end angle tolerance of 2.54° is defined for the first transformation: Program code Comment N100 $NT_POLE_TOL[1] = 2.54 ; 1st transformation, ; end angle tolerance 4.2.5.8 $NT_IGNORE_TOOL_ORIENT Function...
  • Page 312: Nt_Corr_Elem_T

    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: Program code Comment N100 $NT_IGNORE_TOOL_ORIENT[1] = TRUE ;...
  • Page 313: Nt_Corr_Elem_P

    K12 transformation definitions with kinematic chains 4.2 Commissioning Name of an element of the kinematic chain that is currently in effect, <CORR_TElementName>: which accepts an offset value (linear offset). Data type: STRING Example Defines an correction element in the tool chain that is used to include offset values. Program code Comment $NT_CORR_ELEM_T(1,2) = Corr_1;...
  • Page 314: Additive System Variable For Face Transformation (Transmit)

    K12 transformation definitions with kinematic chains 4.2 Commissioning Position in the kinematic tool chain <k>: Data type: Value range: 0...3 Name of an element of the kinematic chain that is currently in effect, which <CORR_PElementName>: accepts an offset value (linear offset). Data type: STRING Example...
  • Page 315: Nt_Pole_Side_Fix

    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 Names of the elements of the kinematic chain currently in effect, which $NT_POLE_SIDE_FIX: define the rotary axes Data type:...
  • Page 316: Additive System Variables For Transformation Chains (Tracon_K)

    K12 transformation definitions with kinematic chains 4.2 Commissioning 4.2.7 Additive system variables for transformation chains (TRACON_K) 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.
  • Page 317: Programming

    K12 transformation definitions with kinematic chains 4.3 Programming Programming 4.3.1 Activating a transformation (TRAFOON) A transformation defined with kinematic chains is activated with the predefined TRAFOON procedure. The call must be alone in a block. Note Alternatively, a transformation defined with kinematic chains can also be activated via conventional NC commands, such as TRAORI or TRANSMIT.
  • Page 318: Modifying The Orientation Transformation After The Machine Measurement (Corrtrafo)

    K12 transformation definitions with kinematic chains 4.3 Programming 4.3.2 Modifying the orientation transformation after the machine measurement (CORRTRAFO) For machines with orientation transformations that were defined by means of kinematic chains, the user can use the predefined CORRTRAFO function in order to modify the offset vectors or the direction vectors of the orientation axes in the kinematic model of the machine after a machine measurement.
  • Page 319 K12 transformation definitions with kinematic chains 4.3 Programming Meaning Function call CORRTRAFO: Transformations Function Manual, 06/2019, A5E47435470B AA...
  • Page 320 K12 transformation definitions with kinematic chains 4.3 Programming Function return value <Corr_Status>: Data type: Values: 0 The function was executed without an error. 1 No transformation is active. 2 The currently active transformation is not an orientation trans‐ formation. 3 The active orientation transformation was not defined with kin‐ ematic chains.
  • Page 321 K12 transformation definitions with kinematic chains 4.3 Programming 42 For the correction of a direction vector, the angular displace‐ ment compared to the current direction is greater than the maximum value specified by the setting data SD41611 $SN_CORR_TRAFO_DIR_MAX. 43 The attempt to write a system variable was rejected because of missing write rights.
  • Page 322 K12 transformation definitions with kinematic chains 4.3 Programming Correction mode <Corr_Mode>: Data type: The <Corr_Index> parameter is decimal coded (units to thousands position): Units Specifies which element is to be corrected. position: xxx0 Correction of a linear offset vector xxx1 Correction of the direction vector of an orientation axis Tens Specifies how the correction element to which the content position:...
  • Page 323 K12 transformation definitions with kinematic chains 4.3 Programming Behavior in the event of an error (return value > 0) (optional) <No_Alarm>: Data type: BOOL Value: FALSE In the event of an error, the program processing is stop‐ (default) ped and alarm 14103 is displayed. TRUE In the event of an error, the program processing is not stopped and no alarm is displayed.
  • Page 324 K12 transformation definitions with kinematic chains 4.3 Programming Figure 4-7 CORRTRAFO example 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.
  • Page 325: Examples

    K12 transformation definitions with kinematic chains 4.4 Examples Point to close the tool chain If the $NT_CLOSE_CHAIN_T system variable is not empty, the tool chain is not closed at the end point of the chain, but rather at the end point of the designated chain element. Other chain elements that are behind this point result in a corresponding work offset when the transformation is activated.
  • Page 326 K12 transformation definitions with kinematic chains 4.4 Examples Transformation with a kinematic chain Two kinematic chains are defined for the description: ● One kinematic chain points to the workpiece reference point (workpiece coordinate system). ● The second kinematic chain points to the tool reference point. ●...
  • Page 327 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.
  • Page 328: Part Program For Traori_Dyn

    K12 transformation definitions with kinematic chains 4.4 Examples 4.4.2 Part program for TRAORI_DYN Example program "5-axis transformation C-B" Transformations Function Manual, 06/2019, A5E47435470B AA...
  • Page 329 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”) <...
  • Page 330 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 N350 $NK_OFF_DIR[KIE_CNTR,2] = 300.0 N360 KIE_CNTR = KIE_CNTR + 1 ;=========================================================== ; definition of the C axis in the Z direction - refers to axis C1 ;=========================================================== N370 $NK_NAME[KIE_CNTR] = "C axis"...
  • Page 331 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" Transformations Function Manual, 06/2019, A5E47435470B AA...
  • Page 332: Part Program For Transmit

    K12 transformation definitions with kinematic chains 4.4 Examples 4.4.3 Part program for TRANSMIT Example program "5-axis transformation C-B" Transformations Function Manual, 06/2019, A5E47435470B AA...
  • Page 333 K12 transformation definitions with kinematic chains 4.4 Examples Program code ;=========================================================== ; Simple example of TRANSMIT with kinematic chain: ;****************************************************** DEF INT _KIE_CNTR DEF INT _TRA_CNTR R2 = DELOBJ("TRAFO_DATA") R2 = DELOBJ("KIN_CHAIN_ELEM") _KIE_CNTR _TRA_CNTR ; Definition of the kinematic chain ;****************************************************** $NK_NAME[_KIE_CNTR] = "ROOT"...
  • Page 334 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"...
  • Page 335: Part Program For Tracyl

    K12 transformation definitions with kinematic chains 4.4 Examples 4.4.4 Part program for TRACYL Example program "TRACYL" Transformations Function Manual, 06/2019, A5E47435470B AA...
  • Page 336 K12 transformation definitions with kinematic chains 4.4 Examples Program code ;=========================================================== ; Simple example of TRACYL with kinematic chain: ;****************************************************** N640 $NK_NAME[_KIE_CNTR] = "ROOT" N650 $NK_TYPE[_KIE_CNTR] = "OFFSET" N660 $NK_NEXT[_KIE_CNTR] = "Z-Axis" N670 $NK_PARALLEL[_KIE_CNTR] = "C-Axis" N680 _KIE_CNTR = _KIE_CNTR + 1 N690 $NK_NAME[_KIE_CNTR] = "Z-Axis"...
  • Page 337 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'...
  • Page 338: Part Program For Traang

    K12 transformation definitions with kinematic chains 4.4 Examples 4.4.5 Part program for TRAANG Example program "TRAANG" Program code ;=========================================================== ; Simple example of TRAANG with kinematic chain ;****************************************************** N2000 $NK_NAME[_KIE_CNTR] = "ROOT" N2010 $NK_TYPE[_KIE_CNTR] = "OFFSET" N2020 $NK_NEXT[_KIE_CNTR] = "X-Axis" N2030 $NK_PARALLEL[_KIE_CNTR] = ""...
  • Page 339 K12 transformation definitions with kinematic chains 4.4 Examples Program code Transformations Function Manual, 06/2019, A5E47435470B AA...
  • Page 340 K12 transformation definitions with kinematic chains 4.4 Examples Transformations Function Manual, 06/2019, A5E47435470B AA...
  • Page 341: Appendix

    Appendix List of abbreviations Output ADI4 (Analog drive interface for 4 axes) Adaptive Control Active Line Module Rotating induction motor 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...
  • Page 342 Appendix A.1 List of abbreviations Computerized Numerical Control: Computer-Supported Numerical Control Connector Output Certificate of License Communication Compiler Projecting Data: Configuring data of the compiler Cathode Ray Tube: picture tube Central Service Board: PLC module Control Unit Communication Processor Central Processing Unit: Central processing unit Carriage Return Clear To Send: Ready to send signal for serial data interfaces CUTCOM...
  • Page 343 Appendix A.1 List of abbreviations Input Execution from External Storage Input/Output Encoder: Actual value encoder Compact I/O module (PLC I/O module) Electrostatic Sensitive Devices ElectroMagnetic Compatibility European standard 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...
  • Page 344 Appendix A.1 List of abbreviations GSDML Generic Station Description Markup Language: XML-based description language for creating a GSD file Global User Data: Global user data Abbreviation for hexadecimal number AuxF Auxiliary function Hydraulic linear drive Human Machine Interface: SINUMERIK user interface Main Spindle Drive Hardware Commissioning...
  • Page 345 Appendix A.1 List of abbreviations Position Measuring System Position controller Least Significant Bit: Least significant bit Local User Data: User data (local) Media Access Control MAIN Main program: Main program (OB1, PLC) Megabyte Motion Control Interface MCIS Motion Control Information System Machine Control Panel: Machine control panel Machine Data Manual Data Automatic: Manual input...
  • Page 346 Appendix A.1 List of abbreviations Process Image Output Process Image Input 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 PC Unit: PC box (computer unit) Programming device Parameter identification: Part of a PIV Parameter identification: Value (parameterizing part of a PPO)
  • Page 347 Appendix A.1 List of abbreviations R Parameter, arithmetic parameter, predefined user variable R Parameter Active: Memory area in the NC for R parameter numbers Roll Pitch Yaw: Rotation type of a coordinate system RTLI Rapid Traverse Linear Interpolation: Linear interpolation during rapid traverse motion Request To Send: Control signal of serial data interfaces RTCP Real Time Control Protocol...
  • Page 348 Appendix A.1 List of abbreviations Terminal Board (SINAMICS) Tool Center Point: Tool tip TCP/IP Transport Control Protocol / Internet Protocol Thin Client Unit Testing Data Active: Identifier for machine data Totally Integrated Automation Terminal Module (SINAMICS) Tool Offset: Tool offset Tool Offset Active: Identifier (file type) for tool offsets TRANSMIT Transform Milling Into Turning: Coordination transformation for milling operations on a...
  • Page 349 Appendix A.1 List of abbreviations Extensible Markup Language Work Offset Active: Identifier for work offsets Status word (of drive) Transformations Function Manual, 06/2019, A5E47435470B AA...
  • Page 350 Appendix A.1 List of abbreviations Transformations Function Manual, 06/2019, A5E47435470B AA...
  • Page 351: Index

    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...
  • Page 352 Index DB21, … DBX33.6, 171 Defining geometry axes, 127 Direction of rotation, 228 7-axis transformation, 183 Direction vector, 228 Example, 246 Kinematics, 184 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...
  • Page 353 Index TRACYL, 265 MD24100, 148, 176, 177, 178, 179, 180 TRANSMIT, 262 MD24110, 148, 177, 213 Kinematics MD24120, 117 Swiveling linear axis, 140 MD24200, 176, 179 Kinematics transformation MD24210, 177 Definition, 256 MD24410, 213 Dynamic orientation transformation, 258 MD24432, 213 MD24462, 213 MD24500, 178, 179 MD24510, 177...
  • Page 354 Index Online tool length offset, 231 Opening angle, 229 Opening angle of the cone, 227 Operating modes Replaceable geometry axis, 33 JOG, 186 Restrictions for kinematics and interpolation, 188 Optimization of velocity control, 71 Rotary axis of the cone, 227 ORICONCCW, 228, 230 Rotary axis position ORICONCW, 228, 230...
  • Page 355 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...
  • Page 356 Index Transformations Function Manual, 06/2019, A5E47435470B AA...

This manual is also suitable for:

Sinumerik 840d sl

Table of Contents