FB3_0805_en
FB3_0805_en
FB3_0805_en
Transformation F2
Gantry Axes G1
Cycle Times G3
Installation of Compile
Special Functions (Part 3) Cycles TE01
Simulation of Compile
Description of Functions Cycles TE02
Speed/Torque Coupling,
Master-Slave TE3
Handling Transformation
Package TE4
Cycle-Clock-Independent
Path-Synchronous Signal
Output TE8
Valid for
Preprocessing V2
Control Software Version
SINUMERIK 840D sl/840DE sl 1.3 3D Tool Radius
SINUMERIK 840D powerline 7.3 Compensation W5
SINUMERIK 840DE powerline (export variant) 7.3
SINUMERIK 840Di 2.3
SINUMERIK 840DiE (export variant) 2.3 Index
SINUMERIK 810D powerline 7.3
SINUMERIK 810DE powerline (export variant) 7.3
SINAMICS 2.3
08.05 Edition
SINUMERIK® Documentation
3ls
Printing history
Brief details of this edition and previous editions are listed below.
The status of each edition is shown by the code in the “Remarks” columns.
A . . . . . New documentation.
B . . . . . Unrevised reprint with new Order No.
C . . . . . Revised edition with new status.
If the technical subject matter shown on the page has changed compared to the
previous edition status, this is indicated by the changed edition status in the header
of the respective page.
Trademarks
SIMATICr, SIMATIC HMIr, SIMATIC NETr, SIROTECr, SINUMERIKr, SIMODRIVEr and SINAMICSr are
Siemens trademarks. Other product names used in this documentation may be trademarks which, if used
by third parties, could infringe the rights of their owners.
Further information is available in the Internet under: Other functions not described in this documentation may be
http://www.siemens.com/motioncontrol executable in the control. However, no claim can be made regarding
the availability of these functions when the equipment is first supplied
This publication was produced with Interleaf V 7 or in the event of servicing.
Preface
Target audience This document is designed for machine tool manufacturers. It contains a de-
tailed description of the functions offered by SINUMERIK controls.
Standard version This Programming Guide describes the functionality afforded by standard func-
tions. Extensions or changes made by the machine tool manufacturer are docu-
mented by the machine tool manufacturer.
Other functions not described in this documentation might be executable in the
control. This does not, however, represent an obligation to supply such func-
tions with a new control or when servicing.
Hotline If you have any questions on the control, please get in touch with our hotline:
If you have any questions about the documentation (suggestions for improve-
ment, corrections), please send a fax to the following number:
Fax: +49 (9131) 98-63315
E-mail: mailto:motioncontrol.docu@siemens.com
Fax form: Refer to the reply form at the end of this manual
Objective The Descriptions of Functions provide the information required for configuration
and installation.
Target groups The information contained in the Descriptions of Functions is designed for:
S Design engineers
S PLC programmers creating the PLC user program with the signals listed
S Startup engineers once the system has been configured and set up
S Maintenance personnel inspecting and interpreting status signals and
alarms
Note
In addition to the keyword index, the Basic Machine Description of Functions
(Part 1) also contains a list of abbreviations and terms.
If you require information about a function, you will find the function and the
code under which it is classified in the inside cover title of the manual.
If you need information about a certain term, please go to the section headed
Index in the Appendix and look for the term concerned. The Description of
Functions code, the chapter number and the number of the page on which you
can find the information you need are listed in this section.
Safety information This manual contains information which you should observe in order to ensure
your own personal safety, as well to avoid material damage. Notes relating to
your personal safety are highlighted in the manual by means of a warning
triangle, no warning triangle appears in conjunction with notes that relate to
property damage. The warnings appear in decreasing order of risk as given
below.
Danger
! Indicates an imminently hazardous situation which, if not avoided, will result in
death or serious injury or in substantial property damage.
Warning
! Indicates a potentially hazardous situation which, if not avoided, could result in
death or serious injury or in substantial property damage.
Caution
! Used with the safety alert symbol indicates a potentially hazardous situation
which, if not avoided, may result in minor or moderate injury or in property
damage.
Caution
Used without safety alert symbol indicates a potentially hazardous situation
which, if not avoided, may result in property damage.
Notice
Used without the safety alert symbol indicates a potential situation which, if not
avoided, may result in an undesirable result or state.
Correct usage
Warning
! The unit may be used only for the applications described in the catalog or the
technical description, and only in combination with the equipment, components
and devices of other manufacturers where recommended or permitted by
Siemens. Correct transport, storage, installation and assembly, as well as
careful operation and maintenance, are required to ensure that the product
operates safely and without faults.
Further
information
Important
! This notice indicates important facts that must be taken into consideration.
Note
This symbol always appears in this documentation where further, explanatory
information is provided.
Machine Manufacturer
This pictorial symbol appears in this document to indicate that the machine
manufacturer can control or modify the function described. See machine
manufacturer’s specifications.
Technical information
Notations The following notations and abbreviations are used in this document:
Data types The following data types are used in the control:
S DOUBLE
Real values or integers
input limits from +/–4.19*10–307 to +/–1.67*10308
S DWORD
Integers
input limits from –2.147*109 to +2.147*109
S BOOLEAN
Possible input values: true or false/0 or 1
S BYTE
Integers from –128 to +127
S STRING
Comprising a max. of 16 ASCII characters (upper case letters, numbers and
underscores)
Quantity The explanations of the PLC interface in the individual Descriptions of Functions
framework assume a theoretical maximum number of components:
Notes
6.5.2 Example for rotations of the orientation vector (SW 6.1 and
higher) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/6-129
6.6 Example for generic 5-axis transformation (SW 5.2 and higher) . . 3/F2/6-130
6.6.1 Example for a generic 6-axis transformation (SW 7.2 and higher) 3/F2/6-131
6.6.2 Example for the modification of the rotary axis motion (SW 6.1
and higher) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/6-132
6.7 Compressor example for orientation (SW 6.3 and higher) . . . . . . . 3/F2/6-133
7 Data Fields, Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/7-135
7.1 Interface signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/7-135
7.2 Setting data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/7-135
7.3 Machine data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/7-136
7.4 Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/7-140
Notes
Brief Description 1
1.1 5-axis transformation
Functionality The “5-axis transformation” machining package (see Section 2.1) is designed
for machining sculptured surfaces with machine tools that have two rotary axes
in addition to the three linear axes X, Y and Z:
This package thus allows an axially symmetrical tool (milling cutter, laser beam)
to be oriented in any desired relation to the workpiece in the machining space.
The path and path velocity are programmed in the same way as for 3-axis tools.
The tool orientation is programmed additionally in the traversing blocks.
The real-time transformation performs the calculation of the resulting motion of
all 5 axes. The generated machining programs are therefore not machine
specific. Kinematic-specific post-processors are not used for the 5-axis
machining operation.
A selection of various transformations is available for adapting the control to
various machine kinematics. Part program commands can be issued in
operation to switch over between two transformations parameterized during
start-up.
This package therefore covers the three possible basic machine configurations
which differ in terms of tool and workpiece orientation.
Euler angles
RPY angles
Vector components
These elements define the direction of the tool in the workpiece coordinate
system. 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 Part programs and synchronized actions have read access to system variables
orientation that provide the following information:
Definition In contrast to the transformations described in Section 1.1, 3-axis and 4-axis
transformations have the following characteristics:
3-axis transformation
– Two translatory axes
– One rotary axis
4-axis transformation
– Three translatory axes
– One rotary axis
Both types of transformation belong to the orientation transformations.
Orientation of the tool must be programmed explicitly. The orientation of the tool
is executed in a plane perpendicular to the rotary axis.
z z
B B
Z Z
Y Y
x
x
X X
Z z
Introduction This type of transformation is similar to the 5-axis transformation for machine
type 3 described in Section 1.1. However, the 3rd linear axis is not always
perpendicular to the plane defined by the other two linear axes.
Features of Machine kinematics, for which the orientation transformation described in the
machine following section applies, can be described as follows:
kinematics – Kinematics with three linear axes and two orthogonal rotary axes.
– The rotary axes are parallel to two of the three linear axes.
– The first rotary axis is moved by two Cartesian linear axes. It rotates the
third linear axis, which moves the tool. The tool is aligned in parallel to
the third linear axis.
– The second rotary axis rotates the workpiece.
– The kinematics comprise a moved workpiece and a moved tool.
The following figure shows the interrelations for one of the possible axis
sequences, for which transformation is possible.
Swiveled
linear axis
+
Z
Rotary axis 1
Workpiece
Work-
piece
table
– X +
Rotary axis 2
+
Y B
– +
Machine
zero
Features A machine tool with universal milling head is characterized by the following
features:
The machine tool for the universal milling head has at least 5 axes.
3 linear axes (for linear motions) [X, Y, Z] move the machining point to any
desired position in the machining space.
Introduction With regard to the kinematics of robots, hexapods or nutators, there is no such
simple correlation between axis motion and change in orientation as is the case
on conventional 5-axis machines.
For this reason, the change in orientation is defined by a model that is created
independently of the actual machine. This model defines three virtual orientation
axes which can be visualized as rotations about the coordinate axes of a
rectangular coordinate system.
For the purpose of 6-axis transformation, a third degree of freedom for
orientation, describing the rotation of the tool about itself, has been introduced.
Definition The Cartesian coordinates are converted from the basic to the machine
coordinate system by means of a real-time transformation process. These
Cartesian coordinates comprise
– Geometry axes
– Orientation axes
Geometry axes describe the operating point.
Orientation axes describe the orientation of the tool in space.
Tool orientation You can define the orientation of the tool in space as follows using linear
interpolation, large circle interpolation and by means of orientation vectors:
– Direct Programming of rotary axis positions A, B, C
– For 5-axis transformation by programming:
The Euler or RPY angle in degrees via A2, B2, C2 or
the direction vector via A3, B3, C3
– Programming via leading angle LEAD and tilt angle TILT
Introduction The generic 5-axis transformation function differs from earlier 5-axis
transformation versions insofar as it is no longer restricted with respect to the
directions of rotary axes.
The basic orientation of the tool is no longer predefined in machine data as was
the case in earlier versions of orientation transformations, but can now be
programmed freely.
Detailed description given in Section 2.6.
Introduction You can use the system variable $AA_TOFF[ ] to overlay the effective tool
lengths in 3-D at runtime. These offsets are active for
active orientation transformation (TRAORI) or an
active tool carrier in the relevant tool direction.
If the tool orientation changes, the tool length offsets that apply are rotated so
that the pivot point for the orientation movement always refers to the corrected
tool tip.
Detailed description given in Section 2.6.
Positions for the axes must be specified directly and cannot be programmed
via assignments.
In the case of NC programs for 5-axis machines, the tool orientation must be
programmed by specifying rotary axis positions in order to activate the
compressor.
This means that you can only run 5-axis programs with the compressor if the
orientation is programmed directly from the rotary axis motion, independent of
the kinematics.
Solution option in You can program the tool orientation independent of the kinematics by using
SW 6.3 and higher direction vectors.
NC programs with such direction vectors can be executed with compressors
COMPON, COMPCURV and COMPCAD.
You will find a detailed description in Section 1.12.
Notes
Detailed Description 2
Note
The transformations described below require that individual names are
assigned to machine axes, channels and geometry axes when the
transformation is active. Compare
MD 10000: AXCONF_MACHAX_NAME_TAB,
MD 20080: AXCONF_CHANAX_NAME_TAB,
MD 20060: AXCONF_GEOAX_NAME_TAB.
This is the only method of ensuring unique assignments.
Applications The “5-axis transformation” machining package is provided for machine tools,
which as well as three linear axes X, Y and Z also have two additional rotary
axes (rotation about the linear axes): This package thus allows an axially
symmetrical tool (milling cutter, laser beam) to be oriented in any desired
relation to the workpiece in every point of the machining space.
The workpiece is always programmed in the rectangular workpiece coordinate
system; any programmed or set frames rotate and shift this system in relation to
the basic system. The kinematic transformation then converts this information
into motion commands of the real machine axes.
The kinematic transformation requires information about the design (kinematics)
of the machine, which are stored in machine data.
The kinematic transformation does not act on positioning axes.
Kinematics of 5-axis machines are generally equipped with three linear and two rotary axes:
machines for the latter may be implemented as a two-axis swivel head, a two-axis rotary table
5-axis or as a combination of single-axis rotary table and swivel head. These types of
transformation machine are characterized by:
1. Three linear axes form a right-handed, Cartesian coordinate system.
2. Rotary axes are parallel to the traversing direction of one of the linear axes.
Example:
– A parallel to X
– B parallel to Y
– C parallel to Z
3. Rotary axes are positioned vertically one above the other
4. Rotary axes turn
– Tool with two-axis swivel head
(machine type 1)
– Workpiece with two-axis rotary table
(machine type 2)
– Tool and workpiece with single-axis rotary table and swivel head
(machine type 3)
5. The following applies to machine types 1 and 2:
– Rotary axis 1 is treated as the 4th machine axis of the transformation.
– Motion of 1st rotary axis changes the orientation of the 2nd rotary axis.
– Rotary axis 2 is treated as the 5th machine axis of the transformation.
– Motion of 2nd rotary axis does not change the orientation of the 1st
rotary axis.
6. The following applies to machine type 3:
– 1st rotary axis (4th machine axis of transformation) turns the tool.
– 2nd rotary axis (5th machine axis of transformation) turns the workpiece.
7. Initial tool position:
– In negative Z direction.
Note
Transformations that do not meet all of the above conditions are described in
dedicated subsections:
3-axis and 4-axis transformation in 2.2
Swiveling linear axis in 2.3
Universal milling head in 2.4
To ensure that the 5-axis transformation can convert the programmed values to
axis motions, certain information about the mechanical design of the machine is
required; this information is stored in machine data:
Machine type
Axis assignment
Geometry information
Direction of rotation assignment
Machine type The machine types have been designated above as types 1 to 3 and are stored
in machine data
$MC_TRAFO_TYPE_1 ... $MC_TRAFO_TYPE_10
as a two-digit number.
Table 2-1 gives a list of machine types, which are suitable for 5-axis
transformation.
Combinations that are not meaningful whose C axis corresponds to a rotation of
the tool about its longitudinal axis (symmetry axis) are marked by x.
Table 2-1 Overview of machine types which are suitable for 5-axis transformation
Machine type 1 2 3
Swivel/rotatable Tool Workpiece Tool/workpiece
Axis sequence
OB 16 32 48
AC x 33 49
BA 18 34 50
BC x 35 51
CA 20 x x
CB 21 x x
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 The axis assignment at the input of the 5-axis transformation defines which axis
is imaged internally on a channel axis by the transformation.
It is defined in MD: $MC_TRAFO_AXES_IN_1 ... $MC_TRAFO_AXES_IN_10.
Geometry Information concerning the machine geometry is required so that the 5-axis
information transformation can calculate the axis values: This information is stored in the
machine data (in this case, for the first transformation in the channel):
MD: $MC_TRAFO5_PART_OFFSET_1
Workpiece-oriented offset
for machine type 3 (single-axis swivel head and single-axis rotary table)
Vector from joint of rotary table to zero point of table.
MD: $MC_TRAFO5_JOINT_OFFSET_1
Vector from first to second joint (machine type 1 and 2).
Vector from machine zero to table joint
(machine type 3).
MD: $MC_TRAFO5_ROT_AX_OFFSET_1
Angle offset of first or second rotary axis
A
A jo
C
to
t to
mo x t
mo
Z po Tool table
zero
po
Machine zero
X
Y
to
mo t
x
Tool table
zero C
po
Z
B
jo B
Machine zero
Y
X
C
A to
t
mo
Tool table x
zero
po
Z
C
Machine zero
jo
C
X
Y
Direction of The sign interpretation setting for a rotary axis is stored in the sign machine
rotation data for 5-axis transformation.
assignment MD 24520: TRAFO5_ROT_SIGN_IS_PLUS_1[n] 1st rotary axis
MD 24620: TRAFO5_ROT_SIGN_IS_PLUS_2[n] 2nd rotary axis
Transformation Ten transformation types per channel can be configured in machine data
types TRAFO_TYPE_1 to 10. Of these eight types, a maximum of two may be 5-axis
transformations.
ÉÉÉÉ
A
ÉÉÉÉ
B Tool axis
ÉÉÉÉ
Peripheral milling
Z
Y
X
Programming The orientation of the tool can be programmed in a block directly by specifying
the rotary axes or indirectly by specifying the Euler angle, RPY angle and
direction vector. The following options are available:
Orientation A tool orientation at the start of a block can be transferred to the block end in
reference two different ways:
ORIWKS The tool orientation is programmed in the workpiece coordinate system (WCS)
command and is therefore not dependent on the machine kinematics.
In the case of a change in orientation with the tool tip at a fixed point in space,
the tool moves along a large arc on the plane stretching from the start vector to
the end vector.
ORIMKS The tool orientation is programmed in the machine coordinate system (MCS)
command and is therefore dependent on the machine kinematics.
In the case of a change in orientation with the tool tip at a fixed point in space,
linear interpolation takes place between the rotary axis positions.
The orientation is selected via NC language commands ORIWKS and ORIMKS.
Orientation 4 Z
3
ÉÉ
90o
ÉÉ ÉÉ
Orientation 1 2
ÉÉ
4
ÉÉ
ÉÉ 5
F2
F1
X
A
ÉÉ
ÉÉ 1
B
Y
1
Machine the surface F1 along the edge of F2
2 Retract
3 Change in orientation B: +90° A: –30 °
4 Approach the surface F2
5 Machine the surface F2 along the edge of F1
90°
45°
30°
Z
X
4
2
3
With ORIWKS
(large arc)
3
Illegal tool If the tool orientation is programmed in conjunction with the following functions:
orientation
G04 Dwell time
REPOSL Repositioning
REPOSQ Repositioning
REPOSH Repositioning
Alarm 12130 “Illegal tool orientation” is output when Euler angles and direction
vectors are selected. The NC program stops (this alarm can also occur in
connection with G331, G332 and G63). To remedy this situation, the tool
orientation can be programmed with axis end values.
Alarm 17630 or 17620 is output for G74 and G75 if a transformation is active
and the axes to be traversed are involved in the transformation. This applies
irrespective of orientation programming.
If the start and end vectors are inverse parallel when ORIWKS is active, then no
unique plane is defined for the orientation programming, resulting in the output
of alarm 14120.
If a transformation operation (activation, deactivation or transformation change)
is carried out when tool radius compensation is active, alarm 14400 is output.
However, conversely, no alarm is output if tool radius compensation is selected
or deselected during active transformation.
Multiple input of According to DIN 66025, only one tool orientation may be programmed in a
tool orientation block, e.g. with direction vectors:
N50 A3=1 B3=1 C3=1
If the tool orientation is input several times, e.g. with direction vectors and Euler
angles:
N60 A3=1 B3=1 C3=1 A2=0 B2=1 C2=3
error message 12240 “Channel X block Y tool orientation xx defined more than
once” is displayed and the NC part program stops.
Tool orientation In SW 5.3 and higher, polynomials can also be programmed for the
using orientation modification of the orientation vector.
vectors This method produces an extremely smooth change in speed and acceleration
at the block changes for rotary axes when the tool orientation has to be
programmed over several blocks.
The interpolation of orientation vectors can be programmed with polynomials up
to the 5th degree. The polynomial interpolation of orientation vectors is
described in Subsection 2.10.1.
Note
Further explanations of tool orientation using orientation vectors and their
handling at machine tools are given in:
References: /FB/, W1 “Tool Compensation, Orientable Toolholder”
Extreme velocity If the path runs in close vicinity to a pole (singularity), one or several axes may
overshoot traverse at a very high velocity.
In this case, alarm 10910 “Extreme velocity overshoot on one axis” is output.
The programmed velocity is then reduced to a value, which does not exceed
the maximum axis velocity.
Note
Singularities are dealt with differently in SW 5.2 and higher: There is now only
one relevant machine data $MC_TRAFO5_POLE_LIMIT (see Subsection 2.7.1
or Programming Guide Advanced [PGA], Subsection 7.1.3).
$MC_TRAFO5_ This MD designates a limit angle for the fifth axis of the first
NON_POLE_LIMIT MD 24530: TRAFO5_NON_POLE_LIMIT_1 or the second
MD:24630: TRAFO5_NON_POLE_LIMIT_2 5-axis transformation with the
following characteristics:
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 circles of
longitude and latitude 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 MD, then a deviation from the specified interpolation is
made so that the interpolation passes through the pole.
$MC_TRAFO5_ This MD designates a limit angle for the fifth axis of the first
POLE_LIMIT MD 24540: TRAFO5_POLE_LIMIT_1 or the second
MD 24640: TRAFO5_POLE_LIMIT_2 5-axis transformation with the following
characteristics:
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 $MC_TRAFO5_NON_POLE_LIMIT in the vicinity of the pole, a deviation is
made 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.
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.
MD: $MC_TRAFO5_POLE_LIMIT_1
Interpolated Programmed
path path
4th axis: RA 1
MD:
$MC_TRAFO5_NON_POLE_LIMIT_1
5th axis: RA 2
MD 21108 Machine data MD 21108: POLE_ORI_MODE can be used to set the response
for large circle interpolation in pole position as follows:
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 MD TRAFO5_NON_POLE_LIMIT_1/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.
Machine data MD 21108: POLE_ORI_MODE is decimally-coded.
The unit digits define the behavior if the start orientation precisely matches the
pole orientation and the
ten digits define the behavior if the start orientation is within the tolerance circle
defined in MD TRAFO5_NON_POLE_LIMIT1/2.
All settings are described in “Channel-specific machine data”.
Introduction 3-axis and 4-axis transformations are special types of the 5-axis transformation
described in Section 2.1. Orientation of the tool is possible only in the plane
perpendicular to the rotary axis. The transformation supports machine types
with movable tool and movable workpiece.
Kinematics The variants specified in the following table apply both for 3-axis and 4-axis
variants transformations.
Zero position The tool orientation at zero position is the position of the tool with G17 as the
active working plane and position of the rotary axis at 0 degrees.
Axis assignments The three translatory axes included in the transformation are assigned to any
channel axes via the machine data
$MC_TRAFO_GEOAX_ASSIGN_TAB_n[0..2] and
$MC_TRAFO_AXES_IN_n[0..2]. The following must apply for the assignment of
channel axes to geometry axes for the transformation:
$MC_TRAFO_GEOAX_ASSIGN_TAB_n[0] = $MC_TRAFO_AXES_IN_n[0]
$MC_TRAFO_GEOAX_ASSIGN_TAB_n[1] = $MC_TRAFO_AXES_IN_n[1]
$MC_TRAFO_GEOAX_ASSIGN_TAB_n[2] = $MC_TRAFO_AXES_IN_n[2]
Parameter assign-
ment procedure
Enter the type of transformation according to Table 2-2 as machine data
$MC_TRAFO_TYPE_n.
– $MC_TRAFO_GEOAX_ASSIGN_TAB_n[geoax] = 0
– $MC_TRAFO_AXES_IN_n[geoax] = 0
$MC_TRAFO_AXES_IN_n[4] = 0 ; there is no 2nd rotary axis
For a 4-axis transformation, set the following for the 3 linear axes:
– $MC_TRAFO_GEOAX_ASSIGN_TAB_n[geoax] = ...
– $MC_TRAFO_AXES_IN_n[geoax] = ...
$MC_TRAFO_AXES_IN_n[4] = 0 ; there is no 2nd rotary axis.
Complete examples can be found in Section 6.2.
Applications You can use a transformation with swiveling linear axis if your application is
characterized by the kinematics described in Section 1.3 and only a small
swivel range (<<"90 degrees) is crossed by the first rotary axis.
Kinematics The orientation transformation with swiveling linear axis forms a transformation
variants group of its own. It is specified in machine data $MC_TRAFO_TYPE_n (n = 1,
2, 3, 4) using the following values:
Transf. type 1st rotary axis 2nd rotary axis Swiveled linear axis
64 A B Z
65 A C Y
66 B A Z
67 B C X
68 C A Y
69 C B X
Pole The corresponding transformation has a pole with a tool orientation parallel to
the second rotary axis. Singularity occurs in the pole position because the third
linear axis is parallel to the plane of the first two linear axes, excluding the
possibility of compensating movements perpendicular to this plane.
Parameter The following machine data with the following meanings are used to adjust the
assignments transformation equations to the machine (n=1,2):
Definition of As an aid for defining the values for the above-mentioned machine data, the
required values following two sketches show the basic interrelations between the vectors.
Machine zero
X Y
Z Y
Rotary axis that swivels the 3rd linear axis (Z)
Z
to
Workpiece zero on table *
ro
X po
jo
$MC_TRAFO5_PART_OFFSET_n po
$MC_TRAFO5_TOOL_ROT_AX_OFFSET_n ro
$MC_TRAFO5_JOINT_OFFSET_n jo
$MC_TRAFO5_BASE_TOOL_n to
Note
For the schematic diagram shown in Fig. 2-10, it has been assumed that the
machine has been traversed so that the tool holding flange is in line with the
table zero (marked by *). If this cannot be implemented for geometric reasons,
the values for to must be corrected by the deviations.
Fig. 2-12 shows the vector components for the machine represented in Fig. 1-3
with their respective designations.
Note
A physically identical point on the 1st rotary axis (e.g. point of intersection
between the tool axis and the 1st rotary axis) must be assumed for both views.
Swiveled
linear axis
+
Z
–
Rotary axis 1
Workpiece
Work-
piece
table
– X+
+ Rotary axis 2
+
Y –
B
–
Machine
zero
The following conversion of the geometry into the machine data to be specified
is based on the example in Fig. 2-11.
Table
Stator
Clamping fixture
to
Rotary axis of
po
table
Z
ro = roz
jo
Y
Rotary axis of
to table Y
Z
po
ro
jo X
jox
joy
Fig. 2-12 Example of vector designations for MD settings for Fig. 2-11
Zero components With certain geometries or machine zero positions, individual components or
complete vectors can become zero.
Machine type The machine shown in Fig. 2-11 corresponds to version 1. Therefore, type of
transformation 64 must be set in machine data $MC_TRAFO_TYPE_n
(4 least-significant bits in MD).
Activation The transformation for a swiveled linear axis is activated in the same way as the
5-axis transformations. Details are described in Section 2.5.
Tool orientation With regard to tool orientation, the same applies as described in
Subsection 2.1.4.
Note
The following description of the universal milling head transformation has been
formulated on the assumption that the reader has already read and understood
the general 5-axis transformation described in Section 2.1. Please note that
where no specific statements relating to the universal milling head are made in
the following section, the statements relating to general 5-axis transformation
apply.
Applications A universal milling head is used for machining contours of sculptured parts at
high feedrates. An excellent degree of machining accuracy is achieved thanks
to the rigidity of the head.
A axis
C axis
Tool axis
Configuring the The angle of the inclined axis can be configured in a machine data:
nutator angle ϕ
$MC_TRAFO5_NUTATOR_AX_ANGLE_1 For the first orientation trans-
formation
$MC_TRAFO5_NUTATOR_AX_ANGLE_2 For the second orientation
transformation
The angle must lie within the range of 0 degrees to +89 degrees.
Types of The axis sequences of the rotary axes and the orientation direction of the tool at
kinematics zero position are set for the different types of kinematics using machine data
$MC_TRAFO_TYPE_1 ... $MC_TRAFO_TYPE_10.
Angle definition
Z
Y
ϕ
X
C
A’
2.4.2 Parameterization
Setting the type of The following table gives the data required in order to set machine data
transformation $MC_TRAFO_TYP_n appropriately for any given machine kinematics (general
concept).
Among the full range of options specified in the general concept above, the
settings highlighted in gray in the following table are implemented in SW 3.1, the
others in SW 3.2 and higher.
Table 2-4 Implemented combinations; the table below gives the values for $MC_TRAFO_TYPE_n for the
configurable axis sequences and for the orientation direction of the tool in position zero, showing separate
data for moving tool, moving workpiece and moving tool and workpiece. The transformation does not
support any table elements which do not contain a preset value.
Active machining Since the tool orientation in position zero can be set in directions other than just
plane the Z direction, the user must ensure that he sets the active machining level so
that the tool length compensation takes effect in the tool orientation direction.
The active machining plane should always be the plane according to which the
tool orientation is set in position zero.
Other settings The geometry information used by the universal milling head transformation for
calculation of the axis values is set analogously to that of the other 5-axis
transformations.
JOG The linear axes can be traversed normally in JOG mode. It is, however, difficult
to set the orientation correctly by traversing these axes.
Activation of The transformation for universal milling head in the program is activated as
universal milling described in the following Section 2.5.
head
Power OFF TRAFOOF or TRAFOOF() can be used to deactivate the currently active 3-axis
to 5-axis transformation.
This sets IS “Transformation active” (DB21-30, DBX33.6) to “0”.
Switchover You can switch from one active transformation to another transformation
configured in the same channel. To do this you must enter the TRAORI(n)
command again with a new value for n.
RESET/ The behavior of the control with regard to 3-axis/5-axis transformations after
EOP run-up, end of program or RESET is determined by
MD 20110: RESET_MODE_MASK
Bit 7: Reset behavior of “active kinematic transformation”
Bit 7=0: Initial setting for active transformation after end of part program
or RESET in acc. with MD 20140: TRAFO_RESET_VALUE
is defined with the following meaning:
0: No transformation is active after RESET
1 to 8: The transformation preset in
MD 24100: TRAFO_TYPE_1 to MD 24460: TRAFO_TYPE_8 is active.
Bit 7=1: The current setting for the active transformation remains
unchanged after a RESET or end of part program.
Option The “5-axis transformation” function and its special types described in this
Description of Functions are available only in the form of an option. If this option
is not implemented in the control and a transformation is called with the TRAORI
command, the error message 14780 “Block uses a function that has not been
enabled” appears and the NC program stops.
If 3-axis to 5-axis transformation is not specified in machine data
MD 24100: TRAFO_TYPE_1
... MD 24460: TRAFO_TYPE_8, programming the TRAORI (1 or 2) command
triggers alarm 14100 “Channel x block y orientation transformation not
available”.
If MD: $MC_TRAFO_TYPE_n is set without the 5-axis transformation option
being enabled, there is no alarm.
2.6.1 Functionality
Scope of functions The generic 5-axis transformation covers the functions implemented in SW up
to and including 5.1 (see Section 2.1) for perpendicular rotary axes as well as
the transformations for the universal milling head (one rotary axis parallel to a
linear axis, the second rotary axis at any angle to it, see Section 2.4).
Activation Generic 5-axis transformation can also be activated like any other orientation
transformation using the TRAORI() or TRAORI(n) command (where n is the
number of the transformation). Furthermore, the basic transformation can be
transferred in the call in three other parameters, e.g. TRAORI(1, 1.1, 1.5, 8.9).
A transformation can be deselected implicitly by selecting another
transformation or explicitly with TRAFOOF.
Machine types Like the existing 5-axis transformations, there are three different variants of
generic 5-axis transformation:
1. Machine type: Rotatable tool
Both rotary axes change the orientation of the tool.
The orientation of the workpiece is fixed.
2. Machine type: Rotatable workpiece
Both rotary axes change the orientation of the workpiece.
The orientation of the tool is fixed.
3. Machine type: Rotatable tool and rotatable workpiece
One rotary axis changes the tool orientation and the other the workpiece
orientation.
Configurations The machine configurations are defined as in earlier versions (see Subsection
2.1.3) in machine data $MC_TRAFO_TYPE_1, ..., _8. Additional types have
been introduced for generic 5-axis transformation:
Machine type 1 2 3
Swivel/rotatable: Tool Workpiece Tool/workpiece
Transform. types 24 40 56
Rotary axis The direction of the rotary axes is defined in machine data
direction $MC_TRAFO5_AXIS1_n (1st rotary axis) and $MC_TRAFO5_AXIS2_n (2nd
rotary axis). n is 1 or 2 for the first/second 5-axis transformation in the system.
The machine data specified above are arrays with three values, which can
describe that axis direction (analogous to description of rotary axes for
orientable toolholder. The absolute value of the vectors is insignificant; only the
defined direction is relevant.
Example:
1. Rotary axis is A axis (parallel to x direction):
$MC_TRAFO5_AXIS1_1[0] = 1.0
$MC_TRAFO5_AXIS1_1[1] = 0.0
$MC_TRAFO5_AXIS1_1[2] = 0.0
2. Rotary axis is B axis (parallel to y direction):
$MC_TRAFO5_AXIS2_1[0] = 0.0
$MC_TRAFO5_AXIS2_1[1] = 1.0
$MC_TRAFO5_AXIS2_1[2] = 0.0
Extension The generic orientation transformation for 5-axis transformation has been
extended with the following variants for 3-and 4-axis transformation:
Transformation Both variants of the generic 3-or 4-axis transformation are described by the
types following transformation types:
Effects on Generic 3-axis or 4-axis transformation has the following effect on the various
orientations orientations:
The resulting tool orientation
is defined according to the hierarchy specified for generic 5-axis transformation.
Priority:
High Programmed orientation,
Medium Tool orientation and
Low Basic orientation
Allowance is made, in particular, for the following orientations:
Note
For further information about programmable tool orientation and basic tool
orientation, please see
Comparison Please note the following differences as distinct from the existing 3- and 4-axis
transformations described in Section 2.2:
Application Machine types on which the table or tool can be rotated can either be operated
as true 5-axis machines or as conventional machines with orientable
toolholders. In both cases, the machine kinematics are determined by the same
data, which, due to the different parameters, previously had to be entered twice
for
orientable toolholders via system variable and for
transformations by means of machine data.
The new transformation type 72 can be used to specify that these two machine
types use identical data.
Table 2-6 Machine types for generic 5-axis transformation in SW 7.2 and higher
Machine type 1 2 3 4
Swivel/rotat- Tool Workpiece Tool/workpiece Type 3 or ori-
able: entable tool-
holder
Kinematic type: T P M T, P, M
Transform. 24 40 56 72 from content
type: of
$TC_CARR23
Note
The transformation only takes place if the orientable toolholder concerned is
available and the value of $TC_CARR23 contains a valid entry for type M, P or
T kinematics in lower or upper case.
The transformation machine data for the first orientation transformation listed in
the tables below are equally valid for the second orientation transformation. All
other machine data that may affect the transformation characteristics and do
not appear in the tables below (e.g. MD 24110/24210: TRAFO_AXES_IN_1/2
or MD 24574/24674: TRAFO5_BASE_ORIENT_1/2) remain valid and effective.
If in the tables below a second additive parameter appears in brackets for the
parameters of the orientable toolholder (e.g. $TC_CARR24 (+
$TC_TCARR64)), the sum of both values will only be effective if the fine offset
specified in setting data SD 42974:TOCARR_FINE_CORRECTION = TRUE is
active when the data are transferred from the orientable toolholder.
Assignment for all The assignments between the toolholder data for writing the linear offsets and
types of the corresponding machine data for kinematic transformations are determined
transformation by the transformation type. The following assignment of all other parameters is
identical for all three possible types of transformation:
Example The first 5-axis transformation is to obtain its data from machine data and the
parameterization second, in contrast, is to be parameterized using the data from the 3rd
orientable toolholder.
MD 24100: TRAFO_TYPE_1 = 24 ; first 5-axis transformation
MD 24200: TRAFO_TYPE_2 = 72 ; second 5-axis transformation
; parameterize data of 3rd
MD 24682: TRAFO5_TCARR_NO_2 = 3; orientable toolholder
Application With the maximum 3 linear axes and 2 rotary axes, the motion and direction of
the tool in space can be completely described with the generic 5-axis
transformation. Rotations of the tool around itself, as is important for a tool that
is not rotation-symmetric or robots, require an additional rotary axis. The
previous generic 5-axis transformation will therefore be extended by a 3rd rotary
axis and further functions added.
Kinematics for the The 6-axis transformation is based on the generic 5-axis transformation and is
6-axis extended by the transformation type 57. Therefore, four different machine
transformation kinematics exist that are differentiated through the specification of the
transformation type in
machine data $MC_TRAFO_TYPE_1 = transformation type.
Table 2-7 Overview of machine types for the generic 6-axis transformation
Machine type 1 2 3 4
Swivel/rotatable Tool Workpiece Tool/ Tool/
workpiece workpiece
Transform. types 24 40 56 57
Orientation in space, Unchanged. Unchanged. Tool by two Tool by one
rotation of the axes All three axes All three axes axes, work- axis, work-
rotate the tool rotate the piece by a piece by two
workpiece rotary axis rotary axes
In all four cases, the first rotary axis is the one which closest to the workpiece
and the third rotary axis the one which closest to the tool in the kinematic chain.
Note
The four specified transformation types only cover those kinematics in which
the three linear axes form a rectangular Cartesian coordinate system, i.e. no
kinematics are covered in which at least one rotary axis lies between two linear
axes in the kinematic chain.
Dedicated machine data exist for each general transformation or for each
orientation transformation that are differentiated by the suffixes _1, _2 etc.
(e.g. $MC_TRAFO_TYPE_1, $MC_TRAFO_TYPE_2 etc.). In the following,
only the names for the first transformation are specified, i.e. those with the
suffix _1. If a transformation other than the first is parameterized, the
correspondingly modified names must be used.
Configuration The extensions of the following machine data are required for the configuration
of a 6-axis transformation:
The channel axis index of the 3rd rotary axis must be entered in
$MC_TRAFO_AXES_IN_1[5].
An orientation normal vector with a length not equal to zero and which is not
parallel or anti-parallel to the $MC_TRAFO5_BASE_ORIENT_1[0..2]
defined orientation vector, must be specified in machine data
$MC_TRAFO6_BASE_ORIENT_NORMAL_1[0..2].
To the previous offsets: Vector
Note
Existing machine data blocks are compatible for transfer, without any changes
having to be made in the machine data. The new machine data therefore do
not have to be specified for a 3-/4-/5-axis transformation.
Programming of With the extension of the generic orientation transformation to 6 axes, all three
the orientation degrees of freedom of the orientation can be freely selected.
They can be uniquely defined through the position of a rectangular Cartesian
coordinate system. On axis direction, that of the third axis, (typically in the Z
direction) defines the orientation.
Two degrees of freedom are required for the specification of this direction. The
third degree of freedom is defined via a rotation around this direction, e.g.
through the specification of an angle THETA or a direction vector for one of the
two other axes of the coordinate system, see Section “Rotation of the
orientation vector”.
The new addresses AN3, BN3, CN3 defines the direction of the second axis, of
the coordinate system (typically the Y axis) of the orientation normal vector. The
programmed orientation normal vector should be perpendicular to the
orientation and is only possible when both programmed vectors are not parallel
or anti-parallel. Otherwise, the alarm 4342 is output.
The direction of the first axis, the X axis, is then uniquely defined.
Default setting of The default setting of the orientation normal vector in the transformation can
the orientation also be defined as for the default setting of the orientation in one of three ways:
normal vector Specification for the activation of the transformation
1. The vector components are transferred as parameters 8 to 10:
Parameter 1: Transformation number,
Parameters 2 – 4: Orientation vector,
Parameters 5 – 7: Rotary axis offsets
2. If no orientation normal vector has been specified and a tool is active, the
vector is taken from the tool data.
3. If no orientation normal vector has been specified and also no tool is active,
the vector defined in machine data
$MC_TRAFO6_BASE_ORIENT_NORMAL_1[0..2] is used.
The position of the orientation coordinate system of a standard tool depends on
the active plane G17, G18, G19 according to the following table:
Note
The orientation vector of a tool can be defined differently from the default
setting with the system variables
$TC_DPV or $TC_DPV3 – $TC_DPV5 in the tool data,
see functional description FB1, Tool Offsets, W1
“Sum and setup offsets”.
This option is extended with the specification of the orientation normal vector
with the system variables
$TC_DPVN3 – $TC_DPVN5. The meaning of the vector components is
analogous to the meaning of the components of the tool orientation:
$TC_DPVN3 is the component in the direction of tool length L1, $TC_DPVN4
the component in the direction of tool length L2 and $TC_DPVN5 the
component in the direction of tool length L3.
So that the new tool parameters can be used, machine data MD18114:
MM_ENABLE_TOOL_ORIENT must have the value 3.
The coordinate system is not rotated through the programming of a rotation of
the tool with AN3, BN3, CN3 or THETA.
A programming example
for generic 6-axis transformation is described in Section 6.6.
Supplementary The generic 6-axis transformation requires 6 axes and is therefore only
conditions available on systems with at least 6 axes.
Functionality As reference system for the JOG mode, the “Cartesian manual travel” function
allows you, in the Cartesian coordinate systems:
Activation MD21106: CART_JOG_SYSTEM not only activates the function, but also sets
the permitted coordinate systems.
SD42660: ORI_JOG_MODE sets the virtual kinematics used for the traversing
of the orientation. As opposed to the generic 5-/6-axis transformation, only
kinematics can be set in which the rotary axes are perpendicular to one another.
The traversing of the geometry and orientation axes is performed via the VDI
interface signals of the geometry or orientation axes.
Translations A translatory movement can be used to move the tool tip (TCP) in parallel and
3-dimensional to the axes of the set reference system. The traversing is
performed via the VDI interface signals of the geometry axes.
Note
For further information about the representation of the translations for the
Cartesian manual travel in the corresponding coordinate systems, see:
References: /FB2/, Description of Functions, Extended Functions,
M1, “Cartesian manual travel (810D powerline)”
Tool orientation The tool can be aligned to the workpiece surface via an orientation movement.
The motion of the orientation axes is triggered by the PLC via the VDI interface
signals of the orientation axes. The virtual orientation axes execute rotations
around the fixed directions of the relevant reference system. The virtual
kinematics are specified with
SD42660 = 0: by the active transformation.
Rotations of the Further settings of the setting data SD42660: ORI_JOG_MODE specify the
orientations rotations of the orientation axes.
The options are as follows:
Rotations with With JOG, the rotations around the specified directions of the respective
JOG reference system can be performed with Euler angle or RPY angle.
SD42660 = 1: During jogging, Euler angles are traversed, i.e. the
1st axis rotates around the z direction, the
2nd axis rotates around the x direction and, if available, the
3rd axis rotates around the new z direction.
SD42660 = 2: During jogging, RPY angles are traversed with the rotation
sequence XYZ, i.e. the
1st axis rotates around the x direction, the
2nd axis rotates around the y direction and, if available, the
3rd axis rotates around the new z direction.
SD42660 = 3: During jogging, RPY angles are traversed with the rotation
sequence ZYX, i.e. the
1st axis rotates around the z direction, the
2nd axis rotates around the y direction and, if available, the
3rd axis rotates around the new x direction.
Rotation sequence The rotation sequence of the rotary axes is set with
of the rotary axes
SD42660 = 4:
via machine data MD21120: ORIAX_TURN_TAB_1.
SD42660 = 5:
via machine data MD21130: ORIAX_TURN_TAB_2.
For further explanations of the orientation movements, see:
Section 2.8 “Orientation”
Section 2.9 “Orientation axes”
Note
For further information about the programming of the rotations, see:
References: /PGA/, Programming Guide Advanced,
“Programming of the tool orientation” transformation
Fewer than 6 axes Not all degrees of freedom are available for the orientation. The following
special rules therefore apply.
5-axis kinematics This has only two degrees of freedom for the orientation. The assignment of the
orientation axes and the tool vector direction must be selected so that there is
no rotation about the tool vector itself. As a result, only two orientation angles
are required to describe the orientation. If the axis is traversed by ORIVECT, the
tool vector performs a pure swiveling motion.
3-and 4-axis Only one degree of freedom is available for the orientation in the case of 3-axis
kinematics and 4-axis kinematics. The respective transformation determines the relevant
orientation angle.
It only makes sense to traverse the orientation axis with ORIAXES. Linear
interpolation for the orientation axis is direct.
Interpolation Machine tools with the kinematics of an orientable toolholder are capable of
across several orienting the tool in space. The orientation of the tool is almost always
blocks programmed in each block. For example, it is possible to
specify the tool orientation directly with reference to the rotary axis positions.
If orientations of a tool are interpolated over several successive blocks,
undesirable abrupt changes in the orientation vector may be encountered at the
block transitions. This causes irregular velocity and acceleration changes in the
rotary axes at the block transitions.
Large circle interpolation can be used to generate a movement of the
orientation axes with continuous velocity and acceleration across several
blocks. The orientation axes behave like
normal linear axes if only G1 blocks are interpolated.
In the case of linear axes, a movement with continuous acceleration is achieved
by using polynomials for the axis interpolation.
Tool orientation A much better method is to use orientation vectors in order to program the tool
based on orientation in space.
orientation vectors Please consider the features of polynomial interpolation of orientation vectors
described in Subsection 2.10.1.
Further explanations about the tool orientation by means of orientation vectors
for machine tools can be found in Subsection 2.10.1 and in the following
sections.
Programmed
end point
Path
path
Reached
end point
Constant
positions of
1st rotary axis
Fig. 2-15 Generic 5-axis transformation; end point of orientation inside tolerance circle
End point within If the end point is within the circle, the first axis comes to a standstill and the
the circle second axis moves until the difference between the target and actual orientation
is minimal. However, since the first rotary axis does not move, the orientation
will generally deviate from the programmed value (see Fig. 2-15). However, the
programmed orientation can at least be reached exactly if the first rotary axis
happens to be positioned correctly.
Note
In Fig. 2-15 the resulting path is a straight line because the position of the first
rotary axis is constant on that path. This representation is always correct,
irrespective of the angle between the two rotary axes. The orientation vector
only moves in a plane, however, if the two rotary axes and the basic orientation
are all mutually perpendicular. In all other cases, the orientation vector
describes the outside of a taper.
End point outside If the orientation interpolation describes a path through the circle while the end
the circle point is outside the circle, the end point is approached with axis interpolation.
This applies in particular if the interpolation starting point is located inside the
circle. Path deviations from the programmed setpoint orientation are thus
unavoidable.
2.8 Orientation
Differences to the In the 5-axis transformations implemented to date, the basic orientation of the
previous 5-axis tool was defined by the type of transformation.
transformations Generic 5-axis transformation can be used to enable any basic tool orientation,
i.e. the space orientation of the tool is arbitrary with axes in initial positions.
If an orientation is programmed by means of Euler angles, RPY angles (A2, B2,
C2) or vectors (A3, B3, C3), the basic orientation is taken into consideration, i.e.
the rotary axes are positioned so that a tool positioned in basic orientation is
traversed to the programmed orientation.
If the rotary axes are programmed directly, the basic orientation has no effect.
Definition There are three different ways to define the basic orientation:
1. Via the transformation call
2. Via the orientation of the active tool
3. Via a machine data
Via the For 1.: When the transformation is called, the direction vector of the basic
transformation call orientation can be specified in the call, e.g. TRAORI(0, 0., 1., 5.). The direction
vector is defined by parameters 2 to 4; the vector in the example therefore has
the value (0., 1., 5.).
The first parameter specifies the transformation number. The number can be
omitted if the first transformation is to be activated. To enable the parameters to
be identified correctly when specifying an orientation, a blank space has to be
inserted instead of the transformation number, e.g. TRAORI(, 0., 1., 5.).
Note
The orientation data is absolute; it will not be modified by any active frame.
The absolute value of the vector is insignificant; only the direction is relevant.
Non-programmed vector elements can be set to zero.
Please note that if all three vector components are zero (because they have
been set explicitly so or not specified at all), the basic orientation is not defined
by data in the TRAORI(...) call, but by one of the methods described below.
If a basic orientation is defined by the above method, it cannot be altered while
a transformation is active. The orientation can be changed only by selecting the
transformation again.
Note
The range of settable orientations depends on the directions of the rotary axes
involved and the basic orientation. The rotary axes must be mutually
perpendicular if all possible orientations are to be used. If this condition is not
met, dead" ranges will occur.
Examples:
1. Extreme example: A machine with rotatable tool has a C axis as its first
rotary axis and an A axis as its second. If the basic orientation is defined in
parallel to the A axis, the orientation can only be changed in the X-Y plane
(when the C axis is rotating), i.e. an orientation with a Z component unequal
to zero is not possible in this instance. The orientation does not change
when the A axis rotates.
2. Realistic example: A machine with nutator kinematics (universal head) with
an axis inclined at less than 45o in a basic orientation parallel to the Z axis
can only assume orientations within a semi-circle: The top semi-circle with
basic orientation towards +Z and the bottom with basic orientation towards
-Z.
2.8.2 Orientation movements with axis limits (SW 6.1 and higher)
Determining the The control attempts to define another permissible solution if the axis limits are
permissible axis violated by approaching the desired axis position across the shortest path. The
limits second solution is then verified, and, if this solution also violates the axis limits,
the axis positions for both solutions are modified by multiples of 360 until a valid
position is found.
The following conditions must be met in order to monitor the axis limits of a
rotary axis and modify the calculated end positions:
Switchover to axis If the axis positions have to be changed from the originally determined value,
interpolation the system switches to rotary axis interpolation because the original
interpolation path, e.g. large circle interpolation or conical interpolation, can no
longer be maintained.
Example An example is shown in Section 6.6 for modifying the rotary axis motion of a
5-axis machine with a rotatable tool.
Introduction Up to SW 6.2, the use of the compressors was subject to restrictions affecting
orientation. Some of these restrictions have been overcome by the options
described below.
Extended function Compressors COMPON, COMPCURV and COMPCAD have been extended so
that NC programs containing orientations programmed by means of direction
vectors can also be compressed to a definable tolerance.
Preconditions The “compressor for orientation” function is only implemented if the orientation
transformation option is available.
Previous function The compressor is only active for linear blocks (G1). The compression
procedure is interrupted by any other NC instruction, such as an auxiliary
function output, but not by parameter calculations. The blocks to be
compressed can only contain the following elements:
– Block number
– G1
– Axis addresses
– Feed
– Comment
N... G1 X... Y... Z... A... B... F... ; Comment
Function in The position values do not have to be programmed directly, but can be specified
SW 6.3 via parameter assignments. The general format is:
N... G1 X=<...> Y=<...> Z=<...> A=<...> B=<...> F=<...> ; Comment
<...> can contain any parameter expression, e.g. X=R1*(R2+R3).
Compression with The orientation motion is only compressed if large circle interpolation is active,
large circle i.e. change in tool orientation takes place in the plane defined by the start and
interpolation end orientation.
Large circle interpolation is carried out under the following conditions:
1. Please note that for MD 21104: ORI_IPO_WITH_G_CODE = 0 if ORIWKS is
active and the orientation is programmed as a vector
(with A3, B3, C3 or A2, B2, C2).
2. Please note that for MD 21104: ORI_IPO_WITH_G_CODE = 1 if ORIVECT
or ORIPLANE is active.
The tool orientation can be programmed either as a direction vector or with
rotary axis positions. If either of the G codes ORICONxx or ORICURVE is
active or polynomials are programmed for the orientation angle
(PO[PHI] and PO[PSI])
large circle interpolation does not take place.
Rotation of On 6-axis machines, the rotation of the tool can be programmed in addition to
the tool the tool orientation.
The angle of rotation is programmed with the THETA identifier (THETA=<...>).
NC blocks which also contain a rotation can only be compressed if the angle of
rotation changes in linear fashion. In other words, PO[THT]=(...) may not be
used to program a polynomial for the angle of rotation.
General format of an NC block which can be compressed:
N... X=<...> Y=<...> Z=<...> A3=<...> B3=<...> C3=<...> THETA=<...> F=<...>
or
N... X=<...>Y=<...> Z=<...> A2=<...> B2=<...> C2=<...> THETA=<...> F=<...>
However, if the tool orientation is specified by rotary axis positions, e.g. in the
following format:
N... X=<...> Y=<...> Z=<...> A=<...> B=<...> THETA=<...> F=<...>
the compression is performed in two different ways, depending on whether or
not large circle interpolation is performed. If no rotary axis interpolation takes
place, the compressed change in orientation is represented in the usual way by
axial polynomials for the rotary axes.
Accuracy NC blocks can only be compressed if deviations are allowed between the
programmed contour and interpolated contour or between the programmed
orientation and interpolated orientation.
Compressor tolerances can be used to set the maximum permissible deviation.
The higher the tolerances, the more blocks can be compressed. However, the
higher the tolerances, the more the interpolated contour or orientation can
deviate from the programmed values.
Axis accuracy The compressor generates a spline curve for every axis. This curve may
deviate from the programmed end point of each axis by a maximum of the value
set with COMPRESS_POS_TOL.
Contour accuracy The maximum deviations are not defined separately for each axis. Instead, the
maximum geometric deviation of the contour (geometry axes) and of the tool
orientation are checked.
This is performed using the following setting data:
1. SD 42475: COMPRESS_CONTUR_TOL: Max. tolerance for the contour
2. SD 42476: COMPRESS_ORI_TOL: Maximum angular displacement for the
tool orientation
3. SD 42477: COMPRESS_ORI_ROT_TOL: Maximum angular displacement
for the angle of rotation of the tool (only available on 6-axis machines).
Using the setting MD 20482: COMPRESSOR_MODE can be used to set a particular type of
data tolerance specification:
Value 0: Axial tolerances with MD 33100: COMPRESS_POS_TOL
for all axes (geometry axes and orientation axes).
Value 1: Contour tolerance specified with
SD 42475: COMPRESS_CONTUR_TOL,
tolerance for the orientation is specified via axial tolerances
MD 33100: COMPRESS_POS_TOL.
Value 2: The maximum angular displacement for
tool orientation is specified with SD 42476:
COMPRESS_ORI_TOL,
tolerance for the contour is specified by axial tolerances with
MD 33100: COMPRESS_POS_TOL.
Value 3: Contour tolerance specified with
SD 42475: COMPRESS_CONTUR_TOL and the maximum
angular displacement for the tool orientation is specified
with SD 42476: COMPRESS_ORI_TOL.
It is only possible to specify a maximum angular displacement for tool
orientation if an orientation transformation (TRAORI) is active.
Whether the tool orientation should either always run continuously with
specifiable deviations from the orientation relative to the path at a block
transition, or whether the orientation jump should be smoothed in a
dedicated, inserted intermediate block. In this case, the path motion is
stopped in the contour corner.
Note
The orientation relative to the path interpolation with ORIPATH or ORIPATHS
and ORIROTC, cannot be used together with the “Orientation smoothing”
function. For this, OSOF must be active in the part program. Otherwise alarm
10980 “Orientation smoothing not possible” is output.
Activate The extended function “Orientation relative to the path” is activated with
orientation relative
MD21094: ORIPATH_MODE > 0.
to the path
The tool orientation relative to the path is activated in the part program by
programming ORIPATH. A kink in the orientation path, e.g. as can occur at a
corner in the contour, can be smoothed with ORIPATH.
Deviation from the During the interpolation of the block, the orientation may deviate greatly or not
desired orientation so greatly from the desired relative orientation. The orientation achieved in the
previous block is transferred to the programmed end orientation using
large-radius circular interpolation. The resulting deviation from the desired
relative orientation has two main causes:
1. The end orientation of the previous block refers to the tangent and the
normal vector at the end of the previous block. Both can differ from this at
the start of the current block. Therefore, the start orientation in the current
block does not have the same alignment with respect to the tangent and the
normal vector as at the end of the previous block.
2. No only the tangent, but also the normal vector can change throughout the
entire block. This is the case, when circles, splines or
polynomials are programmed for the geometry axes, or when not only a
start, but also an end value is programmed for the normal vector. In this
case, the tool orientation must change accordingly during the interpolation of
the block, in order to have the same reference to the path tangent and to the
surface normal vector in each path point.
Set orientation Machine data MD21094: ORIPATH_MODE is used to set in which way the
relative to the path orientation relative to the path is to be interpolated. With ORIPATH, the behavior
of the tool orientation interpolation relative to the path can be activated for
various functions:
Meaning of the unit digit Activate real orientation relative to the path
0: The tool orientation only has the reference to the path tangent and to the
normal vector programmed with LEAD and TILT at the end of the block,
whereas, during the block, the orientation does not follow the path tangent
(previous behavior).
1: The reference of the tool orientation to the path tangent and to the surface
normal vector programmed with LEAD/TILT is maintained throughout the
entire block.
Meaning of the ten digit Interpretation of the angle of rotation TILT
0: LEAD = Rotation around the direction perpendicular to the tangent and
normal vector (forward angle)
TILT = Rotation of the orientation around the normal vector
1: LEAD = Rotation around the direction perpendicular to the tangent and
normal vector (forward angle)
TILT = Rotation of the orientation around the direction of the path tangent
(side angle)
Meaning of the hundred digit Retracting movement for re-orientation
0: There is no retracting movement
There is a retracting movement in the tool coordinate system, i.e. the direction
programmed by the retracting vector is interpreted in a coordinate system,
which is specified via
1: Current tool direction (z coordinate) and the
orientation change (x coordinate).
2: Active plane (z coordinate is normal vector to the active plane) and the
orientation change (x coordinate).
Smoothing of the The smoothing of the orientation jump is performed within a distance specified
orientation jump via setting data SD42670: ORIPATH_SMOOTH_DIST. The programmed
ORIPATHS reference of the orientation to the path tangent and normal vector is then no
longer maintained within this distance. If this distance is set to small, the path
velocity may have to be significantly reduced.
A velocity jump of the orientation axes can also be smoothed. In the case where
the orientation path does not perform a jump, but whose first derivation is not
smooth, the resulting velocity jump can be smoothed. Setting data
SD42672: ORIPATH_SMOOTH_TOL > 0 is used to specify how much the
orientation may deviate from the “tangential” alignment. This orientation
smoothing is only performed if G code ORIPATHS is active and SD42672:
ORIPATH_SMOOTH_TOL > 0.
Insertion of intermediate blocks for the smoothing of the orientation path
If SD42670: ORIPATH_SMOOTH_DIST = 0.0 is set, a separate intermediate
block is inserted for the smoothing of the orientation path. This means that the
path motion then stops at the corner of the contour and only then is the jump in
the tool orientation executed. The orientation change is then only performed
with with continuous acceleration when ORIPATHS is active. The orientation is
otherwise transferred from the start orientation to the end orientation by means
of linear large circle interpolation.
Execute tool A tool retracting movement can be performed during this re-orientation. The
retracting direction and path length of the retracting movement is programmed via the
movement vector using the components A8=x, B8=y and C8=z. If the length of this vector
is equal to zero, no retracting movement is executed.
In which coordinate system the tool retracting vector is interpreted, depends on
the value of MD21094: ORIPATH_MODE. This specifies in which coordinate
system the retracting vector is interpreted.
1. Tool coordinate system: z coordinate defined by current tool direction.
2. Workpiece coordinate system: z coordinate defined by active plane.
Normally the retracting movement is performed simultaneously to the orientation
change. A factor can be programmed with the identifier ORIPLF = r , which
defines a “safety clearance”. In this way, the tool orientation only changes when
the tool has retracted by
Formula r * retractingdistance
The programmed retraction factor must be in the interval 0 <= r < 1, in order to
avoid alarm14126.
Interpolation of the With 6-axis transformations, in addition to the complete interpolation of the
rotation relative to tool orientation relative to the path and the rotation of the tool, there is also the
the path ORIROTC option that only the rotation of the tool relative to the path tangent is
interpolated. The tool orientation can be programmed and interpolated
independently of this. This is activated with the G code ORIROTC in the 54th G
code group. The tool orientation direction can be programmed as usual with
direction vectors, Euler or RPY angle. Their interpolation method can be
specified as usual with the G codes ORIVECT, ORIAXES, ORICONxx and
ORICURVE, see Section “Rotation of the orientation vector”.
Functionality Orientation polynomials and even axis polynomials can be programmed with
different types of polynomials regardless of the type of polynomial interpolation
currently active. In SW 7.1 and higher, this can be applied to:
Note
For further information about programming axis polynomials with PO[X], PO[Y],
PO[Z] and orientation polynomials such as PO[PHI], PO[PSI], PO[THT] and
PO[XH], PO[YH], PO[ZH], please see:
References: /PGA/, Programming Guide Advanced
Polynomials for With 6-axis transformations, the rotation of the tool around itself can be
angle of rotation programmed for the tool orientation. This rotation of a third rotary axis is
and rotation described either by an angle of rotation or by a rotation vector, which is
vectors perpendicular to the tool direction in the plane.
In addition, a polynomial for rotation with PO[THT} of the orientation vector can
be programmed in the three cases. This is always possible if the kinematic
transformation applied supports rotary angles.
Angle of rotation With orientation interpolation relative to the path with ORIPATH or
with ORIPATH and ORIPATHS, the additional rotation can be programmed with the angle
ORIPATHS THETA=<...>. Polynomials up to the 5th degree can also be programmed with
PO[THT]=(...) for this angle of rotation.
The three possible angles, lead angle, tilt angle and angle of rotation have the
following meaning with respect to the rotation effect:
LEAD Angle relative to the surface normal vector, in the plane
defined by the path tangent and surface normal vector.
TILT Rotation of orientation around the z direction or rotation
around the path tangent
THETA Rotation around the tool direction. Is only possible if the
tool orientation has a total of 3 degrees of freedom, see
“Extension of the generic transformation to 6 axes”.
Different settings of MD21094:ORIPATH_MODE can be used to specify how the
LEAD und TILT angle is to be interpreted.
In addition to the constant angles programmed with LEAD and TILT,
polynomials can be programmed for the lead angle and the tilt angle. The
polynomials are programmed with the PHI and PSI angles:
PO[PHI] = (a2, a3, a4, a5) Polynomial for the LEAD angle
PO[PSI] = (b2, b3, b4, b5) Polynomial for the TILT angle
Polynomials up to the 5th degree can be programmed for both angles. The
angle values at the block end are programmed with the NC addresses
LEAD= <...> and TILT = <...>.
The higher polynomial coefficients, which are zero, can be omitted when
programming. For example, with
PO[PHI] = (a2)
a parabola programmed for the LEAD angle.
Rotations of the The rotation vector is interpolated relative to the path tangent with an
rotation vectors offset that can be programmed using the THETA angle.
with ORIROTC A polynomial up to the 5th degree can also be
programmed with PO[THT]=(c2, c3, c4, c5) for the offset angle.
Note
If ORIAXES is active, i.e. the tool orientation is interpolated via the axis
interpolation, the orientation of the rotation vector relative to the path is only
fulfilled at the end of the block.
For further information about programming, please see:
References: /PGA/, Programming Guide Advanced,
“Transformations” interpolation method (ORIPATH,
ORIPATHS)
The tool direction can be read with the following system variables:
$P_TOOLO[n] Tool orientation active in the interpreter
cannot be used in synchronized actions
$AC_TOOLO_ACT[n] Set orientation active in the interpolator
$AC_TOOLO_END[n] End orientation of the active block
$AC_TOOLO_DIFF Residual angle of the tool orientation
in the active block
$VC_TOOLO[n] Actual orientation direction
$VC_TOOLO_DIFF Angle between actual and
set orientation
$VC_TOOLO_STAT Status of the calculation of the
actual orientation direction.
The first vector points in the direction of the tool (see above), while
the second is in the plane perpendicular to this and describes rotations of
the tool around itself.
Both vectors can be read via system variables and also via the OPI interface.
The reading of the direction of rotation vector with the following system
variables is only meaningful for a 6-axis transformation.
$P_TOOLROT[n] Direction of rotation vector active in the
interpreter cannot be used in synchronized
actions
$AC_TOOLR_ACT[n] Direction of rotation vector active in the
interpolator
$AC_TOOLR_END[n] End direction of rotation vector of the active block
$AC_TOOLR_DIFF Residual angle of the direction of rotation vector
in the active block in degrees
$VC_TOOLR[n] Actual value of the direction of rotation vector
$VC_TOOLR_DIFF Angle between actual value and setpoint
of the direction of rotation vector in degrees
$VC_TOOLR_STAT Status of the calculation of the actual value
of the direction of rotation vector.
References: /PGA1/, LHB System Variables
For further information about the programming of polynomials for axis
movements with orientation vectors, see Section “Orientation vectors”.
Direction The directions in which axes are rotated are defined by the axes of the
reference system. In turn, the reference system is defined by ORIMKS and
ORIWKS commands:
– ORIMKS: Reference system = Basic coordinate system
– ORIWKS: Reference system = Workpiece coordinate system
Order of rotation The order of rotation for the orientation axes is defined by
MD 21120: ORIAX_TURN_TAB_1[0..2].
1. First rotation around the axis of the reference system specified in MD 21120:
ORIAX_TURN_TAB_1[0]
2. Second rotation around the rotated axis of the reference system specified in
MD 21120:ORIAX_TURN_TAB_1[1]
3. Third rotation around the rotated axis of the reference system specified in
MD 21120: ORIAX_TURN_TAB_1[2]
Direction of the The direction of the tool vector in the initial machine setting is defined in
tool vector MD 24580: TRAFO5_TOOL_VECTOR_1 or
MD 24680: TRAFO5_TOOL_VECTOR_2.
Example For orientation axes, please see Section 6.4 “Example for orientation axes”.
It is not possible to traverse orientation axes in JOG mode until the following
conditions are fulfilled:
The orientation axis must be defined as such, that is, a value must be set in
MD $MC_TRAFO5_ORIAX_ASSIGN_TAB.
Axis traversal When using the traverse keys to move an axis continuously (momentary-trigger
using traverse mode) or incrementally, it must be noted that only one orientation axis can be
keys moved at a time.
If more than one orientation axis is moved, alarm 20062
“Channel 1 axis 2 already active” is output.
Axis traversal More than one orientation axis can be moved simultaneously via the
using handwheels handwheels.
Feedrate in JOG When orientation axes are traversed manually, the channel-specific feedrate
override switch or, in rapid traverse override, the rapid traverse override switch
is applied.
Until now, the velocities for traversal in JOG mode have always been derived
from the machine axis velocities. However, geometry and orientation axes are
not always assigned directly to a machine axis.
For this reason, new machine data have been introduced for geometry and
orientation axes, allowing separate velocities to be programmed for these axis
types:
MD 21150: JOG_VELO_RAPID_ORI[n]
MD 21155: JOG_VELO_ORI[n]
MD 21160: JOG_VELO_RAPID_GEO[n]
MD 21165: JOG_VELO_GEO[n]
Appropriate velocity values for the axes must be programmed in these data.
Programming of Orientation axes are programmed by means of axis identifiers A2, B2 and C2.
the orientation
Euler and RPY values are distinguished on the basis of G group 50:
Note
The four variants of orientation programming are mutually exclusive. If mixed
values are programmed, alarm 14130 or alarm 14131 is output.
Exception:
For 6-axis kinematics with a 3rd degree of freedom for orientation, C2 may also
be programmed for variants 3 and 4. C2 in this case describes the rotation of
the orientation vector about its axis.
Example Please see Section 6.4 “Example of orientation axes” for an example of
orientation axes for a kinematic with 6 or 5 transformed axes.
2.9.3 Programmable offset for orientation axes (SW 6.4 and higher)
How the The additional programmable offset for orientation axes acts in addition to the
programmable existing offset and is specified when transformation is activated. Once
offset works transformation has been activated, it is no longer possible to change this
additive offset and no zero offset will be applied to the orientation axes in the
event of an orientation transformation.
The programmable offset can be specified in two ways:
1. Direct programming of the offset with TRAORI() when transformation is
activated.
2. Automatic transfer of the offset from the zero offset active for the orientation
axes when transformation is activated. This automatic transfer is configured
via machine data.
Programming the When transformation is activated, the offset can be programmed directly as
offset directly TRAORI(n, x, y, z, a, b).
In SW 6.4 and higher, the following parameters are available as options:
n: Number of transformation n = 1 or 2
x, y, z: Components of the vector for the basic orientation of the
tool (generic 5-axis transformation only).
a, b: Offset for rotary axes
These optional parameters can be omitted. However, if they are used for
programming purposes, the correct sequence must be observed. If for example
only one rotary axis offset is to be entered,
TRAORI(,,,, a, b) is programmed, for example.
For further information about programming, please see:
References: /PGA/, Chapter 7 “Transformations”
Programming the As the offset is transferred automatically from the currently active zero offset on
offset the orientation axes, the effects of zero offset on rotary axes are always the
automatically same both with and without active transformation. The automatic transfer of the
offset from the zero offset is made possible via machine data
MD 24590: TRAFO5_ROT_OFFSET_FROM_FR_1 = TRUE for the first and
MD 24690: TRAFO5_ROT_OFFSET_FROM_FR_2 = TRUE for the second
transformation in the channel.
Note
There is no difference between a zero offset on the orientation axes
programmed during active transformation and the previous offset.
If automatic transfer of the offset has been activated and a rotary axis offset is
programmed at the same time, the programmed offset value takes priority.
Orientable On an orientable toolholder, the offset for both rotary axes can be programmed
toolholder with with the $TC_CARR24 and $TC_CARR25 system variables. This rotary axis
additive offset offset can be transferred automatically from the zero offset effective at the time
the orientable toolholder was activated.
The automatic transfer of the offset from the zero offset is made possible via
machine data MD 21186: TOCARR_ROT_OFFSET_FROM_FR = TRUE.
Note
For more information about orientable toolholders, please see:
References: /FB1/, Basic Machine W1, “Tool Compensation”
Note
Orientation transformation and orientable toolholders can be combined.
The resulting orientation of the tool is produced by linking the orientation
transformation and the orientable toolholder.
Note
Further information about programming polynomial interpolation with POLY and
on interpolation of orientation vectors is given in:
References: /PGA/, Programming Guide Advanced
A block with POLY is used to program the polynomial interpolation. Whether the
programmed polynomials are then interpolated as polynomial depends on
whether the G code POLY is active or not. If the G code is
not active, the programmed axis end points are traversed in a line.
active, the programmed polynomials are interpolated as polynomials.
Selection of type The type of interpolation for orientation axes is selected using the G codes of
of interpolation group 51
Polynomials for The additional programming of polynomials for 2 angles that span the start
2 angles vector and end vector can also be programmed as complex changes in
orientation with ORIVECT.
The two PHI and PSI angles are specified in degrees.
POLY Activate polynomial interpolation for all axis groups.
POLYPATH ( ) Activate polynomial interpolation for all axis groups.
Possible groups are “AXES” and “VECT”.
The coefficients an and bn are specified in degrees.
PO[PHI]=(a 2, a3, a4, a5)
The PHI angle is interpolated as
PHI(u) = a0 + a1*u + a2*u2 + a3*u3+ a4*u4 + a5*u5.
PO[PSI]=(b 2, b3, b4, b5)
The PSI angle is interpolated as
PSI(u) = b0 + b1*u + b2*u2 + b3*u3+ b4*u4 + b5*u5.
PL Length of the parameter interval where polynomials
are defined. The interval always starts at 0.
Theoretical value range for PL: 0,0001 ... 99999,9999.
The PL value is valid for the block in which it is located.
If no PL has been programmed, PL = 1 will be applied.
Rotation of the Changes in orientation are possible with ORIVECT, independent of the type of
orientation vector end vector programming. The following situations apply:
Example 1 The components of the end vector are programmed.
N... POLY A3=a B3=b C3=c PO[PHI] = (a2, a3, a4, a5) PO[PSI] = (b2, b3, b4, b5)
Example 2 The end vector is determined by the positions of the rotary axes.
N... POLY Aa Bb Cc PO[PHI] = (a2, a3, a4, a5) PO[PSI] = (b2, b3, b4, b5)
The angle PHI describes the rotation of the orientation vector in the plane
between the start and end vectors (large circle interpolation, see Fig. 2-16). The
interpolation of the orientation vector is exactly the same as in example 1.
PHI
Start vector
End vector
Fig. 2-16 Rotation of the orientation vector in the plane between start and end vector
PHI and PSI angle The programming of polynomials for the two angles PO[PHI] and PO[PSI] is
always possible. Whether the programmed polynomials for PHI and PSI are
actually interpolated depends on the following:
PSI
The angle PSI can be used to generate movements of the orientation vector
perpendicular to the large circle interpolation plane (see Fig. 2-17)
Maximum 5th degree polynomials are the maximum possible for programming the angles
polynomials of 5th PHI and PSI. The constant and linear coefficient is defined by the start value
degree permitted and end value of the orientation vector in each case.
Higher degree coefficients can be omitted from the coefficient list (..., ....) if these
are all equal to zero.
The length of the parameter interval in which the polynomials are defined can
also be programmed with PL.
Special features If no polynomial is programmed for the PSI angle, the orientation vector is
always interpolated in the plane defined by the start and end vector.
The PHI angle in this plane is interpolated according to the programmed
polynomial for PHI. This mainly achieves that the orientation vector moves
through a “normal” large circle interpolation in the plane between the start and
end vector and the movement is more or less irregular depending on the
programmed polynomial.
In this way, the velocity and acceleration curve of the orientation axes can be
influenced within a block, for example.
Note
Further information on polynomial interpolation for axis motion and general
programming is given in:
References: /PGA/, Programming Guide Advanced, Chapter 5
Supplementary The polynomial interpolation of orientation vectors is only possible for control
conditions variants in which
Functionality Changes in the tool orientation are programmed by specifying, in each block, an
orientation vector which is to be reached at the end of the block. The end
orientation of each block can be programmed by
1. programming the vector directly, or
2. programming the rotary axis positions
The second option depends on the machine kinematics. The interpolation of the
orientation vector between the start and end values can also be modified by
programming polynomials.
Note
The following cases do not allow for a programmed rotation:
Multiple programming of the direction of rotation is not allowed and results in an
alarm. If you program the Euler angle C2 and the direction of rotation THETA
simultaneously, the programmed rotation is not executed.
If the machine kinematics are such that the tool cannot be rotated, any
programmed rotation is ignored. This is the case on a normal 5-axis machine
tool, for example.
Rotation of the The following options are available for interpolating a rotation of the orientation
orientation vector vector by programming the vector directly:
Linear interpolation, i.e. the angle between the current rotation vector and
the start vector is a linear function of the path parameter.
Interpolation of the Higher degree coefficients can be omitted from the coefficient list (..., ....) if these
angle of rotation are all equal to zero.
In such cases, the end value of the angle
and the constant and linear coefficient d n of the polynomial cannot be
programmed directly.
The linear coefficient d n
is defined by means of the end angle q e and entered in degrees.
The end angle q e
is derived from the programming of the rotation vector.
The starting angle q s
is determined by the starting value of the rotation vector resulting from the end
value of the previous block. The constant coefficient of the polynomial is defined
by the starting angle of the polynomial.
The rotation vector
is always perpendicular to the current tool orientation and forms the angle
THETA in conjunction with the basic rotation vector.
Note
During machine configuration, you can define the direction in which the rotation
vector points at a specific angle of rotation when the tool is in the basic
orientation.
Interpolation of the The programmed rotation vector can be interpolated in the following way using
rotation vector the modal G codes:
Activating the A rotation of the orientation vector is programmed with the identifier THETA. The
rotation following options are available for programming:
THETA=<value> an angle of rotation reached at the end of the block.
THETA = q e programmed angle q e can be interpreted either as an
absolute dimension (G90 is active)
or as an incremental dimension (G91 is active).
THETA = AC(...) non-modal switchover to absolute dimensions.
THETA = IC(...) non-modal switchover to incremental dimensions.
PO[THT] = (...) programming of a polynomial for the angle of rotation THETA.
The angle THETA is programmed in degrees.
The interpolation of the rotation vector is defined by the modal G codes:
ORIROTA Angle of rotation to an absolute direction of rotation.
ORIROTR Angle of rotation relative to the plane between the
start and end orientation
ORIROTT Angle of rotation relative to the change of the tangential
rotation vector of the orientation vector to the orientation
change
ORIROTC Angle of rotation relative to the change of the tangential
rotation vector of the orientation vector to the path tangent
PL Length of the parameter interval where polynomials
are defined. The interval always starts at 0.
If no PL has been programmed, PL = 1 will be applied.
These G codes define the reference direction of the angle of rotation. The
meaning of the programmed angle of rotation is interpreted accordingly.
Supplementary The angle of rotation or rotation vector can only be programmed in all four
conditions modes if the interpolation type ORIROTA is active.
1. Rotary axis positions
2. Euler angle via A2, B2, C2
3. RPY angles via A2, B2, C2.
4. Direction vector via A3, B3, C3.
If ORIROTR or ORIROTT is active, the angle of rotation can only be
programmed directly with THETA.
The other programming options must be excluded in this case since the
definition of an absolute direction of rotation conflicts with the interpretation of
the angle of rotation in these cases. The possible programming combinations
are monitored and an alarm is output if necessary.
A rotation can also be programmed in a separate block without an orientation
change taking place. In this case, ORIROTR and ORIROTT are irrelevant. In
this case, the angle of rotation is always interpreted with reference to the
absolute direction (ORIROTA).
A programmable rotation of the orientation vector is only possible when an
orientation transformation (TRAORI) is active.
A programmed orientation rotation is only actually interpolated if the machine
kinematics allow rotation of the tool orientation (e.g. 6-axis machines).
End vector
PHI
PSI
Fig. 2-18 Change in orientation of the peripheral surface of a taper located in space
The opening angle of the taper is programmed degrees with the identifier
NUT (nutation angle).
The value range of this angle is limited to the interval between 0 degrees
and 180 degrees. The values 0 degrees and 180 degrees must not be
programmed. If an angle is programmed outside the valid interval, an alarm
appears.
In the special case where NUT = 90 degrees, the orientation vector in the
plane is interpolated vertical to the direction vector (large circle
interpolation).
The sign of the programmed opening angle specifies whether the traversing
angle is to be greater of less than 180 degrees.
In order to define the taper, the direction vector or its opening angle must
be programmed. Both may not be specified at the same time.
Note
The programming of an end orientation is not absolutely necessary. If no end
orientation is specified, a full outside taper with 360 degrees is interpolated.
Note
An end orientation must be specified.
A complete outside taper with 360 degrees can be interpolated in this way. The
sign of the opening angle defines whether the traversing angle is to be greater
or less than 180 degrees.
Note
Programming of the end orientation is absolutely necessary in this case.
Angle of rotation The following may be programmed for the angle of the taper
and opening angle
PHI Angle of rotation of the orientation around the direction axis
PSI Opening angle of the taper
as well as the polynomials of the 5th degree (max.). They are programmed as
follows:
PO[PHI] = (a2, a3, a4, a5) The constant and linear coefficients
PO[PSI] = (b2, b3, b4, b5) are determined by means of the start and
end orientation respectively.
The coordinates for the movement of the 2nd contact point of the tool must be
specified. This additional curve in space is programmed with
XH, YH, ZH Except for the relevant end values, you can also program
additional
polynomials in the format
PO[XH] = (xe, x2, x3, x4, x5) (xe, ye, ze) is the end point of the curve, and
PO[YH] = (ye, y2, y3, y4, y5) xi, yi, zi are the coefficients of the polynomials
PO[ZH] = (ze, z2, z3, z4, z5) (maximum 5th degree).
This type of interpolation can be used to program points (G1) or polynomials
(POLY) for the two curves in space.
Note
No circles or involutes are permissible. IT is also possible to activate a spindle
interpolation with BSPLINE. The programmed end points of both curves in
space are then interpreted as nodes.
Other types of splines (ASPLINE and CSPLINE) and the activation of a
compressor (COMPON, COMPCURV, COMPCAD) are not permissible here.
Supplementary The extended interpolation of orientations requires that all necessary orientation
conditions transformations be considered, since these belong to the functional scope.
Examples The various changes in orientation are programmed in the following sample
program:
...
N10 G1 X0 Y0 F5000
N20 TRAORI ; Orientation transformation activated.
N30 ORIVECT ; Interpolate tool orientation as vector.
N40 ORIPLANE ; Select large circle interpolation.
N50 A3=0 B3=0 C3=1 ;
N60 A3=0 B3=1 C3=1 ; Orientation in Y/Z plane rotated at 45
; degrees, orientation (0,
1, 1)
Ǹ2 Ǹ2
; reached at end of block.
N70 ORICONCW : The orientation vector is interpolated
; clockwise on a taper with the direction
;
N80 A6=0 B6=0 C6=1 A3=1 B3=0 C3=1; (0, 0, 1) until orientation
;(
1 , 0, 1 ) is reached.
Ǹ2 Ǹ2
; The angle of rotation is 270 degrees.
; The tool orientation passes through a
N90 A6=0 B6=0 C6=1 ; complete revolution on the same taper.
...
Functionality The effective tool lengths can be changed in real time so that these changes in
length are also considered for changes in orientation in the tool. System
variable $AA_TOFF[ ] applies the tool length compensations in 3-D according to
the three tool directions.
None of the tool parameters is changed. The actual compensation is performed
internally by means of transformations using an orientable tool length
compensation.
The geometry identifiers are used as index. The number of active compensation
directions must be the same as the number of active geometry axes. All offsets
can be active at the same time.
Application The online tool length compensation function can be used for:
Note
The online tool length compensation is optional and must be enabled
beforehand. This function is only practical in conjunction with an active
orientation transformation or an active orientable toolholder.
References /FB/, W1, “Tool Compensation” Orientable Toolholders
Block preparation In the case of block preparation in run-in, the tool length offset currently active in
the main run is considered. In order to utilize the maximum permissible axis
velocities as far as possible, it is necessary to halt the block preparation with a
stop preprocessing command (STOPRE) while a tool offset is being generated.
The tool offset is always known at the time of run-in when the tool length offsets
are not changed after program start or if more blocks have been processed
after changing the tool length offsets than the IPO buffer can accommodate
between run-in and main run. This ensures that the correct axis velocities are
applied quickly.
The dimension for the difference between the currently active compensation in
the interpolator and the compensation that was active at the time of block
preparation can be polled in the system variable $AA_TOFF_PREP_DIFF[ ].
Note
Changing the effective tool length using online tool length compensation
produces changes in the compensatory movements of the axes involved in the
transformation in the event of changes in orientation. The resulting velocities
can be higher or lower depending on the machine kinematics and the current
axis position.
MD 21190: Machine data MD 21190:TOFF_MODE can be used to set whether the content
TOFF_MODE of the synchronization variable $AA_TOFF[ ] is to be approached as an
absolute value or whether an integrating behavior is to take place. The
integrating behavior of $AA_TOFF[ ] allows a 3D distance control. The
integrated value is available via the system variable $AA_TOFF_VAL[ ].
The following machine data and setting data are available for configuring online
tool length compensation:
Machine data / setting data Meaning for online tool length compensation
MD 21190: TOFF_MODE The contents of $AA_TOFF[ ] are traversed as an
absolute value or integrated
MD 21194: TOFF_VELO Velocity of online tool length compensation
MD 21194: TOFF_ACCEL Acceleration of online tool length compensation
SD 42970: TOFF_LIMIT Upper limit of tool length compensation value
With the acceleration margin, 20% is reserved for the overlaid movement of the
online tool length compensation, which can be changed via machine data
MD 20610: ADD_MOVE_ACCEL_RESERVE.
Activation The TOFFON instruction can be used to activate the online tool length
compensation from the part program for at least one tool direction if the option is
available. When activated, an offset value can be specified for the
corresponding offset direction and applied immediately. Example: TOFFON(Z,
25).
Repeated programming of the instruction TOFFON( ) with an offset causes the
new offset to be applied. The offset value is added to variables $AA_TOFF[ ] as
an absolute value.
Note
For further information about programming with examples, please see:
References: /PGA/, Chapter 7 “Transformations”
As long as online tool length compensation is active, the VDI signal on the NCK
→PLC interface IS “TOFF active” (DB21, ... DBX318.2) is set to 1.
During a compensatory movement, the VDI →signal
IS ”TOFF motion active” (DB21, ... DBX318.3) is set to 1.
Reset The compensation values can be reset with the TOFFOF( ) command. This
instruction triggers a preprocessing stop.
The tool length compensations set up are cleared and incorporated in the basic
coordinate system. The run-in synchronizes with the current position in main
run. Since no axes can be traversed here, the values of $AA_IM[ ] do not
change. Only the values of the variables $AA_IW[ ] and $AA_IB[ ] are changed.
These variables now contain the deselected share of the tool length
compensation.
Once the ”online tool length compensation” has been deselected for a tool
direction, the value of system variable $AA_TOFF[ ] or $AA_TOFF_VAL[ ] is
zero for this tool direction.
IS ”TOFF active” (DB21, ... DBX318.2) is set to 0.
Alarm 21670 An existing tool length offset must be deleted via TOFFOF( ) so that alarm
21670 ”Channel %1 block %2, illegal change of tool direction active due to
$AA_TOFF active” is suppressed:
Mode change Tool length compensation remains active even if the mode is changed and can
be executed in any mode.
If a tool length compensation is interpolated on account of $AA_TOFF[ ] during
mode change, the mode change cannot take place until the interpolation of the
tool length compensation has been completed. Alarm 16907 ”Channel %1
action %2 <ALNX> possible only in stop state” is issued.
Behavior with REF The tool length offset is not considered during reference point approach REF in
and block search JOG mode.
The instructions TOFFON( ) and TOFFOF( ) are not collected and output in an
action block during block search.
System variable In the case of online tool length offset, the following system variables are
available to the user:
Supplementary The online tool length offset function is an option and is available during
conditions ”generic 5-axis transformation” by default and for ”orientable tool carriers”.
If the tool is not vertical to the workpiece surface during machining or the
contour contains curvatures whose radius is smaller than the compensation
dimension, deviations compared to the actual offset surface are produced. It is
not possible to produce exact offset surfaces with one tool length compensation
alone.
Supplementary Conditions 3
There are no other supplementary conditions to note
Notes
10620 EULER_ANGLE_NAME_TAB
MD number Name of Euler angle [GEOaxisNo.]: 0...2
Default setting: A2, B2, C2 Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: STRING Applies as of SW 2.1
Special cases, errors, ... The name entered must not clash with the designation and allocation of machine and
... geometry axes.
The name entered must not overlap with the channel axis names in channel
(MD 20080: AXCONF_CHANAX_NAME_TAB), names for direction vectors (MD 10640:
DIR_VECTOR_NAME_TAB), names for intermediate point coordinates for CIP
(MD 10660: INTERMEDIATE_POINT_NAME_TAB) and the names of interpolation
parameters (MD 10650: IPO_PARAM_NAME_TAB).
The name entered must not feature the following reserved address letters:
–D Tool offset (D function) –E Not used
–F Feedrate (F function) –G Distance condition
–H Auxiliary function (H function) –L Subroutine call
–M Special function (M function) –N Subblock
–P Number of subroutine repetitions –R R parameters
–S Spindle speed (S function) –T Tool (T function)
Keywords (e.g. DEF, SPOS, etc.) and predefined identifiers (e.g. ASPLINE, SOFT) are
also not permitted.
An angle identifier comprises a valid letter (A, B, C, I, J, K, Q, U, V, W, X, Y, Z), followed
by an optional numerical extension (1–99).
10630 NORMAL_VECTOR_NAME_TAB
MD number Name of normal vectors
Default setting: A4, B4, C4 Minimum input limit: – Maximum input limit: –
Default setting: A5, B5, C5
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: STRING Applies as of SW 4.1
Meaning: List of identifiers for normal vector components at block start and block end.
The rules for axis identifiers described in MD 20080: AXCONF_CHANAX_NAME_TAB
apply when choosing identifiers.
The identifiers must be selected so that there are no conflicts with other identifiers, e.g.
axes, Euler angle, normal vector, direction vector, intermediate coordinate.
Related to .... Choice of possible axis identifiers as for MD 20080: AXCONF_CHANAX_NAME_TAB
10640 DIR_VECTOR_NAME_TAB
MD number Name of direction vectors
Default setting: A3, B3, C3 Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: STRING Applies as of SW 4.1
Meaning: List of identifiers for direction vector components.
The rules for axis identifiers described in MD 20080: AXCONF_CHANAX_NAME_TAB
apply when choosing identifiers.
The identifiers must be selected so that there are no conflicts with other identifiers, e.g.
axes, Euler angle, normal vector, direction vector, intermediate coordinate.
Related to .... Choice of possible axis identifiers as for MD 20080: AXCONF_CHANAX_NAME_TAB
10642 ROT_VECTOR_NAME_TAB
MD number Name of rotation vectors
Default setting: A6, B6, C6 Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: STRING Applies as of SW 6.1
Meaning: List of identifiers for rotation vector components.
The rules for axis identifiers described in MD 20080: AXCONF_CHANAX_NAME_TAB
apply when choosing identifiers.
The identifiers must be selected so that there are no conflicts with other identifiers, e.g.
axes, Euler angle, normal vector, direction vector, intermediate coordinate.
Related to .... Choice of possible axis identifiers as for MD 20080: AXCONF_CHANAX_NAME_TAB
10644 INTER_VECTOR_NAME_TAB
MD number Name of intermediate vector components
Default setting: A7, B7, C7 Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: STRING Applies as of SW 6.1
Meaning: List of identifiers for intermediate vector components.
The rules for axis identifiers described in MD 20080: AXCONF_CHANAX_NAME_TAB
apply when choosing identifiers.
The identifiers must be selected so that there are no conflicts with other identifiers, e.g.
axes, Euler angle, normal vector, direction vector, intermediate coordinate.
Related to .... Choice of possible axis identifiers as for MD 20080: AXCONF_CHANAX_NAME_TAB
10646 ORIENTATION_NAME_TAB
MD number Identifier for programming a 2nd orientation path
Default setting: XH, YH, ZH Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: STRING Applies as of SW 6.1
Meaning: List of identifiers for programming the second curve in space for tool orientation.
The rules described in MD 20080: AXCONF_CHANAX_NAME_TAB apply when choosing
identifiers.
The identifiers must be selected so that there are no conflicts with other identifiers, e.g.
axes, Euler angle, normal vector, direction vector, intermediate coordinate.
Related to .... Choice of possible axis identifiers as for MD 20080: AXCONF_CHANAX_NAME_TAB
10648 NUTATION_ANGLE_NAME
MD number Name of the aperture angle
Default setting: NUT Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: STRING Applies as of SW 6.1
Meaning: Identifier for the aperture angle for orientation interpolation.
The identifiers must be selected so that there are no conflicts with other identifiers, e.g.
axes, Euler angle, normal vector, direction vector, intermediate coordinate.
Related to .... Choice of possible axis identifiers as for MD 20080: AXCONF_CHANAX_NAME_TAB
10670 STAT_NAME
MD number Name of position information
Default setting: STAT Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: STRING Applies as of SW 5.2
Meaning: Identifier for position information
to resolve ambiguities for Cartesian PTP travel.
The identifiers must be selected so that there are no conflicts with other identifiers, e.g.
axes, Euler angle, normal vector, direction vector, intermediate coordinate.
10672 TU_NAME
MD number Name of position information of the axes
Default setting: TU Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: STRING Applies as of SW 5.2
Meaning: Identifier for position information of axes
to resolve ambiguities for Cartesian PTP travel.
The identifiers must be selected so that there are no conflicts with other identifiers, e.g.
axes, Euler angle, normal vector, direction vector, intermediate coordinate.
10674 PO_WITHOUT_POLY
MD number Permits programming of PO[ ] without POLY having to be active.
Default setting: FALSE Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2/7 Unit: –
Data type: BOOLEAN Applies as of SW 5.3
Special cases, errors, ... The machine data can be used to specify how the control behaves when programming
... polynomials with PO[...].
MD 10674 = 0 (FALSE):
Previous behavior, active when programming PO[...] without POLY.
An error message is displayed.
MD10674 = 1 (TRUE):
Programming of PO[...] is permitted without the G code POLY being active. POLY and
POLYPATH( ) produce only the actual execution of the polynomial interpolation in this case.
21100 ORIENTATION_IS_EULER
MD number Definition of angle for programming of orientation
Default setting: 1 Minimum input limit: 0 Maximum input limit: 1
Changes effective after Protection level: Unit: –
NEWCONF (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (up to SW 5.1) 2 / 7 (up to SW 5.1)
Data type: BOOLEAN Applies as of SW 2.1
Meaning: MD 21100 = 0 (FALSE):
The values programmed with A2, B2, C2 during orientation programming are interpreted as
RPY angles (in degrees).
The orientation vector results from the fact that one vector is first rotated by C2 in the Z
direction around the Z axis, then by B2 around the new Y axis and, finally, by A2 around the
new X axis. Unlike Euler programming, in this case all three values affect the orientation
vector.
MD 21100 = 1 (TRUE):
The values programmed with A2, B2, C2 during orientation programming are interpreted as
Euler angles (in degrees).
The orientation vector results from the fact that one vector is first rotated by A2 in the Z
direction around the Z axis, then by B2 around the new X axis and, finally, by C2 around the
new Z axis. The value of C2 is therefore meaningless.
21108 POLE_ORI_MODE
MD number Behavior during large circle interpolation at pole position
Default setting: 0, 0, 0, 0, ... Minimum input limit: 0 Maximum input limit: 22
Changes effective after Protection level: Unit: –
NEWCONF (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
Data type: DWORD Applies as of SW 5.2
Meaning: Defines the treatment of changes in orientation during large circle interpolation if 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 MD TRAFO5_NON_POLE_LIMIT_1/2.
The position of the polar axis is arbitrary in the polar position. For large circle interpolation,
however, a specific orientation is required for this axis.
The MD is decimally-coded.
The unit digits define the behavior if the start orientation precisely matches the pole
orientation,
the ten digits the behavior if the start orientation of the block is inside the tolerance circle
defined in MD TRAFO5_NON_POLE_LIMIT_1/2.
The unit digits can have the following values (effective if the starting orientation is equal to
the pole orientation):
0: Interpolation is executed as axis interpolation. The preset orientation path (large circle)
is only maintained if the polar axis (randomly) has the correct position and the basic
orientation is perpendicular to the 2nd rotary axis.
1: A block is inserted in front of the block in which the situation described above occurs.
This block positions the polar axis so that large circle interpolation can be performed in the
following block.
2: If the block in front of the block in which the situation described above occurs, contains
a geometry axis movement but not an orientation movement, the necessary positioning
movement of the polar axis is effected in addition in this previous block.
If one of the two conditions has not been fulfilled (block contains no geometry axis
movement or block contains orientation movement), the polar axis movement is carried out
in a block of its own (for behavior see 1).
The ten digits can have the following values (effective if the starting orientation is different
from the pole orientation but is within the tolerance circle defined in
TRAFO5_NON_POLE_LIMIT_1/2):
00: Interpolation is executed as axis interpolation. The preset orientation path (large circle)
is only maintained if the polar axis (randomly) has the correct position and the basic
orientation is perpendicular to the 2nd rotary axis.
10: A block is inserted in front of the block in which the situation described occurs. This
block positions the two rotary axes at the point at which the programmed large circle
interpolation intersects the tolerance circle defined in TRAFO5_NON_POLE_LIMIT_1/2. In
the original block, movement is effected with large circle interpolation from this point
onward.
20: If the block in front of the block in which the situation described above occurs,
contains a geometry axis movement but not an orientation movement, the necessary
positioning movements of the two rotary axes are effected in addition in this previous block.
The residual movement in the original block is the same as that for value 10 of the MD. If
one of the two conditions has not been fulfilled (block contains no geometry axis movement
or block contains orientation movement), the polar axis movement is carried out in a block
of its own (for behavior see 10).
The values of the unit digits are added to those of the ten digits.
5-axis transformations
1. Rotary axis 2. Rotary axis 3. Rotary axis Movable Movable Movable
tool workpiece tool and
workpiece
TRAFO_TYPE TRAFO_TYPE TRAFO_TYPE
A B – 16 32 48
A C – 33 49
B A – 18 34 50
B C – 35 51
C A – 20
C B – 21
Generic 5-axis transformation (SW 5.2 and higher) 24 40 56
Generic 3/4/5-axis transformation defined using an orientable toolholder (SW 6.4 and higher) 72
Generic 6-axis transformations (SW 7.2 and higher)
A B C 24 40 56, 57
Further transformations
Group of transformation TRAFO_TYPE
Polar transformation (TRANS) 256
with improved tool compensation 257
Cylinder surface transformation (TRACYL) 512
with X-Y-Z-C kinematics 513
with improved tool compensation 514
Inclined axis (TRAANG) 1024
Centerless grinding 2048
OEM transformation from 4096 to 4098
Linked transformation 8192
The index entered in the nth position indicates which axis is imaged internally on axis n by
the transformation.
The numbers of the channel axes must be entered. This is important for multi-channel sys-
tems.
MD irrelevant for ... ... If no transformation is installed.
Application example(s) On machine with 6 axes, the default setting might be e.g.: 1 2 3 4 5 6.
The following is then possible: 1 2 3 5 4 6: The fourth axis is imaged on the fifth and the fifth
imaged on the fourth axis.
Special cases, errors, ... Entry 0: Axis does not participate in the transformation.
...
24500 TRAFO5_PART_OFFSET_1[n]
24600 TRAFO5_PART_OFFSET_2[n]
MD number Offset vector of 5-axis transformation 1/2 [axis number]: 0 ... 2
Default setting: 0,0 Minimum input limit: Maximum input limit:
Changes effective after Protection level: Unit: mm
NEWCONF (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (up to SW 5.1) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 1.1
Meaning: This machine data defines an offset of the workpiece carrier for the first (MD:
TRAFO5_PART_OFFSET_1) or second (MD: TRAFO5_PART_OFFSET_2) 5-axis trans-
formation of a channel and has a specific meaning for the different machine types:
Machine type 1 (two-axis swivel head for tool):
Vector from machine reference point to zero point of table. This will generally be a zero
vector if both coincide.
Machine type 2 (two-axis rotary table for workpiece):
Vector from second joint of workpiece rotary table to zero point of table.
Machine type 3 (single-axis rotary table for workpiece and single-axis swivel head for tool):
Vector from joint of workpiece table to zero point of table.
MD irrelevant for ... ... If no transformation is installed.
Figure see Subsection Example of machine type 2: See Fig. 2-2
2.1.3
24510 TRAFO5_ROT_AX_OFFSET_1[n]
24610 TRAFO5_ROT_AX_OFFSET_2[n]
MD number Position offset of rotary axis 1/2 for 5-axis transformation 1/2 [axis no.] 0 ... 1
Default setting: 0,0 Minimum input limit: Maximum input limit:
Changes effective after Protection level: Unit: degrees
NEWCONF (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (up to SW 5.1) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 1.1
Meaning: This machine data defines the angular offset of the first or second rotary axis in degrees for
the first (MD: TRAFO5-ROT_AX_OFFSET_1) or the second 5-axis transformation (MD:
TRAFO5_ROT_AX_OFFSET_2) of a channel.
MD irrelevant for ... ... If no transformation is installed.
24520 TRAFO5_ROT_SIGN_IS_PLUS_1[n]
24620 TRAFO5_ROT_SIGN_IS_PLUS_2[n]
MD number Sign of rotary axis 1/2 for 5-axis transformation 1/2 [axis no.]: 0 ... 1
Default setting: 1 Minimum input limit: 0 Maximum input limit: 1
Changes effective after Protection level: Unit: –
NEWCONF (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (up to SW 5.1) 2 / 7 (up to SW 5.1)
Data type: BOOLEAN Applies as of SW 1.1
Meaning: This machine data defines the sign with which the two rotary axes are included in the first
(MD: TRAFO5_ROT_SIGN_IS_PLUS_1) or
the second (MD: TRAFO5-ROT_SIGN_IS_PLUS_2) 5-axis transformation of a channel.
MD = 0 (FALSE): Sign is inverted.
MD = 1 (TRUE): Sign is not inverted and the traversing direction is defined
according to AX_MOTION_DIR.
The machine data does not mean that the direction of rotation of the rotary axis concerned
will be inverted but indicates whether movement in a positive
direction will be in a positive or negative direction in mathematical terms.
Therefore, rather than changing the direction of rotation, changes to this machine data
change the compensating movement of the linear axes.
However, if a direction vector is entered and consequently a compensating movement set
implicitly, this will change the direction of rotation of the rotary axis concerned.
The machine data should therefore only be set to FALSE (or zero) on an actual machine if
during movement in a positive direction the rotary axis rotates counter-clockwise.
MD irrelevant for ... ... If no transformation is installed.
24530 TRAFO5_NON_POLE_LIMIT_1
24630 TRAFO5_NON_POLE_LIMIT_2
MD number Definition of pole range for 5-axis transformation 1/2
Default setting: 2 Minimum input limit: Maximum input limit:
Changes effective after Protection level: Unit: degrees
NEWCONF (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (up to SW 5.1) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 1.1
Meaning: This MD defines a limit angle for the fifth axis of the first (MD: TRAFO5_NON_POLE_LI-
MIT_1) or the second (MD: TRAFO5_NON_POLE_LIMIT_2) 5-axis transformation with the
following characteristics: If the path runs past the pole at an angle lower than the value set
here, it crosses through the pole.
With the 5-axis transformation, a coordinate system consisting of circles of longitude and
latitude 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 MD, then a deviation from the specified interpolation is made so that the interpolation
passes through the pole.
If this path modification results in a deviation which is greater than a tolerance defined by
means of MD 24540/24640: TRAFO5_POLE_LIMIT, then alarm 14112 is output.
MD irrelevant for ... ... If no transformation option is installed.
Also irrelevant for programming in the ORIMKS machine coordinate system.
See Chapter 2 for Figure Fig. 2-9 shows how this MD is used.
Related to .... MD: TRAFO5_POLE_LIMIT_1 or _2
24540 TRAFO5_POLE_LIMIT_1
24640 TRAFO5_POLE_LIMIT_2
MD number End angle tolerance with interpolation through pole for 5-axis transformation 1/2
Default setting: 2 Minimum input limit: Maximum input limit:
Changes effective after Protection level: Unit: degrees
NEWCONF (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (up to SW 5.1) 2 / 7 (up to SW 5.1)
Data type: Double Applies as of SW 1.1
Meaning: This MD defines an end angle tolerance for the fifth axis of the first (MD:
TRAFO5_POLE_LIMIT_1) or the second (MD: TRAFO5_POLE_LIMIT_2) 5-axis trans-
formation with the following characteristics:
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 TRAFO5_NON_POLE_LIMIT in
the vicinity of the pole, a deviation is made from the specified path because the interpola-
tion 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.
This MD specifies the angle by which the pole axis may deviate from the programmed va-
lue 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
(alarm 14112) is output and the interpolation is not executed.
MD irrelevant for ... ... If no transformation option is installed.
Also irrelevant for programming in the ORIMKS machine coordinate system.
See Chapter 2 for Figure Fig. 2-9 shows how this MD is used.
Related to .... MD: TRAFO5_NON_POLE_LIMIT_1 or _2
24550 TRAFO5_BASE_TOOL_1[n]
24650 TRAFO5_BASE_TOOL_2[n]
MD number Vector of base tool for activation of 5-axis transformation 1/2 [axis number]: 0 ... 2
Default setting: 0,0 Minimum input limit: Maximum input limit:
Changes effective after Protection level: Unit: mm
NEWCONF (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (up to SW 5.1) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 1.1
Meaning: This MD specifies the vector of the base tool, which takes effect when the first transforma-
tion (MD: TRAFO5_BASE_TOOL_1) or the second TRAFO5_BASE_TOOL_2) without tool
length offset having been selected.
Programmed tool length offsets take effect in addition to the base tool.
MD irrelevant for ... ... If no transformation is installed.
24560 TRAFO5_JOINT_OFFSET_1[n]
24660 TRAFO5_JOINT_OFFSET_2[n]
MD number Vector of kinematic offset of 5-axis transformation 1/2 [axis number]: 0 ... 2
Default setting: 0,0 Minimum input limit: Maximum input limit:
Changes effective after Protection level: Unit: mm
NEWCONF (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (up to SW 5.1) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 1.1
Meaning: This machine data defines the vector from the first to the second joint for the first (MD:
TRAFO5_JOINT_OFFSET_1) or second TRAFO5_JOINT_OFFSET_2) transformation of a
channel and has a specific meaning for the various machine types:
Machine type 1 (two-axis swivel head for tool) and
Machine type 2 (two-axis rotary table for workpiece):
Vector from first to second joint of tool swivel head or workpiece rotary table.
Machine type 3 (single-axis rotary table for workpiece and single-axis swivel head for tool):
Vector from machine reference point to joint of workpiece table.
MD irrelevant for ... ... If no transformation option is installed.
The same applies for 3-axis and 4-axis transformation.
TRAFO5_JOINT_OFFSET
Fig. 4-1 Example for MD: TRAFO5_JOINT_OFFSET (joint offset for a 5-axis machine
with two-axis swivel head for tools) (e.g. laser machining with machine type 1)
In addition to the machine data described in Section 4.2, the following machine
data are required for the 5-axis transformation “swiveling linear axis”.
24562 TRAFO5_TOOL_ROT_AX_OFFSET_1
MD number Offset of focus of 1st 5-axis transformation with swiveled linear axis.
Default setting: 0.0, 0.0, 0.0 Minimum input limit: – Maximum input limit: –
Changes effective after Protection level: Unit: degrees
NEWCONF (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (up to SW 5.1) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 3.2
Meaning: In the case of 5-axis transformation with swiveled linear axis, the value indicates the offset
of the rotary axis which swivels the linear axis with reference to machine zero for the 1st
swiveled transformation.
MD irrelevant for ... ... Other 5-axis transformations
Figure 2-10
Related to .... 24662
24662 TRAFO5_TOOL_ROT_AX_OFFSET_2
MD number Offset of focus of 2nd 5-axis transformation with swiveled linear axis.
Default setting: 0.0, 0.0, 0.0 Minimum input limit: – Maximum input limit: –
Changes effective after Protection level: Unit: degrees
NEWCONF (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (up to SW 5.1) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 3.2
Meaning: In the case of 5-axis transformation with swiveled linear axis, the value indicates the offset
of the rotary axis which swivels the linear axis with reference to machine zero for the 2nd
swiveled transformation.
MD irrelevant for ... ... Other 5-axis transformations
Figure 2-10
Related to .... 24562
24564 TRAFO5_NUTATOR_AX_ANGLE_1
MD number Angle of 2nd rotary axis to relevant axis in rectangular coordinate system, 1st transform.
Default setting: 45 Minimum input limit: –89 Maximum input limit: 89
Changes effective after Protection level: Unit: degrees
NEWCONF (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (up to SW 5.1) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 3.1
Meaning: Angle between the second rotary axis and the corresponding axis in the rectangular coordi-
nate system.
Valid for the first transformation of a channel.
MD irrelevant for ... ... Transformation type other than “universal milling head”
Application example(s) 6.3
Related to .... TRAFO_TYPE_n
24664 TRAFO5_NUTATOR_AX_ANGLE_2
MD number Angle of 2nd rotary axis to relevant axis in rectangular coordinate system, 2nd transform.
Default setting: 45 Minimum input limit: –89 Maximum input limit: 89
Changes effective after Protection level: Unit: degrees
NEWCONF (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
POWER ON (up to SW 5.1) 2 / 7 (up to SW 5.1)
Data type: DOUBLE Applies as of SW 3.1
Meaning: Angle between the second rotary axis and the corresponding axis in the rectangular coordi-
nate system.
Valid for the second transformation of a channel.
MD irrelevant for ... ... Transformation type other than “universal milling head”
Application example(s) 6.3
Related to .... TRAFO_TYPE_n
20482 COMPRESSOR_MODE
MD number Mode of the compressor
Default setting: 0 Minimum input limit: 0 Maximum input limit: 3
Change valid after NEWCONF Protection level: Unit: –
Data type: BYTE Applies as of SW 6.3
Meaning: This MD can be used to set the mode of operation of the compressor.
The following options are available:
1: For the compressor, the geometry axes specified by setting data SD 42475:
COMPRESS_CONTUR_TOL is active for the contour tolerance.
For the orientation axes, the axis-specific tolerances from
MD 33100: COMPRESS_POS_TOL are active.
42475 COMPRESS_CONTOUR_TOL
MD number Max. contour deviation for compressor
Default setting: 0.05 Minimum input limit: 0.000001 Maximum input limit: 999999
Changes effective IMMEDIATELY Protection level: Unit: mm
Data type: DOUBLE Applies as of SW 6.3
Meaning: The maximum tolerance for the contour is defined by this setting data
for the compressor.
Related to .... MD 20482: COMPRESSOR_MODE
42476 COMPRESS_ORI_TOL
MD number Max. angular displacement of tool orientation for the compressor
Default setting: 0.05 Minimum input limit: 0.000001 Maximum input limit: 90
Changes effective IMMEDIATELY Protection level: Unit: degrees
Data type: DOUBLE Applies as of SW 6.3
Meaning: This setting data is used to define the maximum tolerance for tool orientation
for the compressor. The data defines the maximum
permissible angular displacement for tool orientation.
This data is only effective if orientation transformation is active.
Related to .... MD 20482: COMPRESSOR_MODE
42477 COMPRESS_ORI_ROT_TOL
MD number Max. angular displacement of tool rotation for the compressor
Default setting: 0.05 Minimum input limit: 0.000001 Maximum input limit: 90
Changes effective IMMEDIATELY Protection level: Unit: degrees
Data type: DOUBLE Applies as of SW 6.3
Meaning: This setting data is used to define the maximum tolerance for rotation of the tool orientation
for the compressor. This data defines the
maximum permissible angular deviation for tool rotation.
This data is only effective if orientation transformation is active.
The tool orientation may only be rotated on 6-axis machines.
Related to .... MD 20482: COMPRESSOR_MODE
20621 HANDWH_ORIAX_MAX_INCR_SIZE
MD number Limitation of handwheel increment for orientation axes
Default setting: 0.0 Minimum input limit: 0.0 Maximum input limit: –
Changes effective after Reset Protection level: 2 / 7 Unit: degrees
Data type: DOUBLE Applies as of SW 5.3
Meaning: Limitation of handwheel increment for orientation axes
MD irrelevant for ... ... If no transformation is installed.
20623 HANDWH_ORIAX_MAX_INCR_VSIZE
MD number Orientation velocity overlay
Default setting: 0.1 Minimum input limit: 0.0 Maximum input limit: –
Changes effective after Reset Protection level: 2 / 7 Unit: rev/min
Data type: DOUBLE Applies as of SW 5.3
Meaning: Orientation velocity overlay
MD irrelevant for ... ... If no transformation is installed.
21102 ORI_DEF_WITH_G_CODE
MD number Definition of orientation angles A2, B2, C2
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: BYTE Applies as of SW 5.3
Meaning: This machine data determines how orientation angles A2, B2, C2 are defined:
MD = 0 (FALSE): The angles are defined according to MD 21100
“ORIENTATION_IS_EULER”
MD = 1 (TRUE): The angles are defined according to the G code
(ORIEULER, ORIRPY, ORIVIRT1, ORIVIRT2)
MD irrelevant for ... ... If no transformation is installed.
21104 ORI_IPO_WITH_G_CODE
MD number Definition of interpolation type for orientation
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: BOOLEAN Applies as of SW 5.3
Meaning: Definition of interpolation type for orientation
MD = 0 (FALSE): The G codes ORIWKS and ORIMKS are the references
MD = 1 (TRUE): The G codes ORIVECT and ORIAXES are the references
21120 ORIAX_TURN_TAB_1[n]
21130 ORIAX_TURN_TAB_2[n]
MD number Assignment of rotations of orientation axes about the reference axes, definition 1 or defini-
tion 2
Default setting: 1, 2, 3 Minimum input limit: 1 Maximum input limit: 3
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: Byte Applies as of SW 5.3
Meaning: Assignment of rotations of orientation axes about the reference axes, definition 1 or defini-
tion 2:
1 = Rotation about 1st reference axis (X)
2 = Rotation about 2nd reference axis (Y)
3 = Rotation about 3rd reference axis (Z)
MD irrelevant for ... ... If no transformation is installed.
Application example(s) See Section 6.4
Assuming that the axes are mutually perpendicular, it is possible to obtain an orientation definition, which corresponds to
the orientation defined by the RPY angles or the Euler angles.
This results in 12 options for specifying an orientation.
If a different axis assignment has been programmed, the alarm “Configuration axes configured incorrectly” appears.
Definition analogous to RPY angles Definition analogous to Euler angles
1. Rotation 2. Rotation 3. Rotation 1. Rotation 2. Rotation 3. Rotation
X Y Z X Y X
X Z Y X Z X
Y X Z Y X Y
Y Z X Y Z Y
Z X Y Z X Z
Z Y X Z Y Z
21150 JOG_VELO_RAPID_ORI[n]
MD number Rapid traverse in jog mode for orientation axes in the channel
Default setting: 10.0, 10.0, 10.0 Minimum input limit: 0.0 Maximum input limit: –
Changes effective after Reset Protection level: 2 / 7 Unit: rev/min
Data type: DOUBLE Applies as of SW 5.3
Meaning: Rapid traverse in jog mode for orientation axes in the channel
MD irrelevant for ... ... If no transformation is installed.
21155 JOG_VELO_ORI[n]
MD number Orientation axis velocity in jog mode
Default setting: 2.0, 2.0, 2.0 Minimum input limit: 0.0 Maximum input limit: –
Changes effective after Reset Protection level: 2 / 7 Unit: rev/min
Data type: DOUBLE Applies as of SW 5.3
Meaning: Orientation axis velocity in jog mode
MD irrelevant for ... ... If no transformation is installed.
21160 JOG_VELO_RAPID_GEO[n]
MD number Rapid traverse in jog mode for geometry axes in the channel
Default setting: Minimum input limit: 0.0 Maximum input limit: –
10000./60.,10000./60.,10000./60.,
Changes effective after Reset Protection level: 2 / 7 Unit: mm/min
Data type: DOUBLE Applies as of SW 5
Meaning: Rapid traverse in jog mode for geometry axes in the channel
21165 JOG_VELO_GEO[n]
MD number Geometry axis velocity in jog mode
Default setting: Minimum input limit: 0.0 Maximum input limit: –
2000./60.,2000./60.,2000./60.,
Changes effective after Reset Protection level: 2 / 7 Unit: mm/min
Data type: DOUBLE Applies as of SW 5
Meaning: Geometry axis velocity in jog mode
21170 ACCEL_ORI[n]
MD number Acceleration for orientation axes
Default setting: Minimum input limit: 0.0 Maximum input limit: –
{2.0, 2.0, 2.0}, ...
Changes effective after Reset Protection level: 2 / 7 Unit: rev/s2
Data type: DOUBLE Applies as of SW 5.3
Meaning: The acceleration for the orientation axes can be set by means of this MD.
21186 TOCARR_ROT_OFFSET_FROM_FR
MD number Offset of TOCARR rotary axes from WO
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after Reset Protection level: 7 / 7 Unit: –
Data type: BOOLEAN Applies as of SW 6.4
Meaning: The offset of the rotary axes for orientable toolholders is automatically transferred from the
work offset active when the orientable toolholders for the rotary axes are activated.
MD irrelevant for ... ... If no orientable toolholders are available.
Related to .... MD 24590: TRAFO5_ROT_OFFSET_FROM_FR_1
MD 24690: TRAFO5_ROT_OFFSET_FROM_FR_2
24580 TRAFO5_TOOL_VECTOR_1
24680 TRAFO5_TOOL_VECTOR_2
MD number Direction of tool vector for orientation transformation 1 or 2
Default setting: 2,2,2, ... Minimum input limit: 0 Maximum input limit: 2
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: Byte Applies as of SW 5.1
Meaning: The machine data indicates the direction of the tool vector for orientation transformation 1
or 2:
0 = Tool vector in X direction
1 = Tool vector in Y direction
2 = Tool vector in Z direction
MD irrelevant for ... ... If no transformation is installed.
Application example(s) See Section 6.4
24585 TRAFO5_ORIAX_ASSIGN_TAB_1[n]
24685 TRAFO5_ORIAX_ASSIGN_TAB_2[n]
MD number Assignment of orientation axes to channel axes
Default setting: 0, 0, 0 Minimum input limit: 0 Maximum input limit: 18
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: BOOLEAN Applies as of SW 5.1
Meaning: Assignment of orientation axes to channel axes for orientation transformation 1 or 2
MD irrelevant for ... ... If no transformation is installed.
Application example(s) See Section 6.4
24590 TRAFO5_ROT_OFFSET_FROM_FR_1[n]
24690 TRAFO5_ROT_OFFSET_FROM_FR_2[n]
MD number Offset of transf. rotary axes from WO
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after Reset Protection level: 7 / 7 Unit: –
Data type: BOOLEAN Applies as of SW 6.4
Meaning: The programmable offset of the rotary axes for orientation axes is automatically transferred
from the work offset active when orientation transformation 1 or 2 is activated for the orien-
tation axes.
MD irrelevant for ... ... If no transformation is installed.
Related to .... MD 21186: TOCARR_ROT_OFFSET_FROM_FR
21180 ROT_AX_SWL_CHECK_MODE
MD number Check software limits for orientation axes
Default setting: 0 Minimum input limit: 0 Maximum input limit: 2
Changes effective IMMEDIATELY Protection level: 2 / 7 Unit: –
Data type: DWORD Applies as of SW 6.3
Meaning: This machine data is only evaluated for generic 5-axis transformation. It determines how
the motion of the rotary axes is modified when the direction is programmed if the system
detects during block preparation that the programmed path would trigger a violation of the
software limits.
1: If the initial orientation path violates the axis limits of the orientation
axes, the system attempts to alter the end point in order to enable a movement.
The system then initially attempts to use the second solution. (Two solutions
virtually always result from the orientation ==> axis angle conversion). If this solution
also violates the axis limits, the system attempts to find a permissible solution by
modifying both rotary axes by multiples of 360 degrees for both solutions.
The changes to the end positions described are only made if
axis interpolation has been activated for the rotary axes.
0: The monitoring response and resulting modifications of the rotary axis positions are
the same as for value 1 of the machine data.
However, modifications are also accepted if vector interpolation
(large circle interpolation, conical interpolation, etc.) is active.
If a modification of the rotary axis positions is necessary in such a case,
the system switches to axis interpolation. The originally programmed orientation path
is then usually no longer followed.
24558 TRAFO5_JOINT_OFFSET_PART_1
24658 TRAFO5_JOINT_OFFSET_PART_2
MD number Vector of kinematic offset in table
Default setting: 0, 0, 0 Minimum input limit: - Maximum input limit: –
Change valid after NEWCONF Protection level: 7 / 7 Unit: mm
Data type: DOUBLE Applies as of SW 6.3
Meaning: MD 24558 for the 1st orientation transformation, MD 24658 for the second.
This machine data is only evaluated for generic 5-axis transformation with movable work-
piece and movable tool (TRAFO_TYPE = 56).
It indicates the part of the vector between the table and swivel head assigned to the table.
Only the sum of this machine data and MD 24560: TRAFO5_JOINT_OFFSET_1 are in-
cluded in the transformation equations. The only exception concerns reading out the total
tool lengths with the GETTCOR function. In this case, only MD 24560:
TRAFO5_JOINT_OFFSET_1 is taken into account. The second transformation is handled
in the same way.
This machine data can be used to uniquely assign the machine data for 5-axis transforma-
tion and the parameters of the orientable toolholder on a machine with mixed kinematics as
follows:
Orientable toolholder: 5-axis transformation (1st or 2nd transformation):
11 MD 24560/24660: TRAFO5_JOINT_OFFSET_1/2
12 MD 24550/24650: TRAFO5_BASE_TOOL_1/2
13 MD 24558/24658: TRAFO5_JOINT_OFFSET_PART_1/2
14 MD 24500/24600: TRAFO5_PART_OFFSET_1/2
MD irrelevant for ... ... If no 5-axis transformation option is installed.
24570 TRAFO5_AXIS1_1
24572 TRAFO5_AXIS2_1
MD number Vector for the first/second rotary axis and the first orientation transformation
Default setting: 0, 0, 0 Minimum input limit: – Maximum input limit: –
Change valid after NEWCONF Protection level: 7 / 7 Unit: –
Data type: DOUBLE Applies as of SW 5.2
Meaning: Specifies the vector, which describes the direction of the first or second rotary axis when a
general 5-axis transformation is the first orientation transformation in the system
(TRAFO_TYPE_* = 24, 40, 56).
Absolute value can be set to any value, although 0
Example: The same axis (in the direction of the 2nd geometry axis, i.e. generally Y) is
described by both (0,1,0) and (0, 7.21, 0).
MD irrelevant for ... ... If no 5-axis transformation option is installed.
Related to .... 24670, 24672
24574 TRAFO5_BASE_ORIENT_1
24674 TRAFO5_BASE_ORIENT_2
MD number Basic orientation for the first or second orientation transformation
Default setting: 0, 0, 0 Minimum input limit: – Maximum input limit: –
Change valid after NEWCONF Protection level: 7 / 7 Unit: –
Data type: DOUBLE Applies as of SW 5.2
Meaning: Describes the basic orientation applied as the basis for the transformation when
general 5-axis transformation is the first or second orientation in the system
(TRAFO_TYPE_* = 24, 40, 56) in cases where the basic orientation has not been defined
by activating a transformation or by means of a tool.
The absolute value of the vector can by set to any value, although it must not be equal to
zero.
MD irrelevant for ...... If no 5-axis transformation option is installed.
Related to ....
24582 TRAFO5_TCARR_NO_1
24682 TRAFO5_TCARR_NO_2
MD number TCARR number for the first or second orientation transformation
Default setting: 0, 0, 0 Minimum input limit: 0 Maximum input limit: 999999999
Change valid after NEWCONF Protection level: 2 / 2 Unit: –
Data type: DWORD Applies as of SW 7.2
Meaning: If the value of this machine data is not equal to zero and machine data
$MC_TRAFO_TYPE_X, which refers to the first or second orientation transformation, has
the value 72, the kinematic data and the available offset, etc. are not read directly from the
parameterized machine data for 5-axis transformation.
The data for the first or second orientation transformation is read from the data of the orient-
able toolholder, which refers to this machine data.
MD irrelevant for ...... If no 5-axis transformation option is installed.
Application example(s) See Section 2.6 Generic 5-axis transformation
24670 TRAFO5_AXIS1_2
24672 TRAFO5_AXIS2_2
MD number Vector for the first/second rotary axis and the second orientation transformation
Default setting: 0, 0, 0 Minimum input limit: – Maximum input limit: –
Change valid after NEWCONF Protection level: 7 / 7 Unit: –
Data type: DOUBLE Applies as of SW 5.2
Meaning: As MD 24 570: TRAFO5_AXIS1_1 or MD 24 572: TRAFO5_AXIS2_1, but for the first or
second orientation transformation in the channel.
Related to .... 24570, 24572
21190 TOFF_MODE
MD number Effect of online offset in tool direction
Default setting: 0 Minimum input limit: 0 Maximum input limit: –
Changes effective after Reset Protection level: 2 / 7 Unit: 0F HEX
Data type: BYTE Applies as of SW 6.4
Meaning: This machine data is used to set the effect of online offset in the tool direction via
$AA_TOFF[ ].
21194 TOFF_VELO
MD number Velocity of online offset in tool direction
Default setting: 0 Minimum input limit: ≥ 0 Maximum input limit: –
Change valid after NEWCONF Protection level: 2 / 7 Unit: mm/min
Data type: DOUBLE Applies as of SW 6.4
Meaning: Velocity of online offset in tool direction [mm/min] via $AA_TOFF
Related to .... MD 21190: TOFF_MODE effect of online offset in tool direction
MD 21196: TOFF_ACCEL acceleration of online offset in tool direction
21196 TOFF_ACCEL
MD number Acceleration of online offset in tool direction
Default setting: 100 Minimum input limit: 0,001 Maximum input limit: –
Change valid after NEWCONF Protection level: 2 / 7 Unit: m/s2
Data type: DOUBLE Applies as of SW 6.4
Meaning: Acceleration for online offset in tool direction [m/s2] via $AA_TOFF
Related to .... MD 21190: TOFF_MODE effect of online offset in tool direction
MD 21194: TOFF_ACCEL Velocity for online offset in tool direction
42970 TOFF_LIMIT
MD number Upper limit for offset value $AA_TOFF
Default setting: 100000000.0 Minimum input limit: ≥ 0 Maximum input limit: 100000000.0
Changes effective IMMEDIATELY Protection level: 2 / 7 Unit: mm/inches
Data type: DOUBLE Applies as of SW 6.4
Meaning: Upper limit of the offset value, which can be preset by means of synchronization via system
variable $AA_TOFF.
This limit value is applied to the absolute effective offset value via $AA_TOFF. System vari-
able $AA_TOFF_LIMIT can be used to query whether the offset value is close to the limit.
21106 CART_JOG_SYSTEM
MD number Coordinate system for Cartesian JOG
Default setting: 0 Minimum input limit: 0 Maximum input limit: 7
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies as of SW 6.3
Meaning: This machine data has two different meanings. First, it is used to activate the function Car-
tesian manual travel. Second, it can be used to specify the reference systems between
which a switchover can be performed.
The meaning of the individual bits is specified as follows:
SD 42650: CART_JOG_MODE can only be used to set the reference system for which the
bits are set in MD 21106: CART_JOG_SYSTEM.
The HMI can use this machine data to decide which switchover options are offered for the
individual coordinate systems.
MD irrelevant for ...... Transformation type not equal to “Handling transformation package”
42650 CART_JOG_MODE
MD number Coordinate system for Cartesian manual travel
Default setting: 0 Minimum input limit: 0 Maximum input limit: 0x0404
Changes effective IMMEDIATELY Protection level: 7 / 7 Unit: –
Data type: DWORD Applies as of SW 6.3
Meaning: This allows the reference coordinate system to be set for Cartesian manual travel.
Bits 0 to 7 are provided for selecting the coordinate system for the translation, Bits 8 to 15
for selecting the coordinate system for the orientation.
If no bit is set, or only one bit either for the translation or for the orientation, the Cartesian
manual travel is not active. This means that one bit must always be set for the translation
and one bit set for the orientation. If more than one bit is set for translation or orientation,
Cartesian manual travel is not active either.
SW 6.4 and higher The following channel/specific system variables are provided :
$AC_TOOLO_ACT[i], i = 1, 2, 3 ith component of the vector of the current
setpoint orientation
$AC_TOOLO_ACT[i], i = 1, 2, 3 ith component of the vector of the
end orientation of the current block
$AC_TOOLO_DIFF Residual angle in degrees, i.e. this is the
angle between vectors
$AC_TOOLO_END[i] and
$AC_TOOLO_ACT[i].
$VC_TOOLO[i], i = 1, 2, 3 ith component of the vector of the
actual orientation
$VC_TOOLO_DIFF Angle in degrees between setpoint and
actual orientation
$VC_TOOLO_STAT Status variable for actual orientation
The components of the vectors $AC_TOOLO_ACT[i], $AC_TOOLO_END[i] and
$VC_TOOLO[i] of the orientation are normalized so that the orientation vector
has the value 1.
These system variables can be read by part programs and in synchronized
actions. Write access is not permitted.
Status variable $VC_TOOLO_STAT shows whether the calculation for actual
orientation can be performed. The following values are possible:
0 : Actual orientation can be calculated
–1 : Actual orientation cannot be calculated, since currently active
transformation cannot calculate these values in real time.
The actual value of the tool optimization is not provided by all
transformations in real time.
Notes
Signal Descriptions 5
5.1 Channel-specific signals
Examples 6
6.1 Example of a 5-axis transformation
CHANDATA(1)
$MA_IS_ROT_AX[AX5] = TRUE
$MA_SPIND_ASSIGN_TO_MACHAX[AX5] = 0
$MA_ROT_IS_MODULO[AX5] = 0
;––––––––––––––––––––––––––––––––––––––––––––
; General 5-axis transformation
;
; Kinematics: 1st rotary axis is parallel to Z
; 2nd rotary axis is parallel to X
; Movable tool
;––––––––––––––––––––––––––––––––––––––––––––
$MC_TRAFO_TYPE_1 = 20
$MC_ORIENTATION_IS_EULER = TRUE
$MC_TRAFO_AXES_IN_1[0] = 1
$MC_TRAFO_AXES_IN_1[1] = 2
$MC_TRAFO_AXES_IN_1[2] = 3
$MC_TRAFO_AXES_IN_1[3] = 4
$MC_TRAFO_AXES_IN_1[4] = 5
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=1
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=2
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2]=3
$MC_TRAFO5_PART_OFFSET_1[0] = 0
$MC_TRAFO5_PART_OFFSET_1[1] = 0
$MC_TRAFO5_PART_OFFSET_1[2] = 0
$MC_TRAFO5_ROT_AX_OFFSET_1[0] = 0
$MC_TRAFO5_ROT_AX_OFFSET_1[1] = 0
$MC_TRAFO5_ROT_SIGN_IS_PLUS_1[0] = TRUE
$MC_TRAFO5_ROT_SIGN_IS_PLUS_1[1] = TRUE
$MC_TRAFO5_NON_POLE_LIMIT_1 = 2.0
$MC_TRAFO5_POLE_LIMIT_1 = 2.0
$MC_TRAFO5_BASE_TOOL_1[0] = 0.0
$MC_TRAFO5_BASE_TOOL_1[1] = 0.0
$MC_TRAFO5_BASE_TOOL_1[2] = 5.0
$MC_TRAFO5_JOINT_OFFSET_1[0] = 0.0
$MC_TRAFO5_JOINT_OFFSET_1[1] = 0.0
$MC_TRAFO5_JOINT_OFFSET_1[2] = 0.0
CHANDATA(1)
M17
;––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
; Example program for general 5-axis transformation
;––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
; Definition of tool T1
$TC_DP1[1,1] = 10 ; Type
$TC_DP2[1,1] = 0
$TC_DP3[1,1] = 20. ;z length offset vector G17
$TC_DP4[1,1] = 0. ;y
$TC_DP5[1,1] = 0. ;x
$TC_DP6[1,1] = 0. ; Radius
$TC_DP7[1,1] = 0
$TC_DP8[1,1] = 0
$TC_DP9[1,1] = 0
$TC_DP10[1,1] = 0
$TC_DP11[1,1] = 0
$TC_DP12[1,1] = 0
;=========================================================
; Orientation vector programming
;===========================================================
N110 TRAORI(1)
N120 ORIWKS
N130 G1 G90
N140 a3 = 0 b3 = 0 c3 = 1 x0
N150 a3 = 0 b3 =–1 c3 = 0
N160 a3 = 1 b3 = 0 c3 = 0
N170 a3 = 1 b3 = 0 c3 = 1
N180 a3 = 0 b3 = 1 c3 = 0
N190 a3 = 0 b3 = 0 c3 = 1
;===========================================================
; Euler angle programming
;===========================================================
N200 ORIMKS
N210 G1 G90
N220 a2 = 0 b2 = 0 x0
N230 a2 = 0 b2 = 90
N240 a2 = 90 b2 = 90
N250 a2 = 90 b2 = 45
N260 a2 = 0 b2 =–90
N270 a2 = 0 b2 = 0
;==========================================================
; Axis programming
;===========================================================
N300 a0 b0 x0
N310 a45
N320 b30
;===========================================================
; TOFRAME
;===========================================================
N500 TRAFOOF
m30
Example: 3-axis transformation for the machine illustrated in Fig. 1-1 can be configured as follows:
$MC_TRAFO_TYPE_n = 18
Example: 4-axis transformation for the machine illustrated in Fig. 1-2 but with an additional axis (Y) can be
configured as follows:
$MC_TRAFO_TYPE_n = 18
$MC_TRAFO_GEOAX_ASSIGN_TAB_n[0] = 1
$MC_TRAFO_GEOAX_ASSIGN_TAB_n[1] = 2
$MC_TRAFO_GEOAX_ASSIGN_TAB_n[2] = 3
CHANDATA(1)
$MC_TRAFO_TYPE_1 = 20
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0] = 1
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1] = 2
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2] = 0
$MC_TRAFO_AXES_IN_1[0] = 1
$MC_TRAFO_AXES_IN_1[1] = 2
$MC_TRAFO_AXES_IN_1[2] = 0 ; No 3rd linear axis available
$MC_TRAFO_AXES_IN_1[3] = 4 ; Rotary axis
$MC_TRAFO_AXES_IN_1[4] = 0 ; No 2nd rot. axis, i.e. 3-axis transf.
$MC_TRAFO_TYPE_1 = 34
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[0] = 1
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[1] = 2
$MC_TRAFO_GEOAX_ASSIGN_TAB_2[2] = 3
$MC_TRAFO_AXES_IN_2[0] = 1
$MC_TRAFO_AXES_IN_2[1] = 2
$MC_TRAFO_AXES_IN_2[2] = 3 ; 3rd linear axis available
$MC_TRAFO_AXES_IN_2[3] = 4 ; Rotary axis
$MC_TRAFO_AXES_IN_2[4] = 0 ; No 2nd rot. axis, i.e. 4-axis transformation
CHANDATA(1)
M17 ; End of machine data
N10 $TC_DP1[1,1] = 10
N20 $TC_DP2[1,1] = 20
N30 $TC_DP3[1,1] = 1.0
N40 $TC_DP4[1,1] = 0.0
N50 $TC_DP5[1,1] = 0.0
General The following two subsections show the main steps which need to be taken in
order to activate a transformation for the universal milling head.
Machine data ; Machine kinematics CA’ with orientation of the tool in zero position in Z
direction
$MC_TRAFO_TYPE_1 = 148
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0] = 1
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1] = 2
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2] = 3
m30
CHANDATA(1)
M17
Z Z’
Z’’ Z’’’ A2
Y’’’
C2
B2
C2 Y’ Y’’
B2
A2
Y
XStart
A2 XDestination
X
B2 C2
X’ X’’’
X’’
Fig. 6-1 3 orientation axes for the 1st orientation transformation for kinematics with 6
transformed axes
Example 2:
3 orientation axes for the 2nd orientation transformation for kinematics with 5
transformed axes The axis must rotate first
CHANDATA(1)
M17
Z
Z’
Z’’ C2
A2
B2 Y’ Y’’
B2
A2
Y
B2
A2
X
X’
X’’
Fig. 6-2 3 orientation axes for the 2nd orientation transformation for kinematics with 5
transformed axes
The rotation through angle C2 about the Z” axis is omitted in this case, because
the tool vector orientation can be determined solely from angles A2 and B2 and
no further degree of freedom is available on the machine.
Reference: /PGA/, Programming Guide Advanced
Orientation vector The orientation vector is programmed directly in the examples below. The
in Z-X plane movements of the rotary axes that result depend on the particular kinematics of
the machine.
N10 TRAORI
N20 POLY ; Polynomial interpolation is possible.
N30 A3=0 B3=0 C3=1 ; Orientation in +Z direction (start vector)
N40 A3=1 B3=0 C3=0 ; Orientation in +X direction (end vector)
In N40, the orientation vector is rotated in the Z-X plane that is spanned from
the start and end vector. Here, the PHI angle is interpolated in a line in this
plane between the values 0 and 90 degrees (large circle interpolation).
The additional specification of the polynomials for the two angle PHI and PSI
means that the interpolated orientation vector can lies anywhere between the
start and end vector.
PHI angle using In contrast to the example above, the PHI angle is interpolated using the
polynomial PHI polynomial PHI(u) = (90–10)u + 10*u2 between the values 0 and 90 degrees.
The PSI angle is not equal to zero and is interpolated as the polynomial
PSI(u) = –10*u + 10*u2.
The maximum “tilt” of the orientation vector from the plane between the start
and end vector is obtained in the middle of the block (u = 1/2).
N10 TRAORI
N20 POLY ; Polynomial interpolation is possible.
N30 A3=0 B3=0 C3=1 ; Orientation in +Z direction (start vector)
N40 A3=1 B3=0 C3=0 PO[PHI]=(10) PO[PSI]=(10) ; in +X direction (end vector)
6.5.2 Example for rotations of the orientation vector (SW 6.1 and
higher)
Rotations with In the following example, the angle of rotation is interpolated in linear fashion
angle of rotation from starting value 0 degrees to end value 90 degrees. The angle of rotation
THETA changes according to a parabola or a rotation can be executed without a
change in orientation. The tool orientation is rotated from the Y direction to the X
direction.
N10 TRAORI ; Activation of orientation transformation
N20 G1 X0 Y0 Z0 F5000 ;
; Tool orientation
N30 A3=0 B3=0 C3=1 THETA=0 ; in Z direction with angle of rotation 0
N40 A3=1 B3=0 C3=0 THETA=90 ; in X direction and rotation about 90 degrees
N50 A3=0 B3=1 C3=0 PO[THT]=(180.90) ; in Y direction and rotation about 180 degrees
N60 A3=0 B3=1 C3=0 THETA=IC(–90) ; remains constant and rotation about 90 degrees.
N70 ORIROTT ; Angle of rotation relative to change in orientation.
N80 A3=1 B3=0 C3=0 THETA=30 ; Rotation vector in angle 30 degrees to X-Y plane.
N40 Linear interpolation of angle of rotation from starting value 0 degrees to end
value 90 degrees.
N50 The angle of rotation changes from 90 degrees to 180 degrees according
to parabola q(u) + 90 ) 90u 2 .
N60 A rotation can also be programmed without a change in orientation taking
place.
N80 The tool orientation is rotated from the Y direction to the X direction. The
change in orientation takes place in the X-Y plane and the rotation vector
describes an angle of 30 degrees to this plane.
6.6.1 Example for a generic 6-axis transformation (SW 7.2 and higher)
6.6.2 Example for the modification of the rotary axis motion (SW 6.1
and higher)
The machine is a 5-axis machine of machine type 1 (two-axis swivel head with
CA kinematics) on which both rotary axes rotate the tool (transformation type
24). The first rotary axis is a modulo axis parallel to Z (C axis); the second rotary
axis is parallel to Y (B axis) and has a traversing range from –5 degrees to +185
degrees.
To allow modification at any time, machine data
MD 21180: ROT_AX_SWL_CHECK_MODE contains the value 2.
N10 X0 Y0 Z0 B0 C0
N20 TRAORI( ) ; Basic orientation 5-axis transformation
N30 B–1 C10 ; Rotary axis positions B-1 and C10
N40 A3=–1 C3=1 ORIWKS ; Large circle interpolation in WCS
N50 M30
At the start of block N40 in the example program, the machine is positioned at
rotary axis positions B–1 C10. The programmed end orientation can be
achieved with either of the axis positions B–45 C0 (1st solution) or B45 C180
(2nd solution).
The first solution is selected initially, because it is nearest to the starting
orientation and, unlike the second solution, can be achieved using large circle
interpolation (ORIWKS). However, this position cannot be reached because of
the axis limits of the B axis.
The second solution is therefore used instead, i.e. the end position is B45 C180.
The end orientation is achieved by axis interpolation. The programmed
orientation path cannot be followed.
TRAORI
COMPCURV
; A circle generated from polygons is traversed.
; The orientation moves on a taper about the
; Z axis with an aperture angle of 45 degrees.
Notes
7.4 Alarms
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, “Diagnostics Guide”
or in the Online help.
Notes
Brief Description 1
Gantry axes The “gantry axes” function (see Chapter 3) can be used to traverse two or more
mechanically-coupled machine axes simultaneously with no mechanical offset.
With regards to operation and programming, the axes defined in the gantry
grouping are treated as if they were one machine axis (called “master” axis).
While the gantry axes are traversing, the control continuously monitors the
position actual values of the coupled axes to check whether the difference is still
within the specified tolerance range. When the actual position values of the
synchronized axes deviate too much from that of the master axis, the control
automatically shuts down all axes in the gantry grouping to prevent any damage
to the machine.
The purpose of the “gantry axes” function is to control and monitor machine
axes which are rigidly coupled in this way.
Application Two feed drives are required to traverse the gantry on large gantry-type milling
machines, i.e. one drive with its own position measuring system on each side.
Owing to the mechanical forced coupling, both drives must be operated in
absolute synchronism to prevent canting of mechanical components.
Configurations A total of three gantry groupings can be defined (SW 7.1 and higher). One
gantry grouping consists of a master axis and up to two synchronized axes.
J
Notes
Detailed Description 2
2.1 “Gantry axes” function
Application On large gantry-type milling machines, various axis units (e.g. gantry or
crossbeam; see Fig. 2-1) are moved by a number of drives, which are mutually
independent. Each drive has its own measuring system and thus constitutes a
complete axis system. When these mechanically rigidly-coupled axes are
traversed, both drives must be operated in absolute synchronism in order to
prevent canting of mechanical components (resulting in power/torque
transmission).
The purpose of the “gantry axes” function is to control and monitor machine
axes which are rigidly coupled in this way.
Terms The following terms are frequently used in this functional description:
Gantry axes: Gantry axes comprise at least one pair of axes, the
leading axis and the synchronized axis. As these axes
are mechanically coupled, they must always be
traversed simultaneously by the NC. The difference
between the actual positions of the axes is monitored
continuously. The axes in a gantry grouping are either
all linear axes or all rotary axes.
Gantry axis grouping: The gantry axis grouping defines which synchronized
axes are controlled by which leading axis based on
machine data settings. The leading axis and
synchronized axes cannot be traversed separately.
Leading axis: The leading axis is the gantry axis, which actually exists
from the point of the view of the operator and
programmer and can therefore be controlled accordingly
in the same way as a normal NC axis. The axis name of
the leading axis identifies all axes in the gantry axis
grouping.
Synchronized axis: The synchronized axis is the gantry axis whose setpoint
position is always derived from the traversing motion of
the leading axis. It therefore moves in exact
synchronism with the leading axis. From the point of
view of the programmer and operator, the synchronized
axis “does not exist”.
S Whether the axis belongs to a gantry grouping and, if yes, which one
S Whether the axis is defined as a leading axis or a synchronized axis
within this grouping.
A total of up to 3 (8 in SW 7.1 and higher) gantry groupings can be defined.
Each gantry grouping consists of one leading axis and one or two
synchronized axes.
Conditions for a
gantry grouping
S A gantry grouping must not contain a spindle.
S A synchronized axis must not be a concurrent POS axis.
S A synchronized axis must not be addressed by a transformation.
S A synchronized axis must not be the slave axis in another type of axis
coupling.
S A synchronized axis must not be defined as the leading axis in another axis
grouping.
Note
Each axis in the gantry grouping must be set so that it can take over the
function of the leading axis at any time, i.e. matching velocity, acceleration and
dynamic response settings.
1. Gantry grouping
Z1
ÉÉ
Y Z2
X1
ÉÉ +Z
+X X2
+Y
2. Gantry grouping
Functional units The “gantry axes” function can be subdivided into the following functional units:
1. Setpoint generation of synchronized axis
2. Monitoring of actual value difference
3. Referencing and synchronization of leading axis and synchronized axes
Setpoint From the point of view of the operator, all coupled gantry axes are traversed as
generation of if only one axis, i.e. the leading axis, were programmed in the NC. Analogously,
synchronized axis only the leading axis is programmed in the part program. The commands and
traverse requests from the operator, the PLC interface or via the part program
therefore apply in equal measure to all axes in the gantry grouping.
When the “gantry axes” function is active, the synchronized axis setpoint is
generated directly from the setpoint of the leading axis in all operating modes.
Note
The dynamic control response of the leading and synchronized axes must be
set identically.
Monitoring of The position actual values of the leading and synchronized axes are
actual value continuously compared with one another in the interpolation clock cycle and
difference monitored to check that they are still within the permissible tolerance range.
Machine data can be set to specify the following limit values for alarm output
and termination of the traversing motion for specific axes:
If the gantry axis grouping has not yet been synchronized, the limit value for
the gantry trip limit is derived from MD 37130: GANTRY_POS_TOL_REF
(gantry trip limit for referencing).
After power-up, extended monitoring is activated when the first reference point
or synchronization (absolute encoder) is reached, irrespective of the axis status:
e.g. RFG, NF, reference point approach, etc.
Referencing and As the example “Gantry-type milling machine” shows (see Fig. 2-1), the forced
synchronization of coupling between gantry axes must remain intact in all operating modes as well
gantry axes as immediately after power ON. In cases where an incremental measuring
system is being used for the leading or the synchronized axis, the reference
point must be approached while maintaining the axis coupling immediately after
machine power ON.
After every axis in the gantry grouping has approached its reference point, any
misalignment that may exist between the axes must be eliminated (this is
known as the gantry synchronization process). As soon as this takes place, IS
“Gantry grouping is synchronized” (DB31, ... ; DBX101.5) is signaled to the
PLC.
The operational sequence for referencing and synchronizing gantry axes is
described in detail in Section 2.2.
Closed-loop The dynamic control response settings of the coupled gantry axes must be
control identical (see Section 2.3). This ensures that in normal operation, the leading
and synchronized axes move in positional synchronism even during
acceleration and braking.
Load effects are compensated by the appropriate 611D drive of the leading or
synchronized axis.
Response to When a disturbance occurs which causes shutdown of one gantry axis owing,
disturbances for example, to cancellation of the controller enabling signal (example:
EMERGENCY STOP), all other coupled gantry axes are also shut down.
Separation of In certain situations (e.g. one gantry axis is no longer referenced owing to an
forced coupling encoder failure), it may be necessary to correct or reduce the misalignment
between the gantry axes prior to referencing. To do this, it must be possible to
traverse the leading or the synchronized axis manually in the uncoupled
state.
The forced coupling between the gantry axes can be separated by means of
MD 37140: GANTRY_BREAK_UP=1 (separate gantry grouping) followed by a
RESET. The gantry axes can then be traversed separately by hand; the
monitoring of the warning and trip limits is not operative in this state.
Caution
! If the gantry axes remain mechanically coupled, there is a risk of damage
to the machine when the leading or synchronized axes are traversed in
this operating state!
Misalignment after Immediately after the machine is switched on, the leading and synchronized
starting axes may not be ideally positioned in relation to one another (e.g. misalignment
of a gantry). Generally speaking, this misalignment is relatively small so that the
gantry axes can still be referenced.
In special cases (e.g. gantry axes were stopped owing to a disturbance, power
failure or EMERGENCY STOP), the dimensional offset must be checked for
permissible tolerance values and a compensatory motion executed if necessary
before the axes are traversed.
To execute this compensatory motion, the gantry grouping must first be
separated by means of MD 37140: GANTRY_BREAK_UP.
Gantry All gantry axes must first be referenced and then synchronized after the control
synchronization system is switched on. During gantry synchronization, all gantry axes approach
the reference position of the gantry grouping in the decoupled state. The
reference position of the gantry grouping for referencing the gantry axes
corresponds to the reference position of the leading axis (MD 34100:
REFP_SET_POS) or the current actual position of the leading axis.
These operations for referencing and synchronizing the gantry axes are
executed automatically in accordance with a special flowchart.
Referencing The flowchart for referencing gantry axes using an incremental measuring
operation system is as follows:
Chapter 1: Referencing of leading axis
The user program starts axis-specific referencing of the gantry
axes with IS “Travel key plus/minus” (DB31, ... ; DBX4.7/4.6) on
the leading axis when the REF machine function is active.
The leading axis approaches the reference point (operational
sequence as for reference point approach (see References:
/FB/, R1 “Reference Point Approach”). The appropriate
synchronized axes traverse in synchronism with the leading axis.
IS “Referenced/synchronized” of the leading axis is output to
indicate that the reference point has been reached.
Chapter 2: Referencing of synchronized axes
As soon as the leading axis has approached its reference point,
the synchronized axis is referenced automatically
(corresponding to reference point approach (see References:
/FB/, R1 “Reference Point Approach”). The dependency between
the leading axis and synchronized axis is inverted in the control
for this phase so that the leading axis now traverses in
synchronism with the synchronized axis.
IS “Referenced/synchronized” of the synchronized axis is output
to indicate that the reference point has been reached. The gantry
axis dependency then reverts to its previous status.
Chapter 1
Start “Referencing of Referencing of leading axis
gantry axes”
(Internal start)
Chapter 2
Synchronized axis approaches reference Referencing of synchronized axis
point; leading axis traverses in synchronism (axes)
to PLC IS “Referenced/synchronized” = 1
Ref. point approached
for synchronized axis
y Next
synchronized
axis
n
Chapter 3
Synchronization
Message:
“Wait for process
Comparison of actual positions of
leading and synchronized axes synchronization
start”
to PLC Message:
All gantry axes have reached “Synchronization
synchronized position in progress”
End
Restart gantry Synchronization of the gantry axes can be started with IS “Start gantry
synchronization synchronization” under the following conditions only:
Note
Automatic synchronization can be interlocked for the leading axis using IS
DB31, ... DBX29.5. This always makes sense if no axis enabling signal has yet
been issued for the axes. In this case, the synchronization process should also
be started explicitly with IS DB31, ... DBX 29.4 = 1.
Loss of The synchronization of the gantry grouping is lost (IS “Gantry grouping is
synchronization synchronized” → 0) if:
Reference point To ensure that the shortest possible paths are traversed when the gantry axes
selection are referenced, the reference point values of the leading and synchronized axes
in MD 34100: REFP_SET_POS should be identical. Allowance for deviations in
distance between the zero mark and the reference point must be made for
specific axes via MD 34080: REFP_MOVE_DIST and MD 34090:
REFP_MOVE_DIST_CORR.
During referencing, the reference point value of the leading axis is specified as
the target position for all axes in the grouping for the synchronization
compensatory motion. This position is then approached without axis coupling. If
the leading axis uses absolute or distance-coded encoders, the gantry axes
traverse (according to setting in MD 34330: REFP_STOP_AT_ABS_MARKER)
either to the current actual position of the leading axis or to the reference point.
If only one reference cam is used for the leading and synchronized axes, then
this must be taken into account in the PLC user program.
Note
IS “No automatic synchronization” DB31, ... DBX29.5 blocks automatic
synchronization in all modes except referencing mode. If automatic
synchronization is to be activated here, set IS “No automatic synchronization”
DB31, ... DBX29.5 = 0 must be defined. Then switch one of the axes in the
gantry grouping from follow-up mode to position-controlled mode. This is
achieved with:
IS “Follow-up mode” DB31, ... DBX1.4 = 1 and
IS “Delete distance to go/spindle reset” DB31, ... DBX2.1 = 1 signal change
from 1 to 0 to 1”.
2nd position Different types of position measuring system can be mounted on the gantry
measuring system axes of a grouping. Furthermore, each gantry axis is capable of processing two
for each gantry position measuring systems, it being possible to switch over from one system to
axis the other at any time (IS “Position measuring system 1/2” (DB31, ... DBX1.5 and
1.6).
The maximum tolerance for position actual value switchover (MD 36500:
ENC_CHANGE_TOL) should be set to a lower value than the gantry warning
limit.
The two position measuring systems must, however, have been referenced
beforehand. The relevant measuring system must be selected before
referencing is initiated. The operational sequence is then the same as that
described above.
Referencing from The referencing and synchronization process for gantry axes can also be
part program with initiated from the part program by means of command G74. In this case, only
G74 the axis name of the leading axis may be programmed. The operational
sequence is analogous to that described for axis-specific referencing.
Position In order that return traverses do not have to be made over large distances, it is
measuring system possible to use a position measuring system with distance-coded reference
with marks as a sole or second measuring system for gantry axes. In this way the
distance-coded measuring system is referenced after traversal of a short path (e.g. 20 mm). The
procedure for referencing the gantry axes is the same as that described for
reference marks
normal incremental measuring systems (References: /FB/, R1 “Reference Point
Approach”).
Or absolute During the course of the synchronization compensatory motion, all axes in the
encoder gantry axis grouping traverse to the reference point value of the leading axis
defined in MD 34100: REFP_SET_POS in the decoupled state. If the leading
axis uses absolute or distance-coded encoders, the gantry axes traverse
(according to setting in MD 34330: REFP_STOP_AT_ABS_MARKER) either to
the current actual position of the leading axis or to the reference point.
Activation of axis Compensation functions can be activated for both the leading axis and the
compensations synchronized axes. Compensation values are applied separately for each
individual gantry axis. These values must therefore be defined and entered for
the leading axis and the synchronized axes during start-up.
The compensations do not become operative internally in the control until the
axis is referenced or the gantry grouping synchronized. The following applies:
Monitoring Analogous to normal NC axes, the following monitoring functions do not take
functions effective effect for gantry axes until the reference point is reached (IS “Referenced/
Synchronized”):
Multi-channel The cross-channel block search in Program Test mode (SERUPRO “search run
block search in by program test”) can be used to simulate the traversal of gantry axis groupings
SW 6.1 and higher in SW 6.2 and higher.
Note
For more information about multi-channel SERUPRO block search, please see:
General Owing to the forced coupling which is normally present between leading and
synchronized gantry axes, the gantry axis grouping must be started up as if it
were an axis unit. For this reason, the axial machine data for the leading and
synchronized axes must always be defined and entered jointly.
If the synchronized axis is being overloaded by the leading axis due to reduced
dynamics, this is acknowledged with alarm 10656.
References: /IAD/, “Installation and Start-Up Guide”
Special points to be noted with regard to starting up gantry axes are described
below.
Axis traversing As part of the start-up procedure, a check must be made to ensure that the
direction direction of rotation of the motor corresponds to the desired traversing direction
of the axis (correct by means of axial MD 32100: AX_MOTION_DIR (traversing
direction)).
Activation of the In MD 37100: GANTRY_AXIS_TYPE, the following must be specified for the
axis grouping gantry axis:
Note
Please make sure that a gantry grouping specified as cross-channel or
cross-NCU does not clash with gantry grouping numbers already assigned. In
such cases, unique numbers must be assigned for cross-channel and
cross-NCU gantry groupings. If clashes are detected, alarm 10651 is output
with reason 40XX. XX is the gantry grouping causing the clash.
For start-up purposes, all axes in a gantry grouping must be declared either as
linear axes or as rotary axes (MD 30300: IS_ROT_AX).
Entering gantry For the purposes of monitoring the position actual value deviation between the
trip limits synchronized axis and the actual position of the leading axis, the trip limit values
(MD: 37120 GANTRY_POS_TOL_ERROR or MD 37130:
GANTRY_POS_TOL_REF) must be entered for the leading axis and for the
synchronized axis in accordance with the machine manufacturer’s data.
Note
The control must then be switched off and then on again because the gantry
axis definition and the trip limit values only take effect after power ON.
Response to Since the digital 611D drives respond well to disturbances and setpoint
setpoint changes changes, there is no need for a compensatory control between the gantry axes.
and disturbances However, the gantry axes can only operate in exact synchronism if the
parameters for the control circuits of the leading and synchronized axes are set
to the same dynamic response value.
To ensure the best possible synchronism, the leading axis and synchronized
axis must be capable of the same dynamic response to setpoint changes.
The axial control loops (position, speed and current controllers) should each be
set to the optimum value so that disturbances can be eliminated as quickly and
efficiently as possible. The dynamic response adaptation function in the
setpoint branch is provided to allow differing dynamic responses of axes to be
matched without loss of control quality.
The following control parameters must be set to the optimum axial value for
both the leading axis and the synchronized axis:
Dynamic response The leading axis and the coupled axis must be capable of the same dynamic
adaptation response to setpoint changes. The same dynamic response means: The
following errors are equal in magnitude when the axes are operating at the
same speed.
The dynamic response adaptation function in the setpoint branch makes it
possible to obtain an excellent match in the response to setpoint changes
between axes, which have different dynamic characteristics (control loops). The
difference in equivalent time constants between the dynamically “weakest” axis
and the other axis in each case must be specified as the dynamic response
adaptation time constant.
Example When the speed feedforward control is active, the dynamic response is primarily
determined by the equivalent time constant of the “slowest” speed control loop.
Leading axis MD 32810: EQUIV_SPEEDCTRL_TIME [n] = 5 ms
Synchronized axis MD 32810: EQUIV_SPEEDCTRL_TIME [n] = 3 ms
Referencing The positions of the reference points of the leading and synchronized axes
gantry axes must first be set to almost identical values.
To ensure that the synchronization compensatory motion of the gantry axes is
not started automatically, the gantry warning limit (MD 37100:
GANTRY_POS_TOL_WARNING) must be set to 0 prior to referencing on first
start-up. This will prevent a warning message being output during traversing
motion.
In cases where an excessively high additional torque is acting on the drives due
to misalignment between the leading and synchronized axes, the gantry
grouping must be aligned before the axes are traversed. The gantry axes must
then be referenced as described in Section 2.2 and
References: /FB/, R1 “Reference Point Approach”.
After the leading and synchronized axes have been referenced, the difference
between them must be measured (comparison of position actual value
indication in “Service axes” display of “Diagnosis” operating area). This
difference must be applied as the reference point offset (MD34080:
REFP_MOVE_DIST and MD 34090: REFP_MOVE_DIST_CORR).
The differences in distance between the zero mark and reference point must
also be calculated for each gantry axis and adjusted in MD 34080:
REFP_MOVE_DIST and MD 34090: REFP_MOVE_DIST_CORR in such a way
that the position actual values of the leading and synchronized axes are
identical after execution of the compensatory motion.
Synchronizing The gantry synchronization process must be activated with IS “Start gantry
gantry axes synchronization” (see Section 2.2). Once the axes have been synchronized (IS
“Gantry grouping is synchronized” = 1), the dimensional offset between the
leading and synchronized axes must be checked to ensure that it equals 0.
Corrections may need to be made in the machine data mentioned above.
Input of gantry Once the reference point values for the leading and synchronized axes have
warning limit been optimized so that the gantry axes are perfectly aligned with one another
after synchronization, the warning limit values for all axes must be entered in
MD 37110: GANTRY_POS_TOL_WARNING.
To do this, the value must be increased incrementally until the value is just
below the alarm (limit exceeded) response limit. It is particularly important to
check the acceleration phases.
This limit value also determines the position deviation value at which gantry
synchronization is automatically started in the control.
Calculating and In cases where the gantry axes require compensation (backlash, sag,
activating temperature or leadscrew error), the compensation values for the leading axis
compensations and the synchronized axis must be calculated and entered in the appropriate
parameters or tables.
References: /FB/, K3 “Compensations”
Caution
! Activation of the function generator and measuring function on the
synchronized axis or leading and synchronized axis simultaneously is not
prevented by an internal monitor in software versions up to and including
SW 3.1 but if used incorrectly may damage the machine.
Special cases If individual axes have to be activated, the gantry groups must be temporarily
canceled. As the second axis no longer travels in synchronism with the first
axis, the activated axis must not be allowed to traverse beyond the positional
tolerance.
If the gantry grouping is canceled, the following points must be noted
S Always activate the traversing range limits and set them to the lowest
possible values (position tolerance)
S Avoid using the step-change function. Position step changes are only
permissible if they stay within the permitted tolerance.
S Always use an offset of 0 for the function generator and measuring function
in contrast to the recommendations for normal axes.
S Set the amplitudes for function generator and measuring function to such
low values that the activated axis traverses a shorter distance than the
position tolerance allows. Always activate the traversing range limits as a
check (see above).
References: /FBA/, DD2 “Speed control loop”
Note
As a supplement to the more general description given here of features of
start-up and dynamic control response of drives, a complete example of a
concrete constellation defined on the basis of its machine data can be found in
Chapter 6.
Special IS for The special PLC interface signals of the coupled gantry axes are taken via the
gantry axes axial PLC interface of the leading or synchronized axes. Table 2-2 below shows
all special gantry-PLC interface signals along with their codes and indicates
whether the IS is evaluated on the leading axis or the synchronized axis.
Table 2-2 Assignment of gantry-PLC interface signals to leading and synchronized axes
PLC interface signal PLC$NCK DB31, ... ; DBX ... Leading axis Synchronized
axis
Start gantry synchronization ! 29.4 X
No automatic synchronization ! 29.5 X
Gantry axis z 101.7 1 1
Gantry leading axis z 101.6 1 0
Gantry grouping is synchronized z 101.5 X
Gantry synchronization ready to start z 101.4 X
Gantry warning limit exceeded z 101.3 X
Gantry trip limit exceeded z 101.2 X
Effect of axial a) Axial interface signals from PLC to axis (PLC –> NCK)
interface signals
The axial interface signals from the PLC to the axis are always referred to all
on gantry axes gantry axes in the grouping. In this case, all gantry axes (leading and
synchronized axis) have equal priority.
For example, if the leading axis sets IS “Servo enable” (DB31, ... ; DBX2.1)
to “0”, all axes of the gantry grouping are brought to a standstill at the same
time.
Table 2-3 shows the effect of individual interface signals (from PLC to axis)
on gantry axes:
Table 2-3 Effect of interface signals from PLC to axis on leading and synchronized axes
Table 2-3 Effect of interface signals from PLC to axis on leading and synchronized axes
Manual traverse It is not possible to traverse a synchronized axis directly by hand in JOG mode.
Traverse commands entered via the traversing keys of the synchronized axis
are ignored internally in the control. Rotation of the handwheel for the
synchronized axis has no effect either.
Handwheel An overriding motion by means of the handwheel can only be applied to the
override leading axis in coupled axis mode. In this case, the synchronized axes traverse
in synchronism with the leading axis.
DRF offset A DRF offset can only be applied to the leading axis. In this case, the
synchronized axes traverse in synchronism with the leading axis.
Programming in Only the leading axis of a gantry axis grouping may be programmed in the part
part program program. An alarm is generated when a synchronized axis is programmed.
PLC or command Only the leading axis of the gantry grouping can be traversed by the PLC using
axes FC18 or as a command axis by means of synchronized actions.
References: /FB/, P3, “PLC Basic Program”
/FBSY/, Synchronized Actions
PRESET The PRESET function can only be applied to the leading axis. All axes in the
gantry grouping are reevaluated internally in the control when PRESET is
activated. The gantry axes then lose their reference and synchronization (IS
“Gantry grouping synchronized” = “0”).
Exchange All axes in the gantry grouping are released automatically in response to a
RELEASE command (leading axis).
A replacement of the master axis of a closed gantry grouping is only possible, if
all axes of the grouping are known in the channel in which they are to be
transferred, otherwise alarm 10658 is signaled.
Axes of a gantry grouping must not be known in all channels. The check is not
performed when powering up, but only when an attempt is made to replaced the
master axis in the channel.
If an attempt is made to close a broken up gantry grouping with MD 37140:
GANTRY_BREAK_UP, no automatic axis replacement and no automatic
adjustment of the axis states of the gantry axes are performed. The user is
responsible for this. However, a check of the axes states is performed after
break-up and, if necessary, alarm 10658 is issued. If a gantry grouping is to be
closed again, the user must ensure that all axes of the grouping are in one
channel with the appropriate axis state.
MD 30450: IS_CONCURRENT_POS_AX=1 for slave axes (closed gantry
grouping):
With active gantry grouping, the MD is ignored for the slave axes. The state of
the master axis is assumed. The user is informed about the inappropriate
configuration with display alarm 4300.
Display data The position actual value display shows the actual values of both the leading
axis and the synchronized axes. The same applies to the service display values
in the “Diagnosis” operating area.
SW limit switch The SW limit switch monitor is processed for the leading axis only. If the leading
axis crosses the limit switch, all axes in the gantry grouping are braked to a
standstill.
Differences in The main differences between the “gantry axes” and “coupled motion” functions
comparison with are listed below:
the “Coupled
S The axis coupling between the gantry axes must always be active. It is
motion” function therefore not possible to separate the axis coupling between “gantry axes”
by means of the part program. In contrast, the coupled axis grouping can be
separated by means of the part program and the axes then traversed
individually.
S With “gantry axes”, the difference between the position actual values of the
leading and synchronized axes is continuously monitored and the traversing
motion terminated in response to illegal deviations. No such monitoring
takes place with the “coupled motion” function.
S Gantry axes must remain coupled even during referencing. For this reason,
special procedures are applied for the reference point approach of gantry
axes. In contrast, coupled-motion axes are referenced as individual axes.
Multiple channels Please make sure, if a gantry grouping’s master axis is declared in
several channels, that its slave axes are also declared in those
channels.
If this is not the case, alarm 10651 is output with reason 60XX. XX is
the gantry grouping causing the clash.
J
Supplementary Conditions 3
There are no other supplementary conditions to note.
J
Notes
37100 GANTRY_AXIS_TYPE
MD number Gantry axis definition
Default setting: 0 Minimum input limit: 0 Maximum input limit: 13
Changes effective after POWER ON Protection level: 2/4 Unit: –
Data type: BYTE Applies as of SW: 2.1
Meaning: Use axial MD: GANTRY_AXIS_TYPE to set in the form of a two-decade value
specification:
S Whether the axis belongs to a gantry grouping and if so, to which (1st decade)
S and whether the axis is declared within the grouping as a leading axis (MD value has
only 1 decade) or as a synchronized axis (2nd decade is set to value 1)
2. decade 1. decade
The gantry axis definition is subject to a plausibility check internally in the control; if it is
incorrectly parameterized, alarm 10650 “Incorrect gantry machine data” or 10651 “Gantry
unit undefined” is output.
MD irrelevant for ...... SINUMERIK 840D with NCU 571
Application example(s) 0: No gantry axis
1: Axis is leading axis in gantry grouping 1
11: Axis is synchronized axis in gantry grouping 1
2: Axis is leading axis in gantry grouping 2
12: Axis is synchronized axis in gantry grouping 2
3: Axis is leading axis in gantry grouping 3
13: Axis is synchronized axis in gantry grouping 3
Special cases, errors, ... Alarm 10650 “Incorrect gantry machine data” and 10651 “Gantry unit undefined” in
... response to incorrect gantry axis definition.
Related to .... MD 37110: GANTRY_POS_TOL_WARNING Gantry warning limit
MD 37120: GANTRY_POS_TOL_ERROR Gantry trip limit
MD 37130: GANTRY_POS_TOL_REF Gantry trip limit for referencing
37110 GANTRY_POS_TOL_WARNING
MD number Gantry warning limit
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after Reset Protection level: 2/4 Unit:
Linear axis: mm
Rotary axis: degrees
Data type: DOUBLE Applies as of SW: 2.1
Meaning: Value > 0
With gantry axes, the difference between the position actual values of the leading and
synchronized axes are continuously monitored.
MD: GANTRY_POS_TOL_WARNING is used to define a limit value for the position ac-
tual value difference; when the limit is exceeded, warning 10652 “Warning limit ex-
ceeded” is output. However, the gantry axes are not shut down internally in the control.
The warning threshold must therefore be selected so that the machine can withstand the
position actual value deviation between the gantry axes without sustaining mechanical
damage.
In addition, IS “Gantry warning limit exceeded” (DB31, ... ; DBX101.3) to the PLC is set
to “1”. The PLC user program can thus initiate the necessary measures (e.g. program
interruption at block end) when the warning limit is exceeded.
As soon as the current position actual value difference has dropped below the limit again,
the message is canceled and interface signal “Gantry warning limit exceeded” reset.
Effect of gantry warning limit on gantry synchronization process:
The position actual value difference between the leading and synchronized axes is deter-
mined during gantry synchronization. If the deviation is lower than the warning limit, the
synchronizing motion of the gantry axes is started
automatically internally in the control.
The synchronizing motion must otherwise be initiated via the PLC interface (IS “Start
gantry synchronization process”).
Value = 0
Setting MD: GANTRY_POS_TOL_WARNING to 0 deactivates the monitoring
for violation of the warning limit.
Gantry synchronization is not initiated internally in the control.
MD irrelevant for ...... SINUMERIK 840D with NCU 571
Special cases, errors, ... Alarm 10652 “Warning limit exceeded” in response to violation of gantry warning limit.
...
Related to .... MD 37100: GANTRY_AXIS_TYPE Gantry axis definition
MD 37120: GANTRY_POS_TOL_ERROR Gantry trip limit
MD 37130: GANTRY_POS_TOL_REF Gantry trip limit for referencing
IS “Gantry warning limit exceeded” (DB31, ... ; DBX101.3)
IS “Start gantry synchronization” (DB31, ... ; DBX29.4)
37120 GANTRY_POS_TOL_ERROR
MD number Gantry trip limit
Default setting: 0.0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2/4 Unit:
Linear axis: mm
Rotary axis: degrees
Data type: DOUBLE Applies as of SW: 2.1
37120 GANTRY_POS_TOL_ERROR
MD number Gantry trip limit
Meaning: With gantry axes, the difference between the position actual values of the leading and syn-
chronized axes are continuously monitored. MD: GANTRY_POS_TOL_ERROR is the
maximum permissible position actual value deviation between the synchronized axis and
the leading axis for the gantry axis grouping. Monitoring for violation of this limit value takes
place only if the gantry axis grouping is already synchronized (IS “Gantry grouping is syn-
chronized” = 1); otherwise the value set in MD 37130: GANTRY_POS_TOL_REF is used.
If the limit value is exceeded, alarm 10653 “Error limit exceeded” is output. The gantry axes
are immediately shut down internally in the control to prevent any damage to the machine.
In addition, IS “Gantry trip limit exceeded” to the PLC is set to “1”.
MD irrelevant for ...... SINUMERIK 840D with NCU 571
Special cases, errors, ... Alarm 10653 “Error limit exceeded” in response to violation of gantry trip limit.
...
Related to .... MD 37100: GANTRY_AXIS_TYPE Gantry axis definition
MD 37110: GANTRY_POS_TOL_WARNING Gantry warning limit
MD 37130: GANTRY_POS_TOL_REF Gantry trip limit for referencing
IS “Gantry grouping is synchronized” (DB31, ... ; DBX101.5)
IS “Gantry trip limit exceeded” (DB31, ... ; DBX101.2)
37130 GANTRY_POS_TOL_REF
MD number Gantry trip limit for referencing
Default setting: 0.0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 2/4 Unit:
Linear axis: mm
Rotary axis: degrees
Data type: DOUBLE Applies from SW 2.1
Meaning: On gantry axes, the difference between the position actual values
of the leading and synchronized axes are continuously monitored. MD:
GANTRY_POS_TOL_REF is the maximum permissible position actual value deviation
between the synchronized axis and the leading axis that is monitored if the gantry axis
grouping is not yet synchronized (IS “Gantry grouping is synchronized” = “0”).
If the limit value is exceeded, alarm 10653 “Error limit exceeded” is output. The gantry axes
are immediately shut down in the control to prevent any damage to the machine.
In addition, IS “Gantry trip limit exceeded” to the PLC is set to “1”.
MD irrelevant for ...... SINUMERIK 840D with NCU 571
Special cases, errors, ... Alarm 10653 “Error limit exceeded” in response to violation of gantry trip limit.
...
Related to .... MD 37100: GANTRY_AXIS_TYPE Gantry axis definition
MD 37110: GANTRY_POS_TOL_WARNING Gantry warning limit
MD 37120: GANTRY_POS_TOL_ERROR Gantry trip limit
IS “Gantry grouping is synchronized” (DB31, ... ; DBX101.5)
IS “Gantry trip limit exceeded” (DB31, ... ; DBX101.2)
37140 GANTRY_BREAK_UP
MD number Invalidate gantry axis grouping
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after Reset Protection level: 2/4 Unit: –
Data type: BOOLEAN Applies as of SW: 2.1
37140 GANTRY_BREAK_UP
MD number Invalidate gantry axis grouping
Meaning: GANTRY_BREAK_UP = “0”
The forced coupling of the gantry axis grouping remains valid. Monitoring for violation of the
gantry warning/trip limit is active!
GANTRY_BREAK_UP = “1”
This cancels the forced coupling of the gantry grouping! All gantry axes in this grouping
can therefore be traversed individually by hand. The monitoring for violation of the gantry
warning or trip limit is deactivated. IS “Gantry grouping is synchronized” is set to “0”.
Caution:
If the gantry axes are mechanically coupled, the machine may be damaged if the
leading or synchronized axis is traversed in this mode!
The gantry axes cannot be referenced individually.
MD irrelevant for ...... SINUMERIK 840D with NCU 571
Related to .... MD 37100: GANTRY_AXIS_TYPE Gantry axis definition
MD 37110: GANTRY_POS_TOL_WARNING Gantry warning limit
MD 37130: GANTRY_POS_TOL_REF Gantry trip limit for referencing
IS “Gantry grouping is synchronized” (DB31, ... ; DBX101.5)
IS “Gantry trip limit exceeded” (DB31, ... ; DBX101.2)
37150 GANTRY_FUNCTION_MASK
MD number Gantry functions
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after RESET Protection level: 2 / 7 Unit: –
Data type: DWORD Applies as of SW: 7.2
Meaning: This MD is used to set special gantry functions.
The MD is bitcoded. The following bits are assigned:
Bit 0 = 0: Extended monitoring of actual value difference is not active.
An offset between the master and slave axis resulting from follow-up or
BREAK_UP is not considered when monitoring the
actual value difference.
No output of alarm 10657 if alarm 10563 before
Power Off.
Bit 0 = 1: Extended monitoring of actual value difference is active.
An offset between the master and slave axis resulting from follow-up or
BREAK_UP is not considered when monitoring the
actual value difference.
Signal Descriptions 5
5.1 Signals to axis/spindle
Notes
Example 6
6.1 Creating a gantry grouping
Introduction The gantry grouping, the referencing of its axes, the orientation of possible
offsets and, finally, the synchronization of the axes involved are complicated
procedures. The individual steps involved in the process are explained below
by an example constellation.
Machine data The following machine data describe the original values at the beginning of the
procedure. Individual settings must be corrected or added later according to the
information below.
Gantry machine data
Axis 1
MD 37100: GANTRY_AXIS_TYPE =1
MD 37110: GANTRY_POS_TOL_WARNING =0
MD 37120: GANTRY_POS_TOL_ERROR = e.g. 1 mm
MD 37130: GANTRY_POS_TOL_REF = e.g. 100 mm
(max. misalignment)
MD 37140: GANTRY_BREAK_UP =0
Axis 3
MD 37100: GANTRY_AXIS_TYPE = 11
MD 37110: GANTRY_POS_TOL_WARNING =0
MD 37120: GANTRY_POS_TOL_ERROR = e.g. 1 mm
MD 37130: GANTRY_POS_TOL_REF = e.g. 100 mm
(max. misalignment)
MD 37140: GANTRY_BREAK_UP =0
Reference point machine data (for first encoder in each case)
Axis 1
MD 34000: REFP_CAM_IS_ACTIVE = TRUE
MD 34010: REFP_CAM_DIR_IS_MINUS = e.g. FALSE
MD 34020: REFP_VELO_SEARCH_CAM =
MD 34030: REFP_MAX_CAM_DIST = corresponds to max.
traversing distance
MD 34040: REFP_VELO_SEARCH_MARKER =
MD 34050: REFP_SEARCH_MARKER_REVERSE = e.g. FALSE
MD 34060: REFP_MAX_MARKER_DIST = Difference betw. cam edge
and 0 mark
MD 34070: REFP_VELO_POS =
MD 34080: REFP_MOVE_DIST =0
MD 34090: REFP_MOVE_DIST_CORR =0
MD 34092: REFP_CAM_SHIFT =0
MD 34100: REFP_SET_POS =0
MD 34200: ENC_REFP_MODE =1
The reference point machine data (for the first encoder)
of axis 3 must be specified analogously.
7 4 0
x x 1 0 x x x x
The NCK sets the following as a confirmation in the axis block of axis 1:
DB31, ... ; DBB101:
7 4 0
1 1 0 0 0 0 x x
7 4 0
x x x 0 x x x x
The NCK sets the following as a confirmation in the axis block of axis 3:
DB31, ... ; DBB101:
7 4 0
1 0 0 0 0 0 x x
7 4 0
1 1 0 1 0 0 x x
4. RESET
5. Value read-off in machine coordinate system:
e.g. X = 0.941
Y = 0.000
XF = 0.000
REFP_MOVE_DIST_CORR = – 0.941
Note
This MD is effective after power ON. To avoid having to perform a power ON
now, the value can also be entered in MD 34080 REFP_MOVE_DIST. The MD
is then valid after a RESET.
7. Start referencing again for axis 1 (master axis) with the modified machine
data
8. Wait until message “10654 Channel 1 Waiting for synchronization start”
appears.
At this point in time, the NCK has prepared axis 1 for synchronization and
signals this state at the IS (DB31, ... ; DBB101 with:
7 4 0
1 1 0 1 0 0 x x
A1 A3 A1 A3
R’ > < R”
Case A Case B
Procedure
– Set MD 37120: GANTRY_POS_TOL_ERROR to a high value
initially for all axes.
– Assign a very small value to MD 37110: GANTRY_POS_TOL_WARNING.
Now, if you expose the axes to high-dynamic loads, the self-clearing alarm:
“10652 Channel %1 axis %2 Gantry warning limit exceeded”
should be output repeatedly.
– Now increase the setting in MD 37110: GANTRY_POS_TOL_WARNING until
the alarm no longer appears. The interface indicates the status specified
below. (This must happen in a window suitable for production.)
If monitoring is still only very sporadic, an edge flag can be programmed
in the user PLC program.
7 4 0
1 1 1 0 0 0 x x
– Enter the value obtained for the warning limit + a small safety margin in
MD 37120: GANTRY_POS_TOL_ERROR.
Error limit values The ratios between the values stored in machine data
MD 37110: GANTRY_POS_TOL_WARNING
MD 37120: GANTRY_POS_TOL_ERROR
MD 37130: GANTRY_POS_TOL_REF
should be as follows at the end of the adjustment process:
GANTRY_POS_TOL_WARNING
GANTRY_POS_TOL_ERROR
GANTRY_POS_TOL_REF
The system expects the error windows to have the proportions shown above. If
the value of GANTRY_POS_TOL_ERROR or GANTRY_POS_TOL_REF is
smaller than GANTRY_POS_TOL_WARNING, this monitoring is not active!
Set GANTRY_POS_TOL_WARNING to 0 to deactivate warning limit monitoring.
The maximum possible LEC value must be set in GANTRY_POS_TOL_REF.
Note
The same procedure must be followed when starting up a gantry grouping in
which the coupled axes are driven by linear motors and associated measuring
systems.
Note
The error limits entered in MD 37110: GANTRY_POS_TOL_WARNING and
MD 37120: GANTRY_POS_TOL_ERROR are considered as additional
tolerance values of the actual-value difference of the master and following axis
if the IS “Gantry is synchronous” is not present (e.g. to be resynchronized after
canceling alarms without gantry).
7.3 Alarms
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, Diagnostics Guide
or in the Online help.
J
Notes
Brief Description 1
This description explains the relationships and machine data of the various
system cycles of the NC:
810D and 840D For SINUMERIK 840D and SINUMERIK 810D, the position control cycle and
the interpolator cycle (IPO cycle) are derived from the system basic cycle, which
is set in the machine data of the NC.
840Di For SINUMERIK 840Di, the position control cycle and the interpolator cycle are
derived from the system basic cycle. The system basic cycle is not set via the
machine data of the NC, but set the same as the isochronous DP cycle TDP set
in the S7 project during the creation of the configuration.
J
Notes
Detailed Description 2
2.1 General information about cycle times
Required The system clock cycle, position-control cycle and interpolator cycle are defined
in the following machine data.
MD 10050: SYSCLOCK_CYCLE_TIME System clock cycle
MD 10060: POSCTRL_SYSCLOCK_TIME_RATIO Factor for position-control
cycle
MD 10070: IPO_SYSCLOCK_TIME_RATIO Factor for interpolator
cycle
MD 10050: SYSCLOCK_CYCLE_TIME sets the system clock cycle for the
system software in seconds. The other cycles are multiples of the system clock
cycle.
* *
MD: POSCTRL_SYSCLOCK_TIME_RATIO MD: IPO_SYSCLOCK_TIME_RATIO
Note
MD 10050: SYSCLOCK_CYCLE_TIME
The system clock cycle is entered in seconds.
MD 10060: POSCTRL_SYSCLOCK_TIME_RATIO
The position control cycle is entered as a factor of the system clock cycle.
MD 10070: IPO_SYSCLOCK_TIME_RATIO
The interpolator cycle is entered as a factor of the system clock cycle.
Default values The default settings ensure that a maximum configuration of the system can
for cycle times power up reliably. The cycle times, e.g. for the NCU 573, can generally be set to
lower values.
The default cycle times are as follows:
General example The machine data assignments for cycle times are as follows:
for cycle settings
If MD ... = ... then ... = ...
SYSCLOCK_CYCLE_TIME = 0.002 System clock cycle = 2 ms
POSCTRL_SYSCLOCK_TIME_RATIO = 1 Position-control cycle = 2 ms
(1 2 ms)
IPO_SYSCLOCK_TIME_RATIO = 3 Interpolator cycle = 6 ms (3 2 ms)
Interpolator cycle The interpolator cycle defines the cycle time in which the setpoint interface to
the position controllers is updated. The interpolator cycle is important for two
reasons in normal processing:
Position control The position-control cycle is the time which it takes for the control to calculate
cycle the actual value and transfer a new speed setpoint to the speed controller.
Block cycle time The block cycle time is the sum of the block change time and block preparation
time. It is at least as long as the cycle time for sending the position setpoints to
the servos - in normal operation therefore as long as the interpolator cycle.
The block cycle time is a common form of measurement used to judge whether
the control is suitable for traversing contours defined in points (frequent problem
with 3 and 5-axis milling). It determines the maximum possible velocity at which
a defined point pattern can be traversed (max. feedrate = average distance
between points/block cycle time).
Setting the IPO The interpolator and position-control cycles are set in integer multiples of the
cycle and system clock cycle in the following machine data:
position control
cycle
Position control cycle
POSCTRL_SYSCLOK_TIME_RATIO +
System clock cycle
Interpolator cycle
IPO_SYSCLOK_ TIME_RATIO +
System clock cycle
Interpolator cycle
w 1
Position control cycle
Actual values At time TI, the current actual values are read from all isochronous drives (DP
slaves). In the next DP cycle, the actual values are transferred to the DP master
in the time TDX.
Position controller The NC position controller is started at the time TM, with TM > TDX, and
computes the new speed setpoints on the basis of the transferred actual
positions.
Setpoints At the start of the next DP cycle, the speed setpoints are transferred from the
DP master to the DP slaves (drives) in the time TDX.
At time TO, the speed setpoints are taken as new specified values for all drive
controllers.
TMAPC = TDP
NC:
Master or position TM
controller R
TDX TDX
1 2
Speed
controller cycle
Drives:
R R R R R R R R R R R R R R R R
DP slave: 1 to 3
TI TO
Fig. 2-2 Optimized DP cycle with 3 DP slave with a SIMODRIVE 611 universal
TDX Data exchange time: Total transfer time for all DP slaves
RES Reserve: “active break” until the equidistant cycle has elapsed
1
The actual values for the current DP cycle / position control cycle
are transferred from the DP slave drives to the NC position controller
2
The setpoints computed by the NC position controller are transferred
to the DP slave drives
Cycle times The NC derives the cycle times, system clock cycle, position-control cycle and
interpolator cycle from the equidistant PROFIBUS-DP cycle set in the SIMATIC
S7 project during configuration of the PROFIBUS.
System basic cycle The system clock cycle is set to the fixed ratio 1:1 with respect to the
PROFIBUS-DP cycle. It cannot be changed.
Position control The position control cycle is set to the fixed ratio 1:1 with respect to the system
cycle basic cycle. It cannot be changed.
Interpolation cycle The interpolator cycle can be freely selected as an integer multiple of the
position control cycle.
Position control The offset for the position-control cycle (TM) is set independently of the
cycle offset conditions described below within a PROFIBUS-DP/system cycle and
independently of the cyclic communication with the DP slave.
TDP
TM TPos
NC:
R R R
Position controller
TDX
DP slaves: R R
R R R
R R R
R R R
R R R
R R R
R R R
R R R
R R R
R R R
R R R
R R R
R R R
R R R
R R
R
R
Drives
R CPU time
RES Reserve: “active break” until the equidistant cycle has elapsed
S t=1
The position control cycle offset selected is too small. Cyclic PROFIBUS-DP
communication with the drives was not completed before the position
controller started.
Increase the position-control cycle offset.
S t=2
The position control cycle offset selected is too large. Cyclic PROFIBUS-DP
communication with the drives started before the position controller had
finished. The position controller requires more computation time than is
available in the PROFIBUS-DP cycle.
– Decrease the position-control cycle offset
Or
– Increase the PROFIBUS-DP cycle.
The PROFIBUS-DP cycle must be set in the SIMATIC S7 project.
S In this machine data, alarm requests on the PROFIBUS level are stored
even after reboot.
If a conflict occurs during startup between the machine data
– MD 10050: SYSCLOCK_CYCLE_TIME (system clock cycle)
– MD 10060: POSCTRL_SYSCLOCK_TIME_RATIO (factor for
position-control cycle)
Special features The following special points must be observed for cycle-specific machine data:
Caution
! If you change the cycle times, check the behavior of the drive in all operating
modes before you finish commissioning.
Note
The smaller the cycle times (PROFIBUS DP cycle) chosen, the greater the
control quality for the drive and the better the surface quality on the workpiece.
Notes
Supplementary Conditions 3
None
10050 SYSCLOCK_CYCLE_TIME
MD number System clock cycle
Default setting: 0.004 for the 840D Minimum input limit: 0.000125 Max. input limit: 0.032 for the 840D
Default setting: 0.002 for the 840Di Max. input limit: 0.008 for the 840Di
Changes effective after POWER ON Protection level: 2 / 7 Unit: s
Data type: DOUBLE Applies as of SW: 1.1 SW 6.4 and higher PROFI-
BUS
Meaning: Clock cycle of the system software, i.e. the unit of time after
which time interrupts are triggered in the operating system.
The interpolator and position control cycle/IPO settings are multiples of this system
clock cycle. The system clock cycle corresponds to the position control cycle if
MD 10060: POSCTRL_SYSCLOCK_TIME_RATIO is not set higher than 1.
10059 PROFIBUS_ALARM_MARKER
MD number Profibus alarm marker (internal only)
Profibus adpt.: 0.0 Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 0 / 0 Unit: –
Data type: BYTE Applies as of SW: 5.2
Meaning: PROFIBUS alarm flag:
Alarm requests at PROFIBUS level are stored in this machine data even after a reboot.
If a conflict is found between machine data
MD 10050 SYSCLOCK_CYCLE_TIME, MD 10060 POSCTRL_SYSCLOCK_TIME_RATIO,
MD 10070 IPO_SYSCLOCK_TIME_RATIO and the data in SDB1000, the machine data
are adapted according to SDB1000 and a corresponding alarm is set during the next
start-up.
These alarm requests are stored here.
Related to .... MD 10050: SYSCLOCK_CYCLE_TIME, MD 10060 POSCTRL_SYSCLOCK_TIME_RATIO
10060 POSCTRL_SYSCLOCK_TIME_RATIO
MD number Factor for position-control cycle
Default setting: 1 Minimum input limit: 1 Maximum input limit: 31 for the 840D
Max. input limit: 1 for the 840Di
Changes effective after POWER ON Protection level: 2 / 7 Unit:
Factor MD 10050
Data type: DWORD Applies as of SW: 1.1
Meaning: The position-control cycle is entered as a multiple of the time units of the system clock
cycle of MD 10050: SYSCLOCK_CYCLE_TIME.
The normal setting is 1. The position-control cycle then corresponds to the system clock
cycle.
Settings which are > 1 use up more computing time for the processing of additional time
interrupts by the operating system and should therefore only be used if the system has to
execute a task which needs to run faster than the position-control cycle.
If a digital drive is being used, the value set for the position-control cycle can change be-
cause of an automatic correction on startup. This is accompanied by alarm 4101 “Position-
control cycle for digital drive reduced to [ ] ms”. The position-control cycle may not be set
longer than 16ms when using a digital drive.
For systems with PROFIBUS DP connection, machine data MD 10060 indicates the ratio
for the PROFIBUS DP cycle and the position-control cycle.
Related to .... MD 10050: SYSCLOCK_CYCLE_TIME, MD 10080 SYSCLOCK_SAMPL_TIME_RATIO
10061 POSCTRL_CYCLE_TIME
MD number Position control cycle
Default setting: 0.0 Minimum input limit: – Maximum input limit: –
Changes effective after POWER ON Protection level: 0 / 7 Unit: –
Data type: DOUBLE Applies as of SW: 5
Meaning: Position-control cycle Display of the position-control cycle time (cannot be modified !).
Formed internally from the machine data SYSCLOCK_CYCLE_TIME and
POSCTRL_SYSCLOCK_TIME_RATIO.
Related to .... MD 10050: SYSCLOCK_CYCLE_TIME, MD 10060 POSCTRL_SYSCLOCK_TIME_RATIO
10062 POSCTRL_CYCLE_DELAY
MD number Position-control cycle offset
Default setting: 0.003 for the 840D Minimum input limit: 0.000 Max. input limit: 0.008 for the 840D
Default setting: 0.0015 for the 840Di Profibus adpt.: 0.000 Max. input limit: 0.008 for the 840Di
Changes effective after POWER ON Protection level: 2 / 7 Unit: s
Data type: DOUBLE Applies as of SW: 5
Meaning: NCK position-control cycle time offset compared to PROFIBUS DP cycle
Related to .... MD 10050: SYSCLOCK_CYCLE_TIME, MD 10080: SYSCLOCK_SAMPL_TIME_RATIO
10070 IPO_SYSCLOCK_TIME_RATIO
MD number Factor for interpolator cycle
Default setting: 4 for 840Di Minimum input limit: 1 Maximum input limit: 100
3 for 840D 2-channel
5 for 840D 10-channel
Changes effective after POWER ON Protection level: 2 / 7 Unit:
Factor MD 10050
Data type: DWORD Applies as of SW: 1.1
Meaning: The interpolator cycle is entered as a multiple of the time units of the system clock cycle
MD 10050: SYSCLOCK_CYCLE_TIME.
Only integer multiples of the position-control cycle may be set (set via MD 10060:
POSCTRL_SYSCLOCK_TIME_RATIO). Values that are not an integer multiple of the posi-
tion-control cycle are automatically rounded up to the next integer multiple of the position-
control cycle before they become active (next POWER ON). This is accompanied by the
alarm 4102 “IPO cycle increased to [ ] ms”.
The values set in the NCU-link group must be identical for all linked NCUs. This additional
requirement is omitted if the NCU-link option is present with a different interpolator cycle.
Related to .... MD 10050: SYSCLOCK_CYCLE_TIME, MD 10060 POSCTRL_SYSCLOCK_TIME_RATIO
10071 IPO_CYCLE_TIME
MD number Interpolator cycle
Default setting: 0.0 Minimum input limit: *** Maximum input limit: ***
Changes effective after POWER ON Protection level: 0 / 7 Unit: s
Data type: DOUBLE Applies as of SW: 5
Meaning: Display of the interpolator cycle time (cannot be modified!).
Generated internally from MD 10050: SYSCLOCK_CYCLE_TIME and
MD 10070: IPO_SYSCLOCK_TIME_RATIO.
Related to .... MD 10050: SYSCLOCK_CYCLE_TIME, MD 10060 POSCTRL_SYSCLOCK_TIME_RATIO
10080 SYSCLOCK_SAMPL_TIME_RATIO
MD number Division factor of position-control cycle for actual-value acquisition
Default setting: – Minimum input limit: 1 Maximum input limit: 31
No meaning for 840Di
4 for 840D 2-channel
5 for 840D 10-channel
Changes effective after POWER ON Protection level: 0 / 0 Unit: –
Data type: DWORD Applies as of SW: SW1, SW 6.4 and higher PRO-
FIBUS
Meaning: This machine data sets the division factor of a cycle divider, which is hardware located
between the measured value sampler and the interrupt controller.
MD 10080: SYSCLOCK_SAMPL_TIME_RATIO
may only be set to values > 1
subject to observance of the conditions described in the special cases.
Produce a larger increment, in which the time for the system clock cycle can
also be set (see MD 10050: SYSCLOCK_CYCLE_TIME).
If a digital drive controller and systems with PROFIBUS-DP connection are used, the divi-
sion factor is set automatically (see special cases).
Special cases, errors, ... 1. Using an analog speed interface
... When using this conventional drive interface, the division can be set according to the follo-
wing criteria:
It is beneficial for the control to keep the deadtime between reading the current
actual axis position and outputting the associated setpoints as short as possible.
The SIMODRIVE 611 digital drive can synchronize its own clock generation to these val-
ues.
11250 PROFIBUS_SHUTDOWN_TYPE
MD number PROFIBUS shutdown handling
Default setting: 0 Minimum input limit: 0 Maximum input limit: 2
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: BYTE Applies as of SW: SW 6.3
Meaning: Handling the PROFIBUS DP on shutdown of the NCK (NCK reset)
Value 0:The bus is deactivated directly from within cyclic mode, without pre-warning
Value 1: In the event of an NCK shutdown, the PROFIBUS DP is first set to the CLEAR
status for at least 20 clock cycles before it is deactivated. If this is not possible
on account of the hardware, the procedure is as for value 2.
37600 PROFIBUS_ACTVAL_LEAD_TIME
MD number Actual-value acquisition time (PROFIBUS Ti)
Default setting: 0.000125 Minimum input limit: 0.0 Maximum input limit: 0.032
Changes effective after POWER ON Protection level: 0 / 0 Unit: s
Data type: DOUBLE Applies as of SW: 6.1
Meaning: Date and setting of the setpoint transfer time (Ti) of the PROFIBUS encoder
Unit: Seconds, default is thus 125µs
(this is also the default set by Step 7 on a SIMODRIVE 611 universal)
Special cases, errors, ... Caution:
... The actual Ti value is read directly from the PROFIBUS configuration or the drive if pos-
sible.
In this case, the value of the machine data is converted to a display machine data machine
data according to its commenting. Its value is automatically set to Ti.
Related to .... –
37602 PROFIBUS_OUTVAL_DELAY_TIME
MD number Setpoint delay time (PROFIBUS To)
Default setting: 0.003 Minimum input limit: 0.0 Maximum input limit: 0.032
Changes effective after POWER ON Protection level: 0 / 0 Unit: s
Data type: DOUBLE Applies as of SW: 6.3
Meaning: Date and setting of the setpoint transfer time (To) of the PROFIBUS encoder
Unit: Seconds, default is thus 3ms
Special cases, errors, ... Caution:
... The actual To value is read directly from the PROFIBUS configuration
or the drive if possible.
In this case, the value of the machine data is converted to a display machine data machine
data according to its commenting. Its value is automatically set to To.
Related to .... –
Notes
Signal Descriptions 5
None
Example 6
None
Notes
7.2 Alarms
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, Diagnostics Guide
or in the Online help.
J
Notes
Notes
Brief Description 1
1.1 Contour tunnel monitoring
Definition The absolute movement of the tool tip in space is monitored. The function is
channel-specific (see Chapter 3).
Model A round tunnel with a definable diameter is defined around the programmed
path of a machining operation. Axis movements are stopped as an option if the
path deviation of the tool tip is greater than the defined tunnel as the result of
axis errors.
S An alarm is triggered when the tunnel is violated and the axes continue to
traverse or
S Violation of the tunnel triggers an alarm and the axis movements are
decelerated.
Deceleration When the monitoring tunnel is violated, deceleration can be performed either
methods
S Along a braking ramp or
S With speed setpoint zero and follow-up mode.
Application The function can be used for 2D and 3D paths. On 2D paths, the monitoring
area is defined using lines in parallel with the programmed path.
The monitoring area is defined using 2 or 3 geometry axes.
Other axes Monitoring of synchronized axes, positioning axes, etc. that are not geometry
axes is performed directly on the machine axis plane with the “Contour
monitoring” function already implemented in SW 1.0.
Z
Contour (path of the tool tip)
Permissible tolerance
Y
Fig. 1-1 Position of the contour tunnel around the programmed path
Fig. 1-1 is a diagram of the monitoring area shown by way of a simple example.
As long as the calculated actual position of the tool tip remains inside the
sketched tunnel, motion continues in the normal way. If the calculated actual
position violates the tunnel, an alarm is triggered (in the default setting) and the
axes are stopped with a ramp. This response to the violation of the tunnel can
be disabled (alarm triggered but movement continued) or intensified (rapid stop)
by means of a machine data setting.
Analysis The calculated distance between the programmed path and the actual values
can be routed to an analog output to analyze the progression of the contour
errors during normal operation (quality control).
Alternative As an alternative to the function described in Section 1.1, i.e. monitoring of the
machining accuracy and stopping machining if excessive deviations occur,
another function is offered as from SW 3.2. With this function, the selected
accuracy is always achieved with the path velocity being reduced if necessary.
For details of this function, please see Section 2.2.
J
Notes
Detailed Description 2
2.1 Contour tunnel monitoring
Aim of the The aim of the monitoring function is to stop the movement of the axes if axis
monitoring deviation causes the distance between the tool tip (actual value) and the
function programmed path (setpoint) to exceed a defined value (tunnel radius).
Tunnel size The radius of the contour tunnel being monitored around the programmed path
must be defined to implement the monitoring function. It is specified in
MD21050: $MC_CONTOUR_TUNNEL_TOL.
If the MD is set to 0.0, monitoring is not performed. The value of the MD is
transferred to the control for new configurations.
Parameterizable The deceleration behavior for the monitoring response can be set via the
deceleration following MD: MD21060: $MC_CONTOUR_TUNNEL_REACTION.
behavior 0: Display alarm and continue machining
1: Deceleration according to the deceleration ramps (default setting)
2: Rapid stop (speed setpoint = 0)
Encoder Switching between two encoder systems usually causes a sudden change in
switchover the actual position of the tool tip. This change resulting from encoder switchover
must not be so large as to cause the tool tip to violate the monitoring tunnel.
The radius set in MD: $MC_CONTOUR_TUNNEL_TOL must be greater than
the permissible tolerance for the actual-value encoder switchover in MD:
$MA_ENC_CHANGE_TOL.
Initial situation There is always a velocity-dependent difference between setpoint and actual
position when an axis is traversed without feedforward control. This lag results
in inaccurate curved contours.
References: /PA/, Programming Guide Fundamentals
Function The “Programmable contour accuracy” function permits the user to specify a
maximum error for the contour in the NC program, which may not be exceeded.
The control calculates the KV factor (servo gain factor) for the axes concerned
and limits the maximum path velocity so that the contour error resulting from the
lag does not exceed the value specified. The Look Ahead function then ensures
that the velocity necessary for maintaining the required contour accuracy is not
exceeded at any point along the path.
Positioning axes The function does not affect the velocities of positioning axes.
Active feedforward The function is also operative in conjunction with active feedforward control if
control machine data MC_CPREC_WITH_FFW is set to TRUE. With active feedforward
control, the reduction of the path velocity is calculated on the basis of the
effective KV factor with feedforward control.
Minimum feed In order to avoid burn marks, the feed is limited only to the minimum value
stored in setting data $SC_MINFEED.
Activation The function can be switched on and off by means of the modal G codes
CPRECON and CPRECOF (Contour Precision ON/OFF).
The contour accuracy setting is entered in the new setting data
$SC_CONTPREC. Changes to the setting data become valid during
preprocessing.
RESET/ end of The response set for G code group 39 in machine data
program
– $MC_RESET_MODE_MASK
– $MC_START_MODE_MASK
becomes effective; i.e. nothing special applies to programmable contour
accuracy.
References: /FB/, K2, “Workpiece-Related Actual-Value System”
J
Notes
Supplementary Conditions 3
Parameterizable The deceleration behavior for the monitoring response is parameterized via the
deceleration following MD:
behavior MD21060: $MC_CONTOUR_TUNNEL_REACTION = <deceleration behavior>
With deceleration behavior = 1 and deceleration behavior = 2, deceleration is
always performed with rapid stop (speed setpoint = 0).
Coupled motion If coupled motion between two geometry axes is programmed with contour
tunnel monitoring, this always results in activation of the contour tunnel
monitoring.
In this case, the contour tunnel monitoring must be switched off before
programming the coupled motion:
MD21050: $MC_CONTOUR_TUNNEL_TOL = 0.0
21050 CONTOUR_TUNNEL_TOL
MD number Response threshold for contour tunnel monitoring
Default setting: 0.0 Minimum input limit: 0.0 Maximum input limit: ***
Changes effective after NEW_CONF Protection level: 2/4 Unit: mm
Data type: DOUBLE Applies as of SW: 2.0
Meaning: Response threshold for contour tunnel monitoring Indicates the radius of the tunnel set
around the tool tip path.
If three geometry axes have been defined, the tunnel may be set up like a tube through the
center of which the tool tip path runs.
If only two geometry axes have been defined, this tube appears in planographic format at
the level of the two geometry axes.
MD irrelevant for ...... Contour tunnel monitoring option not available
Related to .... CONTOUR_TUNNEL_REACTION, CONTOUR_ASSIGN_FASTOUT,
ENC_CHANGE_TOL
21060 CONTOUR_TUNNEL_REACTION
MD number Reaction to response of contour tunnel monitoring
Default setting: 1 Minimum input limit: 0 Maximum input limit: 2
Changes effective after POWER ON Protection level: 2/4 Unit: –
Data type: BYTE Applies as of SW: 2.0
Meaning: Reaction to activation of alarm
0: Display alarm only, continue machining
1: Ramp stop
2: Rapid stop
MD irrelevant for ...... Contour tunnel monitoring option not available
Related to .... CONTOUR_TUNNEL_TOL, CONTOUR_ASSIGN_FASTOUT
21070 CONTOUR_ASSIGN_FASTOUT
MD number Assignment of an analog output for contour error output
Default setting: 0 Minimum input limit: 1 Maximum input limit: 8
Changes effective after POWER ON Protection level: 2/4 Unit: –
Data type: BYTE Applies as of SW: 2.0
Meaning: Assignment of an analog input to which the contour error calculated can be output.
0: No output
1: Output to output 1
2: Output to output 2,
etc.
8: Output to output 8
A fault in the setting for the response threshold $MC_CONTOUR_TUNNEL_TOL appears
at the output as a 10 V voltage.
Multiple assignment of the same output by other signals is checked automatically.
MD irrelevant for ...... Contour tunnel monitoring option not available
Related to .... CONTOUR_TUNNEL_TOL, CONTOUR_TUNNEL_REACTION
20470 CPREC_WITH_FFW
MD number Progr. Contour accuracy
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: BOOLEAN Applies as of SW: 3.2
Meaning: This machine data is set to define the response of the programmable CPRECON function
in conjunction with feedforward control.
FALSE: The CPRECON function is inoperative if feedforward control is active simulta-
neously.
TRUE: CPRECON is also operative with feedforward control.
Related to .... $SC_CONTPREC, $SC_MINFEED
42450 CONTPREC
MD number Contour accuracy
Default setting: 0.1 Minimum input limit: 0.000001 Maximum input limit: 999999
Changes effective after POWER ON Protection level: 7 / 7 Unit: mm
Data type: DOUBLE Applies as of SW: 3.2
Meaning: Contour accuracy. You can use this setting data to specify the accuracy to be applied for
the path of the geometry axes on curved contours. The smaller the value and the smaller
the servo gain factor of the geometry axes, the higher the reduction in path feed on curved
contours.
Related to .... $MC_CPREC_WITH_FFW, $SC_MINFEED
42460 MINFEED
MD number Minimum path feed with CPRECON
Default setting: 1.0 Minimum input limit: 0.000001 Maximum input limit: 999999
Changes effective after POWER ON Protection level: 7 / 7 Unit: mm/min
Data type: DOUBLE Applies as of SW: 3.2
Meaning: Minimum path feed with active “contour accuracy” function. The feed is not reduced to be-
low this value unless a lower F value has been programmed or the value is not permitted by
the axis dynamics.
Related to .... $MC_CPREC_WITH_FFW, $SC_CONTPREC
Notes
Signal Descriptions 5
None
J
Example 6
6.1 Programmable contour accuracy
Cutout
N10 X0 Y0 G0
N20 CPRECON ; Activation of the contour accuracy defined using MD
N30 F10000 G1 G64 X100 ; Machining at 10 m/min in continuous-path mode
N40 G3 Y20 J10 ; Automatic limiting of feed in circle block
N50 G1 X0 ; Feed again 10 m/min
...
N100 CPRECOF ; Deactivation of programmed contour accuracy
N110 G0 ...
J
Notes
7.2 Alarms
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, Diagnostics Guide
or in the Online help.
J
Notes
Notes
Brief Description 1
Note
Due to function extensions for “coupled motion and master value coupling”, the
title of the Description of Functions has been changed to:
“Coupled axes and ESR”
ESR = Extended Stop and Retract
Any axis can be defined as a leading axis and a following axis traversed ac-
cording to a curve table.
The command variable in these motion sequences is an abstract master value,
which is generated by the control or derived from an external variable (e.g. po-
sition of an axis).
The master and slave axis are defined and activated/deactivated with the curve
table in the NC part program or using a synchronized action.
The curve tables in SRAM remain valid after the end of a part program or power
down.
Processing speed can be increased by loading the curve table from SRAM to
DRAM when the NC is powered up.
Axis groupings with curve tables must be reactivated independently of the stor-
age location of the curve table after POWER ON.
Linear curve table segments are stored in separate areas to save memory
space.
Curve tables Non-linear associations can also be implemented using curve tables (Sec-
tion 2.2, Page 3/M3/2-16).
Electronic gears can be cascaded, i.e. the following axis of an electronic gear
can be the leading axis for a further electronic gear.
Synchronous An additional function for synchronizing the following axis permits the following
position selection:
– Approach next division (tooth gap) time-optimized
– Approach next division (tooth gap) path-optimized
– Approach in positive direction of axis rotation, absolute
– Approach in negative direction of axis rotation, absolute
– Traverse time-optimized with respect to programmed synchronized posi-
tion
– Traverse path-optimized with respect to programmed synchronized posi-
tion
Application examples:
– Machine tools for gear cutting
– Gear trains for production machines
S Extended stop
Where possible, all axes involved in the electronic coupling are brought to a
normal standstill.
S Retract
The tool currently in use is retracted from the workpiece as quickly as
possible.
S Generator operation
In the event of a power outage, the electrical energy needed for retraction is
provided by additional backup capacitors in the DC link or by regenerative
braking using a specially provided drive operating in generator mode.
NC-controlled With NC-controlled stop and retract, the coupling remains active for a configur-
functions able time, unlike stop and retract under independent drive control.
Notes
Detailed Description 2
Note
2.1.1 Function
Coupled-axis The function: “Coupled motion” allows the definition of simple axis couplings.
grouping The coupling is performed from one leading axis to one or more following axes,
the so-called coupled-motion axes. A separate coupling factor can be specified
for each coupled-motion axis.
The leading axis and all the coupled-motion axes assigned to it together form a
coupled-axis grouping. If the leading axis is traversed, all coupled-motion axes
traverse in accordance with their coupling factors.
A coupled-axis grouping can consist of any combination of linear and rotary
axes.
Leading axes Any axis of the NC including simulated axes can be used as leading axis.
Y axis
Z axis
ÉÉ ÇÇ
ÉÉ ÇÇ
Axis V
ÇÇ Axis W
X axis
Multiple Up to two leading axes can be assigned to one coupled-motion axis. The tra-
couplings versing movement of the coupled-motion axis then results from the sum of the
traversing movements of the leading axes.
Coupled-motion A coupled-motion axis can, at the same time, be the leading axis of a further
axis as leading coupled-axis grouping.
axis
Coordinate system Coupled motion is always executed in the base coordinate system (BCS).
Activation/deacti- Coupled motion can be activated/deactivated via part programs and synchro-
vation nized actions. It must be ensured that the coupled motion is deactivated via the
same programming with which it was activated:
S Activation: Part program –> Deactivation: Part program
S Activation: Synchronized action –> Deactivation: Synchronized action
Synchronization If the activation is performed while the leading axis is in motion, the coupled-mo-
on-the-fly tion axis is first accelerated to the velocity corresponding to the coupling. The
position of the leading axis at the time the velocities of the leading and coupled-
motion axes are synchronized then serves as the start position for further
coupled motion.
Operating modes Coupled motion is effective in the modes: AUTOMATIC, MDA and JOG.
S Leading axes
When referencing the leading axis of a coupled-axis grouping, the coupling
to all coupled-motion axes is retained. The coupled-motion axes move in
synchronism with the leading axis, as a function of their coupling factors.
S Alarm: “16772 Channel Channel no. Block Block no. Axis Axis no. is
following axis, coupling is opened.”
The coupling is not activated again until JOG/REF mode is canceled.
The display of this alarm can be suppressed using the following machine
data:
Caution
When the coupled-motion axis is referenced, the coupling to the leading axis is
canceled. If referencing is now executed immediately with the leading axis, i.e.
without changing the JOG/REF mode, the coupled-motion axis does not
traverse with the leading axis.
Delete Delete distance-to-go for a coupled-motion axis only results in the abort of the
distance-to-go: independent traversing movement of the leading axis.
Coupled-motion
axis
Initial settings Depending on the setting in MD 20112: START_MODE_MASK, the behavior will
be as follows:
Definition and Definition and activation of a coupled-axis grouping are performed simulta-
activation neously with the part program command:
TRAILON(<coupled-motion axis>, <leading axis>, [<coupling factor>])
Effective: Modal
Parameters: Coupled-motion axis, leading axis
Data type: AXIS
Value range: Axis identifier
Parameter: Coupling factor
Data type: REAL
Default value: 1
The ratio of the traversing movement of the coupled-motion axis to the lead-
ing axis is specified via the optional coupling factor:
Paths of the coupled axis
Coupling factor +
Paths of the leading axis
Deactivation The deactivation of the coupling of a coupled-motion axis to one leading axis is
performed via the part program command:
TRAILOF (coupled-motion axis, leading axis)
Deactivation of the coupling results in a preprocessing stop.
Note
An active coupling can also be deactivated from the PLC by means of an
ASUB.
References: /FB/, P3, “Basic PLC Program”
Example 1 Example of an NC part program for the axis constellation shown in Fig. 2-1:
TRAILON(Y,V,1) ;Activate coupled-axis grouping 1
TRAILON(Z,W,–1) :Activate coupled-axis grouping 2
G0 Z10 ;Infeed of Z and W axis in opposite
;axis direction
G0 Y20 ;Infeed of Y and V axes in same axis direction
:
G1 Y22 V25 ;Overlay a dependent and independent movement
: ;of coupled-motion axis “V”
:
TRAILOF(Y,V) ;Deactivate coupled-axis grouping 1
TRAILOF(Z,W) ;Deactivate coupled-axis grouping 2
:
Independent All relevant channel-specific and axis-specific interface signals of the coupled-
coupled-motion motion axis are effective for the independent motion of a coupled-motion axis,
axis e.g.:
– Activate DRF (DB21, ... DBX0.3),
– Feed override (DB31, ... DBX0.0 – 0.7),
– Axis disable (DB31, ... DBX1.3),
– Servo enable (DB31, ... DBX2.1),
– Activate handwheel (DB31, ... DBX4.0 – 4.2),
– Feed stop (DB31, ... DBX4.3), etc.
This allows the velocity to be changed for the independent motion of a coupled-
motion axis using a feed override or allows a DRF offset to be defined using the
handwheel in AUTOMATIC and MDA modes.
Dependent With respect to the motion of a coupled-motion axis, which is dependent on the
coupled-motion leading axis, only the coupled-motion axis interface signals that effect termina-
axis tion of the motion (e.g. axis-specific feed stop, axis inhibit, servo enable, etc.)
are effective.
Leading axis When a coupled-axis grouping is active, the interface signals (IS) of the leading
axis are applied to the appropriate coupled-motion axis via the axis coupling,
i.e.
S A position offset or feed control action of the leading axis is applied via the
coupling factor to effect an appropriate position offset or feed control action
in the coupled-motion axis.
Position Switchover of the position measuring system for the leading and coupled-mo-
measuring system tion axes is not inhibited for an active coupled-axis grouping. The coupling is not
1/2 (DB31, ... invalidated.
DBX1.5 / 1.6) Recommendation: Switch the measuring system over when the coupling is
deactivated.
Follow-up The follow-up mode for an axis is activated in the PLC user program by setting
DB31, ... DBB1.4 the NC/PLC interface signals:
DB31, ... DBB (servo enable) = 0
DBB31, ... DBB4.1 (follow-up mode) = 1
When activating follow-up mode for a coupled-axis grouping, the specified NC/
PLC interface signals must be set simultaneously for all axes (master and slave
axes) of the coupled-axis grouping.
If follow-up mode is activated for the master axis only, a permanent offset results
within the coupling.
The following NC/PLC interface signals and system variables can be used to
determine which axis, if any, is a master or slave axis:
DB31, ... DBB99.0 (master axis/spindle active)
DB31, ... DBB99.1 (slave axis/spindle active)
$AA_COUP_ACT[axis identifier] (see Subsection 2.1.4: Status of coupling)
Control dynamics It is recommended to align the position control parameters of the leading axis
and the coupled-motion axis within a coupled-axis grouping.
Note
The alignment of the position control parameters of the leading axis and the
coupled-motion axis can be performed via a parameter set changeover.
Status of coupling The coupling status of an axis can be determined using the following system
variable:
$AA_COUP_ACT[axis identifier]
$AA_COUP_ACT Meaning
0 No coupling active
1, 2, 3 Tangential follow-up
4 Synchronous spindle coupling
8 Coupled motion active
16 Master value coupling
32 Following axis of electronic gear
Note
Only one coupling mode may be active at any given time.
Distance-to-go: The distance-to-go of a coupled-motion axis refers to the total residual distance
Coupled-motion to be traversed from dependent and independent traversing.
axis
RESET response If with NC RESET or end of part program in a channel, the leading axis is not
stopped as well (cross-channel coupling, command axis, PLC axis, etc.), the
requested Reset cannot be completed.
Because of the traversing of the leading axis, the coupled-motion axis is still
active for the channel in which the Reset is requested. With suitable actions (NC
Reset in the channel of the leading axis, stopping of the command or PLC axis),
the leading axis must also be stopped in parallel to the coupled-motion axis.
Dynamic limit The dynamic limit is dependent upon the activation of the coupled-axis group-
ing:
S Part program
If the activation is performed in the part program, the dynamics of all
coupled-motion axes are taken into account so that no coupled-motion axis
is overloaded during the traversing of the leading axis.
S Synchronized action
If the activation is performed in a synchronized action, the dynamics of the
coupled-motion axes are not taken into account during the traversing of the
leading axis. This can result in an overload for coupled-motion axes with a
dynamic response which is less than that required for the coupling.
Caution
If a coupled-axis grouping is activated via synchronized actions, it is the special
responsibility of the user / machine manufacturer to provide suitable measures
to ensure that an overload of the coupled-motion axes does not occur through
the traversing of the leading axis.
Curve table A functional relation between a command variable “master value” and an ab-
stract following value is described in the curve table.
A following variable can be assigned uniquely to each master value within a
defined master value range.
Curve segment The functional relation can be subdivided into separate sections of the master
value axis, called curve segments.
Within a curve segment, the relation between the master value and following
value is generally described by a polynomial up to the third order.
In SW 6 and higher, polynomials up to the 5th degree are permissible. See also
References: /PGA/, Programming Guide Advanced.
Polynomial segments are required for curve tables when the following applies:
– Polynomials or circles are programmed
– Spline is active
– Compressor is active
– Polynomials or circles are generated internally (chamfer/rounding,
approximate positioning with G643, TRC etc.)
Tool radius Curve tables are available in which it is possible to specify the tool radius com-
compensation pensation in the table definition even if polynomial blocks or blocks with no mo-
tion for an axis, or jumps for the following axis, occur in the curve table
(G41/G42/G40 in the table definition).
Tool radius The equidistant curve (tool center point path of the tool radius compensation) of
compensation a curve consisting of polynomials can no longer be displayed exactly using
polynomials. The associated curve tables must be approximated stepwise using
polynomials in this case. This means that the number of segments in the curve
table no longer matches the number of programmed segments. The number of
segments required for the curve table is defined by the bend of the curve. The
larger the bend for the programmed curve, the more segments are required for
the curve table.
On account of the tool radius compensation for curve tables, more memory may
be required. The selection option for the memory type means that this need not
produce a shortage of SRAM memory, however.
The tool radius compensation can produce segments for which the following
axis or leading axis have no movement. Although a missing movement in the
following axis does not cause a problem, the same situation for the leading axis
must be solved by defining the behavior for handling discontinuities.
Machine data MD 20900: CTAB_ENABLE_NO_LEADMOTION can be set to
specify whether or not a curve table is created in this case. The following op-
tions are available:
0:
No curve tables that contain a jump in the following axis are produced. Alarm
10949 is output and program processing is aborted.
1:
Curve tables with a jump in the following axis can be generated. If a segment
contains a jump in the following axis, Alarm 10955 is output but program proc-
essing is continued.
2:
Curve tables with a jump in the following can be created without an alarm being
output.
Note
In the case of a curve table that contains segments without leading axis
movement (this means that the following axis jumps at this point), the following
axis can only make a jump within its dynamic limits (max. velocity and max.
acceleration). This means that there is always a deviation from the
programmed curve.
Defining the It is possible to specify the memory type to be used for creating the curve table
memory type for when defining the curve table. The following options are available:
curve tables – SRAM
– DRAM
Table definitions for SRAM type memory remain available following control
run-up. Curve tables for DRAM must be redefined following control run-up. Addi-
tional machine data have been provided for reserving space in the DRAM:
MD 20905: CTAB_DEFAULT_MEMORY_TYPE defines the memory type if no
memory type has been specified in the table definition (see below).
Storing curve tables in a variety of memory types entails an optional specifica-
tion of the memory type in delete calls for curve tables (see below).
Definition The following modal language commands work with curve tables
(you will find explanations of the parameters at the end of the list of functions):
Note
If the curve table functions such as CTAB(), CTABINV(), CTABSSV() etc., are
used in synchronized actions, only real-time variables, e.g.
$AC_PARAM[ ... ] or $R[ ... ] are allowed as the return value and the “degrees”
argument of the function.
Example:
ID=1 WHEN TRUE DO $R1 = CTABSSV(10, 1, $R2)
or
ID=1 WHEN TRUE DO $AC_PARAM[1] = CTABSSV(10, 1, $AC_PARAM[2])
Enable/cancel lock The following functions can be used to enable or cancel deletion and overwrite
locks for part programs:
As of SW 6.4 Other commands for calculating and differentiating between curve tables for
applications for diagnosing and optimizing the use of resources:
Note
If for example the sequence changes between consecutive calls of CTABID(),
CTABID(n, ...) can be used to supply a different curve table to that before the
change was made in the memory.
Edge values of Behavior of the leading axis/following axes on the edges of the curve table:
curve tables
S The value at the beginning of the curve table is read by a following axis.
CTABTSV(n, degrees, FAxis) Following value at the beginning of the
curve table
S The value at the end of the curve table is read by a following axis.
CTABTEV(n, degrees, FAxis) Following value at the end of the curve table
S The value at the beginning of the curve table is read by the leading axis.
CTABTSP(n, degrees, FAxis) Master value at the beginning of the curve
table
S The value at the end of the curve table is read by the leading axis.
CTABTEP(n, degrees, FAxis) Master value at the end of the curve table
Parameters
S Following axis:
Identifier of axis via which the following axis is programmed in the definition.
S Leading axis:
Identifier of axis via which the leading axis is programmed.
S n, m
Numbers for curve tables.
Curve table numbers can be freely assigned. They are used exclusively to
uniquely identify a curve table.
In order to delete a curve table area using the command CTABDEL(n, m), m
must be greater than n.
S p
Entry location (in memType memory area)
S applim:
Behavior at the curve table edges.
– 0 non-periodic (table is processed only once, even for rotary axes).
– 1 periodic, modulo (the modulo value corresponds to the LA table val-
ues).
– 2 periodic, modulo (LA and FA are periodic).
S Master value
Position value for which a following value is to be determined.
S Slave value
Position value for which a master value is to be calculated.
S aproxmastervalue
Position value that can be used to determine a unique master value in the
case of an ambiguous reversing function of the curve table.
S degrees
Parameter in which the pitch of the table function is returned.
S memType
Optional parameter for entering the memory type in which the curve table is
to be created.
Possible values:
“SRAM” Curve table created in static memory
“DRAM” Curve table created in dynamic memory.
If an invalid memType is entered, value –2 is returned.
If the parameter is omitted, then the memory type set via
MD 20905:CTAB_DEFAULT_MEMORY_TYPE takes effect.
S segType
Optional parameter for the specification of the segment type
Possible values
segType “L” linear segments
segType “P” polynomial segments
S The direction of motion of the leading axis must not reverse at any point in
the rule of motion, i.e. the position of the leading axis must always be unique
within the sequence of motions.
The programmed contour must not move vertical to the leading axis.
S Axis names from gantry axis groups cannot be used to define a table (only
leading axis are possible).
Axis assignment Does not take effect until coupling is activated with curve table.
Note
The dynamic limit values of the motion commands for a curve table are not
checked until activation or interpolation.
Starting value The first motion command in the definition of a curve table defines the starting
value for the master and following value.
All instructions that cause a preprocessing stop must be skipped.
Note
The value pairs between CTABDEF and CTABEND must be specified for
precisely the axis identifiers that have been programmed in CTABDEF as the
leading axis and following axis identifiers. In the case of programming errors,
alarms or incorrect contours may be generated.
Reading table With the program commands CTAB and CTABINV you can read off the following
positions value for a master value (CAB) from the part program and from synchronized
actions, or the reversal of the curve table, i.e. read off the master value for a
following value. You can use the pitch value to calculate the velocity of the follo-
wing axis or leading axis at any position in the table.
Reading segment The segment positions of a curve table for the value for the following axis can
positions be read using the CTABSSV and CTABSEV calls.
The language commands CTABSSV and CTABSEV generally provide the start
and end values of the internal segments of the curve tables for the following
axis. These values only agree with the programmed values of the curve tables if
the programmed segments can be converted 1:1 to the internal segments of the
curve table. This is always the case if only G1 blocks or axis polynomials are
used to define the curve tables and no other functions are active.
The programmed segments may be modified when converted to the internal
segments of the curve tables in the following cases:
1. Circles or involutes are programmed
2. Chamfer or rounding is active (CHF, RND)
3. Smoothing with G643 is active
4. Compressor is active (COMPON, COMPCURV, COMPCAD)
5. Tool radius compensation is active for polynomial interpolation.
In these cases, the language commands CTABSSV and CTABSEV may not be
used to query the start and end points of the programmed segments.
CTABINV When using the inversion function for the curve tables (CTABINV), you must
note that the following value mapped to the leading value may not be unique.
Within a curve table, the following value can assume the same value for any
number of master value positions. In order to resolve this ambiguity, the pro-
gram command CTABINV requires a further parameter, in addition to the follo-
wing value, which it uses to select the ’correct’ master value. CTABINV always
returns the master value that is closest to this auxiliary parameter. This auxiliary
value can, for example, be the master value from the previous interpolator
cycle.
Note
Although the auxiliary parameter permits calculation of a unique result for the
reversal function of the curve table, it should be noted that numerical
inaccuracies may give rise to contours, which can cause the reversal function
to produce results that deviate from those that would be obtained in a
calculation where the accuracy is unrestricted.
Optional The functions CTAB, CTABINV, CTABSSV and CTABSEV have optional param-
parameters eters for the leading and following axes. If one of these parameters is pro-
grammed, the master value and following value are modified using the scaling
factors of the relevant axes.
This is particularly important if axes have been configured with different length
units (inch/metric). If no optional parameters are programmed, the master value
and following value are treated as path positions in the conversion from external
to internal representation. This means that the values are multiplied according
to the configured resolution (decimal places) and the remaining decimal places
truncated.
Determining the Example of reading the segment starting and end values for determining the
segment curve segment associated with master value X = 30 using CTABSSV and
associated with CTABSEV:
master value X N10 DEF REAL STARTPOS ;Start of definition for start and
N20 DEF REAL ENDPOS ;start position of curve table
N30 DEF REAL GRADIENT ;
... ;
N100 CTABDEF(Y, X, 1, 0) ;Start of table definition
N110 X0 Y0 ;Start position, 1st table segment
N120 X20 Y10 :End position, 1st table segment = Start
N130 X40 Y40 ;position 2nd table segment ...
N140 X60 Y10 ;3rd curve segment ...
N150 X80 Y0 ;4th curve segment ...
N160 CTABEND ;End of table definition
... ;
N200 STARTPOS = ;
CTABSSV(30.0, 1, GRADIENT) ;Start position Y in segment 2 = 10.
... ;
N210 ENDPOS = ;End position Y in segment 2 = 40.
CTABSEV(30.0, 1, GRADIENT) ;Segment 2 is associated with MV X = 30.0
End
40
N130 N140
20
N120 N150
Start
0
0 20 40 60 80 X
X=30
Fig. 2-2 Determining the curve segment associated with master value X = 30
Reading values at The values of the following axes and also the master axis at the start and end of
start and end a curve table can be read with the following calls:
R10 =CTABTSV(nth degree, FAxis Following value at start of table
R10 =CTABTEV(nth degree, FAxis)Following value at end of table
R10 =CTABTSP(nth degree, LAxis Master value at start of table
R10 =CTABTEP(nth degree, LAxis Master value at end of table
Value range of The following example illustrates how the minimum and maximum values of the
following value table are determined using CTABTMIN and CTABTMAX:
N10 DEF REAL STARTVAL ;Start of definition for start and
N20 DEF REAL ENDVAL ;start values of curve table
N30 DEF REAL STARTPARA :
N40 DEF REAL ENDPARA ;
N50 DEF REAL MINVAL ;
N60 DEF REAL MAXVAL ;
N70 DEF REAL GRADIENT ;
... ;
N100 CTABDEF(Y, X, 1, 0) ;Start of table definition
N110 X0 Y10 ;Start value, 1st table segment
N120 X30 Y40 :End position, 1st table segment = Start
N130 X60 Y5 ;position 2nd table segment ...
N140 X70 Y30 ;3rd curve segment ...
N150 X80 Y20 ;4th curve segment ...
N160 CTABEND ;End of table definition
... ;
N200 STARTPOS = ;STARTPOS = 0
CTABTSV(1, GRADIENT) ;Start position of table and
N210 ENDPOS = ;ENPOS = 20
CTABTEV(1, GRADIENT) ;end position of table
N220 STARTPARA = ;STARTPARA = 10
CTABTSP(1, GRADIENT) ;Master value at start of curve table
N230 ENDPARA = ;ENDPARA = 80
CTABTEP(1, GRADIENT) ;Master value at end of curve table
... ;Read from value range of following axis
N240 MINVAL = CTABTMIN(1) ;Minimum value if Y = 5 and
N250 MAXVAL = CTABTMAX(1) ;Maximum value if Y = 40
40 Maximum value
N120
N130 N150
20
End value
N140
Starting value
Minimum value
0
0 20 40 60 80 X
Fig. 2-3 Determining the minimum and maximum values of the table
S in a part program or
S in the definition of a synchronized action.
Multiple use A curve table can be used several times in a single part program to couple dif-
ferent channel axes.
Special cases with When an axial master value coupling is active, the position of the following axis
modulo master via a curve table is unique, i.e. an absolute assignment to the master axis ex-
axes ists.
This means that, when a modulo rotary axis is used as the master axis, the po-
sition of the master axis is absolute. In other words, the position of the modulo
rotary axis entered in the curve table is absolute, and not modulo-reduced.
Example:
Let the position of a modulo rotary axis with LEADON be 210 degrees. The po-
sition 210 degrees is used as the starting value in the curve table.
After one rotation of the modulo axis, the axis position is displayed again as 210
degrees. However, the starting value entered in the curve table is 210 degrees
plus 1 rotation (360 degrees) = 570 degrees.
Memory usage The memory available in SRAM and DRAM (SW 6.4 and higher) for the curve
tables is limited.
SRAM
MD 18400: MM_NUM_CURVE_TABS specifies the number of curve tables that
can be stored in SRAM.
DRAM
MD 18406: MM_NUM_CURVE_TABS_DRAM specifies the number of curve
tables that can be stored in DRAM.
MD 18408: MM_NUM_CURVE_SEGNENTS_DRAM specifies the number of
curve table segments that can be stored in DRAM.
MD 18410: MM_NUM_CURVE_POLYNOMS_DRAM specifies the number of
curve table polynomials that can be stored in DRAM.
MD 18409: MM_NUM_CURVE_SEG_LIN_DRAM specifies the maximum num-
ber of linear segments in DRAM.
Memory For a curve table, linear segments can only be stored efficiently in the memory,
optimization when the relevant MD 18403: MM_NUM_CURVE_SEG_LIN for tables in SRAM
or MD 18409: MM_NUM_CURVE_SEG_LIN_DRAM for tables in DRAM, is
greater than zero. If no memory area is created with these machine data, linear
segments are stored as polynomial segments requiring unnecessary space.
If memory has been configured for tables with linear and polynomial segments
via machine data and the memory for linear segments runs out when generating
a linear table, polynomial segments are used for this, if some are still available.
In this case, memory is “wasted”, as a polynomial segment requires an unnec-
essary amount of memory to store a linear segment. This condition is indicated
by a warning; alarm 10958 is output, with which the number of unnecessarily
used polynomial segments is also specified. This alarm only serves as a warn-
ing and does not result in the interruption of the program or the generation of
the curve table.
Preliminary table When a new curve table is created, a temporary curve table is set up first in
the memory and then extended block by block. On completion (CTABEND), the
table is checked for consistency. The temporary table is converted to a table
than can be used in a coupling only if it is found to be consistent.
Insufficient If there is insufficient memory available to create a new curve table, the tempo-
memory rary table is deleted again as soon as the appropriate alarm is activated.
If there is insufficient memory, one or more tables that is/are no longer required
can be deleted with CTABDEL or, alternatively, the memory re-configured via
the appropriate MD.
Same table A new curve table may have the same number as an existing table. The new
number curve table then overwrites the existing table with the same number. This is
done only if the new curve table does not contain any errors. If an error is de-
tected in the new table, the old table is not overwritten.
If the user wishes to have the option of overwriting an existing curve table with-
out deleting it first, then he will need to dimension the table memory so that
there is always enough extra memory to accommodate the table to be over-
written.
Overwriting curve Curve tables that are not active in a master value coupling and are locked with
tables CTABLOCK() may be overwritten.
Deleting curve Curve tables that are not active in a master value coupling and are locked with
tables CTABLOCK() may be deleted.
Activation An activated curve table is functional in the AUTOMATIC, MDA and JOG
modes.
Dependent With respect to the motion of a following axis that is dependent on the leading
following axis axis, only the following axis interface signals that effect termination of the motion
(e.g. axis-specific feed stop, axis inhibit, servo enable, etc.) are effective.
Leading axis When a coupled-axis grouping is active, the interface signals (IS) of the leading
axis are applied to the appropriate following axis via the axis coupling, i.e.
S A feed control of the leading axis causes a corresponding feed control of the
following axis.
Position Switchover of the position measuring system for the leading and following axes
measuring system is not inhibited for an active coupled-axis grouping. The coupling is not invali-
1/2 (DB31, ... dated.
DBX1.5 / 1.6)
Recommendation: Switch the measuring system over when the coupling is
deactivated.
S information about the assignment of resources for curve tables, table seg-
ments and polynomials.
One result of the diagnostic functions is that resources still available can be
used dynamically with the functions described in Subsection 2.2.2 without nec-
essarily having to increase the memory requirement. The description of the pa-
rameters in Subsection 2.2.2 also applies to the following functions.
a) Curve tables
S Determine the number of curve segments still possible in the memory type
CTABFNO(memType)
If memType is not specified, the memory type set in
MD 220905: CTAB_DEFAULT_MEMORY_TYPE applies.
Result:
>= 0 Number of tables still possible
–2 Memory type invalid
S Determine the table number of the pth table in the optionally specified
memory type
CTABID(p, memType)
If memType is not specified, the memory type set in
MD 22905: CTAB_DEFAULT_MEMORY_TYPE applies.
Result:
Table number or
alarm if p or memType invalid
When using the CTABID(p, memType) function, no assumptions should be
made regarding the sequence of the curve tables in the memory. The CTA-
BID(p, ...) function supplies the ID (table number) of the curve table entered in
the memory as the pth curve table.
If the sequence of the curve tables in the memory changes between consecu-
tive calls of CTABID(), e.g. due to the deletion of curve tables with CTABDEL(),
the CTABID(p, ...) function can supply a different curve table with the same
number.
To prevent this happening, the curve tables concerned can be locked using the
CTABLOCK(...) language command. In this case, please ensure that the curve
tables concerned are then unlocked with CTABUNLOCK().
c) Polynomials
Introduction Master value couplings are divided into axis and path master value couplings.
In both cases, the axis and path positions are defined by the control on the ba-
sis of master values (e.g. positions of another axis).
S If the leading axis is not interpolated by the same NCU, the interpolator that
is implemented in the NCU for this particular leading axis can be used for
master value simulation. Set IS_VIRTUAL_AX=1 in MD 30132.
Note
Setpoint coupling is the default setting for the master value object.
Virtual leading When switching over to master value coupling, the simulation can be pro-
axis/simulated grammed with the last actual value read, whereas the path of the actual value is
master value generally outside the control of the NCU.
If, for master value simulation, i.e. depending on MD 30132:
IS_VIRTUAL_AX=1, the master value object is switched from actual-value cou-
pling to setpoint value coupling and a traversing command issued for the lead-
ing axis in the same interpolator cycle, the interpolator for the axis is initialized
by the NCK so that the master value produces a constant path in the first der-
ivation.
S Separation of IPO and Servo
S Actual values of the axis are recorded
S Setpoint values are produced by IPO but not passed on to the servo motor.
With MD 30130: CTRLOUT_TYPE[n] defines the setpoint value output of the
axis type.
0: Simulated axis
1: Standard real axis
2: FM-NC stepper motor
3: Free
4: Path setpoint coupling (virtual axis) for external axes
Offset and scaling The setpoint value for the following axis can be shifted and scaled.
The setting data below are used for this:
S SD 43102: LEAD_OFFSET_IN_POS
S SD 43104: LEAD_SCALE_IN_POS
S SD 43106: LEAD_OFFSET_OUT_POS
S SD 43108: LEAD_SCALE_OUT_POS
If (x) is a periodic curve table and this is interpreted as vibration, the offset and
scaling can also be interpreted as follows:
S SD 43102: LEAD_OFFSET_IN_POS[Y]
offsets the phase of the vibration
S SD 43104: LEAD_SCALE_IN_POS[Y]
S SD 43106: LEAD_SCALE_OUT_POS[Y]
affects the amplitude
S SD 43108: LEAD_OFFSET_OUT_POS[Y]
offsets the center point of the vibration
If the coupling is activated and synchronous, the new set position is approached
as soon as values are written to these setting data.
$SA_LEAD_SCALE_IN_POS[FA] $SA_LEAD_SCALE_OUT_POS[FA]
The input value is multiplied. The output value is multiplied.
Setting data effective outside table
definition, even in negative direction.
FA FA
LA LA
CTABDEF(FA,LA,CTABNR,1)
LA=0 FA=0
LA=100 FA=100
CTABEND
With IN, SCALE is not active outside TAB! With OUT, SCALE is active outside TAB!
$SA_LEAD_OFFSET_IN_POS[FA] $SA_LEAD_OFFSET_OUT_POS[FA]
The calculated position of the leading The calculated position of the following
axis is offset by the increment specified. axis is offset by the increment specified. If
the TAB is offset outside the FA LEADON
position, the coupling cannot be activated.
Setting data effective outside table
definition, even in negative direction.
FA FA
LA LA
With IN, OFFSET is not active outside TAB! With OUT, OFFSET active outside TAB!
Fig. 2-5 Master value coupling offset and scaling (with increment offset)
Reaction to stop All master-value-coupled following axes react to channel stop and MODE
GROUP stop.
Master-value-coupled following axes react to a stop due to end of program
(M30, M02) if they have not been activated by static synchronized actions
(IDS=...). (Note MD 20110: RESET_MODE_MASK: MD 20112:
START_MODE_MASK).
Leading axis and following axis must always interpolate in the same channel. A
following axis in a different channel cannot be coupled (axis exchange).
START and mode change enable a following axis in the master value coupling
that has been stopped.
RESET also enables a stopped following axis in the master value coupling. If
enabling by RESET is not desired, or if it is dangerous (e.g. because the follo-
wing axis is coupled to an external master value not controlled by the NC),
MD 20110: RESET_MODE_MASK should be programmed so that the master
value couplings are deactivated on RESET (2001H, i.e. set bit 13 to 1).
Axial functions Actual value coupling causes a position offset between the leading and follo-
wing axis. This is due to the deadtime in the position controller between the ac-
tual value of the leading axis and the following axis necessitated by the IPO
cycle.
By default, the position offset and following error are compensated by means of
linear extrapolation of the master value by this deadtime. Machine data
MD 37160: LEAD_FUNCTION_MASK Bit 0 = 0 deactivates deadtime com-
pensation for master value coupling.
Interface to axis A master-value-coupled following axis receives its setpoint values from curve
exchange tables. Overlaid programming of this axis is not possible in the part pro-
gram. Therefore, the master-value-coupled following axis is removed from the
channel in the same way as for axis exchange. This is carried out automatically
when the coupling is activated in the part program.
If the coupling is to be activated with synchronized actions, it must be prepared
beforehand with RELEASE, otherwise the alarm 16777 “Channel %1 block %2
master value coupling: Following axis %3 no longer available for leading axis
%4” is issued.
After a master value coupling has been deactivated, the former following axis
can be programmed again in the part program.
Spindles in the A spindle can only be used as the master-value-coupled following axis if it has
master value been switched to axis mode beforehand. The machine data parameter block of
coupling the axis drive then applies.
Example (activation via synchronized action):
SPOS=0
B=IC(0) ;Switch spindle to axis mode
RELEASE(Y) ;Release for synchronized action
ID=1 WHEN ($AA_IM[X]<–50) DO LEADON(B,X,2)
;Y is coupled to X using curve table no. 2.
Definition and A master value coupling is defined and activated simultaneously with the modal
activation language command for:
Travel direction
Travel direction
COUPLING ON COUPLING ON
Leading axis
Following axis
Deactivation A master value coupling is deactivated with the model language command for:
Note
Activating and deactivating the axis master value coupling with LEADON,
LEADOF is permissible both in the part program and in synchronized actions.
References: /FB/, S5, “Synchronized Actions”
Coupling type With the setting data SD 43100: LEAD_TYPE[LA] specifies the coupling type.
Switchover between actual and setpoint value coupling is possible at any time,
preferably in the idle phase.
LA: Leading axis as GEO axis name, channel axis name or machine axis name
(X,Y,Z,...)
0: Actual-value coupling (this type of coupling must be used for external
leading axes)
1: Setpoint value coupling (default)
2: Simulated master value (note virtual axis, not evaluated for FA)
Readable system The system variables of the master value can be read from the part program
variables of the and from synchronized actions:
master value
S $AA_LEAD_V[ax] ;Velocity of the leading axis
Readable and The velocities and positions of simulated master values (when
writable master $SA_LEAD_TYPE[ax]=2) can be written in and read from the part program and
value variables synchronized actions:
Detecting System variable $AA_SYNC[ax] can be read from the part program and syn-
synchronism chronized action and indicates whether and in what manner following axis FA is
synchronized:
0: Not synchronized
1: Coarse synchronism (acc. to MD 37200:
COUPLE_POS_TOL_COARSE)
3: Fine synchronism (acc. to MD 37210:
COUPLE_POS_TOL_FINE)
The information from system variable $AA_SYNC[ax] corresponds to the as-
signed VDI signals:
IS “Fine synchronism” DB 31, ... DBX98.0 and
IS “Coarse synchronism” DB 31, ... DBX98.1
Note
If the following axis is not enabled for travel it is stopped and is no longer
synchronous.
Activation A master value coupling is active depending on the settings in the part program
and in the machine data MD 20110: RESET_MODE_MASK and MD 20112:
START_MODE_MASK.
Manual mode Once a master axis coupling has been activated, traversal of the master axis
(e.g. with rapid traverse or incremental dimension INC1 ... INC10000) results in
a movement of the slave axis, allowing for the curve table definition.
Deletion of When deletion of distance-to-go is performed for a leading axis, all axes in the
distance-to-go associated, activated master value coupling are shut down.
Basic setting after No master value couplings are active after POWER ON (options with ASUB).
POWER ON
Behavior after NC Depending on the setting in MD 20110: RESET_MODE_MASK (bit 13) and
start/RESET MD 20112: STAR_MODE_MASK (bit 13), the behavior will be as follows:
S MD 20110: RESET_MODE_MASK=1H
==> Master value coupling is invalidated with RESET, regardless
of MD 20112: START_MODE_MASK
Master value coupling activated via IDS=... can only be
deactivated via an operator front panel reset and remains valid after
program end/reset (M30, M02).
S MD 20110: RESET_MODE_MASK=0H
==> Master value coupling remains valid after RESET and is
invalidated on START, regardless of MD 20112:
START_MODE_MASK.
However, master value coupling activated via IDS=... remains valid.
References: /FB/, K2, “Coordinate System, Axis Types, Axis Configurations, ...”
Activating, Master value couplings activated via a static synchronized action (IDS=...) are
deactivating S not deactivated during program start, regardless of the value of
MD 20110: RESET_MODE_MASK and MD 20112: START_MODE_MASK.
S not deactivated during program end reset (M30, M02), regardless of the
value of MD 20110: RESET_MODE_MASK.
Leading axis When a master value coupling is active, the interface signals (IS) of the leading
axis are applied to the appropriate following axis via the axis coupling, i.e.
S A feed control action of the leading axis is applied via the master value
coupling to effect an appropriate feed control action in the following axis.
Position Switchover of the position measuring system for the leading and following axes
measuring system is not inhibited for an active coupled-axis grouping. The coupling is not invali-
1/2 (DB31, ... dated.
DBX1.5 / 1.6) Recommendation: Switch the measuring system over when the coupling is
deactivated.
Control dynamics Depending on the application in question, it may be advisable to match the posi-
tion controller parameter settings (e.g. servo gain factor) of the leading axis and
following axis in an axis grouping. It may be necessary to activate other para-
meter sets for the following axis. The dynamics of the following axis should be
the same or better than those of the leading axis.
Actual value The display of the actual value is updated for all axes of in a master-value-
display coupled axis grouping (only real axes) coupled via a master value.
Interpolation When the movement defined in the curve table is interpolated, an axis position
and axis speed are calculated for a master value and its speed.
Archiving The curve tables generated by the definition of motion sequences are stored in
the battery-backed memory.
The curve tables are not lost when the control is switched off.
These functions have no effect on cyclic machines because they are performed
without operator actions. Nor does it make sense to perform automatic (re-)posi-
tioning via the NC with external master values.
Function The “Electronic gear” function can be used to interpolate the motion of a follo-
wing axis FA as a function of up to five leading axes LA. The relationship be-
tween each leading axis and the following axis is defined by a coupling factor.
The following axis motion components derived in this manner from the individ-
ual leading axis motion components have an additive effect.
FAset = SynPosFA + (LA1-SynPosLA1)*CF1 +... +(LA5-SynPosLA5)*CF5
Where:
SynPosFA, SynPosLAi from EGONSYN call (see below)
FAset Partial setpoint of following axis
LAi Setpoint or actual value of ith leading axis
(depends on coupling type, see below)
KFi Coupling factor of ith leading axis (see below)
All paths are referred to the basic coordinate system BCS.
When an EG axis grouping is activated, it is possible to synchronize the leading
axes and following axis in relation to a defined starting position.
A gear grouping can be:
S defined,
S activated,
S deactivated,
S deleted
from the part program.
Expansions in In SW 6 and higher, the influence of each of the 5 leading axes can be specified
SW 6 and higher using a curve table (see Section 2.2) as an alternative to a gear ratio (CF=nu-
merator/denominator).
It is thus possible for each curve (except for the special case of a straight line)
for the leading axis to influence the following axis in a non-linear manner. The
function can only be used with EGONSYN.
SW 6.3 and higher:
The function EG with curve tables can be activated with EGON.
SW 6.4 and higher:
The function EGONSYNE is available for approaching the synchronized posi-
tion of the following axis with a specified approach mode.
For special applications, it may be advisable configure the position controller as
a PI controller.
Caution
! Knowledge of the control technology and measurements with servo trace are
an absolute prerequisite for using this function.
Coupling type The following axis motion can be derived from either of the following:
Coupling factor The coupling factor must be programmed for each leading axis in the grouping.
It is defined using the numerator/denominator.
The numerator and denominator coupling factor values are specified in the follo-
wing activation calls for each leading axis:
EGON
EGONSYN
EGONSYNE
Number of EG axis Several EG axis groupings can be defined at the same time. The maximum
groupings possible number of EG axis groupings is set in
MD 11660: NUM_EG.
Note
The option must be enabled.
EG cascading The following axis of an ELG can be the leading axis of another EG. Chapter 6,
page 3/M3/6-103 contains a detailed example of this.
LA1
Z
N
Z/
N
LA3 LAK2
+
Z Z/
N N
LAK3
+
Z/
N
LA4 LAK4
Z Z/
N
N LAK5
“Software” axis Z/
N
LA5
Z
N
Synchronized To start up the EG axis grouping, you can first request an approach to defined
positions positions for the following axis.
Synchronized positions are programmed with:
EGONSYN (see below for details)
EGONSYNE (extended EGONSYN call).
Synchronization If a gear is started with EGON(), EGONSYN() or EGONSYNE() see below, the
actual position of the following axis is only identical to the setpoint position de-
fined by the rule of motion of the gear specified by the positions of the leading
axes at this time if the part program developer makes sure that it is. The control
then uses the motion of the following axis to ensure that the setpoint and actual
positions of the following axes correspond as quickly as possible it the leading
axes are moved further. This procedure is called synchronization. After synchro-
nization of the following axis, the term synchronous gearing is used.
Synchronization With EGON(), no specifications are made for the positions at which the following
with EGON axis is to be synchronized. The control activates the EG and issues the signal
“Synchronized position reached”.
Synchronization With EGONSYN(), the positions of the leading axes and the synchronization
for EGONSYN position for the following axis are specified by the command.
– The control then traverses the following axis with just the right accelera-
tion and velocity to the specified synchronization position so that the
following axis is in position with the leading axes at its synchronization
position.
– If the following axis is stationary: If IS “Feed stop/spindle stop” DB 31,
... DBX 4.3 is set for the following axis, the following axis is not set in
motion by EGON or EGONSYN. A motion command is sent for the follo-
wing axis and the block change is disabled until the axis-specific feed is
enabled.
EGOSYN is interrupted by RESET and converted to EGON. The pro-
grammed synchronized positions are deleted.
– If the following axis is not stationary: IS “Feed stop/spindle stop” DB 31,
... DBX 4.3 has no direct effect on the electronic gear. As before, it does
have an indirect effect on the leading axes, if these are located in the
same channel.
– Nothing has been implemented for the channel-specific feed enable
and for the override. The override continues to have no direct effect on
the electronic gear. The axis-specific feed enable is set depending on
the current override setting.
Synchronization With EGONSYNE(), the positions of the leading axes and the synchronization
for EGONSYNE position for the following axis are specified by the command.
The control moves the following axis to the synchronized position according to
the program approach mode.
Synchronization
abort with
The EGONSYN/EGONSYNE command is aborted under the following
EGONSYN and conditions and changed to an EGON command
EGONSYNE
– RESET
– Axis switches to follow-up
The defined synchronization positions are ignored.
The synchronization monitoring function continues to refer to the synchroniza-
tion positions.
Synchronism The synchronism of the gear is monitored in each interpolator cycle on the basis
monitoring of the actual values of the slave and leading axes. For this purpose, the actual
values of the axes are computed according to the rule of motion of the coupling.
The difference in synchronism is the difference between the actual value of
the following axis and the value calculated from the leading axis actual values
according to the rule of motion. The difference in synchronism can be polled
from within the part program. See below.
Changes in the The mass inertia of the axis systems during acceleration can cause dynamic
difference in fluctuations in the difference in synchronism. The difference in synchronism is
synchronism checked continuously and the tolerance values in the machine data used to
produce interface signals.
The difference in synchronism is compared with machine data:
MD 37200: COUPLE_POS_TOL_COARSE,
MD 37210: COUPLE_POS_TOL_FINE.
Depending on the result of this comparison, the following signals are set:
IS “Fine synchronism” DB 31, ... DBX 98.0
IS “Coarse synchronism” DB 31, ... DBX 98.1
Difference in Deviation in synchronism for EG cascades is the deviation of the actual position
synchronism for of the following axis from setpoint position that results fro the rule of motion for
EG cascades SW 6 the real axes involved.
Example:
LA1
LA1 FA1
EG1
FA2
EG2
FA3
EG3
LA2 LA2
FAi → Following axis from EGi LAi → Real leading axisi
Scanning the The result of the synchronism difference calculation can be read as an amount
synchronism in the part program with system variable $VA_EG_SYNCDIFF. The relevant
difference value value with sign is available from SW 6.4 in the system variables
$VA_EG_SYNCDIFF_S. The following meanings apply:
– Negative value (leading axis and following axis in positive direction of
movement):
The following axis is trailing its calculated setpoint position.
– Positive value (leading axis and following axis in positive direction of
movement):
The following axis is ahead of its calculated setpoint position (over-
shoot).
The amount of the synchronization difference with sign corresponds to the sys-
tem variables without sign from $VA_EG_SYNCDIFF.
$VA_EG_SYNCDIFF[ax] = ABS($VA_EG_SYNCDIFF_S[ax])
Block change When an EG axis grouping is activated, it is possible to specify the conditions
mode under which a part program block change is to be executed:
Data entries are made using string parameters with the following meanings:
“NOC” Immediate block change
“FINE” Block change if “Fine synchronism” is present.
“COARSE” Block change if “Coarse synchronism” is present
“IPOSTOP” Block change if “Setpoint synchronism” is present.
Note
When programmed in activation calls EGON, EGONSYN, EGONSYNE, each
of the above strings can be abbreviated to the first two characters.
If no block change has been defined for the EG axis group and none is currently
specified, “FINE” applies.
EG An EG has:
a) max. 5 leading axes
b) 1 following axis
c) max. 5 associated curve tables or
d) max. 5 associated coupling factors (Z/N) or
e) combination of curve tables and coupling factors for max.
5 leading axes
Leading and The following are permissible as leading and following axes:
following axis
Real Simulated
Linear axis
Rotary axis
Modulo-corrected rotary axis
Type of coupling For each leading axis, the EG may refer to:
a) the actual value or
b) the setpoint
Reference system The calculations are made in the basic coordinate system BCS.
Warm start and In the case of a warm start per MMC/HMI operation and cold start (POWER
cold start OFF/ POWER ON)
a) the EG status is not and
b) the EG configuration are not retained
Violated If the synchronism conditions are violated, all axes are stopped. I(n this case,
synchronism their positions checked by the control up to the stop. Extended stop and retract
conditions (ESR) may be active in this situation see Section 2.6.
Block change In the EG activation commands (EGON, EGONSYN, EGONSYNE), you can
behavior specify for which condition (with respect to synchronism) the next block of the
part program is to be processed. Options:
a) NOC No condition.
b) FINE Sum of the difference between the setpoint and actual positions of
all axes is less than MD 37210: COUPLE_POS_TOL_FINE
c) COARSE Sum of the difference between the setpoint and actual positions
of all axes is less than MD 37200: COUPLE_POS_TOL_COARSE
d) IPOSTOP When the specified end positions of the axes is reached.
Note
The following definition commands and switching instruction commands for the
electronic gear must be grouped in a single block in a part program.
All electronic gear commands trigger a preprocessing stop, with the exception
of
– EGON
– EGONSYN
– EGONSYNE activation commands.
Definition and The definition described below and the activation are separate processes. An
activation activation is not possible unless it has been defined previously.
Definition of an An EG axis grouping is defined through the input of the following axis and at
EG axis grouping least one leading axis (up to five masters are allowed), each with the relevant
coupling type:
EGDEF(following axis, leading axis1, coupling type1, leading axis2, coupling
type 2,...)
The coupling type does not need to be the same for all leading axes and must
be programmed separately for each individual master.
Coupling type: Evaluate actual value of leading axis: 0
Evaluate setpoint of leading axis: 1
The coupling factors are preset to zero when the EG axis grouping is defined.
As such, the grouping has no effect on the following axis until it is activated.
(See EGON, EGONSYN, EGONSYNE).
Preconditions for defining an EG axis grouping:
No existing axis coupling may already be defined for the following axis. (If nec-
essary, an existing coupling must be deleted first with EGDEL.)
EGDEF triggers a preprocessing stop with an error message.
For an example of how to use the EG function for gear hobbing, please see
Section 6.2.
EGDEF The gear definition with EGDEF should also be used unaltered when one or
more leading axes affect the following axis via a curve table.
The variant to featuring the addition of a non-linear coupling via curve tables is
illustrated in an extended example in Subsection 6.2.2.
1. EGONSYN EGONSYN(FA, block change mode, SynPosFA, LAi, SynPosLAi, Z_LAi, N_LAi)
where:
FA Following axis
Block change mode:
“NOC” Immediate block change
“FINE” Block change on “Fine synchronism”
“COARSE” Block change on “Coarse synchronism”
“IPOSTOP” Block change on setpoint synchronism
Note
The parameters indexed with i must be programmed for at least one leading
axis, but for no more than five.
Only leading axes previously specified with the EGDEF command may be pro-
grammed in the activation line.
Through the programmed “Synchronized positions” for the following axis (Syn-
PosFA) and for the leading axes (SynPosLA), positions are defined for which
the axis grouping is interpreted as synchronous. If the electronic gear is not in
the synchronized state when the grouping is switched on, the following axis
traverses to its defined synchronized position.
If the axis grouping includes modulo axes, their position values are reduced in
the modulo, thereby ensuring that they approach the fastest possible synchro-
nized position. (This is what is known as relative synchronization: e.g. the next
tooth gap after “centering”).
The synchronized position is only approached if IS “Enable following axis over-
ride” DB30 (+ axis number), DBX 26.4 is issued for the following axis. Instead
the program is stopped at the EGONSYN block and the self-clearing
alarm 16771 is issued until the above mentioned signal is set.
Note
The parameters indexed with i must be programmed for at least one leading
axis, but for no more than five.
The function is active only for modulo following axes that are coupled to modulo
leading axes.
Approach In this case, the time-optimized and path-optimized traversing modes are identi-
response with FA cal.
at standstill The table below shows the target positions and traversed paths with direction
marker (in brackets) for the particular approach modes:
Approach
response for
The following axis moves at almost maximum velocity in the positive direction
moving FA when the coupling is activated by EGONSYNE. The programmed synchronized
position of the following axis is 110, the current position 150. This produces the
two alternative synchronized positions 110 and 182 (see table above).
In the case of traversing mode NTGP (path-optimized), synchronized posi-
tion 182 is selected independent of the current velocity. This has the shortest
distance from the current position of the following axis. Traversing mode NTGT
(time-optimized) considers the current velocity of the following axis and pro-
duces a deceleration on account of the limit for the maximum axis velocity to
reach synchronism in the shortest possible time (see Figure).
NTGP
v
max.
NTGT
Fig. 2-9 Reaching the next tooth gap, FA path-optimized (top) vs.
time-optimized (bottom)
Sample notations
EGONSYNE(A, “FINE”, 110, “NTGT”, B, 0, 2, 10)
couple A to B, synchronized position A = 110, B = 0, coupling factor 2/10, ap-
proach mode = NTGT
EGONSYNE(A, “FINE”, 110, “DCT”, B, 0, 2, 10)
couple A to B, synchronized position A = 110, B = 0, coupling factor 2/10, ap-
proach mode = DCT
EGONSYNE(A, “FINE”, 110, “NTGT”, B, 0, 2, 10, Y, 15, 1, 3)
couple A to B, and Y, synchronized position A = 110, B = 0, Y = 15,
coupling factor for B = 2/10, coupling factor for Y = 1/3,
approach mode = NTGT
With synchr. The syntax specified above applies with the following different meanings. If a
curve table is used for one of the leading axes, then:
Ni The numerator of the coupling factor for linear couplings must
be set to 0. (nominator 0 would be illegal for linear
couplings) Nominator zero tells the control that
Zi Should be interpreted as the number of the curve table to
be used. The curve table with the specified number must
already be defined at POWER ON in accordance with
Section 2.2.
LAi The leading axis specified corresponds to the one specified
for coupling via coupling factor (linear coupling).
EGOFS(following axis)
Note
At least one leading axis must be specified.
The influence of the specified leading axes on the following axis is selectively
inhibited.
This call triggers a preprocessing stop.
If the call still includes active leading axes, then the slave continues to operate
under their influence. If the influence of all leading axes is excluded by this
method, then the following axis is braked to a standstill.
If the command EGONSYN is deactivated selectively, no axis movement is per-
formed.
Note
Call only available for following spindles.
A spindle identifier must be programmed for EGOFC.
The FPR( ) part program command can be used to specify the following axis of
an electronic gear as the axis, which determines the revolutional feedrate.
Please note the following with respect to this command:
S The setpoint velocity is calculated from the speeds of the leading spindles
and modulo axes (which are not path axes) and from their associated cou-
pling factors.
S Velocity components from other leading axes and overlaid motions of the
following axis are not taken into account.
References: /V1/, Feeds
Block search with Certain active axis couplings can be simulated in the block search. As this does
certain simulations not apply to all possible coupling types, it is also possible to skip areas in which
block searches cannot be made with an “automatic interrupt pointer”. The elec-
tronic gear can be simulated for all block search types under the following con-
ditions:
Application The following system variables can be used in the part program to scan the
current states of an EG axis grouping and initiate appropriate reactions if neces-
sary:
Couplings The previous subsections (Descriptions of Functions for S3 and T3) describe
axis couplings in which a following axis is moved depending on one or more
leading axes/spindles. The response of these coupled axes can be controlled
by the user both via machine data and using program commands.
Coupled motion x x
Electronic gear x
Machine data can be used to specify general limits for the following axis:
MD 32000: MAX_AX_VELO max. axis velocity
MD 32300: MAX_AX_ACCEL max. axis acceleration
Reducing or In SW 6.4 and higher, the dynamics limits specified above may be reduced or
increasing increased using commands from the part program or from the synchronized
dynamics limits actions.
The acceleration characteristics set and the dynamics offsets set change the
duration for synchronization between following and leading axes during accel-
eration operations as follows:
Important
! The user must restore the technological synchronization between machining
and the synchronism difference.
Relevant limits in The share in percent that is considered is specified by the language command:
percent
VELOLIMA[FA]
ACCLIMA[FA]
where FA is the following axis. Both an increase (100 < values 200) and a
reduction (1 value < 100) is possible. Values outside the area of validity are
rejected with alarm 14811.
The relevant limits are then:
Only BRISKA, i.e. abrupt axis acceleration, is available for the following axis.
Acceleration modes SOFTA and DRIVEA are not available for the following
axes described.
Furthermore, it is also possible to configure the positions controller as a PI
controller.
Caution
! This option can only be used in conjunction with servo trace and with the
appropriate technical knowledge of the control.
Power On The values for VELOLIMA and ACCLIMA are initialized to 100%.
Mode change The dynamic offsets remain valid on transition from AUTO => JOG.
RESET/end of Channel-specific dynamic values for Reset, i.e. the values of VELOLIMA and
program ACCLIMA are set via MD 22410: F_VALUES_ACTIVE_AFTER_RESET.
MD 22410: F_VALUES_ACTIVE_AFTER_RESET=FALSE, the values for VE-
LOLIMA(FA) and ACCLIMA(FA) are set to 100%.
MD 22410: F_VALUES_ACTIVE_AFTER_RESET=TRUE, the values set last
are retained. This response also applies for dynamics offsets set using static
synchronized actions.
If this is not the case despite the setting F_VALUES_ACTIVE_AFTER_RE-
SET=FALSE, the dynamics offset must be applied again using an IDS synchro-
nized action or permanent writing.
References: /FBSY/, Synchronized Actions
2.5.2 Examples for limits for ELG and master value coupling
Electronic gear Axis 4 is coupled to X via an electronic gear coupling. The acceleration capabil-
ity of the following axis is limited to 70% of maximum acceleration. The maxi-
mum permissible velocity is limited to 50% of maximum velocity. After POWER
ON, the maximum permissible velocity is set to 100% again.
......
N120 ACCLIMA[AX4]=70
N130 VELOLIMA[AX4]=50 ; Reduced velocity
.....
N150 EGON(AX4, “FINE”, X, 1, 2)
.....
N200 VELOLIMA[AX4]=100 ; Full velocity
.....
Master value Axis 4 is coupled to X via a master value coupling. The acceleration capability
coupling of the following axis is limited to 80% of maximum acceleration.
......
N120 ACCLIMA[AX4]=80 ; 80 %
N130 LEADON(AX4, X, 2) ; Activate coupling
.....
Master value Axis 4 is coupled to X via a master value coupling. The acceleration response is
coupling with limited to 80% by static synchronized action 2 from position 100.
synchronized ......
action N120 IDS=2 WHENEVER $AA_IM[AX4] > 100 DO ACCLIMA[AX4]=80
N130 LEADON(AX4, X, 2)
.....
For geometry axis, channel axis, machine axis and spindle axis types, the follo-
wing readable system variables are available in part programs and synchro-
nized actions:
Preprocessing
Main run Reading the main run variable implicitly triggers a preprocessing stop.
The “Extended stop and retract” function ESR allows the operator to choose
how to react to definable error sources, reducing the risk of causing damage to
the workpiece and protecting man and machine against injury or damage.
Solution concept The hazard conditions in the control are checked cyclically (sources of disrup-
tion) and linked (synchronized actions). Actions are triggered when reasons for
initiating a separation of the tool and the workpiece are detected under the sup-
plementary conditions for temporary upholding of the axis coupling in the elec-
tronic gear. These actions can be one or more of the ESR reactions described
below.
ESR reactions In SW 5 and lower, “Extended stop and retract” provides the following partial
reactions:
S “Extended stop”
(drive-independent or externally driven) is a defined, delayed stop.
S “Retract”
(drive-independent or externally driven) means “escape” from the machining
plane to a safe retraction position. This is to avoid a potential collision be-
tween tool and workpiece.
S “Generator operation”
(drive-independent) Generator operation is possible in the event that the DC
link power is insufficient for safe retraction. As a separate drive operating
mode, it provides the necessary power to the drive DC link for carrying out
an orderly “Stop” and “Retract” in the event of a power outage or similar fail-
ure.
Note
For the “Gearing” technology all reactions must go hand in hand: For example,
the electronic coupling should be maintained for a certain time with constant
motion before being stopped. In parallel, a retraction axis is operating to
disconnect the machining action and another axis in generator operation
supplies the necessary power in the DC link in the event of a power failure
(provided appropriately configured).
The NCK cannot trigger an EMERGENCY STOP autonomously. As the
EMERGENCY STOP signal is fed from the PLC to the NCK, the PLC is able to
actively trigger an ESR if required (e.g. via $A_DBB) and delay forwarding of
the actual EMERGENCY STOP request to the NCK by the relevant time.
Sending the requisite switching signals to the digital outputs (system variable
$A_OUT) in the IPO cycle is called a reaction that is “external to the control”.
For example, a hydraulic retraction axis can be connected to this type of digital
output. The machine manufacturer or start-up engineer is responsible for defin-
ing further reactions.
Drive-independent reactions are defined axially, that is, if activated each drive
processes its stop and retract request independently. There is no interpolatory
coupling of axes or coupling adhering to the path on stop/retract (only for control
management).
The reference to the axes is time-controlled.
During and after execution of drive-independent reactions, the NC enables/
travel commands no longer have an effect on the respective drive, therefore, it
is necessary to perform a POWER OFF/POWER ON. Alarm 26110: “Drive-inde-
pendent stop/retract triggered” indicates this.
Note:
If retraction is not triggered on the 611digital drive, no alarm 26110 is issued.
Important
! Drive-independent stop and retract are “automatically” triggered (as in the
event of a communication failure).
These drive-side reactions are therefore cross-channel functions. This means
that if drive-independent stop and retract is triggered in one channel, the drives
of another channel also produce the drive-independent stop/retract reactions
configured (and just enabled) for them.
Note
For drive-independent reactions, the behavior can be determined individually
for each axis.
Example For an example of how the drive-independent reaction can be used, please see
Section 6.3.
Note
Unlike ESR_REAKTION=10, instead of rapid deceleration of the generator
axis, an NC-controlled extended stop takes place (see Subsection 2.6.3
ESR_REAKTION=22).
Generator operation remains active at the drive end. If the DC link voltage on
the drive falls below the value entered in MD 1631: LINK_VOLTAGE_GEN_ON,
generator operation is activated for DC link backup.
Procedure The schedule for extended stop is defined by the two machine data MD 21380:
ESR_DELAY_TIME1 and MD 21381: ESR_DELAY_TIME2.
For the duration of the period in MD 21380: ESR_DELAY_TIME1, the axis con-
tinues to interpolate unhindered as programmed. Once the period set in
MD 21380: ESR_DELAY_TIME1 has elapsed, interpolatory controlled braking
(ramp stop).
The maximum time available for interpolatory controlled braking is the time set
in MD 21381: ESR_DELAY_TIME2; once this period has elapsed, rapid decel-
eration with subsequent correction is initiated.
This schedule applies if for at least one of the axes applied by the NCU:
MD 37500: ESR_REACTION > 20. If this condition is not met, the alarm reac-
tions are not delayed. If no ESR is active in the cycle, the above-mentioned
alarm reactions are delayed by one IPO cycle (it takes one IPO cycle to check
whether ESR is active).
For all other axes not specified for which MD 37500: ESR_REACTION = 0,
rapid deceleration with subsequent correction is initiated at the start of extended
stop ($AC_ESR_TRIGGER = 1).
The processing of all commands, especially those that result in an axis stop
(e.g. RESET, Stop, Stopall, StopByAlarm), as well as the standard alarm reac-
tions STOPBYALARM and NOREADY, is delayed by the total of times
ESR_DELAY_TIME1 and ESR_DELAY_TIME2.
An NC-controlled stop interacts with the electronic gear (see 2.4). It contains the
(selective) switchover of the electronic gear to actual-value coupling if there is a
fault on the leading axes, and also upholds interpolation and enables (“continue
travel”) during a period which can be specified in MD 21380:
ESR_DELAY_TIME1.
Times T1 and T2 The times T1 and T2 are parameterized via the machine data
MD 21380: ESR_DELAY_TIME1 and MD 21381: ESR_DELAY_TIME2.
The timing for NC-controlled extended stop can be taken from the figure below.
Speed n
T1 (MD) T2 (MD)
MD 21380 MD 21381 Time t
Note
For safety reasons, the total of times T1 and T2 should not exceed a maximum
value, e.g. 1 second.
Note
A following axis of the electronic gear follows the leading axis during the two
phases of the extended stop according to the rule of motion, i.e. no separate
braking is possible on transition from phase MD 21380: DELAY_TIME1 to
phase MD 21381: ESR_DELAY_TIME2.
In order for ESR to function correctly, the enable signals must be set and
remain set.
Response for If the system variable $AC_ESR_TRIGGER = 1 is set and if a retraction axis is
ESR_REACTION = configured in this channel with MD 37500: ESR_REACTION = 21 and
21 $AA_ESR_ENABLE=1 is set for this axis, then LIFTFAST becomes active in
this channel.
Prerequisite:
The retraction position must be programmed in the part program. The enable
signals must be set and remain set for the retraction movement.
Fast retraction to the position defined with POLF is triggered via G code LFPOS
of the modal 46th G code group.
The retracting movement configured with LFPOS, POLF for the axes selected
with POLFMASK or POLFMLIN replaces the path motion defined for these
axes in the part program.
During retraction:
S The axes defined in POLFMASK travel to the positions specified with POLF
independently.
S The axes defined in POLFMLIN travel to the positions specified with POLF
in linear relation.
The extended retraction (i.e. LIFTFAST/LFPOS initiated through
$AC_ESR_TRIGGER) is cannot be interrupted and can only be terminated
prematurely via an EMERGENCY STOP.
Velocity and acceleration limits for the axes involved in the retraction are moni-
tored during the retraction motion. The retracting movement takes place with
BRISK, i.e. without jerk limitation.
The maximum time available for retraction is the sum of the times MD 21380:
ESR_DELAY_TIME1 and MD 21381: ESR_DELAY_TIME2. When this time has
expired, rapid deceleration with follow-up is also initiated for the retraction axis.
Reactions to stop
and axis enable
Stop characteristics for the retracting movement in response to the “Axial feed
signals stop” and “Feed disable” signals are defined with the channel-specific machine
data
MD 21204: LIFTFAST_STOP_COND
The “NC stop” signal, DB21 DBB7.3, has no effect on the retracting movement.
Programming The destination for the retraction axis is programmed with the language com-
mand:
POLF POLF[ geo axis name | machine axis name ] (POsition LiftFast).
POLF is modal.
POLF can also be programmed incrementally.
If this programming is carried out with a geometry axis, the position is inter-
preted as a position in the workpiece coordinate system WCS.
The frame valid at the time when lift fast was activated is considered. Important:
Frames with rotation also affect the direction of lift via POLF.
If POLF is programmed with a channel/machine axis, the position of the ma-
chine coordinate system MCS must be specified. Frames with rotation do not
affect the position for retraction.
If the identifiers for the geo axis and channel/machine axis are identical, retrac-
tion is carried out in the workpiece coordinate system.
General The following sections are equally valid for POLFMASK and POLFMLIN.
The parameters valid at the triggering time are decisive for the retracting move-
ment. If one of these parameters (G code, POLF, POLFMASK or POLFMLIN,
Frame, etc.) changes during retraction (block change), this change does not
affect the retracting movement that has already started.
Before lift fast to a fixed position can be activated via POLFMASK or POLFM-
LIN, a position must be programmed with POLF for the selected axes. No ma-
chine data is provided for presetting the values of POLF.
Change coordinate If the coordinate system is to be changed, lift fast must first be deactivated with
system POLFMASK() or POLFMLIN() and then POLF used to carry out programming
in the new coordinate system.
Deactivate lift fast POLFMASK() or POLFMLIN() without specifying an axis deactivates lift fast for
all axes activated in that enable call.
POLFMASK / The last data entered for a specific axis in one of the two instructions applies.
POLFMLIN These include:
interactions N200 POLFLIN(X, Y, Z) ; Retraction in linear relation
; activated for axes X, Y and Z
...
N300 POLFMASK(Z) ; Independent retraction activated for
; axis Z. Axis Z is removed from the linear
; retraction grouping with X and Y.
N500 POLFMLIN(X, Z) ; Retraction in linear relation
; for X and Z, deleting the independent
; retraction previously activated with
; POLFMASK for axis Z. The retraction
; of axis Y activated previously with
; POLFMLIN is also deleted.
; This means that only X and Z
; continue with retracting movement.
Part program start The positions programmed with POLF and the activation by POLFMASK and
POLFMLIN are deleted when the part program starts up. This means that the
user must program the values for POLF and the selected axes (POLFMASK,
POLFMLIN) in each part program.
Examples Application examples for parameterizing with several axes and incremental pro-
gramming appear in Section 6.3.
Note
If NC-controlled ESR is configured, it takes one IPO cycle to process the
alarm reactions NOREADY and STOPBYALARM. This cycle checks whether
the alarm source is for ESR. The reaction “Trigger ESR” or standard reaction
(without ESR) occurs in the next IPO cycle. Self-resetting alarm 21600 displays
this status; the checking time is included in the alarm response time. You can
use $MN_SUPPRESS_ALARM_MASK bit16 to suppress display of
alarm 21600.
The flexible logic operation possibilities of the static synchronized actions can
be used to trigger specific reactions based on sources. Logic operations of all
relevant sources by means of static synchronized actions are the responsibility
of the user/machine manufacturer. They can selectively evaluate the source
system variables as a whole or by means of bit masks, and then make a logic
operation with their desired reactions. The static synchronized actions are
effective in all operating modes. For a detailed description of how to use syn-
chronized actions, please see:
References: /FBSY/ Description of Functions Synchronized Actions
/PGA/ Programming Guide Advanced
(Synchronized Actions, System Variables)
You can use $AA_TYP (axis type) as required, for example, to configure axial
sources or channel-specific sources.
2.6.7 Activation
Detection A power failure can be detected if the mains supply monitoring of the connected
actuator is used as an external source via terminal 73 of the SIMODRIVE 611D
I/RF module (e.g. external sources: NCU input or terminal box).
Delay The time delay until the mains supply monitoring relay picks up corresponds to
approx. 10 – 15 ms.
In the best-case scenario, 1/2 an IPO cycle should follow activation of the relay
and 3 in the worst-case scenario.
This determines the time for mains failure detection:
Worst-case scenario approx. 120 ms
Best-case scenario approx. 15 ms
Limits of DC link The DC link is monitored for the following voltage limits:
overvoltage
DC voltage
ÉÉÉÉÉ
ÉÉÉÉÉ ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉ
676 V
Working range
ÉÉÉÉÉ ÉÉÉÉÉÉÉÉ
648 V pulse resistor module
644 V
618 V
The drive and DC link pulses are deleted at specific voltage levels. This auto-
matically causes the drives to coast down.
If this behavior is not desired, the user can use a resistor module to divert the
surplus energy. This resistor module operates in the gray hatched area in the
diagram, thus lying below the critical voltage level.
Note
The pulse power of the resistor module is greater than the I/RF power.
Monitoring the DC The DC link voltage can be monitored for a threshold parameterized by the user
link undervoltage (MD 1634: LINK_VOLTAGE_RETRACT).
Voltage below the threshold set in MD 1634: LINK_VOLTAGE_RETRACT can
be utilized as an internal error source for retraction. This is to avoid disconnec-
tion of the drive hardware without separation of workpiece and tool when the DC
link voltage is less than the minimum of 280 V.
In addition, you can program for one/several axis/axes (useful for one axis per
I/RF area), whether a retraction is to be triggered when the voltage falls below
the DC link threshold (MD 1634). This is subject to the prerequisite that the syn-
chronized actions are linked dependent on system variable $AA_ESR_STAT.
This means that any ESR operations parameterized and programmed will be
executed if enabled via system variable $AA_ESR_ENABLE.
The power required for ESR can be supplied to the DC link by parallel, regen-
erative braking: See DC link backup.
UDCoff
ÄÄÄÄÄÄÄÄÄÄ
ÉÉÉÉÉÉÉÉÉÉ
ÄÄÄÄÄÄÄÄÄÄ
280 V
ÄÄÄÄÄÄÄÄÄÄSIMODRIVE “OFF”
ÄÄÄÄÄÄÄÄÄÄ
t
Note
In SW 4.2 and higher, changing the default from 600 V to 0 V activates DC
voltage measurement by default.
In order to ensure that older HW without the DC link measurement function
starts up without errors, on these HW versions, “Calculate controller data
MD 1161 (FIELDVAL_FIXED_LINK_VOLTAGE)” is set to 600 V.
DC link backup You can compensate for temporary DC link voltage dips by configuring the drive
MD and appropriately programming the system variable $AA_ESR_ENABLE
via static synchronized actions. The bridged time depends on the energy stored
by the generator that is used for DC link backup, as well as on the energy re-
quirements for maintaining the current motions (DC link backup and monitoring
for generator speed limit).
DC link voltage
V Message:
DC link generator active
600/625 V
LINK_VOLTAGE_GEN_OFF 1 MD1633
LINK_VOLTAGE_GEN_HYST2 MD1632
LINK_VOLTAGE_GEN_ON 3 MD1631
MD1634
1 Cut-off threshold for
generator operation 280 V
2 Voltage step for
generator control Message:
DC link voltage < MD1634
3 Response voltage
for generator axis
t
n_GEN
Message:
Generator speed < MD1635
GEN_AXIS_MIN_SPEED MD1635
When the DC-link voltage is below the minimum threshold (MD 1631:
LINK_VOLTAGE_GEN_ON) the axis/spindle concerned switches from position-
controlled or speed-controlled mode to DC-link voltage-controlled mode. By
braking the drive (default speed setpoint = 0), regenerative feedback to the DC
link takes place. The drive measures the DC link voltage cyclically (in the posi-
tion control cycle). If the voltage exceeds the value set in MD1631: LINK_VOLT-
AGE_GEN_ON and MD1632: LINK_VOLTAGE_GEN_HYST, the two-step con-
trol is disabled, that is, the current actual speed value is preset as speed
setpoint.
During active generator operation, bit 3 “DC link generator active” is output in
system variable $AA_ESR_STAT.
The two-step behavior of the generator is machine and user-specific.
If the voltage exceeds the value set in MD1633: LINK_VOLTAGE_GEN_OFF,
generator operation is exited and operation is switched back to speed-con-
trolled operation.
This is not the case if the axis/spindle was previously in position-controlled
mode. In this case, it is necessary to reset the drive (POWER ON).
Monitoring the In addition to generator operation to back up the DC link, the actual speed value
generator speed of the axis/spindle in generator operation is monitored for any speeds lower
minimum limit than the minimum speed set in MD1635: GEN_AXIS_MIN_SPEED.
When values below this speed limit are detected, bit 4 “Generator speed <
MD1635” is output in system variable $AA_ESR_STAT.
In addition, analogous to the detection for voltages below the permissible DC
link voltage (MD1634: LINK_VOLTAGE_RETRACT), this signal can be defined
as an internal error source for ESR.
Speed n
T1
Braking ramp according to machine data Time t
Responses The speed setpoint currently active as the error occurred will continue to be
output for time period T1. This is an attempt to maintain the motion that was
active before the failure, until the physical contact is annulled or the retraction
movement initiated in other drives is completed. This can be useful for all lead-
ing/following drives or for the drives that are coupled or in a group.
After time T1 all axes are stopped at the current limit with zero speed setpoint
and the pulses are deleted when zero speed is reached.
Axes with digital 611D drives can (if configured and enabled) perform a retrac-
tion movement independently
External safety The external safety logic for a control drive pair with drive emergency retraction
logic must be implemented in such a way that the drive unit is still operable in the
event of a control failure (for example, PLC stop and NC READY failure; the
appropriate machine safety must be configured).
Measuring system For the drive there is no reference to the NC geometry system. On the NC side,
the unit system of the motor measuring system is only known if it is used as a
position measuring system.
Retraction path The retraction path is therefore specified to the drive using the following geome-
try-neutral data:
– Speed setpoint, direction (leading sign): MD 1639: RETRACT_SPEED
– Travel time: MD 1638: RETRACT_TIME
The drive traverses the programmed “retraction path” using a time-controlled
speed setting made internally in the drive.
Note
Voltage failure The following hardware and software components are required:
S Hardware components
– SINUMERIK 840D with, e.g. NCU 573 and HMI Advanced
– SIMODRIVE 611D with servo drive controls 6SN1 118–0DG... or 6SN1
118–0DH...
– Closed-loop controlled I/RF module (16kW and greater) with suitable
pulse resistor module and additional capacitors for the DC link if re-
quired.
– Capacitor module (6FX2 006–1AA00) for backing up the 115–230 V AC
power supply for the central controller and the operator panel front or
alternatively the 24 V DC power supply.
S Software components
– System software: SW 5
– ESR option
DC link backup The energy available in the drive DC links on power failure is calculated as fol-
lows:
E = 1/2 * C * (UDC2 – Umin2)
tmin = E / Pmax * h
The following table shows the values for different I/RF units. Nominal and mini-
mum capacity are taken into account. The maximum possible capacitance (load
limit) consists of the sum of the capacity of the I/RF module and the axis/spindle
modules, as well as the external auxiliary capacitors (to be provided by the
user). The minimum capacitance used in the table takes a component tolerance
of –20% into account (worst case).
Table 2-4 Nominal and minimum backup time for different I/RF units
Power Pmax Max. possible Energy content Energy content Backup time tn Backup time
of I/RF unit capacitance (Cmax) (Cmin) with Pmax tmin with Pmax
[kW] Cmax [Ws] [Ws] [ms] [ms]
[mF]
16 6000 540 432 30.38 24.30
36 20000 1800 1440 45.00 36.00
55 20000 1800 1440 29.46 23.56
80 20000 1800 1440 20.25 16.20
120 20000 1800 1440 13.50 10.80
Energy balance When configuring the emergency retraction, it is always necessary to establish
an energy balance to find out whether you can do without an additional capaci-
tor module or a generator axis/spindle (with correspondingly dimensioned cen-
trifugal mass).
Stopping as From approx. the third IPO cycle onwards, the speed setpoints for the config-
energy supply ured stop or retraction axes/spindles start to change.
The braking phase starts at this point (unless drive-independent stopping has
been configured in this axis).
As soon as the braking process is initiated, the energy released in this manner
is available for retraction motion. Use an energy balance to ensure that the ki-
netic energy of the braking axes is sufficient for the retraction.
The energy balance shows the maximum setting for the interpolator cycle time
which will allow a safe emergency retraction to be executed.
Example:
With a 16 kW unit under maximum load and minimum DC link capacitance it
should be possible to execute an emergency retraction without generator op-
eration. For this purpose, the interpolation cycle time may in theory be a maxi-
mum of 4.86 ms, i.e. in this case a maximum of 4 ms can be set.
It may be necessary to switch over to a more powerful NC CPU in order to
achieve optimum conditions.
Drive-independent Drive-independent stop and retract triggered by the NC is used when a very fast
stop/retract reaction is required. In this case, the drive reacts within one interpolator cycle
and outputs a setpoint value for the configured axes/spindles.
Note:
A POWER ON must be performed following drive-independent stop and retract.
Note
When the drive bus is interrupted between NC and drive (sign-of-life failure) a
stop and retract can only be initiated by the drive.
This does not usually occur in conjunction with a power failure.
Generator Generator operation is possible in the event that the DC link power is insufficient
operation for safe retraction (for a period of at least 3 interpolator cycles). The mechanical
power of a spindle/axis is used and the energy is optimally fed back to the DC
link. The DC link voltage is kept within the limits set in the machine data by
means of a two-step control.
In this case, the axis/spindle parameterized as a generator measures the DC
link voltage if it falls below the value set in the ms cycle. Thus the DC link is
backed up within 2 ms. (Under normal conditions measurement every 4 ms.)
The energy stored in the drive
E = 1/2 * Q * ω2
where
Q = Total mass moment of inertia
ω = Angular velocity at the time of switching
to generator operation
is recovered with approx. 90% efficiency.
For generator operation, it is advisable, especially when using large machines
with powerful I/RF units (55, 80, 120kW), to use a separate drive with centrifugal
mass which, after acceleration to maximum speed, only has to generate the
friction loss.
Of course, it is also possible to use any other drive as long as it is not directly
participating in the controlled stop/retract.
Axes that are participating in gearbox links that must be specifically maintained
are not suitable for this purpose.
Note
A minimum speed limit for the generator ($AA_ESR_STAT, bit 4) can also be
the source for the retraction process. This is advisable, for example, when
generator operation is to be used to bridge short voltage interruptions.
In order to prevent the DC link voltage from becoming too high when braking
starts, and the drive from reacting with pulse suppression (which would cause
uncontrolled coasting down), it is necessary to use suitable pulse resistor mod-
ules.
POWER OFF/ If the retraction logic is stored in motion-synchronous actions, they are not yet
POWER ON active on POWER ON.
A logic operation, which is to be active after POWER ON, must be activated in
an ASUB started by the PLC.
In the event of a drive-independent stop/retract being triggered, the drive soft-
ware will subsequently need to be shut down then restarted.
In SW 6 and higher, the “Event-controlled program calls” function may be used
instead of ASUB.
Mode change, NC Static synchronized actions can be used for the logic operations (keyword IDS).
stop They are not affected by a mode change or NC STOP/RESET.
Positioning of a command axis/spindle is aborted with channel stop.
ESR is available in AUTO, JOG and MDA modes.
Part program start On start of a part program, the values programmed for POLF and activation by
POLFMASK are deleted.
The reason for resetting the programmed values POLF/POLFMASK is to force
the ESR user (just as other users of the lift fast function) to explicitly program
the matching retraction position for each workpiece programmed in each part
program, rather than trust that a suitable retract position has been stored in a
previous machining process.
Alarm behavior
S Errors in an axis outside the EG axis grouping:
This axis switches off “normally”. Stop and retract continue “undisturbed” or
are triggered by this type of error.
S EMERGENCY STOP
An EMERGENCY STOP is not a fault from the control’s point of view, rather
the response is the same as for any other control signal. For safety reasons,
EMERGENCY STOP interrupts the interpolation and all traversing
movements, and also dissolves the electronic coupling by canceling the
servo enables.
Block search, Extended stop and retract does not affect block search or repositioning motions.
repositioning
Motion- Motion-synchronous actions are executed in the interpolator cycle. If there are
synchronous many motion-synchronized actions, the runtime of the control for processing the
actions cyclical interpretation of conditions in the synchronized actions is increased.
The selected sources and the reactions to be assigned can “only” be evaluated/
triggered in the interpolator cycle.
Priority Each drive-independent reaction has a higher priority than the corresponding
NC-controlled reaction (reason: when broadcast mode is activated for the drive,
each drive-independent reaction becomes directly active).
Power ON If drive-independent stop/retract has been triggered, the drive software requires
a subsequent POWER OFF/POWER ON (drive behavior as with serious errors,
see also communications failure).
J
Notes
Supplementary Conditions 3
There are no other supplementary conditions to note.
Notes
11660 NUM_EG
MD number Number of possible EG axis groupings
Default setting: 0 Minimum input limit: 0 Maximum input limit: 31
Changes effective after POWER ON Protection level: 1 / 1 Unit: –
Data type: Byte Applies as of SW: 5
Meaning: To allow implementation of the “electronic gear” function, memory space corresponding to
the size specified here is reserved in the S-RAM and D-RAM. The setting in this MD deter-
mines the maximum number of EG axis groupings, which can be defined simultaneously
with EGDEF.
18400 MM_NUM_CURVE_TABS
MD number Number of curve tables (SRAM)
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 1/1 Unit: –
Data type: DWORD Applies as of SW: 4.1
Meaning: Defines the maximum number of curve tables that can be implemented in the entire sys-
tem. A curve table comprises several curve segments.
Related to .... MD 18402: MM_NUM_CURVE_SEGMENTS
18402 MM_NUM_CURVE_SEGMENTS
MD number Number of curve segments (SRAM)
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 1/1 Unit: –
Data type: DWORD Applies as of SW: 4.1
Meaning: Defines the maximum number of curve segments that can be implemented in the entire
system. The curve segments are components of a curve table.
Related to .... MD 18400: MM_NUM_CURVE_TABS
18403 MM_NUM_CURVE_SEG_LIN
MD number Number of linear curve segments (SRAM)
Default setting: 0 Minimum input limit: 0 Maximum input limit: –
Changes effective after POWER ON Protection level: 2 / 2 Unit: –
Data type: DWORD Applies as of SW: 7.3
Meaning: Number of linear curve segments in SRAM available NCK-wide. A curve table can consist
of “normal” curve segments and linear segments. The number of “normal” curve segments
in the SRAM is specified by MD 18402: MM_NUM_CURVE_SEGMENTS. These curve
segments can accommodate polynomials. Linear curve segments can only accommodate
straight lines.
18404 MM_NUM_CURVE_POLYNOMS
MD number Number of curve table polynomials (SRAM)
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 1/1 Unit: –
Data type: DWORD Applies as of SW: 4.1
Meaning: Defines the maximum number of polynomials for curve tables that can be implemented in
the entire system. The polynomials are components of a curve segment. A maximum of 3
polynomials are required for one curve segment. As a rule, only 2 polynomials are used per
curve segment.
Related to .... MD 18400: MM_NUM_CURVE_TABS
MD 18402: MM_NUM_CURVE_SEGMENTS
18406 MM_NUM_CURVE_TABS_DRAM
MD number Number of curve tables (DRAM)
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 1/1 Unit: –
Data type: DWORD Applies as of SW: 6.3
Meaning: Number of curve tables in DRAM available NCK-wide
Related to .... MD 18408, MD 18410
Additional references PGA
18408 MM_NUM_CURVE_SEGMENTS_DRAM
MD number Number of curve segment (DRAM)
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 1/1 Unit: –
Data type: DWORD Applies as of SW: 6.3
Meaning: Number of segments for curve tables in DRAM available NCK-wide
Related to .... MD 18406, MD 18410
Additional references PGA
18409 MM_NUM_CURVE_SEG_LIN_DRAM
MD number Number of linear curve segments (DRAM)
Default setting: 0 Minimum input limit: 0 Maximum input limit: –
Changes effective after POWER ON Protection level: 2 / 2 Unit: –
Data type: DWORD Applies as of SW: 7.3
Meaning: Number of linear curve segments in DRAM available NCK-wide. A curve table can consist
of “normal” curve segments and linear segments. The number of “normal” curve segments
in the DRAM is specified by MD 18408: MM_NUM_CURVE_SEGMENTS_DRAM. These
curve segments can accommodate polynomials. Linear curve segments can only accom-
modate straight lines.
18410 MM_NUM_CURVE_POLYNOMS_DRAM
MD number Number of curve table polynomials (DRAM)
Default setting: 0 Minimum input limit: 0 Maximum input limit: plus
Changes effective after POWER ON Protection level: 1/1 Unit: –
Data type: DWORD Applies as of SW: 6.3
Meaning: Number or polynomials for curve tables in DRAM available for NCK-wide
Related to .... MD 18408, MD 18406
Additional references PGA
20900 CTAB_ENABLE_NO_LEADMOTION
MD number Curve tables with jump of following axis
Default setting: 0 Minimum input limit: 0 Maximum input limit: 2
Changes effective after RESET Protection level: 2/7 Unit: –
Data type: BYTE Applies as of SW: 6.3
Meaning: This MD configures how jumps of the following axis are processed
in the curve tables. The following axis jumps if following axis motion is set in a segment of
the curve table but the leading axis does not move.
This type of following axis jump can either be programmed directly or simply occur inter-
nally in a controller.
This type of segment can be generated in particular if a curve table is generated with active
tool radius compensation.
1: Curve tables that contain a jump of the following axis can be created. If a jump of
the following axis occurs, alarm 10955 (CTAB_NO_LEADMOTIONWARNING)
is output but program processing is not aborted.
20905 CTAB_DEFAULT_MEMORY_TYPE
MD number Default memory type for curve tables
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after RESET Protection level: 2/7 Unit: –
Data type: BYTE Applies as of SW: 6.3
Meaning: This MD sets the default memory type for curve tables:
0: Curve tables are created in buffered memory (SRAM).
1: Curve tables are created in dynamic memory (DRAM).
Related to .... MD 18400, 18402, 18404, 18406, 18408, 18410
21204 LIFTFAST_STOP_COND
MD number Stop characteristics for fast retraction
Default setting: 0 Minimum input limit: – Maximum input limit: –
Changes effective after NEW_CONF Protection level: 2 / 7 Unit: –
Data type: DWORD Applies as of SW: 6.4
Meaning: The MD defines the stop characteristics for the LIFTFAST motion for a variety of stop con-
ditions.
21380 ESR_DELAY_TIME1
MD number Delay time (STOPBYALARM, NOREAD) for ESR axes
Default setting: 0 Minimum input limit: – Maximum input limit: plus
Changes effective after NEW_CONF Protection level: 2 / 7 Unit: s
Data type: DOUBLE Applies as of SW: 6
Meaning: If an alarm occurs, for example, this MD can be used to delay the braking
time to enable retraction from the tooth gap in the case of gear hobbing,
for example.
Application example(s) see Subsection 6.3.2
Related to .... ESR_DELAY_TIME2
21381 ESR_DELAY_TIME2
MD number Time for interpolatory braking for ESR axes
Default setting: 0 Minimum input limit: – Maximum input limit: plus
Changes effective after NEW_CONF Protection level: 2 / 7 Unit: s
Data type: DOUBLE Applies as of SW: 6
Meaning: When the time $MC_ESR_DELAY_TIME1 expires, the time specified
here for interpolatory braking ($MC_ESR_DELAY_TIME2) remains available.
When the time $MC_ESR_DELAY_TIME2 expires, rapid deceleration with subsequent
follow-up is initiated.
Application example(s) see Subsection 6.3.2
Related to .... ESR_DELAY_TIME1
30132 IS_VIRTUAL_AX
MD number Axis is virtual axis
Default setting: 0 Minimum input limit: *** Maximum input limit: ***
Changes effective after NEW_CONF Protection level: 2/7 Unit: –
Data type: BOOLEAN Applies as of SW: 4.1
Meaning: Virtual axis. An axis that is interpolated in follow-up mode, too. (Technology electronic
transfer, virtual and real master value.)
This MD is equivalent to MD 30130: CTRLOUT_TYPE=4. Instead of
MD 30130: CTRLOUT_TYPE=4, MD 30130: CTRLOUT_TYPE=0 and IS_VIRTUAL_AX=1
should be set.
Related to .... MD 30130: CTRLOUT_TYPE
37160 LEAD_FUNCTION_MASK
MD number Functions for master value coupling
Default setting: 0x01 Minimum input limit: 0 Maximum input limit: 0x10
Change valid after NEWCONF Protection level: 2/2 Unit: –
Data type: DWORD Applies as of SW: 6.4
Meaning: The machine data can be used to set axial master value coupling functions. This machine
data is bitcoded:
37500 ESR_REACTION
MD number Reaction definition with extended stop and retract
Default setting: 0 Minimum input limit: 0 Maximum input limit: 22
Changes effective after NEW_CONF Protection level: 2/7 Unit: –
Data type: BYTE Applies as of SW: 5.1/ 6 and 6.4
Meaning: Selection of the reaction to be triggered via system variable “$AN_ESR_TRIG-
GER/$AC_ESR_TRIGGER”:
0 = No reaction (or exclusively external reaction through synchronized action
programming of fast digital outputs).
Drive MD 1636: RETRACT_AND_GENERATOR_MODE is set to 0.
10 = Drive-independent generator operation
Drive MD 1636: RETRACT_AND_GENERATOR_MODE is set to 6.
11 = Drive-independent retraction axis
Drive MD 1636: RETRACT_AND_GENERATOR_MODE is set to 4.
12 = Drive-independent stop axis
(as is the case in the event of a communication failure, 11 and 12
are activated together in the drive by broadcast to all drives)
Drive MD 1636: RETRACT_AND_GENERATOR_MODE is set to 2.
37550 EG_VEL_WARNING,
MD number Warning threshold for interface signals
Default setting: 90 Minimum input limit: 0 Maximum input limit: 100
Changes effective after NEW_CONF Protection level: 2 / 4 Unit: %
Data type: REAL Applies as of SW: 5
Meaning: Threshold value for VDI signals
A velocity warning (signal) is output if an EG axis coupling is active and the current speed
of the axis reaches the percentage of the maximum velocity set in
MD 32000: $MA_MAX_AX_VELO.
An acceleration warning (signal) is output if an EG axis coupling is active and the current
acceleration of the axis reaches the percentage of the maximum acceleration set in
MD 32300: $MA_MAX_AX_ACCEL.
Related to .... MD 32000: $MA_MAX_AX_VELO,
MD 32300: $MA_MAX_AX_ACCEL
37560 EG_ACC_TOL
MD number Threshold value for VDI signal
Default setting: 25 Minimum input limit: 0 Maximum input limit: –
Changes effective after NEW_CONF Protection level: 2/4 Unit: %
Data type: REAL Applies as of SW: 5
Meaning: Threshold value for VDI signal “Axis accelerating”
This signal is set if the acceleration rate reaches the specified percentage of maximum
acceleration.
Related to .... MD 32300: $MA_MAX_AX_ACCEL
43100 LEAD_TYPE
SD number Master value type
Default setting: 1 Minimum input limit: 0 Maximum input limit: 2
Changes effective IMMEDIATELY Protection level: 7/7 Unit: –
Data type: DWORD Applies as of SW: 4.1
Meaning: Defines which value is to be used as the master value:
0: Actual value
1: Setpoint
2: Simulated master value
43102 LEAD_OFFSET_IN_POS
SD number Master value offset
Default setting: 0 Minimum input limit: Maximum input limit:
Changes effective IMMEDIATELY Protection level: 7/7 Unit: –
Data type: DOUBLE Applies as of SW: 4.1
Meaning: Offset of master value before use for coupling.
Related to .... SD 43104: LEAD_SCALE_IN_POS
SD 43106: LEAD_OFFSET_OUT_POS
SD 43108: LEAD_SCALE_OUT_POS
43104 LEAD_SCALE_IN_POS
SD number Master value scaling
Default setting: 1 Minimum input limit: Maximum input limit:
Changes effective IMMEDIATELY Protection level: 7/7 Unit: –
Data type: DOUBLE Applies as of SW: 4.1
Meaning: Scaling of master value before use for coupling.
Related to .... SD 43102: LEAD_OFFSET_IN_POS
SD 43106: LEAD_OFFSET_OUT_POS
SD 43108: LEAD_SCALE_OUT_POS
43106 LEAD_OFFSET_OUT_POS
SD number Curve table offset
Default setting: 0 Minimum input limit: Maximum input limit:
Changes effective IMMEDIATELY Protection level: 7/7 Unit: POSN
Data type: DOUBLE Applies as of SW: 4.1
Meaning: Offset of curve table before use for coupling.
Related to .... SD 43102: LEAD_OFFSET_IN_POS
SD 43104: LEAD_SCALE_IN_POS
SD 43108: LEAD_SCALE_OUT_POS
43108 LEAD_SCALE_OUT_POS
SD number Curve table scaling
Default setting: 1 Minimum input limit: Maximum input limit:
Changes effective IMMEDIATELY Protection level: 7/7 Unit:
Data type: DOUBLE Applies as of SW: 4.1
Meaning: Scaling of function value of curve table.
Related to .... SD 43102: LEAD_OFFSET_IN_POS
SD 43104: LEAD_SCALE_IN_POS
SD 43106: LEAD_OFFSET_OUT_POS
Notes
Signal Descriptions 5
5.1 Signals from axis/spindle
DB 31 – Axis accelerated
DBB 99.3
Data block Signal(s) from NC (NC ! PLC)
Edge evaluation: No Signal(s) updated: Cyclic Signal(s) valid from SW: 5.1
Signal state 1 or signal If the acceleration rate of the following axis in the electronic gear axis grouping reaches or
transition 0 –––> 1 exceeds the % share entered in MD 37560: EG_ACC_TOL of the acceleration rate set in
MD 32300: MAX_AX_ACCEL, the signal is set to 1.
Signal state 0 or signal The following axis acceleration in the axis grouping of the electronic gear is less than the
transition 1 –––> 0 operating value described above.
Signal irrelevant Without electronic gear
Related to .... MD 37560, 32300
Application example(s) For safety reasons, EMERGENCY STOP interrupts the interpolation and all traversing
movements, and also dissolves the electronic coupling by canceling the servo enables. In
applications where the coupling and traversing movements must remain valid after
EMERGENCY STOP, this EMERGENCY STOP must be delayed long enough by the PLC
for the required NC or drive-end reactions to terminate.
Writing in $A_DBB allows the PLC to extensively influence the execution of the ESR reac-
tions, if appropriate access is also integrated into the synchronized actions. On the 840D,
the PLC has a “locking influence” on the ESR response. On the 840D, it is possible to link
the relevant synchronized actions to produce the desired logic.
Examples 6
6.1 Curve tables
Use of axes The following diagram shows the configuration of a typical gear hobbing ma-
chine. The machine comprises five numerically closed-loop-controlled axes and
an open-loop-controlled main spindle. These are:
S The rotary motion of the workpiece table (C) and hobbing cutter (B).
S The axial axis (Z) for producing the feed motion over the entire workpiece
width.
S The tangential axis (Y) for moving the hobbing cutter along its axis.
S The radial axis (X) for infeeding the cutter to depth of tooth.
S The cutter swivel axis (A) for setting the hobbing cutter in relation to the
workpiece as a function of cutter lead angle and angle of inclination of tooth.
+Z +A
+Y +B
+X
+C
X = Radial axis
Y = Tangential axis (master drive (LA) 3)
Z = Axial axis (master drive (LA) 2)
A = Cutter swivel axis
C = Workpiece rotary axis (slave drive (FA))
B = Cutter rotary axis, main spindle (master drive (LA) 1)
B Z Y
(LA 1) (LA 2) (LA 3)
Rotation of cutter
C
(FA)
Rotary axis of workpiece
(gear tooth)
Fig. 6-2
In this case, the workpiece table axis (C) is the following axis which, in this ex-
ample, is influenced by three master drives.
The setpoint of the following axis is calculated cyclically with the following logic
equation:
z0 udz udy
nc = nb * + vz * + vy *
z2 z2 z2
Quantities which The first addend of the above equation determines the speed ratio between
influence the workpiece table and cutter, and thus the number of teeth of the workpiece.
setpoint of The second addend effects the necessary additional rotation of the C axis as a
workpiece axis C function of the axial feed motion of the cutter to produce the tooth inclination on
helical teeth.
The third component also makes allowance for additional rotation of the C axis
to compensate for the tangential movement of the cutter in relation to the work-
piece, thus ensuring that the tool is equally stressed over its entire length.
Workpiece/tool The values z0, z2, udz and udy are determined by the workpiece or tool and are
parameters thus specified by the NC operator or part program.
Differential Differential constants udz and udy make allowance for the angle of the work-
constants piece teeth and for the cutter geometry. These differential constants can be de-
termined in user-specific cycles.
sinβ° degrees
udz = –––––– ⋅ 360 –––––
mn * π mm
cosγ°
degrees
udy = –––––– ⋅ 360 –––––
mn * π mm
with:
mn = Normal module (in mm)
β° = Angle of inclined axis on gear wheel
γ° = Lead angle of hobbing cutter
EGDEF(C, B, 1, Z, 1, Y, 1)
; Activate coupling
Introduction The following example expands the example in Fig. 6-1 to include:
– Machine error compensations which are not linearly dependent on the Z
axis, and
– A teeth geometry component dependent on the Z axis.
This can be used for example to produce a slightly ball-shaped a tooth
surface in the center of the gear so that the load on the center of the
tooth is greater than at the edges during operation.
C1
+ X’
Z
X N 1:1
G1
C2
Y + Y’ Compensation f(Z)
Z
N 1:1
G2
C3
+ A’
Z
A
N 1:1
G3
B B
Z
C4
N1 C
Gear geometry Z +
C99 Z
N2 +
N4
Z
G4 N3 G5
Software axis
Fig. 6-3 Extended example with non-linear machine fault compensation and non-linear components on the tooth
geometry
The following section of a part program is intended to illustrate the general con-
cept; supplementary curve tables and gear wheel/machine parameters are still
to be added. Components to be added are marked < ... >. Stated parameters
may also have to be modified, e.g. coupling factors.
; 1. Gear stage, C99 is the software axis between the two electronic gears
N800 EGDEF(C99, Y, 1, Z, 1, B, 1 )
N810 EGONSYN(C99, “NOC”, <SynPosC99>, B, <SynPosC99_B>, 18, 2, & ; Activation of leading axis B
Y, <SynPosC99_Y>, R1 * p, 1, & ; Activation of leading axis Y
Z, <SynPosC99_Z>, 10, 1) ; Activation of leading axis Z
; “&” character means: command continued in next line, no LF nor comment permissible in program
Machine data Only one section is specified, which extends beyond the necessary geometry/
channel configuration and machine axis parameters.
$MN_NUM_EG = 5 ; Maximum number of gears
$MN_MM_NUM_CURVE_TABS = 5 ; Maximum number of curve tables
$MN_MM_NUM_CURVE_SEGMENTS = 50 ;Max. number of
; curve segments
$MN_MM_NUM_CURVE_POLYNOMS = 100 ;Max. number of
; curve polynomials
Setting data If the scaling described in Section 2.4 is used, the following applies, as in the
case of an offset:
$SD_LEAD_SCALE_OUT_POS[4] = 1.2 ; Scaling for table C4
System variables In accordance with the above definitions, the following values are entered in the
associated system variables by the control. Access options to these system
variables are described in:
References: /PGA1/, Lists of System Variables
(SW 7.1 and higher). The system variables listed below are only used for ex-
planatory purposes!
; ************** Gear X (G1)
$AA_EG_TYPE[X, Z] = 1 ; Setpoint coupling
$AA_EG_NUMERA[X, Z] = 1 ; Curve table No. = 1
$AA_EG_DENOM[X, Z] = 0 ; Denominator = 0 → curve table applies
$P_EG_BC[X] = “NOC” ; Block change criterion
$AA_EG_NUM_LA[X] = 1 ; Number of leading axes
$AA_EG_AX[0, X] = Z ; Identifier of leading axis
$AA_EG_SYN[X,Z] = <SynPosX_Z> ; Synchronized position of leading axis Z
$AA_EG_SYNFA[X] = <SynPosX> ; Synchronized position of following axis
; ************** Gear Y (G2)
$AA_EG_TYPE[Y, Z] = 1 ; Setpoint coupling
$AA_EG_NUMERA[Y, Z] = 2 ; Curve table No. = 2
$AA_EG_DENOM[Y, Z] = 0 ; Denominator = 0 → curve table applies
$P_EG_BC[Y10] = “COARSE” ; Block change criterion
$AA_EG_NUM_LA[Y] = 1 ; Number of leading axes
$AA_EG_AX[0, Y] = Z ; Identifier of leading axis
$AA_EG_SYN[Y, Z] = <SynPosY_Z> ; Synchronized position of leading axis Z
$AA_EG_SYNFA[Y] = <SynPosY> ; Synchronized position of following axis
; ************** Gear A (G3)
$AA_EG_TYPE[A, Z] = 1 ; Setpoint coupling
$AA_EG_NUMERA[A, Z] = 3 ; Curve table No. = 3
$AA_EG_DENOM[A, Z] = 0 ; Denominator = 0 → curve table applies
$P_EG_BC[A10] = “FINE” ; Block change criterion
$AA_EG_NUM_LA[A] = 1 ; Number of leading axes
$AA_EG_AX[0, A] = Z ; Identifier of leading axis
$AA_EG_SYN[A, Z] = <SynPosA_Z> ; Synchronized position of leading axis Z
$AA_EG_SYNFA[A] = <SynPosA> ; Synchronized position of following axis
; ************** Gear C99 (G4)
$AA_EG_TYPE[C99, Y] = 1 ; Setpoint coupling
$AA_EG_NUMERA[C99, Y] = 18 ; Counter for coupling factory
$MA_ROT_IS_MODULO[AX5] = TRUE
; ************** Axis 6, “C”
$MC_AXCONF_CHANAX_NAME_TAB[5] = “C”
$MC_AXCONF_MACHAX_USED[5] = 6
$MN_AXCONF_MACHAX_NAME_TAB[5] = “C1”
$MA_SPIND_ASSIGN_TO_MACHAX[AX6] = 0
$MA_IS_ROT_AX[AX6] = TRUE
$MA_ROT_IS_MODULO[AX6] = TRUE
; ************** Axis 10, “C99”
$MC_AXCONF_CHANAX_NAME_TAB[9] = “C99”
$MC_AXCONF_MACHAX_USED[9] = 10
$MA_SPIND_ASSIGN_TO_MACHAX[AX10] = 0
$MA_IS_ROT_AX[AX10] = TRUE
$MA_ROT_IS_MODULO[AX10] = TRUE
6.3 ESR
6.3.1 Use of drive-independent reaction
S axes Y and Z must stop after a 100 ms delay to give the retraction axis time
to cancel the mechanical coupling.
Parameterization
1. Enable the “Ext. stop and retract” and “Static synchronized actions” options.
2. Function assignment:
$MA_ESR_REACTION[X]=11 $MA_ESR_REACTION[Y]=12
$MA_ESR_REACTION[Z]=12 $MA_ESR_REACTION[A]=10
3. Drive configuration:
MD1639: RETRACT_SPEED[X]=400000 ; max. velocity in HEX format
MD1638: RETRACT_TIME[X]=10 ; mm/max. velocity in ms
MD1637: GEN_STOP_DELAY[Y]=100 ; in ms
MD1637: GEN_STOP_DELAY[Z]=100 ; in ms
MD1635: GEN_AXIS_MIN_SPEED[A]=1 ; Generator min. speed in
; rpm
4. Function enable (from part program or synchronized actions) by setting the
system variables:
$AA_ESR_ENABLE[X]=1 $AA_ESR_ENABLE[Y]=1
$AA_ESR_ENABLE[Z]=1 $AA_ESR_ENABLE[A]=1
5. Accelerate generator drive to “momentum” speed
(e.g. in spindle operation:
M03 S1000 ; Rotate CW, 1000 rpm)
6. Formulate trigger condition as static synchronized action(s), e.g.:
– dependent on intervention of the generator axis:
IDS=01 WHENEVER $AA_ESR_STAT[A]>0 DO $AN_ESR_TRIGGER=1
Task The A axis is to operate as the generator drive, while the X axis should retract
10 mm at maximum speed in the event of a fault, and axes Y and Z should stop
after a delay of 100 ms so that the retraction axis has time to cancel the me-
chanical coupling.
Preconditions The “Extended stop and retract”, “Static synchronized actions” and “ASUB”
options must be available.
Suppressing path During thread cutting, the path interpolation of X is suppressed for a stop and a
interpolation for movement at maximum speed to position POLF[X] interpolated instead. The
an axis movement of the other axes is still determined by the programmed contour or
the thread pitch and the spindle speed.
N10 G0 G90 X200 Z0 S200 M3 ;
N20 G0 G90 X170 ;
N22 POLF[X]=210 ;
LFPOS ; Retraction mode
POLFMASK(X) ; Activation of lift fast of X axis
LFON ; Interruption of thread cutting ON N25 G33 X100
I10 :
N30 X130 Z-45 K10 ;
N40 X155 Z-128 K10 ;
N50 X145 Z-168 K10 ;
N55 X120 I10 ;
N60 G0 Z0 LFOF ; Interruption of thread cutting OFF
N70 POLFMASK( ) ; Disable retraction for all axes
M30
Retraction in linear Example for an activation via a fast input with ASUB:
relation
Retraction in linear Example for parameterization with several axes and incremental programming:
relation and
N10 $AA_ESR_ENABLE[X1]=1 Activation via ESR
independent N12 $AA_ESR_ENABLE[Y]=1
N14 $AA_ESR_ENABLE[A1]=1)
N30 LFPOS ; Select retraction mode
N40 POLF[X]=IC(3.0) POLF[A1]=–4.0 ; Retraction positions for
; ; axis X and A1
N50 POLF[Y]=100 ; Program retraction position for Z
N60 X0 Y0 A0 G0
N70 POLFMLIN(X, Y) ; Select retraction in linear relation of
; ; X and Y axis
N75 POLFMASK(A1) ; Select retraction of axis A1
N80 Z100 G1 F1000 ; Retraction would move the X and Y axis in
; linear relation.
; Axis X by 3.0 and
; axis Y absolute to 100.
; example continued
7.5 Alarms
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, Diagnostics Guide
or in the Online help.
J
Notes
Brief Description 1
1.1 Introduction
Function The “setpoint exchange” function is used in applications in which the same
motor is used to traverse different machine axes.
Operating The function described below replaces the setpoint exchange technology card
conditions function (TE5) for systems with NCK SW >= 7.1.
An option is required for the function.
Compatibility Migration to NCK SW 7.1 requires adaptations to be made to machine data and
the PLC user program.
J
Notes
Detailed Description 2
2.1 Function
The “setpoint exchange” function is required in applications in which a single
motor needs to drive a number of axes/spindles such as, for example, on milling
machines with special millheads. The spindle motor is operated as both a tool
drive and a millhead orienting mechanism.
Motor
Motor
Spindle
Motor encoder
Fig. 2-2 Example 2: 1 motor encoder, separate millhead encoder and spindle encoder
Configuring Setpoint exchange enables a number of axes to use the same drive.
The same setpoint channel on this drive is assigned a number of times to define
the axes participating in setpoint exchange. Machine data MD 30110:
CTRLOUT_MODULE_NR must be pre-assigned with the same logical drive
number for every axis.
Note
Alarm 26018 is output if the option is missing.
Machine axes
Setpoint channel assignment via MD 30110:
X1 Y1 Z1 A1 B1 $MA_CTRLOUT_MODULE_NR[ 0, A1]=4
$MA_CTRLOUT_MODULE_NR[ 0, B1]=4
2 2
Gear
1
G2
M1 M2 M3 N
M4
1 G3
M
G1
M = Motor
G = Encoder
Activation The setpoint is exchanged and the corresponding interface signals are
evaluated in the PLC user program.
Note
An existing PLC user program may need to be modified due to changes in the
meaning of interface signals in comparison with the technology card solution.
At any one time, only one of the machine axes with the appropriate logical drive
number may have control via the setpoint channel of the drive.
Requests to transfer drive control are sent using DB31–..., DBX24.5.
The current drive control state is indicated in DB31–..., DBX96.5.
Access rights to the shared drive must be managed in the PLC user program.
Transfer
conditions
S Axis standstill of all axes involved
S Special functions such as reference point approach, measuring, travel to
fixed stop, function generator, star/delta changeover, drive parameter set
changeover are not active in the axis with drive control.
Special cases If a number of transfer requests are made simultaneously, exchange will not
take place. The last axis used remains in control of the drive. This is also the
case if there are no transfer requests pending.
If there are no transfer requests during machine power-up, drive control is
assigned to the first machine axis located with the same logical drive number.
Logical drive numbers are scanned in ascending order.
$MA_CTRLOUT_MODULE_NR[0,AX1] = 1
$MA_CTRLOUT_MODULE_NR[0,AX2] = 2
$MA_CTRLOUT_MODULE_NR[0,AX3] = 3
$MA_CTRLOUT_MODULE_NR[0,AX4] = 4 ; Drive control
during power-up
$MA_CTRLOUT_MODULE_NR[0,AX5] = 4
Diagram of the The following example illustrates a possible setpoint exchange sequence.
PLC program
Apply brake
actual axis
Transfer drive
control to actual axis
DB31.DBX24.5 = 0
Change over
mechanics
Transfer drive
control to setpoint axis
DB32.DBX24.5 = 1
No
Control transferred
DB32.DBX96.5 = 1
Yes
Transfer servo
enable to setpoint axis
DB32.DBX2.1 = 1
Release brake
setpoint axis
2.3 Alarms
Drive alarms are only displayed for axes with drive control.
$MA_NUM_ENCS[A1]=2
$MA_ENC_MODULE_NR[0,A1]=2
$MA_ENC_MODULE_NR[1,A1]=3
$MA_ENC_INPUT_NR[0,A1]=2
X1 Y1 Z1 A1 B1 $MA_ENC_INPUT_NR[1,A1]=2
$MA_SAFE_FUNCTION_ENABLE[A1]=1
$MA_SAFE_ENC_MODULE_NR[0,A1]=4
1 2 3 4 $MA_SAFE_ENC_INPUT_NR[0,A1]=1
2 2 2
1
N G2
M1 M2 M3
M4
Load 1
1
G3
M
Gear Load 2
G1
Fig. 2-5 Setpoint exchange in conjunction with single-encoder safety integrated system
Notes
Supplementary Conditions 3
Availability Setpoint exchange is available in SW 7.1 and higher.
Features Setpoint exchange is only possible in conjunction with 611D and PROFIBUS
drives MD 30100: CTRLOUT_SEGMENT_NR=1, 5 or 6. All other settings
generate alarm 26018.
The “Parking” operating state can only be activated via the axis to which drive
control has been assigned.
The “Drive Service Display” HMI diagnostics screen currently does not take into
account changes in assignments between axis and drive.
Setpoint exchange can only be started up via SinuComNc via the Expert List. A
dialog is not supported.
See the FBSI description (11.02 and later) for supplementary conditions for
Safety Integrated in conjunction with setpoint exchange.
Notes
Signal Descriptions 5
5.1 Axis/spindle-specific signals
DB31 –...
DBX24.5 Activate setpoint exchange
Data Block Signal(s) to axis/spindle (PLC –> NCK)
Edge evaluation: No Signal(s) updated: Cyclic Signal(s) valid from SW: 3.5
Signal state = 1
Request to axis to take over drive control.
Signal state = 0
Request to axis to relinquish drive control.
DB31 – ...
DBBX96.5 Status of setpoint exchange
Data Block Signal(s) from axis spindle (NCK –> PLC)
Edge evaluation: No Signal(s) updated: Cyclic Signal(s) valid from SW: 3.5
Signal state 1
The axis has taken over control of the drive.
Signal state 0
The axis has relinquished control of the drive.
Notes
Example 6
6.1 Example
Notes
Notes
Notes
Brief Description 1
Tangential control The “tangential control” function belongs to the category of NC functions with
coupled axes. It is characterized by the following features:
S There are two leading axes which are moved independently by means of
normal traversing instructions (leading axes). In addition there is a following
axis whose position is determined as a function of the status of these
leading axes (position, tangent).
S The leading axes and following axis are only coupled at certain times, i.e.
the coupling can be switched on and off by program instructions.
Corners in the If the contour defined by the leading axes contains a cornerthe following points
path contour are to be noted with respect to the following rotary axis:
S Up to and including SW 3.1, the following rotary axis follows the leading
axes in steps.
S In SW 3.2 and higher you can select one of two different types of response:
– The path velocity is reduced to such an extent that the following axis
reaches its target position synchronously with the other axes.
– If TLIFT has been programmed, an intermediate block is inserted at any
corner whose angle is greater than the “tangential angle for corner
recognition” (EPS_TLIFT_TANG_STEP). In this inserted intermediate
block, the rotary axis is moved as fast as possible to the position
corresponding to the tangent after the corner. The limit values set for this
axis are not violated.
Canceling the
follow-up
grouping
S In SW 6.3 and higher, the definition of a follow-up grouping can be
canceled in order to track new leading axes with the following axis.
Applications The tangential control function can be used for example for the following
applications:
– Tangential positioning of a rotatable tool for nibbling operations.
– Follow-up control of tool alignment for a bandsaw.
– Positioning a dressing tool on a grinding wheel.
– Positioning of a gear shaping cutter in glass or paper processing
applications.
– Tangential feed of a wire for 5-axis welding.
J
Detailed Description 2
2.1 Characteristics of tangential follow-up control
Task assignment Follow-up control for the rotary axis must be implemented so that the axis is
always positioned at a specified angle on the programmed path of the two
leading axes.
Y
C
Fig. 2-1 Tangential control, offset angle of zero degrees to path tangent
In the diagram, X and Y are the leading axes in which the path is programmed;
C is the following axis whose position is determined by the control as a function
of the leading axis values and of the desired offset angle between tangent and
alignment in C.
The tangential control will function only if the leading axes are used as path
axes. A leading axis which is programmed as a positioning axis (POS or POSA)
does not specify values required for the follow-up control function.
Special cases
– G641 rounding is possible between two blocks, both of which move at
least one of the two leading axes of the tangentially following axis.
– G641 rounding is possible between two blocks, both of which do not
move either of the leading axes of the tangentially following axis.
In both cases, an intermediate block for the tangentially following axis is not
created. An intermediate block is not required because in the preprocessing run
the rounded contour is detected and the limit values for the following axis are
calculated.
– Hidden corner in space
A corner relevant for the tangential follow-up control can be hidden in
space. (The projection of the contour to the level defined by the two
leading axes is relevant.)
If there is a hidden corner in space, an intermediate block is inserted
before the block (in this case N6) causing the tangential jump. This
intermediate block moves the following axis to the new position. This
block transition is not smoothed.
N1 TANG (C, X, Y, 1)
N2 TLIFT (C)
N3 G1 G641 X0 Y0 F1000
N4 TANGON (C)
N5 X10
N6 Y10 ; the rotary axis is repositioned
; before this block is processed.
N7 M30
S The assignment between the leading and following axes is declared to the
system (TANG)
Influence on The position of the rotary axis to which follow-up control is applied can act as
transformations the input value for a transformation.
References: /FB/, M1, “Transmit/Peripheral Surface Transformation”
Note
The user is recommended to program TLIFT if tangential control is used
together with a transformation. TLIFT prevents the follow-up axis from
overtraveling and protects against excessive compensating movements.
Explicit If a following axis, which is being made to follow its leading axes, is positioned
programming of explicitly, then the position specification is added to the offset angle
the follow-up axis programmed in the activation instruction TANGON. See 2.2.2. Motional
commands (AC, IC, DC, POS) are permitted.
Reference point Follow-up control is deactivated while the following axis executes a reference
approach point approach.
Multi-channel The cross-channel block search in Program Test mode (SERUPRO “search run
block search in by program test”) can be used to simulate tangential follow-up of axes in
SW 6.1 and higher SW 6.2 and higher.
For more information about multi-channel SERUPRO block search, please see
Y
C
Activation is programmed as follows for the above example and an offset angle
of 90 degrees:
TANGON(C, 90)
In response to every motion in path axes X and Y, following axis C is rotated to
an angle of 90 degrees in the relation to the path tangent.
After axis assignment with TANG(), the TLIFT() instruction must be written if the
corner response is to be contained in an intermediate block.
TLIFT (C)
The control reads machine data
MD 37400: EPS_TLIFT_TANG_STEP for the tangential following axis C.
If the tangential angle jump exceeds the value (absolute value) of the angle set
in the MD, the control recognizes a “corner” and approaches the new position of
the following axis via an intermediate block.
RESET/end of part An activated tangential control can remain active for further machining
program operations. See
Note
The assignment between 2 master axes and a slave axis programmed with
TANG(...) is not canceled by TANGOF. See 2.2.6.
Example for If the definition of the follow-up axis assignment is not canceled, an attempt to
geometry axis execute a geometry axis switchover is suppressed and an alarm is output.
switchover N10 GEOAX(2, Y1)
N20 TANG(A, X, Y)
N30 TANGON(A, 90)
N40 G2 F8000 X0 Y0 I0 J50
N50 GEOAX(2, Y2) ; Alarm 14415, geometry axis to be deleted
; is still leading axis for follow-up
; axis assignment
Geometry axis The following example shows how TANGDEL is used correctly in association
switchover with with an axis switchover.
TANGDEL
Description of When the axis moves backwards and forwards along the path, the tangent turns
problem abruptly through 180 degrees at the path reversal point. This response is not
generally desirable for this type of machining operation (e.g. grinding of a
contour). It is far better for the reverse motion to be executed at the same offset
angle (negative) as the forward motion.
ÇÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇÇ Undesirable reverse motion
ÇÇÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇÇÇ
Desirable reverse motion
ÇÇÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇÇÇ X
Programming A minimum and a maximum value for the position of the axis made to follow (“C”
in example) referred to the base coordinate system are transferred to the control
with G25 and G26. These working area limitations are activated with WALIMON
and deactivated again with WALIMOF. The working area limitation must be
active at the instant of path reversal.
References: /PG/, “Programming Guide: Fundamentals”
Effect If the current offset angle is outside the active working area limitation for the
following axis, an attempt is made to return to within the permissible working
area by means of the negative offset angle. This response corresponds to that
shown in the lower diagram of Fig. 2-3.
J
Notes
Supplementary Conditions 3
Availability The “Tangential control” function is an option and available for
37400 $MA_EPS_TLIFT_TANG_STEP
MD number Tangential angle for corner recognition
Default setting: 5 Minimum input limit: 0 Maximum input limit: 180
Changes effective after RESET Protection level: 2 / 7 Unit: Degrees
Data type: DOUBLE Applies as of SW: 3.2
Meaning: If TLIFT has been programmed and the axis is under tangential follow-up control, a step
change in the position setpoint larger than EPS_TLIFT_TANG_STEP causes an intermedi-
ate block to be inserted. The intermediate block moves the axis to the position correspond-
ing to the initial tangent in the next block.
MD irrelevant for ...... TLIFT not activated
Related to .... TLIFT instruction
37402 $MA_TANG_OFFSET
MD number Default angle for tangential follow-up control
Default setting: 0 Minimum input limit: – Maximum input limit: –
Changes effective after RESET Protection level: 2 / 7 Unit: Degrees
Data type: DOUBLE Applies as of SW: 3.2
Meaning: Default offset (angle) which the following axis forms with the tangent. The angle acts addi-
tively to the angle programmed in the TANGON block.
MD irrelevant for ...... If no tangential follow-up control.
Related to .... TANGON instruction
Signal Descriptions 5
Special response The movement of the axis under tangential follow-up control to compensate for
to signals a tangent jump at a corner of the path (defined by the movements of the leading
axis) can be stopped by the following signals (e.g. for test purposes):
Notes
Examples 6
Positioning of
workpiece
Workpiece
Saw band
X
Positioning of tool
Dresser
Grinding
wheel
Notes
Brief Description 1
1.1 Brief description (840Di)
Aim of the This section describes how technology functions are installed and activated in
description the form of loadable compile cycles. The description applies to all of the
following technology functions available from Siemens:
S Setpoint exchange
Order no.: 6FC5 251–0AC05–0AA0
Compile cycle: CCSETP.ELF
References: Setpoint Exchange chapter (TE5)
S Analog axis
The compile cycle is now available as a hardware solution.
S Speed/torque coupling
The compile cycle is available as a general function from SW 6.4 and higher.
Supply format Up to and including SW 6.3, the technology functions were supplied in the form
of compile cycles on the technology PC card. Several functions were normally
stored on each PC card but only one function was used. With SW 6.4, the
technology functions are supplied individually as loadable compile cycles.
Tips for use The following chapters describe how to load and activate the compile cycles
and set the necessary NCK machine data.
Please follow the instructions in Chapter 2 if you have not already used compile
cycles.
Follow the instructions in Chapter 3 if you have made an archive from an opera-
tional control using compile cycles from a technology PC card and want to re-
place these compile cycles with more recent versions in the form of loadable
compile cycles.
S SinuCom NC
S SinuCopy FFS
S HMI Advanced, SW 6.3 and higher
required.
Furthermore, a PG/PC with MPI connection to the NCU must also be available.
Note
The following must be observed for system start-up
– Installation and Start-Up Guide /IAD/
– Installation and Start-Up Guide HMI/MMC and if necessary.
– The current Standard Upgrade Guide.
Detailed Description 2
2.1 Design (840D)
Delivery format Technology functions that are available as loadable compile cycles must be
purchased as options:
References: Ordering information in Catalog NC 60.2002
To obtain the compile cycle in the form of a loadable file (.ELF extension for
executable and linking format), please contact your regional Siemens sales
partner.
Installation and The following steps are necessary in order to install and activate a loadable
activation compile cycle.
1. Copy the compile cycle into the flash file system (FFS) of the NCK.
2. Load the compile cycle into the NCK system software.
3. Activate the compile cycle in the NCK.
Note
The further use of existing archives with compile cycles is described in
Chapter 3, page 3/TE01/3-11.
2.1.1 Copying compile cycles into the flash file system (FFS)
Target directory In order that a compile cycle is detected and loaded while powering up the NC,
all ELF files (*.ELF) belonging to the compile cycle must be copied into the follo-
wing FFS directory of the PC card: \_N_CCOEM_DIR
Note
It must be ensured that sufficient memory space is available before copying a
compile cycle or the corresponding ELF file(s) into the FFS of the PC card.
The ELF files can be copied in different ways into the FFS of the PC card:
S “ddetest.exe” program
(The program: “ddetest.exe” is supplied with the SINUMERIK user interface
“HMI Advanced”.)
The following three steps must be performed to copy the ELF files into the
FFS of the active PC card of the NCU
1. Create a variable (e.g. COPYELF):
Execute <Doit> new( COPYELF, –1)
3. Start PI service to load an ELF file stored on diskette in drive: “a:\”, e.g.
ccmcsc.elf:
Execute <Doit> copy_to_nc ( a:\ccmcsc.elf,
/NC/_N_NC_CARD_DIR/_N_CCOEM_DIR/_N_CCMCSC_ELF, COPYELF)
After starting the hotlink, variable “COPYELF” displays the initialization
value –1. During the loading of the ELF file, the value increments from 0
to 99. A value of 100 indicates successful loading.
S Interface version of a compile cycle that has not yet been loaded
HMI Advanced (excerpt):
Services > <Medium> > Softkey: “Properties”
Display:
Contents: Loadable compile cycle
Interface: . . . . @Interfaces=<1st digit>.<2nd digit> . . . .
Note
The display of code and data range start addresses of a compile cycle are
provided for diagnostics purposes only and have no significance in normal
operation.
Dependencies The following dependencies exist between the interface versionsof a compile
cycle and the NC system software:
Caution
If alarm 7200 is displayed after start-up, this means no compile cycle has been
loaded!
Option The corresponding option (see Section 4.2, page 3/TE01/4-15) must be en-
abled before activating a technology function as described below.
If the option data has not been set, the following alarm appears every time the
NCK boots and the technology function will not be activated:
Note
The previous compile cycle option data
– MD 19600: $ON_CC_EVENT_MASK[n]
used to activate the compiled technology functions are not relevant for the
loadable compile cycles.
S $MN_CC_ACTIVE_IN_CHAN_<name>[n], where n = 0, 1
in the number range from 60900 to 60999.
Example: Technology function MCS coupling (CCMCSC.ELF)
– $MN_CC_ACTIVE_IN_CHAN_MCSC[0]
– $MN_CC_ACTIVE_IN_CHAN_MCSC[1]
Activation for 1st The technology functions are activated in the first NC channel via
NC channel – $MN_CC_ACTIVE_IN_CHAN_<identifier>[0], Bit0 = 1
The meanings of all further machine data bits are described in the function de-
scriptions (TE1–TE8).
Note
Please refer also to the following documents for system installation and
start-up:
References:
– /IAD/ Installation & Start-up Guide 840D/611D
– /IAM/ Installation & Start-up Guide HMI/MMC
– or the current standard upgrade instructions
Caution
! The first time a bit is set in one of the function-specific NCK machine data:
S $MN_CC_ACTIVE_IN_CHAN_XXXX[0],
the control outputs the following alarm:
S Alarm “4400 MD modification causes reorganization of the buffered memory
(data will be lost ! )”
and you are warned that all user data (part programs, tool data, etc.) will be
deleted on the next run-up. It may be necessary to create an archive AFTER
setting this data and PRIOR to triggering an NCK RESET.
Function-spec. The further function-specific installation routines are described in the corre-
startup sponding function descriptions (TE1–TE8).
Notes
Supplementary Conditions 3
3.1 Transition to newer NCK versions (840D)
In order to be able to use technology functions from an existing archive in con-
junction with newer NCK versions (NCK 06.03.23 and later), the archive must
first be updated before being loaded in the NC.
Standard The standard creation of an archive for user data backup is described in:
References:
/IAD/ Installation & Start-up Guide 840D/SIMODRIVE 611D
Chapter: Data Backup
Optimized Data backup with optimization of SRAM utilization is only necessary if an ar-
chive for an NCK Version 6.3.xx is being used and the NCK SRAM needs to be
optimized.
The memory configuration machine data:
S MD18238: MM_CC_MD_MEM_SIZE = 1 must be reset to enable the NCK
SRAM previously requested explicitly for technology functions.
An explicit request no longer has to be sent to the SRAM memory as the
technology functions loaded via ELF files will request the required SRAM
memory on a function-specific basis from the NCK memory management.
Resetting the above machine data will reorganize the SRAM memory the next
time the NCK starts up and all user data will be lost.
In this state, you must create a new archive BEFORE resetting the NCK.
Follow steps 3.1.2 to 3.1.8 below.
PC card Replace the previous PC card with the one that contains the new system and
clear the SRAM with:
NCU RESET with NCU switch S3 to position 1.
After this start-up, alarm 4060 “standard machine data loaded” is present.
When the NCK is rebooted after an NCU reset, the compile cycles are loaded
from the FFS to the NCK system software.
You can check the versions of the loaded compile cycles (see Subsec-
tion 2.1.2).
Option The option bits for the loaded ELF files can be set (see Subsection 2.1.3).
Channel activation Subsection 2.1.3 describes the channel settings for the individual technology
functions in
MD $MN_CC_ACTIVE_IN_CHAN_XXX[0] and
MD $MN_CC_ACTIVE_IN_CHAN_XXX[1]
The associated MD number is derived from the loading sequence in 3.1.4.
Notes
60900 + i CC_ACTIV_IN_CHAN_XXXX[n]
where i = 0. 1. 2. 3 ... with: XXXX = function code, n = 0 or 1
MD number n = 0: Activate technology function in NC channels
n = 1: Additional functions within the technology function
Default setting: 0 Minimum input limit: 0 Maximum input limit: FFFF
Changes effective after RESET Protection level: 2 / 7 Unit: –
Data type: UINT16 Applies as of SW: 2.2
Meaning: Activate technology function in NC channels:
The technology function is activated in the NC channels by means of index n = 0.
Bit 0 = 1: Technology function activated in NC channel 1
Bit n = 1: Technology function activated in NC channel n+1
For more details about for which NC channels a technology function can be activated,
please see the references below.
Additional functions within the technology function:
The MD with index n = 1 activates additional functions within the relevant technology func-
tion. See References below.
References: /FB3/ Description of Functions Special Functions TE1 – TExx
4.2 Options
Technology functions that are available as loadable compile cycles must be
purchased separately as options.
References: Ordering information in Catalog NC 60
To obtain the required compile cycle in the form of a loadable file (*.ELF), please
contact your regional Siemens sales partner.
J
Notes
Notes
Brief Description 1
1.1 Features
If part programs, which use compile cycles, are simulated on the SINUMERIK
user interface, e.g. HMI Advanced, simulation is aborted and corresponding
error messages are output. The reason is that compile cycle support has not yet
been implemented on the HMI.
The measures described below show how to set up the runtime environment to
enable the simulation of part programs, which use compile cycles, without error
messages.
1.2 Requirements
HMI Advanced At least the following version is required in order to simulate part programs
which use the functions of OEM transformations:
Notes
Detailed Description 2
2.1 OEM transformations
The runtime environment for simulation must be configured as follows when
using OEM transformations:
1. Create a new directory: <Installation path>/OEM on the computer on which
the HMI application, e.g. HMI Advanced, is installed in the directory structure
of the HMI application next to the standard existing directory: <Installation
path>/MMC2.
2. In the OEM directory created under 1., create a file: DPSIM.TEA with the
following contents:
$MN_NC_USER_CODE_CONF_NAME_TAB[196]=“TRAORI”
$MN_NC_USER_CODE_CONF_NAME_TAB[197]=“_TRAORI”
$MN_NC_USER_CODE_CONF_NAME_TAB[198]=“TRACON”
$MN_NC_USER_CODE_CONF_NAME_TAB[199]=“_TRACON”
CHANDATA(1)
$MC_AXCONF_GEOAX_ASSIGN_TAB[0]=1
$MC_AXCONF_GEOAX_ASSIGN_TAB[1]=2
$MC_AXCONF_GEOAX_ASSIGN_TAB[2]=3
$MC_TRAFO_RESET_VALUE=0
; Make sure that transformation types 4096 – 4101 are deleted
$MC_TRAFO_TYPE_1=0
$MC_TRAFO_TYPE_2=0
$MC_TRAFO_TYPE_3=0
; Delete transformation chains with OEM transformations
$MC_TRACON_CHAIN_1[0]=0
$MC_TRACON_CHAIN_1[1]=0
; NOTICE! No spaces after M30
M30
3. In the OEM directory created under 1., create a file: DPSIM.INI with the follo-
wing contents:
[PRELOAD]
CYCLES=1
CYCLEINTERFACE=0
Note
The TRAORI.SPF and TRACON.SPF manufacturer cycles created in 5. and
6. must not be loaded onto the NC.
7. Start the simulation.
8. Run a data comparison for the cycles after the simulation has started up:
S HMI Advanced: Data comparison > Compare cycles
Note
At least the password for protection level 3 “End user: Service” is needed
for the data comparison.
J
Supplementary Conditions 3
No supplementary conditions exist.
J
Notes
Notes
Brief Description 1
Description The “clearance control” technological function is used to maintain a one-dimen-
of functions sional (1D) or three-dimensional (3D) clearance required for technological rea-
sons during a machining process. The clearance to be maintained may be e.g.
the distance of a tool from the workpiece surface to be machined.
Function code The code for the “clearance control” technological function for function-specific
identifiers of program commands, machine data, etc. is:
Availability The “clearance control” technological function is available for the following sys-
tems:
S SINUMERIK 840D
S SINUMERIK 840Di
Restrictions The “clearance control” technological function is subject to the following restric-
tions:
S SINUMERIK 840D
The technological function can only be activated in the first channel on the
NC in SW up to 6.3.
Notes
Detailed Description 2
2.1 Description of functions
Laser cutting technology is used as an example for the detailed description of
the “clearance control” functionality laser cutting.
Laser cutting During laser cutting, a divergent parallel laser beam is directed across a fiber-
optic cable or via a mirror to a light-collecting lens mounted on the laser machin-
ing head. The collecting lens focuses the laser beam at its focal point. Typical
focal lengths are from 5 to 20 cm.
The position of the focal point in relation to the workpiece is an extremely critical
process parameter in laser cutting operations and must be kept constant with a
tolerance of 100 mm.
The distance between the focal point and the workpiece, which is also a key
process variable, is usually measured by means of a high-speed capacitive
sensor. The analog output voltage of the clearance sensor is approximately
proportional to the distance between the sensor and the workpiece surface.
The output voltage of the clearance sensor is transmitted as a digital input value
via an analog I/O module to the control where, in the event of deviations from
the setpoint clearance, it generates an additional velocity setpoint for the ma-
chining head motion axes.
System overview An overview of the system components required for clearance control in con-
(840D) junction with SINUMERIK 840D is provided in Fig. 2-1.
SINUMERIK 840D
with SIMODRIVE 611D NCK
I/Os
SINUMERIK
Fig. 2-1 System components for clearance control with SINUMERIK 840D
System overview An overview of the system components required for clearance control in con-
(840Di) junction with SINUMERIK 840Di is provided in Fig. 2-2.
SINUMERIK 840Di
Laser
Y
Machining head X
with
clearance sensor +
Z Motion axes X and Y
– Clearance control for axis Z
Clearance
to be
controlled Workpiece surface
Fig. 2-2 System components for clearance control with SINUMERIK 840Di
1D/3D Clearance control can be used for 1D and 3D machining with up to 5 interpola-
machining tory axes.
S 1D machining
In the case of 1D machining, clearance control is only applied to one axis,
e.g. axis Z, as shown in the example machine configuration in the system
overview for each SINUMERIK system (see above, Fig. 2-1 and Fig. 2-2).
Clearance control acts only in the direction of the Z axis.
S 3D machining
3 linear axes are used to position the tool. One or two rotary axes are used
for the orientation of the tool vector (5-axis machining). Up to 3 linear axes
are controlled by the clearance control. The direction of the compensation
movement can be defined either in the direction:
– of the tool orientation vector (normal case)
– of the programmable compensation vector
Clearance control Clearance control is based on the two characteristics shown below in Fig. 2-3:
characteristics – Clearance sensor characteristic (sensor property)
– Clearance control characteristic (can be parameterized via machine
data)
Uact
0 Uact 0
Sensor output Actual Sensor
voltage U[V] clearance clearance
Actual compensatory velocity S[mm]
of clearance control
Fig. 2-3 Correlation between characteristics: Clearance sensor and clearance control
S The clearance sensor measures the actual distance from the workpiece
surface and returns as its output variable a voltage in [V], which is almost
directly proportional to the distance.
Max. closed-loop The maximum achievable closed-loop control gain is determined by the follo-
control gain wing delay and reaction times of the overall system:
1. Reaction time of sensor
2. Delay time of A/D converter
3. Signal processing delay times/deadtimes
4. Reaction time of position controller
5. Reaction times of speed and current controllers
6. Time constants of motor and mechanical components
Deadtimes In order to maximize the dynamics of the control response, clearance control
takes place on the highest priority position controller level of the NCK.
System-specific distances in the interface between the I/O modules and drives
produce the following non-identical deadtimes.
(840D) SINUMERIK 840D with I/O modules connected to the SINUMERIK drive bus
and SIMODRIVE 611D drives produces a deadtime Tdead of:
Tdead 2 * position controller cycle + 2 * speed controller cycle
(840Di) SINUMERIK 840Di with I/O modules and drives connected via PROFIBUS-DP
produces a deadtime Tdead of:
Tdead 2 * position controller cycle + 2 * speed controller cycle +
conversion time + channel cycle time +
2 * “PROFIBUS-DP cycle” +
To
S To
To is the setpoint transfer time of the drive parameterized in SIMATIC S7:
HW-Config.
Eliminating the The closed-loop control gain Kv set for the position controller corresponds to a
delay time delay time ∆t. The delay time ∆t is the time that elapses until the actual position
of the axis to be controlled correlates with the setpoint position in response to a
velocity specification v.
1
With ∆t =
Kv
Optimizing the If the control response of the axis is too rigid due to the velocity feedforward
control response control, the control response can be optimized with the following axis-specific
NC machine data:
(840D) The velocity filters of the SIMODRIVE 611D drive provide an additional means
of damping:
S MD1502: SPEED_FILTER_1_TIME (time constant for speed setpoint filter 1)
S MD1503: SPEED_FILTER_2_TIME (time constant for speed setpoint filter 2)
(840Di) The velocity filters of the SIMODRIVE 611 universal / E and POSMO SI, CD, CA
drives provide an additional means of damping:
S Parameter 1502: (time constant for speed setpoint filter 1)
S Parameter 1503: (time constant for speed setpoint filter 2)
Caution
! Every damping measure implemented contributes to increasing the overall time
constant of the control loop!
References You will find a complete description of the velocity feedforward control in:
References: /FB2/ Description of Functions Extended Functions
Chapter: Compensations K3,
Following Error Compensation (Feedforward Control)
The figures below provide an overview of how the clearance control function is
embedded in the control loop structure of the NC position controller and the
internal structure of the function.
SINUMERIK –NC
Interpolator Position
controller
NCK I/Os
Clearance control
(A/D conversion)
Sensor
electronics
P PI
+ – M
Fig. 2-4 Control structure, position controller with clearance control (principle)
Clearance control
Limits MD62502 CLC_ANALOG_IN
Interpolator CLC_LIM(...) *)
Position controller
MD62510 CLC_SENSOR_LOWER_LIMIT[x] Sensor characteristic
MD62510 CLC_SENSOR_UPPER_LIMIT[x] CLC_SEL(...) *)
MD62516 CLC_SENSOR_VELO_LIMIT MD6251x CLC_SENSOR_VOLTAGE_TABLE_y
$A_INA[x]
Standard The compensation vector of the clearance control and the tool orientation vector
compensation are normally identical. Consequently, the compensation movement of the clear-
vector ance control is normally always in the direction of the tool orientation.
Compensation vector
Z
Y
Note
In all the figures in this chapter, the traversing movement of the machining head
needed in order to machine the workpiece is in the direction of the Y
coordinate, i.e. perpendicular to the drawing plane.
As long as the tool orientation, and hence the compensation vector, is perpen-
dicular to the workpiece surface, no disadvantage for the machining process
results from the compensation movements of the clearance control.
If a tool setting angle is needed for technological reasons, with the result that
the tool orientation is no longer perpendicular to the workpiece surface, the ma-
chining point on the workpiece surface is shifted during compensation move-
ments of the clearance control along the standard compensation vector.
Tool
Z setting angle
Y a
X Compensation vector
TCPProg
ÉÉÉÉÉÉÉÉÉÉ
Workpiece surface set
Setpoint/actual
KZ
deviation
TCPCLC
KX
value
ÉÉÉÉÉÉÉÉÉÉ
Workpiece surface act Bset Bact
Shift in
machining point
The reason for the shift in the machining point is the X component (KX) of the
compensation vector parallel to the workpiece surface. The TCP of the tool, and
thus the machining point B, is shifted by this amount.
Programmable When using the programmable compensation vector, the compensation move-
compensation ments of the clearance control are in the direction of the programmed vector,
vector and not in the direction of the tool orientation.
The X component specified above (KX) is omitted because the programmable
compensation vector is defined perpendicular to the workpiece surface. This
does not cause the machining point (B) to be shifted as a result of the com-
pensation movement of the clearance control.
Z
Y
X
TCPProg
Compensation vector
ÉÉÉÉÉÉÉÉÉÉÉ
Workpiece surface set
(programmed)
ÉÉÉÉÉÉÉÉÉÉÉ
Setpoint/actual
deviation
TCPCLC
value
ÉÉÉÉÉÉÉÉÉÉÉ
Workpiece surface act Bact = Bset
Changes in Based on the above observations, a different behavior also results when the
orientation orientation of the machining head is changed while the clearance control is ac-
tive.
In Fig. 2-9: The normal case is shown on the left (compensation vector == tool
orientation vector); and the case with the programmed compensation vector is
shown on the right.
Z
Y
1 3 1 3
X Compensation vector
(tool orientation
vector) Compensation vector
(programmed)
TCPProg TCPProg
ÉÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉÉÉ
4 2
2 4
Setpoint/actual
deviation
ÉÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉÉÉ
Fig. 2-9 Change in orientation of the machining head
S Dynamic response
The overlaid sensor motion uses the current residual dynamic response that
is still in reserve after the programmed axis motion (velocity and accelera-
tion). The proportion of residual acceleration that must be used can be set
as a percentage in a machine data.
S Sensor characteristic
The gain characteristic of a sensor can be defined with up to 10 interpolation
points.
S Sensors
Two sensors with different gain characteristics (e.g. a mechanical and a ca-
pacitive sensor) can be used simultaneously. The active sensor characteris-
tic can be switched over block-synchronously by means of a language com-
mand in the part program.
S Motion limitation
The lower and upper limits configured in the NC machine data for the axis
movements induced by clearance control can be changed block-synchro-
nously by means of a language command in the part program.
An alarm appears when a limit is reached. The alarm response (stop all tra-
versing movements or display only) can be configured. The current position
offset can be frozen by means of a PLC signal.
S Response on deactivation
The deactivation response of the clearance control function can be pro-
grammed either for synchronization with the current axis positions (no com-
pensating movement) or for compensating axis movements to the last pro-
grammed axis positions (axis positions without clearance control).
S Sensor signal
The sensor signal can be smoothed via a PT1 filter with adjustable time
constant.
Sensor signal If the clearance sensor used has an additional “sensor collision” signal for de-
tecting a collision between the sensor and the workpiece being machined, this
signal can be made available to the clearance control function via a digital NCK
peripheral input.
In response to this signal, the clearance control function applies a retraction
motion in all clearance-controlled axes. The retraction motion is executed inde-
pendently of the current value of the velocity override with maximum traversing
velocity in a positive control direction until the currently valid upper limit of the
control range is reached. Path motion is stopped simultaneously.
Once all traversing movements have come to a standstill, part program proc-
essing can be resumed with NC START.
Parameterization The digital peripheral input to which the “sensor collision” signal is wired is as-
signed to the clearance control function via the following machine data:
2.5 Startup
Compile cycle Before starting up the technological function, make sure that the corresponding
compile cycle has been loaded and activated.
Note
The technological function can be activated for several channels
simultaneously.
Memory The technological function requires additional data in the NCK-internal block
configuration memory. The following memory-configuring channel-specific machine data must
be parameterized:
Note
The values indicated must be entered in addition to the existing machine data
value x.
Analog input The following machine data must be parameterized for the analog input:
S MD 10300: FASTIO_ANA_NUM_INPUTS
Number of active analog inputs
Digital input The following machine data must be parameterized for the digital input:
S MD 10350: FASTIO_DIG_NUM_INPUTS
Number of active digital input bytes
References A complete description of the analog and digital outputs appears in:
/FB2/ Description of Functions Extended Functions
Digital and Analog NCK I/Os (A4)
Analog input The following machine data must be parameterized for the analog input:
S MD 10300: FASTIO_ANA_NUM_INPUTS
Number of active analog inputs
S MD 10362: HW_ASSIGN_ANA_FASTIN
I/O address of I/O module
Digital input Subsequent parameter settings do not have to be made if a digital input on the
MCI board extension module (option) is used.
If an I/O module on PROFIBUS-DP is used for the digital input, the following
machine data must be parameterized:
S MD 10350: FASTIO_DIG_NUM_INPUTS
Number of active digital input bytes
S MD 10366: HW_ASSIGN_DIG_FASTIN
I/O address of I/O module
References A complete description of the parameter settings for analog and digital I/Os on a
SINUMERIK 840Di appears in:
/HBI/ SINUMERIK 840Di Manual
NC Installation and Start-Up with HMI Advanced,
Digital and Analog I/Os
Reference The programmable compensation vector specifies the direction in which the
coordinate system compensation movement of the clearance control takes place. The compensa-
tion vector always refers to the basic coordinate system (machine coordinate
system).
The start coordinates [Xa, Ya, Za] of the compensation vector coincide with the
origin of the basic coordinate system and are thus always [0, 0, 0].
The end coordinates [Xe, Ye, Ze] of the compensation vector are determined by
the actual positions of 3 channel axes, known as the direction axes.
Direction axes The direction axes must meet the following conditions:
1. The direction axes must be channel axes of the channel in which the clear-
ance control is activated.
2. The direction axes must be linear axes.
Note
Since the direction axes are only used to interpolate the direction compo-
nents, they do not need mechanical axes and can therefore be configured
as simulation axes.
3. [mm] or [inch] must be selected as the unit of measurement for the direction
axes.
4. The direction axes may not participate in an axis coupling, e.g. transforma-
tion, electronic gear, etc.
5. To ensure that the dynamic response of the path is not limited by the dy-
namic response of the direction axes, the following machine data for the
direction axes:
– MD32000: $MA_MAX_AX_VELO[x]
– MD32200: $MA_POSCTRL_GAIN[x]
– MD32230: $MA_MAX_AX_ACCEL[x]
x = axis number
must be set greater than or equal to the corresponding values of the geome-
try axes of the channel.
The following machine data is used to specify which channel axis is the direc-
tion axis:
S MD62528: $MC_CLC_PROG_ORI_AX_MASK
Each machine data bit corresponds to a channel axis.
Format: Bit31 Bit0
........
Channel axis 1
:
:
Channel axis 32
The channel axes are assigned to the end coordinates [Xe, Ye, Ze] of the com-
pensation vector in ascending order of bit numbers.
– Coordinate X = channel axis corresponding to bit a
– Coordinate Y = channel axis corresponding to bit b
– Coordinate Z = channel axis corresponding to bit c
where a < b < c
Current The difference angle is the angle between the tool orientation vector and the
difference angle compensation vector. If the current difference angle of the clearance control is
to be output in a system variable $AC_PARAM[n], index n of the system vari-
able should be entered in the following machine data:
S MD65530 $MC_CLC_PROG_ORI_ANGLE_AC_PARAM
Permissible The limit angle specifies the maximum difference angle allowed between the
limit angle tool orientation vector and the compensation vector. The limit angle is config-
ured via the following machine data:
S MD65520 $MC_CLC_PROG_ORI_MAX_ANGLE
Part program The following machine data must be parameterized for the declaration of the
identifiers function-specific part program identifiers CLC_GAIN and CLC_VOFF:
1D/3D clearance The following machine data is used to select 1D or 3D clearance control:
control
S MD62500: CLC_AXNO (axis assignment for clearance control) = x
– x > 0: 1D clearance control where x = axis number of clearance-con-
trolled channel axis
– x = –1: 1st 5-axis transformation configured in the channel
– x = –2: 2nd 5-axis transformation configured in the channel
S MD62502: CLC_ANALOG_IN = x
x = input number, as when addressing system variables
$A_INA[x]
S MD62504: CLC_SENSOR_TOUCHED_INPUT = x
x = input number, as when addressing system variables
$A_IN[x]
Exact stop In order to be able to meet a programmed “Exact stop coarse/fine reached”
block change condition (G601/G602), the traversing velocity induced by the
clearance control function in the clearance-controlled axes must be lower than
the standstill velocity tolerance at least for the duration of the standstill delay
time.
The following machine data must be modified to optimize the block change
time:
S MD 36000: STOP_LIMIT_COARSE[x]
S MD 36010: STOP_LIMIT_FINE[x]
S MD 36020: POSITIONING_TIME [x]
S MD 36040: STANDSTILL_DELAY_TIME[x]
S MD 36060: STANDSTILL_VELO_TOL[x]
x = Axis number of clearance-controlled machine axis
Complete Set the remaining clearance control parameters in accordance with the data
parameterization and signal descriptions in the following sections:
– 4 Data descriptions (MD, SD), page 3/TE1/4-43
– 5 Signal descriptions, page 3/TE1/5-57
Clearance sensor Connect the clearance sensor outputs to the I/O modules activated via machine
connecting data:
Test control Proceed as follows to test the control direction of the clearance control function:
direction – Activate clearance control via a part program with CLC(1) (see Subsec-
tion 2.6.1, page 3/TE1/2-22)
– Generate an input voltage, e.g. via the following synchronized action:
N100 $AC_TIMER[1]=2.5
N110 ID = 1 EVERY $AC_TIMER[1] >= 2.5 DO $AC__TIMER[1] = 0
N120 ID = 2 WHENEVER $AC_TIMER[1] < 2.0 DO $A_OUTA[6] = 100000.0 *
($AC_TIMER[1] – 1.0)
N130 ID = 3 WHENEVER $AC_TIMER[1] >= 2.0 DO $A_OUTA[6] = 0.0
1 2 3 4 Time [s]
–10
The voltage specification for the analog output $A_OUTA[6] used in the syn-
chronized action is subtracted from the clearance sensor input voltage by the
clearance control function and therefore has the opposite polarity to the input
signal.
Set the following machine data to induce the clearance control function to use
analog output 6 ($A_OUTA[6]) as an additional input overlaid on the sensor:
S MD 10366: CLC_OFFSET_ASSIGN_ANAOUT = 6
Note
Before the clearance control function is activated for the first time, check that
the entire working range enabled for clearance control:
S MD62505 CLC_SENSOR_LOWER_LIMIT
S MD62506 CLC_SENSOR_UPPER_LIMIT
is free of collisions.
An incorrect control direction can be corrected using one of the following meth-
ods:
– Reversing the polarity of the analog input
– Changing the sign of all values in the following machine data:
S MD62511 CLC_SENSOR_VELO_TABLE_1
S MD62513 CLC_SENSOR_VELO_TABLE_2
Sensor signal The quality of the analog input signal can be checked using one of the function-
check specific display data described in Section 2.7, page 3/TE1/2-33.
Function-spec. Function-specific alarm texts must first be integrated into the appropriate HMI
alarm texts data management before they can be displayed. A description of how to do this
appears in Section 2.8, page 3/TE1/2-36.
Completion A data backup is recommended once the start-up procedure has been com-
pleted.
(840D) References:
/IAD/ SINUMERIK 840D Installation & Start-Up Guide 840D
Data Backup
(840Di) References:
/HBI/ SINUMERIK 840Di Manual
User Data Backup/Series Installation and Start-Up
Note
A data backup is recommended once the start-up procedure has been
completed.
2.6 Programming
Syntax CLC(Mode)
Mode
– Format: Integer
– Value range: –1, 0, 1, 2, 3
CLC(...) is a procedure call and must therefore be programmed in a dedicated
part program block.
Functionality The following modes are available for activating/deactivating clearance control:
S CLC(1)
Activation of the clearance control with compensation vector in the direction
of the tool orientation
The evaluation of the sensor collision signal is deactivated.
S CLC(2)
Activation of the clearance control with compensation vector in the direction
of the tool orientation
The evaluation of the sensor collision signal is activated.
S CLC(3)
Activation of the clearance control with programmed compensation vector
The evaluation of the sensor collision signal is deactivated.
S CLC(0)
Deactivation of clearance control without canceling the position offset
If the clearance-controlled axes are still moving at the instant of deactivation
due to the sensor signal, they are stopped. The workpiece coordinate sys-
tem (WCS) is then synchronized with the corresponding standstill positions.
An automatic preprocessor stop is executed.
S CLC(–1)
Deactivation of clearance control with cancellation of the position offset
If the clearance-controlled axes are still moving at the instant of deactivation
due to the sensor signal, they are stopped. A position offset to the last pro-
grammed position is canceled automatically with the deactivation command.
RESET response CLC(0) is executed implicitly on a RESET (NC RESET or end of program).
Parameterizable The reset response of a 1D clearance control function can be defined via the
RESET response channel-specific NCK OEM machine data:
Caution
! The channel-specific NCK OEM machine data:
Block change with If exact stop is active at the end of the block (G60/G09 with G601/G602) the
exact stop block change may be delayed due to axis movements induced by the clearance
control sensor signal.
3D clearance control If 3D clearance control is activated before the 5-axis transformation required for
and 5-axis transf. clearance control in the direction of the tool orientation has been activated, the
clearance control function will be dependent on the active working plane
(G17/G18/G19):
– G17: Direction of clearance control = Z
– G18: Direction of clearance control = Y
Tool radius 3D clearance control can only be deactivated if no tool radius compensation is
compensation active in the channel at the instant of deactivation (G40).
If tool radius compensation is active (G41/G42), the following alarm appears:
S Alarm “75015 Channel number Block number CLC(0) with active TRC.”
Example
Orientation of the compensation vector perpendicular to a semi-circular work-
piece surface. The programming of the traversing movement is not considered.
Z
Y Compensation vector = [0, 0, –1]
N100 N200
ÉÉÉÉÉ
ÉÉÉÉÉ
Compensation vector = [1, 0, 0]
ÉÉÉÉÉ Compensation vector = [–1, 0, 0]
Caution
! If the workpiece coordinate system is transformed such that the coordinate
axes of the basic and workpiece coordinate systems are no longer parallel with
the same orientation, it is the sole responsibility of the user to ensure that an
appropriate transformation of the compensation vector is carried out.
Functionality The current closed-loop control gain for clearance control is produced by the
active characteristic specified via machine data:
S MD62510 CLC_SENSOR_VOLTAGE_TABLE1
S MD62511 CLC_SENSOR_VELO_TABLE1
or
S MD62512 CLC_SENSOR_VOLTAGE_TABLE2
S MD62513 CLC_SENSOR_VELO_TABLE2
CLC_GAIN can be used to multiply the closed-loop control gain of the charac-
teristic by a programmable factor.
Caution
! Increasing the gain (CLC_GAIN > 1.0) may lead to oscillation in the controlled
axes!
Instant of activation The modified closed-loop control gain is effective in the part program block in
which CLC_GAIN has been programmed or, if this block does not contain any
executable instructions, in the next part program block with executable instruc-
tions.
Response to The programmed factor remains active even when the gain characteristic is
characteristic changed over with CLC_SEL, i.e. it is immediately applied to the newly selected
changeover characteristic.
Response to If the closed-loop control gain for clearance control is deactivated with
CLC_GAIN=0.0 CLC_GAIN=0.0, the CLC position offset present at the instant of deactivation is
retained and is not changed. This can be used for example when laser-cutting
sheet steel to “skip over” sections of sheet that are not to be machined without
foundering.
If the tool orientation is changed when 3D clearance control is active and the
closed-loop control gain has been deactivated (CLC_GAIN=0.0), the CLC offset
vector is rotated simultaneously. This generally induces an offset in the CLC
operating point on the workpiece surface (see Fig. 2-12).
CLC position
Programmed path offset
Reset Within a part program, a modified gain factor must be reset by means of explic-
itly programming CLC_GAIN=1.0.
Functionality The maximum control range for clearance control can be modified on a
block-specific basis using CLC_LIM. The maximum programmable lower/upper
limit is limited by the limit value preset in the relevant machine data:
S MD62505 CLC_SENSOR_LOWER_LIMIT[1]
S MD62506 CLC_SENSOR_UPPER_LIMIT[1]
Control range +
MD62506[1]
max. programmable upper limit
MD62506[0]
upper limit initial setting
Programmable range
Set position
MD62506[0]
lower limit initial setting
MD62506[1]
max. programmable lower limit
Control range –
Fig. 2-13 Value range limits for lower and upper limit
The control range limit is effective in relation to the current programmed setpoint
position of the axis. If the limits are changed so that the actual position is
located outside the limit, the clearance control automatically effects travel back
to the limit range.
Reset Within a part program, a modified control range limit can be reset by explicitly
programming CLC_LIM without a “CLC_LIM( )” argument. This reapplies the
limits from the machine data:
S MD62505 CLC_SENSOR_LOWER_LIMIT[0]
S MD62506 CLC_SENSOR_UPPER_LIMIT[0]
RESET response The default setting from the machine data becomes effective after POWER ON
RESET, NC RESET and end of program.
Error messages The following programming errors are displayed with an alarm:
– Programming more than 2 arguments
Enabling signal
Enabling signal, can be inverted (see below: Parameterization)
– Format: Integer
– Value range: 0, 1
System variable $A_OUT[n] can be set block-synchronously in the part program
or asynchronously via synchronized actions.
Functionality Parameterizable digital outputs (system variable $A_OUT) can be used for di-
rection-dependent disabling of the traversing motion (manipulated variable) in-
duced via clearance control. As long as e.g. the negative traversing direction is
disabled, the clearance-controlled axes will only travel in a positive direction due
to the sensor signal.
This can be used for example when laser-cutting sheet steel to “skip over” sec-
tions of sheet that are not to be machined without foundering.
Parameterization The following machine data is used to parameterize the digital outputs:
Inversion of the Enter the negative number of the digital output to evaluate the digital output sig-
evaluation nal with inversion:
Parameter settings in the machine data:
– MD62523: CLC_LOCK_DIR_ASSIGN_DIGOUT[0] = –3
– MD62523: CLC_LOCK_DIR_ASSIGN_DIGOUT[1] = –4
Effect:
– $A_OUT[3] = 0 –> Negative traversing direction disabled
– $A_OUT[3] = 1 –> Negative traversing direction enabled
– $A_OUT[4] = 0 –> Positive traversing direction disabled
– $A_OUT[4] = 1 –> Positive traversing direction enabled
Functionality CLC_VOFF can be used to preset a constant voltage offset for clearance
control, which is subtracted from the input voltage of the clearance sensor. The
programmed voltage offset therefore changes the setpoint distance between the
workpiece and the clearance sensor or offsets the operating point for clearance
control.
The quantitative effect of the voltage offset is dependent on the additional
parameters for clearance control and can therefore not be standardized in a
generally valid format.
Instant of activation The voltage offset is effective in the part program block in which CLC_VOFF
has been programmed or, if this block does not contain any executable instruc-
tions, in the next part program block with executable instructions.
Reset Within a part program, a voltage offset must be reset by means of explicitly pro-
gramming CLC_VOFF=0.0.
RESET response CLC_VOFF =0.0 becomes effective after a power on reset, NC RESET or end
of program.
The voltage offset can be modified in the interpolation cycle by programming the
analog output within a synchronized action.
Parameterization The following machine data is used to parameterize the analog output:
Functionality CLC_SEL can be used to switch between the sensor characteristics defined in
the machine data.
Characteristic 1:
S MD 62510: CLC_SENSOR_VOLTAGE_TABLE_1
S MD 62511: CLC_SENSOR_VELO_TABLE_1
Characteristic 2:
S MD 62512: CLC_SENSOR_VOLTAGE_TABLE_2
S MD 62513: CLC_SENSOR_VELO_TABLE_2
RESET response Characteristic 1 becomes effective after a power on reset, NC RESET or end of
program.
Types of variable The display data are available both as channel-specific GUD (Global User Data)
and as OPI variables.
Once the technological function has been started up successfully, the GUD
variables listed are not displayed automatically on the HMI interface.
HMI Advanced Proceed as follows to create and display the GUD variables in HMI Advanced.
1. Set password
Enter the password for protection level 1: (machine manufacturer).
HMI Embedded Proceed as follows to create and display the GUD variables in HMI Embedded.
1. Set password
Enter the password for protection level 1: (machine manufacturer).
2. If no SGUD.DEF file is yet available:
Operating area switchover > Services > Data admin > Programs/Data:
Set cursor to definitions > New...
– Name: SGUD
– Type: DEF
Confirm with OK.
This opens the file in the editor.
3. Edit the GUD variable definitions
DEF CHAN REAL CLC_DISTANCE[3] ; Array of real, 3 elements
DEF CHAN REAL CLC_VOLTAGE[3] ; Array of real, 3 elements
M30
SINUMERIK NCK The new GUD variables, which are already being displayed, will only be de-
tected by the RESU function and supplied with up-to-date values following an
NCK POWER ON RESET.
Note
Once the GUD variables have been created, an NCK POWER ON RESET
must be carried out in order for the clearance control function to update the
GUD variables.
Once the technological function has been started up successfully, the OPI
variable is not available automatically.
Using LinkItem In order to use the OPI variables in a DDE control, the “LinkItem” property of the
DDE control must be set in accordance with the following example:
label1.LinkItem = “CLC[u1,1,9](“ ”!d%15.4lf“ ”)”
Notes
Supplementary Conditions 3
3.1 I/O modules
For A/D conversion, the analog output current of the clearance sensor must be
connected to NC via an I/O module with analog input to the NC.
The analog I/O module (DMP compact module) is connected to the drive bus
via an NCU terminal block.
Clearance sensor
output current
SIEMENS
Suitable I/O As the A/D conversion time directly affects the deadtime of the clearance control
modules servo loop, only one I/O module may be used with low conversion time.
An I/O module suitable for clearance control is:
I/O module A description of how the I/O modules are connected appears in:
connection
References: /PHD/ SINUMERIK 840D Configuration Manual (Hardware)
Chapter: Terminal Block
NCU Terminal Block 6FC5 211–0AA00–0AA0
DMP Compact Modules
DMP Compact Module 1E NC Analog 6FC5
211–0AA10–0AA0
On the SINUMERIK 840Di, the analog I/O module is connected via PROFI-
BUS-DP.
Clearance sensor
output current
PROFIBUS DP
Suitable I/O As the A/D conversion time directly affects the deadtime of the clearance control
modules servo loop, only one I/O module may be used with low conversion time.
A SIMATIC S7 module suitable for clearance control is:
I/O module A description of how the I/O modules are connected appears in:
connection
References: /HBI/ SINUMERIK 840Di Manual
Chapter: SIMATIC S7 I/O Devices
Note
It is better for the control if electromagnetic shielding is used to ensure a large
signal-noise ratio than if smoothing filters are used in the signal path.
NC stop from PLC If, in addition to the programmed path motion, the traversing movement of the
clearance-controlled axes is also to be stopped when the NC stops, the “NC
stop axes and spindles” interface signal must also be set in addition to the “NC
stop” interface signal:
S DB21, DBB7.3 “NC stop”
S DB21, DBB7.4 “NC Stop axes and spindles”
Travel without If the clearance-controlled axes are to travel without referencing (travel without
software limit software limit switches), values outside the traversing range used must be en-
switches tered in the corresponding machine data for the axis-specific software limit
switches:
S MD36100: POS_LIMIT_MINUS
S MD36110: POS_LIMIT_PLUS
S MD36120: POS_LIMIT_MINUS2
S MD36130: POS_LIMIT_PLUS2
Clearance control takes the machine data into account even if an axis is not
being referenced.
Disabling Neither the analog input for the input voltage of the clearance sensor nor the
digital/analog digital input used by the clearance control in the context of the “Lift fast with po-
inputs sition controller cycle” special function can be controlled (disabled) via the PLC
(DB10.DBB0/B10.DBB146).
See also the description of machine data:
S MD62508: CLC_SPECIAL_FEATURE_MASK, bits 4 and 5
Section 4.1, page 3/TE1/4-46 onwards.
Gantry axes Only one of the clearance-controlled axes may be configured as the master axis
of a gantry grouping, defined via machine data:
MD37100: GANTRY_AXIS_TYPE (gantry axis definition).
Following axes in a gantry grouping may not be used in the context of clearance
control.
Axis position The actual current axis position of a clearance-controlled axis as the sum of an
display interpolatory axis position and the current position offset of clearance control is
not displayed in the main machine screen on a SINUMERIK standard HMI:
– SINUMERIK HMI Advanced
– SINUMERIK HMI Embedded
On the above HMIs, the actual current axis position is displayed in the service
screen: Operating Area Switchover > Diagnosis > Service Displays > Axis/
Spindle as a “position actual value”:
NC channels The “clearance control” technological function is only available in the first NC
channel, even on controls with more than one NC channel.
– Only channel axes in the first NC channel may be used as clearance-
controlled axes.
– CLC part program commands may only be used in part programs pro-
cessed in the first NC channel.
Conflict with other Machine data 30132: $MA_IS_VIRTUAL_AX = 1 may not be used.
machine data
Note
The “clearance control” technological function is only available in the first NC
channel!
Computing time The additional computing time required for the “clearance control” technological
requirements function must be taken into account on control systems in which the cycle times
set for the interpolator and position controller cycle have been substantially opti-
mized in comparison with the default setting:
The additional computing time required comes into effect when clearance con-
trol is activated in the part program (CLC(x)). If the interpolation or position
controller cycle is exceeded, the following alarm appears:
62500 $MC_CLC_AXNO
MD number Axis assignment for clearance control
Default setting: 0 Minimum input limit: –2 Max. input limit:
Maximum number of axes in
channel
Changes effective after Protection level: 2 / 7 Unit: –
POWER ON
Data type: INT
Meaning: – 0: Deactivates the clearance control function
– x where x > 0:
Activates 1D clearance control for the channel axis with the axis
number entered under x.
This axis must not be a modulo rotary axis.
– x where x < 0: Activates 3D clearance control.
In order for 3D clearance control to be activated, at least one of the
two possible 5-axis transformations in the channel must be
configured.
– –1
x = –1 selects the first 5-axis transformation configured in the 1st
channel with $MC_TRAFO_TYPE_x (16 <=transtype <=149) for
clearance control.
– –2
x = –2 selects the second 5-axis transformation configured in the
1st channel.
The overlaid motion acts on the axes that are configured as linear
axes in the first three elements of $MC_TRAFO_AXES_IN_x of the
selected transformation.
It is permissible to configure 3-axis and 4-axis transformations
(2D clearance control).
Restriction:
– Only one of the linear axes involved in the clearance control
function may be configured as the master axis in a gantry group-
ing.
– No axis involved in the clearance control function may be config-
ured as the slave axis of a gantry grouping.
– Incorrectly parameterized configurations are rejected with CLC
alarm 75000 during POWER ON.
62502 $MC_CLC_ANALOG_IN
MD number Analog input for clearance control function
Default setting: 1 Minimum input limit: 1 Maximum input limit: 8
Changes effective after Protection level: 2 / 7 Unit: –
POWER ON
Data type: INT
Meaning: The machine data defines the number of the analog input that is used for
the clearance sensor.
In contrast to the functions (synchronized actions) implemented in the
interpolator, the clearance control input cannot be controlled via PLC
interface DB10.DBW148 onwards.
62504 $MC_CLC_SENSOR_TOUCHED_INPUT
MD number Input bit assignment for the sensor collision signal
Default setting: 0 Minimum input limit: –40 Maximum input limit: 40
Changes effective after Protection level: 2 / 7 Unit: –
POWER ON
Data type: INT
Meaning: The machine data defines the number of the digital input that is used for
collision monitoring.
Precondition:
The clearance sensor has a “sensor collision” signal.
The digital inputs are numbered in the same way as the corresponding
system variables: $A_IN[x], where x = number of digital input.
E.g.: 3. input on 2nd input byte:
$MC_CLC_SENSOR_TOUCHED_INPUT = 11 ;3+1*8
62505 $MC_CLC_SENSOR_LOWER_LIMIT
MD number Lower motion limit of clearance control
Default setting: –5.0, –10.0 Minimum input limit: – Maximum input limit: 0.0
Changes effective after Protection level: 2 / 7 Unit: mm/inch
RESET
Data type: REAL
Meaning: The machine data comprises 2 field elements:
– CLC_SENSOR_LOWER_LIMIT[0]
The first field element of this machine data sets the lower limit for the
deviation between the sensor-controlled machine position and the
programmed position.
When the limit is reached, the PLC signal
S DB21.DBB37.4
is set and CLC alarm 75020 is output.
– CLC_SENSOR_LOWER_LIMIT[1]
The second field element limits the value of the maximum
programmable lower limit.
62506 $MC_CLC_SENSOR_UPPER_LIMIT
MD number Upper motion limit of clearance control
Default setting: 10.0, 40.0 Minimum input limit: 0.0 Maximum input limit: –
Changes effective after Protection level: 2 / 7 Unit: mm/inch
RESET
Data type: REAL
Meaning: The machine data comprises 2 field elements:
– CLC_SENSOR_UPPER_LIMIT[0]
The first field element of this machine data sets the upper limit for the
deviation between the sensor-controlled machine position and the
programmed position.
When the limit is reached, the PLC signal
S DB21.DBB37.5
is set and CLC alarm 75021 is output.
– CLC_SENSOR_UPPER_LIMIT[1]
The second field element limits the value of the maximum
programmable upper limit.
62508 $MC_CLC_SPECIAL_FEATURE_MASK
MD number Special functions and operating modes of the clearance control
Default setting: 0 Minimum input limit: – Maximum input limit: –
Changes effective after Protection level: 2 / 7 Unit: –
POWER ON
Data type: INT HEX format 840D: Applies as of SW: 5.3
Meaning: Bit 0 and bit 1
Alarm reaction when CLC motion limits are reached:
This machine data configures the alarm reaction when motion limits set
in MD 62505 and MD 62506 or programmed with CLC_LIM are reached.
Bit 0 = 0:
Alarm 75020 does not stop program processing. This alarm can be
acknowledged with the Cancel key.
Bit 0 = 1
Alarm 75020 stops program processing at the lower limit. The alarm
must be acknowledged with RESET.
Bit 1 = 0
Alarm 75021 does not stop program processing. This alarm can be
acknowledged with the Cancel key.
Bit 1 = 1
Alarm 75021 stops program processing at the upper limit. The alarm
must be acknowledged with RESET.
Meaning: Bit 4
Operation as online tool length compensation in direction of orientation
Bit 4 = 0
The clearance control function works normally.
Bit 4 = 1
Unlike as for clearance control, the analog input does not set a
velocity but directly applies an offset position.
In this case, the ordinate of the selected sensor characteristic
$MC_CLC_SENSOR_VELO_TABLE_x is interpreted in mm or
inches instead of in mm/min (inch/min).
This operating mode can be activated for test purposes and imple-
mentation of 3D tool length compensation. In this mode, the analog
value is read in the position controller cycle rather than in the interpo-
lator cycle. In this mode, analog values can be modified and/or speci-
fied via the PLC using DB10.DBW148 onwards. The input used must
be activated via the following machine data:
S MD10300: FASTIO_ANA_NUM_INPUTS
Meaning: Bit 5:
62510 $MC_CLC_SENSOR_VOLTAGE_TABLE_1
MD number Coordinate voltage of interpolation points sensor characteristic 1
Default setting: Minimum input limit: –10.0 Maximum input limit: +10.0
–10.0, 10.0, 0.0, 0.0, 0.0, 0.0
Changes effective after Protection level: 2 / 7 Unit: Volts
RESET
Data type: REAL Also 840D with SW 5.3 and higher: Maximum 10 interpolation points
Meaning: This machine data is used to define the voltage values for sensor
characteristic 1.
The associated velocity value should be entered under the same index i
of machine data:
S DM62511: CLC_SENSOR_VELO_TABLE_1[i].
In the simplest case, it is sufficient to define the characteristic using two
interpolation points as a symmetrical straight line through zero:
Example:
– $MC_CLC_SENSOR_VOLTAGE_TABLE_1[ 0 ] = –10.0 ; V
– $MC_CLC_SENSOR_VOLTAGE_TABLE_1[ 1 ] = 10.0 ; V
– $MC_CLC_SENSOR_VELO_TABLE_1[ 0 ] = 500.0 ; mm/min
– $MC_CLC_SENSOR_VELO_TABLE_1[ 1 ] = –500.0 ; mm/min
All array elements of the machine data not used in the example must
be assigned the value 0.0.
62511 $MC_CLC_SENSOR_VELO_TABLE_1
MD number Coordinate velocity of interpolation points sensor characteristic 1
Default setting: Minimum input limit: – Maximum input limit: –
2000.0, –2000.0, 0.0, 0.0,
0.0, 0.0
Changes effective after Protection level: 2 / 7 Unit: mm / min inch / min
RESET
Data type: REAL Also 840D with SW 5.3 and higher: Maximum 10 interpolation points
Meaning: This machine data is used to define the velocity values for sensor
characteristic 1.
The associated voltage value should be entered under the same index i
of machine data:
S MD 62510: CLC_SENSOR_VOLTAGE_TABLE_1[i].
For more information about defining characteristics, see the description
of machine data MD62510 CLC_SENSOR_VOLTAGE_TABLE_1.
62512 $MC_CLC_SENSOR_VOLTAGE_TABLE_2
MD number Coordinate voltage of interpolation points sensor characteristic 2
Default setting: Minimum input limit: –10.0 Maximum input limit: +10.0
–10.0, 10.0, 0.0, 0.0, 0.0, 0.0
Changes effective after Protection level: 2 / 7 Unit: Volts
RESET
Data type: REAL Also 840D with SW 5.3 and higher: Maximum 10 interpolation points
Meaning: This machine data is used to define the voltage values for sensor
characteristic 2.
For more information about defining characteristics, see the description
of machine data MD62510 CLC_SENSOR_VOLTAGE_TABLE_1.
62513 $MC_CLC_SENSOR_VELO_TABLE_2
MD number Coordinate velocity of interpolation points sensor characteristic 2
Default setting: Minimum input limit: – Maximum input limit: –
2000.0, –2000.0, 0.0, 0.0,
0.0, 0.0
Changes effective after Protection level: 2 / 7 Unit: mm / min inch / min
RESET
Data type: REAL Also 840D with SW 5.3 and higher: Maximum 10 interpolation points
Meaning: This machine data is used to define the voltage values for sensor
characteristic 2.
For more information about defining characteristics, see the description
of machine data MD62510 CLC_SENSOR_VOLTAGE_TABLE_1.
62516 $MC_CLC_SENSOR_VELO_LIMIT
MD number Velocity of the distance control movement
Default setting: 100.0 Minimum input limit: 0.0 Maximum input limit: 100.0
Changes effective after Protection level: 2 / 7 Unit: Percent
RESET
Data type: REAL
Meaning: 1D clearance control
The machine data is used to define the maximum traversing velocity
of the overlaid control movement as a percentage of the maximum
residual axis velocity of the maximum value of the clearance-con-
trolled axis:
S MD32000: MAX_AX_VELO[x]2D/3D
2D/3D clearance control
With the 2D and 3D clearance control variants, the reference value
used is the maximum velocity of the slowest clearance-controlled
axis multiplied by √2 or √3 respectively.
62517 $MC_CLC_SENSOR_ACCEL_LIMIT
MD number Acceleration of clearance control motion
Default setting: 100.0 Input limit: 0.0 Maximum input limit: 100.0
Changes effective after Protection level: 2 / 7 Unit: Percent
RESET
Data type: REAL
Meaning: 1D clearance control
The machine data is used to define the maximum acceleration of the
overlaid control movement as a percentage of the maximum residual
axis acceleration of the maximum value of the clearance-controlled
axis:
S MD32300: MAX_AX_ACCEL[x]
2D/3D clearance control
With the 2D and 3D clearance control variants, the reference value
used is the maximum acceleration of the slowest
clearance-controlled axis multiplied by √2 or √3 respectively.
62520 $MC_CLC_SENSOR_STOP_POS_TOL
MD number Positional tolerance for status message “Clearance control zero speed”
Default setting: 0.05 Input limit: 0.0 Maximum input limit: –
Changes effective after Protection level: 2 / 7 Unit: mm/inch
RESET
Data type: REAL
Meaning: When clearance control is active, in order to achieve the exact stop
condition (G601/G602), both the axes involved in the programmed
traversing movement and the clearance-controlled axes must have
achieved their exact stop conditions.
The exact stop condition for clearance control is defined via a position
window and a dwell time:
S MD62520: CLC_SENSOR_STOP_POS_TOL
S MD62521: CLC_SENSOR_STOP_DWELL_TIME
If the clearance control function and/or the clearance-controlled axes for
the parameterized dwell time are within the positional tolerance, the
exact stop condition for clearance control has been met.
Setting notes
If the clearance control function is unable to remain within the
parameterized position window during the corresponding dwell time, the
following alarm will appear under certain circumstances:
S Alarm “1011 Channel channel number system error 140002”
In order to avoid an alarm or if an alarm is triggered, proceed as follows:
1. Switch on the clearance control function with the typical distance
of the clearance sensor to a thin sheet metal.
2. Knock on the sheet such that the laser head performs visible com-
pensation movements. When the compensation movement is fin-
ished, the sheet should no longer be touched.
3. If the interface signal “flickers”:
IS: DB3x, DBB60.7 (position reached with exact stop fine)
after knocking or release of the process gas, modify the following
machine data:
S MD36010: STOP_LIMIT_FINE (increase)
S MD62520: CLC_SENSOR_STOP_POS_TOL (increase)
S MD62521: CLC_SENSOR_STOP_DWELL_TIME (reduce)
The changes to the machine data will not become effective until an NCK
Power on Reset has been performed. The clearance control may
therefore have to be activated again when the NC has powered up.
62521 $MC_CLC_SENSOR_STOP_DWELL_TIME
MD number Dwell time for status message “Clearance control zero speed”
Default setting: 0.1 Minimum input limit: 0.0 Maximum input limit: –
Changes effective after Protection level: 2 / 7 Unit: s
RESET
Data type: REAL Measures for avoiding alarm 1011
Meaning: This machine data is used to define the dwell time for achieving the
exact stop condition for clearance control.
Enter the corresponding positional tolerance in machine data:
S MD62520: CLC_SENSOR_STOP_POS_TOL
For more information about the exact stop condition for clearance
control, see the description of machine data MD62520:
CLC_SENSOR_STOP_POS_TOL.
Related to .... The dwell time set must not exceed the maximum waiting time set in
machine data MD36020 POSITIONING_TIME for achieving the exact
stop condition.
62522 $MC_CLC_OFFSET_ASSIGN_ANAOUT
MD number Modification of the setpoint distance by means of sensor signal override
Default setting: 0 Minimum input limit: –8 Maximum input limit: 8
Changes effective after Protection level: 2 / 7 Unit: –
POWER ON
Data type: INT
Meaning: The machine data defines the number of the analog output whose output
value is subtracted from the clearance sensor input voltage.
The analog inputs are numbered in the same way as the corresponding
system variables: $A_OUTA[x], where x = number of analog output.
The analog output can be used both block-synchronously from a part
program and synchronously via a synchronized action via variable
$A_OUTA[n].
62523 $MC_CLC_LOCK_DIR_ASSIGN_DIGOUT
MD number Assignment of the digital outputs for disabling the CLC movement
Default setting: 0.0 Minimum input limit: –40 Maximum input limit: 40
Changes effective after Protection level: 2 / 7 Unit: –
POWER ON
Data type: INT
Meaning: The machine data comprises 2 field elements:
– CLC_LOCK_DIR_ASSIGN_DIGOUT[0]
The first field element is used to define the digital output via which the
negative direction of movement for clearance control can be blocked.
– CLC_LOCK_DIR_ASSIGN_DIGOUT[1]
The second field element is used to define the digital output via which
the positive direction of movement for clearance control can be
blocked.
Enter a negated output number to invert evaluation of the switching
signal.
Example:
Digital output 1 ($A_OUT[1]) is to block negative direction of move-
ment, digital output 2 ($A_OUT[2]) is to block positive direction of
movement:
– MD62523: CLC_LOCK_DIR_ASSIGN_DIGOUT[0] = 1
– MD62523: CLC_LOCK_DIR_ASSIGN_DIGOUT[1] = 2
The corresponding system variables can be used block-synchro-
nously in the part program or asynchronously via synchronized ac-
tions to activate/deactivate the blocking of each direction of move-
ment:
– Blocking of negative direction of movement ON/OFF
$A_OUT[1] = 1 / 0
– Blocking of positive direction of movement ON/OFF
$A_OUT[2] = 1 / 0
Inversion of switching signal
– MD62523: CLC_LOCK_DIR_ASSIGN_DIGOUT[0] = –1
– Blocking of negative direction of movement ON / OFF
$A_OUT[1] = 0 / 1
62524 $MC_CLC_ACTIVE_AFTER_RESET
MD number Clearance control remains active after RESET
Default setting: 0 Minimum input limit: – Maximum input limit: –
Modification effective after Protection level: 2 / 7 Unit: –
NEW_CONF
Data type: BOOL
Meaning: 1D clearance control
This machine data is used to parameterize the RESET characteristics
(end of program RESET or NC RESET) of 1D clearance control.
– CLC_ACTIVE_AFTER_RESET = 0
On RESET, clearance control is deactivated in the same way as the
part program command CLC(0).
– CLC_ACTIVE_AFTER_RESET = 1
Clearance control maintains its current state on RESET.
3D clearance control
The machine data is not effective for the 3D clearance control. In this
case, a RESET always deactivates clearance control.
62525 $MC_CLC_SENSOR_FILTER_TIME
MD number PT1 filtering time constant of sensor signal
Default setting: 0.0 Minimum input limit: 0.0 Maximum input limit: –
Changes effective Protection level: 2 / 7 Unit: s
immediately
Data type: REAL
Meaning: This machine data is used to parameterize the time constant of the PT1
filter for clearance control (corresponds to an RC element).
The PT1 filter can be used to dampen the higher-frequency noise
components in the input signal of the clearance sensor.
The effect of the filter can be monitored via the function-specific display
data (see Section 2.7, page 3/TE1/2-33).
A setting of zero deactivates the filter completely.
Note
Each additional time constant in the servo loop reduces the maximum
possible servo loop dynamics.
62528 $MC_CLC_PROG_ORI_AX_MASK
MD number Axis mask of the direction axes
Default setting: 0 Minimum input limit: 0 Maximum input limit: 0C0000000H
Changes effective immediat. Protection level: 2 / 7 Unit: –
Data type: DWORD
Meaning: Each bit of the axis mask refers, by way of its bit index n, to the channel
axis [n+1]. 3 bits, and only 3 bits, can be set to correspond to the 3
direction axes of the compensation vector. The bits are evaluated in
ascending order.
The first channel axis configured in this way corresponds to the X
coordinate of the compensation vector. The second channel axis
corresponds to the Y coordinate, etc.
62529 $MC_CLC_PROG_ORI_MAX_ANGLE
MD number Limit angle
Default setting: 45.0 Minimum input limit: 0.0 Maximum input limit: 180.0
Changes effective Protection level: 2 / 7 Unit: Degrees
immediately
Data type: REAL
Meaning: Permissible limit angle between tool orientation and the CLC direction
62530 $MC_CLC_PROG_ORI_ANGLE_AC_PARAM
MD number Index of display variable for the current difference angle.
Default setting: –1 Minimum input limit: –1 Maximum input limit: 20000
Changes effective Protection level: 2 / 7 Unit: –
immediately
Data type: INT
Meaning: Index n of system variable $AC_PARAM[n] in which the current
difference angle between the tool orientation and CLC direction is output.
Signal Descriptions 5
5.1 Signals to channel
DB21, ...
DBB1.4 CLC stop
Data Block Signal(s) to channel (PLC–> NCK)
Edge evaluation: No Signal(s) updated: Cyclic Signal(s) valid: Also 840D
SW 3.6 and higher
Signal state 1 or signal Clearance control is deactivated in the same way as the part program command
transition 0 –––> 1 CLC_GAIN=0.0.
Signal state 0 or signal Clearance control is enabled.
transition 1 –––> 0
DB21, ...
DBB1.5 CLC_Override
Data Block Signal(s) to channel (PLC–> NCK)
Edge evaluation: No Signal(s) updated: Cyclic Signal(s) valid: Also 840D
SW 3.6 and higher
Signal state 1 or signal The channel-specific override DB21.DBB4 is effective for clearance control.
transition 0 –––> 1
Override settings < 100% reduces the velocity limit preset in machine data:
S MD62516: CLC_SENSOR_VELO_LIMIT
for the overlaid movement.
Override settings > 100% apply the limitation from the machine data.
Signal state 0 or signal The maximum velocity of the control motion is not dependent on the override setting
transition 1 –––> 0
Application example The difference for the operator is particularly dependent on whether the sensor motion is
stopped or not with a 0 override.
Related to .... Channel-specific override setting DB21.DBB4 and DB21. DBB6.7
DB21, ...
DBB37.3 CLC is active
Data Block Signal(s) from channel (NCK–> PLC)
Edge evaluation: No Signal(s) updated: Cyclic Signal(s) valid: Also 840D
SW 3.6 and higher
Signal state 1 or signal Clearance control is activated.
transition 0 –––> 1
Signal state 0 or signal Clearance control is deactivated.
transition 1 –––> 0
DB21, ...
DBB37.4–5 CLC motion has stopped
Data Block Signal(s) from channel (NCK–> PLC)
Edge evaluation: No Signal(s) updated: Cyclic Signal(s) valid: Also 840D
SW 3.6 and higher
Signal state 1 or signal The traversing movement of the clearance-controlled axes based on clearance control is at
transition 0 –––> 1 a standstill. The following conditions will set the signal:
– The standstill conditions set in the following machine data are met:
S MD62520: CLC_SENSOR_STOP_POS_TOL
S MD62521: CLC_SENSOR_STOP_DWELL_TIME
– Programming of CLC_GAIN=0.0
– PLC interface signal: DB21.DBB1.4 “Stop CLC motion”
Note
The “CLC motion at standstill” signal is only set if bits 4 and 5 are set at the same time. If
only one of the two bits is set –> see below.
Signal state 0 or signal Clearance control generates traversing movements directly in the clearance-controlled
transition 1 –––> 0 axes.
While the axes are moving as a result of clearance control, axial interface signals
DB3x.DBB30.6/7 “Position reached exact stop coarse/fine” cannot be set.
Related to .... DB3x.DBB30.6/7 “Position reached, exact stop coarse/fine”
DB21, ...
DBB37.4 CLC motion at lower motion limit
Data Block Signal(s) from channel (NCK–> PLC)
Edge evaluation: No Signal(s) updated: Cyclic Signal(s) valid: Also 840D
SW 3.6 and higher
Signal state 1 or signal The traversing movement of the clearance-controlled axes based on clearance control has
transition 0 –––> 1 been stopped at the upper movement limit set in
S MD62505: CLC_SENSOR_LOWER_LIMIT
or programmed with CLC_LIM(..).
Note
If the DB21.DBB37.5 signal is set at the same time –> see above “CLC motion at standstill”
signal.
Signal state 0 or signal Clearance control has left the lower limitation.
transition 1 –––> 0
DB21, ...
DBB37.5 CLC motion at upper motion limit
Data Block Signal(s) from channel (NCK–> PLC)
Edge evaluation: No Signal(s) updated: Cyclic Signal(s) valid: Also 840D
SW 3.6 and higher
Signal state 1 or signal The traversing movement of the clearance-controlled axes based on clearance control has
transition 0 –––> 1 been stopped at the upper movement limit set in
S MD62506: CLC_SENSOR_UPPER_LIMIT
or programmed with CLC_LIM(..).
Note
If the DB21.DBB37.4 signal is set at the same time –> see above “CLC motion at standstill”
signal.
Signal state 0 or signal Clearance control has left the upper limitation.
transition 1 –––> 0
Notes
6
Examples
– No examples available –
J
Notes
S %1 = channel number
S %2 = block number, label
S %3 = source symbol; in this case: CLC
If the “clearance control” technological function is not available or not activated, the
function-specific part program commands are rejected as invalid syntax.
S %1 = channel number
S %2 = error number
Error number:
S –1
The interpolation points of one of the two sensor characteristics are not strictly
monotone ascending or descending.
S –2
One of the two sensor characteristics has less than 2 valid interpolation points.
S –3
One of the two sensor characteristics has more than three interpolation points with
negative velocity or more than three interpolation points with positive velocity.
S –4
The digital input set for sensor collision monitoring:
– MD 62504 $MC_CLC_SENSOR_TOUCHED_INPUT
is not activated on the control
– MD 10350 $MN_FASTIO_DIG_NUM_INPUTS
S –5
A fast input was not assigned to the special “lift fast with position controller cycle”
function:
– MD 62504 $MC_CLC_SENSOR_TOUCHED_INPUT
S –6
The axis selected for clearance control is not active in the channel:
– MD 62500 $MC_CLC_AXNO
S –7
The 5-axis transformation selected for clearance control:
– MD 62500 $MC_CLC_AXNO
is not configured in the channel:
– MD 24100 $MC_TRAFO_TYPE_x
S –8
More than one of the axes involved in the clearance control is a leading
axis in a gantry grouping MD 37100 $MA_GANTRY_AXIS_TYPE.
S –9
More than one of the axes involved in the clearance control is a following axis in a
gantry grouping:
– MD 37100 $MA_GANTRY_AXIS_TYPE
S –10
In the Export version, CLC can only be activated if the “number of interpolating
axes” option has been set to a value less than 4.
S –11
Either three axes or no axes may be configured for clearance control with program-
mable compensation vector CLC(3):
– MD 62528 $MC_CLC_PROG_ORI_AX_MASK
If three axes are configured, they must also be assigned to the channel:
– MD 20070 $MC_AXCONF_MACHAX_USED
Reaction Dropout of signal mode group ready, alarm signal in PLC interface
Remedy Correct the relevant machine data.
Delete criterion NCK POWER ON RESET
S %1 = channel number
S %2 = block number, label
Possible errors:
S %1 = channel number
S %2 = block number, label
One of the limitations for the position offset of the clearance control programmed with
CLC_LIM( ...,... ) is greater than the value permitted in the corresponding machine data:
S MD62505 $MC_CLC_SENSOR_LOWER_LIMIT[ 1 ]
or
S MD62506 $MC_CLC_SENSOR_UPPER_LIMIT[ 1 ]
Error cause:
S Error ID: 0
CLC(3) was programmed but
– the option bit is not enabled or
– the configuration of the direction axes contains an error
S Error ID: 1
The currently programmed compensation vector is antiparallel (in the opposite direc-
tion) to the last programmed compensation vector.
Reaction Abortion of part program interpretation. Alarm signal in PLC interface.
Remedy Correct the machine data (0) or the part program (1).
Delete criterion NC RESET
Error cause:
S Error ID: 1 and angle: 0.0
The CLC direction is [0, 0, 0]. A compensation vector cannot be generated.
S Error ID: 2 and angle: Angle
The angle between the current tool orientation and the compensation vector is
greater than the configured maximum angle:
– MD 62529 $MC_CLC_PROG_ORI_MAX_ANGLE
Reaction Abortion of part program execution. Alarm signal in PLC interface.
Remedy Increase the permissible limit angle or change the part program.
Delete criterion NC-RESET
Notes
Notes
Brief Description 1
840D The “analog axis” function was supplied as a compile cycle up to SW 6. This
function can now be implemented with the aid of the hydraulics module. It is
therefore no longer available as a compile cycle.
Notes
Detailed Description 2
2.1 General
Number of analog The maximum number of analog axes depends on the maximum number of NC
axes axes available.
Axes controlled by analog drives are included in the maximum number of
available NC axes in the system and, when used for this purpose, reduce the
number of available digital axes.
Function As regards scope of applications, analog axes are not subject to any particular
restrictions that do not also apply to digital axes. There is no special
dependency on particular channels, i.e. analog axes can be programmed in
different channels. Axes can also be exchanged between channels. All
functions of normal NC axes/spindles such as those listed below are also
available for analog axes:
Speed setpoint The speed setpoint of an analog axis is made available on a DMP module on
the NCU terminal block from where it is taken to the analog drive.
Actual position The actual position value of the axis is acquired by a signal generator. An
value unassigned measured-value input for the direct measuring system of an active
digital drive is used as the measurement input.
Caution
! You must observe the different dynamic responses of the drives in an
interpolation group that has analog and digital drives (following error, drift).
Analog
drive
I/RF NCU MSD FD
amplifier
Signal generator
1PH6
1FT6/
1FK6
Motors for digital converter system
Hardware requirements
All hardware components required are listed below:
2.3 Configuration
Declare axis as Every NC axis can be operated as an analog axis. The maximum number
analog axis depends on the number of NC axes.
Machine data MD 63530: ANALOG_AXIS is used to declare an NC axis as an
analog axis. The input value in this case is the modulo number of the DMP
module on the NCU terminal block (input setting can be 1 to 8). The analog axis
is deactivated when 0 is input.
Alarms in If more than the permissible number of analog axes are activated, then alarm
response to 75100 “Too many analog axes configured” is displayed after run-up.
configuring errors If the same DMP module is assigned to more than one analog axis, alarm
75101 “DMP module no.: %1 assigned more than once” is displayed.
The DMP modules must not be assigned to other control system
functions (e.g.: synchronized actions) as this would interfere with the servo
output. DMP modules are assigned by the interpolator via machine data
MD 10310: FASTIO_ANA_NUM_OUTPUTS. For this reason, the numbers of
DMP modules used for analog axes must be higher than the contents of
machine data 10310 or else alarm 75102 “DMP module no.: %1 assigned to
system functions” will be activated.
Machine data for The following system machine data are relevant in ensuring correct output of
configuring the the speed setpoint via the analog module:
analog module
S MD 10364: HW_ASSIGN_ANA_FASTOUT (for each analog module)
Specification of its physical address activates the analog module.
2.4 Setpoint
Controller enable Other signals such as servo enable or NC Ready required by the analog drive
amplifier are not applied at the NCU terminal block, but must be derived from
the SIMATIC I/O devices.
Configure setpoint Analog axes do not transfer an internal setpoint to a digital drive. For this
reason, they must be configured as simulated axes with respect to setpoints.
Machine data 30100 – 30130 are used for this purpose.
Note
Changes to machine data MD 32250: RATED_OUTVAL and MD 32260:
RATED_VELO are not activated by NewConfig, but only after a RESET. This is
applicable only in relation to the analog axis function.
Drift compensation A drift that needs to be compensated by the position controller occurs in every
analog drive. The “Analog axis” functions provides two different options for
compensating drift. One of these options involves a constant drift value that is
entered in machine data MD 36720: DRIFT_VALUE. This value is added to the
position controller setpoint in every position controller cycle and output.
The second method involves automatic drift compensation. This is activated
with machine data MD 36700: DRIFT_ENABLE = 1. Machine data MD 36710:
DRIFT_LIMIT. The drift is compensated as soon as the analog axis is operating
under closed-loop control, no setpoints are applied from the IPO and the axis is
stationary. As soon as the axis moves again, the last compensation value is
frozen and added to the setpoint in every position control cycle. If the
compensation value increases above the value set in machine data MD 36710:
DRIFT_LIMIT, alarm 75110 “Axis X1 has reached drift limit” is set and the drift
value is limited.
Important
! Changes to machine data MD 36700: DRIFT_ENABLE, MD 36710:
DRIFT_LIMIT, MD 36720: DRIFT_VALUE are not activated by NewConfig, but
by a RESET. This is applicable only in relation to the analog axis function.
Actual value in The actual position value of the analog axis is acquired by a signal generator.
hardware An unassigned measured-value input for the direct measuring system on an
active digital drive (SIMODRIVE 611D) is used as the measured-value input.
This is the lower 15-pin measured-value input with designation X422 on the
digital drive.
As an example, a machine has 3 digital and one analog axis. The actual value
of the analog axis can be taken to a direct measured-value input of one of the 3
digital drives. The selected digital drive must have a submodule for a direct
measuring system. In other words, an active digital drive is required for every
analog axis.
Configure actual The analog axis must be configured so that its actual value is applied to an
value unassigned measured-value input for the direct measuring system on an active
digital drive. Since the analog axis has only one position measuring system,
only one measuring system is activated in the machine data. Machine data
30200 – 30240 are used for this purpose.
Notes
Supplementary Conditions 3
NCU 572.2 The “analog axis” function can be utilized on NCU 572.2 hardware only on
condition that is has been specifically enabled for the customer.
SINUMERIK 840Di The operation of analog axes via the PROFIBUS DP of the SINUMERIK 840Di
is available soon.
The compile cycle function of the SINUMERIK 840D is, for the time being, only
available on request for the SINUMERIK 840Di.
Changes to the following machine data do not take effect with NewConfig, but
only on RESET:
Caution
! MD 32250: RATED_OUTVAL
MD 32260: RATED_VELO
MD 36700: DRIFT_ENABLE
MD 36710: DRIFT_LIMIT
MD 36720: DRIFT_VALUE
This is applicable only in relation to the analog axis function.
For this purpose, the appropriate GUDs must be set up. For a detailed
description of the procedure to be followed, please see Section “File and
Program Management” in the document “SINUMERIK 840D/810D
Programming Guide Advanced”.
Proceed as follows:
1. Create an INITIAL.INI back-up file
2. Write a text file containing the following lines on an external PC:
%_N_SGUD_DEF
;$PATH=/_N_DEF_DIR
DEF NCK REAL ANALOG_AXIS_VOLTAGE[n]
M30
1. Add an entry for the alarm text files of the technology card in the [TextFiles]
section of the C:\MMC2\MBDDE.INI file:
CZYK=C:\DH\MB.DIR\TK1_
2. Set up language-specific text files TK1_GR.COM and TK1_UK.COM in
directory C:\DH\MB.DIR.
3. Enter the following alarm text:
in TK1_GR.COM:
075100 0 0 “Too many analog axes configured”
075101 0 0 “DMP module no. %1 assigned twice”
075102 0 0 “DMP module no. %1 assigned to other system functions”
075110 0 0 “Axis %1 drift compensation limit reached”
Warning
! Failure to take appropriate precautions can have undesirable consequences.
The functions activated by the option data trigger the corresponding compile
cycles. The compile cycles can significantly change the behavior of the control
and can create hazardous situations via access to the NC.
Before a compile cycle is activated, appropriate safety precautions to prevent
potential damage to machinery and personal injury must be taken (you may
need to take action to safeguard against incorrect parameter settings or
programming in the compile cycles).
63530 $MA_ANALOG_AXIS
0
Changes effective after Protection level: 2 / 7 Unit: –
POWER ON
Data type: INT
Meaning: An NC axis is declared as an analog axis in this machine data.
The value to be entered here is the number of the DMP module on the
NCU terminal block that must output an analog +/– 10 V speed setpoint
to the drive amplifier of the axis.
J
Signal Descriptions 5
No separate signals to the PLC are provided for the analog axis function.
Examples 6
6.1 General start-up of a compile cycle function
Requirement
S The software version installed on the MMC must be 3.5 or higher.
S An NCK technology card with the “Analog axis” function must be available.
Saving SRAM As the first step in installing a compile cycle function, the original card inserted
contents in the NCU must be replaced by the technology card.
This step is identical to the procedure followed for a standard upgrade to a more
recent software version and likewise requires the static (battery-backed)
control system memory to be erased. To avoid the consequential loss of all data
in the SRAM, back up the SRAM before performing the operation. For a detailed
description, please see the Manufacturer/Service Documentation
“SINUMERIK 840D/SIMODRIVE 611D Installation and Start-Up Guide”:
1. Enter the machine manufacturer password.
2. Change to the “Services” operating area.
3. Press softkey “Series start-up”.
4. Select “NC” and “PLC” as the areas to be saved and enter a name of your
choice for the archive file to be created on the hard disk. Finish by pressing
the RETURN key.
Note
If the number “6” does not appear, an error has occurred:
– Incorrect PC card (e.g. card for NCU2 in NCU3 hardware)
– Card hardware defective
Copy back SRAM To copy the saved data back into the control system, proceed as described in
contents Section 12.2 (series start-up). Please read all information provided by the
manufacturer about new software versions.
To start up the “analog axis” function, you next need to activate the compile
cycle.
Analog output Start up the DMP module for the analog setpoint with machine data 10362
$MN_HW_ASSIGN_NUM_INPUTS.
GUD Set up the “ANALOG_AXIS_VOLTAGE” GUD for monitoring the voltage output
if required.
Axis-specific machine
data for axis 5:
63530 $MA_ANALOG_AXIS = 2 DMP module number
Setpoints:
30100 $MA_CTRLOUT_SEGMENT_NR = 1 Bus segment 840D
30110 $MA_CTRLOUT_MODULE _NR = 6 Free module (need not
actually exist in hardware)
30120 $MA_CTRLOUT_NR = 1 Always 1 for 840D
30130 $MA_CTRLOUT_TYPE = 0 Simulated setpoint
32250 $MA_RATED_OUTVAL = 80 80% rated voltage at max.
motor speed
32260 $MA_RATED_VELO = 3000 Max. motor speed
Actual values:
30200 $MA_NUM_ENCS = 1 Analog axis has one
measuring system
30210 $MA_ENC_SEGMENT_NR = 1 Bus segment 840D
30220 $MA_ENC_MODULE_NR = 3 Module number 3
30230 $MA_ENC_INPUT_NR[0] = 2 Direct measuring system
30240 $MA_ENC_TYPE[0] = 1 Encoder type: Signal
generator
After power ON: Carry out drift compensation on the 5th axis by programming axial machine
data 36700–36720.
J
Notes
Brief Description 1
As of SW 6 The speed/torque coupling function (master-slave) is used for
mechanically-coupled axes that are driven by two separate motors. A further
application is the compensation of gears and backlash in the gear tooth flank
due to mutual tension in the drives.
Speed/torque coupling (master-slave) is a speed setpoint coupling between a
master and a slave axis, involving a torque compensatory controller for even
torque distribution.
Each slave axis has exactly one master axis.
Conversely, a master axis can also belong to several slaves; this is done by
configuring several master-slave relationships using the same master axis.
A configured slave axis must not be the master axis in one of the other
master-slave relationships.
Differences compared to previous solution (up to SW 5.x)
S If traversing is programmed for a slave axis that has already been linked, an
alarm is issued.
S The setpoint position of the coupled slave axis corresponds to the current
actual position.
S For brake control, the interface signal “Master-slave coupling status active”
should be used.
As of SW 6.4 The function of the speed/torque coupling has been expanded to include the
following options:
Detailed Description 2
2.1 Speed/torque coupling, master-slave (SW 6 and higher)
2.1.1 General
Gear rack
Motor 2
Mechanical coupling
Motor 1
Slide 2
Slide 1
Master
ÎÎÎÎ
ÎÎÎÎ
ÎÎÎÎ
ÎÎÎÎÎÎÎ
ÎÎÎÎÎÎÎ
ÎÎÎÎ
Slave1 Slave2 Slave3 Slave4
ÎÎÎÎ
ÎÎÎÎÎÎÎÎÎÎÎ
Fig. 2-3 Four coupling relationships with the same master axis
If the coupling is closed, the slave axis is traversed only with the load-side
setpoint speed of the master axis. It is therefore only speed-controlled, not
position-controlled.
No positional deviation control is implemented between master and slave axes.
A torque compensatory controller divides the torque evenly over the master and
slave axes.
An additional torque can be used to achieve a tension between the master and
slave axis.
If different motors are used, individual weighting factors can be used to adapt
the torque distribution.
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
Position
act MASTER n act
i act
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
Position nSet i Set
Set –
Inter- M1 I1
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
polator +
Position controller Speed controller Torque controller
Connection
Controller output
Weighting
Servo trace: Tension torque
Speed setpoint coupling –
Mechanical
Tension torque
+ coupling
PI controller + PT1 filter
Servo trace: Weighting
Torque compensatory
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
controller
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
Position controller Speed controller Torque controller
PositionSet + –
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
M2 I2
+ n i Set
set = 0
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
–
n act i act
SLAVE
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
Position
act
In the default setting, the same master axis is used for torque compensatory
control as for speed setpoint coupling.
Dynamics The program commands MASLDEF and MASLDEL can be used to change the
SW 6.4 and higher assignment from the part program dynamically. This type of configuration can
change the static configuration but does not have any reverse effect on the
associated machine data.
The instruction
MASLDEF ( slv1, slv2, ..., master axis)
assigns one or more slave axes to a master axis,
Changing the configuration has no effect in the coupled state. The change is not
accepted until the axes are next uncoupled.
Unlike static assignment, the master axis for torque compensatory control
always corresponds to the speed setpoint coupling.
A plausibility check is not carried out until the coupling is closed. In the event of
multiple assignment, Alarm 26031 is issued.
An assignment made with MASLDEF is retained after a mode change, reset or
end of part program.
Note
To implement a standard assignment in each reset, you can add the
corresponding MASLDEF and MASLDEL instructions to the
PROG_EVENT.SPF user application. The event-driven call is configured via
MD 20108: PROG_EVENT_MASK = 4.
Activation/deactiva The torque compensatory controller can be switched on and off directly via the
tion via the PLC PLC interface signal DB31, ... DBX24.4.
SW 6.4 and higher You must set MD 37255: MS_TORQUE_CTRL_ACTIVATION=1. The activated
status can be read back in DB31, ... DBX96.4. MD 37254:
MS_TORQUE_CTRL_MODE is then only used for configuring the torque
distribution.
Motor 2
MD 37266
Machine torque
The setpoint status of the coupling always corresponds to the last specification
made.
The current coupling status can be read back in the slave axis via PLC interface
signal “Master/slave coupling active” (DB31, ... DBX96.7).
In the part program and from the synchronized actions, the current coupling
status can be output via the system variable of the slave axis
$AA_MASL_STAT.
Note
A permanent coupling
(MD 37262 MS_COUPLING_ALWAYS_ACTIVE=1)
does not require explicit activation.
For more information about how on a permanent master-slave coupling for the
slave axis, PresetOn can be used to synchronize the actual value to the same
value as the master axis, see
Control system The control system response on POWER ON, mode changes, RESET, block
response searches and Repos is as follows:
S A master-slave coupling activated via PLC or MASLON instruction is
retained after a mode change, RESET or end of part program.
S MASLON / MASLOF/ MASLOFS becomes effective on block search.
Changes in the positions of coupled slave axes and spindle speeds must be
computed separately by the user (see “Block search”, Subsection 2.1.10).
Activating/ Activation/deactivation is not active until the axis next comes to a standstill. If
deactivating the specification is changed, the sequence is the same as for axis replacement.
during axis The coupling is closed when the axis comes to a standstill. The coupled axes
standstill must be in feedback control mode.
Master/slave on
DB31, ... DBX24.7
MASLON/M
ASLOF
Axis/spindle
stationary DB31, ...
DBX61.4
Master/slave active
DB31, ... DBX96.7
Block stepping is halted for MASLON until the coupling has actually been
closed. During this time, the associated channel operating message
“Master-slave switchover inactive” is displayed on the MMC/HMI.
Activation/ Activation/deactivation of the coupling in motion has been implemented only for
deactivation spindles in speed control mode. For axes and spindles in positioning mode,
during motion, switchover is still carried out when the axis is at a standstill.
SW 6.4 and higher
Activation during The coupling procedure at different speeds is divided into two phases.
motion
Phase 1 Closure of the coupling is requested with interface signal IS “Master/slave on”
(DB31, ... DBX24.7). The slave spindle accelerates or decelerates along the
ramp with the dynamic response available to it until it reaches the setpoint
speed of the master spindle.
When the setpoint speed is reached, the coupling is closed and the interface
signal “Coupling active” (DB31, ... DBX96.7) is set.
If the master spindle is accelerated during the coupling process, the first phase
is extended according to the existing difference in dynamics between the
master and slave spindles.
Phase 2 In the second phase, the actual difference speed between the master and slave
spindle(s) is used to generate the synchronism signals.
IS “Speed tolerance coarse” (DB31, ... DBX96.3) and
IS “Speed tolerance fine” (DB31, ... DBX96.2).
The associated limits are defined via the following machine data:
MD 37270: MS_VELO_TOL_COARSE (“Tolerance coarse”)
MD 37272: MS_VELO_TOL_FINE (“Tolerance fine”).
Note
The “Tolerance coarse” signal can be used to implement a PLC monitoring
function that checks a coupled group for loss of speed synchronism. The
“Tolerance fine” signal can be used to derive the time for mechanical closure of
the coupling and to activate the torque compensatory controller directly.
Setpoint
Spindle
speed Master spindle t1 t2 t3
2000
Setpoint Actual value
Slave spindle Slave spindle
1000
0 t
Fig. 2-8 Coupling procedure between two spindles with different speeds
Note
The implicit preprocessor stop is omitted for MASLON and MASLOF. The
missing preprocessor stop means that the $P system variables of the slave
spindle do not supply updated values until reprogrammed.
Coupling For spindles in speed control mode, the coupling characteristics of the
characteristics MASLON, MASLOF, MASLOFS, MASLDEL instructions and the PLC with IS
(SW 6.5 and “Master/Slave ON” (DB31, ... DBX24.7) is defined explicitly via
higher) MD 37263: MS_SPIND_COUPLING_MODE.
MD 37263 = 1 Coupling and disconnection takes place immediately and therefore during
motion.
During coupling, the slave spindles are accelerated automatically to the current
speed of the master spindle.
On disconnection, the slave spindles rotating at this time retain their speeds
until next speed programming. However, a slave spindle disconnected with
MASLOFS decelerates automatically.
Note
If the coupling is closed, the slave axis operates in speed control mode;
status signal “Position controller active” (DB31, ... DBX61.5) is not enabled.
With the exception of speed setpoint and actual velocity monitoring, axial
monitoring functions such as contour and standstill monitoring are not active
due to the lack of a position controller.
Position control parameters such as gain factor, feedforward control and
balancing may therefore be set to different value in the master and slave axis
without triggering a response from the monitoring functions.
To achieve the same braking response for all coupled axes in the event of a
fault, the same alarm reaction is applied to the entire coupling grouping when
the coupling is active.
When correcting fault states, repositioning of slave axes on the interrupt point is
suppressed.
Function generator To calibrate the speed control circuit for a closed master-slave coupling,
MD 37268: MS_TORQUE_WEIGHT_SLAVE should be set to a low value in the
slave axis. Traversing of a coupled-motion slave axis is not prevented by the
torque compensatory controller in this case.
Reference point If the coupling is closed, only the master axis can be referenced. Referencing of
approach slaves axes is suppressed. The referencing requirement does not have to be
explicitly canceled for the slave axis in order to do this. The referencing status of
coupled slave axes remains unchanged. The slave axis position is generally not
the same as the master axis position. This difference in position is not
significant. If the coupling is not closed, each axis can be referenced separately
as usual.
Compensation Position offsets of the slave axis, such as spindle pitch errors, backlash,
temperature and sag offsets are computed but not active because there is no
position controller.
Correct calculation of the backlash compensation requires that the backlash of
the slave axis is always overtraveled by the motion of the master axis in
coupled mode. Disconnecting the coupling during an axis reversal error will
generate an incorrect actual value for the slave axis.
Dynamic stiffness The Kv factor of the master axis is copied to the slave axis for an existing
control coupling and is thus also active in the slave drive. This is an attempt to achieve
the same control response in the drive of the master and slave axis as far as
possible. MD 32640: STIFFNESS_CONTROL_ENABLE must be configured
identically in all coupled axes.
Speed/torque The feedforward control in the slave axis does not have to be activated
feedforward explicitly. The current settings of the master axis apply. The speed feedforward
control value of the master axis is already incorporated in the speed setpoint of the
slave axis. If torque feedforward control is active, the load-side torque
feedforward value of the master axis is also applied in the slave drive.
In coupled mode, the mechanical ratios change.
Settings applied axially must be modified accordingly. All coupled drives should
have the same speed control dynamics.
Gantry If one master-slave relationship is defined on each side of the gantry grouping
to increase the gain, only the leading axis or following axis may be operated as
master axis.
Travel to The travel to fixed stop function can be programmed only in the master axis
fixed stop when a coupling is active and has a different effect on the master and slave
axes. The programmed value is expressed
S as a percentage of the rated drive torque of the master axis. The master
axis detects when the fixed stop has been reached.
S The programmed value is also active on the slave axis, but refers to the
drive torque of the slave axis.
If the rated torque values of the master and slave axes are different, machine
data MD 37014: FIXED_STOP_TORQUE_FACTOR on the slave axis can be
set to compensate the difference. Specifying a factor < 1 reduces the
programmed clamping torque in the slave axis.
Please note the following boundary conditions:
S Torque distribution between the master and slave axes is not possible
during clamping as the torque compensatory controller is deactivated during
clamping operations.
S Status changes to the master-slave coupling have no effect during travel to
fixed stop. Specification of a new status is only accepted when the fixed
stop function has been completed.
Safety Integrated Since the slave axis is traversed via the speed setpoint of the master axis, the
axial setpoint limitation MD 36933: SAFE_DES_VELO_LIMIT in the coupled
slave axes is inoperative. All safety monitoring functions remain active in the
slave axes however.
Weight The additional torque for the electronic weight counterbalance MD 32460:
counterbalance TORQUE_OFFSET is computed in the slave axis irrespective of its coupling
status.
Gear stage change An automatic gear stage change in a coupled slave spindle is not possible and
with active can only be implemented indirectly using the master spindle. The point in time
master-slave at which the gear stage is changed is then derived from the master spindle. The
coupling oscillating motion of the coupled slave spindle is generated implicitly via the
oscillating motion of the master spindle.
Unlike the master spindle, the associated parameter set must be selected
explicitly in the coupled slave spindle.
In order to enable parameter sets to be specified, machine data
MD 35590: PARAMET_CHANGE_ENABLE must be set to the value 2.
In the event of a gear stage change for the master/slave spindle, the associated
parameter set index can be activated by the PLC via the VDI interface.
Note
For more information about gear stage change and parameter sets for changes
in spindle mode, see:
References: /FB1/, S1, “Spindles” Chapter 2
/FB1/, A2, “Various Interface Signals”
Interface signals from/to axis/spindle
Axis container If a coupled slave axis is configured in an axis container, alarm “4025 Switch
axis container %3 not permitted: Master-slave active channel %1 Axis %2” is
output. The axis container may not be advanced because the coupling is active.
SW 6.4 and higher In the event that masters change, dynamic configuration can be used to match
the relevant spindle the master spindle following a rotation of the axis container.
Both master and slave spindles can be container spindles.
For a coupling to be closed after container rotation using a different spindle in
each case, the old coupling must be disconnected before the rotation, the
configuration deleted and the new coupling closed after the rotation.
Example for a cyclic coupling sequence (Position=3/Container=CT1)
S1 S2
AX5 AX4
S5 S4
Fig. 2-9 Coupling between container spindle S3 and auxiliary motor AUX (prior to rotation)
Direction of rotation S1 S2
Container AX6 AX1
Mechanical
Infeed
AX4 AX3
S5 S4
Fig. 2-10 Coupling between container spindle S3 and auxiliary motor AUX (after to rotation)
Hardware and Crossing of hardware and software limit switches is detected in coupled axes; in
software limit the coupled state, the software limit switch is generally crossed on slave axes.
switches The alarm is output on the slave axis, while braking is initiated via the master
axis.
The path traveled after detection of the slave software limit switch equals the
distance required by the master axis to brake the coupling.
The master axis controls the movement away from the limit switch, since the
coupling cannot be disconnected until the cause of the alarm has been
eliminated.
Block search The SERUPRO “block search with calculation” function can be used without
restriction in combination with a permanent master-slave coupling if MD 37262:
MS_COUPLING_ALWAYS_ACTIVE=1.
The following restrictions apply when the coupling is programmed using
MASLON and MASLOF commands:
S The coupled axes must be in the same channel when the block search is
executed. If they are not in the same channel, the block search is aborted
with alarm 15395.
Note
For more information about event-driven program calls and block searches in
program test mode (SERUPRO), please see:
References: /FB/, K1, Mode Group, Channel, Program Operation
For spindles in speed control mode, the time at which the coupling is closed or
disconnected changes. The coupling is closed or disconnected immediately,
without waiting for standstill.
If activation/deactivation is to remain the same despite the new function, a
WAITS must be programmed explicitly before MASLOF as in the example on
the right. The coupling is not disconnected until all coupled spindles have come
to a standstill.
Multiple The time at which configuration alarm 26031 is output changes from the time at
assignment which the control starts up to the time at which an attempt is made to close the
coupling. The alarm is acknowledged with a reset.
2.2.1 General
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
pact MASTER n act
i act
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
p nSet i Set
Set –
Motor Encoder
IPO
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
Position controller
+
Connection
Controller output
Speed controller
Master
Current controller
Torque controller
MD 63570 MD 63555
Weighting
MD 63575
Master
Speed –
setpoint Mechanical
Tension torque
coupling + MD 63580 coupling
MD 63550 +
PI controller PT1 filter
MD 63560 MD 63585
MD 63565
Weighting
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
MD 63575
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
Position controller Speed controller Current controller
+ + –
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
Motor Encoder
p n Set i Set
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
Set
– iact
Kv = 0 SLAVE n act
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
pact
Several A master can be assigned to each slave axis to produce several couplings. In a
couplings simple case, the couplings are mutually independent, i.e. each axis is involved
in only one coupling. An example of this is a gantry axis with a master-slave
coupling on each side.
Master
Axis1
Coupling 1
Speed setpoint Torque
coupling controller
Slave
Axis2
Master
Axis3
Speed setpoint
Coupling 2
coupling Torque –
controller
Slave
Axis4
One master It is also possible to configure master-slave couplings where one axis is the
several slaves master axis for several couplings. In this example, axis 1 is the master axis for
coupling 1 and coupling 2. Please note:
Master
Axis1
Coupling 1 Coupling 2
Speed setpoint Torque
coupling controller
Slave Torque
Axis2 controller
Speed setpoint
coupling
Slave
Axis3
The torque controller for coupling 1 attempts to maintain the same torque
between axis 1 and axis 2 by writing a speed setpoint to axis 1 and axis 2. The
torque controller for coupling 2 also tries to maintain the same torque between
axis 1 and axis 3. Both controllers would write speed setpoints to axis 1.
Axis in the channel When the coupling is active, the motion of the slave axis is not displayed in the
automatic basic display and the actual value is frozen. If a coupling is always
active, i.e. the slave axis is never traversed individually, we recommend that this
axis is displayed as the last axis in the automatic basic display. This is achieved
by entering this axis as the last axis in the channel (MD 20070:
AXCONF_MACHAX_USED).
Several channels The master axis and slave axis do not have to be programmed in the same
channel. Multi-channel couplings are possible for several active channels.
Axis replacement Although provision can be made for replacing axes between channels
(MD 30550: AXCONF_ASSIGN_MASTER_CHAN), this is subject to
restrictions. These restrictions are described in Section 3.1.
Spindles A master-slave coupling can also include spindles. The slave axis must then
always operate in speed control mode and the position controller is deactivated.
(DB3x.DBB61.5 = 0).
The master axis can be operated in all spindle modes, open-loop control mode
with/without position controller, oscillation mode or positioning mode; even
changeover between spindle modes is possible. Restrictions relating to the
actual-value display are described in Section 3.1.
Rotary axes Master and slave axes can also be rotary axes. Please note the restrictions
outlined in Section 3.2.
Motors rotating If the motors have been mounted to run in opposite directions, the traversing
in opposite direction is inverted for one of the drives with MD 32100: MOTION_DIR. In this
directions case, the speed setpoint and the output of the torque controller are calculated
correctly; there is no need to set further machine data.
Different motor The master and slave axis can have different gear reduction ratios between the
speeds motors and the mechanical coupling. With these types of axes, the master and
slave rotate at different speeds. When the coupling is active, the same load
speed is standardized internally so that different motor speeds are possible for
the master and slave without having to set further machine data.
Speed feedforward If speed feedforward control is active in the master axis, speed feedforward
control control must also be activated in the slave axis. Non-active speed feedforward
control in the slave axis causes a “Contour monitoring” alarm in the slave axis.
Computing time Each master-slave coupling places a load on the position control level and the
load interpolation level. The table shows the computing time required depending on
the NCU hardware.
Configuration During power ON of the control, the configuration machine data are checked
alarms and alarms set as necessary:
If the master and slave axes are identical for speed coupling, the alarm “75150
Slave axis AX1 and master axis are identical for speed setpoint coupling” is
present after POWER ON.
If the master axis and slave axis are identical for torque control, alarm “75151
Slave axis AX1 and master axis identical for torque controller” is present.
All axes of the mode group follow on; the alarms can only be reset with
POWER ON.
The torque controller between master and slave ensures even torque
distribution between the master and slave axis. The input variable of the
controller is the torque difference Mdiff between the master and slave axis; the
output is a setpoint speed nset, which is applied to the master and slave axes.
The controller consists of a P component and an I component. Both parts must
be parameterized separately.
The machine data of the slave axis is always relevant for the configuration of
the particular master-slave torque control.
P controller The P controller calculates a speed setpoint nset by multiplying the torque
difference Mdiff by a gain factor Kp. The resulting speed setpoint is added to the
master and slave axes.
nset = Mdiff * Kp
The P gain Kp of the torque compensatory controller has the dimension
[(mm/min)/Nm].
The reset time is entered in the axial MD 63560: MS_TORQUE_CTRL_P_GAIN
as a percentage value of the following ratio:
Maximum drive velocity [mm/min]/Rated torque [Nm].
The maximum drive velocity is the content of MD 32000: MAX_AX_VELO. The
rated torque is obtained from the product
of drive MD 1113: TORQUE_CURRENT_RATIO and
drive MD 1118: MOTOR_STANDSTILL_CURRENT.
Only the data of the slave axis are relevant for the torque controller.
Example:
Maximum drive velocity of the slave axis 30000 mm/min
Motor rated torque of the slave axis 10 Nm
MS_TORQUE_CTRL_P_GAIN 15 %
Kp: ( 30000/10 ) * 15% 450 (mm/min)/Nm
I controller The I controller calculates a speed setpoint nset by multiplying the torque
difference Mdiff by a gain factor Ki:
nset = Mdiff * Ki
The gain factor Ki of the I controller is parameterized via the reset time of the
torque compensatory controller I_TIME. Ki can only be calculated if the gain
factor of the P controller Kp 0 0. The I controller is not active unless the P
component is also activated.
Ki = 1/ position controller cycle * I_TIME * Kp
The reset time is entered in the axial MD 63565: MS_TORQUE_CTRL_I_TIME
in seconds.
The default setting 0 deactivates the I component if the P component already
ensures appropriate torque distribution.
Limiting the The MD 63600: MS_MAX_CTRL_VELO can be used to limit the output of the
controller output controller to a maximum value. The value is entered as a percentage value
relative to the maximum speed of the slave-axis. The default is 100%. The limit
works in both a positive and a negative direction.
Example:
The slave axis is to produce 30% of the overall torque.
70% is to be supplied by the master axis.
MS_TORQUE_WEIGHT_SLAVE = 30
Motor torque
MD 63580
Tension torque
Machine torque
Total torque
Motor 1
Motor 2
PT1 filter The tension torque is supplied to the torque controller via a PT1 filter. The PT1
filter ensures a continuous increase or decrease of the tension torque when the
tension torque value is changed. Without the PT1 filter, changing the tension
torque causes a step change in the speed setpoint at the torque controller
output when the controller is operated without an I component. The PT1 filter is
configured using MD 63585: MS_TENSION_TORQ_FILTER_TIME. The time is
entered in seconds. Enter 0 to deactivate the PT1 filter.
Note
The function ensures distribution of the torque-producing currents (lq) and not
distribution of the torques.
This means that torque distribution is also assured on FSD synchronous
motors (no field weakening). In contrast, however, only current distribution is
assured on MSD asynchronous motors in the field-weakening range. Torque
distribution is assured only on motors of the same type operating
simultaneously at the same speed. If MSD motors are not operated in the
field-weakening range, torque distribution can also be assured for different
motor types operating at different speeds.
P component in If axes are put into operation individually in a master-slave coupling, whereby
the speed the individual axis takes the full load, the P component in the speed controller
controller must then be halved in the two axes. This is the only way to ensure that
overshoot is avoided when traversing the axis with active coupling.
Activating and A coupling is activated or deactivated via an axis-specific PLC signal “to axis”.
deactivating a Only the signal to the slave axis is relevant here. The signal resides in the
master-slave technologies area.
coupling
via PLC signal DB3x.DBB24.7 “Activate master-slave coupling”
1 = Activate master-slave coupling
0 = Deactivate master-slave coupling
If one of the conditions for activation or deactivation is not satisfied, the slave
axis does not react to the PLC signal, i.e. the status of the coupling remains
unchanged. No NC alarm is output.
Example:
S The coupling is not deactivated until the part program is terminated with M30
or RESET.
M30, reset
active
Channel status Reset
1
DB3x.DBB24.7 0
1
DB3x.DBB96.7
0
PLC signal: The status of a master-slave coupling is displayed in an axis-specific VDI signal
State of a “from axis”. The machine data of the slave axis are always relevant for a
master-slave coupling. This signal is set irrespective of whether the coupling is always active
coupling (MD 63590) or has been activated via the PLC (DB3x.DBB24.7).
PLC signal: If a slave axis is traversed via the master axis when the coupling is active, the
Traversing the following PLC signals are output depending on the travel state:
slave axis
DB3x.DBB60.6 “Exact stop fine”
DB3x.DBB60.7 “Exact stop coarse”
DB3x.DBB61.4 “Axis/spindle stationary”
Since the coupling is processed in the position controller cycle, the travel
command signals are not output:
DB3x.DBB64.7 “Travel command +/–”
All other signals show the current state of the axis.
Actual value In the automatic basic display, the motion of the slave axis is not displayed for
display an active coupling and the actual value is frozen. If the coupling is deactivated,
the actual-value display jumps to the current actual position. The next time the
NC starts up, the slave axis is synchronized with the NC so that the slave axis
can be traversed from this position.
The motion of the slave axis is always displayed in the “Dialog” menu, “Service
display” softkey (even in the coupling is active).
Traversing the A slave axis in an active coupling must not be traversed by the part program, by
slave axis the PLC or manually in JOG mode. If a coupled slave axis is traversed, this
produces the reset alarm
“75170 Axis AX1 overlaid motion not permissible”.
Reference point The status of the coupling determines the method of reference point approach.
approach This applies to referencing in JOG Ref mode, and referencing from within the
part program (G74).
If a master-slave coupling can be activated via a PLC signal (DB3x,DBB24.7),
the master and slave axes are referenced individually in the “not active”
coupling state.
If a master-slave coupling is always active after POWER ON (MD 63590 = 1),
only the master axis is referenced. In this case, the slave axis is never
referenced. Since the coupling is active, the slave axis follows when the master
axis is referenced.
MD 34110: REFP_CYCLE_NR of the slave axis must be set to –1 so the NC
can start up without having to reference the slave axis.
Response in the In the event of error conditions for alarms with alarm reaction “Follow-up in
event of an error master and/or slave”, each axis is decelerated to 0 speed. The master-slave
coupling is deactivated.
To prevent mechanical tension,
MD 36620: SERVO_DISABLE_DELAY_TIME and
MD 36610: AX_ENERGY_STOP_TIME
and the drive machine data
MD 1403: PULSE_SUPPRESSION_SPEED and
MD 1404: PULSE_SUPPRESSION_DELAY
must be set to the same values for the master and slave axes. This is the
responsibility of the user.
The master-slave coupling does not become active again until both axes have
returned to the “control active” state following a channel reset.
J
Supplementary Conditions 3
NCU 572.2 The Master/Slave for Drives function can be utilized on NCU 572.2 hardware
only on condition that is has been specifically enabled for the customer.
SINUMERIK 840Di The compile cycles function of the SINUMERIK 840D are currently available
only on request for the SINUMERIK 840Di.
“Virtual axis” In connection with “master-slave”, the use of the function: “Virtual axis”:
MD30132: $MA_IS_VIRTUAL_AX (axis is virtual axis)
is not permitted.
Option The speed/torque coupling function is an option and not available in every
control variant.
The master-slave function requires the master and slave axes to be operated
on the same NCU.
Further The master-slave function requires the master and slave axes to be operated
information on the same NCU.
S Traversing a slave axis with the coupling closed is possible only via the
master axis.
Differences
compared to
previous solution
S If a traversing movement is programmed for a slave axis that has already
been coupled, the alarm “14092 Channel %1 Block %2 Axis %3 has the
(up to SW 5.x) wrong type” appears.
S The setpoint position of the coupled slave axis corresponds to the current
actual position.
Modulo rotary Master and slave axes can also be rotary axes. Please note:
axes On the slave axis, the actual value in the “Diagnosis” menu under the “Service”
softkey exceeds 360 degrees, even if MD 30310: ROT_IS_MODULO has been
set to select modulo operation for the axis. The automatic basic display and the
service display do not show the actual value modulo 360 until the coupling is
deactivated.
Spindles If a master-slave coupling is activated with spindles, the slave axis is in speed
control mode. In this case too, the actual value of the slave axis exceeds 360
degrees in the service display. No modulo calculation is active. However, the
value shown in the automatic basic display is modulo 360 degrees.
To support installation, the current axial torque values in [Nm] and the speed
setpoints in [mm/min] or [rpm] of the P controller and the I controller of a torque
controller can be displayed on the operator panel front in the “Parameter - user
data” area.
For this purpose, the appropriate GUDs must be set up. For a detailed
description of the procedure to be followed, please see Section “File and
Program Management” in the document “SINUMERIK 840D/810D/
Programming Guide Advanced”.
Proceed as follows:
Create SGUD:
– “Services” menu
– If the “Definitions” directory does not appear, select definitions using the
“Data selection” softkey
– Open the Definitions directory
– “Manage data” softkey
– “New” softkey
– Create file
Name: SGUD
File type: Select global data/system
– OK
– The file opens. Enter the following lines:
DEF NCK REAL MASTER_SLAVE_TORQUE[number of active axes]
DEF NCK REAL TORQUE_CTRL_P[number of active axes]
DEF NCK REAL TORQUE_CTRL_I[number of active axes]
M30
– Close file and load
File: Create “Initial.ini”:
– Menu: Services > “Manage data” softkey > “New” softkey
– Create new directory type “NC data backup” and in this create the file:
“Initial.ini”
Name: initial
Type: Initialization program
– OK
– The file is opened. Enter the following line:
M17
– Close file and load
The following axis data are then displayed:
To support installation, the current torque values and the torque controller output
can be displayed on the MMC in the Servo Trace function.
Caution
! The existing Servo Trace function has been expanded for master and slave.
The operation of the “Servo Trace” is described in Chapter 10 of the Installation
Guide.
S Master torque
S Slave torque
S Controller output
Caution
! In order to increase the resolution of the signals, the data is displayed in the
following units:
Torques in [milli Nm]
Controller output in [internal increments/s]
Add an entry for the alarm text files of the technology card in the [Text Files]
section of the C:\OEM\MBDDE.INI file:
CZYK=C:\OEM\TF_
Create language-specific text files TF_xx.COM in directory C:\OEM\. xx stands
for the language code, e.g. GR for German and UK for English.
Enter the following alarm texts: in TF_GR.COM:
075150 0 0 “Slave axis %1 and master axis for speed setpoint coupling are
identical”
075151 0 0 “Slave axis %1 and master axis for torque control are identical”
075160 0 0 “Slave axis %1, master-slave coupling is not active”
075170 0 0 “Axis %1 overlaid motion not permissible”
Notes
37250 MS_ASSIGN_MASTER_SPEED_CMD
MD number Machine axis number of master axis for speed setpoint coupling
Default setting: 0 Minimum input limit: 0 Maximum input limit: 31
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies as of SW: 6.1
Meaning: A master-slave speed setpoint coupling is configured by specifying the machine axis num-
ber of the master axis associated with this slave.
Related to .... MD 37252 MS_ASSIGN_MASTER_TORQUE_CTR
37252 MS_ASSIGN_MASTER_TORQUE_CTR
MD number Master axis number for torque control
Default setting: 0 Minimum input limit: 0 Maximum input limit: 31
Changes effective after POWER ON Protection level: 2 Unit: –
Data type: DWORD Applies as of SW: 6.1
Meaning: A master-slave speed setpoint coupling is configured by specifying the machine axis num-
ber of the master axis associated with this slave. Uniform torque distribution is ensured by
the torque compensatory controller.
In the default setting = 0, the same master axis is used for torque distribution as for the
speed setpoint coupling MS_ASSIGN_MASTER_SPEED_CMD.
Related to .... MD 37250 MS_ASSIGN_MASTER_SPEED_CMD
MD 37254 MS_TORQUE_CTRL_MODE
MD 37256 MS_TORQUE_CTRL_P_GAIN
MD 37258 MS_TORQUE_CTRL_I_TIME
MD 37260 MS_TORQUE_WEIGHT_SLAVE
37254 MS_TORQUE_CTRL_MODE
MD number Connection of torque control output
Default setting: 0 Minimum input limit: 0 Maximum input limit: 3
Change effective: Immediately Protection level: 2 / 7 Unit: –
Data type: DWORD Applies as of SW: 6.1
Meaning: The output of the torque compensatory controller is applied when torque distribution is ac-
tive:
0: Master and slave axes
1: Slave axis
2: Master axis
3: None of the axes
Special cases, errors, ... for
...
Related to .... MD 37250 MS_ASSIGN_MASTER_SPEED_CMD
MD 37252 MS_ASSIGN_MASTER_TORQUE_CTR
MD 37255 MS_TORQUE_CTRL_ACTIVATION
Additional references Tab. 2.2 Combination options for machine data
37256 MS_TORQUE_CTRL_P_GAIN
MD number Gain factor of torque compensatory controller
Default setting: 0 Minimum input limit: 0 Maximum input limit: 100
Changes effective after NEW_CONF Protection level: 2/7 Unit: %
Data type: DOUBLE Applies as of SW: 6.1
Meaning: Gain factor of the torque compensatory controller
The gain factor is entered as a percentage of the maximum load-side axis velocity of the
slave axis in relation to the rated torque.
The maximum axis velocity is derived from MD32000 and the maximum rated torque from
the product of drive machine data MD1113: TORQUE_CURRENT_RATIO and
MD 1118: MOTOR_STANDSTILL_CURRENT.
Related to .... MD 37254 MS_TORQUE_CTRL_MODE
MD 37258 MS_TORQUE_CTRL_I_TIME
MD 32000 MAX_AX_VELO
37258 MS_TORQUE_CTRL_I_TIME
MD number Reset time for torque compensatory controller
Default setting: 0 Minimum input limit: 0 Maximum input limit: 100
Changes effective after NEW_CONF Protection level: 2/7 Unit: s
Data type: DOUBLE Applies as of SW: 6.1
Meaning: Reset time for torque compensatory control
The reset time does not become active until the P gain factor > 0.
Related to .... MD 37254 MS_TORQUE_CTRL_MODE
MD 37256 MS_TORQUE_CTRL_P_GAIN
MD 32000 MAX_AX_VELO
37260 MS_MAX_CTRL_VELO
MD number Limitation of torque compensatory control
Default setting: 0 Minimum input limit: 0 Maximum input limit: 100
Changes effective after NEW_CONF Protection level: 2/7 Unit: %
Data type: DOUBLE Applies as of SW: 6.1
Meaning: Torque compensatory controller limitation
The speed setpoint calculated by the torque compensatory controller is limited.
The possible limitation (as a percentage) is referenced to MD 32000 MAX_AX_VELO of the
slave axis.
Related to .... MD 37254 MS_TORQUE_CTRL_MODE
MD 37256 MS_TORQUE_CTRL_P_GAIN
MD 37258 MS_TORQUE_CTRL_I_TIME
MD 32000 MAX_AX_VELO
37262 MS_COUPLING_ALWAYS_ACTIVE
MD number Master/slave coupling active after power ON
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after NEW_CONF Protection level: 2/7 Unit: –
Data type: Byte Applies as of SW: 6.1
Meaning: POWER ON response of a master-slave coupling.
0: Temporary coupling
The coupling is activated/deactivated via the PLC interface signals and
language commands.
1: Permanent coupling
The coupling is activated permanently via this machine data.
The PLC interface signals and language commands have no effect.
Related to .... MD 37252 MS_ASSIGN_MASTER_TORQUE_CTR
MD 37250 MS_ASSIGN_MASTER_SPEED_CMD
37263 MS_SPIND_COUPLING_MODE
MD number Coupling characteristics of a spindle
Default setting: 0 Minimum input limit: 0 Maximum input limit: 1
Changes effective after NEW_CONF Protection level: 2/7 Unit: –
Data type: Byte Applies as of SW: 6.5
Meaning: Defining the coupling characteristics of speed-controlled spindles.
0: The coupling is only made/released at standstill.
1: The coupling is made/released immediately, i.e. even during motion.
This machine data MD 37263 acts on all coupling operations of speed-controlled spindles
made via PLC using IS “Master/slave on” (DB31, ... DBX24.7) or part program instructions
MASLON, MASLOF, MASLOFS and MASLDEL.
Related to .... –
37264 MS_TENSION_TORQUE
MD number Master-slave tension torque
Default setting: 0 Minimum input limit: –100 Maximum input limit: 100
Changes effective IMMEDIATELY Protection level: 2/7 Unit: –
Data type: PERCENT Applies as of SW: 6.1
Meaning: You can enter a constant tension torque between the master and slave axis as a percent-
age of the rated drive torque of the slave axis
Related to .... MD 37252 MS_ASSIGN_MASTER_TORQUE_CTR
MD 37266 MS_TENSION_TORQ_FILTER_TIME
37266 MS_TENSION_TORQ_FILTER_TIME
MD number Filter time constant master-slave tension torque
Default setting: 0 Minimum input limit: 0 Maximum input limit: 100
Changes effective IMMEDIATELY Protection level: 2/7 Unit: s
Data type: DOUBLE Applies as of SW: 6.1
Meaning: The tension torque between the master and slave axes can be applied via a PT1 filter.
Any changes in MD 37264 are then executed with the filter time constant.
The filter is inactive by default and any torque changes take effect without filtering.
Related to .... MD 37264 MS_TENSION_TORQUE
37268 MS_TORQUE_WEIGHT_SLAVE
MD number Weighting of the torque value for the slave axis
Default setting: 50 Minimum input limit: 0 Maximum input limit: 100
Changes effective after NEW_CONF Protection level: 2/7 Unit: _
Data type: PERCENT Applies as of SW: 6.1
Meaning: You can use the weighting to configure the torque of the slave axis relative to the total
torque. This enables a different torque control to be implemented for the master and slave
axes. On motors with the same rated torque, 50/50 torque distribution is recommended.
The torque of the master axis is calculated implicitly as 100% – MD37268.
Related to .... MD 37252 MS_ASSIGN_MASTER_TORQUE_CTR
MD 37266 MS_TENSION_TORQ_FILTER_TIME
S Option data
Warning
! Failure to take appropriate precautions can have undesirable consequences.
The functions activated by the option data trigger the corresponding compile
cycles. The compile cycles can significantly change the behavior of the control
and can create hazardous situations via access to the NC.
Before a compile cycle is activated, appropriate safety precautions to prevent
potential damage to machinery and personal injury must be taken (you may
need to take action to safeguard against incorrect parameter settings or
programming in the compile cycles).
63550 $MA_MS_ASSIGN_MASTER_SPEED_CMD
Master and slave axis need not be programmed in the same channel.
63555 $MA_MS_ASSIGN_MASTER_TORQUE_CTRL
Master and slave axis need not be programmed in the same channel.
63560 $MA_MS_TORQUE_CTRL_P_GAIN
nset = Mdiff * Kp
The data of the slave axis are relevant for a torque control.
63565 $MA_MS_TORQUE_CTRL_I_TIME
nset = Mdiff * Ki
The reset time of the torque control I_TIME is used to parameterize the gain factor
Ki of the I controller. Ki can only be calculated if the gain factor of the P controller
Kp <> 0, i.e. the I controller can only be active if the P component is also calculated.
Ki = 1/ position controller cycle * I_TIME * Kp
63570 $MA_MS_TORQUE_CTRL_MODE
63575 $MA_MS_ASSIGN_MASTER_SPEED_CMD
63580 $MA_MS_TENSION_TORQUE
The value to be input is a percentage of the rated torque of the slave axis.
63585 $MA_MS_TENSION_TORQ_FILTER_TIME
63590 $MA_MS_COUPLING_ALWAYS_ACTIVE
Value 1:
As soon as the conditions for activation of a coupling are met following a POWER
ON, the coupling is activated. It can no longer be released, i.e. it is no longer
possible to operate the drives separately. Modifying the PLC signal at axis
DB3x.DBB24.7 has no effect.
Value 0:
The coupling can be activated via the PLC signal at axis DB3x.DBB24.7.
63595 $MA_TRACE_MODE
63600 $MA_MS_MAX_CTRL_VELO
Notes
Signal Descriptions 5
5.1 Axisspecific signals
Examples 6
6.1 Speed/torque coupling
Preconditions
S A configured master axis
MD 37250: MS_ASSIGN_MASTER_SPEED_CMD00
Typical sequence
of operations Action Effect/comment
1. Approach coupling Each axis moves to the coupling position.
position
2. Close coupling Both axes are mechanically coupled to one
mechanically another.
3. Request to close PLC interface signal “Master/slave on” DB32, ...
the coupling DBX24.7 is set.
4. Read back When the axis is at a standstill, the coupled
coupling state slave axis sets PLC interface signal
“Master/slave active” DB32, ... DBX96.7 and
clears “Position controller active” DB32, ...
DBX61.5.
Wait for checkback signal.
5. Move master-slave The master axis is moved.
grouping
Preconditions
S A configured master axis MD 37250 0 0.
S Activation of a master-slave coupling via MD 37262 = 0.
S The coupling is open.
Part program N10 G0 AX1=0 AX2=0; Approach coupling position. Each of the axes
moves to the coupling position.
N20 MASLON (AX2); Close the coupling mechanically. Both axes
are mechanically coupled to one another.
N30 AX1=100; Move master-slave grouping.
The master axis is moved.
The slave follows the master coupled
via the speed setpoint.
N40 MASLOF (AX2); Open coupling. The axes are mechanically
separated from one another.
N50 AX1=200 AX2=200;Move master axis and slave axis.
The master axis is moved, decoupled from the
slave axis.
N60 M30
Preconditions
S Master-slave coupling is configured.
S Axes are stationary.
S No servo enable signals.
Typical sequence
of operations Action Effect/comment
1. Request to close PLC interface signal “Master/slave on” DB32, ...
the coupling DBX24.7 is set.
2. Set servo enable PLC interface signal “Servo enable” DB31, ...
DBX2.1 is set for both axes.
3. Evaluate checkbacks Connect the PLC interface signals of the master
axis with AND:
– DB31, ... DBX61.7 “Current controller active”
– DB31, ... DBX61.6 “Speed controller active”
– DB31, ... DBX61.5 “Position controller active”
Connect the PLC interface signals of the slave
axis with AND:
– DB32, ... DBX61.7 “Current controller active”
– DB32, ... DBX61.6 “Speed controller active”
– DB32, ... DBX96.7 “Master/slave active”
4. Release brakes If the result of the AND operations on the master
and slave axes is 0 0, the brake may be re-
leased.
7.3 Alarms
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, Diagnostics Guide
or in the Online help.
After a block search, the coupling status and associated axis positions can be
adjusted subsequently by means of a system ASUB (asynchronous subroutine)
“PROGEVENT.SPF”. System variables $P_SEARCH_MASL_C,
$P_SEARCH_MASL_D and $AA_MASL_STAT are available for this purpose;
they can be used to alter the positional offset between the coupled axes and the
coupling status:
Notes
Brief Description 1
Functionality The handling transformation package has been designed for use on
manipulators and robots. The package is a type of modular system, which
enables the customer to configure the transformation for his machine by setting
machine data (provided that the relevant kinematics are included in the handling
transformation package).
Notes
Detailed Description 2
2.1 Kinematic transformation
Task of a The purpose of a transformation is to transform movements in the tool tip, which
transformation are programmed in a Cartesian coordinate system, into machine axis positions.
Application The handling transformation package described here has been designed to
cover the largest possible number of kinematic transformations implemented
solely via parameter settings in machine data. The current package offers
kinematics, which include between 2 and 5 axes in the transformation,
corresponding to up to five spatial degrees of freedom. In this case, a maximum
of 3 degrees are available for translation and 2 degrees for orientation, allowing
a tool (milling cutter, laser beam) on a 5-axis machine to be oriented in any
desired relation to the workpiece in the machining space.
The workpiece is always programmed in the rectangular workpiece coordinate
system; any programmed or set frames rotate and shift this system in relation to
the basic system. The kinematic transformation then converts this information
into motion instructions for the real machine axes. The kinematic transformation
requires information about the design (kinematics) of the machine, which are
stored in machine data.
Lengths and In the transformation machine data, all lengths are specified in millimeters or
angles inches and, unless otherwise stated, all angles in degrees at intervals of
[ –180°, 180° ].
Direction of In the case of angles, arrows in the drawings always indicate the mathemati-
rotation cally positive direction of rotation.
In order to make a clear distinction from the term “frame” as it is used in the NC
language, the following description explains the meaning of the term “frame” in
relation to the handling transformation package.
Frame A frame can be used to translate one coordinate system into another. In this
respect, a distinction must be made between translation and rotation.
Translation only effects an offset between the coordinate system and the
reference system, while rotation actually rotates the coordinate system in
relation to the reference.
Translation Coordinates X, Y and Z are used to describe the translation. They are defined
to produce a right-handed coordinate system.
Translation is always entered with reference to the coordinate directions of the
initial system. These directions are assigned to machine data as follows:
– X direction: ..._POS[0]
– Y direction: ..._POS[1]
– Z direction: ..._POS[2]
Rotation The rotation is described by the RPY angles A, B and C (RPY stands for Roll
Pitch Yaw). The positive direction of rotation is defined by the right hand rule, i.e.
if the thumb on the right hand is pointing in the direction of the axis of rotation,
then the fingers are pointing in the positive angular direction. In this respect, it
must be noted that A and C are defined at intervals [–180; +180] and B at
intervals [–90; +90].
The definitions of the RPY angles are as follows:
– Angle A: 1. rotation about the Z axis of the initial system
– Angle B: 2. rotation about the rotated Y axis
– Angle C: 3. rotation about the twice rotated X axis
The RPY angles are assigned to machine data as follows:
– Angle A: ..._RPY[0]
– Angle B: ..._RPY[1]
– Angle C: ..._RPY[2]
Fig. 2–1 shows an example of rotation about the RPY angles. In this example,
the initial coordinate system X1, Y1, Z1 is first rotated through angle A about
axis Z1, then through angle B about axis Y2 and finally through angle C about
axis X3.
A = –90 B = 90 C = –90
z1 z2
y1 y4
x1 y2 y3 z4
x2 z3
x3 x4
S Sliding joint
WZ Tool
S Axis assignments
S Geometry information
MD 24100 The value 4099 must be entered in this data for the handling transformation
TRAFO_TYPE_1 package.
MD 24110 The axis assignment at the transformation input defines which transformation
TRAFO_AXES_IN_1 axis is mapped internally onto a channel axis. It is specified in MD 24110:
TRAFO_AXES_IN_1.
There is a predetermined axis sequence for the handling transformation
package, i.e. the first n channel axes must be assigned to the n transformation
axes in ascending sequence:
S MD 24110: TRAFO_AXES_IN_1[0] = 1
S MD 24110: TRAFO_AXES_IN_1[1] = 2
S MD 24110: TRAFO_AXES_IN_1[2] = 3
S MD 24110: TRAFO_AXES_IN_1[3] = 4
S MD 24110: TRAFO_AXES_IN_1[4] = 5
S MD 24110: TRAFO_AXES_IN_1[5] = 6
S MD 24120: TRAFO_GEO_AX_ASSIGN_TAB_1[0] = 1
S MD 24120: TRAFO_GEO_AX_ASSIGN_TAB_1[1] = 2
S MD 24120: TRAFO_GEO_AX_ASSIGN_TAB_1[2] = 3
Modular principle
The machine geometry is parameterized according to a type of modular
principle. With this method, the machine is successively configured in geometry
parameters from its base center point to the tool tip, thereby producing a closed
kinematic loop. Frames (see Subsection 2.2.2) are used to describe the
machine geometry. While the control is powering up, the configuration machine
data are checked and alarms generated when necessary.
All axes in the mode group are made to follow, the alarms can only be reset by
a power ON operation.
As shown in Fig. 2–3, the kinematic transformation effects a conversion of the
tool operating point (tool coordinate system): XWZ, YWZ, ZWZ), that is specified
in relation to the basic coordinate system (BCS = robot coordinate system: XRO,
YRO, ZRO), into machine axis values (MCS positions: A1, A2, A3, ..). The
operating point (XWZ, YWZ, ZWZ) is specified in the part program in relation to
the workpiece to be machined (workpiece coordinate system WCS: XWS, YWS,
ZWS). The programmable frames make it possible to create an offset between
the workpiece coordinate system WCS and the basic coordinate system BCS.
z IRO x FL
y IRO
yFL xWZ
x IRO zFL
yWZ
zWZ
Kinematic
transformation
Programmed
zWS
zRO position
yWS
y RO
Note
For more detailed information about coordinate systems, please see:
References: /PA/, “Programming Guide Fundamentals”
MD 62612 The frame T_IRO_RO links the base center point of the machine (BCS = RO)
TRAFO6_TIRORO_ with the first internal coordinate system (IRO) determined by the transformation.
POS
MD 62613
TRAFO6_TIRORO_
RPY
MD 62606 MD 62606: TRAFO6_A4PAR specifies whether the 4th axis is mounted parallel,
TRAFO6_A4PAR anti-parallel or perpendicular to the last rotary basic axis.
MD 62608 Frame T_X3_P3 links the last coordinate system of the basic axes with the first
TRAFO6_TX3P3_POS hand coordinate system.
MD 62609
TRAFO6_TX3P3_RPY
MD 62604 MD 62604: TRAFO6_WRIST_AXES specifies the hand type. The term wrist
TRAFO6_WRIST_ axes generally refers to axes four to six.
AXES
MD 62610 The frame T_FL_WP links the last hand coordinate system with the first flange
TRAFO6_TFLWP_POS coordinate system.
MD 62611
TRAFO6_TFLWP_RPY
MD 62603 The first 3 axes included in the transformation are generally referred to as the
TRAFO6_MAIN_AXES “basic axes”. They must always be mutually parallel or perpendicular. Each of
the following basic axis arrangements has its own special identifier (see
Subsection 2.2.3). The MD 62603: TRAFO6_MAIN_AXES is used to enter the
basic axis identifier.
r3 q
2 3
p3
3
1
SS
z IRO y
IRO
x IRO
r3
q3
p3
z IRO
y IRO
x IRO 2
z IRO r3 IRO r3
y IRO q3 y IRO q3
x IRO p3 x IRO p3
2 3
q3
z r3
IRO
y IRO q3 p3
r3 3
x IRO 3 p3
2 2
1 y IRO
z IRO 1 x IRO
MD 62604 The fourth axis and all further axes are generally referred to as “wrist axes”. The
TRAFO6_WRIST_ handling transformation package can only identify hands with rotary axes. The
AXES wrist axis identifier for three-axis hands is entered in MD 62603:
TRAFO6_MAIN_AXES. In the case of hands with fewer than three axes, the
identifier for a beveled hand with elbow or a central hand is entered in
MD 62603: TRAFO6_MAIN_AXES. The current software supports only wrist
axis types beveled hand with elbow or central hand.
Beveled hand
Central hand with ellbow
MD 62614 ... Hands are parameterized via machine data MD 62614: TRAFO6_DHPAR4_5A,
MD 62616 MD 62615: TRAFO6_DHPAR4_5D and MD 62616:
TRAFO6_DHPAR4_5.. TRAFO6_DHPAR4_5ALPHA. These data are special types of frame which
describe the relative positions of the coordinate systems in the hand. In this
case, TRAFO6_DHPAR4_5A corresponds to .._POS[0] (x component),
TRAFO6_DHPAR4_5D to .._POS[2] (z component) and
TRAFO6_DHPAR4_5ALPHA to .._RPY[2] (C angle) of a frame (see
Subsection 2.2.2). The other components of the frame are then zero.
Central hand (CH) On a central hand, all wrist axes intersect at one point. All parameters must be
set as shown in Table 2-1.
CH (5-axis)
zHP
z3
x 3 = x 5 = x HP
Beveled hand with The beveled hand with elbow differs from the central hand in two respects, i.e.
elbow (BHE) the axes do not intersect nor are they mutually perpendicular. Parameters a4,
d5, und a4 are available for this type of hand, as shown in Table 2–1.
BHE (5-axis)
z5 = zHP
x 5 = x HP
MD 62615:
MD 62614: TRAFO6_DHPAR4_5D[1]
TRAFO6_DHPAR4_5A[0] MD 62616:
TRAFO6_DHPAR4_5ALPHA[0]
x3
z3
Table 2-2 Configuring data for a beveled hand with elbow (5-axis)
Link frames
T_X3_P3 T_FL_WP
z IRO r3 y3 x HP
y IRO q3 zHP xFL
x IRO p3 x3 yHP yFL
z3 zFL
T_IRO_RO
zRO y RO
x RO
T_IRO_RO Frame T_IRO_RO provides the link between the base center point coordinate
system (RO) defined by the user and the internal robot coordinate system
(IRO). The internal robot coordinate system is predefined in the handling
transformation package for each basic axis type and included in the kinematic
diagrams for the basic axis arrangements. The base center point system is in
the Cartesian zero point of the machine, corresponding to the basic coordinate
system. If no FRAMES are programmed, the basic coordinate system equals
the workpiece coordinate system.
Note
For more detailed information about FRAMES, please see:
References: /PA/, “Programming Guide Fundamentals”
S With respect to all other basic axes, and basic axes of type CC, CS or SC if
the 4th axis is perpendicular to the last rotary basic axis, the Z axis of RO
must be parallel to the Z axis of IRO.
T_X3_P3 Frame T_X3_P3 describes the method used to attach the hand to the basic
axes. Frame T_X3_P3 is used to link the coordinate system of the last basic
axis (p3_q3_r3 coordinate system) with the coordinate system of the first wrist
axis (x3_y3_z3 coordinate system). The p3_q3_r3 coordinate system is
included in the kinematic diagrams for the basic axis arrangements.
The z3 axis is always on the 4th axis.
Depending on the number of axes to be included in the transformation, frame
T_X3_P3 is subject to certain restrictions relating to the hand and basic axes:
T_FL_WP Frame T_FL_WP links the flange with the last internal coordinate system
predefined with the handling transformation package (hand-point coordinate
system).
For kinematics with fewer than 6 axes, this frame is subject to certain
restrictions, which are explained with the relevant kinematics.
Important
! With certain types of kinematics, it is possible to transpose axes without
changing the behavior of the kinematic transformation. MD 62620:
TRAFO6_AXIS_SEQ is used for the purpose of kinematic conversion. The
axes on the machine are numbered consecutively from 1 to 5 and must be
entered in the internal sequence in MD 62620: TRAFO6_AXIS_SEQ[0] ...[4].
All other axis-specific machine data refer to the sequence of axes on the
machine.
Example 1 This example involves two kinematics such as those illustrated in Fig. 2-9.
Kinematic 1 is directly included in the handling transformation package. It
corresponds to a CC kinematic with a wrist axis parallel to the last rotary basic
axis.
Kinematic 2 is equivalent to kinematic 1 since, as regards the final motion of the
robot, it is irrelevant whether the translational axis is axis 1 or axis 4. In this
instance, the data for kinematic 2 must be entered as follows in MD 62620:
TRAFO6_AXIS_SEQ:
MD 62620: TRAFO6_AXIS_SEQ[ 0 ] = 4
MD 62620: TRAFO6_AXIS_SEQ[ 1 ] = 1
MD 62620: TRAFO6_AXIS_SEQ[ 2 ] = 2
MD 62620: TRAFO6_AXIS_SEQ[ 3 ] = 3
1 2 3 4 1 2 3 4
Kinematics 1 Kinematics 2
Example The example (Fig. 2-11) shows an articulated arm kinematic. The mathematical
zero point for axis 2 is 90º. This value must be entered in MD 62617:
TRAFO6_MAMES[1] for axis 2. Axis 3 is counted relative to axis 2 and therefore
has a value of –90º as a mathematical zero point.
MD 62617: TRAFO6_MAMES[1] = 90
S Linear axis
S Rotary axis
Velocities and Separate velocities are introduced for the Cartesian motion components for
acceleration rates traversing the axes with G00 and active transformation.
For traversal with G01 or G02, the path velocity is specified using path
feedrate F.
MD 62629 MD 62629: TRAFO6_VELCP[i] can be set to define the velocities for individual
TRAFO6_VELCP translational motion directions for axis traversal with G00.
Index i = 0: X component of basic system
Index i = 1: Y component of basic system
Index i = 2: Z component of basic system
MD 62630 MD 62630: TRAFO6_ACCCP[i] can be set to define the acceleration rates for
TRAFO6_ACCCP individual translational motion directions for axis traversal with G00.
Index i = 0: X component of basic system
Index i = 1: Y component of basic system
Index i = 2: Z component of basic system
MD 62631 MD 62631: TRAFO6_VELORI[i] can be set to define the velocities for individual
TRAFO6_VELORI directions of orientation for axis traversal with G00.
Index i = 0: A angle
Index i = 1: B angle
Index i = 2: C angle
MD 62632 MD 62632: TRAFO6_ACCORI[i] can be set to define the acceleration rates for
TRAFO6_ACCORI individual directions of orientation for axis traversal with G00.
Index i = 0: A angle
Index i = 1: B angle
Index i = 2: C angle
SCARA kinematics
SCARA kinematics are characterized by the fact that they possess both
translational and rotary axes. The basic axes are divided into 3 categories
depending on how they are mutually positioned.
S CC types
S CS types
S SC types (cf. Fig. 2–4).
3-axis
CC kinematics MD 62607: MD 62610:
TRAFO6_MAIN_LENGTH_AB[1] TRAFO6_TFLWP_POS[0]
z FL
q3 y FL
xFL
p3 zWZ
r3 yWZ
2
x WZ
y IRO
1
z IRO x IRO
z RO y RO
MD 62612:
TRAFO6_TIRORO_POS[2]
x RO
3-axis
SC kinematics
zIRO r3 z
yIRO 2 q3 FL yFL
x IRO p3 x FL
3
zWZ yWZ
MD 62612:
TRAFO6_TIRORO_ z IRO y IRO
POS[2]
1 xWZ
x IRO
MD 62607: MD 62610:
TRAFO6_MAIN_LENGTH_AB[0] TRAFO6_TFLWP_POS[0]
3-axis
CS kinematics
r3 z FL
q3 y FL
3
p3 x FL
zWZ y WZ
z IRO
y IRO x WZ
2
xIRO
MD 62612:
TRAFO6_TIRORO_ 1
POS[2]
zRO
yRO
xRO
MD 62607: MD 62610:
TRAFO6_MAIN_LENGTH_AB[0] TRAFO6_TFLWP_POS[0]
Articulated-arm kinematics
3-axis
NR kinematic
MD 62607:
TRAFO6_MAIN_LENGTH_AB[0]
z IRO r3 zFL
yIRO q3 yFL
xIRO p3 xFL
2 3 yWZ
zWZ
MD 62612: 1 xWZ
TRAFO6_
TIRORO_
POS[2] zRO y RO MD 62610:
TRAFO6_TFLWP_POS[0]
MD 62607:
x RO TRAFO6_MAIN_LENGTH_AB[1]
3-axis
RR kinematics
MD 62607: MD 62610:
TRAFO6_MAIN_LENGTH_AB[0] TRAFO6_TFLWP_POS[0]
z IRO r3 zFL
yIRO q3 yFL
RR x FL
x IRO 3 p3
2 zWZ yWZ
1
x WZ
zRO yRO
x RO
3-axis
NN kinematics
MD 62607: MD 62610:
TRAFO6_MAIN_LENGTH_AB[0] TRAFO6_TFLWP_POS[0]
q3 z FL
yFL
x FL
p3
r3 3 z WZ yWZ
MD 62607:
TRAFO6_MAIN_ 2 x WZ
LENGTH_AB[1]
y IRO
z IRO 1
x IRO
MD 62612:
TRAFO6_TIRORO_
POS[2]
zRO y RO
x RO
13. Determine the flange coordinate system. For this purpose, the hand-point
coordinate system must be regarded as the initial system. The offset is
stored in MD 62610: TRAFO6_TFLWP_POS and the rotation in MD 62611:
TRAFO6_TFLWP_RPY.
SCARA kinematics
4-axis
CC kinematics
MD 62607: MD 62608:
TRAFO6_MAIN_LENGTH_AB[1] TRAFO6_TX3P3_POS[0]
q3
p3
r3 MD 62608:
xHP TRAFO6_TX3P3_POS[1]
2 3
4 yHP
zHP MD 62610:
TRAFO6_TFLWP_POS[2]
yFL
yIRO zFL
xFL
1 yWZ
zIRO x IRO
zWZ
zRO y RO
MD 62612:
TRAFO6_TIRORO_POS[2]
xWZ
x RO
4-axis
SC kinematics
z IRO r3 y FL
y IRO 2 q 4
z3 x FL
3
p3 x3 z FL
x IRO 3
y WZ x WZ
MD 62612:
z RO y3
TRAFO6_TIRORO_POS[2] y RO z WZ
1
x RO
4-axis
CS kinematics
r3
q3
3
p3
MD 62608:
z IRO x HP TRAFO6_TX3P3_POS[2]
y IRO 4
y
2
zHP HP
MD 62610:
xIRO y
TRAFO6_TFLWP_POS[2]
z FL FL
MD 62612:
1 xFL
TRAFO6_TIRORO_POS[2]
y
zRO WZ
yRO z
WZ
x WZ
xRO
MD 62607: MD 62608:
TRAFO6_MAIN_LENGTH_AB[0] TRAFO6_TX3P3_POS[0]
Articulated-arm kinematics
4-axis
NR kinematic
MD 62607: MD 62608:
TRAFO6_MAIN_LENGTH_AB[0] TRAFO6_TX3P3_POS[0]
z IRO r3
yIRO q3 zHP y FL x
FL
zFL
xIRO 2 3
p3 4 xHP
yHP y WZ xWZ
MD 62612: 1 zWZ
TRAFO6_TIRORO_POS[2]
x RO
8. Compare the directions of rotation of axes with the directions defined in the
handling transformation package and correct in MD 62618:
TRAFO6_AXES_DIR.
9. Enter the mechanical zero offset in MD 62617: TRAFO6_MAMES.
10. Enter the basic axis lengths in MD 62607: TRAFO6_MAIN_LENGTH_AB.
11. Define frame T_IRO_RO and enter the offset in MD 62612:
TRAFO6_TIRORO_POS and the rotation in MD 62613:
TRAFO6_TIRORO_RPY.
12. Specification of frame T_X3_P3 to attach hand. The offset is stored in
MD 62608: TRAFO6_TX3P3_POS and the rotation in MD 62609:
TRAFO6_TX3P3_RPY.
13. Specification of wrist axes parameters. For this purpose, only the
parameters for axis 4 must be entered in MD 62614:
TRAFO6_DHPAR4_5A[0] and MD 62616: TRAFO6_DHPAR4_5ALPHA[0].
All other parameters must be set to 0.0.
14. Determine the flange coordinate system. For this purpose, the hand-point
coordinate system must be regard as the initial system. The offset is stored
in MD 62610: TRAFO6_TFLWP_POS and the rotation in MD 62611:
TRAFO6_TFLWP_RPY.
SCARA kinematics
5-axis
CC kinematics MD 62614:
TRAFO6_DHPAR4_5A[0]
MD 62607: MD 62608: MD 62610:
TRAFO6_MAIN_LENGTH_AB[1] TRAFO6_TX3P3_POS[0] TRAFO6_TFLWP_POS[0]
q3 z3 y z HP z FL
3
x FL
p3 x3 x z WZ
r3 HP
y
2 3 4 5
HP y FL
x WZ
yWZ
y IRO
1
zIRO x IRO
MD 62612:
z RO y RO TRAFO6_TIRORO_POS[2]
x RO
5-axis
NR kinematic
MD 62607: MD 62608:
TRAFO6_MAIN_LENGTH_AB[0] TRAFO6_TX3P3_POS[0]
z IRO r3
yIRO q3 zHP zFL
yHP zWZ
xIRO 2 3
p3 5 xFL xWZ
4
xHP yFL yWZ
MD 62612: 1
TRAFO6_TIRORO_POS[2]
x RO
MD 62602 Special kinematics are kinematics that are not directly included in the building
TRAFO6_SPECIAL_ block system of the Handling transformation package. They are frequently
KIN missing a degree of freedom or are characterized by mechanical links between
the axes or with the tool. MD 62600: TRAFO6_KINCLASS = 2 must be set for
these kinematics. MD 62602: TRAFO6_SPECIAL_KIN specifies the type of
special kinematic.
Special 2-axis This special kinematic is characterized by the fact that the tool is always
SC kinematics maintained in the same orientation via a mechanical linkage. It implies two
Cartesian degrees of protection. The identifier for this kinematic is
MD 62602: TRAFO6_SPECIAL_KIN = 3.
xWZ z WZ
xFL zFL yWZ
yFL
MD 62607:
TRAFO6_MAIN_LENGTH_AB[1]
MD 62607:
TRAFO6_MAIN_LENGTH_AB[0] xIRO z IRO
yIRO
xRO z RO MD 62612:
TRAFO6_TIRORO_POS[0]
yRO
Special 3-axis The special kinematic has 2 Cartesian degrees of freedom and one degree of
SC kinematics freedom for orientation. The identifier for this kinematic is MD 62602:
TRAFO6_SPECIAL_KIN = 4.
MD 62610:
MD 62608: TRAFO6_TFLWP_POS[0] y WZ xWZ
TRAFO6_TX3P3_POS[0]
z IRO y FL zWZ
yIRO z3 x FL
A2 x IRO A3 x z FL
3
y
3
MD 62612:
z RO
TRAFO6_TIRORO_
POS[2]
yRO
A1 x RO
Special 4-axis This special kinematic is characterized by the fact that axis 1 and axis 2 are
SC kinematics mechanically coupled. This coupling ensures that axis 2 is maintained at a
constant angle when axis 1 is swiveled. This kinematic also guarantees that
axes 3 and 4 always remain perpendicular, irrespective of the positions of axes
1 and 2. The identifier for this kinematic is MD 62602: TRAFO6_SPECIAL_KIN
= 7.
MD 62608: MD 62607:
TRAFO6_TX3P3_POS[0] TRAFO6_MAIN_LENGTH_AB[0]
z IRO r3
yIRO q3 z3
y3
1 xIRO 2 p3 x3
3
MD 62607:
TRAFO6_MAIN_LENGTH_AB[1] MD 62610:
TRAFO6_TFLWP_
POS[2]
4
yFL
zFL y WZ
z RO xFL
y RO zWZ
xWZ
x RO
Special 2-axis This special kinematic is characterized by the fact that axis 1 and axis 2 are
NR kinematic mechanically coupled. Another special feature is the tool. With this kinematic, it
maintains its orientation in space irrespective of the positions of the other axes.
Its identifier is MD 62602: TRAFO6_SPECIAL_KIN = 5.
MD 62608: MD 62607:
TRAFO6_TX3P3_POS[0] TRAFO6_MAIN_LENGTH_AB[0]
zIRO r3
yIRO q3 z y 3 zFL
3 yFL
1 xIRO 2 p3 x3 xFL z
WZ
yWZ
MD 62607: x WZ
TRAFO6_MAIN_LENGTH_AB[1]
MD 62612:
MD 62612: TRAFO6_TIRORO_POS[0]
TRAFO6_TIRORO_POS[1]
y RO
x RO
z RO
Tool axis
Circumferential
milling
Programming Three possible methods can be used to program the orientation of the tool:
Important
! It is not possible to program using Euler angles, RPY angles or direction
vectors for kinematics involving fewer than 5 axes. In such cases, only one
degree of freedom is available for orientation. This orientation angle can only
be programmed with “Orientation axis angle” “A”.
Orientation A tool orientation at the start of a block can be transferred to the block end in the
reference workpiece coordinate system only using the ORIWKS command.
ORIWKS command The tool orientation is programmed in the workpiece coordinate system (WCS)
and is thus not dependent on the machine kinematics. In the case of a change
in orientation with the tool tip at a fixed point in space, the tool moves along a
large arc on the plane stretching from the start vector to the end vector.
ORIMKS command The tool orientation is programmed in the machine coordinate system and is
thus dependent on the machine kinematics. In the case of a change in
orientation of a tool tip at a fixed point in space, linear interpolation takes place
between the rotary axis positions.
Important
! Transferring an orientation using ORIMKS is not allowed in the handling
transformation package. With an active transformation, it is not the machine
axis angles that are programmed and traversed, but “orientation angles” (RPY
angles according to robotics definition, see Subsection 2.2.2).
Improper tool If the tool orientation is programmed in conjunction with the following functions:
orientation
S G04 Dwell time
S G33 Thread cutting with constant lead
S G74 Approach reference point
S G75 Approach fixed point
S REPOSL Repositioning
S REPOSQ Repositioning
S REPOSH Repositioning
Alarm 12130 “Illegal tool orientation” is output when Euler angles and direction
vectors are selected. The NC program then stops (this alarm can also occur in
connection with G331, G332 and G63). Alarm 17630 or 17620 is output for G74
and G75 if a transformation is active and the axes are involved in the
transformation. This applies irrespective of orientation programming.
If the start and end vectors are anti-parallel when ORIWKS is active, no unique
plane is defined for the orientation programming, resulting in the output of alarm
14120.
Alarm 14400 is output if the transformation is switched on or off when a tool
offset is active.
In the reverse situation, i.e. a tool offset is selected or deselected when a
transformation is active, no alarm message is output.
Multiple input of According to DIN 66025, only one tool orientation may be entered in a block,
tool orientation e.g. with direction vectors:
N50 A3=1 B3=0 C3=0
If the tool orientation is input several times, e.g. with direction vectors and Euler
angles:
N60 A3=1 B3=1 C3=1 A2=0 B2=1 C2=3
error message 12240 “Channel X block Y tool orientation xx defined more than
once” is displayed and the NC part program stops.
Tool orientation 4-axis kinematics possess only one degree of freedom for orientation. When the
for 4-axis orientation is programmed using RPY angles, Euler angles or direction vectors,
kinematic it is not generally possible to guarantee that the specified orientation can be
approached. If used at all, this type of orientation programming is only suitable
for certain types of kinematic, i.e. those which feature an invariance in
orientation angles relative to the basic axes. This is the case for example for
SCARA kinematics.
This is why, for kinematics with 4 axes, the orientation may only be programmed
via “orientation angle” A. This angle corresponds to the RPY angle C according
to the robotics definition, i.e. one rotation about the Z-RO axis, as illustrated in
Fig. 2-29.
x HP
A4
y
z HP
HP
y FL
z RO
z FL
xFL
yRO
z WZ
y
WZ
x RO
x WZ
Tool orientation For 5-axis kinematics, when programming via orientation vector, it is assumed
for 5-axis that the orientation vector corresponds to the x component of the tool.
kinematics When programming via orientation angle (RPY angle according to robotics
definition), the x component of the tool is considered as the initial point for
rotations.
For this purpose, the vector in the x tool direction, as shown in Fig. 2-30, is first
rotated around the Z axis by the angle A and then around the rotated Y axis by
the angle B. The rotation by the angle C is not possible for 5-axis kinematics
because of the restricted degrees of freedom for the orientation.
z WZ
z FL
yFL
z RO y
WZ
xFL
yRO
x RO x WZ
In SW 5.3 and higher, it is possible to define orientation axes for the handling
transformation package.
Important
! For more information, see the Description of Functions, Special Functions F2
(Part 3), Section 2.6 Orientation Axes and the “Programming Guide Advanced”,
Subsection 7.1.4, “Orientation Axes”.
The calculation of the machine axes to a preset position, i.e. position with
orientation, is not always clear. Depending on the machine kinematic, there may
be positions with an infinite number of solutions. These positions are called
“singular”.
Singular positions
S A singular position is, for example, characterized by the fact that the fifth
axis is positioned at 0°. In this case, the singular position does not depend
on a specified orientation. In this position, the fourth axis is not specified, i.e.
the fourth axis has no influence on the position or orientation.
S A singular position also exists for articulated arm and Scara kinematics if the
third axis is positioned at 0° or 180°. These positions are called
leveling/diffraction singularity.
S Another singular position exists for articulated arm kinematics if the hand
point is above the rotary axis of axis 1. This position is called overhead
singularity.
Extreme velocity If the path runs in the proximity of a pole (singularity), one axis or several axes
increase may traverse at a very high velocity. In this case, alarm 10910 “Extreme axis
velocity increase” is triggered.
Behavior at pole The unwanted behavior of fast compensating movements can be improved by
reducing the velocity in the proximity of a pole. Traveling through the pole with
active transformation is usually not possible.
Important
! When deactivating the “handling transformation package” transformation, a
preprocessing stop and a preprocessing synchronization are implicitly
executed with the main run if MD 24100:TRAFO_TYPE_1 is set to 4099. If
MD 24100: TRAFO_TYPE_1 is set to 4100, there is no implicit preprocessing
stop.
RESET/EOP The control behavior in terms of transformation following run-up, end of program
or RESET depends on MD 20110: RESET_MODE_MASK
Bit 7: Reset behavior of “Active kinematic transformation”
Bit 7 = 0 Defines the initial setting for the active transformation following
end of part program or RESET in accordance with the value set in
MD 20140: TRAFO_RESET_VALUE with the following
meaning:
0: After RESET no transformation is active.
1 to 8: The transformation preset in MD 24100:
TRAFO_TYPE_1 to MD 24460: TRAFO_TYPE_8
is active.
Bit 7=1: The current setting for the active transformation remains
unchanged after a RESET or end of part program.
MCS machine The machine axes are displayed in mm/inch and/or degrees in MCS display
coordinate system mode.
WCS workpiece If the transformation is active, the tool tip (TCP) is specified in mm/inch and the
coordinate system orientation by the RPY angles A, B and C in WCS display mode. The tool
direction results from the fact that one vector is first rotated by A in Z direction
around the Z axis, then by B around the new Y axis and, finally, by C around the
new X axis.
If the transformation is not active, the axes are displayed with the channel axis
identifiers. If not, the geo axis identifiers are displayed.
The tool lengths are specified in relation to the flange coordinate system. Only
3-dimensional tool compensations are possible. Depending on the kinematic
type, there are additional tool restrictions for 5-axis and 4-axis kinematics. For a
kinematic as illustrated in Fig. 2–23, only a 1-dimensional tool with length in the
x direction is permitted.
The direction of the tool depends on the initial setting of the machine, which is
specified with G codes G17, G18 and G19. The tool lengths refer to the zero
position specified by G17. This zero position should not be modified in the
program.
X-TOOL
z HP z FL
xFL
x zWZ
HP
Y-TOOL
yHP
A4 A5
yFL
x WZ
y WZ
As from software package 5.3 it is possible to use the function Cartesian PTP
travel with the handling transformation package. For this purpose, MD 24100:
TRAFO_TYPE_1 must be set to 4100.
Important
! For more information, see the Description of Functions Special Functions F2
(Part 3) Section 2.7 “Cartesian PTP Travel” and the “Programming Guide
Advanced”, Subsection 7.1.5, Cartesian PTP Travel.
Supplementary Conditions 3
3.1 Creating alarm texts
Add an entry for the alarm text files for the function described in the [TextFiles]
section of the C:\OEM\MBDDE.INI file:
CZYK=C:\OEM\TF_
If file C:\OEM\MBDDE.INI does not exist, it must be set up, although only
section [Text Files] is required.
Create language-specific text files
TF_xx.COM in directory
C:\OEM\
xx stands for the language code, e.g. GR for German and UK for English.
Enter the following alarm texts there:
in TF_GR.COM
075200 0 0 “Channel %1 incorrect MD configuration, error: %2”
075210 0 0 “Channel %1 axis number/assignment inconsistent”
075250 0 0 “Channel %1 tool parameter error”
075255 0 0 “Channel %1 working space error”
075260 0 0 “Channel %1 block %2 tool parameter error”
075265 0 0 “Channel %1 block %2 working space error”
075270 0 0 “Channel %1 tool parameter error”
075275 0 0 “Channel %1 block %2 working space error”
NCU 572.2 The handling transformation package can be utilized on NCU 572.2 hardware
only on condition that is has been specifically enabled for the customer.
Clearance control The handling transformation package cannot be operated together with the
technology function: “clearance control”, as generally the three basic axes are
not arranged perpendicular to one another.
Travel to fixed stop The handling transformation package cannot be operated in conjunction with
the “travel to fixed stop” function.
Several The handling transformation package can only be activated once per channel.
transformations
Tool programming Tools can only be parameterized by specifying tool lengths. It is not possible to
program an orientation for the tool.
Programming of The programming possibilities of the orientation depend on the number of axes
the orientation available on the machine:
Number < 5:
S Orientation axis angle
Number 5:
S Orientation axis angle
S Orientation vector
S MD 21100: ORIENTATION_IS_EULER
Definition of angle for programming of orientation
S MD 24100: TRAFO_TYPE_1
Definition of transformation
S MD 24110: TRAFO_AXES_IN_1[n]
Axis assignment for transformation 1 [axis index]: 0 ... 5
S MD 24120: TRAFO_GEOAX_ASSIGN_TAB_1[n]
Assignment between geometry axes and channel axes for transformation 1
[geometry axis number]: 0 ... 2.
S MD 24520: TRAFO5_ROT_SIGN_IS_PLUS_1[n]
Sign of rotary axes 1/2 for 5–axis transformation 1 [axis no.]: 0 ... 1
(not evaluated, see MD 62618: TRAFO6_AXES_DIR)
62600 TRAFO6_KINCLASS
62601 TRAFO6_AXES_TYPE[n]
62602 TRAFO6_SPECIAL_KIN
62603 TRAFO6_MAIN_AXES
62604 TRAFO6_WRIST_AXES
62605 TRAFO6_NUM_AXES
62606 TRAFO6_A4PAR
62607 TRAFO6_MAIN_LENGTH_AB[n]
62608 TRAFO6_TX3P3_POS[n]
62609 TRAFO6_TX3P3_RPY[n]
62610 TRAFO6_TFLWP_POS[n]
MD number Frame between wrist point and flange coordinate system (position component),
n = 0...2
Default value: Minimum input limit: – Maximum input limit: –
0.0, 0.0, 0.0
Changes effective after Protection level: 2 / 7 Unit: mm/inches
POWER ON
Data type: DOUBLE
Meaning: This machine data defines the position component of frame TFLWP, which links:
• Index 0: x component
• Index 1: y component
• Index 2: z component
Restriction: See Subsection 2.3.2
Figure See Subsection 2.3.2
62611 TRAFO6_TFLWP_RPY[n]
MD number Frame between wrist point and flange coordinate system (rotation component),
n = 0...2
Default value: Minimum input limit: – Maximum input limit: –
0.0, 0.0, 0.0
Changes effective after Protection level: 2 / 7 Unit: Degrees
POWER ON
Data type: DOUBLE
Meaning: This machine data defines the orientation component of frame TFLWP, which links:
• Index 0: Rotation through RPY angle A
• Index 1: Rotation through RPY angle B
• Index 2: Rotation through RPY angle C
Restriction: See Subsection 2.3.2
Figure See Subsection 2.3.2
62612 TRAFO6_TIRORO_POS[n]
MD number Frame between base center point and internal coordinate system (position
component),
n = 0...2
Default value: Minimum input limit: – Maximum input limit: –
0.0, 0.0, 0.0
Changes effective after Protection level: 2 / 7 Unit: mm
POWER ON
Data type: DOUBLE
Meaning: This machine data defines the position component of frame TIRORO, which links:
• Index 0: x component
• Index 1: y component
• Index 2: z component
Restriction: See Subsection 2.3.2
Figure See Subsection 2.3.2
62613 TRAFO6_TIRORO_RPY[n]
MD number Frame between base center point and internal coordinate system (rotation
component),
n = 0...2
Default value: Minimum input limit: – Maximum input limit: –
0.0, 0.0, 0.0
Changes effective after Protection level: 2 / 7 Unit: Degrees
POWER ON
Data type: DOUBLE
Meaning: This machine data defines the orientation component of frame TIRORO, which
links:
• Index 0: Rotation through RPY angle A
• Index 1: Rotation through RPY angle B
• Index 2: Rotation through RPY angle C
Restriction: See Subsection 2.3.2
Figure See Subsection 2.3.2
62614 TRAFO6_DHPAR4_5A[n]
62615 TRAFO6_DHPAR4_5D[n]
62616 TRAFO6_DHPAR4_4ALPHA[n]
62617 TRAFO6_MAMES[n]
MD number Offset between mathematical and mechanical zero point [axis no.]: 0...5
Default setting: Minimum input limit: – Maximum input limit: –
0.0, 0.0, 0.0, 0.0, 0.0, 0.0
Changes effective after Protection level: 2 / 7 Unit: Degrees
POWER ON
Data type: DOUBLE
Meaning: An offset can be entered in this machine data in order to match the mechanical
zero point of a rotary axis and the mathematical zero point defined by the trans-
formation.
Restriction: See Subsection 2.3.2
Figure See Subsection 2.3.2
62618 TRAFO6_AXES_DIR[n]
MD number Matching of physical and mathematical direction of rotation [axis no.]: 0...5
Default setting: Minimum input limit: –1 Maximum input limit: 1
1, 1, 1, 1, 1, 1
Changes effective after Protection level: 2 / 7 Unit: –
POWER ON
Data type: DWORD
Meaning: This machine data is set to match the mathematical and physical directions of rota-
tion of the axes.
• +1: Direction of rotation is identical
• –1: Direction of rotation is different
Restriction: See Subsection 2.3.2
Figure
62619 TRAFO6_DIS_WRP
Not functional!
Restriction:
Figure
62620 TRAFO6_AXIS_SEQ
62621 TRAFO6_SPIN_ON
62622 TRAFO6_SPIND_AXIS[n]
62623 TRAFO6_SPINDLE_RAD_G[n]
62624 TRAFO6_SPINDLE_RAD_H[n]
62625 TRAFO6_SPINDLE_SIGN[n]
62626 TRAFO6_SPINDLE_BETA[n]
62627 TRAFO6_TRP_SPIND_AXIS[n]
62628 TRAFO6_TRP_SPIND_LEN[n]
62629 TRAFO6_VELCP[n]
62630 TRAFO6_ACCCP[n]
62631 TRAFO6_VELORI[n]
62632 TRAFO6_ACCORI[n]
62633 TRAFO6_REDVELJOG[n]
Signal Descriptions 5
5.1 Channelspecific signals
Meaning 2 ORIMKS: The tool orientation is defined in the machine coordinate system and is
thus dependent on the machine kinematics. This is the default setting in SW2.1 and
higher.
Meaning 3 ORIPATH: The tool orientation is implemented with the programmed lead and side
angles relative to the path tangent and surface normal vector.
Examples 6
6.1 General information about start-up
Note
In SW 6.4 and higher, the compile cycles are supplied as loadable modules.
The general procedure for installing such compile cycles can be found in TE0.
The specific installation measures for this compile cycle can be found from
Section 6.2 onwards.
1. Back up As the first step in installing a compile cycle function on the 840D, the original
SRAM (840D only) card inserted in the NCU must be replaced by the technology card.
This step is identical to the procedure followed for a standard upgrade to a more
recent software version and likewise requires the static (battery-backed) control
system memory to be erased. To avoid the consequential loss of all data in the
SRAM, back up the SRAM before performing the operation. For a detailed
description, please see the Manufacturer/Service Documentation “SINUMERIK
840D/SIMODRIVE 611D Installation and Start-Up Guide”:
1. Enter the machine manufacturer password.
2. Switch to the “Services” operating area.
3. Press the “Series start-up” softkey.
4. Select “NC” and “PLC” as the areas to be saved and enter a name of your
choice for the archive file to be created on the hard disk. Finish by pressing
the RETURN key.
5. If the control system contains machine-specific compensation data, these
must be saved in a separate archive file:
Press the “Data out” softkey and select the required data under “NC active
data”:
“Measuring system compensations”,
“Sag/angularity compensation” and
“Quadrant error compensation”.
Save this data by pressing the “Archive...” softkey and specifying a file name
for a second archive file.
Keep the archive files you have created in a safe place. They will allow you to
restore original settings in your system.
2. Insert the PC
card (840D only)
S Deactivate the control.
S Insert the PC card with the new firmware (technology card) in the PCMCIA
slot of the NCU.
Caution
! If the number “6” does not appear, an error has occurred:
– Incorrect PC card (e.g. card for NCU2 in NCU3 hardware)
– Card hardware defective
3. Copy back In order to copy the SRAM contents back into the control, please proceed as
SRAM (840D only) described in Section “Data backup” (series start-up) in /IAD/, SINUMERIK 840D
Installation and Start-Up Guide. Please read all information provided by the
manufacturer about new software versions.
Configure the
transformation 1. Enter the transformation type 4099 or 4100 (if PTP traversal is active) in MD
24100:TRAFO_TYPE_1.
2. Enter the assignment of the channel axes involved in the transformation in
MD 24110: TRAFO_AXES_IN_1[0 to 5].
Axis numbers start at 1.
3. Enter the geometry axes corresponding to the Cartesian degrees of freedom
of the machine in MD 24120: TRAFO_GEOAX_ASSIGN_TAB_1[0 to 2].
4. Enter the kinematic identifier in MD 62600: TRAFO6_KINCLASS.
5. Enter the identifier for special kinematics in MD 62602:
TRAFO6_SPECIAL_KIN if you have used a special kinematic.
6. Enter the number of axes in MD 62605: TRAFO6_NUM_AXES.
7. Change the default setting in MD 62618: $MC_TRAFO6_AXES_DIR[ ] if the
traversing directions of the axes involved are not the same as the directions
defined in the transformation package.
8. Enter the data which define the basic axes:
– Basic axis identifier in MD 62603: TRAFO6_MAIN_AXES
– Basic axis lengths in MD 62607: TRAFO6_MAIN_LENGTH_AB
9. Enter any changes to the axis sequence in MD 62620:
TRAFO6_AXIS_SEQ.
10. Enter the data which define the hand:
– Wrist axis identifier in MD 62604: TRAFO6_WRIST_AXES
– Parameters for hand in MD 62614: TRAFO6_DHPAR4_5A, MD 62615:
TRAFO6_DHPAR4_5D and 62616: TRAFO6_DHPAR4_5ALPHA
– MD 62606: TRAFO6_A4PAR
11. Enter the geometry parameters:
– Frame T_IRO_RO
– Frame T_X3_P3
– Frame T_FL_WP
12. Enter the position in relation to the calibration point in MD 62617:
TRAFO6_MAMES.
13. Enter the Cartesian velocities and acceleration rates.
J
7.3 Alarms
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, Diagnostics Guide
or in the Online help.
J
Notes
Brief Description 1
MCS coupling A 1:1 coupling in the machine coordinate system (MCS coupling) has been
introduced in the compile cycle application.
The axes involved in the coupling are defined in an axial machine data. The
machine data is updated by RESET to allow new axis pairs to be defined in
operation.
CC_Master There are CC_Master and CC_Slave axes. A CC_Master axis can have several
CC_Slave CC_Slave axes, but a CC_Slave axis cannot be a CC_Master axis (error
message).
The coupling between these pairs is activated and deactivated by means of an
OEM-specific language command and can thus be active in all operating
modes. If a CC_Slave axis is programmed in a part program, either an alarm is
output or a ”GET” operation initiated
(depending on MD30552: AUTO_GET_TYPE).
The following restrictions apply to CC-Slave axes
Notes
Detailed Description 2
2.1 General
If a machine tool has 2 or more mutually independent traversing machining
heads (in this case K1 (Y/ Z/ C/ A/ W or K2 (Y2/ Z2/ C2/ A2/ W2)), and if a
transformation needs to be activated for the machining operation, the orientation
axes cannot be coupled by means of the standard coupling functions (COPON,
TRAILON). The only coupling function currently available in the machine
coordinate system (MCS) is the GANTRY function. However, this cannot be
activated in a part program and only permits 1:1 couplings.
Fig. 2-1
The compile cycle function “MCS coupling” allows a 1:1 or 1:–1 coupling in
the machine coordinate system to be switched ON and OFF by part program
commands.
Prerequisite
S The CC_Master and CC_Slave axes must be either both rotary axes or both
linear axes
CC_COPON() CC_COPON([A1][A2][A3][A4][A5])
Switch on the 1:1 coupling.
Tolerance window monitoring is active.
CC_COPONM() CC_COPON([A1][A2][A3][A4][A5])
Switch on the 1:–1 coupling (mirror).
Tolerance window monitoring is not active.
A1–A5 are axis names. These can be used to program either the machine axis
names, channel axis names or geometry axis names of the axis assigned to a
coupling. In other words, either the CC_Master axes or the CC_Slave axes or
both can be programmed at the same time. An alarm is output if an axis not
involved in a coupling is programmed in A1–A5. All defined couplings are
switched on with CC_COPON() or CC_COPONM(). An active coupling is
displayed in axial VDI-Out byte DB3x DBB97 bit1 for the CC-Slave axis. If
mirroring is active, it is displayed additionally in DB3xDBB97 bit2.
The coupling can be suppressed in axial VDI-In byte DB3x DBB24 bit2 for the
CC_Slave axis. This does not generate an alarm.
CC_COPOFF() CC_COPOFF([A1][A2][A3][A4][A5])
Note
The offset might change:
S If the SW limit monitor was active for one axis during the main run.
S If one axis has been switched to follow-up mode.
S If collision protection was active for one axis.
Warning
! If the axes are forced to brake, the positions displayed in the workpiece
coordinate system are incorrect!
These are not re-synchronized again until a system RESET.
If the axes are already violating the minimum clearance when collision
protection is activated, they can only be traversed in one direction (retraction
direction). The retraction direction is stored in MD 63543:
CC_PROTECT_OPTIONS.
CC_COLLISION_WIN[PSlave]
CC_PROTECT_OPTIONS[PMaster] bit0=0
PMaster
PSlave
CC_PROTECT_OPTIONS[PSlave] bit0 = 1
CC_OFFSET_MASTER[PSlave]
Note
Since the collision protection function extrapolates the target positions
from the “current velocity + maximum acceleration (or +20%)”,
the monitoring alarm may be activated unexpectedly at reduced acceleration
rates:
Example:
PMaster = X, PSlave = X2, $MA_CC_COLLISION_WIN = 10 mm
Starting point in part program: X=0.0 X2=20.0
N50 G0 X100 X2=90 ; the monitoring alarm is activated
because X and X2 are interpolating together: For this reason,
the acceleration rate of X2 < maximum acceleration.
Remedy:
Parking the In this context, “parking” means that the relevant machining head is not involved
machining head in workpiece machining. All axes are operating under position control and
positioned at exact stop.
Even if a machining head is being used in production, coupling should be
active! This is essential primarily if only the second head (Y2....) is being used.
“Axis/spindle inhibit” must then be set axially (PLC –> NCK) for the “parked”
head.
Note
When an axis/spindle inhibit is active, a part program can be executed if this
axis is not operating under position control.
Spindle Since an MCS coupling cannot be activated for spindles, other types of solution
functionalities should be configured for these.
S Speed input
Speed and direction of rotation inputs can be detected via synchronized
actions or PLC and passed on to all other active spindles.
Block search During a block search, the last block containing an OEM-specific language
command is always stored and then output with the last action block. This
feature is illustrated in the following examples.
The output positions of the axes are always 0.
Example 1:
N01 M3 S1000
N02 G01 F1000 X10 Y10
N03 CC_COPON( X, Y)
TARGET:
If this program is started normally, axes X and Z traverse to X10 Z10 in the
decoupled state. After block search to TARGET: Axes X and Y traverse to this
position in the coupled state!
Example 2:
N01 M3 S1000
N02 CC_COPON( X)
N03 G01 F1000 X100 Y50
N04 CC_COPOFF( X)
N05 CC_COPON( Y)
N06 Y100
N10 CC_COPOFF()
TARGET:
After block search to TARGET: The axes traverse to X100 Y100 in the
decoupled state.
Example 3:
N01 CC_COPON( X, Y, Z)
N02 ...
...
N10 CC_COPOFF( Z)
TARGET:
Supplementary Conditions
3
Validity The function is configured only for the first channel.
NCU 572.2 The MCS Coupling function can be utilized on NCU 572.2 hardware only on
condition that is has been specifically enabled for the customer.
Notes
Warning
! Failure to take appropriate precautions can have undesirable consequences.
The functions activated by the option data trigger the corresponding compile
cycles. The compile cycles can significantly change the behavior of the control
and can create hazardous situations via access to the NC.
Before a compile cycle is activated, appropriate safety precautions to prevent
potential damage to machinery and personal injury must be taken (you may
need to take action to safeguard against incorrect parameter settings or
programming in the compile cycles).
Note
The machine data, which contain the parameters for the coupling, can only be
modified when the coupling is not active.
28090 NUM_CC_BLOCK_ELEMENTS
MD number Number of block elements for compile cycles.
Default setting: 0 Minimum input limit: 0 Maximum input limit:
Changes effective after Protection level: Unit: –
POWER ON
Data type: DWORD
Meaning: Number of block elements for compile cycles.
Dynamic memory is reserved.
28100 NUM_CC_BLOCK_USER_MEM
MD number Total size of usable block memory for compile cycles
Default setting: 256 Minimum input limit: 0 Maximum input limit: 256
Changes effective after Protection level: Unit: –
POWER ON
Data type: DWORD
Meaning: Total size of block memory for compile cycles available to user in KB.
63540 CC_MASTER_AXIS
MD number Specifies the CC_Master axis assigned to a CC_Slave axis
Default setting: 0 Minimum input limit: 0 Maximum input limit: 8
Changes effective after Protection level: Unit: –
RESET
Data type: INT
Meaning: With a value (n) of higher than 0, the axis is a CC_Slave axis. This ma-
chine data specifies the associated CC_Master axis.
The machine axis number is entered here.
The channel-specific machine data
20070 MC_AXCONF_MACHAX_USED[ n–1 ] and
20080 MC_CHANAX_NAME_TAB[n–1]
can be used to determine the machine axis and axis name.
Notice:
The machine data may be altered only when the coupling is switched off.
63541 CC_POSITION_TOL
MD number Monitoring window (valid only for CC_Slave axes)
Default setting: 0 Minimum input limit: 0 Maximum input limit: ∞
Changes effective after Protection level: Unit: –
RESET
Data type: DOUBLE
Meaning: Monitoring window (valid only for CC_Slave axes)
63542 CC_PROTEC_MASTER
MD number Specifies the PMaster axis assigned to a PSlave axis
Default setting: 0 Minimum input limit: 0 Maximum input limit: 8
Changes effective after Protection level: Unit: –
RESET
Data type: INT
Meaning: If the value (n) is greater than 0, the axis is a PSlave axis.
The machine data specifies the associated PMaster axis.
The channel-specific machine data
MD 20070: MC_AXCONF_MACHAX_USED[ n–1 ] and MD 20080:
MC_CHANAX_NAME_TAB[n–1] can be used to define the machine axis
and the axis name.
Notice:
PMaster and PSlave must be of the same axis type
(i.e. both linear or both rotary).
63543 CC_PROTEC_OPTIONS
MD number
Default setting: 0 Minimum input limit: 0 Maximum input limit: 7
Changes effective after Protection level: Unit: –
RESET
Data type: INT
Meaning:
Bit0 – Bit3 for PMaster and PSlave
Bit0 = 1 Retract in PLUS
Bit1 = 1 Factor 1.2 for maximum braking acceleration rate
Bit2 = 1 Monitoring can be activated even if axis is
not referenced.
Bit3 = 1 Reverse retraction direction if axis is master axis
Bit4 – Bit7 for PSlave only
Bit4 = 1 Monitoring continuously active.
(otherwise switch ON/OFF by PLC)
Bit5 Not used
Bit6 Not used
Bit7 Display active protection in DBx DBX66.0.
63544 CC_COLLISION_WIN
MD number Collision protection window
Default setting: 1.0 Minimum input limit: – Maximum input limit: –
Changes effective after Protection level: Unit: –
RESET
Data type: DOUBLE
Meaning: Minimum clearance between this (PSlave) axis and the programmed
PMaster axis. The monitoring function cannot be activated if setting
value is 0. Only the value set for the PSlave is applied.
63545 CC_OFFSET_MASTER
MD number
Default setting: 0.0 Minimum input limit: – Maximum input limit: –
Changes effective after Protection level: Unit: –
RESET
Data type: INT
Meaning: Zero point offset between PSlave and PMaster.
Only the value for the PSlave axis is used.
Notes
Signal Descriptions 5
5.1 Axis-specific VDI OUT signals
DB31 - 61
DBX66.0 Activate monitor
Data Block
Edge evaluation: No Signal(s) updated: Signal(s) valid from SW: 5.1
Signal state 1 Monitoring is active.
This display must be activated in MD 65543: CC_PROTECT_OPTIONS for the
PSlave axis.
Note: Conflicts may occur in connection with customer-specific
compile cycles.
Signal state 0 Monitor is not active.
DB31 - 61
DBX97.0 Axis is a slave axis
Data Block
Edge evaluation: No Signal(s) updated: Signal(s) valid from SW: 5.1
Signal state 1 Axis is a CC_Slave axis.
The associated CC_Master axis can be found in the machine data.
Signal state 0 Axis is not a CC_Slave axis.
DB31 - 61
DBX97.1 Activate coupling
Data Block
Edge evaluation: No Signal(s) updated: Signal(s) valid from SW: 5.1
Signal state 1 Coupling active
Signal state 0 Coupling not active
Signal irrelevant for ......
Application example Displayed only for the CC_Slave axis.
DB31 - 61
DBX97.2 Activate mirroring
Data Block
Edge evaluation: No Signal(s) updated: Signal(s) valid from SW: 5.1
Signal state 1 Mirroring active (1:–1)
Signal state 0 1:1 coupling active
Signal irrelevant for ...... Relevant only if coupling is active (DBB97.1 = 1)
Application example Displayed only for the CC_Slave axis.
DB31 - 61
DBX97.3 Offset after point of activation
Data Block
Edge evaluation: Yes Signal(s) updated: Signal(s) valid from SW: 5.1
Signal state 1 New offset following activation
This bit is set to 1 if a particular event (SW/HW limit switch on CC_Slave axis)
causes a change in the offset between CC_Master and CC_Slave stored when
the coupling was activated.
Signal state 0 No new offset since activation
Signal irrelevant for ...... The bit is not set in the RESET phase.
Application example Displayed only for the CC_Slave axis.
Additional references
DB31 - 61
DBX24.2 Deactivate or disable coupling
Data Block
Edge evaluation: No Signal(s) updated: Signal(s) valid from SW: 5.1
Signal state 1 An active coupling is not deactivated until the relevant axes are stationary. If
CC_COPON is programmed for this axis, no error message is generated.
Signal state 0 Coupling may be activated
Signal irrelevant for ......
Application example Evaluated only on the CC_Slave axis.
DB31 - 61
DBX24.3 Switch on collision protection
Data Block
Edge evaluation: Yes Signal(s) updated: Signal(s) valid from SW: 5.1
Signal state 1 Collision protection ON
Signal state 0 Collision protection OFF
Signal irrelevant for ...... This signal is processed only if collision protection is not activated in a machine
data (MD 65543: CC_PROTECT_OPTIONS).
Application example Evaluated only on the PSlave axis.
Examples 6
6.1 General start-up of a compile cycle function
Note
In SW 6.4 and higher, the compile cycles are supplied as loadable modules.
The general procedure for installing such compile cycles can be found in TE0.
You will find the specific extensions of this compile cycle from Section 6.2
onwards.
Saving SRAM As the first step in installing a compile cycle function, the original card inserted
contents in the NCU must be replaced by the technology card.
This step is identical to the procedure followed for a standard upgrade to a more
recent software version and likewise requires the static (battery-backed) control
system memory to be erased. To avoid the consequential loss of all data in the
SRAM, back up the SRAM before performing the operation.
Please proceed as follows:
1. Enter the machine manufacturer password.
2. Switch to the ”Services” operating area.
3. Press the ”Series start-up” softkey.
4. Select ”NC” and ”PLC” as the areas to be saved and enter a name of your
choice for the archive file to be created on the hard disk. Finish by pressing
the RETURN key.
5. If the control system contains machine-specific compensation data, then
these must be saved in a separate archive file:
These archive files will enable you to restore the original status if required.
References: For a detailed description, please see the Manufacturer/Service
Documentation ”SINUMERIK 840D/SIMODRIVE 611D Installation and Start-Up
Guide”.
Note
If the number ”6” does not appear, one of the following errors may have
occurred:
– Incorrect PC card (e.g. card for NCU2 in NCU3 hardware)
– Card hardware defective
Copy back To copy the saved data back into the control system, proceed as described in
SRAM contents Section 12.2 (series start-up). Please read all information provided by the
manufacturer about new software versions.
7.2 Alarms
File: MBDDE.INI If file: “C:\OEM\MBDDE.INI” does not exist, please create it. Open the file in the
editor and insert the section: [Text Files].
In file: “C:\OEM\MBDDE.INI”, in section: [Text Files], add an entry for the alarm
text files of the function:
S CZYK=C:\OEM\TF_
S C:\OEM\TF_xx.COM
xx = GR for German, UK for English
Alarm text file: Enter the following alarm texts in the German alarm text file:
TF_GR.COM
075050 0 0 “Channel %1, incorrect MD configuration. Error no. %2”
075051 0 0 “Channel %1 block %2 CC_COPON CC_COPOFF error no. %3”
075060 0 0 “Channel %1 tolerance window exceeded on axis %2”
075061 0 0 “Channel %1 coupling active on axis %2”
075062 0 0 “Channel %1 axes not at standstill axis %2”
Remedy Reset machine data to its old value, switch off the coupling and then enter the
new value.
Delete criterion RESET
Notes
1
Brief Description
Function The “continue machining - retrace support” technological function (“RESU” in
the remainder of this document) supports the retracing of uncompleted 2-dimen-
sional machining processes such as laser cutting, water jet cutting, etc.
In the event of a fault during the machining process, e.g. loss of the laser, RESU
can be used even by machine operators who do not have specific knowledge of
the active part program to interrupt machining and travel back along the contour
from the interruption point to a program continuation point necessary for ma-
chining purposes.
The machine operator initiates the retrace at the program continuation point. As
part of the retrace process, an implicit block search takes place along the con-
tour with calculation followed by repositioning on the contour and automatic re-
tracing of the part program machining process.
The retrace option is selected and deselected in advance using part program
commands within the machining program. The program continuation point can
be selected at any position within the contour ranges specified in this way.
Program continuation
point
2. Geometry axis
N 30 Retraceable area
N 20
N 15 CC_PREPRE(1)
(RESU start) N 40
Interruption
point
N 10 N 50
N 60
N 65 CC_PREPRE(0)
N 70 (RESU stop)
1. Geometry axis
Fig. 1-1 Programmed contour with program continuation and interruption points
Function code The code for the “retrace support” technological function for function-specific
identifiers of program commands, machine data, etc. is:
Restrictions The “retrace support” technological function is subject to the following restric-
tions:
S The technological function is only available in the 1st channel of the NC.
Note
The technological function is only available in the 1st channel of the NC.
Detailed Description 2
2.1 Description of functions
In order to be able to resume interrupted machining at a specific point in a part
program, a block search can be carried out using the “Block search with cal-
culation on contour” standard function. However, this requires detailed knowl-
edge of the part program in order to be able to enter the block number of the
part program block required for the block search (i.e. the number of the block
the search needs to locate).
The “Continue machining - Retrace Support” technological function (referred to
as RESU below) supports the continuation of the machining operation by
means of an implicit block search with calculation on the contour without the
machine operator requiring knowledge of the part program block required.
Continue machining might be required for example in a laser cutting application
if the laser is lost during the machining operation and machining needs to re-
sume at the point at which it was interrupted.
RESU provides the following automatic subfunctions to support program contin-
uation:
– Function-specific reverse travel along the contour to the required pro-
gram continuation point
– Automatic identification of the part program block associated with the
program continuation point
– Block search with calculation on the contour for the part program block
identified
– Repositioning on the contour at the program continuation point
– Continuation of part program machining
In order to be able to approach the required program continuation point exactly,
it is possible to switch several times between reverse and forward travel along
the contour during the continue machining process.
RESU is activated by programming the function-specific part program command
CC_PREPRE(1). In the context of RESU, only the contour range between the
RESU start CC_PREPRE(1) and the interruption point (NC STOP) can be re-
traced.
Once RESU has been launched, all part program blocks in which traversing
movements are programmed are logged by RESU for possible subsequent re-
verse travel. Contour ranges for which continue machining is irrelevant can be
removed from the log using RESU stop CC_PREPRE(0).
Contour ranges not logged are bridged by straight lines between the starting
and end point during reverse/forward travel.
2. Geometry axis
N 30 N 35 CC_PREPRE(0)
N 20
N 15 CC_PREPRE(1)
N 40
N 45 CC_PREPRE(1)
N 10 N 50
N 60
N 65 CC_PREPRE(0)
N 70
1. Geometry axis
Interruption point The interruption point is the point of the contour at which the traversing move-
ment comes to a standstill following an NC STOP and reverse travel is acti-
vated.
Program The program continuation point is the point of the contour at which reverse
continuation point travel terminates and program continuation is activated.
Retraceable Retraceable contour areas comprise motion blocks from the 1st and 2nd geom-
contour area etry axes, which are programmed in the part program between the RESU start
CC_PREPRE(1) and RESU stop CC_PREPRE(0) commands. See Fig. 2-1,
page 3/TE7/2-6.
Functional The principle sequence of the RESU function between the interruption point,
sequence program continuation point and continuation of part program processing is de-
scribed below:
1. Prerequisites
A part program with motion blocks in the 1st and 2nd geometry axis as well
as the part program command for the RESU start has been started in the 1st
channel.
4. Reverse travel
NC START generates reverse travel along the contour in the first two geom-
etry axes of the channel. Instead of the current machining program, RESU
selects the automatically generated RESU main program. For more informa-
tion about RESU programs, see Section 2.4, page 3/TE7/2-17.
9. Retrace support
Retrace support is activated using the PLC interface signal.
Interface signal: DB21, DBX0.2 = 1. For retrace support, RESU automati-
cally selects the original machining program and launches a block search
with calculation as far as the program continuation point.
Note
Points 3. to 8. can be repeated as often as required.
Following retrace support, a new reverse travel is possible up to a maximum of
the last program continuation point. See Subsection 2.1.3, page 3/TE7/2-9.
Signal chart for The principle sequence of the RESU function is illustrated in Fig. 2-2 as a signal
interface signals chart of the interface signals involved:
Interface signals
1 2 3 4 5 6 7 8
to NC channel (PLC–>NCK)
FWD/REV .... .... ....
DB21.DBX0.1
Start retrace support
DB21.DBX0.2
ÉÉÉ
ÉÉÉ ÉÉÉ
DB21.DBX7.2/3
ÉÉÉ
NC START rejected
with alarm.
Legend
1 Reverse travel is initiated
1. Reverse travel
Before the first reverse travel, travel as far back as the start of the first con-
tour element (N20) is possible following RESU start (N15) (W1max). If for
example reverse travel goes as far back as program continuation point W1,
W1 will define the maximum RESU range for any further reverse travel follo-
wing retrace support and forward travel.
2. Reverse travel
The 2nd reverse travel can now only travel as far back as the last program
continuation point W2max = W1. If for example reverse travel goes as far
back as program continuation point W2, the maximum RESU range is re-
stricted further.
W1max W1
W2max W2
1. Geometry axis
2.2 Startup
Compile cycle Before starting up the technological function, make sure that the corresponding
compile cycle has been loaded and activated.
Note
The technological function is only available in the 1st channel of the NC.
Memory RESU requires additional data in the NCK-internal block memory. The following
configuration memory-configuring channel-specific machine data must be parameterized:
Note
The values indicated must be entered in addition to the existing machine data
value x.
Memory RESU requires compile cycles heap memory for the following function-specific
requirements buffers:
1. Block buffer
The larger the block buffer (see Fig. 2-5, page 3/TE7/2-17), the more part
program blocks can be traversed in reverse. 32 bytes are required per part
program block. The block buffer can be parameterized directly.
2. Block search buffer
The block search buffer contains the information required for processing
subroutine searches in the context of RESU. 180 bytes are required for
each subroutine. The block search buffer requires at least 2160 bytes (12
subroutine calls with 180 bytes each). The block search buffer cannot be
parameterized directly. The size of the block search buffer is displayed via a
function-specific GUD variable.
For information about how to create the GUD variable, see Subsec-
tion 2.6.1, page 3/TE7/2-25.
RESU_RING_BUFFER_SIZE
RESU_SHARE_OF_CC_HEAP_MEM
MM_NUM_CC_HEAP_MEM
Block
buffer
MD62571:
MD62572:
MD28105:
MD28105 * MD62572
Block search buffer – MD62571
100
Memory By default, RESU requires the following compile cycles heap memory:
configuration
S MD28105: MM_NUM_CC_HEAP_MEM (heap memory in KB for compile
cycles (DRAM) ) = x + 50
Note: The values indicated must be entered in addition to the existing
machine data value x.
Error messages The block search buffer requires at least 2160 bytes (corresponding to 12 sub-
routine calls with 180 bytes each). Otherwise, the following alarm will be gener-
ated during NC run-up:
The following machine data can be used to set the archive for the RESU main
progam CC_RESU.MPF (see Subsection 2.4.1, page 3/TE7/2-17):
DRAM memory If the RESU main program is created in the dynamic memory area of the NC,
configuration the available dynamic memory area of the NC must be enlarged:
Error messages If the RESU main program is created in the dynamic memory area of the NC
(DRAM) but no DRAM memory is requested:
– MD18351: MM_DRAM_FILE_MEM_SIZE = 0
the following alarm will be generated during NC run-up:
SRAM memory If the RESU main program is created in the dynamic memory area of the NC, it
configuration is retained even after a POWER OFF. However, as RESU regenerates the
RESU main program every time the retrace support function is used, this para-
meter setting is not recommended.
Series startup The first time the NC starts up after the technological function has been acti-
vated, the RESU-specific subroutines are archived with their default content as
user cycles due to the default setting in machine data MD62574: RESU_SPE-
CIAL_FEATURE_MASK, bit 2 = 0.
If the setting is then changed to specify that the RESU-specific subroutines
must be archived as manufacturer cycles, the RESU-specific subroutines al-
ready created as user cycles are retained even after a new run-up and must be
deleted.
Machine data:
The following machine data must be set for the start enable for the RESU-spe-
cific ASUB CC_RESU_ASUP.SPF while the channel is in the NC STOP state:
S MD11604: ASUP_START_PRIO_LEVEL = 1
Error messages If an ASUB enable is not parameterized during NC STOP, the following alarm
will appear during NC run-up:
Programming The following program extract implements the changes described above:
example
U DB21.DBX32.2 // IF Retrace support active” == 1
R DB21, DBX0.1 // THEN “Forward/Reverse” = 0
R DB21, DBX0.2 // “Start retrace support” = 0
O DB11, DBX0.7 // IF Mode group RESET” == 1
O DB21, DBX7.7 // OR “Reset” == 1
R DB21, DBX0.1 // THEN “Forward/Reverse” = 0
R DB21, DBX0.2 // “Start retrace support” = 0
U DB21, DBX0.2 // IF “Start retrace support” == 1
R DB21, DBX0.1 // THEN “Forward/Reverse” = 0
U DB21, DBX0.1 // IF “Forward/Reverse” == 1
R DB21, DBX0.2 // THEN “Start retrace support” = 0
Function-specific alarm texts must first be integrated into the appropriate HMI
data management before they can be displayed. A description of how to do this
appears in Section 2.7, page 3/TE7/2-27.
2.3 Programming
Syntax CC_PREPRE(Mode)
Mode
– Format: Integer
– Value range: –1, 0, 1
CC_PREPRE(...) (Prepare Retrace) is a procedure call and must therefore be
programmed in a separate part program block.
Functionality The following modes are available for starting/stopping/resetting the RESU
function:
S CC_PREPRE(1)
Starts the logging of the motion blocks.
The information required for reverse travel is logged on a block-specific ba-
sis in a RESU-internal block buffer. The traversing information refers to the
1st and 2nd geometry axes of the channel:
S CC_PREPRE(–1)
Deactivates logging of the motion blocks and deletes the function-internal
block buffer. Contour ranges located before the instant of deactivation of the
part program are therefore no longer available for RESU.
Error messages The following programming errors are detected and displayed with alarms:
– Invalid mode programmed:
S RESU alarm “75601 Channel number Block number Invalid parameter
for CC_PREPRE( )”
– More than one parameter programmed:
S Alarm “12340 Channel number Block number Too many parameters”
– RESU technological function not available
The technological function is not available. The compile cycle may not have
been loaded or has not been activated:
S Alarm “12340 Channel number Block number Name CC_PREPRE not
defined or option not available”
RESU-internal
block buffer
RESU main program RESU INI program
ÉÉÉÉÉÉ
Part program N60 . . . . CC_RESU.MPF CC_RESU_INI.SPF
:
ÉÉÉÉÉÉ
N10 . . . . : CC_RESU_INI.SPF
: Can be
N150 . . . .
ÉÉÉÉÉÉ
: changed
N150 . . .
N50 CC_PREPRE(1) .
ÉÉÉÉÉÉ
N60 1. Retraceable Cannot be
motion block
: changed RESU END program
ÉÉÉÉÉÉ
: : CC_RESU_END.SPF
: N60 . . . .
N150 Interrupted CC_RESU_END.SPF
Can be
motion block
changed
:
:
N200 Last retraceable
motion block
N210 CC_PREPRE(0)
:
ÉÉÉÉÉÉ
: RESU-ASUB RESU retrace support ASUB
N300 M30 CC_RESU_ASUP.SPF CC_RESU_BS_ASUP.SPF
ÉÉÉÉÉÉ
ÉÉÉÉÉÉ
Cannot be
changed
Can be
changed
Note
CC_RESU.MPF may not be changed. User-specific modifications must be
made in the corresponding RESU-specific subroutine.
Error message By default, RESU generates motion blocks for the entire retraceable contour
range logged in the block buffer. If there is not enough memory space for all
motion blocks to be generated in the parameterized memory area of the RESU
main program (see Subsection 2.2.4, page 3/TE7/2-12), RESU reduces the
number of motion blocks generated.
The missing memory and/or reduction in the number of motion blocks gener-
ated is indicated by an alarm:
S RESU alarm “75608 Channel number NC memory limit reached, RAM type
type”
RESU main If the RESU main program is created in the part program memory (SRAM), the
program in SRAM following system alarm appears at the same time as the RESU alarm:
Note
If the number of motion blocks generated is reduced due to insufficient memory,
the entire retraceable contour can still be retraced for retrace support. To do
this, proceed as follows:
1. Travel back to the end of the RESU main program.
2. Two-time change of the interface signal:
– DB21, DBX0.1 “Reverse/Forward”
Using the current position as a new interruption point, this enables RESU to
generate a new RESU main program.
Subsequently, travel is possible as far as the end of the retraceable contour
range or, if the limits have changed, as far as the starting point of the last
motion block that can be generated. The procedure described can be repeated
as many times as required both for reverse and forward travel.
PROC CC_RESU_INI
G71 G90 G500 T0 G40 F200
;Toolholder
if $MC_MM_SYSTEM_FRAME_MASK B_AND ’H04’
PAROTOF
endif
;Cycles
if $MC_MM_SYSTEM_FRAME_MASK B_AND ’H20’
$P_CYCFRAME = ctrans()
endif
;Transformations
if $MC_MM_SYSTEM_FRAME_MASK B_AND ’H40’
$P_TRAFRAME = ctrans()
endif
;Programmable frame
$P_PFRAME = ctrans()
M17
Note
CC_RESU_INI.SPF may not be changed.
CC_RESU_INI.SPF may not contain any RESU part program commands
CC_PREPRE(x).
Caution
! In changing the content of the RESU-specific subroutine CC_RESU_INI.SPF,
the user (machine manufacturer) accepts responsibility for the correct
sequence of the technological function.
PROC CC_RESU_END
M0
M17
Note
CC_RESU_END.SPF may not be changed.
CC_RESU_END.SPF may not contain any RESU part program
commands CC_PREPRE(x).
Caution
! In changing the content of the RESU-specific subroutine CC_RESU_END.SPF,
the user (machine manufacturer) accepts responsibility for the correct
sequence of the technological function.
Note
CC_RESU_BS_ASUP.SPF may be changed.
User-specific modifications must be inserted before the part program block
RMN.
Caution
! In changing the content of the RESU-specific subroutine
CC_RESU_BS_ASUP.SPF, the user (machine manufacturer) accepts
responsibility for the correct sequence of the technological function.
PROC CC_RESU_ASUP
; siemens system asub – do not change
G4 F0.001
M0
REPOSA
M17
Note
CC_RESU_ASUP.SPF may not be changed.
Requirement In order for retrace support to function, the retrace mode, launched by means of
the request for reverse travel, must be active in the channel:
– Interface signal “Retrace mode active” DB21, DBX32.1 == 1
See Fig. 2-2, page 3/TE7/2-8. Signal charts between points 1 and 3.
Subfunctions The two essential subfunctions of retrace support are the standard NC func-
tions:
– Block search with calculation on contour
– Repositioning on contour via shortest route (REPOS RMN)
2.5.2 Repositioning
Following the end of the last action block (last motion block before reposition-
ing), NC START launches the output of the approach block for repositioning all
channel axes programmed in the part program as far as the target block.
Geometry axes In the approach block, the 1st and 2nd geometry axes in the channel take the
shortest route along the contour to the program continuation point.
Program continuation
point
N 20
Interruption
N 10 Path sections traversed: point
1) Part program processing
2) Reverse travel
N 40
1. Geometry axis
Other channel All other channel axes programmed in the part program travel to the relevant
axes position calculated in the block search.
Functionality For retrace support with block search from last main block, the search for the
target block takes place in 2 stages:
1. Block search without calculation from start of machining program to last
main block before target block. Subroutines are ignored during this search,
i.e. it takes place exclusively in the main program.
2. Block search with calculation on contour from main block to target block.
This block search does not ignore subroutines.
Requirement In order that a search from last main block can be used for retrace support, at
least one main block must be programmed after the RESU start CC_PRE-
PRE(1).
Main block All instructions required for processing the subsequent section of the part
program must be programmed in one main block.
A main block number comprising the character “:” and a positive integer number
(block number) must be used to identify main blocks.
A complete description of how to use main blocks appears in:
References: /PG/ Programming Guide Fundamentals
NC Programming Fundamentals
Language Elements of Programming Language
Activation The following RESU-specific machine data is used to activate the block search
from last main block:
Supplementary In order that a new retrace support operation can take place following a retrace
conditions support operation with block search from last main block, the RESU start
CC_PREPRE(1) must be programmed in the retrace support ASUB
CC_RESU_BS_ASUP.SPF:
Example:
Once the technological function has been started up successfully, the GUD
variables listed are not displayed automatically on the HMI interface.
HMI Advanced Proceed as follows to create and display the GUD variables in HMI Advanced.
1. Set password
Enter the password for protection level 1: (machine manufacturer).
2. Activate the “definitions” display
Operating area switchover > Services > Data Selection
3. If no SGUD.DEF file is yet available:
Operating area switchover > Services > Data admin > New...
– Name: SGUD
– Type: Global data/system
Confirm with OK.
This opens the file in the editor.
4. Edit the GUD variable definitions
DEF CHAN REAL CLC_RESU_LENGTH_BS_BUFFER
M30
HMI Embedded Proceed as follows to create and display the GUD variables in HMI Embedded.
1. Set password
Enter the password for protection level 1: (machine manufacturer).
SINUMERIK NCK The new GUD variable, which is already being displayed, will only be detected
by the RESU function and supplied with an up-to-date value following an NCK
POWER ON RESET.
Note
Once the GUD variables have been created, an NCK POWER ON RESET
must be carried out in order for the RESU function to update the GUD
variables.
Notes
Supplementary Conditions 3
3.1 Function-specific boundary conditions
Inside Clear retrace support may not be possible if a subroutine is called inside a pro-
gram loop.
See Subsection 3.1.2, page 3/TE7/3-29.
Number of passes Subroutine repetitions using number of passes P are taken into account for
P retrace support. This means that retrace support is performed in the part pro-
gram with the correct reference to the part program block and number of passes
P to the program continuation point of the contour.
Warning
! If the program continuation on the programmed contour is the result of a loop
run that is not equal to the first loop run, this may under certain circumstances
result in significant contour deviations during subsequent machining processes,
posing a risk of personal injury and damage to the machine.
Warning
! Throughout the continue machining operation in the context of the RESU
technological function, the machine operator must ensure that the associated
traversing movements remain free of collisions.
Block search with RESU is subject to the following supplementary conditions in the context of the
calculation block search with calculation (on contour/at end of block) standard function:
– The last CC_PREPRE(x) RESU part program command run during the
block search is effective in the target block.
– The retraceable contour range starts with the REPOS approach block.
Block search CC_PREPRE(x) RESU part program commands are not effective during block
without calculation searches without calculation.
3.2.5 Transformations
RESU can also be used for active kinematic transformation (e.g. 5-axis trans-
formation) subject to restrictions, as the traversing movements of the first two
geometry axes on the channel are recorded in the basic coordinate system
(BCS) and therefore before the transformation.
Transformation While RESU is active, no transformation changes must take place and trans-
change formation must not be activated/deactivated.
RESU is active:
– Start: Part program command CC_PREPRE(1)
– End: Program end or part program command CC_PREPRE(–1)
3.2.6 Compensation
3.2.7 Frames
Contour deviations Specific instances of tool radius compensation, e.g. compensation on outside
corners G450 DISC=x, may generate contour deviations between the contour
traversed during retrace support and the contour programmed in the machining
program.
Contour deviations are always generated if tool radius compensation produces
contour elements that are non-linear or circular. For example, G450 DISC=x,
where x > 0 produces parabolic or hyperbolic contour elements.
Notes
62571 $MC_RESU_RING_BUFFER_SIZE
MD number Size of circular buffer (block buffer)
Default setting: 1000 Minimum input limit: 10 Maximum input limit: 1000000
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies as of SW:
Meaning: The block buffer contains the geometric information for the part program. The value entered
in the machine data corresponds to the number of recordable part program blocks (32 by-
tes/part program block). The size of the block buffer corresponds to the number of retrace-
able blocks.
62572 $MC_RESU_SHARE_OF_CC_HEAP_MEM
MD number RESU share of parameterizable heap memory
Default setting: 100.0 Minimum input limit: 1.0 Maximum input limit: 100.0
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DOUBLE Applies as of SW:
Meaning: The size of the heap memory, which is available to all active compile cycles, is parameter-
ized using the following general machine data:
S MD28105: MM_NUM_CC_HEAP_MEM
The RESU machine data can be used to limit the maximum heap memory share available
for RESU.
62573 $MC_RESU_INFO_SA_VAR_INDEX[1]
MD number Indices of the synchronized action variables
Default setting: –1 Minimum input limit: –1 Maximum input limit: 10000
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD (840D) Applies from SW: 6.4
Meaning: Not used. The machine data may not be used.
62574 $MC_RESU_SPECIAL_FEATURE_MASK
MD number Additional RESU features
Default setting: 0 Minimum input limit: 0 Maximum input limit: 0F (hex)
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies as of SW:
Meaning: Bit 0
Not used. May not be used.
Meaning: Bit 1
Bit 1 = 0: (default setting) (recommended setting)
The RESU main program CC_RESU.MPF is stored in the dynamic memory area of the
NC (DRAM).
Bit 1 = 1:
The RESU main program CC_RESU.MPF is stored in the battery-backed part program
memory (SRAM).
Meaning: Bit 2
Bit 2 = 0: (default)
The RESU-specific subroutines:
– CC_RESU_INI.SPF
– CC_RESU_END.SPF
– CC_RESU_BS_ASUP.SPF
– CC_RESU_ASUP.SPF
are stored as user cycles.
Bit 2 = 1: (recommended setting)
The RESU-specific subroutines (see above) are created as manufacturer cycles.
Meaning: Bit 3
Bit 3 = 0: (default)
No effects (see below Bit 3 = 1).
Bit 3 = 1: (recommended setting if bit 2 = 1)
If the RESU-specific subroutines (see above) have been created as manufacturer
cycles but RESU-specific subroutines are available as user cycles during NC run-up,
these are deleted without a prompt for the user.
62575 $MC_RESU_SPECIAL_FEATURE_MASK_2
MD number Additional RESU features
Default setting: 0 Minimum input limit: 0 Maximum input limit: 01 (hex)
Changes effective after RESET Protection level: 2 / 7 Unit: –
Data type: DWORD Applies as of SW:
Meaning: Bit 0
Bit 0 = 0: (default setting) (recommended setting)
For the purpose of retrace support, a block search with calculation is used on the con-
tour, starting at the beginning of the part program.
Bit 0 = 1:
2 different types of block search are used in order to accelerate retrace support:
– From the start of the part program to the last main block:
Block search without calculation
– From the last main block to the current part program block:
Block search with calculation on the contour
Signal Descriptions 5
5.1 Interface signals
5.1.1 Signals to channel
DB21, ...
DBX0.1 Reverse/Forward
Data Block Signal(s) to channel (PLC –> NCK)
Edge evaluation: Yes Signal(s) updated: Also (840D) valid in:
SW 5.3 and higher
Signal state 1 or signal Activate reverse travel.
transition 0 –> 1 The RESU main program CC_RESU.MPF is generated from the traversing blocks re-
corded in the RESU-internal block buffer in order to initiate travel back along the contour on
the next NC START.
Signal transition 1 –> 0 Activate forward travel.
The RESU main program CC_RESU.MPF is generated from the traversing blocks re-
corded in the RESU-internal block buffer in order to initiate travel forwards along the con-
tour on the next NC START.
Signal state 0 No meaning
Signal irrelevant for ..... RESU technological function not loaded or not activated.
DB21, ...
DBX0.2 Start retrace support
Data Block Signal(s) to channel (PLC –> NCK)
Edge evaluation: No Signal(s) updated: Also (840D) valid in:
SW 5.3 and higher
Signal state 1 Start retrace support:
The original machining program is reselected and a block search is carried out to locate the
program continuation point.
Signal state 0 No meaning
Signal irrelevant for ..... The NC is not in Retrace mode or RESU is not active.
DB21, ...
DBX32.1 Retrace mode active
Data Block Signal(s) from channel (NCK–>PLC)
Edge evaluation: No Signal(s) updated: Also (840D) valid in:
SW 5.3 and higher
Signal state 1 The “Retrace mode active” signal is active as long as the control is in Retrace mode. This
is the case from initial activation of the “reverse/forward” signal until activation of the “start
retrace support” signal.
Signal state 0 The machining program is executed.
Signal irrelevant for ..... RESU technological function not active.
DB21, ...
DBX32.2 Retrace support active
Data Block Signal(s) from channel (NCK–>PLC)
Edge evaluation: No Signal(s) updated: Also (840D) valid in:
SW 5.3 and higher
Signal state 1 The “retrace support active” signal is set as soon as signal state 1 is detected for the “start
retrace support” signal. The “retrace support active” signal is reset at the end of retrace
support once the last action block has been completed.
Signal state 0 Retrace support not active
Signal irrelevant for ..... RESU technological function not active.
Examples 6
– No examples available –
J
Notes
7.2 Alarms
75609 Channel %1 RESU axis, incorrect axis config., axis type %2, block %3
Explanation The 1st or 2nd geometry axis is not being traversed as a geometry axis in the part pro-
gram block displayed. For example, the following program settings were made: N20
POS[X] = 10
Axis type: Value not relevant
Reaction Alarm display, interpreter stop, no NC START possible, motion stop, alarm signal at PLC
interface
Remedy Correct part program, e.g.:
1. Do not traverse the geometry axis as a positioning axis:
N20 X = 10
2. Deactivate RESU temporarily:
N19 CC_PREPRE(0)
N20 POS[X] = 10 ; The X axis is to be traversed as a POS
; axis, therefore do not record this block.
N21 CC_PREPRE(1)
N22 G1 X200
If the alarm continues to be displayed and/or a part program block is indicated in the
alarm in which the axis concerned is not actually programmed, “positioning axis” may
still be saved as the axis type. Remedy:
N30 X=IC(0)
Programming the incremental distance as 0 mm ensures that axis X reverts to
a geometry axis.
Program continuation Clear the alarm with the RESET key. Restart part program.
S Retrace support started (DB21, DBX0.2) and block search still active ((DB21,
DBX33.4)
S Following the 1st “official” NC START at the end of the block search, before the last
action block has been completed.
Notes
Cycle-Clock-Independent Path-Synchronous
Signal Output (TE8)
Brief Description 1
Function The “cycle-independent path-synchronous switching signal output” technologi-
cal function is used to output a digital signal dependent on the following states
within the 1st channel on the NC:
1. Rapid traverse G00: active/inactive
2. Programmed feedrate threshold: undershot/exceeded
The activation/selection of which of the two options should control the output of
the signal can be programmed via a part program command.
Function code The code for the “cycle-independent path-synchronous switching signal output”
technological function for function-specific identifiers of program commands,
machine data, etc. is:
I/Os The on-board I/O of the relevant NC module can be used as the digital I/O via
which the switching signal is output.
(840D) The switching signal can only be output via one of the 4 on-board digital outputs
on the NCU module.
(840Di) The switching signal can only be output via one of the 4 on-board digital outputs
on the MCI board extension module (option).
S SINUMERIK 840D
S SINUMERIK 840Di
S The technological function is only available in the 1st channel of the NC.
Note
The technological function is only available in the 1st channel of the NC.
Detailed Description 2
2.1 Description of functions
The description of the how the technological function works is based on the
example of HSLC (High-Speed Laser Cutting).
Calculating the During high-speed laser cutting, e.g. as used to manufacture perforated sheets,
switching it is absolutely essential to switch the laser beam on/off exactly at the pro-
positions grammed setpoint positions during the machining process. In order to minimize
programming overheads, the switching positions are calculated by the techno-
logical function using the velocity of the geometry axes programmed in the part
program block.
The following criteria define the setpoint position programmed in the part pro-
gram block (end of block position) as a switching position:
1. A GO edge change
2. Overshoot/undershoot of a freely programmable velocity threshold
G0 edge change If G0 (rapid traverse) is active in a part program block (programmed or modal),
the switching signal is deactivated. Conversely, if G0 (rapid traverse) is not ac-
tive in a part program block, the switching signal is activated. The G0 edge
change marks the programmed end of block position of the previous block as
the switching position.
See the examples of positions X30 on G0 edge change from N10 to N20 and
X100 on G0 edge change from N30 to N40 in Fig. 2-1.
ON
Switching
signal
OFF
Freely progr. A freely programmable velocity threshold value is used to define the setpoint
threshold value velocity programmed in the part program block at and above which the switch-
ing signal is activated/deactivated.
If the setpoint velocity programmed in the part program is higher than the pro-
grammed threshold value, the switching signal is deactivated. If the setpoint
velocity is at/below the threshold value, the switching signal is activated. The
edge change marks the programmed end of block position of the previous block
as the switching position.
See the examples of positions X30 on edge change from N10 to N20 and X70
on edge change from N20 to N30 in Fig. 2-1.
Threshold value
Set velocity
OFF
ON
Switching
signal
OFF
Fig. 2-2 Switching signal states with freely progr. threshold value
Note
G0 always deactivates the switching signal, regardless of the threshold value.
Calculating In order for the switching to be as precise as possible at the switching positions
switching instants calculated, the control calculates the positional difference between the actual
position of the geometry axes involved and the switching difference in every
position controller cycle.
If the positional difference is less than 1.5 position controller cycles, it is con-
verted into a temporal difference taking into account the current path velocity
and acceleration rate of the geometry axes.
With the temporal difference specified, a hardware timer is started, which trig-
gers the switching signal at exactly the instant calculated in advance regardless
of the position controller cycle.
Approached If a switching position is not reached exactly, e.g. in continuous-path mode and
switching position travel in more than one geometry axis, switching takes place at the instant at
which the positional difference between the actual position of the geometry axes
involved and the programmed switching position increases again.
Switching position A positional offset of the switching position can be programmed for both switch-
offset ing operations:
Negative Positive
offset distance offset distance
(lead) (follow-up)
Path reference The offset distance is a positional data, which refers to the programmed path.
For the purpose of simplicity, linear motion is assumed. Curves in the path are
not ignored.
Behavior with single Due to the internal motion logic, negative offset distances (lead) have no effect
block and G60 when used with the following standard functions:
S Single block
S Exact stop at block end (G60)
Note
Negative offset distances (lead) have no effect when used with the “single
block” and “exact stop at block end (G60)” standard functions.
Behavior in the Following an interruption in the part program (NC-STOP) and subsequent
event of an change to JOG mode, the technological function is deactivated and/or switching
interruption in the signals cease to be output.
part program The technological function is only restarted and/or switching signals output once
the system has reverted to AUTOMATIC mode and the part program has been
resumed (NC START).
2.2 Startup
Compile cycle Before starting up the technological function, make sure that the corresponding
compile cycle has been loaded and activated.
Note
The technological function is only available in the 1st channel of the NC.
Memory The technological function requires additional data in the NCK-internal block
configuration memory. The following memory-configuring channel-specific machine data must
be parameterized:
Note
The values indicated must be entered in addition to the existing machine data
value x.
Digital output A digital output from the local I/O is required for the switching signal. The follo-
wing machine data must be used to parameterize at least one digital output
byte:
S MD10360: FASTIO_DIG_NUM_OUTPUTS (Number of active digital output
bytes) 1
(840D) and (840Di) A complete description of the digital outputs appears in:
References: /FB2/ Description of Functions Extended Functions
Digital and Analog NCK I/Os (A4)
Output number of Once the compile cycle has started up, the following function-specific machine
switching signal data appears in the channel-specific machine data:
S MD62560: $MC_FASTON_NUM_DIG_OUTPUT
Number of digital output of switching signal
The number of the digital output n (where n = 1, 2, ... 4) via which the switching
signal is to be output must be entered in the machine data.
Features of the In the context of the general features of digital output signals, the switching sig-
switching signal nal features are as follows:
S The number of the digital output can be changed from within the part pro-
gram.
S The digital output can be disabled from within the PLC user program.
S The number of the digital output cannot be changed from within the PLC
user program.
Deactivating the Entering the number of the digital output n = 0 deactivates the function. No mes-
switching signal sage or alarm is output.
Effect on other The hardware-timer-controlled output of the switching signal at the parameter-
output signals ized output delays the signal output for the other digital on-board outputs, e.g.
due to synchronized actions, by 2 IPO cycles.
Note
The output of the switching signal delays the signal output of the other digital
on-board outputs by 2 IPO cycles.
2.3 Programming
Functionality The parameters for the CC_FASTON( ) procedure have the following meaning:
S Parameter 1
Length of the offset distance for activation of the switching signal. The para-
meter unit corresponds to the setting preset via machine data:
S MD10240: $MN_SCALING_SYSTEM_IS_METRIC
S Parameter 2
Length of the offset distance for deactivation of the switching signal. The
parameter unit corresponds to the setting preset via machine data:
S MD10240: $MN_SCALING_SYSTEM_IS_METRIC
S Parameter 3
This parameter is optional.
– If the parameter is not indicated in the procedure call, the G0 edge
change is used as the switching criterion.
– If the parameter is indicated in the procedure call, it contains as a switch-
ing criterion the velocity setpoint value, which, when undershot or ex-
ceeded, activates/deactivates the switching signal.
Changing The parameters for the CC_FASTON( ) procedure can be modified at any time
parameters during the execution of the part program. To do this, enter the procedure call
again with the new parameter values. The switching criterion (G0 edge change/
velocity threshold value) may also be changed.
Reset response A RESET (NC RESET or end of program) deactivates the function.
Syntax CC_FASTOFF( )
CC_FASTOFF( ) is a procedure call and must therefore be programmed in a
dedicated part program block.
Notes
Supplementary Conditions 3
3.1 Function-specific boundary conditions
The switching positions can only be determined via the programmed traversing
movements of the geometry axes in the 1st channel. The following alarm ap-
pears if there are no geometry axes in the 1st channel:
If a block search is carried out for a part program block designed to activate the
technological function following a CC_FASTON( ) procedure call, the switching
signal is activated with the next traversing movement. One of the specific con-
sequences of this is to initiate travel along the contour from the start position of
the geometry axes back to the program continuation point with an activated
switching signal.
Example
S Standard sequence
If part program machining is executed as standard, the switching signal is
activated for the first time at the beginning of part program block N60.
Part program
N10 G0 X0 Y0 Y
N20 G1 F1000 X10 Y10 N60
Start position
N30 G0 X50
N40 CC_FASTON(–0.4, 0.4) Switching signal: ON
N50 Y50 N50
N60 G1 X100 Y100 N10
N30
N40
N20
Switching signal The user (machine manufacturer) must take appropriate measures, e.g. disable
output in REPOS the switching signal, in order to suppress the activation of the switching signal in
block the REPOS block in the constellation described above.
Note
It is part of the general responsibility of the user (machine manufacturer) to
suppress the output of the switching signal during repositioning, e.g. after a
block search.
References You will find a complete description of the block search in:
/FB2/ Description of Functions Basic Machine
Mode Group, Channels, Program Operation K1
Program Test
3.2.2 Transformations
The function will only run correctly with deactivated transformation. There is no
monitoring function.
3.2.3 Compensation
References You will find a complete description of tool radius compensation in:
/FB1/ Description of Functions Basic Machine
Tool Radius Compensation W1
Tool Radius Compensation
A part program block inserted into the part program internally by the control sys-
tem in continuous-path mode with programmable smoothing characteristics
(G641 ADIS) is added to the previous part program block with reference to the
original switching position. This causes the switching signal not to be switched
until the start of the new part program block.
References You will find a complete description of continuous-path mode with program-
mable smoothing characteristics (ADIS) in:
/FB1/ Description of Functions Basic Machine
Continuous-Path Mode, Exact Stop and LookAhead B1
References You will find a complete description of the software cams in:
/FB2/ Description of Functions Extended Functions
Software Cams, Position Switching Signals N3
J
Notes
62560 $MC_FASTON_NUM_DIG_OUTPUT
MD number Configuration of the switching signal output
Default setting: 0 Minimum input limit: 0 Maximum input limit: 4
Changes effective after Protection level: 2/7 Unit: –
POWER ON
Data type: Byte
Meaning: The number of the digital on-board output (1...4) assigned to the switch-
ing signal is specified via machine data.
0 deactivates the output of the switching signal.
J
Notes
Signal Descriptions 5
– No signal descriptions available –
J
Notes
Examples 6
– No examples available –
J
Notes
7.2 Alarms
Preprocessing (V2)
Notes
Brief Description 1
Preprocessing The programs stored in the directories for standard and user cycles can be pre-
processed to reduce runtimes.
Preprocessing is activated via machine data.
Standard and user cycles are preprocessed when the power is switched on, i.e.
as an internal control function, the part program is translated (compiled) into a
binary intermediate code optimized for processing purposes.
All program errors that can be corrected by means of a compensation block are
detected during preprocessing. In addition, when the program includes
branches and check structures, a check is made to ensure that the branch des-
tinations are present and that check structures are nested correctly.
The full scope of control functionality is available:
S Override control
S Reactions to data and signals that are input by the PLC or the operator
S Current block display
S The programs can be processed in single block mode (SBL1 and SBL2).
Block searches can be executed. The compilation cannot be archived; it is
concealed from the user and regenerated every time the power is switched
on.
Preprocessing can be used:
Notes
Detailed Description 2
2.1 General functionality
General
information
S SW 3.2 and higher
Standard and user cycles can be preprocessed.
The processing time of part programs can then be reduced without restrict-
ing the control functionality.
If machine data MD 10700: PREPROCESSING_LEVEL is set accordingly,
standard and user cycles are preprocessed.
Preprocessing is program-specific. Preprocessed part programs and pro-
grams interpreted in ASCII format can be mixed.
Preprocessing reduces idle times.
S SW 5 and higher
Bit 5 added to MD 10700: PREPROCESSING_LEVEL. This allows you to
select preprocessing for user cycles from the _N_CMA_DIR directory.
Functionality The programs stored in the directories for standard and user cycles are prepro-
cessed when the power is switched on, i.e. the part program is translated (com-
piled) into an intermediate binary code optimized for processing purposes. The
compilation is processed when called.
Runtime The preprocessing function is primarily suited for optimizing the runtimes of part
optimization programs with high-level language components (branches, check structures,
motion-synchronous actions).
While branches and check structures are invalidated by a search through all
blocks (block start) when part programs are interpreted in ASCII format (active
as default), a branch is made directly to the destination block in a preprocessed
part program.
The runtime differences between branches and check structures are thus elimi-
nated.
Preprocessing runtime example:
Runtime reduced by 30% on active compressor:
DEF INT COUNTER
Destination: G1 G91 COMPON
G1 X0.001 Y0.001 Z0.001 F100000
COUNTER=COUNTER +1
COUNTER=COUNTER –1
COUNTER=COUNTER +1
IF COUNTER<= 100000 GOTOB TARGET
CPU time intensive programs and programs with symbolic names are pro-
cessed faster.
Runtime-critical sections (e.g. continuation of processing after deletion of dis-
tance to go or preprocessing stop in cycles) can be processed faster.
If the interrupt routine is available as a preprocessed cycle, processing can be
continued more rapidly after the program interrupt.
Bit 6 = 1:
The compilation for programs for which there is not sufficient space
in the DRAM is stored in the SRAM. Error messages are output
for programs for which there is not sufficient compilation space
in the SRAM.
The areas occupied by the compilation in the DRAM are visible to the user.
Bit combinations are permissible.
Note
Program changes to precompiled programs do not take effect until the next
power ON!
Access The preprocessed program can only be executed, but not read or written. The
authorization compilation cannot be modified or archived. The original cycles _SPF files are
not deleted.
The compilation is not changed when the ASCII cycle is altered, i.e. changes do
not take effect until after the next power ON.
Memory The memory requirement for compiled cycles is approximately factor 2 in addi-
requirements tion to ASCII part programs.
The memory requirements for variables defined in the part programs are de-
fined via the following machine data:
MD 28020 $MC_MM_NUM_LUD_NAMES_TOTAL
MD 28010 $MC_MM_NUM_REORG_LUD_MODULES
MD 28040 $MC_MM_LUD_VALUES_MEM
MD 18242 $MC_MM_MAX_SIZE_OF_LUD_VALUE
References: /FB/, S7, “Memory Configuration”
While preprocessing is in progress, the amount of memory required is the same
as if the preprocessed program were called on the first subroutine level.
When programs are preprocessed after POWER ON, a name is counted for
each branch destination/label as if it were a variable. These names must be
taken into account in machine data
MD 28020: MM_NUM_LUD_NAMES_TOTAL.
Example:
SW 7.1 and higher Preprocessed programs/cycles are stored in the DRAM. The space required for
each program must be flashed over unmodified as outlined above. Tailoring to
the assignment of locations in the SRAM is only required if bit 6 in MD 10700:
PREPROCESSING_LEVEL Bit 6 has been set to 1. In this case, the program
compilations for which there is insufficient space in the DRAM are stored in the
SRAM.
Examples of appropriate machine data settings appear in Section 6.2.
Overview
Main program
Call-up
CYCLE_SPF ASCII
without preprocessing cycle
CYCLE _N_CYCLE_SPF
Preprocessing
CYCLE_CYC
_N_CYCLE_CYC
Preprocessing
Call-up Pre-
with preprocessing processed
cycle
_N_CYCLE_CYC
Call
S Compiled cycle:
A compiled cycle is called in exactly the same way as a normal subroutine.
Example: CYCLE
S Preprocessing is activated:
The compiled cycle is called instead of the ASCII cycle.
– If the subroutine is called explicitly with extension _SPF, then the ASCII
cycle is called even if a compilation is available.
Example: CYCLE_SPF ;ASCII cycle call
– If the subroutine is called explicitly with extension _CYC, then the pre-
processed cycle is called if available. An error message is output if no
compilation is available.
Example: CYCLE_CYC ;Preprocessed cycle call
– If Bit 5 is set and a file that is not marked with PREPRO called explicitly
with the extension _CYC, an error message is issued with Alarm 14011.
Note
Only cycles without parameters may be called with the extension _SPF or
_CYC (see Fig. 2-1).
Do not use PUDs in cycles that are preprocessed. The PUDs are created in the
calling main program. At the time of compilation after power-on, these data are
not known to the cycles.
The current program display shows whether the current ASCII cycle or the com-
pilation has been called (extension _SPF or _CYC).
Call condition All cycles in the cycle directories must be compiled before preprocessing is acti-
vated. Non-compiled cycles in _N_CUS_DIR and _N_CST_DIR which were
only loaded, for example, after power ON, can only be called through explicit
specification of extension _SPF.
If preprocessing is active and bit 5 is set, all programs that do not start with the
PREPRO PROC instruction are not precompiled.
Syntax check All program errors that can be corrected by means of a compensation block are
detected during preprocessing. In addition, when the program includes
branches and check structures, a check is made to ensure that the branch des-
tinations are present and that check structures are nested correctly.
Branch destinations/labels must be unique in the program.
After the errors detected during preprocessing have been corrected, preproces-
sing must be started again by means of an NCK power ON.
Vocabulary The full vocabulary of the NC language is available in the part program.
There are no restrictions on the calculation of measured process variables and
in the reaction to signals from the process and other channels (override, dele-
tion of distance to go, motion-synchronous actions, channel coordination, inter-
rupt processing, etc.).
Axis identifiers Part programs are compiled independently of channels. For this reason, the
geometry and channel identifiers set via
MD $MC_AX CONF_GEOAX_NAME_TAB and
$MC_AXCONF_CHANAX_NAME_TAB must be identical in all channels if they
are used directly in the precompiled cycles.
Generally speaking, axis identifiers are not used directly in machining cycles
since cycles are written
Notes
Supplementary Conditions 3
Availability of the The function is an option and is available for
“pre-processing”
function
S SINUMERIK 840D, SW 3 and higher
J
10700 PREPROCESSING_LEVEL
MD number Program preprocessing level
Default setting: 1 Minimum input limit: 0 Maximum input limit: 15
Changes effective after POWER ON Protection level: 2/2 Unit: –
Data type: BYTE Applies as of SW: 3.2
Meaning: Preprocessing describes the compilation of cycles/programs. Once they have been prepro-
cessed, programs/cycles can be used in the part program without an additional EXTERN
declaration.
Bit 1= 1: During control run-up, all cycles are preprocessed into a compilation
optimized for processing. All user cycles (_N_CUS_DIR directory) and
standard cycles (_N_CST_DIR directory) are processed at high speed.
Program changes to cycle programs do not take effect until
the next POWER ON.
Memory is required for preprocessing cycles. Memory usage can be optimized by means of
selective preprocessing (directories/PREPRO):
– Runtime-critical cycles are grouped in a single directory.
– The remaining cycles are located in a different directory.
– Use bit 5 to mark only critical cycles.
– SW 7.1 and higher: The precompiled cycles are in the DRAM.
Memory The memory space required for variables defined in the part programs is de-
requirements fined via the following machine data:
S MD 28010: MM_NUM_REORG_LUD_MODULES
S MD 28020: MM_NUM_LUD_NAMES_TOTAL
S MD 28040: MM_LUD_VALUES_MEM
While preprocessing is in progress, the amount of memory required is the same
as if the preprocessed program were called on the first subroutine level.
References: /FB/, S7, “Memory Configuration”
The memory configuration set via machine data
MD 28010: MM_NUM_REORG_LUD_MODULES,
MD 28040: MM_LUD_VALUES_MEM and
MD 18242: MM_MAX_SIZE_OF_LUD_VALUE is relevant at the time when the
subroutine is called and remains unchanged compared to the ASCII interpreta-
tion of the subroutines.
Name When programs are preprocessed after POWER ON, a name is counted for
each branch destination/label as if it were a variable. These names must be
taken into account in the following machine data:
S MD 28020: MM_NUM_LUD_NAMES_TOTAL
J
Notes
Signal Descriptions 5
None
J
Notes
Example 6
6.1 Preprocessing individual files
PROC PART1 PREPRO ; Preprocessing if bit 5 = 1
; in PREPROCESSING_LEVEL
N1000 DEF INT COUNTER
N1010 DESTINATION: G1 G91 COMPON
N1020 G1 X0.001 Y0.001 Z0.001 F100000
N1030 COUNTER=COUNTER+1
N1040 COUNTER=COUNTER–1
N1050 COUNTER=COUNTER+1
N1060 IF COUNTER <=10 GOTOB DESTINATION
N1070 M30
PROC PART2
N2000 DEF INT VARIABLE, FIELD[2]
N2010 IF $AN_NCK_Version < 3.4
N2020 SETAL(61000)
N2030 ENDIF
N2040 START:
N2050 FOR VARIABLE = 1 TO 5
N2060 G1 F1000 X=VARIABLE*10–56/86EX4+4*SIN(VARIABLE/3)
N2070 ENDFOR
N2080 M17
PROC MAIN
N10 G0 X0 Y0 Z0
N20 PART1
N30 G0 X10 Y10 Z10
N40 PART2
N50 G0 X100 Y100
N60 PART3
N70 G0 X10 Y10
N80 M30
Example constellations:
a) Bit 5 = 1
$MN_PREPROCESSING_LEVEL=45 ; Bit 0, 2, 3,5
b) Bit 5 = 0
$MN_PREPROCESSING_LEVEL=13 ; Bit 0, 2, 3,
c)
Example for an invalid subroutine, active compilation:
PROC SUB1 PREPRO
Machine data for preprocessing in the DRAM, with option to use the SRAM and
with selective selection:
; Bit 5 = 1 Selective program selection
; Bit6 = 1 Diversion to SRAM if DRAM full
N30 $MN_MM_DRAM_FILE_MEM_SIZE = 800 ; Reserve space
N40 $MN_PREPROCESSING_LEVEL = 127 ; Bit 0–6 = 1
M17
7.2 Alarms
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, Diagnostics Guide
or in the Online help.
J
Notes
Notes
Brief Description 1
Why 3D TRC? 3D tool radius compensation is used to machine contours with tools that can be
controlled in their orientation independently of the tool path and shape.
Note
This description is based on the specifications for 2D tool radius compensation.
References: /FB/, W1, “Tool Compensation”
How 21/2 D - 3D S With 21/2D TRC, it is assumed that the tool is always space-bound. Tools
TRC differ with constant orientation (cylindrical tools) are used for circumferential
milling operations.
While the orientation of the machining surface is not constant when other
tools are used, it is determined by the contour and cannot thus be controlled
independently of it.
Peripheral milling, The following diagram (Fig. 1-1) shows the differences between 21/2 D TRC and
face milling 3D TRC with respect to peripheral milling operations.
21/2D TRC
Tool
ÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉ
Workpiece
contour
Path of the
ÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉ
tool center point
at equal distance
ÉÉ
ÉÉÉÉÉÉÉÉÉÉ
to the contour
3D TRC
ÉÉ
ÉÉÉÉÉÉÉÉ
ISD = InSertion Depth R
L
ISD
ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉ
Fig. 1-1 21/2 D, 3D tool radius compensation
The parameters for the operation shown in Fig. 1-2 “Face milling” are described
in detail in Section 2.2.
ÉÉ
ÉÉ
w
FS
ËËËËËË ÉÉ
d
e d
ËËËËËË
ËËËËËË
nF
r
ËËËËËË
FE
ËËËËËË
Fig. 1-2 Face milling
S Peripheral milling
S Face milling
Peripheral milling mode is provided for machining so-called ruled surfaces (e.g.
taper, cylinder, etc.) while face milling is used to machine curved (sculptured)
surfaces.
Face milling Tools of both types, i.e. with constant or variable orientation, can be used for
face milling operations.
Tools with variable orientation offer the following advantages:
Notes
Detailed Description 2
The following section provides a detailed function description of 3D tool radius
compensation with respect to
Tool orientation The term “tool orientation” describes the geometric alignment of the tool in
space. The tool orientation on a 5-axis machine tool can be set by means of
program commands.
References: /PA/, Programming Guide
Peripheral milling The variant of peripheral milling used here is implemented through the definition
of a path (directrix) and the associated orientation. In this machining mode, the
tool shape is irrelevant on the path and at the outside corners. The only decisive
factor is the radius at the tool contact point.
ÉÉÉÉ
A Tool axis
B
ÉÉÉÉ
Peripheral milling
Z
Y
X
Insertion depth The ISD (InSertion Depth) program command is used to program the tool inser-
(ISD) tion depth for peripheral milling operations. This makes it possible to change the
position of the machining point on the peripheral surface of the tool.
ISD defines the distance between cutter tip FS and cutter construction point FH.
Point FH is obtained by projecting the programmed machining point onto the
tool axis. ISD is evaluated only when 3D TRC is active.
ÉÉ
ÉÉ
FH
ISD
FS
Outside corners/ Outside corners and inside corners must be treated separately. The terms in-
inside corners side corner and outside corner are dependent on the tool orientation. When the
orientation changes at a corner, for example, the corner type may change while
machining is in progress. Whenever this occurs, the machining operation is
aborted with an error message.
ÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ
G41
ÉÉÉÉÉÉÉÉ
G42
ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉ
Inside corner Outside corner
ÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉ
Fig. 2-3 Corner type
ÉÉÉÉÉ
ÉÉÉÉÉ
ÉÉÉÉÉ
ÉÉÉÉ
ÉÉÉÉ
ÉÉÉÉ
ÉÉÉÉ
Machining direction
Similar to the procedure for 21/2D tool radius compensation, a circle is inserted
at outside corners (G450) or the point of intersection of the offset curves is ap-
proached (G451).
For transitions that are almost tangential, the procedure is identical whether
G450 or G451 is active (limit angle can be set via MD). Conversely, if G451 is
active, a circle is also inserted (procedure as for G450) if there is no intersection
or if the corner angle exceeds a specific value (MD).
If there is a change in orientation between the two traversing blocks, a circle is
always inserted.
G450 Outside corners are treated as if they were circles with a 0 radius. The tool ra-
dius compensation acts on these circles in the same way as on any other pro-
grammed path.
The circle plane extends from the final tangent of the first block to the start tan-
gent of the second block.
The orientation can be changed during block transition.
A change in orientation between two programmed blocks is executed either
before the circle block or in parallel to it. Circles are always inserted. The DISC
command is not evaluated.
ORIC If ORIC is active and there are two or more blocks with changes in orientation
(e.g. A2= B2= C2=) programmed between the traversing blocks, then the in-
serted circle block is distributed among these intermediate blocks according to
the absolute changes in angle.
Change in The method by which the orientation is changed at an outside corner is deter-
orientation mined by the program command that is active in the first traversing block of an
outside corner.
60
N100
N90
N70
N60 N80
10
Outside corner with overlaid
5 change in orientation
10 60
Example:
N10 A0 B0 X0 Y0 Z0 F5000
N20 T1 D1 ;Radius=5
N30 TRAORI(1) ;Selection of transformation
N40 CUT3DC ;Selection of 3D TRC
N50 ORIC
N60 G42 X10 Y10 ;Selection of TRC
N70 X60
N80 A3=1 B3=0 C3=1 ;Change in orientation at the outside corner
formed by N70 and N90 Y60 ;N90
N100 X10
N110 G40 X0 Y0
N120 M30
The circular motion and change in orientation are executed in parallel in block
N80 (ORIC active).
Exception Intermediate blocks without traversing and orientation motions are executed at
the programmed positions, e.g. auxiliary functions.
Example:
...
N70 X60
N75 M20 ;Auxiliary function call
N80 A3=1 B3=0 C3=1 ;Change in orientation at the outside corner
N90 Y60 ;formed by N70 and N90
...
Blocks N75 and N80 are executed after N70. The circle block is then executed
with the current orientation.
ORID If ORID is active, then all blocks between the two traversing blocks are exe-
cuted at the end of the first traversing block. The circle block with constant ori-
entation is executed immediately before the second traversing block.
N110
Tool at beginning of
N90
N90
Tool at end
of N80. The orientation
N70 N80 is changed so that the
N60 tool is constantly in
10 contact with the end
5 point of N70.
10 60
Fig. 2-6 ORID, change in orientation and path motion as successive actions
Example:
N10 A0 B0 X0 Y0 Z0 F5000
N20 T1 D1 ;Radius=5
N30 TRAORI(1) ;Selection of transformation
N40 CUT3DC ;Selection of 3D TRC
N50 ORID
N60 G42 X10 Y10 ;Selection of TRC
N70 X60
N80 A3=1 B3=0 C3=1 ;Change in orientation at the outside corner
N90 Y60 ;formed by N70 and N90
N100 X10
N110 G40 X0 Y0
N120 M30
Note
The DISC command is not evaluated.
G451 The intersection is determined by extending the offset curves of the two partici-
(SW 5 and higher) pating blocks and defining the intersection of the two blocks at the corner in the
plane perpendicular to the tool orientation. If no such intersection is available, a
circle is inserted.
If an intersection is found in the plane perpendicular to the tool, this does not
mean that the curves also intersect in space. Rather the curves in the direction
of the tool longitudinal axis are considered, which are generally a certain dis-
tance apart. The positional offset is eliminated over the entire block length in
direction of the tool.
The way this offset is processed in tool direction at outside corners is the same
as for inside corners.
No intersection The intersection procedure is not used when at least one block containing a
procedure change to the tool orientation was inserted between the traversing blocks in
question.
In this case a circle is always inserted at the corner.
Blocks without Blocks without relevant traversing information (neither tool orientation nor posi-
traversing tion of geometry axes are changed) are permissible. The intersection procedure
information is applied to the adjacent blocks as if these intermediate blocks did not exist. In
the same manner, tool direction motions in the tool direction may also be pro-
grammed in intermediate blocks.
Collision With the 3D compensation function, only adjacent traversing blocks are taken
monitoring into account in the calculation of intersections.
Path segments must be long enough to ensure that the contact points of the
tool do not cross the block limits into other blocks when the orientation changes
at an inside corner.
ÇÇÇÇÇÇÇÇÇÇÇ
N80 Change in orientation
ÇÇÇÇÇÇÇÇÇÇÇ
N90
ÇÇÇÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇÇÇÇ
N70
ÇÇÇÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇÇÇÇ
N80
ÇÇÇÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇÇÇÇ
Fig. 2-7
ÇÇÇÇÇÇÇÇÇÇÇ
The contact points of the tool must not cross the limits of block N70 or N90 as
a result of the change in orientation in block N80
Example:
N10 A0 B0 X0 Y0 Z0 F5000
N20 T1 D1 ;Radius=5
N30 TRAORI(1) ;Selection of transformation
N40 CUT3DC ;Selection of 3D TRC
N50 ORID
N60 G42 X10 Y10 ;Selection of TRC
N70 X60
N80 A3=1 B3=0 C3=1 ;Change in orientation at the inside corner
;formed by N70 and N90
N90 X10
N100 G40 X0 Y0
N120 M30
Without change in If the orientation is not changed at the block limit, then the contour need only be
orientation considered in the plane vertical to the tool axis. In this case, the tool cross-sec-
tion is a circle which touches the two contours. The geometric relations in this
plane are identical to those for 21/2D compensation.
With change in If the orientation changes on a block transition, the tool moves in the inside cor-
orientation ner so that it is constantly in contact with the two blocks forming the corner.
When the orientation changes in a block that is one of the two blocks forming
the inside corner, then it is no longer possible to adhere to the programmed
relationship between path position and associated orientation. This is because
the orientation must reach its end value even though the path end position is
not reached. This response is identical to the response of synchronized axes
with 21/2 D tool radius compensation.
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
Programmed
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
position
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
Fig. 2-8 Path end position and change in orientation at inside corners
Change in Generally speaking, the contour elements that form an inside corner are not
insertion depth positioned on the plane perpendicular to the tool. This means that the contact
points between the two blocks and the tool are at different distances from the
tool tip.
This means: the insertion depth (ISD) changes abruptly from the 1st to the 2nd
block at an inside corner.
To ensure that this difference in depth is not an abrupt step change, it is distrib-
uted continuously among the blocks involved during interpolation. The depth-
compensating motion is executed in the current tool direction.
This solution prevents the contour from being violated by cylindrical tools
if the length of the tool prevents the cutter contact point on the lateral surface of
the cutter leaving the range in which machining is possible.
ÉÉÉÉ
ÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
Old ISD
New ISD
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
FS
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
2. Block
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
1. Block
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
Fig. 2-9 Change in insertion depth
ÉÉÉÉÉÉÉÉÉÉÉÉ
Example
of inside corners
ÉÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
ÉÉÉ
N90
N60
TRC
Example:
N10 A0 B0 X0 Y0 Z0 F5000
N20 T1 D1 ;Radius=5
N30 TRAORI(1) ;Transformation selection
N40 CUT3DC ;3D TRC selection
N50 ORID
N60 G42 X10 Y10 G451 ;TRC selection
N70 Y60
N80 A3=1 B3=0 C3=1 ;Change in orientation at the inside corner
;formed by N70 and N90 X60 Y90
N100 G40 X... Y...
...
N190 CDOF
N200 M30
FS
w ÉÉ
ÉÉ
ËËËËËË nF
e ÉÉ
d
d
ËËËËËË
ËËËËËË
r
ËËËËËË
FE
The following table lists the possible tool shapes that may be used for face mill-
ing. They are shown in Fig. 2-11 with their dimensions.
Tool
Cutter type d r a
No.
Ball end mill (cylindrical die sinker) 110 >0 X X
Ball end mill (tapered die sinker) 111 >0 >d X
End milling cutter without corner rounding 120, >0 X X
130
End mill with corner rounding (torus) 121, >r >0 X
131
Bevel cutter without corner rounding 155 >0 X >0
Bevel cutter with corner rounding 156 >r >0 >0
If a tool number other than any of those specified in the table above is used in
the NC program, then the tool type is assumed to be a ball end mill (tool
type 110). Tool parameters marked with an X in the tool table are not evaluated.
A value other than zero is meaningless for the tool offset for face milling.
An alarm is output if tool data are programmed that violate the limits specified in
the table above.
The shaft characteristics are not taken into account on any of the tool types. For
this reason, the two tool types 120 (end mill) and 155 (bevel cutter), for exam-
ple, have an identical machining action since only the section at the tool tip is
taken into account. The only difference between these tools is that the tool
shape is represented differently (dimensions).
d
d d
a a
d
d d
r r
End mill with Bevel cutter with
corner rounding Bevel cutter corner rounding
(Type 121, 131) (Type 155) (Type 156)
The tool data are stored under the following tool parameter numbers:
Note
The geometry and wear values of a tool data are added.
The reference point for tool length compensation (also referred to as tool tip or
tool center point (TCP)) on all tool types is the point at which the longitudinal
axis of the tool penetrates the surface.
A new tool with different dimensions may be programmed only when the tool
compensation is activated for the first time (i.e. on transition from G40 to G41 or
G42) or, if the compensation is already active, only when G41 or G42 are repro-
grammed.
2.2.2 Orientation
The options for programming the orientation have been extended for 3D face
milling.
The tool offset for face milling cannot be calculated simply by specifying the
path (e.g. a line in space). The surface to be machined must also be known.
The control is supplied with the information it requires about this surface by the
surface normal vector.
The surface normal vector at the block beginning is programmed with A4, B4
and C4 and the vector at the block end with A5, B5 and C5. Components of the
surface normal vector that are not programmed are set to zero. The length of a
vector programmed in this way is irrelevant. A vector of zero length (all three
components are zero) is ignored, i.e. the direction programmed beforehand re-
mains valid, no alarm is generated.
If only the start vector is programmed (A4, B4, C4) in a block, then the pro-
grammed surface normal vector remains constant over the entire block. If only
the end vector is programmed (A5, B5, C5), then large-circle interpolation is
used to interpolate between the end value of the preceding block and the pro-
grammed end value. If both the start and end vectors are programmed, then
interpolation takes place between both directions using the large-circle inter-
polation method. The fact that the start vector may be reprogrammed in a block
means that the direction of the surface normal vector can change irregularly on
a block transition. Irregular transitions of the surface normal vector always occur
in cases where there is no tangential transition between the surfaces (planes)
involved, i.e. if they form an edge.
Once a surface normal vector has been programmed, it remains valid until
another vector is programmed. In the basic setting, the surface normal vector is
set to the same values as the vector in the z direction. This basic setting direc-
tion is independent of the active plane (G17-G19). If ORIWKS is active, surface
normal vectors refer to the active frame, i.e. when the frame is rotated, the vec-
tors rotate simultaneously. This applies both to programmed orientations as well
as to those derived from the active plane. If ORIWKS is active, the surface nor-
mal vectors are adjusted when a new frame becomes active. An orientation
modified as the result of frame rotations is not returned to its original state on
switchover from ORIWKS to ORIMKS.
It must be noted that the programmed surface normal vectors may not neces-
sarily be the same as those used internally. This always applies when the pro-
grammed surface normal vector is not perpendicular to the path tangent. A new
surface normal vector is then generated which is positioned in the plane extend-
ing from the path tangent to the programmed surface normal vector, but which is
at right angles to the path tangent vector. This orthogonalization is necessary
because the path tangent vector and surface normal vector for a real surface
must always be perpendicular to one another. However, since the two values
can be programmed independently, they may contain mutually contradictory
information. Orthogonalization ensures that the information contained in the
path tangent vector has priority over the data in the surface normal vector. An
alarm is output if the angle between the path tangent vector and the pro-
grammed surface normal vector is smaller than the limit value programmed in
machine data MC_CUTCOM_PLANENORMAL_PATH_LIMIT.
If a block is shortened (inside corner), then the interpolation range of the surface
normal vector is reduced accordingly, i.e. the end value of the surface normal
vector is not reached as it would be with other interpolation quantities such as,
for example, the position of an additional synchronized axis.
In addition to the usual methods of programming orientation, it is also possible
to refer the tool orientation to the surface normal vector and path tangent vector
using the addresses LEAD (lead or camber angle) and TILT (side angle). The
lead angle is the angle between the tool orientation and the surface normal vec-
tor. The side angle is the angle between the path tangent and the projection of
the tool vector into the surface to be machined. Specification of the angle rela-
tive to the surface normal is merely an additional option for programming tool
orientation at the block end. It does not imply that the lead and side angles
reach their programmed values before the path end point is reached.
The final tool orientation is calculated from the path tangent, surface normal
vector, lead angle and side angle at the block end. This orientation is always
implemented by the end of the block, particularly in cases where the block is
shortened (at an inside corner). If the omitted path section is not a straight line
in a plane, the lead and side angles generally deviate from their programmed
values at the path end point. This is because the orientation has changed rela-
tive to the surface normal vector or path tangent vector when the absolute orien-
tation of the tool is the same as at the original path end point.
Tool longitudinal A special case must be examined with respect to face milling operations, i.e.
axis parallel to that the machining point on the tool surface moves around. This may be the
surface normal case on a torus cutter whenever surface normal vector nF and tool vector w
become collinear (i.e. the tool is at exact right angles to the surface) since it is
not a single point on the tool that corresponds to this direction, but the entire
circular surface on the tool end face. The contact point is not, therefore, defined
with this type of orientation. A path point in which tool longitudinal axis and sur-
face normal are parallel is therefore referred to below as a singular point or a
singularity.
The above case is also meaningful in practical terms, e.g. in cases where a
convex surface, which may have a vertical surface normal (e.g. hemisphere),
must be machined with a perpendicular tool (e.g. face milling with constant ori-
entation). The machining point on the contour remains fixed, but the machine
must be moved to bring the machining point from one side of the tool to the
other.
The problem described is only a borderline case (lead angle and side
angle = 0). If the lead angle = 0 and the side angle has a low value, then
the tool must be moved very rapidly (in borderline case in steps) to keep the
machining point resulting from the milling conditions close to the arc-line forming
the end face, see Fig. 2-13.
ÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉSingular point
ÉÉÉÉÉÉÉÉÉ
Fig. 2-13 Change in the machining point on the tool surface close to a point in which
surface normal vector and tool orientation are parallel.
The problem is basically solved as follows: If the angle between the surface
normal vector nF and tool orientation “w is smaller than a limit value (machine
data) min, then the side angle on tools with a flat end face (e.g. torus cutter or
cylindrical mill) must be 0. This restriction does not apply to tool types with a
spherical end face (e.g. ball end mill, die sinker) since angular changes close to
the singular point do not lead to abrupt changes in the machining point on the
surface of such tools. If now becomes 0, i.e. the sign of lead angle changes,
the machining point moves from its current position to the opposite side of the
tool. This movement is executed in an inserted linear block.
The machining operation is aborted with an alarm if an attempt is made to ma-
chine within the illegal angular range for the side angle (i.e. min and
, 0).
The insertion of linear blocks makes it necessary to split the original blocks at
the singular points. The partial blocks created in this way are treated as if they
were original, which means, for example, that a concave path containing a sin-
gularity is treated like an inside corner, i.e. there is no contour violation. Each
new partial block must contain at least one tool contact point since this is al-
ways calculated on the basis of adjacent traversing blocks.
Singularities do not just occur at isolated points, but along whole curves. This is
the case, for example, if the curve to be interpolated is a plane curve (i.e. a
curve with a constant osculating plane) and the tool is constantly aligned in par-
allel to the binormal vector, i.e. perpendicular to the osculating plane. A simple
example is a circular arc in the x-y plane that is machined by a tool aligned in
parallel to the z axis. On paths of this type, the tool offset is reduced to a tool
length compensation, i.e. the tool is moved so that its tip FS is positioned on the
programmed path.
On transition between singular and non-singular curves, linear blocks must be
inserted in the same way as for isolated singular points so that the machining
point on the tool can move from the tool tip FS to the periphery (on outside cor-
ners and convex surfaces) or the paths must be shortened to avoid contour
violations (on inside corners and concave surfaces).
Two surfaces which do not merge tangentially form an edge. The paths defined
on the surfaces make a corner. This corner is a point on the edge.
The corner type (inside or outside corner) is determined by the surface normal
of the surfaces involved and by the paths defined on them.
The surface normals of the two surfaces forming the edge may point in opposite
directions of the overall surface (the front edge of one surface is continued on
the rear edge of the second surface), see also Fig. 2-14. Such transitions are
not permissible and are rejected with an alarm.
The scalar product of the surface normal vector and (possibly variable) tool ori-
entation on one corner/path must be positive at each point, i.e. it is not permissi-
ble to machine from the rear face of the surface. Failure to observe this rule
results in an alarm. The permissible ranges of validity of tool orientation for in-
side and outside corners are illustrated in Fig. 2-14. These ranges are further
restricted by the condition that the angle between the surfaces to be machined
and the “steepest” surface line of the tool surface must not be lower than a par-
ticular machine data setting. The “steepest” surface line is a line at angle a to
the tool longitudinal axis (this line is in the same direction as the tool longitudinal
axis on cylindrical tools). This restriction must be imposed to ensure that the
contact point on the tool does not leave the permissible range.
n1 n n1 n2
n1 2
n2
Outside corners are treated as if they were circles with a 0 radius. The tool ra-
dius compensation acts on these circles in the same way as on any other pro-
grammed path.
The circle plane extends from the final tangent of the first block to the start tan-
gent of the second block.
The orientation can be changed during block transition.
A circle block is always inserted at an outside corner.
A change in orientation between two programmed blocks is executed either
before the circle block or in parallel to it.
ORIC If ORIC is active and there are two or more blocks with changes in orientation
(e.g. A2= B2= C2=) programmed between the traversing blocks, then the in-
serted circle block is distributed among these intermediate blocks according to
the absolute changes in angle.
Change in The method by which the orientation is changed at an outside corner is deter-
orientation mined by the program command that is active in the first traversing block of an
outside corner.
If the tool orientation at an outside corner is not constant, then the change in
orientation is implemented in exactly the same way as described in Subsec-
tion 2.1.2 for peripheral milling operations.
Contact points,
tool surface
Tool
Cut edges of
both surfaces Path on surface 2
Path on surface 1
Fig. 2-15 Inside corner with face milling (view in direction of longitudinal axis of tool)
Note
The amount by which the contact points deviate from the programmed contour
will generally be small since the explanatory example shown in Fig. 2-15 in
which the machining point “changes” the cutter side at an inside corner (the
value of the angular difference about the tool longitudinal axis between the
two contact points on the tool surface is approximately °) is more likely to be
the exception (see also Fig. 2-16 on the right). The angle will normally stay
almost constant so that the distance between the contact points on the tool
surface will be relatively small (see also Fig. 2-16 on the left).
ÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇ
Fig. 2-16 Machining at inside corners
The difference between the programmed point on the path and the point actu-
ally to be approached (path offset p) is eliminated linearly over the entire block
length. Differences resulting from inside corners at the block start and block end
are overlaid. The current difference in a path point is always perpendicular to
the path and in the surface defined by the surface normal vector.
If the tool orientation at an inside corner is not constant, the change in orienta-
tion is implemented in the same way as described in Subsection 2.1.3 for 3D
peripheral milling, i.e. the tool is moved in the corner so that it contacts the two
adjacent surfaces at the block start, block end and at two points 1/3 and 2/3 of
the change in orientation. A 3rd-degree polynomial is used to interpolate be-
tween these 4 points.
A variable tool orientation in a block that is shortened owing to an inside corner
is also treated in the same way as described in Subsection 2.1.3 for 3D milling,
i.e. the entire change in orientation is executed in the shortened block. Conse-
quently, the functional relationship between path tangent, surface normal and
tool orientation also changes. This results in new, previously nonexistent singu-
larities or impermissible side angles (at points which are virtually singular) oc-
curring in the shortened block. If this type of situation is detected during proc-
essing of an inside corner, the machining operation is aborted with an alarm. No
block division takes place at the singular points since the compensatory mo-
tions this would involve frequently cause contour violations and the change in
machining side on the tool is not generally intended or even foreseen by the
user. The alarm is also output during examination of an inside corner if the sin-
gularity occurs in the second of the two blocks without the transition to the next
block being considered. The system does not therefore detect that a block of
this type will form an inside corner in conjunction with the following block and
that the singularity would be eliminated again by the second block reduction.
The surface normal vector nF is not affected by the reduction of a block. This
means that in contrast to the tool orientation, the change in orientation that may
need to be executed for this vector will not be imaged onto the reduced travers-
ing interval. This is necessary because a surface other than that programmed
would be machined. Unlike the tool orientation, no problems arise as the result
of an abrupt change in the surface normal vector at a block transition since it
does not reflect any axis motions.
The path curvature is not monitored, i.e. the system does not usually detect any
attempt to machine a concave surface that is curved to such a degree that the
tool currently in use is not capable of performing the machining operation. A
possible exception are blocks that are split owing to a singularity. The transition
between the two partial blocks created after the split is then treated like an in-
side corner. Except for such special cases, the user is responsible for ensuring
that only tools that can machine along the entire contour without violating it are
used.
CUT3DC 3D radius compensation for peripheral milling (only when 5-axis transformation
is active).
CUT3DFS 3D tool offset for face milling with constant orientation. The tool orientation is
defined by G17-G19 and is not affected by frames.
CUT3DFF 3D tool offset for face milling with constant orientation. The tool orientation is the
direction defined by G17-G19 and, in some case, rotated by a frame.
CUT3DF This programming command selects the 3D tool offset for face milling with
change in orientation (only when 5-axis transformation is active).
TRC selection The program commands used to select 3D TRC are the same as those for 2D
TRC. G41/G42 specify the compensation on the left or right in the direction of
motion (the response on selection of G41 and G42 for 3D face milling is identi-
cal). Tool radius compensation is deactivated with G40. The approach behavior
is always NORM. Activation must take place in a linear block.
Example:
N10 A0 B0 X0 Y0 Z0 F5000
N20 T1 D1 ;Radius=5
N30 TRAORI(1) ;Selection of transformation
N40 CUT3DC ;Selection of 3D TRC (peripheral milling)
N50 G42 X10 Y10 ;Selection of TRC
N60 X60
N70 ....
Intermediate Intermediate blocks are permitted when 3D TRC is active. The specifications for
blocks 2D TRC apply equally to 3D TRC.
Deselection The 3D tool radius compensation function is deselected in a linear block G0/G1
with geometry axes by means of
G40
Example:
N10 A0 B0 X0 Y0 Z0 F5000
N20 T1 D1 ;Radius=5
N30 TRAORI(1) ;Selection of transformation
N40 CUT3DC ;Selection of 3D TRC
N50 G42 X10 Y10 ;Selection of TRC
N60 X60
N70 G40 X100 Y0 Z20 ;Deselection of 3D TRC
N80 ...
Note
If D0 is programmed when tool radius compensation is active, there is no
deselection.
If no geometry axis for the current plane is programmed in the block with the
deselection, no deselection takes place.
Notes
Supplementary Conditions 3
Availability of the The function is an option and is available for
“3D tool radius
compensation”
S SINUMERIK 840D with NCU 572/573,
function SW 3.1 (peripheral milling) and
SW 3.2 (face milling) and higher
J
21080 CUTCOM_PARALLEL_ORI_LIMIT
MD number Limit angle between path tangent and tool orientation for 3D tool radius compensation
Default setting: 3 Minimum input limit: 1.0 Maximum input limit: 89
Changes effective after RESET Protection level: 2/7 Unit: Degrees
Data type: DOUBLE Applies as of SW: 3.1
Meaning: With 3D tool radius compensation, the angle between the path tangent and the tool orienta-
tion may not drop below a certain limit angle. This machine data specifies this angle (in
degrees).
Generally speaking, the lower the value entered in this machine data, the greater the com-
puting capacity required to check that the above conditions have been met.
Linear blocks with constant orientation are an exception.
21082 CUTCOM_PLANE_ORI_LIMIT
MD number Minimum angle between surface normal and tool orientation with side angle not equal to 0.
Default setting: 3 Minimum input limit: 1.0 Maximum input limit: 89.0
Changes effective after RESET Protection level: 2/7 Unit: Degrees
Data type: DOUBLE Applies as of SW: 3.2
Meaning: This machine data applies to 3D face milling operations and specifies the minimum angle
that must exist between the surface normal vector and the tool orientation on every point of
the path if the applied side angle is not equal to zero and the tool is not a ball mill. Other-
wise, if this value is undershot, machining is interrupted by an alarm.
Generally speaking, the lower the value entered in this machine data, the greater the com-
puting capacity required to check that the above condition has been met.
The machine data has no effect on linear blocks with constant orientation. The angle be-
tween the surface normal vector and tool orientation may be as small as desired in such
cases, even if the side angle is not equal to zero.
21084 CUTCOM_PLANE_PATH_LIMIT
MD number Minimum angle between surface normal vector and path tangent vector, for 3D face milling
Default setting: 3 Minimum input limit: 1.0 Maximum input limit: 89.0
Changes effective after RESET Protection level: 2/7 Unit: Degrees
Data type: DOUBLE Applies as of SW: 3.2
Meaning: This machine data applies to 3D face milling operations and specifies the minimum angle
that must exist between the surface normal vector and the path tangent vector on every
point of the path. Otherwise, if this value is undershot, machining is interrupted by an alarm.
Generally speaking, the lower the value entered in this machine data, the greater the com-
puting capacity required to check that the above condition has been met.
Signal Descriptions 5
None
Example 6
Example program for 3D peripheral milling:
; Definition of tool D1
$TC_DP1[1,1]=120 ; Type (end mill)
$TC_DP3[1,1]= 20. ; Length compensation vector
$TC_DP6[1,1]= 8. ; Radius
N90 TRAORI(1)
N100 B4=–1 C4=1 ; Definition of plane
N110 G41 ORID CUT3DF G64 X10 Y0 Z0 ; Activate tool compensation
N120 X30
N130 Y20 A4=1 C4=1 ; Outside corner, redefine plane
N140 B3=1 C3=5 ; Change in orientation with ORID
N150 B3=1 C3=1 ; Change in orientation with ORID
N160 X–10 A5=1 C5=2 ORIC
N170 A3=–2 C3=1 ; Change in orientation with ORIC
N180 A3=–1 C3=1 ; Change in orientation with ORIC
N190 Y–10 A4=–1 C4=3 ; Redefinition of plane
N200 X–20 Y–20 Z10 ; Inside corner with previous block
N210 X–30 Y10 A4=1 C4=1 ; Inside corner, redefinition of plane
N220 A3=1 B3=0.5 C3=1.7 ; Change in orientation with ORIC
N230 X–20 Y30 A4=1 B4=–2 C4=3 ORID
N240 A3 = 0.5 B3=–0.5 C3=1 ; Change in orientation
N250 X0 Y30 C4=1 ; Path motion, new level, orientation
; with relative programming
N260 BSPLINE X20 Z15 ; Start of spline, relative programming
N270 X30 Y25 Z18 ; of orientation remains active
N280 X40 Y20 Z13 ; during spline.
N290 X45 Y0 PW=2 Z8
N300 Y–20
N310 G2 ORIMKS A30 B45 i–20 X25 Y–40 Z0 ; Helix, orientation with axis progr.
N320 G1 X0 A3=–0.123 B3=0.456 C3 =2.789 B4=–1 C4=5 B5=–1 C5=2 ; Path motion,
; orientation, plane not constant
N330 X–20 G40 ; Deactivation of tool compensation
N340 M30
J
7.2 Alarms
Detailed explanations of the alarms, which may occur, appear in
References: /DA/, Diagnostics Guide
or in the Online help.
J
Index
Numbers A
10670, 3/F2/4-93 Acceleration, 3/TE4/2-19
10672, 3/F2/4-93 Acceleration time constant, 3/G3/2-7
3-axis and 4-axis transformation, 3/F2/1-7 Acceleration warning threshold, 3/M3/5-102
3-axis and 4-axis transformation| Axis assign- Access authorization, 3/V2/2-8
ments, 12104,12105, 3/F2/2-29 Activating the rotation, 3/F2/2-81
3-axis and 4-axis transformation| Detailed De- Activation, 3/F2/2-42, 3/K6/2-7
scription, 12104,12105, 3/F2/2-29 Activation/Deactivation, 3/V2/2-7
3-axis and 4-axis transformations, 3/F2/2-29 Active feedforward control, 3/K6/2-9
3-axis and 4-axis transformations| Zero position, Active following axis overlay, 3/M3/5-101
12104,12105, 3/F2/2-29 Analog axis: Alarms, 3/TE2/7-23, 3/TE3/7-58
3-axis CC kinematics, 3/TE4/2-22 Analog axis: Brief description, 3/TE2/1-3,
3-axis CS kinematic, 3/TE4/2-24 3/TE3/1-3
3-axis kinematics, 3/TE4/2-21 Analog axis: Detailed description, 3/TE2/2-5,
Articulated-arm kinematics, 3/TE4/2-25 3/TE3/2-5
SCARA kinematic, 3/TE4/2-22 Analog axis: Hardware setup, 3/TE2/2-7,
3-axis NR kinematics, 3/TE4/2-25, 3/TE4/2-26, 3/TE4/2-6
3/TE4/2-27 Analog axis: Machine data, 3/TE2/7-24,
3-axis SC kinematics, 3/TE4/2-23 3/TE3/7-57
3-axis to 5-axis transformation, Call and applica- Analog axis: Supplementary conditions,
tion, 3/F2/2-41 3/TE2/3-13, 3/TE3/3-33
4-axis CC kinematics, 3/TE4/2-29 Analysis output, 3/K6/2-8
4-axis CS kinematic, 3/TE4/2-31 Axial sources, 3/M3/2-75
4-axis kinematics, 3/TE4/2-28 Axis accelerated, 3/M3/5-101
Articulated-arm kinematics, 3/TE4/2-32 Axis direction, Change, 3/TE4/2-18
SCARA kinematics, 3/TE4/2-29 Axis identifier, 3/V2/2-13
4-axis NR kinematics, 3/TE4/2-32 Axis sequence, Change, 3/TE4/2-17
4-axis SC kinematics, 3/TE4/2-30 Axis types, 3/TE4/2-19
5-axis CC kinematics, 3/TE4/2-36 Axis zero points, Adaptation, 3/TE4/2-19
5-axis kinematics, 3/TE4/2-34
SCARA kinematics, 3/TE4/2-36
5-axis NR kinematics, 3/TE4/2-37
B
5-axis transformation
Channel-spec. signals, 3/F2/5-117 Basic axis configuration, 3/TE4/2-12
Configuration of a machine, 3/F2/2-18 Basic orientation, 3/F2/2-56
Data descriptions (MD, SD), 3/F2/4-91 Behavior at inside corners, 3/W5/2-25
Geometry of the machine, 3/F2/2-19 Behavior at outside corners, 3/W5/2-24
Interface signals, 3/F2/7-135 Behavior at pole, 3/F2/2-27
Machine data, 3/F2/7-136 Beveled hand with elbow, 3/TE4/2-14
Machine types, 3/F2/2-16 Block cycle time, 3/G3/2-7
Singular positions, 3/F2/2-27
Tool orientation, 3/F2/2-23
6-axis kinematics, 3/TE4/2-38
Notes
Description of Functions
From
Order No.: 6FC5 397-2BP10-0BA0
Edition: 08.05
Name
Company/Department Should you come across any printing errors
when reading this publication, please notify us
Street on this sheet.
Suggestions for improvement are also welcome.
Zip: Town:
Phone: /
Fax: /
Suggestions and/or corrections
Overview of SINUMERIK 840D sl Documentation (08/2005)
General Documentation
User Documentation
Operator’s Guide Operator’s Guide Programming Guide Programming Guide Diagnostics Guide *)
– HMI Embedded *) – HMI Advanced *) – Fundamentals *) – Cycles
– ShopMill – Programming compact – Advanced *) – Measuring Cycles
– ShopTurn – Programming
– Lists System Variables
– ISO Turning/Milling
Manufacturer/Service Documentation
Manufacturer/Service Documentation
Electronic Documentation
SINUMERIK
SINAMICS
Motors
DOCONCD *)
DOCONWEB
Safety
SINUMERIK SINUMERIK Integrated SINUMERIK SINUMERIK SINUMERIK SINUMERIK
840D/810D 840D/840Di/ Application 840D/810D/ 840D/840Di/ 840D/840Di/ 840D/840Di/
810D/ Manual FM-NC 810D 810D 810D
Programming Guide Operator ’s Guide System Overview Configuring Operator Description of Func-
– Short Guide – ManualTurn (HW) *) Components tions
– Fundamentals *) – Short Guide ManualTurn – 810D (HW) *) – ManualTurn
– Advanced *) – ShopMill – 840D – ShopMill
– Cycles – Short Guide ShopMill – ShopTurn
– Measuring Cycles – ShopTurn
– ISO Turning/Milling – Short Guide ShopTurn
– Lists System Variables
Manufacturer/Service Documentation
SINUMERIK
SIMODRIVE SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK
611D 840D/840Di/ 840D/840Di/ 840D/810D 840D/810D 840D/810D 840D/810D
840D/810D 810D 810D
Manufacturer/Service Documentation
MOTION
SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK CONTROL
SIMODRIVE SINUMERIK SIMODRIVE SIMODRIVE SIMODRIVE SIMODRIVE SYSTEMS
840D 840D/840Di 840D 840D
810D 611D 611D
611D
Description of Description of Installation & Start-Up – Lists *) Description of Description of Functions EMC
Functions Functions Guide *) Functions – Hydraulics Module Guidelines
SINUMERIK Digitizing – 810D Linear Motor – Analog Module
Safety Integrated – 840D/611D
– HMI
Manufacturer/Service Documentation
Electronic Documentation