|
|
Kinematic transformations
5.7 Cartesian PTP travel
If for axis 6, bit 14 in MD30455 $MA_MISC_FUNCTION_MASK is set to "1", axis 6 is traversed to
-120°.
5.7.2.4
Displaying STAT and TU
In the SINUMERIK Operate user interface, in the "Machine" operating area, users can track the
actual values of STAT (Page 183) and TU (Page 188):
Precondition: The display of STAT and TU is activated when commissioning SINUMERIK Operate.
Further information
SINUMERIK Operate Commissioning Manual; Adapt operating area of machine > Display STAT
and TU
5.7.3
Programming
5.7.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.
In order that the Cartesian target point can be uniquely converted into machine axis values, in
addition to position and angular data, information is also necessary that identifies the axis
positions. This data is retrieved from the adjustable addresses STAT (Page 183) and TU
(Page 188).
Requirement
Transformation TRAORI_DYN, TRAORI_STAT, TRANSMIT_K, RCTRA or ROBX is active
(conventional TRAORI and TRANSMIT).
RCTRA or ROBX are not available for kinematic chains.
Transformations
182
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Kinematic transformations
5.7 Cartesian PTP travel
Syntax
PTP / PTPG0 / PTPWOC
CP
Meaning
PTP:
Activating point-to-point motion PTP
The programmed Cartesian position in G0 and G1 blocks is approached with synchro-
nous axis motion.
PTPG0:
Activating point-to-point motion PTPG0
Only in G0 blocks is the programmed Cartesian position approached with synchronous
axis motion. In G1 blocks, a switchover is made to CP path motion.
PTPWOC:
Activate point-to-point movement PTPWOC (only possible if orientation transformation
is active)
Just the same as PTP, however, without any compensatory motion, which is caused by
motion of rotary axes and orientation axes.
CP:
Deactivating point-to-point motion and activating path motion CP
Cartesian path motion is executed with CP.
Note
PTPWOC
It does not make any sense to use PTPWOC in combination with a RCTRA or ROBX transformation!
RCTRA or ROBX are not available for kinematic chains.
Examples
See:
• Example 1: PTP travel of a 6-axis robot with ROBX transformation (Page 190)
• Example 2: PTP travel for generic 5-axis transformation (Page 192)
• Example 3: PTPG0 and TRANSMIT (Page 192)
5.7.3.2
Specify the position of the joints (STAT)
Position data with Cartesian coordinates and specification of the tool orientation are not
sufficient to uniquely identify the machine position, as several joint positions are possible for the
same tool orientation. Depending on the kinematics involved, there can be as many as 8
different joint positions. These different joint positions are transformation-specific.
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
183
Kinematic transformations
5.7 Cartesian PTP travel
In an order to avoid any ambiguity, the joint positions are specified under the STAT address.
Note
The control takes into account programmed STAT values only for PTP motions. They are ignored
with CP motions because a change of position is not normally possible while traversing with an
active transformation. When traversing with active CP, the position for the target point is taken
from the starting point.
Syntax
STAT=<Value>
Meaning
STAT:
Adjustable address to specify joint positions
<value>:
Binary or decimal value
Contains one bit for each possible position. The significance of the bits is defined by the
particular transformation.
The use of STAT is to be illustrated by the example of a 6-axis articulated robot with milling
spindle. The kinematic transformation is to be realized using the ROBX robot transformation
(precondition: Compile cycle "RMCC/ROBX Transformation Extended Robotics" is loaded and
active).
Note
Example with ROBX only with conventional machine data parameterization
The example is only possible with machine data parameterization, not with kinematic chains.
Transformations
184
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Kinematic transformations
5.7 Cartesian PTP travel
$
$
$
$
$
$
Axes A1, A2 and A3 are the main axes of the articulated robot. The axes A4, A5 and A6, which
are also designated as head or hand/wrist axes, are positioned in the working area with the main
axes. The additional motion options of the hand/wrist axes enable the milling spindle to be
orientated in space as required for the particular machining task. Various articulated joint
positions are possible to achieve the same tool orientation.
The articulated joint positions required for machining are selected by programming bit 0 ... 2 of
the adjustable STAT address:
Bit 0
Position of the intersection points of the hand/wrist axes (A4, A5, A6)
= 0
Basic range (shoulder right)
The robot is in the basic range if the X value of
the intersection point of the hand/wrist axes
is positive in relation to to the A1 coordinate
system.
= 1
Overhead range (shoulder left)
The robot is in the overhead range if the X
value of the intersection point of the hand/
wrist axes is negative in relation to the A1 co-
ordinate system.
%LW
%LW
;
;
Example: The intersection point of
the hand/wrist axes lies in the basic
range
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
185
Kinematic transformations
5.7 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:
= 0
A3 <0° (elbow down)
= 1
A3 ≥0° (elbow up)
Note:
For robots with an offset between axes 3 and 4, the
angle at which the value of bit 1 changes depends on
the magnitude of this offset.
Offset between A3 and A4
Bit 2
Position of axis 5
= 0
A5 ≥0° (no handflip)
= 1
A5 <0° (handflip)
Program example:
Program code
Comment
N14 T="T8MILLD20" D1
; $TC_DP3[1,1]=132.95
N16 ORIMKS
N17 G1 PTP X1665.67 Y0 Z1377.405 A=0 B=0 C=0 STAT=... F2000
; The STAT value defines
the articulated joint
positions (see below)
STAT=1 ('B001')
→ Shoulder left
=
→ Elbow down
→ No handflip
<
;
Transformations
186
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Kinematic transformations
5.7 Cartesian PTP travel
STAT=2 ('B010')
→ Shoulder right
=
→ Elbow up
→ No handflip
<
;
STAT=5 ('B101')
→ Shoulder left
=
→ Elbow down
→ Handflip
<
;
STAT=6 ('B110')
→ Shoulder right
=
→ Elbow up
→ Handflip
<
;
TRANSMIT_K (conventional TRANSMIT)
For TRANSMIT_K, the address STAT is used to resolve the ambiguity regarding the pole.
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
187
Kinematic transformations
5.7 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 $NT_POLE_SIDE_FIX[n] = 1 or 2
for machine data parameterization the $MC_TRANSMIT_POLE_SIDE_FIX_1/2 = 1 or 2:
= 0
Rotary axis traverses through +180º or rotates clockwise.
= 1
Rotary axis rotates through -180º or rotates counterclockwise.
Bit 1
Only relevant for $NT_POLE_SIDE_FIX[n] = 0
for machine data parameterization the $MC_TRANSMIT_POLE_SIDE_FIX_1/2 = 0:
= 0
The axis traverses through the pole. The rotary axis does not rotate.
= 1
The axis rotates around the pole. Bit 0 of STAT is relevant.
5.7.3.3
Specify the sign of the axis angle (TU)
In order that rotary axes can also approach axis angles exceeding +180° or less than -180°
without requiring a special traversing strategy (e.g. intermediate point), the sign of the axis
angle must be specified under the adjustable address TU.
Note
The control only takes into account programmed TU values for PTP motion. CP motion is ignored.
Syntax
TU=<Value>
Meaning
TU:
Adjustable address to specify axis angle signs
<value>:
Binary or decimal value
For each axis that is involved in the transformation, there is a bit that indicates the sign
of the axis angle (θ), and therefore the traversing direction.
Bit
= 0
Axis angle sign: +
Axis angular range: 0° ≤ θ < 360°
= 1
Axis angle sign: -
Axis angular range: - 360° < θ < 0°
Example: 6-axis articulated robot
Transformations
188
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Kinematic transformations
5.7 Cartesian PTP travel
$
$
$
$
$
$
Bit
Meaning
Value
Axis angle
Axis angle
sign
Bit 0 1)
Sign for the axis angle of A1
= 0
+/-
≥ 0°
= 1
-
< 0°
Bit 1 1)
Sign for the axis angle of A2
= 0
+/-
≥ 0°
= 1
-
< 0°
Bit 2 1)
Sign for the axis angle of A3
= 0
+/-
≥ 0°
= 1
-
< 0°
Bit 3 1)
Sign for the axis angle of A4
= 0
+/-
≥ 0°
= 1
-
< 0°
Bit 4 1)
Sign for the axis angle of A5
= 0
+/-
≥ 0°
= 1
-
< 0°
Bit 5 1)
Sign for the axis angle of A6
= 0
+/-
≥ 0°
= 1
-
< 0°
1)
The actual TU bit numbers obtained from the channel axis numbers of the robot axes! In the example,
robot axes (A1 to A6) are the first six axes in the channel; as a consequence, TU bits 0 ... 5 are used. For
another channel axis assignment of the robot axes, the TU bit numbers of the robot axes would
correspondingly change (e.g.: robot axes are the 3rd to 8th channel axis, i.e. TU bits 2 ... 7 are used for
the robot axes).
TU=19 (corresponds to TU='B010011) would therefore signify:
Bit
Value
Axis angle
0
= 1
⇒
θA1 <0°
1
= 1
⇒
θA2 <0°
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
189
Kinematic transformations
5.7 Cartesian PTP travel
2
= 0
⇒
θ
A3
≥0°
3
= 0
⇒
θA4 ≥0°
4
= 1
⇒
θA5 <0°
5
= 0
⇒
θA6 ≥0°
Note
In the case of axes with a traversing range > ±360°, the axis always moves along the shortest
path because the axis position cannot be specified uniquely by the TU information.
If no TU is programmed for a position, then depending on MD30455
$MA_MISC_FUNCTION_MASK (Page 181) the shorter or longer path is traversed.
TRANSMIT_K (conventional TRANSMIT)
For PTP travel with TRANSMIT active, the address of TU has no meaning!
Example
The rotary axis position shown in the following diagram can be approached in the negative or
positive direction. The angular position is programmed under address A1. The traversing
direction is only absolutely clear when TU is specified.
6WDUWLQJ SRVLWLRQ
1HJDWLYH GLUHFWLRQ
$
r 78 ELW
3RVLWLYH GLUHFWLRQ
$
r 78 ELW
7DUJHW SRVLWLRQ
5.7.3.4
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.
Note
Only with conventional machine data parameterization
The example does not work with kinematic chains.
Transformations
190
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Kinematic transformations
5.7 Cartesian PTP travel
=
<
;
Figure 5-20
6-axis articulated robot with milling spindle
N1 G90
N2 T=“T8MILLD20“ D1 M6
N3 TRAORI
;$P_UIFR[1]=CTRANS(X,1500,Y,0,Z,400):CROT(X,0,Y,0,Z,-90)
N4 G54
N5 M3 S20000
N6 ORIWKS
N7 ORIVIRT1
N8 CYCLE832(0.01,_FINISH,1)
;HOME
N9 TRAFOOF
N10 G0 RA1=0.0000 RA2=-90.0000 RA3=90.0000 A=0.0000 B=90.0000 C=0.0000
N11 TRAORI
N12 G54
N13 G0 PTP X1369.2426 Y956.7528 Z502.5517 A=135.5761 B=-33.2223
C=161.1435 STAT='B010' TU='B001011'
N14 G0 X1355.1242 Y1014.9394 Z424.9695 A=135.8491 B=-33.1439
C=160.9941 STAT='B010' TU='B001011'
N15 G1 CP X1354.8361 Y1016.1269 Z423.3862 A=136.0635 B=-33.0819 C=160.8770
F1000
N16 G1 X1336.4283 Y1016.1269 Z426.6311 A=136.0484 B=-32.2151 C=160.9643
F2000
N17 G1 X1317.9831 Y1016.1269 Z429.6730 A=136.0175 B=-31.3394 C=161.0655
;HOME
N18 TRAFOOF
N19 G0 RA1=0.0000 RA2=-90.0000 RA3=90.0000 A=0.0000 B=90.0000 C=0.0000
N20 M30
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
191
Kinematic transformations
5.7 Cartesian PTP travel
5.7.3.5
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
PTP
; Activate PTP traversal
N10 A3=0 B3=0 C3=1
; rotary axis positions C=0 A=0
N20 A3=1 B3=0 C3=1
; rotary axis positions C=90 A=45
N30 A3=1 B3=0 C3=0
; rotary axis positions C=90 A=90
N40 A3=1 B3=0 C3=1 STAT=1
; rotary axis positions C=270 A=-45
Select clear approach position of rotary axis position:
In block N40, the rotary axes - as a result of the programming of STAT=1 - travel the longer
distance from their start point (C=90, A=90) to the end point (C=270, A=-45). On the other
hand, with STAT=0, the rotary axes would travel along the shortest path to the end point (C=90,
A=45).
5.7.3.6
Example 3: PTPG0 and TRANSMIT
Traversing around the pole with PTPG0 and TRANSMIT
<
PTP
CP
1
* ;
<
1
;
<
;
Program code
Comment
N001 G0 X30 Z0 F10000 T1 D1 G90
;Initial setting absolute dimension
N002 SPOS=0
N003 TRANSMIT
;TRANSMIT transformation
N010 PTPG0
; for each G0 block, automatically PTP -
and then CP again.
N020 G0 X30 Y20
N030 X-30 Y-20
Transformations
192
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Kinematic transformations
5.7 Cartesian PTP travel
Program code
Comment
N120 G1 X30 Y20
N110 X30 Y0
M30
Traversing from the pole with PTPG0 and TRANSMIT
<
PTP
CP
30
N070 X20 Y2
20
10
N060 X0 Y0
-30
-20
-10
10
20
30
;
-10
-20
-30
N050 X10 Y0
Programming
Comment
N001 G0 X90 Z0 F10000 T1 D1 G90
;Initial setting
N002 SPOS=0
N003 TRANSMIT
;TRANSMIT transformation
N010 PTPG0
; for each G0 block, automatically PTP -
and then CP again.
N020 G0 X90 Y60
N030 X-90 Y-60
N040 X-30 Y-20
N050 X10 Y0
N060 X0 Y0
N070 X-20 Y2
N170 G1 X0 Y0
N160 X10 Y0
N150 X-30 Y-20
M30
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
193
Kinematic transformations
5.7 Cartesian PTP travel
5.7.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.
Smooth approach and retraction (SAR)
If PTP/PTPWOC is active, SAR cannot be used, because SAR needs a contour to design the
approach and retraction and to be able to approach or retract tangentially.
With PTPG0, on the other hand, SAR is possible because the blocks required for SAR are traversed
with CP. The G0 blocks up to the actual approach contour are executed with PTP travel and
therefore quickly. The same applies to the retract blocks.
Chipping cycles
With active PTP/PTPWOC, chipping cycles such as CONTPRON or CONTDCON cannot be applied
because the chipping require a contour to be able to construct the cut segmentation.
With PTPG0, on the other hand, chipping cycles are possible because the blocks required for the
chipping cycles are traversed with CP.
Chamfer and rounding
Chamfer and rounding are ignored during PTP travel.
Axis overlay
An axis superimposing in the interpolation may not change during the PTP sequence. This
applies, for example, to LIFTFAST, fine tool offset, coupled motion TRAILON and tangential
follow-up TANGON.
NC block compression
In the PTP blocks, an active compressor function (COMP...) is automatically deselected.
Smoothing
Blending with G643 is not possible with the PTP travel. In the PTP blocks with an active G643,
there is an automatic switchover to G642.
Transformations
194
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Kinematic transformations
5.8 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.
• Smoothing G641 is determined as a function of the fictitious path calculated from the
machine axis coordinates.
Path feedrate
An F value input with G1 refers to the fictitious path calculated from the machine axis
coordinates.
Mode change
Cartesian PTP travel only makes sense in the modes AUTOMATIC and MDI.
When changing the mode to JOG, the current setting is retained:
• If PTP travel is set, the axes will traverse in MCS.
• If CP is set, the axes will traverse in WCS.
After returning to the AUTOMATIC or MDI mode, the status that was active before the switch to
JOG mode is restored.
Block search
If the face end transformation (TRANSMIT) is active, different machine axis positions for the
same Cartesian position can result if a program section is executed with block search.
REPOS
The setting for Cartesian PTP travel is not altered during repositioning. If PTP was set in the
interruption block, then repositioning also takes place with PTP.
5.8
Cartesian manual traversing (option)
Note
The "Handling transformation package" option is necessary for the "Cartesian manual travel"
function.
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
195
Kinematic transformations
5.8 Cartesian manual traversing (option)
Function
The "Cartesian manual travel" function, as a reference system for JOG mode, allows axes to be
set independently of each other in the following Cartesian coordinate systems:
• Basic coordinate system (BCS)
• Workpiece coordinate system (WCS)
• Tool coordinate system (TCS)
Adjustment and activation is done using machine data:
MD21106 $MC_CART_JOG_SYSTEM (coordinate systems for Cartesian JOG)
Bit
Meaning
0
Basic coordinate system
1
Workpiece coordinate system
2
Tool coordinate system
Note
The workpiece coordinate system has been shifted and rotated compared to the basic
coordinate system via frames.
More information:
Function Manual Basic Functions; Axes, coordinate systems, frames
Representation of the reference points in the coordinate system:
Workpiece zero
Tool carrier reference point
Selecting reference systems
For JOG motion, one of the three reference systems can be specified separately not only for
the translation (coarse offset) with geometry axes, but also for the orientation with orientation
axes via the following setting data:
SD42650 $SC_CART_JOG_MODE
If more than one bit is set for the translation or orientation reference system, or when an attempt
is made to set a reference system which was not released by the MD21106
$MC_CART_JOG_SYSTEM, the alarm 14148 "Reference system for Cartesian manual travel not
allowed" will be generated.
Translation
A translation movement can be used to move the tool center point (TCP) in parallel and 3-
dimensional to the axes of the reference system. The traversing movement is made via the VDI
signals of the geometry axes.
Transformations
196
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Kinematic transformations
5.8 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.
=
=
<
<
;
;
=
<
%.6
<
;
=
;
① Starting position
② End position
Figure 5-21
Cartesian manual travel in the basic coordinate system (translation)
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
197
Kinematic transformations
5.8 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.
=
=
<
<
;
;
=
<
:.6
<
;
=
;
① Workpiece
Figure 5-22
Cartesian manual travel in the workpiece coordinate system (translation)
Transformations
198
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Kinematic transformations
5.8 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.
=
=
<
<
<
;
=
:.6
%.6
;
;
① Starting position
② Frame
③ Workpiece
④ End position
Figure 5-23
Cartesian manual travel in the tool coordinate system (translation)
Translation and orientation simultaneously in the TCS
If translation and orientation movements are executed at the same time, the translation is
always traversed corresponding to the current orientation of the tool. This permits infeed
movements that are made directly in the tool direction or movements that run perpendicular to
tool direction.
Orientation
The tool can be aligned to the component surface via an orientation movement. The orientation
movement is given control from the PLC via the VDI signals of the orientation axes (DB21, ...
DBB321).
Several orientation axes can be traversed simultaneously. The virtual orientation axes execute
rotations around the fixed axes of the relevant reference system.
The rotations are identified according to the RPY angles.
• A angle: Rotation around the Z axis
• B angle: Rotation around the Y axis
• C angle: Rotation around the X axis
Programming rotations:
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
199
Kinematic transformations
5.8 Cartesian manual traversing (option)
The user can define how rotations are to be executed using the current G commands of group
50 for orientation definition
Specifying ORIEULER, ORIRPY, ORIVIRT1 and ORIVIRT2.
With ORIVIRT1, rotation is executed according to MD21120 $MC_ORIAX_TURN_TAB_1. The
orientation axes are assigned to the channel axes via machine data: MD24585
$MC_TRAFO5_ORIAX_ASSIGN_TAB_1.
The direction of rotation is determined according to the "right hand rule". The thumb points in
the direction of the rotary axis. The finger stipulates the positive direction of rotation.
Orientation in the WCS
The rotations are made around the defined directions of the workpiece coordinate system. If
frame rotation is active, the movements correspond to the rotations in the basic coordinate
system.
Orientation in the BCS
The rotations are made around the defined directions of the basic coordinate system.
=
<
$
;7.6
%.6
;
①
Start orientation
②
End orientation
Figure 5-24
Cartesian manual travel in the basic coordinate system, orientation angle A
Transformations
200
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Kinematic transformations
5.8 Cartesian manual traversing (option)
=
<
%
;7.6
%.6
;
①
Start orientation
②
End orientation
Figure 5-25
Cartesian manual travel in the basic coordinate system, orientation angle B
=
<
;7.6
&
%.6
;
① Start orientation
② End orientation
Figure 5-26
Cartesian manual travel in the basic coordinate system, orientation angle C
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
201
Kinematic transformations
5.8 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 5-27
Cartesian manual travel in the tool coordinate system, orientation angle A
Transformations
202
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Kinematic transformations
5.8 Cartesian manual traversing (option)
<
%
;
=
Figure 5-28
Cartesian manual travel in the tool coordinate system, orientation angle B
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
203
Kinematic transformations
5.8 Cartesian manual traversing (option)
<
&
=
;
Figure 5-29
Cartesian manual travel in the tool coordinate system, orientation angle C
Supplementary conditions
The "Cartesian manual travel" function can only be executed if the transformation is active in the
NC:
DB21, ... DBX33.6 == 1 ("transformation active")
DB21, ... DBB388 = ... (Index number of the active transformation in the channel)
The following supplementary conditions must be observed:
• "Handling transformation package" option with 5-axis or 6-axis transformation is set
• Virtual orientation axes must be defined via the following machine data:
MD24585 $MC_TRAFO5_ORIAX_ASSIGN_TAB_1[n]
• DB21, ... DBX29.4 == 0 (activate PTP travel)
• MD21106 $MC_CART_JOG_SYSTEM > 0
Transformations
204
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Kinematic transformations
5.8 Cartesian manual traversing (option)
Table 5-3
Conditions for Cartesian manual travel
Transformation in pro-
Prog. traversing type
DB21, ... DBX29.4
DB21, ... DBX33.6
gram active (TRAORI..)
"Activate PTP travel"
"Transformation ac-
tive"
FALSE
Not active
Not active
0
TRUE
CP
0
1
TRUE
CP
1
0
TRUE
PTP
0
1
TRUE
PTP
1
0
The G command PTP/CP currently active in the program does not affect Cartesian manual travel.
The NC/PLC interface signals are interpreted in the channel DB for geometry and orientation
axes.
Activation
The reference system for Cartesian manual travel is set as follows:
• The Cartesian manual travel function is activated with the following machine data:
MD21106 $MC_CART_JOG_SYSTEM > 0
The BCS, WCS or TCS reference systems are enabled via MD21106 $MC_CART_JOG_SYSTEM.
• JOG traverse motion via SD42650 SC_CART_JOG_MODE
Standard behavior as before: Bits 0 to 2 = 0, bits 8 to 10 = 0.
Reference system for translation via bits 0-2 and the reference system for orientation via bits
8-10.
If not all of the bits are set to 0, the process uses the new function. The reference systems for
translation and orientation may be set independently.
SD42650 $SC_CART_JOG_MODE (only set one bit):
SD42650 $SC_CART_JOG_MODE
Bit 11 -
Bit 10
Bit 9
Bit 8
Bit 7 -
Bit 2
Bit 1
Bit 0
bit 15
bit 3
Reserved
Orienta-
Orienta-
Orienta-
Reserved
Transla-
Transla-
Transla-
tion in the
tion in the
tion in the
tion in the
tion in the
tion in the
TCS
WCS
BCS
TCS
WCS
BCS
Combining reference systems
The table below shows all the combination options for reference systems.
SD42650 $SC_CART_JOG_MODE
Reference system for
Bit 10
Bit 9
Bit 8
Bit 2
Bit 1
Bit 0
Orientation
Translation
0
0
0
0/1
0/1
0/1
Standard
Standard
Standard
Standard
Standard
0
0
0
Standard
Standard
0
0
1
0
0
1
BCS
BCS
0
0
1
0
1
0
BCS
WCS
0
0
1
1
0
0
BCS
TCS
0
1
0
0
0
1
WCS
BCS
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
205
Kinematic transformations
5.9 Activating transformation machine data via part program/softkey
SD42650 $SC_CART_JOG_MODE
Reference system for
0
1
0
0
1
0
WCS
WCS
0
1
0
1
0
0
WCS
TCS
1
0
0
0
0
1
TCS
BCS
1
0
0
0
1
0
TCS
WCS
1
0
0
1
0
0
TCS
TCS
5.9
Activating transformation machine data via part program/softkey
5.9.1
Function
Transformation MD can now be activated by means of a program command softkey, i.e. these
can, for example, be written from the parts program, thus altering the transformation
configuration completely.
Up to ten different transformations can be set in the control system. The transformation type is
set in the following machine data:
MD24100 $MC_TRAFO_TYPE_1
up to
MD24460 $MC_TRAFO_TYPE_10.
Characteristics
The transformation MDs are activated using the "Setting machine data effective".
The protection level is now 7/7 (KEYSWITCH_0), which means that data can be modified from the
NC program without any particular authorization.
If the machine data are activated (regardless whether via the NEWCONF NC program command,
the HMI or implicitly following reset or end of program) - and no transformation has been
selected (activated) - then the machine data listed above can be altered without restriction and
then activated.
Of particular relevance is that new transformations can be configured or existing
transformations replaced by one of a different type or deleted, since the modification options are
not restricted to re-parameterization of existing transformations.
5.9.2
Constraints
Changing machine data
The machine data which involve an active transformation may not be altered; any attempt to do
so will generate an alarm.
Transformations
206
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Kinematic transformations
5.9 Activating transformation machine data via part program/softkey
Generally, these are all machine data, which are assigned a transformation via the associated
transformation data group. Machine data, which although contained in the group of an active
transformation, but are not used, can be changed (however, this could hardly be considered an
operation that makes sense). For example, it would be possible to change machine data
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.
Please note that machine data MD21110 $MC_X_AXIS_IN_OLD_X_Z_PLANE may not be altered
for an active orientation transformation.
Note
For a program interruption (Repos, delete distance to go, ASUPs etc.) to restart, several blocks
are also required in the control, which were already executed. That it is prohibited to change
machine data of an active transformation also refers to these blocks.
Example:
Two orientation transformations are set via machine data, e.g. MD24100 $MC_TRAFO_TYPE_1
= 16, MD24200 $MC_TRAFO_TYPE_2 = 18.
When executing "Activate machine data", it is assumed that the second transformation is active.
In this case, all machine data that relate only to the first transformation may be changed, e.g.:
MD24500 $MC_TRAFO5_PART_OFFSET_1
but not, for instance:
MD24650 $MC_TRAFO5_BASE_TOOL_2
or
MD21110 $MC_X_AXIS_IN_OLD_X_Z_PLANE
Furthermore, another transformation (TRANSMIT) can be set, for example with MD24300
$MC_TRAFO_TYPE_3 = 256 and can be parameterized with additional machine data.
Defining geometry axes
Geometry axes must be defined before the control system powers up using the following
machine data:
MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_X[n]
or
MD20050 $MC_AXCONF_GEOAX_ASSIGN_TAB[n]
Changing the assignment
The assignment of a transformation data set to a transformation is determined by the sequence
of entries in MD24100 $MC_TRAFO_TYPE_X. The first entry in the table is assigned to the first
transformation data set, and accordingly the second entry to the second data set. It is not
permissible (and not possible) to change this assignment for an active transformation.
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
207
Kinematic transformations
5.9 Activating transformation machine data via part program/softkey
Example:
Three transformations are set. two orientation transformations and one transmit
transformation, e.g.
MD24100 $MC_TRAFO_TYPE_1 = 16
; orientation transformation 1: Orientation transformation data set
MD24200 $MC_TRAFO_TYPE_2 = 256 : Transmit transformations
MD24300 $MC_TRAFO_TYPE_3 = 18
; orientation transformation 2: Orientation transformation data set
The first data set for orientation transformations is assigned to the first transformation (at the
same time, the first orientation transformation) - and the second transformation data set to the
third transformation (at the same time, the the second orientation transformation).
If the third transformation is active when executing the "Activate machine data" function, then
it is not permissible to change the first transformation into a transformation of another group
(e.g. TRACYL) since, in this case, the third transformation would then not become the second
orientation transformation, but the first.
In the above example, however, it is permissible to set another orientation transformation for
the first transformation (e.g. using MD24100 $MC_TRAFO_TYPE_1 = 32) or a transformation
from another group as the first transformation (e.g. using $MD24100 $MC_TRAFO_TYPE_1 =
1024, TRAANG), if the second transformation is changed into an orientation transformation at
the same time, e.g. with MD24200 $MC_TRAFO_TYPE_2 = 48.
5.9.3
Control response to power ON, mode change, RESET, block search, REPOS
With the aid of the following machine data it is possible to select a transformation automatically
in response to RESET (i.e. at end of program as well) and/or on program start:
MD20110 $MC_RESET_MODE_MASK
MD20112 $MC_START_MODE_MASK
and
MD20140 $MC_TRAFO_RESET_VALUE
This may result in the generation of an alarm, for example, at the end or start of a program, if the
machine data of an active transformation has been altered.
To avoid this problem when re-configuring transformations via an NC program, we therefore
recommend that NC programs are structured as follows:
Program code
Comment
N10 TRAFOOF()
; Select a possibly still active trans-
formation
N20$MC_TRAFO5_BASE_TOOL_1[0]=0
; Enter machine data
N30$MC_TRAFO5_BASE_TOOL_1[0]=3
N40$MC_TRAFO5_BASE_TOOL_1[0]=200
N130 NEWCONF
; Newly entered machine data
; Transfer
Transformations
208
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Kinematic transformations
5.9 Activating transformation machine data via part program/softkey
Program code
Comment
N140 M30
5.9.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
• MD24110 $MC_TRAFO_AXES_IN_1 to MD24482 $MC_TRAFO_AXES_IN_10
• MD24120 $MC_TRAFO_GEOAX_ASSIGN_TAB_1 to
MD24484 $MC_TRAFO_GEOAX_ASSIGN_TAB_10
Orientation transformations
Machine data that are relevant for orientation transformations:
• MD24550 $MC_TRAFO5_BASE_TOOL_1 and
MD24650 $MC_TRAFO5_BASE_TOOL_2
• MD24558 $MC_TRAFO5_JOINT_OFFSET_1 and
MD24658 $MC_TRAFO5_JOINT_OFFSET_2
• MD24500 $MC_TRAFO5_PART_OFFSET_1 and
MD24600 $MC_TRAFO5_PART_OFFSET_2
• MD24510 $MC_TRAFO5_ROT_AX_OFFSET_1 and
MD24610 $MC_TRAFO5_ROT_AX_OFFSET_2
• MD24520 $MC_TRAFO5_ROT_SIGN_IS_PLUS_1 and
MD24620 $MC_TRAFO5_ROT_SIGN_IS_PLUS_2
• MD 24530: TRAFO5_NON_POLE_LIMIT_1 and
MD24630 $MC_TRAFO5_NON_POLE_LIMIT_2
• MD24540 $MC_TRAFO5_POLE_LIMIT_1 and
MD24640 $MC_TRAFO5_POLE_LIMIT_2
• MD24570 $MC_TRAFO5_AXIS1_1 and
MD24670 $MC_TRAFO5_AXIS1_2
• MD24572 $MC_RAFO5_AXIS2_1 and
MD24672 $MC_TRAFO5_AXIS2_2
• MD24574 $MC_TRAFO5_BASE_ORIENT_1 and
MD24674 $MC_TRAFO5_BASE_ORIENT_2
• MD24562 $MC_TRAFO5_TOOL_ROT_AX_OFFSET_1 and
MD24662 $MC_TRAFO5_TOOL_ROT_AX_OFFSET_2
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
209
Kinematic transformations
5.9 Activating transformation machine data via part program/softkey
• MD24564 $MC_TRAFO5_NUTATOR_AX_ANGLE_1 and
MD24664 $MC_TRAFO5_NUTATOR_AX_ANGLE_2
• MD24566 $MC_TRAFO5_NUTATOR_VIRT_ORIAX_1 and
MD24666 $MC_TRAFO5_NUTATOR_VIRT_ORIAX_2
Transmit transformations
Machine data that are relevant for transmit transformations:
• MD24920 $MC_TRANSMIT_BASE_TOOL_1 and
MD24970 $MC_TRANSMIT_BASE_TOOL_2
• MD24900 $MC_TRANSMIT_ROT_AX_OFFSET_1 and
MD24950 $MC_TRANSMIT_ROT_AX_OFFSET_2
• MD24910 $MC_TRANSMIT_ROT_SIGN_IS_PLUS_1 and
MD24960 $MC_TRANSMIT_ROT_SIGN_IS_PLUS_2
• MD24911 MC_RANSMIT_POLE_SIDE_FIX_1 and
MD24961 $MC_TRANSMIT_POLE_SIDE_FIX_2
Tracyl transformations
Machine data that are relevant for Tracyl transformations:
• MD24820 $MC_TRACYL_BASE_TOOL_1 and
MD24870 $MC_TRACYL_BASE_TOOL_2
• MD24800 $MC_TRACYL_ROT_AX_OFFSET_1 and
MD24850 $MC_TRACYL_ROT_AX_OFFSET_2
• MD24810 $MC_TRACYL_ROT_SIGN_IS_PLUS_1 and
MD24870 $MC_TRACYL_ROT_SIGN_IS_PLUS_2
• MD24808 $MC_TRACYL_DEFAULT_MODE_1 and
MD24858 $MC_TRACYL_DEFAULT_MODE_2
Inclined axis transformations
Machine data that are relevant for inclined axis transformations:
• MD24710 $MC_TRAANG_BASE_TOOL_1 and
MD24760 $MC_TRAANG_BASE_TOOL_2
• MD24700 $MC_TRAANG_ANGLE_1 and
MD24750 $MC_TRAANG_ANGLE_2
• MD24720 $MC_TRAANG_PARALLEL_VELO_RES_1 and
MD24770 $MC_TRAANG_PARALLEL_VELO_RES_2
• MD24721 $MC_TRAANG_PARALLEL_ACCEL_RES_1 and
MD24771 $MC_TRAANG_PARALLEL_ACCEL_RES_2
Transformations
210
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Kinematic transformations
5.9 Activating transformation machine data via part program/softkey
Chained transformations
Machine data that are relevant for chained transformations:
• MD24995 $MC_TRACON_CHAIN_1 and
MD24996 $MC_TRACON_CHAIN_2
• MD24997 $MC_TRACON_CHAIN_3 and
MD24998 $MC_TRACON_CHAIN_4
Persistent transformation
Machine data that are relevant for persistent transformations:
• MD20144 $MC_TRAFO_MODE_MASK
• MD20140 $MC_TRAFO_RESET_VALUE
• MD20110 $MC_RESET_MODE_MASK and
MD20112 $MC_START_MODE_MASK
Not transformation-specific
Machine data that are not transformation-specific. They are not uniquely assigned to a specific
transformation data set - or are also of significance outside an active transformation:
• MD21110 $MC_X_AXIS_IN_OLD_X_Z_PLANE
• MD21090 $MC_ MAX_LEAD_ANGLE
• MD21092 $MC_ MAX_TILT_ANGLE
• MD21100 $MC_ORIENTATION_IS_EULER
5.9.5
Example
It would be permissible in the following example to reconfigure (write) a machine data affecting
the second transformation (e.g. MD24650 $MC_TRAFO5_BASE_TOOL_2[2]) in block N90, since
writing a machine data alone does not activate it. However, if the program remained otherwise
unchanged, an alarm would occur in block N130, because an attempt would then be made to
modify an active transformation.
Example program:
Program code
Comment
N40 TRAORI(2)
; Select 2nd orientation transformation
N50 X0 Y0 Z0 F20000 T1 T1
N60 A50 B50
N70 A0 B0
N80 X10
N90 $MC_TRAFO5_BASE_TOOL_1[2] = 50
; Overwrite a machine data item of the
1st orientation transformation
N100 A20
N110 X20
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
211
Kinematic transformations
5.10 Data lists
Program code
Comment
N120 X0
N130 NEWCONF
; Accept new machine data
N140 TRAORI(1)
; Selection of the 1st orientation
transformation MD is effective
N150 G19 X0 Y0 Z0
N160 A50 B50
N170 A0 B0
N180 TRAFOOF
N190 M30
5.10
Data lists
5.10.1
Machine data
5.10.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
M code for transformation changeover
24100
TRAFO_TYPE_1
Definition of the 1st transformation in channel
24110
TRAFO_AXES_IN_1
Axis assignment for the 1st transformation
24120
TRAFO_GEOAX_ASSIGN_TAB_1
Geo-axis assignment for 1st transformation
24200
TRAFO_TYPE_2
Definition of the 2nd transformation in channel
24210
TRAFO_AXES_IN_2
Axis assignment for the 2nd transformation
24220
TRAFO_GEOAX_ASSIGN_TAB_2
Geo-axis assignment for 2nd transformation
24300
TRAFO_TYPE_3
Definition of the 3rd transformation in channel
24310
TRAFO_AXES_IN_3
Axis assignment for the 3rd transformation
24320
TRAFO_GEOAX_ASSIGN_TAB_3
Geo-axis assignment for 3rd transformation
24400
TRAFO_TYPE_4
Definition of the 4th transformation in channel
24410
TRAFO_AXES_IN_4
Axis assignment for the 4th transformation
24420
TRAFO_GEOAX_ASSIGN_TAB_4
Geo-axis assignment for 4th transformation
24430
TRAFO_TYPE_5
Definition of the 5th transformation in channel
24432
TRAFO_AXES_IN_5
Axis assignment for the 5th transformation
24434
TRAFO_GEOAX_ASSIGN_TAB_5
Geo-axis assignment for 5th transformation
24440
TRAFO_TYPE_6
Definition of the 6th transformation in channel
Transformations
212
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Kinematic transformations
5.10 Data lists
Number
Identifier: $MC_
Description
24442
TRAFO_AXES_IN_6
Axis assignment for the 6th transformation
24444
TRAFO_GEOAX_ASSIGN_TAB_6
Geo-axis assignment for 6th transformation
24450
TRAFO_TYPE_7
Definition of the 7th transformation in channel
24452
TRAFO_AXES_IN_7
Axis assignment for the 7th transformation
24454
TRAFO_GEOAX_ASSIGN_TAB_7
Geo-axis assignment for 7th transformation
24460
TRAFO_TYPE_8
Definition of the 8th transformation in channel
24462
TRAFO_AXES_IN_8
Axis assignment for the 8th transformation
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-
formation
24920
TRANSMIT_BASE_TOOL_1
Distance of tool zero point from origin of geo-axes (1st TRANS-
MIT)
24950
TRANSMIT_ROT_AX_OFFSET_2
Deviation of rotary axis from zero position in degrees (2nd
TRANSMIT)
24960
TRANSMIT_ROT_SIGN_IS_PLUS_2
Sign of rotary axis for TRANSMIT (2nd TRANSMIT)
24961
TRANSMIT_POLE_SIDE_FIX_2
Limitation of working range in front of/behind pole, 2nd trans-
formation
24970
TRANSMIT_BASE_TOOL_2
Distance of tool zero point from origin of geo-axes (2nd
TRANSMIT)
5.10.1.2
TRACYL
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
TRAFO_MODE_MASK
Selection of the kinematic transformation function
24100
TRAFO_TYPE_1
Definition of the 1st transformation in channel
24110
TRAFO_AXES_IN_1
Axis assignment for the 1st transformation
24120
TRAFO_GEOAX_ASSIGN_TAB_1
Geo-axis assignment for 1st transformation
24130
TRAFO_INCLUDES_TOOL_1
Tool handling with active transformation 1.
24200
TRAFO_TYPE_2
Definition of the 2nd transformation in channel
24210
TRAFO_AXES_IN_2
Axis assignment for the 2nd transformation
24220
TRAFO_GEOAX_ASSIGN_TAB_2
Geo-axis assignment for 2nd transformation
24230
TRAFO_INCLUDES_TOOL_2
Tool handling with active transformation 2.
24300
TRAFO_TYPE_3
Definition of the 3rd transformation in channel
24310
TRAFO_AXES_IN_3
Axis assignment for the 3rd transformation
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
213
Kinematic transformations
5.10 Data lists
Number
Identifier: $MC_
Description
24320
TRAFO_GEOAX_ASSIGN_TAB_3
Geo-axis assignment for 3rd transformation
24330
TRAFO_INCLUDES_TOOL_3
Tool handling with active transformation 3.
24400
TRAFO_TYPE_4
Definition of the 4th transformation in channel
24410
TRAFO_AXES_IN_4
Axis assignment for the 4th transformation
24420
TRAFO_GEOAX_ASSIGN_TAB_4
Geo-axis assignment for 4th transformation
24426
TRAFO_INCLUDES_TOOL_4
Tool handling with active transformation 4.
24430
TRAFO_TYPE_5
Definition of the 5th transformation in channel
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
24444
TRAFO_GEOAX_ASSIGN_TAB_6
Assignment geometry axes for 6th transformation
24446
TRAFO_INCLUDES_TOOL_6
Tool handling with active transformation 6.
24450
TRAFO_TYPE_7
Definition of the 7th transformation in channel
24452
TRAFO_AXES_IN_7
Axis assignment for the 7th transformation
24454
TRAFO_GEOAX_ASSIGN_TAB_7
Geo-axis assignment for 7th transformation
24456
TRAFO_INCLUDES_TOOL_7
Tool handling with active transformation 7.
24460
TRAFO_TYPE_8
Definition of the 8th transformation in channel
24462
TRAFO_AXES_IN_8
Axis assignment for the 8th transformation
24464
TRAFO_GEOAX_ASSIGN_TAB_8
Geo-axis assignment for 8th transformation
24466
TRAFO_INCLUDES_TOOL_8
Tool handling with active transformation 8.
24470
TRAFO_TYPE_9
Definition of the 9th transformation in channel
24472
TRAFO_AXES_IN_9
Axis assignment for the 9th transformation
24474
TRAFO_GEOAX_ASSIGN_TAB_9
Geo-axis assignment for 9th transformation
24476
TRAFO_INCLUDES_TOOL_9
Tool handling with active transformation 9.
24480
TRAFO_TYPE_10
Definition of the 10th transformation in channel
24482
TRAFO_AXES_IN_10
Axis assignment for the 10th transformation
24484
TRAFO_GEOAX_ASSIGN_TAB_10
Geo-axis assignment for 10th transformation
24486
TRAFO_INCLUDES_TOOL_10
Tool handling with active transformation 10.
24800
TRACYL_ROT_AX_OFFSET_1
Deviation of rotary axis from zero position in degrees (1st
TRACYL)
24808
TRACYL_DEFAULT_MODE_1
Selection of TRACYL mode (1st TRACYL)
24810
TRACYL_ROT_SIGN_IS_PLUS_1
Sign of rotary axis for TRACYL (1st TRACYL)
24820
TRACYL_BASE_TOOL_1
Distance of tool zero point from origin of geo-axes (1st TRAC-
YL)
24850
TRACYL_ROT_AX_OFFSET_2
Deviation of rotary axis from zero position in degrees (2nd
TRACYL)
24858
TRACYL_DEFAULT_MODE_2
Selection of TRACYL mode (2nd TRACYL)
24860
TRACYL_ROT_SIGN_IS_PLUS_2
Sign of rotary axis for TRACYL (2nd TRACYL)
Transformations
214
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Kinematic transformations
5.10 Data lists
Number
Identifier: $MC_
Description
24870
TRACYL_BASE_TOOL_2
Distance of tool zero point from origin of geo-axes (2nd TRAC-
YL)
22534
TRAFO_CHANGE_M_CODE
M code for transformation changeover
5.10.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
24100
TRAFO_TYPE_1
Definition of the 1st transformation in channel
24110
TRAFO_AXES_IN_1
Axis assignment for the 1st transformation
24120
TRAFO_GEOAX_ASSIGN_TAB_1
Geo-axis assignment for 1st transformation
24200
TRAFO_TYPE_2
Definition of the 2nd transformation in channel
24210
TRAFO_AXES_IN_2
Axis assignment for the 2nd transformation
24220
TRAFO_GEOAX_ASSIGN_TAB_2
Geo-axis assignment for 2nd transformation
24300
TRAFO_TYPE_3
Definition of the 3rd transformation in channel
24310
TRAFO_AXES_IN_3
Axis assignment for the 3rd transformation
24320
TRAFO_GEOAX_ASSIGN_TAB_3
Geo-axis assignment for 3rd transformation
24400
TRAFO_TYPE_4
Definition of the 4th transformation in channel
24410
TRAFO_AXES_IN_4
Axis assignment for the 4th transformation
24420
TRAFO_GEOAX_ASSIGN_TAB_4
Geo-axis assignment for 4th transformation
24430
TRAFO_TYPE_5
Definition of the 5th transformation in channel
24432
TRAFO_AXES_IN_5
Axis assignment for the 5th transformation
24434
TRAFO_GEOAX_ASSIGN_TAB_5
Geo-axis assignment for 5th transformation
24440
TRAFO_TYPE_6
Definition of the 6th transformation in channel
24442
TRAFO_AXES_IN_6
Axis assignment for the 6th transformation
24444
TRAFO_GEOAX_ASSIGN_TAB_6
Geo-axis assignment for 6th transformation
24450
TRAFO_TYPE_7
Definition of the 7th transformation in channel
24452
TRAFO_AXES_IN_7
Axis assignment for the 7th transformation
24454
TRAFO_GEOAX_ASSIGN_TAB_7
Geo-axis assignment for 7th transformation
24460
TRAFO_TYPE_8
Definition of the 8th transformation in channel
24462
TRAFO_AXES_IN_8
Axis assignment for the 8th transformation
24464
TRAFO_GEOAX_ASSIGN_TAB_8
Geo-axis assignment for 8th transformation
24700
TRAANG_ANGLE_1
Angle of inclined axis in degrees (1st TRAANG)
24710
TRAANG_BASE_TOOL_1
Distance of tool zero point from origin of geometry axes (1st
TRAANG)
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
215
Kinematic transformations
5.10 Data lists
Number
Identifier: $MC_
Description
24720
TRAANG_PARALLEL_VELO_RES_1
Velocity reserve of parallel axis for compensatory motion (1st
TRAANG)
24721
TRAANG_PARALLEL_VELO_RES_2
Velocity reserve of parallel axis for compensatory motion (2nd
TRAANG)
24750
TRAANG_ANGLE_2
Angle of inclined axis in degrees (2nd TRAANG)
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)
5.10.1.4
Chained transformations
Channelspecific machine data
Number
Identifier: $MC_
Description
24995
TRACON_CHAIN_1
Transformation chain of the first chained transformation
24996
TRACON_CHAIN_2
Transformation chain of the second chained transformation
24997
TRACON_CHAIN_3
Transformation chain of the third chained transformation
24998
TRACON_CHAIN_4
Transformation chain of the fourth chained transformation
5.10.1.5
Non transformation-specific machine data
Channelspecific machine data
Number
Identifier: $MC_
Description
21110
X_AXIS_IN_OLD_X_Z_PLANE
Coordinate system for automatic Frame definition
21090
MAX_LEAD_ANGLE
Maximum permissible lead angle for orientation programming
21092
MAX_TILT_ANGLE
Maximum permissible side angle for orientation programming
21100
ORIENTATION_IS_EULER
Angle definition for orientation programming
Transformations
216
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Orientation transformations
6
6.1
Orientation transformations via kinematic chains
6.1.1
Dynamic orientation transformation TRAORI_DYN
Overview
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. The same applies for movements of additional
(redundant) linear axes.
The system variables that are especially used for orientation transformations are described
under Additive system variable for orientation transformation (Page 233).
The different orientation transformations are mapped via the dynamic orientation
transformation:
5-axis transformation
Different versions are possible for the 5-axis transformation, see 3 to 5-axis transformation
(Page 220). Generally this transformation is comprised of up to 3 linear axes and up to 2 rotary
axes.
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 252). Possible versions are listed below:
Transformation
Characteristics
3-axis transformation
2 translation axes (linear axes)
1 rotary axis
4-axis transformation
3 translation axes (linear axes)
1 rotary axis
6-axis transformation
A 6-axis transformation can be defined by defining 3 linear axes and 3 rotary axes.
Defining machine kinematics
The corresponding machine kinematics must be defined via a kinematic chain.
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
217
Orientation transformations
6.1 Orientation transformations via kinematic chains
Real-time velocity monitoring
The machine data $MC_TRAFO_ORI_ONLINE_CHECK_LIM and
$MC_TRAFO_ORI_ONLINE_CHECK_LIMR define the linear or rotary position difference between
the pre-run and main run as of which the real-time velocity monitoring and limiting is activated.
The position differences are formed from the positions of the linear and rotary axes.
Use of CYCLE832 (High Speed Settings)
When Cycle832 with transformations is used, the rotary axes are determined in the following
way:
• The rotary axes that are contained in the first transformation with a kinematic chain of the
type TRAORI_DYN are entered.
• If there is no such transformation with a kinematic chain, the rotary axes that are contained
in the last transformation defined via machine data are entered.
The reference radius for both rotary axes is then set via FGREF.
Machine measurement for orientation transformation
With the CORRTRAFO (Page 341) 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.
• $NT_CORR_ELEM_P[n, 0 ...3]; names of the correction elements (type "OFFSET") in the
kinematic chain (workpiece chain) which can be written to by CORRTRAFO.
Transformations
218
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Orientation transformations
6.1 Orientation transformations via kinematic chains
Example of kinematics
The example schematically shows two-axis swivel head kinematics with the axis sequence CA,
as a spatial image and as a kinematic chain.
6ZLYHO KHDG
5RWDU\ D[HV & DQG $
=
&
$
&
$
; < = D[HV
ZKHUH
;
<
=
7DEOH RIIVHW
:RUNSLHFH UHIHUHQFH
=
=
SRLQW
=HUR SRLQW RI WKH ZRUOG
=HUR SRLQW RI WKH ZRUOG
:RUNSLHFH UHIHUHQFH
FRRUGLQDWH V\VWHP
FRRUGLQDWH V\VWHP
SRLQW
Figure 6-1
TRAORI example
See also
Singular positions and handling (Page 224)
6.1.2
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.
However, all of the functions are available for approaching the correct end points, taking the
required compensation movements into consideration.
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
219
Orientation transformations
6.2 3 to 5-axis transformation
A static orientation formation makes sense for machines in which the orientation is fixed once
it is set and cannot be changed during the process, for example when rotating on a milling
machine.
The static orientation transformation is defined using the same system variables as a dynamic
orientation transformation, see Dynamic orientation transformation TRAORI_DYN and Defining
machine kinematics (Page 18).
Axes for a static orientation transformation
The orientation axes of static orientation transformations can also be spindles or Hirth-coupled
axes. Spindles behave like constant kinematic rotations, i.e. if a position is to be assigned to them
in the kinematic transformation, this must be entered in the associated system parameters
$NK_A_OFF[n].
The type "Static orientation transformation" is activated via the system variable
§NT_TRAFO_TYPE = TRAORI_STAT.
System variables for the definition of the static orientation transformation
The machine kinematics are defined via the kinematic chain, see Defining machine kinematics
(Page 18).
The static orientation transformation is defined via the following system variables:
• General system variables for transformations (Page 26)
• Additive system variable for orientation transformation (Page 233)
Reference
Information on orientable tool carriers via kinematic chains can be found in the "Tools" Function
Manual in section "Tool offset" under "Orientable tool carriers".
See also
Dynamic orientation transformation TRAORI_DYN (Page 217)
6.2
3 to 5-axis transformation
6.2.1
5-axis Transformation
Function
The "5-axis transformation" machining package is intended for machining spatially curved
surfaces that have two rotary axes in addition to the three linear axes X, Y and Z. This package
thus allows an axially symmetrical tool (milling cutter, laser beam) to be oriented in any desired
relation to the workpiece in the machining space.
Transformations
220
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Orientation transformations
6.2 3 to 5-axis transformation
The path and path velocity are programmed in the same way as for 3-axis systems. The tool
orientation is additionally programmed in the traversing blocks.
The real-time transformation performs the calculation of the resulting motions of all 5 axes. The
generated machining programs are therefore not machine-specific. Kinematic-specific post-
processors are not used for 5-axis machining.
A selection of various transformations is available for adapting the control to various machine
kinematics. During runtime, it is possible to switch between two transformations parameterized
during commissioning via part program commands.
This package therefore covers the three possible basic machine configurations which differ in
terms of tool and workpiece orientation:
• Orientation of tool with two-axis swivel head (machine type 1)
• Orientation of workpiece with two-axis rotary table (machine type 2)
• Orientation of workpiece and tool with single-axis rotary table and swivel head (machine
type 3)
A tool length compensation is included for machining.
Since the orientation in relation to the workpiece surface is stored in a separate FRAME, a tool
retraction operation with vertical orientation to the workpiece is also possible.
Tool orientation
Tool orientation can be specified in two ways:
• Machine-related orientation
Machine-related orientation is dependent on the machine kinematics.
• Workpiece-related orientation
Workpiece-related orientation is not dependent on the machine kinematics.
It is programmed with:
- Cartesian direction vectors
- Orientation angles according to the Euler principle
- Orientation angles according to the RPY principle
- Lead angles and lag angles with surface normal relative to the web tangent (lead tilt)
The direction of the tool is described in the workpiece coordinate system with the workpiece-
related orientation. It is possible to program a specific component of the tool in its orientation
to the workpiece. In most cases, this will be a longitudinal axis of the tool with the tool tip
(Tool Center Point, TCP), which is also referred to as TCP programming.
System variables for orientation
Part programs and synchronized actions have read access to the system variables that provide
information about:
• End orientation of block (preprocessing value)
• Setpoint orientation
• Actual orientation
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
221
Orientation transformations
6.2 3 to 5-axis transformation
• Angle between setpoint and actual orientation
• Status for variables of actual orientation
Special cases of 5-axis transformation
The following transformations are to be regarded as special cases of the general 5-axis
transformation:
•
3 and 4-axis transformation
There are 2 or 3 linear axes and one rotary axis.
• Swiveling linear axis
One of the rotary axis rotates the 3rd linear axis.
• Cardan milling head
The two rotary axes are positioned at a configurable angle in relation to one another.
Knowledge of the general 5-axis transformation is a prerequisite for all of these transformations.
Transformations
222
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Orientation transformations
6.2 3 to 5-axis transformation
6.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.
=
<
&
<
$
%
;
;
=
=
<
&
&
$
;
Figure 6-2
Machine types 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 arrange-
Orientable
ment CA
②
Rotary axis B
Rotary axis C
Single-axis swivel head and single-axis ro-
Orientable tool and
tary table with the axis sequence BC
workpiece
③
fixed
Rotary axes A and C
Two-axis rotary table with the axis arrange-
Workpiece that can be
ment AC
oriented
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
223
Orientation transformations
6.2 3 to 5-axis transformation
Common properties of machine types 1, 2 and 3
• The three linear axes form a right-handed, Cartesian coordinate system.
• The rotary axes are orientated parallel to the linear axes
• The orientation of the rotary axes are vertical, on one another.
• The tool initial state is in the negative Z direction.
Other properties of machine types 1 and 2
• Rotary axis 1 is the 4th machine axis of the transformation
• Rotary axis 1 changes the orientation of rotary axis 2
• Rotary axis 2 is the 5th machine axis of the transformation
• Rotary axis 2 does not change the orientation of rotary axis 1
Other properties of machine type 3
• Rotary axis 1 is the 4th machine axis of the transformation
• Rotary axis 1 rotates the tool
• Rotary axis 2 is the 5th machine axis of the transformation
• Rotary axis 2 rotates the workpiece
Note
Transformations not in accordance with the conditions mentioned here are described in their
own sections
6.2.3
Singular positions and handling
Extremely excessive speed
If the path runs in close vicinity to a pole (singularity), one or several axes may traverse at a very
high speed.
Alarm 10910 "Irregular speed 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.
Transformations
224
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Orientation transformations
6.2 3 to 5-axis transformation
Handling singular points (poles) for kinematic chains
If poles (Page 260) are encountered over the course of machining, the behavior at the pole can
be set via two system variables:
• $NT_POLE_LIMIT; defines the end angle tolerance, i.e. the angle by which the polar axis may
deviate from the programmed value during the 5-axis transformation (corresponds to MD
24640 $MC_TRAFO5_POLE_LIMIT_n). This value is initialized with the value "2 degrees" if the
value is not explicitly programmed.
• $NT_POLE_TOL; defines the end angle tolerance for interpolation through the pole. This
value is initialized with the value "1 degree" if the value is not explicitly programmed
(corresponds to MD 24542 $MC_TRAFO5_POLE_TOL).
Behavior at the pole for conventional transformations
Unwanted behavior of fast compensating movements can be controlled by making an
appropriate selection of the following machine data (see following figure):
• MD24530 $MC_TRAFO5_NON_POLE_LIMIT_1 (definition of pole range for 5-axis
transformation 1)
• MD24630 $MC_ TRAFO5_NON_POLE_LIMIT_2 (definition of pole area for 5-axis
transformation 2)
• MD24540 $MC_TRAFO5_POLE_LIMIT_1 (closing angle tolerance for interpolation by pole for
5-axis transformation)
• MD24640 $MC_TRAFO5_POLE_LIMIT_2 (closing angle tolerance for interpolation by pole for
5-axis transformation)
Note
Singularities are dealt with differently in SW 5.2 and higher: Only one relevant machine data
item exists, $MC_TRAFO5_POLE_LIMIT (see Section "Singularities of orientation (Page 260)"
or "NC Programming" Programming Manual).
Definition of the pole range for 5-axis transformation
This machine data identifies a limit angle of the 5th axis of the first MD24530
$MC_TRAFO5_NON_POLE_LIMIT_1 or the second MD24630
$MC_TRAFO5_NON_POLE_LIMIT_2 5-axis transformation with the following properties:
If the path runs past the pole at an angle lower than the value set here, it crosses through the
pole.
With 5-axis transformation, a coordinate system consisting of parallels and meridians is spanned
over a spherical surface by the two orientation axes of the tool.
If, as a result of orientation programming (i.e. the orientation vector is positioned on one plane),
the path passes so close to the pole that the angle is less than the value defined in this machine
data, then a deviation from the specified interpolation is made so that the interpolation passes
through the pole.
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
225
Orientation transformations
6.2 3 to 5-axis transformation
End angle tolerance for interpolation by pole for 5-axis transformation
This machine data identifies a limit angle for the 5th axis of the first MD24540
$MC_TRAFO5_NON_POLE_LIMIT_1 or the second MD24640
$MC_TRAFO5_NON_POLE_LIMIT_2 5-axis transformation with the following properties:
With interpolation through the pole point, only the fifth axis moves; the fourth axis remains in
its start position. If a movement is programmed which does not pass exactly through the pole
point, but is to pass within the tolerance defined by the following machine data in the vicinity of
the pole, a deviation is made from the specified path because the interpolation runs exactly
through the pole point:
• MD24530 $MC_TRAFO5_NON_POLE_LIMIT_1
• MD24630 $MC_TRAFO5_NON_POLE_LIMIT_2
As a result, the position at the end point of the fourth axis (pole axis) deviates from the
programmed value.
This machine data specifies the angle by which the pole axis may deviate from the programmed
value with a 5-axis transformation if a switchover is made from the programmed interpolation
to interpolation through the pole point. In the case of a greater deviation, an error message is
output and the interpolation is not executed.
0'
0&B75$)2 B32/(B/,0,7B
D
WK D[LV 5$
0'
0&B75$)2 B121B32/(B/,0,7B
WK D[LV
5$
Figure 6-3
5-axis transformation; orientation path in pole vicinity. Example for machine type 1: 2-axis
swivel head with rotary axis RA 1 (4th axis of transformation) and rotary axis RA 2 (5th axis
of transformation)
In addition to the body cone, a second narrower tolerance cone can be defined with MD 24542
$MC_TRAFO5_POLE_TOL (end angle tolerance for tool orientation). This sets the behavior of the
polar axis in case the final orientation of a set lies within the body cone. If the end orientation
is within the tolerance cone, the polar axis maintains its starting position and is not moved. This
leads to a deviation of the end orientation from the programmed orientation. The maximum
angle between the orientations is defined by MD 24542 $MC_TRAFO5_POLE_TOL.
Transformations
226
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Orientation transformations
6.3 Comparison of system variables and machine data
Behavior during large circle interpolation at pole position
The following machine data can be used to set the response for large circle interpolation in pole
position as follows:
MD21108 $MC_POLE_ORI_MODE
Does not define the treatment of changes in orientation during large circle interpolation unless
the starting orientation is equal to the pole orientation or approximates to it and the end
orientation of the block is outside the tolerance circle defined in the following machine data:
• MD24530 $MC_TRAFO5_NON_POLE_LIMIT_1
• MD24630 $MC_TRAFO5_NON_POLE_LIMIT_2
The position of the polar axis is arbitrary in the polar position. For the large circle interpolation,
however, a specified orientation is required for this axis.
The following machine data is coded decimally:
MD21108 $MC_POLE_ORI_MODE
The units define the behavior if start orientation coincides with pole position and the decade
the behavior if start orientation is within the tolerances defined by the following machine data:
• MD24530 $MC_TRAFO5_NON_POLE_LIMIT_1
• MD24630 $MC_TRAFO5_NON_POLE_LIMIT_2
All setting values are described in "Channel-specific machine data".
6.3
Comparison of system variables and machine data
Comparison of transformation system variables and machine data
Machine kinematics and transformations can be created via kinematic chains with system
variables or via machine data (conventional method). The following table shows a list of system
variables and machine data that correspond to each other.
System variables for kinematic chains
Machine data for orientation transformations
Tool carrier data
$NT_NAME
---
$TC_CARR34
$NT_GEO_AX_NAME
$MC_TRAFO_GEOAX_ASSIGN_TAB_n or $MC_TRA-
$MC_GEOAX_AS-
FO_AXES_IN_n[0..2]
SIGN_TAB
$NT_ROT_AX_NAME
$MC_AXCONF_CHANAX_NAME_TAB or $MC_TRA-
$TC_CARR35 / 36
FO_AXES_IN_n[3..5]
$NT_ROT_AX_POS
---
$TC_CARR13 / 14
$NT_BASE_ORIENT
$MC_TRAFO5_BASE_ORIENT_n
---
NT_BASE_ORIENT_NORMAL
$MC_TRAFO6_BASE_ORIENT_NORMAL_n
---
$NT_TRAFO_INCLUDES_TOOL
$MC_TRAFO_INCLUDES_TOOL_n
---
$NT_POLE_LIMIT
$MC_TRAFO5_POLE_LIMIT_n
---
$NT_POLE_TOL
$MC_TRAFO5_POLE_TOL_n
---
$NT_ROT_OFFSET_FROM_FRAME *)
$MC_TRAFO5_ROT_OFFSET_FROM_FR_n
---
$NT_IDENT
---
$TC_CARR37
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
227
Orientation transformations
6.4 Parameterization via kinematic chains
$NT_AUX_POS
---
$TC_CARR38 / 40
$NT_ROT_AX_OFFSET
$MC_TRAFO5_ROT_AX_OFFSET_n
---
Note
*)
The machine data $MC_TRAFO5_ROT_OFFSET_FROM_FR_n is of the type BOOL, i.e. it can take
on the two values TRUE or FALSE. The system data $NT_ROT_OFFSET_FROM_FRAME is of the
type CHAR because it is also used for other transformations (e.g. Transmit) and more than two
different values are required for these transformations. In the context of an orientation
transformation, the value 0 corresponds to the truth value FALSE and any value not equal to 0
corresponds to the truth value TRUE.
6.4
Parameterization via kinematic chains
6.4.1
3 to 5-axis transformation via kinematic chains
6.4.1.1
Definition of the machine kinematics
Definition of the kinematic chain
The machine kinematics is defined by a kinematic chain. It consists of the following sub-chains:
• Part chain (workpiece chain)
• Tool chain
The geometry is defined with the system variables of type $NK_XX.
• Linear axes via $NK_TYPE = AXIS_LIN
• Rotary axes via $NK_TYPE = AXIS_ROT
Linear axes (geometry axes)
The movements of the rotary axes are compensated via compensating movements of up to
three linear axes. The linear axes are defined via the kinematic chain as an element of the type
"AXIS_LIN". For the transformation, they are referenced with $NT_GEO_AX_NAME. The
geometry axes do not have to be vertical on top of one another and their position relative to one
another can be changed by means of rotary axes. However, the limitation that they cannot be
linearly dependent on one another applies.
The position of linear axes that are not defined as geometry axes is not changed by the
transformation.
Transformations
228
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Orientation transformations
6.4 Parameterization via kinematic chains
Rotary and orientation axes
The rotary axes are defined via the kinematic chain as an element of the type "AXIS_ROT". For the
transformation, they are referenced with $NT_ROT_AX_NAME and are thus designated as
orientation axis. The position of these axes is assumed to be changeable to achieve a specific
orientation.
An offset from zero can be defined using system variable $NT_ROT_AX_OFFSET for the rotary
axes (1, 2, or 3) of the orientation transformation.
All of the other rotary axes are redundant rotary axes and are included in the calculation with
their current position values (constant rotations). Redundant machine axes (real rotary axes)
must be located in the kinematic chain in front of the first orientation axis. Additional redundant
rotary axes (manual rotary axes or rotating machine axes) can be inserted at any point.
The number of rotary axes is restricted to 6.
Using system variable $NT_ROT_AX_POS, axis positions of the orientation axes can be defined
with constant rotation ($NT_ROT_CONST). Minimum and maximum axis positions are defined
via the system variables $NT_ROT_AX_MIN and $NT_ROT_AX_MAX.
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
229
Orientation transformations
6.4 Parameterization via kinematic chains
Example of kinematics
The example schematically shows two-axis swivel head kinematics with the axis sequence CA,
as a spatial image and as a kinematic chain.
6ZLYHO KHDG
5RWDU\ D[HV & DQG $
=
&
$
&
$
; < = D[HV
ZKHUH
;
<
=
7DEOH RIIVHW
:RUNSLHFH UHIHUHQFH
=
=
SRLQW
=HUR SRLQW RI WKH ZRUOG
=HUR SRLQW RI WKH ZRUOG
:RUNSLHFH UHIHUHQFH
FRRUGLQDWH V\VWHP
FRRUGLQDWH V\VWHP
SRLQW
Figure 6-4
TRAORI example
See also
Defining machine kinematics (Page 18)
Transformations
230
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Orientation transformations
6.4 Parameterization via kinematic chains
6.4.1.2
Definition of the transformation
Transformation
The transformation is programmed via system variables of the type $NT_XX. Whether the
defined transformation is a 3, 4 or 5-axis transformation is derived from the number of defined
geometry and rotary axes. It is not necessary to specify a transformation type using a numerical
identifier.
Name of transformation
The transformation is uniquely identified by its name:
$NT_NAME = "<name>"
The transformation can be called by these names.
Transformation type
The types TRAORY_DYN and TRAORI_STAT are available for orientation transformations.
$NT_TRAFO_TYPE = "TRAORI_DYN"
Assigning the first and the last element of the kinematic chain
The following system variables are used to define the start and end points of the kinematic chain
for the transformation:
$NT_T_CHAIN_LAST_ELEM
Name of the last element of the kinematic chain to the tool.
$NT_P_CHAIN_LAST_ELEM
Name of the last element of the kinematic chain to the workpiece.
$NT_T_CHAIN_FIRST_ELEM
Name of the first element in the tool chain
$NT_P_CHAIN_FIRST_ELEM
Name of the first element of the workpiece chain
$NT_CLOSE_CHAIN_T
Reference element for closing the kinematic chain to the workpiece.
Linear axes (geometry axes)
The names of up to 3 linear axes can be specified. These axes are of the type AXIS_LIN and are
defined, for example, as follows:
$NT_GEO_AX_NAME[1,0]
= "X axis"
$NT_GEO_AX_NAME[1,1]
= "Y axis"
$NT_GEO_AX_NAME[1,2]
= "Z axis"
Rotary axes
The names of up to 3 rotary axes can be specified. These axes are of the type AXIS_ROT and are
defined, for example, as follows:
$NT_ROT_AX_NAME[1,0]
= "C axis"
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
231
Orientation transformations
6.4 Parameterization via kinematic chains
$NT_ROT_AX_NAME[1,1]
= "B axis"
The rotary axes must be defined in the order in which they occur in the kinematic chain (starting
from the end of the part chain to the end of the tool chain). The entries must begin with the index
"0" and must not contain any gaps.
Offsets for rotary axes
The system variable $NT_ROT_AX_OFFSET allows you to enter an angle offset for the rotary
axes of the active transformation.
Principle
An orientation transformation is defined, for example, via the elements displayed in the graphic.
& D[LV
17B527B$;B1$0(>P F@
% D[LV
17B527B$;B1$0(>P E@
; < = D[HV
%DVH WRRO RIIVHW
17B*(2B$;B1$0(>P [@
17B7B&+$,1B/$67B(/(0
17B*(2B$;B1$0(>P \@
17B*(2B$;B1$0(>P ]@
7RRO UHIHUHQFH SRLQW
:RUNSLHFH UHIHUHQFH
SRLQW
7DEOH RIIVHW
17B3B&+$,1B/$67B(/(0
=HUR SRLQW RI WKH ZRUOG
FRRUGLQDWH V\VWHP
Figure 6-5
Transformation elements in the kinematic chain
Transformations
232
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Orientation transformations
6.4 Parameterization via kinematic chains
6.4.2
Additive system variable for orientation transformation
6.4.2.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
$NT_POLE_TOL
End angle tolerance for pole interpolation
$NT_IGNORE_TOOL_ORIENT
Always take tool orientation from $NT_BASE_ORIENT /
$NT_BASE_ORIENT_NORMAL.
$NT_CORR_ELEM_T
Names of the correction elements in the tool chain that can be
written to by the CORRTRAFO(...) function.
$NT_CORR_ELEM_P
Names of the correction elements in the subchain that can be writ-
ten to by the CORRTRAFO(...) function.
The system variables are described in detail in the following sections.
Note
Establish a defined initial state
It is recommended that a defined initial state be generated before parameterizing the kinematic
chain. For this purpose, the system variables of the kinematic chain and the transformation with
the function DELOBJ() must be set to their default values.
Change system variable values
• Modified data (e.g. $NT_xxx or $NK_yyy) become effective after NEWCONF if the data does
not concern an active transformation (attention: persistent transformations or
transformations that remain active via reset/end of part program). If the data to be activated
with NEWCONF concern an active transformation, an alarm is output.
• Modified data (e.g. $NT_xxx or $NK_yyy) only become effective after a TRAFOOF and a
subsequent NC reset or NEWCONF or program end (M30).
• Changed data (e.g. $NT_xxx or $NK_yyy) become effective after NCK-PowerOn.
6.4.2.2
$NT_BASE_ORIENT
Function
The rotation vector of the basic tool orientation must be entered in the system variable. The basic
tool orientation is in effect if no tool is selected.
Syntax
$NT_BASE_ORIENT[<n>,<k>] = <VectorComp>
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
233
Orientation transformations
6.4 Parameterization via kinematic chains
Meaning
$NT_BASE_ORIENT:
Rotation vector of the basic tool orientation (X; Y; Z)
Data type:
REAL
Default value:
(0.0, 0.0, 1.0)
Value range:
Direction vector: 1*10-6 < |Vector | ≤ max. REAL value
<n>:
System variable or transformation index
Data type:
INT
Value range:
1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
<k>:
Index of the coordinates
Data type:
INT
Range of val-
0: X coordinate (abscissa)
ues:
1: Y coordinate (ordinate)
2: Z coordinate (applicate)
<VectorComp>:
Coordinate value of the vector component
Data type:
STRING
Example
The rotation vector of the basic tool orientation of the first transformation has the value (1.0,
2.0, 3.0):
Program code
Comment
; 1st transformation,
; vector components:
N100 $NT_BASE_ORIENT[1,0] = 1.0
; X coordinate (abscissa)
N110 $NT_BASE_ORIENT[1,1] = 2.0
; Y coordinate (ordinate)
N120 $NT_BASE_ORIENT[1,2] = 3.0
; Z coordinate (applicate)
6.4.2.3
$NT_BASE_ORIENT_NORMAL
Function
The normal vector of the basic tool orientation must be entered in the system variable. The
system variable or the normal vector of the basic tool orientation is only relevant for
transformations with three degrees of orientation freedom if no tool is selected.
Syntax
$NT_BASE_ORIENT_NORMAL[<n>,<k>] = <VectorComp>
$NT_BASE_ORIENT_NORMA
Normal vector of the basic tool orientation (X; Y; Z)
L:
Data type:
REAL
Default value:
(0.0, 1.0, 0.0)
Value range:
Normal vector: 1*10-6 < |Vector | ≤ max. REAL value
Transformations
234
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Orientation transformations
6.4 Parameterization via kinematic chains
<n>:
System variable or transformation index
Data type:
INT
Value range:
1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
<k>:
Index of the coordinates
Data type:
INT
Range of val-
0: X coordinate (abscissa)
ues:
1: Y coordinate (ordinate)
2: Z coordinate (applicate)
<VectorComp>:
Coordinate value of the vector component
Data type:
STRING
Example
The normal vector of the basic tool orientation of the first transformation has the value (2.0,
-1.0, 3.0):
Program code
Comment
; 1st transformation,
; vector components:
N100 $NT_BASE_ORIENT_NORMAL[1,0] =
2.0
; X coordinate (abscissa)
N110 $NT_BASE_ORIENT_NORMAL[1,1] = -1.0
; Y coordinate (ordinate)
N120 $NT_BASE_ORIENT_NORMAL[1,2] =
3.0
; Z coordinate (applicate)
6.4.2.4
$NT_POLE_LIMIT
Function
The maximum permitted angle by which the C axis can deviate from its programmed position
during a large circle interpolation at the end of a block is entered in the system variable.
End angle
If a traversing movement is programmed that is not to pass exactly through the pole, but within
the area near to the pole defined by MD 24530 ($MC_TRAFO5_NON_POLE_LIMIT_n), the
movement will deviate from the specified path because the interpolation runs exactly through
the pole point. As a result, the position at the end point of the fourth axis (pole axis) deviates
from the programmed value.
A pole angle, which defines a tolerance circle about the pole, can be parameterized in the system
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
235
Orientation transformations
6.4 Parameterization via kinematic chains
variables. If a programmed tool path passes by the pole within the tolerance circle, a switchover
is made from orientation interpolation to linear/rotary axis interpolation.
&
6
(
˞
(
˖
$
①
Pole
②
Equatorial plane
③
Programmed path
④
Path traveled through the pole
⑤
End angle
A
Rotary axis about the X coordinate axis of the WCS
C
Rotary axis about the Z coordinate axis of the WCS
S
Starting point of the interpolation / traversing block
E
Approached end point
E'
Programmed end point
α
End angle
Ω
Maximum permitted end angle ($NT_POLE_LIMIT)
Syntax
$NT_POLE_LIMIT[<n>] = <PoleTolAngle>
Meaning
$NT_POLE_LIMIT:
Pole angle
Unit:
Degrees
Data type:
REAL
Default value:
2.0
Range of val-
- max. REAL value ≤ x ≤ + max. REAL value
ues:
Transformations
236
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Orientation transformations
6.4 Parameterization via kinematic chains
<n>:
System variable or transformation index
Data type:
INT
Range of val-
1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
ues:
<PoleTolAngle>:
Tolerance value
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
; 1st transformation,
; pole angle
6.4.2.5
$NT_POLE_LIMIT
Function
The maximum permitted angle by which the C axis can deviate from its programmed position
during a large circle interpolation at the end of a block is entered in the system variable.
End angle
In the 5-axis transformation, the two orientation axes of the tool span a spherical coordinate
system, consisting of meridians and parallels.
If a traversing movement is programmed that is not to pass exactly through the pole, but within
the area near to the pole defined by MD 24530 ($MC_TRAFO5_NON_POLE_LIMIT_n), the
movement will deviate from the specified path because the interpolation runs exactly through
the pole point. As a result, the position at the end point of the fourth axis (pole axis) deviates
from the programmed value.
The system variable specifies the angle by which the pole axis for the 5-axis transformation can
deviate from the programmed value if there is a switchover from the programmed interpolation
to the interpolation through the pole point.
If a large deviation results, an error message is displayed (Alarm 14112) and the interpolation is
not carried out.
For a conventional 5 or 6-axis interpolation, a pole position is identified by the fact that the tool
orientation does not change during a rotation of a rotary axis. If a programmed path then runs
in the vicinity of the pole, extremely high traversing speeds can result for individual rotary axes
to maintain the orientation. If the programmed path runs exactly through the pole, this problem
may not arise under certain circumstances.
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
237
Orientation transformations
6.4 Parameterization via kinematic chains
A pole angle, which defines a tolerance circle about the pole, can be parameterized in the system
variables. If a programmed tool path passes by the pole within the tolerance circle, a switchover
is made from orientation interpolation to linear/rotary axis interpolation.
&
6
(
˞
(
˖
$
①
Pole
②
Equatorial plane
③
Programmed path
④
Path traveled through the pole
⑤
End angle
A
Rotary axis about the X coordinate axis of the WCS
C
Rotary axis about the Z coordinate axis of the WCS
S
Starting point of the interpolation / traversing block
E
Approached end point
E'
Programmed end point
α
End angle
Ω
Maximum permitted end angle ($NT_POLE_LIMIT)
Syntax
$NT_POLE_LIMIT[<n>] = <PoleTolAngle>
Meaning
$NT_POLE_LIMIT:
Pole angle
Unit:
Degrees
Data type:
REAL
Default value:
2.0
Value range:
- max. REAL value ≤ x ≤ + max. REAL value
Transformations
238
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Orientation transformations
6.4 Parameterization via kinematic chains
<n>:
System variable or transformation index
Data type:
INT
Range of val-
1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
ues:
<PoleTolAngle>:
Tolerance value
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
; 1st transformation,
; pole angle
6.4.2.6
$NT_POLE_TOL
Function
The end angle tolerance for interpolation through the pole for the first 5/6-axis transformation
must be entered in the system variable.
The system variable is only evaluated by the generic 5/6-axis transformation.
If the programmed end orientation lies within the polar cone and within the tolerance cone
specified by this MD, the pole axis does not move and retains its start positions. In contrast, the
other rotary axis accepts the programmed angle.
As a result, there is a deviation of the end orientation from the programmed orientation.
Another meaning of this system variable is the handling of the programmed end orientation for
non-perpendicular kinematics. As a rule, not all of the tool orientations can be set for these
machine kinematics. If an orientation that lies outside of the settable range is programmed,
alarm 14112 "Programmed orientation path not possible" is displayed.
Syntax
$NT_POLE_TOL[<n>] = <PoleTolLim>
Meaning
$NT_POLE_TOL:
End angle tolerance for pole interpolation
Data type:
REAL
Default value:
0.0
Value range:
0.0 ≤ x ≤ 45.0
<n>:
System variable or transformation index
Data type:
INT
Value range:
1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
239
Orientation transformations
6.4 Parameterization via kinematic chains
<PoleTolLim>:
Angle
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
6.4.2.7
$NT_IGNORE_TOOL_ORIENT
Function
Each tool that is known in the controller has a defined orientation. This tool orientation is
normally used as the basis for the calculations of the movements of the orientation axes. The
system variable can be used to define a situation in which, even with a tool active, it is not the
tool orientation, but the orientation parameterized in the system variables $NT_BASE_ORIENT
(Page 233) and $NT_BASE_ORIENT_NORMAL (Page 234) that is used for the calculations of the
movements of the orientation axes.
Syntax
$NT_IGNORE_TOOL_ORIENT[<n>] = <Value>
Meaning
$NT_IGNORE_TOOL_ORIEN
Switchover to the orientation parameterized in the system variables
T:
$NT_BASE_ORIENT and $NT_BASE_ORIENT_NORMAL for calculating the
movements of the orientation axes
Data type:
BOOL
Default value:
FALSE
<n>:
System variable or transformation index
Data type:
INT
Range of val-
1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
ues:
<Value>:
Value
Data type:
BOOL
Transformations
240
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Orientation transformations
6.4 Parameterization via kinematic chains
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
; 1st transformation,
; orientation as per system variables
6.4.2.8
$NT_CORR_ELEM_T
Function
This system data is used to reference a maximum of 4 constant chain elements ($NK_NAME) in
the tool chain, which are provided for accepting offset values (linear offsets), as they are
determined in measurement cycles, for example. The offset values are calculated by the
function CORRTRAFO (Page 341). This is only important for orientation transformations.
There must always be an orientation axis in the kinematic chain between two of these elements.
This means that all 4 chain elements can only be occupied for 6-axis transformations in which
all 3 orientation axes are defined in the tool chain; whereas, for 5-axis transformations, for
example, this system data can only contain a maximum of three entries.
The entire kinematic chain, from the machine zero point (reference point of the kinematic chain)
to the tool holder, is divided into a maximum of 4 sections by the orientation axes. There can be
a maximum of one correction element in each of these sections. The correction element with
the index n must be located in the nth section (example: $NT_CORR_ELEM_T[k, 1] must refer to
a chain element between the first and second orientation axis of the tool chain).
Syntax
$NT_CORR_ELEM_T[<n>, <k>] = "<CORR_TElementName>"
Meaning
$NT_CORR_ELEM_T:
Names of the elements of the kinematic chain currently in effect.
Data type:
STRING
Default value:
""
Value range:
Element names of the currently active kinematic chain
<n>:
System variable or transformation index
Data type:
INT
Value range:
1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
<k>:
Position in the kinematic tool chain
Data type:
INT
Value range:
0...3
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
241
Orientation transformations
6.4 Parameterization via kinematic chains
<CORR_TElementName>:
Name of an element of the kinematic chain that is currently in effect,
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;
Refers to a correction element in the tool
chain of transformation "1" and position "2".
6.4.2.9
$NT_CORR_ELEM_P
Function
This system data is used to reference a maximum of 4 constant chain elements ($NK_NAME) in
the part chain, which are provided for accepting offset values (linear offsets), as they are
determined in measurement cycles, for example. The offset values are calculated by the
function CORRTRAFO (Page 341). This is only important for orientation transformations.
There must always be an orientation axis in the kinematic chain between two of these elements.
This means that all 4 chain elements can only be occupied for 6-axis transformations in which
all 3 orientation axes are defined in the tool chain; whereas, for 5-axis transformations, for
example, this system data can only contain a maximum of three entries.
The entire kinematic chain, from the machine zero point (reference point of the kinematic chain)
to the workpiece center point (part), is divided into a maximum of 4 sections by the orientation
axes. There can be a maximum of one correction element in each of these sections. The
correction element with the index n must be located in the nth section (example:
$NT_CORR_ELEM_T[k, 1] must refer to a chain element between the first and second orientation
axis of the part chain).
Syntax
$NT_CORR_ELEM_P[<n>,<m>,<k>] = "<CORR_PElementName>"
Meaning
$NT_CORR_ELEM_P:
Names of the elements of the kinematic chain currently in effect.
Data type:
STRING
Default value:
""
Value range:
Element names of the currently active kinematic chain
<n>:
System variable or transformation index
Data type:
INT
Value range:
1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
Transformations
242
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Orientation transformations
6.4 Parameterization via kinematic chains
<k>:
Position in the kinematic tool chain
Data type:
INT
Value range:
0...3
<CORR_PElementName>:
Name of an element of the kinematic chain that is currently in effect,
which accepts an offset value (linear offset).
Data type:
STRING
Example
Defines an correction element in the workpiece chain that is used to accept offset values.
Program code
Comment
$NT_CORR_ELEM_P(1,2) = Corr_1
Refers to a correction element in the work-
piece chain of transformation "1" and posi-
tion "2".
6.4.2.10
$NT_ROT_AX_POS
Function
The positions of the orientation axes, which result from the constant rotations which are
parameterized in elements of the kinematic chain of the type ROT_CONST, must be entered in
the system variable. The positions of the orientation axes that are effective due to this element
can thus be described without having to know the kinematic structure of the transformation or
the indices of the associated kinematic elements.
Syntax
$NT_ROT_AX_POS[<n>,<k>] = <OriAxPos>
Meaning
$NT_ROT_AX_POS:
Positions of the orientation axes due to the constant rotation
Data type:
REAL
Default value:
(0.0, 0.0, 0.0)
Range of val-
- max. REAL value ≤ x ≤ + max. REAL value
ues:
<n>:
System variable or transformation index
Data type:
INT
Range of val-
1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
ues:
<k>:
Index of the orientation axes
Data type:
INT
Range of val-
0: 1st orientation axis
ues:
1: 2nd orientation axis
2: 3rd orientation axis
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
243
Orientation transformations
6.4 Parameterization via kinematic chains
<OriAxPos>:
Position value
Data type:
REAL
Example
The positions of the orientation axes, which result from the parameterized constant rotation,
are: (0, 0, 45.0°)
Program code
Comment
; 1st transformation,
; positions of the orientation axes:
N100 $NT_ROT_AX_POS[1,0] =
0
; 1st orientation axis
N110 $NT_ROT_AX_POS[1,1] =
0
; 2nd orientation axis
N120 $NT_ROT_AX_POS[1,2] = 45.0
; 3rd orientation axis
6.4.2.11
$NT_ROT_AX_MIN
Function
The system variable contains the minimal position of a rotary axis.
This system variable is only evaluated if both $NT_ROT_AX_MIN[n, i] and $NT_ROT_AX_MAX[n,
i] are not zero. In this case it specifies the minimum permissible position of the rotary axis, which
is referenced with $NT_ROT_AX_NAME[n, i].
Syntax
$NT_ROT_AX_MIN[<n>,<k>] = "<RotAxMin>"
Meaning
$NT_ROT_AX_MIN:
Minimal position of the rotary axis
Data type:
REAL
Default value:
-
Value range:
-
<n>:
System variable or transformation index
Data type:
INT
Value range:
1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
<k>:
Index for the elements that define the rotary axes
Data type:
INT
Value range:
0: 1st rotary axis in the definition sequence
1: 2nd rotary axis in the definition sequence
2: 3rd rotary axis in the definition sequence
Transformations
244
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Orientation transformations
6.5 Parameterization with machine data (conventional)
6.4.2.12
$NT_ROT_AX_MAX
Function
The system variable contains the maximum position of a rotary axis.
This system variable is only evaluated if both $NT_ROT_AX_MIN[n, i] and $NT_ROT_AX_MAX[n,
i] are not zero. In this case it specifies the minimum permissible position of the rotary axis, which
is referenced with $NT_ROT_AX_NAME[n, i].
Syntax
$NT_ROT_AX_MAX[<n>,<k>] = "<RotAxMax>"
Meaning
$NT_ROT_AX_MAX:
Names of the elements of the kinematic chain currently in effect, which
define the rotary axes
Data type:
REAL
Default value:
-
Value range:
-
<n>:
System variable or transformation index
Data type:
INT
Value range:
1, 2, ... (MD18866 $MN_MM_NUM_KIN_TRAFOS - 1)
<k>:
Index for the elements that define the rotary axes
Data type:
INT
Value range:
0: 1st rotary axis in the definition sequence
1: 2nd rotary axis in the definition sequence
2: 3rd rotary axis in the definition sequence
6.5
Parameterization with machine data (conventional)
6.5.1
Conventional 3 to 5-axis transformations
6.5.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.
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
245
Orientation transformations
6.5 Parameterization with machine data (conventional)
Example based on the transformation type of a transformation: MD24100
$MC_TRAFO_TYPE_<x>
• Transformation type of the first transformation: MD24100 $MC_TRAFO_TYPE_1
• Transformation type of the second transformation: MD24100 $MC_TRAFO_TYPE_2
• ...
Axis names
While a transformation is active, the channel, geometry and machine axis names within a
channel must be different.
• MD10000 $MN_AXCONF_MACHAX_NAME_TAB (machine axis name)
• MD20080 $MC_AXCONF_CHANAX_NAME_TAB (channel axis name)
• MD20060 $MC_AXCONF_GEOAX_NAME_TAB (geometry axis name)
6.5.1.2
Configuration of a machine for 5-axis transformation
Maximum number of 5-axis transformations per channel
Currently, no more than four 5-axis transformations can be parameterized per channel
Transformation type
The transformation type that is dependent on the machine type is set in machine data:
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
(tool that can be swiveled/
(workpiece that can be
(tool/workpiece that can
the machine
rotated)
swiveled/rotated)
be swiveled/rotated)
Transformation type
Transformation type
Transformation type
AB
16
32
48
AC
--- 1)
33
49
BA
18
34
50
BC
--- 1)
35
51
CA
20
--- 1)
--- 1)
CB
21
--- 1)
--- 1)
1) Not a practical combination, as a rotation of the C axis would only correspond to a rotation of the tool
around its own longitudinal axis (symmetrical axis).
Transformations
246
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Orientation transformations
6.5 Parameterization with machine data (conventional)
Identifying the axis sequence
The axis sequence is identified in the following way:
• AB means: A is 4th axis, B is 5th axis of the transformation
• For machine type 3, the swivel axis of the tool is the 4th axis of the transformation and the
rotary axis of the workpiece is the 5th axis of the transformation.
Axis assignment
In the machine data, the axis assignment at the input of the 5-axis transformation defines which
axis will be mapped by the transformation to which channel axis:
MD24110 $MC_TRAFO_AXES_IN_<x> (axis assignment for transformation x)
where x = 1, 2, ... maximum number of transformations
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
247
Orientation transformations
6.5 Parameterization with machine data (conventional)
Geometry information
Information concerning machine geometry is required so that the 5-axis transformation can
calculate axis values: This information is stored in the machine data (in this case, for the first
transformation in the channel):
• $MC_TRAFO5_PART_OFFSET_<x> (workpiece-oriented offset)
where x = 1, 2, ... maximum number of transformations in the channel
- Machine type 1:
Vector from machine reference point to table zero point (generally, the zero vector)
- Machine type 2:
Vector components from the last rotating joint of the table to the zero point of the
table ①.
&
%
Figure 6-6
Machine data $MC_TRAFO5_PART_OFFSET_1 for machine type 2
– Machine type 3 (single-axis swivel head and single-axis rotary table)
Vector from joint of rotary table to zero point of table
• $MC_TRAFO5_JOINT_OFFSET_<x> (vector of kinematic offset)
where x = 1, 2, ... maximum number of transformations in the channel
- Machine type 1 and 2:
Vector from the first to the second swivel joint
- Machine type 3:
Vector from machine zero point to the swivel joint of the table
• $MC_TRAFO5_ROT_AX_OFFSET_<x> (position offset of rotary axes 1 / 2 / 3)
where x = 1, 2, ... maximum number of transformations in the channel
Transformations
248
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
Orientation transformations
6.5 Parameterization with machine data (conventional)
Examples
&
$
MR
$
&
WR
WR
W
W
PR
PR
[
[
SR
SR
=
;
①
Machine zero
②
Zero point tool table
mo
Position vector in MCS
po
$MC_TRAFO5_PART_OFFSET_<x>[0 ..2]
x
Vector of programmed position in BCS
t
Tool correction vector
to
$MC_TRAFO5_BASE_TOOL_<x>[0 .. 2]
jo
MD24560 $MC_TRAFO5_JOINT_OFFSET_<x>[0 .. 2]
Figure 6-7
Schematic diagram of CA kinematics, moved tool
Transformations
Function Manual, 10/2020, 6FC5397-5GP40-0BA1
249
|