FB3 1102 en
FB3 1102 en
FB3 1102 en
Gantry Axes G1
Cycle Times G3
Tangential Control T3
Special Functions (Part 3)
Installation and Activation
of Loadable Compile
Cycles TE0
Description of Functions
Clearance Control TE1
Speed/Torque Coupling,
Master–Slave TE3
Transformation
Package Handling TE4
Cycle-Clock-Independent
Valid for Path-Synchronous Signal
Output TE8
Control Software Version
SINUMERIK 840D 6 Preprocessing V2
SINUMERIK 840DE (export version) 6
SINUMERIK 840D powerline 6 3D Tool Radius
SINUMERIK 840DE powerline 6
Compensation W5
SINUMERIK 840Di 2
SINUMERIK 840DiE (export version) 2 Index
SINUMERIK 810D 3
SINUMERIK 810DE (export version) 3
SINUMERIK 810D powerline 6
SINUMERIK 810DE powerline 6
11.02 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” column.
A . . . . . New documentation.
B . . . . . Unrevised reprint with new order no.
C . . . . . Revised edition with new status.
If factual changes have been made on the page in relation to the same software
version, this is indicated by a new edition coding in the header on that page.
Trademarks
SIMATICr, SIMATIC HMIr, SIMATIC NETr, SIROTECr, SINUMERIKr and SIMODRIVEr are trademarks of
Siemens. Other product names used in this documentation may be trademarks which, if used by third par-
ties, could infringe the rights of their owners.
This publication was produced with Interleaf V7. We have checked that the contents of this document correspond to
the hardware and software described. Nonetheless, differences might
The reproduction, transmission or use of this document or its exist and therefore we cannot guarantee that they are completely
contents is not permitted without express written authority. Offenders identical. The information contained in this document is, however,
will be liable for damages. All rights, including those created by patent reviewed regularly and any necessary changes will be included in the
grant or registration of a utility model or design, are reserved. next edition. We welcome suggestions for improvement.
Siemens AG, 1995–2002. All rights reserved Subject to changes without prior notice.
Preface
S General documentation
S User documentation
S Manufacturer/service documentation
S OEM documentation.
This documentation is intended for machine tool manufacturers. It gives a
detailed description of the functions available in the SINUMERIK controls.
The descriptions of functions are only valid for the software versions specified.
For new software versions, the relevant descriptions are available on request.
Earlier descriptions of functions are only partly applicable for new software
versions.
For more detailed information on SINUMERIK 840D/840Di/810D and other pub-
lications covering all SINUMERIK controls (e.g. universal interface, measuring
cycles ...), please contact your local Siemens office.
Note
Other functions not described in this documentation might be executable in the
control. This does not, however, represent an obligation to supply such
functions with a new control or when servicing.
Hotline If you have any questions about the control, please contact the hotline:
Please send any questions about the documentation (suggestions for improve-
ment, corrections) to the following fax number or email address:
Fax: ++49-9131-98-2176
Email: [email protected]
Objective The Descriptions of Functions provide the information required to configure and
start-up the control.
Note
The Basic Machine (Part 1) Description of Functions contains a glossary as
well as lists of abbreviations, terms used and references.
If you require more information about a particular function, you can find the
function and its sorting code on the inside front page of the manual.
If you require information on a certain term, please refer to the index in the
appendix. The index lists the code of the Description of Functions, the section
number and the page on which information relevant to the term you are seeking
can be found.
Important
! This documentation is valid for:
D SINUMERIK 840D control,
SW 6
D SINUMERIK 810D control,
SW 6
D SINUMERIK 840Di control
SW 2
Specification of The software versions specified in this documentation refer to the SINUMERIK
software version 840D control system. The equivalent software version for the SINUMERIK 810D
(if the function is enabled, refer to /BU/, Catalog NC 60) is not explicitly
specified. In this case, the following applies:
Explanation of
symbols
Important
! This symbol always appears in the documentation when important information
is being conveyed.
Machine manufacturer
This symbol appears in this documentation whenever the machine manufac-
turer can influence or modify the described functional behavior. Please observe
the information provided by the machine manufacturer.
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 da-
mage.
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.
Technical information
Notations The following notations and abbreviations are used in this documentation:
Values in the table The machine data used in the Description of Functions are always values for an
NCU 572.
The values for another NCU (for example, NCU 570, NCU 571, NCU 573) are in
the list manual.
References: /LIS/ “Lists”
Default value The machine/setting data is automatically preset to this value during start-up. If
the default values depending on the channels are different, these are specified
by “ / ”.
Range of values Specifies the input limits. If no value range is defined, the input limits are defined
(minimum and by the data type and the field is characterized by “∗∗∗”.
maximum values)
Effectiveness of Changes to machine data, setting data, or similar parameters do not necessarily
changes take immediate effect in the control. For this reason, the conditions for activating
a new setting are always specified. The following list shows the applied
conditions in prioritized order:
Unit The unit refers to the default settings of the machine data SCALING_FAC-
TOR_USER_DEF_MASK and
SCALING_FACTOR_USER_DEF.
If the MD is not governed by any particular physical unit, then the symbol “–” is
entered in the unit field.
Data type The following data types are used in the control system:
S DOUBLE
Real or integer values (decimal values or integers)
Input limits from +/–4.19*10–307 to +/–1.67*10308
S DWORD
Integer values
Input limits from –2,147*109 to +2,147*109
S BOOLEAN
Possible input values: true or false and/or 0 or 1
S BYTE
Integer values from –128 to +127
S STRING
consisting of max. 16 ASCII characters (capital letters, digits and
underscore).
Data management The explanations of the PLC interface in the individual Function Descriptions
are based on a theoretical maximum number of components:
SINUMERIK 840D/840Di/810D
Description of Functions Special Functions
(Part 3)
3-Axis to 5-Axis Transformation (F2)
1 Brief Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/1-5
1.1 5-axis transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/1-5
1.2 3-axis and 4-axis transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/1-7
1.3 Orientation transformation with swiveling linear axis . . . . . . . . . . . . 3/F2/1-9
1.4 Universal milling head . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/1-11
1.5 Orientation axes (SW 5.3 and higher) . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/1-11
1.6 Cartesian manual travel (SW 6.3 and higher) . . . . . . . . . . . . . . . . . . 3/F2/1-12
1.7 Cartesian PTP travel (SW 5.3 and higher) . . . . . . . . . . . . . . . . . . . . 3/F2/1-12
1.8 Generic 5-axis transformation (SW 5.2 and higher) . . . . . . . . . . . . 3/F2/1-12
1.9 On-line tool length offset (SW 6.4 and higher) . . . . . . . . . . . . . . . . . 3/F2/1-12
1.10 Activation via parts program/softkey (SW 5.2 and higher) . . . . . . . 3/F2/1-13
1.11 Compression of orientation (SW 6.3 and higher) . . . . . . . . . . . . . . . 3/F2/1-13
2 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/2-15
2.1 5-axis transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/2-15
2.1.1 Kinematic transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/2-15
2.1.2 Machine types for 5-axis transformation . . . . . . . . . . . . . . . . . . . . . . 3/F2/2-16
2.1.3 Configuration of a machine for 5-axis transformation . . . . . . . . . . . 3/F2/2-18
2.1.4 Tool orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/2-23
2.1.5 Singular positions and handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/2-27
2.2 3-axis and 4-axis transformations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/2-29
2.3 Transformation with swiveled linear axis . . . . . . . . . . . . . . . . . . . . . . 3/F2/2-31
2.4 Universal milling head . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/2-37
2.4.1 Fundamentals of universal milling head . . . . . . . . . . . . . . . . . . . . . . 3/F2/2-37
2.4.2 Parameterization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/2-39
2.4.3 Traversal of universal milling head in JOG mode . . . . . . . . . . . . . . . 3/F2/2-40
2.5 Call and application of the 3-axis to 5-axis transformation . . . . . . . 3/F2/2-41
2.6 Generic 5-axis transformation (SW 5.2 and higher) . . . . . . . . . . . . 3/F2/2-42
2.6.1 Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/2-42
2.6.2 Description of machine kinematics . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/2-42
2.6.3 Generic orientation transformation variants (SW 6.1 and higher) . 3/F2/2-43
2.6.4 Online tool length offset (SW 6.4 and higher) . . . . . . . . . . . . . . . . . . 3/F2/2-45
2.6.5 Orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/2-48
2.6.6 Orientation movements with axis limits (SW 6.1 and higher) . . . . . 3/F2/2-50
2.6.7 Singularities of orientation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/2-51
2.7 Compression of orientation (SW 6.3 and higher) . . . . . . . . . . . . . . . 3/F2/2-53
6.7 Compressor example for orientation (SW 6.3 and higher) . . . . . . . 3/F2/6-128
7 Data Fields, Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/7-129
7.1 Interface signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/7-129
7.2 Setting data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/7-129
7.3 Machine data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/7-130
7.4 Alarms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3/F2/7-134
J
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 motion 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. Parts 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.
S Orientation of workpiece and tool with single-axis rotary table and swivel
head
(machine type 3)
The calculation also includes a tool length compensation.
Since the orientation in relation to the workpiece surface is stored in a separate
FRAME, a tool retraction operation with vertical orientation to the workpiece is
also possible.
S Euler angles
S RPY angles
S 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 termed
“TCP programming”.
System variables for Parts programs and synchronized actions have read access to system
orientation variables that provide the following information:
Definition In contrast to the transformations described in Section 1.1, the 3-axis and 4-axis
transformations have the following characteristics:
S 3-axis transformation
– Two translatory axes
– One rotary axis
S 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 the 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
S 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 transformations, 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 working 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 inasmuch 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.
S Positions for the axes must be specified directly and cannot be programmed
via assignments.
S 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 as You can program the tool orientation independent of the kinematics by using
of SW 6.3 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 2.7.
Notes
Detailed Description 2
2.1 5-axis transformation
Applications The “5-axis transformation” machining package is provided for machine tools
which have not only three linear axes X, Y and Z, but also 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. Basic tool position:
– In negative Z direction.
Note
Transformations not fulfilling all the conditions specified here are described in
separate sections:
3-axis and 4-axis transformations under 2.2
Swiveling linear axis under 2.3
Universal milling head under 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:
S Machine type
S Axis assignment
S Geometry information
S 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_8
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
AB 16 32 48
AC x 33 49
BA 18 34 50
BC x 35 51
CA 20 x x
CB 21 x x
S 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. This assignment is
defined in MD: $MC_TRAFO_AXES_IN_1 ... $MC_TRAFO_AXES_IN_8.
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
S 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 the first to the second joint (machine type 1 and 2).
Vector from machine zero to joint of table (machine type 3).
MD: $MC_TRAFO5_ROT_AX_OFFSET_1
Angle offset of first or second rotary axis
jo A
A
C
to
t to
mo x t
mo
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
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 Eight transformation types per channel can be configured in machine data
types TRAFO_TYPE_1 to 8. Of these eight types, only two may be 5-axis
transformations.
ÉÉÉÉ
A Tool axis
ÉÉÉÉ
B
ÉÉÉÉ
Peripheral milling
Z
Y
X
S Indirectly for 5-axis transformation via direction vector A3, B3, C3.
The designators of Euler angles or directional vectors can be set in machine
data:
Euler angle via MD 10620: EULER_ANGLE_NAME_TAB
Direction vector via MD 10640: DIR_VECTOR_NAME_TAB
The tool orientation can be located in any block. Above all, it can be
programmed alone in a block, resulting in a change of orientation in relation to
the tool tip which is fixed in its relationship to the workpiece.
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 and is
command thus not dependent on the machine kinematics.
In the case of a change in orientation of a 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 and is
command thus dependent on the machining kinematics.
In the case of a change in orientation of a tool tip at a fixed point in space, linear
interpolation takes place between the rotary axis positions.
The orientation is selected via NC language commands ORIWKS and ORIMKS.
Orientation 4 Z
3
ÉÉ
90o
ÉÉ ÉÉ
Orientation 1 2
ÉÉ
4
ÉÉ
ÉÉ 5
F2
F1
ÉÉ
ÉÉ
A
1
X
B
Y
1
Machine the surface F1 along the edge of F2
2 Move clear
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
Improper tool If the tool orientation is programmed in conjunction with the following functions
orientation
S G04 Dwell time
S REPOSL Repositioning
S REPOSQ Repositioning
S REPOSH Repositioning.
Then alarm 12130 “Illegal tool orientation” is output when Euler angles and
directional 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 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 changeover (power ON, power Off or change of
transformation) is executed when tool radius compensation is active, alarm
14400 is output.
In the reverse situation, i.e. a tool radius compensation is selected or
deselected when a transformation is active, no alarm message is output.
Multiple According to DIN 66025, only one tool orientation may be programmed in a
input of tool block, e.g. with directional vectors:
orientation N50 A3=1 B3=1 C3=1
If the tool orientation is input several times, e.g. with directional vectors and
Euler angles:
N60 A3=1 B3=1 C3=1 A2=0 B2=1 C2=3
then error message 12240 “Channel X Block Y tool orientation xx defined more
than once” is output and the NC parts program stops.
Tool orientation As of SW 5.3 polynomials can also be programmed for the modification of the
using orientation 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.9.1.
Note
Further explanations of tool orientation using orientation vectors and their han-
dling at machine tools are given in:
References: /FB/, W1 “Tool offset, orientable toolholder”
Extremely If the path runs in close vicinity to a pole (singularity), one or several axes may
high velocity traverse at a very high velocity.
In this case, alarm 10910 “Excessive velocity of 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.6.7
or Programming Guide “Advanced” [PGA], Subsection 7.1.3).
$MC_TRAFO5_NON_ This MD designates a limit angle for the fifth axis of the first (MD:
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 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 such that the interpolation passes through the pole.
$MC_TRAFO5_POLE This MD designates a limit angle for the fifth axis of the first
_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
4. axis: RA 1
MD:
$MC_TRAFO5_NON_POLE_LIMIT_1
5. 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 orientation changes 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 decimal coded.
The unit digits define the behavior if the start orientation precisely matches the
pole orientation and the
ten digits the behavior if the start orientation of the block is outside the
tolerance circle defined in MD TRAFO5_NON_POLE_LIMIT_1/2.
All setting values are described in the section entitled “Channel-specific
machine data”.
Introduction The 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
assignment
procedure
S Enter the type of transformation according to Table 2-2 as machine data
$MC_TRAFO_TYPE_n.
S 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 swiveled linear axis forms a transformation
variants group of its own. It is defined in the machine data $MC_TRAFO_TYPE_n (n =
1, 2, 3, 4) by the following values:
Transform. 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.
Table zero *
po
Rotary axis of table
Z
jo
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 be-
tween 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 table
po
Z
ro = roz
jo
Y
Swivel axis of
View along Z axis linear axis
Rotary axis
to of 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.
Type of machine 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<NBS>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 With regard to tool orientation, the same applies as described in Subsection
orientation 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 the general 5-axis transforma-
tion 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 sequence of the rotary axes and the orientation direction of the tool at
kinematics zero position are set for the different types of kinematics by means of machine
data $MC_TRAFO_TYPE_1 ... $MC_TRAFO_TYPE_8.
Naming scheme As is the case for the other 5-axis transformations, the following applies:
for axes The rotary axis ...
A is parallel to X A’ is below the angle ϕ to the X axis
B is parallel to Y B’ is below the angle ϕ to the Y axis
C is parallel to Z C’ is below the angle ϕ to the Z axis
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 software
version 3.1, the others in software version 3.2 and higher.
Table 2-4 Implemented combinations; the table below gives the values for $MC_TRAFO_TYPE_n for the configur-
able 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
such 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
Switching on The 3-axis to 5-axis transformations (including the transformations for swiveled
linear axis and universal milling head) are switched on with the command
TRAORI(n), with n representing the number of the transformation (n=1 or 2).
Once execution of the command TRAORI(n) is completed and the
transformation thus activated, the IS “Transformation active” (DB21–30,
DBX33.6) switches to “1”.
If the machine data for a called transformation group have not been defined, the
NC program stops and the control outputs the alarm 14100 “Orientation
transformation not available”.
Switching off The currently active 3-axis to 5-axis transformation is switched off with
TRAFOOF or TRAFOOF(). The IS “Transformation active” (DB21–30, DBX33.6)
switches to “0”.
Switching over You can switch from one active transformation to another transformation
configured in the same channel. To do this you must again input the command
TRAORI(n) with a new value for n.
RESET/ The behavior of the control with regard to 3-axis/5-axis transformations after
end of program power up, end of program or RESET depends on the
MD 20110 RESET_MODE_MASK
Bit 7: Reset behavior of “Active kinematic transformation”
Bit 7=0: Initial setting for active transformation after end of parts program
or RESET according to 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 parts program.
Option The “5-axis transformation” 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 command
TRAORI, 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 the 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 scope of functions provided by the generic 5-axis transformation package
covers the 5-axis transformation implemented in SW 5.1 and lower (see Section
2.1) for perpendicular rotary axes and 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 A 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).
The transformation can be deselected implicitly by selecting another
transformation or explicitly with TRAFOOF.
Machine types As with 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 tool
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 the generic 5-axis transformation:
Machine type 1 2 3
Swivel/rotatable Tool Workpiece Tool/workpiece
24 40 56
Rotary axis The direction of the rotary axes is defined by machine data
direction $MC_TRAFO5_AXIS1_n (1st rotary axis) and $MC_TRAFO5_AXIS2_n (2nd
rotary axis). In this case, n is 1 or 2 for the first or 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 orientatable toolholder. The absolute value of the vectors is insignificant; only
the defined direction is relevant.
Example:
1. Rotary axis is the 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 the 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 The generic 3-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
the 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
Please refer to the following documentation for further information on program-
mable tool orientation and basic tool orientation:
Differences Please note the following differences as distinct from the existing 3-and 4-axis
transformations described in Section 2.2:
Functionality The effective tool lengths can be changed in real time so that these changes in
length are also considered for orientation changes in the tool. System variable
$AA_TOFF[ ] applies the tool length offsets 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 offset.
The geometry identifiers are used as index. The number of active offset
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 offset function can be used for:
Note
The online tool length compensation is optional and must be enabled before-
hand. 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 axis velocities are quickly
considered correctly.
The dimension for the difference between the currently active offset in the
interpolator and the offset that was active at the time of block preparation can be
polled in the system variable $AA_TOFF_PREP_DIFF[ ].
Note
The change of the effective tool length through the online tool length offset pro-
duces changes in the compensatory movements of the transformation of the
axes involved. 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
TOFF_MODE contents of the synhronization 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 the
online tool length offset:
Machine data / setting data Meaning for online tool length offset
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 offset
MD 21194: TOFF_ACCEL Acceleration of online tool length offset
SD 42970: TOFF_LIMIT Upper limit of tool length offset value
When planning the velocity, 20% is reserved for the online tool length offset,
which can be changed via machine data MD 20610:
ADD_MOVE_ACCEL_RESERVE.
Activation The TOFFON statement can be used to activate the online tool length
compensation from the parts 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 statement 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 more information and programming examples, please refer to:
References: /PGA/, Chapter 7 “Transformations”
As long as the online tool length offset is active, the VDI signal of the interface
NCK →PLC IS “TOFF active” (DB21, ... DBX318.2) is set to 1.
During an offset motion, the VDI →signal IS “TOFF motion active” (DB21, ...
DBX318.3) is set to 1.
Resetting The offset values can be reset with the command TOFFOF( ). This statement
triggers a stop preprocessing.
The tool length offsets 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 offset.
After deselection of the “Online tool length offset” for a tool direction, the value
of system variable $AA_TOFF[ ] or $AA_TOFF_VAL[ ] is zero for this tool
direction.
The 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, impermissible change of tool direction active due
to $AA_TOFF active” is suppressed:
Mode change The tool length compensation remains active even if the mode is changed and
can be executed in any mode.
If a tool length offset is interpolated on account of $AA_TOFF[ ] during mode
change, the mode change cannot take place until the interpolation of the tool
length offset has been completed. Alarm 16907 “Channel %1 Action %2
<ALNX> possible only in Stop state” is issused.
Behavior with REF The tool length offset is not considered during reference point approach REF in
and block search JOG mode.
The statements 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:
Boundary The online tool length offset function is an option and is available during
conditions “generic 5-axis transformation” per 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 offset dimension,
deviations compared to the actual offset surface are produced. It s not possible
to produce exact offset surfaces with one tool length offset alone.
2.6.5 Orientation
Differences In the 5-axis transformations implemented to date, the basic orientation of the
compared to tool was defined by the type of transformation.
SW 5.1 By means of the generic 5-axis transformation it is possible to enable any basic
tool orientation, i.e. the space orientation of the tool is arbitrary with axes in
basic positions.
If an orientation is programmed by means of Eulerian 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 in such a way that a tool positioned in basic
orientation is traversed into the programmed orientation.
If the rotary axes are programmed directly, the basic orientation has no effect.
Definition A basic orientation can be defined by one of the following three methods:
1. Via the transformation call
2. Via the orientation of the active tool
3. Via a machine data.
Note
The orientation data is absolute; it will not be modified by any active frame.
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 perpen-
dicular if all possible orientations are to be used. If this condition is not fulfilled,
so-called dead" ranges 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.6.6 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:
Change-over to If the axis positions have to be changed from the originally determined value,
axis 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.
Description of As described in Subsection 2.1.5 for SW 5.2 and lower, singularities (poles) are
problem constellations in which the tool is orientated in parallel to the first rotary axis. If
the orientation is changed when the tool is in or close to a singularity (as is the
case with large-circle interpolation ORIWKS), the rotary axis positions must
change by large amounts to achieve small changes in orientation. In extreme
cases, a jump in the rotary axis position would be needed.
This type of situation is handled in the following way:
Only one machine data is relevant
MD 24540: TRAFO5_POLE_LIMIT_1 or
MD 24640: TRAFO5_POLE_LIMIT_2,
describing a circle around the pole (as before).
For further information on how singularities are handled, please refer to:
References: /PGA/, “Programming Guide Advanced” Subsection 7.1.3
Programmed
end point
Path
Reached
end point
Constant
positions of
1st rotary axis
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, irre-
spective 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 lateral area of a cone.
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.
Introduction Up to SW 6.2, the use of the compressors was subject to restrictions with
reference to the orientation. Some of these restrictions have been overcome by
the options described below.
Extended function Compressors COMPON, COMPCURV and COMPCAD have been extended
such that NC programs containing orientations programmed by means of
direction vectors can also be compressed to a definable tolerance.
Requirements 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
– Feedrate
– Comment
N... G1 X... Y... Z... A... B... F... ; comment
Function SW 6.3 The position values do not have to be programmed directly, but can be specified
and higher 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).
Large circle inter- The orientation motion is only compressed if large circle interpolation is active,
polation i.e. change in tool orientation takes place in the plane defined by the start and
end orientation.
Large circle interpolation is performed under the following conditions:
1. 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. 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 the On 6-axis machines, the rotation of the tool can be programmed in addition to
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.
The general format of an NC block which can be compressed is:
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 orientation change 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 each axis. The maximum
deviation of the spline curve from the programmed end points of each axis is
defined by the value set in MD 33100: 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: maximum 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 for 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 is specified by
SD 42475: COMPRESS_CONTUR_TOL, tolerance for the
orientation is specified by axial tolerances
with MD 33100: COMPRESS_POS_TOL.
Value 2: the maximum angular displacement for the tool orientation
is specified by SD 42476: COMPRESS_ORI_TOL,
tolerance for the orientation is specified by axial tolerances
with MD 33100: COMPRESS_POS_TOL.
Value 3: contour tolerance is specified by SD 42475:
COMPRESS_CONTUR_TOL and the maximum
angular displacement for the tool orientation is specified
by SD 42476: COMPRESS_ORI_TOL.
It is only possible to specify a maximum angular displacement for the tool
orientation if an orientation transformation (TRAORI) is active.
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 commands
ORIMKS and ORIWKS:
– ORIMKS: Reference system = basic coordinate system
– ORIWKS: Reference system = workpiece coordinate system
Direction of the The direction of the tool vector in the basic machine setting is defined by
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:
S The orientation axis must be defined as such, that is, a value must be set in
MD $MC_TRAFO5_ORIAX_ASSIGN_TAB.
Axis traversal us- When using the traverse keys to move an axis continuously (momentary-trigger
ing traverse keys mode) or incrementally, it must be noted that only one orientation axis can be
moved at a time.
If more than one orientation axis is moved, alarm 20062 “Channel 1 axis 2
already active” is output.
Axis traversal us- More than one orientation axis can be moved simultaneously via the
ing 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:
S MD 21150: JOG_VELO_RAPID_ORI[n]
S MD 21155: JOG_VELO_ORI[n]
S MD 21160: JOG_VELO_RAPID_GEO[n]
S MD 21165: JOG_VELO_GEO[n]
Appropriate velocity values for the axes must be programmed in these data.
Acceleration MD 21170: The acceleration for the orientation axes can be set using
ACCEL_ORI[n].
2.8.2 Programming
Programming of Orientation axes are programmed by means of axis identifiers A2, B2 and C2.
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 14131 is activated.
Exception:
In the case of 6-axis kinematics with a 3rd degree of freedom for orientation, C2
may be programmed additionally for variant 3 and 4. C2 in this case describes
the rotation of the orientation vector about its axis.
Example Please refer to Section 6.4 “Example of orientation axes” for an example of
orientation axes for a kinematic with 6 or 5 transformed axes.
S FORI1 Feedrate for swiveling the orientation vector on the large arc
Fewer than Not all degrees of freedom are available for the orientation. The following
6 axes 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 such 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 cause 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
Tool orientation A much better method is to use orientation vectors in order to program the tool
based on orienta- orientation in space.
tion vectors The interpolation of orientation vectors can be programmed with polynomials up
to a maximum of 5th degree. Please consider the features of polynomial
interpolation of orientation vectors described in Subsection 2.9.1.
Note
Further information on polynomial interpolation for axis motion and general pro-
gramming is given in:
References: /PGA/, Programming Guide Advanced
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
S not active, the programmed axis end points are traversed in a line.
S 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
PHI(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 begins with 0.
Theoretical value range for PL: 0.0001 ... 99999.9999.
The PL value applies to the block which contains it.
If no PL is programmed, PL = 1 is active.
Rotation of the Orientation changes are possible with ORIVECT, independent of the type of end
orientation vector 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 The programming of polynomials for the two angles PO[PHI] and PO[PSI] is
angle 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.
S 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 independent of the programmed polynomial.
In this way, the velocity and acceleration curve of the orientation axes can be
influenced within a block, for example.
Further explanations of tool orientation using orientation vectors for machine
tools are given in Subsection 2.8.3.
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.
Programming The following options are available for programming the tool orientation:
of the orientation
1. Direct programming of the rotary axis positions
direction (the orientation vector is derived from the machine kinematics).
2. Programming in Euler angles via A2, B2, C2
(Angle C2 is irrelevant).
3. Programming in RPY angles via A2, B2, C2.
4. Programming of the direction vector via A3, B3, C3
(The length of the vector is irrelevant).
You can switch between Euler and RPY angle programming with machine data
MD 21100: ORIENTATION_IS_EULER or using G codes ORIEULER and
ORIRPY.
Programming The following options are available for interpolating a rotation of the orientation
of the orientation vector by programming the vector directly:
direction and While the direction of rotation is already defined when you program the
rotation orientation with RPY angles, additional parameters are needed in order to
specify the direction of rotation for the other orientations:
1. Direct programming of the rotary axis positions
An additional rotary axis must be defined for the direction of rotation.
2. Programming in Euler angles via A2, B2, C2
Angle C2 must also be programmed. The complete orientation is then
defined including the tool rotation.
3. Programming in RPY angles via A2, B2, C2
Additional parameters are not required.
4. Programming of the direction vector via A3, B3, C3
The angle of rotation is programmed with THETA=<value>.
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 pro-
grammed 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:
S 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.
The end value of the angle,
in addition to the constant and linear coefficient d n of the polynomial cannot be
programmed directly in this case.
The linear coefficient d n
is defined by the end angle q e and is specified 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 orienta-
tion.
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 which is 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 in the orientation
vector.
PL Length of the parameter interval where polynomials
are defined. The interval always begins with 0.
If no PL is programmed, PL = 1 is active.
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 a rotation of the tool orientation (e.g. 6-axis machines).
Functionality To execute a change in orientation along the peripheral surface of the cone
located in space, it is necessary to perform an extended interpolation of the
orientation vector. The vector around which the tool orientation is to be rotated
must be known. The start and end orientation must also be specified. The start
orientation is given by the previous block and the en orientation must either be
programmed or defined by other conditions.
End vector
PHI
PSI
Fig. 2-18 Change in orientation of a peripheral surface of the cone located in space
S The aperture angle of the cone 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 aperture angle specifies whether the traversing
angle is to be greater of less than 180 degrees.
In order to define the cone, the direction vector or its aperture 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 ori-
entation is specified, a full cone surface 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 aperture 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.
Rotation angle and The following may be programmed for the angle of the cone
aperture angle
PHI Angle of rotation of the orientation around the direction axis
PSI Aperture angle of the cone
as well as the polynomials of the 5th degree (max.). They are programmed as
follows:
PO[PHI] = (a2, a3, a4, a5) The constants and linear coefficients
PO[PSI] = (b2, b3, b4, b5) are determined by the start and
end orientation.
Further interpola- It is possible to interpolate the orientation on a cone that connects at a tangent
tion options to the previous change in orientation.
This orientation interpolation is achieved by programming the G code
ORICONTO.
ORICONTO orientation interpolation on a cone with tangential orientation
Interpolation on a peripheral surface of the cone with
tangential transition
A further option for orientation interpolation is to describe the change in
orientation through the path of a 2nd contact point on the tool.
ORICURVE orientation interpolation with a second curve
Interpolation of the orientation specifying a movement
between two contact points of the tool
The coordination of the movement of the 2nd contact point of the tool is
necessary here. This additional curve in space is programmed with
XH, YH, ZH Except for the relevant end values, you can also program
additional polynomials of the form
PO[XH] = (xe, x2, x3, x4, x5) (xe, ye, ze) of 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) The polynomial is maximum 5th degree
(maximum).
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 com-
pressor (COMPON, COMPCURV, COMPCAD) are not permissible here.
Boundary The extended interpolation of orientations requires that all necessary orientation
conditions transformations be considered, since these belong to the functional scope.
Example The various orientation changes 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 rotated 45 degrees in Y/Z
; plane, at the end of the block, the
; orientation (0,
1 , 1 ) is reached.
Ǹ2 Ǹ2
N70 ORICONCW : The orientation vector is interpolated
; on a cone with the direction
;
N80 A6=0 B6=0 C6=1 A3=1 B3=0 C3=1 ; (0, 0, 1) up to the orientation
;(
1 = 0: 1 ) in clockwise direction
Ǹ2 Ǹ2
; The rotation angle is 270 degrees.
; The tool orientation turns a full
N90 A6=0 B6=0 C6=1 ; rotation on the same cone
...
Functionality The Cartesian manual travel function allows you to set axes independently in
the Cartesian coordinate systems as reference system for the JOB mode
Note
The Cartesian manual travel function is implemented in SINUMERIK 810D
powerline with CCU3 as of SW 6.1. SINUMERK 840D requires the option
“Transformation package handling” SW6.3 or higher.
The workpice coordinate system has been shifted and rotated compared to the
basic coordinate system via frames.
References: /FB1/, Description of Functions, Basic Machine, K2 Axes,
Coordinate Systems, Frames, Reset Behavior
Selecting For JOG motion, you can specify one of three reference systems separately
reference systems both for the
Translation (coarse shift) of the geometry axes and for the
orientation for orientation axes using the
SD 42650: CART_JOG_MODE.
If more than one bit is set for the translation or for the orientation reference
system, or if an attempt is made to set a reference system that has not been
activated via MD 21106: CART_JOG_SYSTEM, Alarm 14148 “Reference
system not permissible for Cartesian manual travel” is issued.
Translation A translation movement can be used to move the tool tip (TCP) in parallel and
3-dimensional to the axes of the reference system. The traversing movement is
made via the VDI signals of the geometry axes.
Machine data MD 24120: TRAFO_GEOAX_ASSIGN_TAB_x[n] is used to
assign the geometry axes. Simultaneous traversing in more than one direction
permits the execution of movements that lie parallel to the directions of the
reference system.
Translation in the The Basic Coordinate System (BCS) describes the Cartesian zero of the
BCS machine.
Z End position
Z
Y
Z Z
Start position Y +X +Y X
Y
Y –Z
X X
X
X
BCS
Fig. 2-19 Cartesian manual travel in the Basic Coordinate System (Translation)
Translation in the The Workpiece Coordinate System (WCS) lies in the workpiece zero. The
WCS workpiece coordinate system can be shifted and rotated relative to the
reference system via frames. As long as the frame rotation is active, the
traversing movements correspond to the translation of the movements in the
basic coordinate system.
Z End position
Z
Y
Z Z
+X +Y X
Start position Y Y
Y –Z
X X
Y
Workpiece
X
WCS
X
Fig. 2-20 Cartesian manual travel in the Workpiece Coordinate System (Translation)
Translation in the The Tool Coordinate System (TCS) lies in the tool tip. Its direction depends on
TCS the current setting of the machine, since the tool coordinate system moves
during the motion.
End position
Z Y
X
Start position Y +Y
X Z
Z
Y
+X Z
Z Y X
Y Y Frame
X Workpiece
BCS X WCS
X
Fig. 2-21 Cartesian manual travel in the Tool Coordinate System (Translation)
Translation and If translation and orientation motions are executed at the same time, the
Orientation translation is always traversed corresponding to the current orientation of the
in the TCS tool. This permits infeed movements that are made directly in the tool direction
simultaneously or movements that run perpendicular to tool direction.
Orientation The tool can be aligned to the component surface via an orientation movement.
The orientation movement is given control from the PLC via the VDI signals of
the orientation axes (DB21, ... DBB321).
Several orientation axes can be traversed simultaneously. The virtual
orientation axes execute rotations around the fixed axes of the relevant
reference system.
The rotations are identified according to the RPY angles.
Orientation in the The rotations are made around the defined directions of the Workpiece
WCS Coordinate Systems. If frame rotation is active, the movements correspond to
the rotations in the Basic Coordinate System.
Orientation in the The rotations are made around the defined directions of the Basic Coordinate
BCS System.
Z
End orientation Start orientation
A
XTCS +A
X
BCS
Fig. 2-22 Cartesian manual travel in the basic coordinate system Orientation angle A
Z
Start orientation End orientation
+B
B
XTCS
X
BCS
Fig. 2-23 Cartesian manual travel in the basic coordinate system Orientation angle B
Z
End orientation
XTCS
+C
C Start orientation
X
BCS
Fig. 2-24 Cartesian manual travel in the basic coordinate system Orientation angle C
Orientation in TCS The rotations are around the moving directions in the Tool Coordinate System.
The current homing directions of the tool are always used as rotary axes.
Z
+A
Y
X
Fig. 2-25 Cartesian manual travel in the Tool Coordinate System, orientation angle A
+B
Y
X
Z
Fig. 2-26 Cartesian manual travel in the Tool Coordinate System, orientation angle B
Y
+C
Fig. 2-27 Cartesian manual travel in the Tool Coordinate System, orientation angle C
The G code PTP/CP currently active in the program does not affect Cartesian
manual travel. The VDI interface signals are interpreted in the channel DB for
geometry and orientation axes.
Activation The reference system for Cartesian manual travel is set as follows:
Table 2-7 Bit assignment for SD 42650: CART_JOG_MODE (only one bit may be set)
Combining The table below shows all the combination options for reference systems.
reference systems
Table 2-8 Combination options for reference systems
Note
The function can only be used meaningfully in conjunction with an active trans-
formation. Furthermore, the “Cartesian PTP travel” function may only be used
in conjunction with the G0 and G1 commands. Alarm 14144 “PTP travel not
possible” is otherwise output.
Power ON After power ON, traversing mode CP is automatically set for axis traversal with
transformation. The initial setting can be altered to PTP in MD 20152:
GCODE_RESET_VALUES[48].
STAT address A Cartesian position must be convertible into a unique axis angle. For this
reason, the position of the joints must be entered in the STAT address.
The STAT address contains a bit for every possible setting as a binary value.
The meaning of these bits is determined by the relevant transformation.
As regards the transformations contained in the publication entitled “Handling of
Transformation Package (TE4)”, the bits are assigned to different joint positions,
as shown in Fig. 2-28. See also Subsection 2.11.4
....
Position of axis 5
Position of axis 2/3
Overhead position
Note
It is only meaningful to program the STAT address for “Cartesian PTP travel”,
since changes in position are not normally possible while an axis is traversing
with active transformation. The starting point position is applied as the destina-
tion point for traversal with the CP command.
TU address In order to approach axis angles in excess of "180 degrees without ambiguity,
the information must be programmed in the TU (turn) address. Address TU thus
represents the sign of the axis angles, An axis angle of |θ| < 360 degrees can
therefore be specified uniquely.
Variable TU contains a bit, which indicates the traversing direction, for each axis
included in the transformation.
– TU bit=0: 0 degrees ≤ θ < 360 degrees
– TU bit=1: –360 degrees < θ < 0 degrees
The TU bit is set to 0 for linear axes.
In the case of axes with a traversing range >"360 degrees, the axis always
moves across the shortest path, because the axis position cannot be specified
uniquely by the TU information.
If no TU is programmed for a position, the axis always traverses via the shortest
possible route.
In JOG mode, the transformation can be switched on and off via a PLC control
signal. This control signal is active only in JOG mode and when a
transformation has been activated via the program.
If the mode is switched back to AUTO, the state which was last active before
switchover is made active again.
The “point-to-point traversal active” signal DBX317.6 shows which traversal
type is active. By means of the “Activate point-to-point traversal” signal DBX29.4
the traversal type can be modified.
Operating mode The “Cartesian PTP travel” function can be used meaningfully only in the AUTO
changeover and MDA modes. The CP setting is automatically activated if the operating
mode is switched to JOG. If the mode is then switched back to AUTO or MDA,
the mode that was last active in either mode is made active again.
REPOS The setting for “Cartesian PTP travel” is not altered during re-positioning. If PTP
was set in the interruption block, then repositioning takes place in PTP. For a
sloping axis “TRAANG”, only CP travel is active in REPOS mode.
The kinematics for a 6-axis joint have been used to illustrate the ambiguities
caused by different joint positions.
Z1 A1 Position 1:
X1=0_
Y1=45_
Y1 Z1=45_
STAT=’B00’
Position 2:
X1=–180_
X1
Y1=–45_
Z1=–45_
STAT=’B01’
Position 1:
A1 Y1=–30_
Z1=60_
Z1
Y1 A1=–30_
STAT=’B00’
Position 2:
X1 Y1=30_
Z1=–60_
A1=30_
STAT=’B10’
Position 1:
C1
A1=0_
B1 B1=40_
C1=0_
STAT=’B00’
A1
Position 2:
A1=180_
B1=–40_
C1=180_
STAT=’B100’
The rotary axis position shown in Fig. 2-32 can be approached in negative or
positive direction. The direction is programmed under address A1.
Starting position
Negative direction:
A1=–135_ TU bit=1
Positive direction:
A1=225_ TU bit=0 Target position
Notes
Supplementary Conditions 3
3.1 Availability
Swiveled linear This function is an option. It is available with SW 3.2 and higher.
axis function
Universal milling This function is an option which can be partially implemented with SW 3.1 and
head function higher. Only the transformation for the axis sequence CA’ can be implemented
in SW 3.1. In SW 3.2 and higher, all axis sequences shown in Table 2-4 are
available.
Online tool length This function requires the option Generic 5-axis transformation and is available
offset for
Number of trans- In software version 4.1 and higher, the total number of transformations available
formations for each channel has been increased from 4 to 8.
SINUMERIK 810D with CCU2 V5.1 and higher offers transformations in two
channels.
Multi-axis The function is not included in the export version SINUMERIK 840DE/810DE.
interpolation
function
Orientation axes This function is included in the scope of the 5-axis transformation option and
function available in software version 5.3 and higher for
Cartesian This function is included in the scope of the 5-axis transformation option and
PTP travel available in software version 5.3 and higher for
function
S SINUMERIK 810D with CCU2.
S SINUMERIK 840D with NCU572/573.
The function is not included in the export variant SINUMERIK 840DE/810DE.
10620 EULER_ANGLE_NAME_TAB
MD number Name of Euler angle [GEOaxisNo.]: 0...2
Default setting: A2, B2, C2 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2/7 Unit: –
Data type: STRING Applies from SW 2.1
Special cases, errors... D The entered name must not conflict with machine and geometry axis names/assignments.
D The entered name must not coincide with the channel axis names in the channel.
(MD 20080: AXCONF_CHANAX_NAME_TAB), names for directional 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).
D The entered name may not adopt the following reserved address characters:
–D Tool offset (D function) –E Reserved
–F Feedrate (F function) –G Preparatory function
–H Auxiliary function (H function) –L Subroutine call
–M Miscellaneous function (M function) –N Subblock
–P Subroutine number of passes –R Arithmetic parameter
–S Spindle speed (S function) –T Tool (T function)
D Vocabulary words (e.g. DEF, SPOS etc.) and predefined identifiers (e.g. ASPLINE,
SOFT) are also illegal.
D An angle identifier consists of a valid address character (A, B, C, I, J, K, Q, U, V, W, X, Y,
Z), followed by an optional numeric extension (1–99).
10630 NORMAL_VECTOR_NAME_TAB
MD number Name of normal vectors
Default setting: A4, B4, C4 Min. input limit: – Max. input limit: –
Default: A5, B5, C5
Changes effective after power ON Protection level: 2/7 Unit: –
Data type: STRING Applies from SW 4.1
Meaning: List of identifiers of normal vector components at start and end of block.
The rules for axis identifiers described in MD 20080: AXCONF_CHANAX_NAME_TAB
apply when chosing identifiers.
The identifiers must be selected such that there are no conflicts with other identifiers, for
example, 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 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2/7 Unit: –
Data type: STRING Applies from 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 chosing identifiers.
The identifiers must be selected such that there are no conflicts with other identifiers, for
example, 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 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2/7 Unit: –
Data type: STRING Applies from SW 6.1
Meaning: List of identifiers for rotational vector components in direction of taper.
The rules for axis identifiers described in MD 20080: AXCONF_CHANAX_NAME_TAB
apply when chosing identifiers.
The identifiers must be selected such that there are no conflicts with other identifiers, for
example, 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 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2/7 Unit: –
Data type: STRING Applies from 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 chosing identifiers.
The identifiers must be selected such that there are no conflicts with other identifiers, for
example, 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 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2/7 Unit: –
Data type: STRING Applies from SW 6.1
Meaning: Identifier list for programming the 2nd curve in space for tool optimization.
The rules for axis identifiers described in MD 20080: AXCONF_CHANAX_NAME_TAB
apply when chosing identifiers.
The identifiers must be selected such that there are no conflicts with other identifiers, for
example, 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 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2/7 Unit: –
Data type: STRING Applies from SW 6.1
Meaning: Identifier for the aperture angle for orientation interpolation.
The identifiers must be selected such that there are no conflicts with other identifiers, for
example, 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 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2/7 Unit: –
Data type: STRING Applies from SW 5.2
Meaning: Identifier for position information
to resolve ambiguities for Cartesian PTP travel.
The identifiers must be selected such that there are no conflicts with other identifiers, for
example, axes, Euler angle, normal vector, direction vector, intermediate coordinate.
10672 TU_NAME
MD number Name of position information of the axes
Default setting: TU Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2/7 Unit: –
Data type: STRING Applies from SW 5.2
Meaning: Identifier for position information of axes
to resolve ambiguities for Cartesian PTP travel.
The identifiers must be selected such that there are no conflicts with other identifiers, for
example, axes, Euler angle, normal vector, direction vector, intermediate coordinate.
10674 PO_WITHOUT_POLY
MD number Permissible programming for PO[ ] without POLY having to be active.
Default setting: FALSE Min. input limit: 0 Max. input limit: 1
Changes effective after power ON Protection level: 2/7 Unit: –
Data type: BOOLEAN Applies from SW 5.3
Special cases, errors... You can use the machine data to set the response of the control when programming poly-
nomials with PO[...].
MD 10674 = 0 (FALSE):
Previous response, which is active during programming of PO[ ] without POLY.
An error message is notified.
MD 10674 = 1 (TRUE):
Programming of PO[...] is allowed without the G code POLY having to be active. POLY and
POLYPATH( ) produce only the actual execution of the polynomial interpolation in this case.
21100 ORIENTATION_IS_EULER
MD number Angle definition for orientation programming
Default setting: 1 Min. input limit: 0 Max. input limit: 1
Change effective after Protection level: Unit: –
NEWCONFIG (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 from SW 2.1
Meaning: MD 21100 = 0 (FALSE):
The values programmed with A2, B2, C2 for orientation programming are interpreted as an
RPY angle (in degrees).
The orientation vector is produced by rotating a vector in direction Z first through C2 about
the Z axis, then through B2 about the new Y axis and finally through A2 about the new X
axis. In contrast to Euler angle programming, all three values influence the orientation vec-
tor in this case.
MD 21100 = 1 (TRUE):
The values programmed with A2, B2, C2 for orientation programming are interpreted as
Euler angle (in degrees).
The orientation vector is produced by rotating a vector in direction Z first through A2 about
the Z axis, then through B2 about the new X axis and finally through C2 about 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, ... Min. input limit: 0 Max. input limit: 22
Change effective after Protection level: Unit: –
NEWCONFIG (SW 5.2 and higher) 7 / 7 (SW 5.2 and higher)
Data type: DWORD Applies from SW 5.2
Meaning: Defines the treatment of orientation changes 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 the large circle
interpolation, however, a specified orientation is required for this axis.
The MD is coded decimally.
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 outside the tolerance circle
defined in MD TRAFO5_NON_POLE_LIMIT_1/2.
The unit digits can have the following values (effective if start orientation equals 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 such 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 and ten digit are added.
For the implemented kinematics, the following tables show the values to be set
in MD TRAFO_TYPE_n (n = 1 ... 8) as decimal numbers.
5-axis transformations
1. Rotary axis 2. Rotary axis Movable tool Movable workpiece Movable tool and
workpiece
Further transformations
Group of transformation TRAFO_TYPE
Transmit 256
Cylinder lateral surface 512
513
Inclined axis 1024
Centerless grinding 2048
OEM transformation from 4096 to 4098
Linked transformation 8192
The index entered at the nth position specifies which axis is imaged internally by the trans-
formation onto axis n.
The numbers of the channel axes must be specified. This is important for multi-channel
systems.
MD irrelevant for ...... If no transformation is installed.
Application example(s) The default for a machine with 6 axes is, for example, 1 2 3 4 5 6.
1 2 3 5 4 6 is then possible. 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 Min. input limit: Max. input limit:
Change effective after Protection level: Unit: mm
NEWCONFIG (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 from 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 workpiece 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 number]: 0 ... 1
Default setting: 0.0 Min. input limit: Max. input limit:
Change effective after Protection level: Unit: Degrees
NEWCONFIG (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 from 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 number]: 0 ... 1
Default setting: 1 Min. input limit: 0 Max. input limit: 1
Change effective after Protection level: Unit: –
NEWCONFIG (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 from 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 reversed.
MD = 1 (TRUE): Sign is not reversed and the traversing direction is defined
according to AX_MOTION_DIR.
This machine data does not mean that the rotational direction of the rotary axis concerned
is to be reversed, but specifies whether its motion is in the mathematically positive or nega-
tive direction when the axis is moving in the positive direction.
The result of a change to this data is not therefore a change in the rotational direction, but a
change in the compensatory motion of the linear axes.
However, if a directional vector and thus, implicitly, a compensatory motion is specified, the
result is a change in the rotational direction of the rotary axis concerned.
On a real machine, therefore, the machine data may be set to FALSE (or zero) only if the
rotary axis is turning in an anti-clockwise direction when moving in a positive direction.
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 Min. input limit: Max. input limit:
Change effective after Protection level: Unit: Degrees
NEWCONFIG (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 from SW 1.1
Meaning: This MD defines a limit angle for the fifth axis of the first (MD:
TRAFO5_NON_POLE_LIMIT_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 such 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 is installed.
Also irrelevant for programming in machine coordinate system ORIMKS.
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 Min. input limit: Max. input limit:
Change effective after Protection level: Unit: Degrees
NEWCONFIG (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 from 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
value with a 5-axis transformation if a switchover is made from the programmed interpola-
tion to interpolation through the pole point. In the case of a greater deviation, an error mes-
sage (alarm 14112) is output and the interpolation is not executed.
MD irrelevant for ...... If no transformation is installed.
Also irrelevant for programming in machine coordinate system ORIMKS.
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 Min. input limit: Max. input limit:
Change effective after Protection level: Unit: mm
NEWCONFIG (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 from 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 (MD: TRAFO5_BASE_TOOL_2) is
activated when a length compensation is not selected.
Programmed length compensations have an additive effect with respect 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 Min. input limit: Max. input limit:
Change effective after Protection level: Unit: mm
NEWCONFIG (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 from 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 (MD: TRAFO5_JOINT_OFFST_2) transformation
of a channel and has a specific meaning for the different machine types:
Machine type 1 (two-axis swivel head for tool) and
machine type 2 (two-axis rotary table for tool):
Vector from first to second joint of tool rotary 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 is installed.The same applies for 3-axis and 4-axis transformation.
TRAFO5_JOINT_OFFSET
Fig. 4-1 Example of 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 Min. input limit: – Max. input limit: –
Change effective after Protection level: Unit: Degrees
NEWCONFIG (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 from 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
Diagram 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 Min. input limit: – Max. input limit: –
Change effective after Protection level: Unit: Degrees
NEWCONFIG (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 from 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
Diagram 2-10
Related to .... 24562
24564 TRAFO5_NUTATOR_AX_ANGLE_1
MD number Angle of 2nd rotary axis and the corresponding axis in the rectangular coordinate system,
1st transform.
Default setting: 45 Min. input limit: –89 Max. input limit: 89
Change effective after Protection level: Unit: Degrees
NEWCONFIG (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 from 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 and the corresponding axis in the rectangular coordinate system,
2nd transform.
Default setting: 45 Min. input limit: –89 Max. input limit: 89
Change effective after Protection level: Unit: Degrees
NEWCONFIG (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 from 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
20621 HANDWH_ORIAX_MAX_INCR_SIZE
MD number Limitation of handwheel increment for orientation axes
Default setting: 0.0 Min. input limit: 0.0 Max. input limit: –
Changes effective after RESET Protection level: 2 / 7 Unit: Degrees
Data type: DOUBLE Applies from 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 Min. input limit: 0.0 Max. input limit: –
Changes effective after RESET Protection level: 2 / 7 Unit: rev/min
Data type: DOUBLE Applies from 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 Min. input limit: 0 Max. input limit: 1
Changes effective after power ON Protection level: 2 / 7 Unit: –
Data type: BYTE Applies from 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 Min. input limit: 0 Max. input limit: 1
Changes effective after power ON Protection level: 2 / 7 Unit: –
Data type: BOOLEAN Applies from 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 ORIAXIS 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 Min. input limit: 1 Max. input limit: 3
Changes effective after power ON Protection level: 2 / 7 Unit: –
Data type: Byte Applies from 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. As a result, there are 12 ways in which an orientation can
be specified.
If another axis assignment is programmed, alarm “Configuring axes are incorrectly configured” is issued.
Definition analogous to RPY angles Definition analogous to Euler angles
1st rotation 2nd rotation 3rd rotation 1st rotation 2nd rotation 3rd 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
corresponds to RPY angle NC corresponds to Euler angle NC
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 Min. input limit: 0.0 Max. input limit: –
Changes effective after RESET Protection level: 2 / 7 Unit: rev/min
Data type: DOUBLE Applies from 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 Min. input limit: 0.0 Max. input limit: –
Changes effective after RESET Protection level: 2 / 7 Unit: rev/min
Data type: DOUBLE Applies from 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: Min. input limit: 0.0 Max. input limit: –
10000./60.,10000./60.,10000./60.,
Changes effective after RESET Protection level: 2 / 7 Unit: mm/min
Data type: DOUBLE Applies from 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: Min. input limit: 0.0 Max. input limit: –
2000./60.,2000./60.,2000./60.,
Changes effective after RESET Protection level: 2 / 7 Unit: mm/min
Data type: DOUBLE Applies from SW 5
Meaning: Geometry axis velocity in jog mode
21170 ACCEL_ORI[n]
MD number Acceleration for orientation axes
Default setting: Min. input limit: 0.0 Max. input limit: –
{2.0, 2.0, 2.0}, ...
Changes effective after RESET Protection level: 2 / 7 Unit: U/s2
Data type: DOUBLE Applies from SW 5.3
Meaning: The acceleration for the orientation axes can be set by means of this MD.
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,... Min. input limit: 0 Max. input limit: 2
Changes effective after power ON Protection level: 2 / 7 Unit: –
Data type: Byte Applies from SW 5.1
Meaning: This machine data defines 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 Min. input limit: 0 Max. input limit: 18
Changes effective after power ON Protection level: 2 / 7 Unit: –
Data type: Byte Applies from 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
21106 CART_JOG_SYSTEM
MD number Coordinate system for Cartesian JOG
Default setting: 0 Min. input limit: 0 Max. input limit: 7
Changes effective after power ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW 6.3
Meaning: This machine data has two different meanings. On the one hand, it is used to activate the
function Cartesian manual travel. On the other, it can be used to specify the referencing
systems for switchover.
The meanings of the individual bits is defined 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 “Transformation package handling”
42650 CART_JOG_MODE
MD number Coordinate system for Cartesian manual travel
Default setting: 0 Min. input limit: 0 Max. input limit: 0x0404
Modification valid IMMEDIATELY Protection level: 7 / 7 Unit: –
Data type: DWORD Applies from 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 the translation or for the
orientation, the Cartesian manual travel is not active either.
21180 ROT_AX_SWL_CHECK_MODE
MD number Check software limits for orientation axes
Default setting: 0 Min. input limit: 0 Max. input limit: 2
Modification valid IMMEDIATELY Protection level: 7 / 7 Unit: –
Data type: DWORD Applies from SW 6.1
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.
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.
24570 TRAFO5_AXIS1_1
MD number Vector for the first rotary axis and the first orientation transformation
Default setting: – Min. input limit: – Max. input limit: –
Change effective after NEWCONFIG Protection level: 7 / 7 Unit: –
Data type: DOUBLE Applies from SW 5.2
Meaning: Specifies the vector which describes the direction of the first rotary axis when a general
5-axis transformation is the first orientation transformation in the system (TRAFO_TYPE_*
= 24, 40, 56).
Any value, but 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). Geometry axis, i.e. described in rule Y).
Related to .... 24572, 24670, 24672
24572 TRAFO5_AXIS2_1
MD number Vector for the first rotary axis and the first orientation transformation
Default setting: – Min. input limit: – Max. input limit: –
Change effective after NEWCONFIG Protection level: 7 / 7 Unit: –
Data type: DOUBLE Applies from SW 5.2
Meaning: Same as TRAFO5_AXIS1_1, but for the second axis
Related to .... 24570, 24670, 24672
24574 TRAFO5_BASE_ORIENT_1
MD number Basic orientation for the first orientation transformation
Default setting: – Min. input limit: – Max. input limit: –
Change effective after NEWCONFIG Protection level: 7 / 7 Unit: –
Data type: DOUBLE Applies from SW 5.2
Meaning: Describes the basic orientation applied as the basis for the transformation when the
general 5-axis transformation is the first orientation in the system (TRAFO_TYPE_* = 24,
40, 56) in cases where the basic orientation has not been defined through activation of a
transformation or by means of a tool.
The value of the vector is freely selectable, but must not equal zero.
Related to .... 24674
24670 TRAFO5_AXIS1_2
MD number Vector for the first rotary axis and the second orientation transformation
Default setting: – Min. input limit: – Max. input limit: –
Change effective after NEWCONFIG Protection level: 7 / 7 Unit: –
Data type: DOUBLE Applies from SW 5.2
Meaning: Same as TRAFO5_AXIS1_1, but for the second orientation transformation in the channel
Related to .... 24570, 24572, 24672
24672 TRAFO5_AXIS2_2
MD number Vector for the second rotary axis and the second orientation transformation
Default setting: – Min. input limit: – Max. input limit: –
Change effective after NEWCONFIG Protection level: 7 / 7 Unit: –
Data type: DOUBLE Applies from SW 5.2
Meaning: Same as TRAFO5_AXIS2_1, but for the second orientation transformation in the channel
Related to .... 24570, 24572, 24670
24674 TRAFO5_BASE_ORIENT_2
MD number Basic orientation for the second orientation transformation
Default setting: – Min. input limit: – Max. input limit: –
Change effective after NEWCONFIG Protection level: 7 / 7 Unit: –
Data type: DOUBLE Applies from SW 5.2
Meaning: Same as TRAFO5_BASE_ORIENT_1, but for the second orientation transformation in the
system
Related to .... 24574
21190 TOFF_MODE
MD number Effect of online offset in tool direction
Default setting: 0 Min. input limit: 0 Max. input limit: –
Changes effective after RESET Protection level: 2 / 7 Unit: 0F HEX
Data type: BYTE Applies from 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 Min. input limit: ≥ 0 Max. input limit: –
Change effective after NEWCONFIG Protection level: 2 / 7 Unit: mm/min
Data type: DOUBLE Applies from 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 Min. input limit: 0,001 Max. input limit: –
Change effective after NEWCONFIG Protection level: 2 / 7 Unit: m/s2
Data type: DOUBLE Applies from 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 Min. input limit: ≥ 0 Max. input limit: 100000000.0
Modification valid IMMEDIATELY Protection level: 2 / 7 Unit: mm/inches
Data type: DOUBLE Applies from SW 6.4
Meaning: Upper limit of offset value, which can be specified using synchronous actions via
$AA_TOFF.
This limit applies to the absolute effective offset value through $AA_TOFF. System variable
$AA_TOFF_LIMIT can be used to query whether the offset value is close to the limit.
20482 COMPRESSOR_MODE
MD number Mode of the compressor
Default setting: 0 Min. input limit: 0 Max. input limit: 3
Changes effective after NEW CONF Protection level: Unit: –
Data type: BYTE Applies from SW 6.3
Meaning: This MD can be used to set the compressor mode.
The following options are available:
1: For the compressor, the contour tolerance specified by setting data SD 42475:
COMPRESS_CONTUR_TOL is active for the geometry axes.
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 Min. input limit: 0.000001 Max. input limit: 999999
Modification valid IMMEDIATELY Protection level: Unit: mm
Data type: DOUBLE Applies from 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 Min. input limit: 0.000001 Max. input limit: 90
Modification valid IMMEDIATELY Protection level: Unit: Degrees
Data type: DOUBLE Applies from SW 6.3
Meaning: This setting data is used to define the maximum tolerance for tool orientation for the com-
pressor. The data determines the maximum legal angular displacement of the tool orienta-
tion.
The data is only effective if an 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 Min. input limit: 0.000001 Max. input limit: 90
Modification valid IMMEDIATELY Protection level: Unit: Degrees
Data type: DOUBLE Applies from SW 6.3
Meaning: This setting data is used to define the maximum tolerance for rotation of the tool orientation
for the compressor. The data determines the maximum legal angular displacement of the
tool rotation.
The data is only effective if an orientation transformation is active.
A rotation of the tool orientation is only possible on 6-axis machines.
Related to .... MD 20482: COMPRESSOR_MODE
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_END[i], i = 1, 2, 3 ith component of the vector of the
end orientation of the current block
$AC_TOOLO_DIFF Remaining angle in degrees, i.e. this is the
angle between the 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 he orientation are normalized such that the orientation vector
has the value 1.
These system variables can be read by parts programs and in synchronous
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: 1. Rotary axis is parallel to Z
; 2. Rotary axis is parallel to X
; Movable tool
;––––––––––––––––––––––––––––––––––––––––––––
$MC_TRAFO_TYPE_1 = 20
$MC_ORIENTATION_IS_EULER = TRUE
$MC_TRAFO_AXES_IN_1[0] = 1
$MC_TRAFO_AXES_IN_1[1] = 2
$MC_TRAFO_AXES_IN_1[2] = 3
$MC_TRAFO_AXES_IN_1[3] = 4
$MC_TRAFO_AXES_IN_1[4] = 5
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[0]=1
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[1]=2
$MC_TRAFO_GEOAX_ASSIGN_TAB_1[2]=3
$MC_TRAFO5_PART_OFFSET_1[0] = 0
$MC_TRAFO5_PART_OFFSET_1[1] = 0
$MC_TRAFO5_PART_OFFSET_1[2] = 0
$MC_TRAFO5_ROT_AX_OFFSET_1[0] = 0
$MC_TRAFO5_ROT_AX_OFFSET_1[1] = 0
$MC_TRAFO5_ROT_SIGN_IS_PLUS_1[0] = TRUE
$MC_TRAFO5_ROT_SIGN_IS_PLUS_1[1] = TRUE
$MC_TRAFO5_NON_POLE_LIMIT_1 = 2.0
$MC_TRAFO5_POLE_LIMIT_1 = 2.0
$MC_TRAFO5_BASE_TOOL_1[0] = 0.0
$MC_TRAFO5_BASE_TOOL_1[1] = 0.0
$MC_TRAFO5_BASE_TOOL_1[2] = 5.0
$MC_TRAFO5_JOINT_OFFSET_1[0] = 0.0
$MC_TRAFO5_JOINT_OFFSET_1[1] = 0.0
$MC_TRAFO5_JOINT_OFFSET_1[2] = 0.0
CHANDATA(1)
M17
;––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
; Program example for general 5-axis transformation
;––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
; Definition of tool T1
$TC_DP1[1,1] = 10 ; Type
$TC_DP2[1,1] = 0
$TC_DP3[1,1] = 20. ; z Length compensation 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: The 3-axis transformation can be configured as follows for the machine shown in the schematic
diagram in Fig. 1-1:
$MC_TRAFO_TYPE_n = 18
Example: The 4-axis transformation can be configured as follows for a machine identical to the one illustrated in
Fig. 1-2, but with an additional axis (Y):
$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 translatory axis available
$MC_TRAFO_AXES_IN_1[3] = 4 ; Rotary axis
$MC_TRAFO_AXES_IN_1[4] = 0 ; No 2nd rotary axis, i.e. 3-axis transformation
$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 translatory axis available
$MC_TRAFO_AXES_IN_2[3] = 4 ; Rotary axis
$MC_TRAFO_AXES_IN_2[4] = 0 ; No 2nd rotary 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 tool in position zero towards Z
$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’
C2
Z’’
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.
References: /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 enabled.
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 enabled.
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 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 an
orientation change. The tool orientation is rotated from the Y direction to the X
direction.
N10 TRAORI ; Activate 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 through 90 degrees
N50 A3=0 B3=1 C3=0 PO[THT]=(180,90) ; in Y direction and rotation to 180 degrees
N60 A3=0 B3=1 C3=0 THETA=IC(–90) ; Remain constant and rotation to 90 degrees.
N70 ORIROTT ; Angle of rotation relative to the change in the
orientation.
N80 A3=1 B3=0 C3=0 THETA=30 ; Rotation vector at an angle of 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 an orientation change taking
place.
N80 The tool orientation is rotated from the Y direction to the X direction. The
orientation change 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 modification of rotary axis motion (SW 6.1 and
higher)
TRAORI
COMPCURV
; The movement describes a circle generated from polygons.
; The orientation moves across a taper about the
; Z axis with an angle of aperture of 45 degrees.
7.4 Alarms
A detailed description of the alarms which may occur is given in
SINUMERIK 840D/840Di
Description of Functions Special Functions
(Part 3)
Notes
Brief Description 1
Gantry axes The “Gantry axes” function (see Section 3) allows two or more mechanically
coupled machine axes to be traversed 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. 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 in each case 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 (see Chapter 3) 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
master axis and the slave axis. Since these 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 master axis based on
machine data settings. The master and synchronized
axes cannot be traversed separately.
Master axis: The master axis is the gantry axis which actually exists
from the point of the view of the operator and
programmer and can be controlled accordingly in the
same way as a normal NC axis. The axis name of the
master axis identifies all axes in the gantry axis
grouping.
Synchronized axis: The synchronized axis is the gantry axis of which the
setpoint position is always derived from the traversing
motion of the master axis. It therefore moves in exact
synchronism with the master axis. From the point of
view of the programmer and operator, the synchronized
axis “does not exist”.
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 master axis in another axis
coupling.
Note
Each axis in the gantry grouping must be set such that it can take over the
function of master axis at any time, i.e. matching velocity, acceleration and dy-
namic response settings.
1. Gantry grouping
Z1
ÉÉ
Y Z2
X1
ÉÉ +Z
+X X2
+Y
2. Gantry grouping
Functional The “Gantry axes” function can be subdivided into the following functional units:
units
1. Setpoint generation of synchronized axis
2. Monitoring of actual value difference
3. Referencing and synchronization of master 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 master axis, were programmed in the NC. Analogously,
synchronized axis only the master axis is programmed in the parts program. The commands and
traverse requests from the operator, the PLC interface or via the parts 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 master axis in all operating modes.
Note
The dynamic control response of the master and synchronized axes must be
set identically.
Monitoring the The position actual values of the master 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 is not yet synchronized, the setting for the gantry
trip limit is derived from MD 37130: GANTRY_POS_TOL_REF (gantry trip
limit for referencing).
Referencing and As the example “Gantry-type milling machine” shows (see Fig. 2-1), the forced
synchronization of coupling between gantry axes must remain in tact 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 master or the synchronized axis, the reference
point must be approached while maintaining the axis coupling immediately the
machine is switched on.
After every axis in the grouping has approached its reference point, any
misalignment which may exist between the axes must be eliminated (so-called
“gantry synchronization process”). Once all axes are synchronized, IS “Gantry
grouping is synchronized” (DB31, ... ; DBX101.5) is sent 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 the master and synchronized axes
traverse in positional synchronism even during acceleration and braking in
normal operation.
Load effects are compensated by the appropriate 611D drive of the master 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 master 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 master or synchronized axes are traversed in
this operating state!
Misalignment after Immediately after the machine is switched on, the master 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
process 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 master axis (MD 34100:
REFP_SET_POS) or otherwise the current actual position of the master
axis.
These operations for referencing and synchronizing the gantry axes are
executed automatically in accordance with a special flowchart.
Referencing The flowchart for the referencing of gantry axes which use an incremental
operation measuring system is as follows:
Section 1: Referencing of master axis
Axis-specific referencing of the gantry axes is started by means
of IS “Traversing key plus/minus” (DB31, ...; DBX4.7/4.6) of the
master axis from the PLC user program when machine function
REF is active.
The master 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 master.
IS “Referenced/synchronized” of the master axis is output to
indicate that the reference point has been reached.
Section 2: Referencing of synchronized axes
As soon as the master axis has approached its reference point,
the synchronized axis is automatically referenced
(corresponding to reference point approach (see References:
/FB/, R1 “Reference Point Approach”). The dependency between
the master axis and synchronized axis is reversed in the control
for this phase so that the master now traverses in synchronism
with the synchronized axis.
Section 1
Start “Referencing of Referencing of master axis
gantry axes”
(Internal start)
Section 2
Synchronized axis approaches reference Referencing of synchronized axis(es)
point; master axis traverses in synchronism
to PLC IS “Referenced/synchronized” = 1
Ref. point approached
for synchronized axis
Next
y
synchronized
axis
n
Section 3
Synchronization
Message: “Wait
for synchronization
process
Comparison of actual positions of
master and synchronized axes start”
End
Restarting gantry Synchronization of the gantry axes can be started by means of IS “Start gantry
synchronization synchronization” under the following conditions only:
process
S Machine function JOG/REF must be active (IS “Active machine function
REF” (DB11, DBX5.2)
Note
You can use IS DB31, ... DBX29.5 to interlock automatic synchronization for
the leading axis. 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
Selection of To ensure that the shortest possible paths are traversed when the gantry axes
reference point are referenced, the reference point values of the master 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.
In the course of the referencing process, the reference point value of the master
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 master 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
master axis or to the reference point.
If only one reference cam is used for the master and synchronized axes, then
this must be taken into account in the PLC user program.
Note
The signal IS “No automatic synchronization run” DB31, ... DBX29.5 blocks
automatic synchronization in all modes, except for homing mode. If the auto-
matic synchronization is to be activated here, specify IS “No automatic syn-
chronization run” DB31, ... DBX29.5 = 0. Then switch one of the axes in the
gantry group from follow-up mode to position controlled mode. This is achieved
with:
IS “Follow-up mode” DB31, ... DBX1.4 = 1 and
NST “Delete distance to go/spindle reset” DB31, ... DBX2.1 = 1 signal transition
from 1 to 0 to 1”.
2nd position Different types of position measuring system can be mounted on the gantry
measuring axes of a grouping. Furthermore, each gantry axis is capable of processing two
systems per 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
parts program with initiated from the parts program by means of command G74. In this case, only
G74 the axis name of the master axis may be programmed. The operational
sequence is analogous to that described for axis-specific referencing.
Position To avoid the necessity of traversing large distances to approach the reference
measuring point, it is possible to use a position measuring system with distance-coded
system with reference marks as the sole or the second measuring system. 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 master axis
defined in MD 34100: REFP_SET_POS in the decoupled state. If the master
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 master axis or to the reference point.
Activation of axis Compensation functions can be activated for both the master 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 master 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. In this case, 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 ”Serch Run
block search in by Program Test”) can be used to simulate the traversal of gantry axis
SW 6.1 and higher groupings in SW 6.2 and higher.
Note
For further information about the SERUPRO multi-channel block search please
refer to:
General Owing to the forced coupling which is normally present between master 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 master and
synchronized axes must always be defined and entered jointly.
References: /IAD/, SINUMERIK 840D 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 The following must be defined for the gantry axis in MD 37100:
axis grouping GANTRY_AXIS_TYPE:
Entering gantry For the purposes of monitoring the position actual value deviation between the
trip limits synchronized axis and the actual position of the master axis, the trip limit values
(MD: 37120 GANTRY_POS_TOL_ERROR or MD 37130:
GANTRY_POS_TOL_REF) must be entered for the master 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 set- Since the digital 611D drives respond well to disturbances and setpoint
point changes and changes, there is no need for a compensatory control between the gantry axes.
disturbances However, the gantry axes can only operate in exact synchronism if the
parameters for the control circuits of the master and synchronized axes are set
to the same dynamic response value.
To ensure the best possible synchronism, the master 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 master axis and the synchronized axis:
Dynamic The master axis and the coupled axis must be capable of the same dynamic
response response to setpoint changes. The “same” dynamic response means: The
matching 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.
Master axis MD 32810: EQUIV_SPEEDCTRL_TIME [n] = 5ms
Synchronized axis MD 32810: EQUIV_SPEEDCTRL_TIME [n] = 3ms
Referencing of The positions of the reference points of the master and synchronized axes must
gantry axes first be set to almost identical values.
To ensure that the synchronization compensatory motion of the gantry axes is
not automatically started, the gantry warning limit (MD 37100:
GANTRY_POS_TOL_WARNING) must be set to 0 prior to referencing on initial
start-up. This will prevent the output of a warning message during the traversing
motion.
In cases where an excessively high additional torque is acting on the drives due
to misalignment between the master 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 master 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 master and synchronized axes are
identical after execution of the compensatory motion.
Synchronization of 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
master and synchronized axes must be checked to ensure that it equals 0.
Corrections may need to be made in the above-mentioned machine data.
Input of gantry Once the reference point values for the master and synchronized axes have
warning limit been set optimally 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.
Calculation and In cases where the gantry axes require compensation (backlash, sag,
activation of temperature or leadscrew error), the compensation values for the master 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 synchro-
nized axis or master 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, can cause damage to 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.
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 con-
crete 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 master or synchronized axes. Table 2-2 below shows
all special gantry-PLC interface signals and indicates whether the IS is
evaluated on the master or the synchronized axis.
Table 2-2 Assignment of gantry-PLC interface signals to master and synchronized axes
PLC interface signal PLC NCK DB31, ... ; DBX ... Master axis Synchronized
axis
Start gantry synchronization 29.4 X
No automatic synchronization process 29.5 X
Gantry axis 101.7 1 1
Gantry master axis 101.6 1 0
Gantry grouping is synchronized 101.5 X
Gantry synchronization ready to start 101.4 X
Gantry warning limit exceeded 101.3 X
Gantry trip limit exceeded 101.2 X
Effect of the axial a) Axial interface signals from PLC to axis (PLC –> NCK)
IS on gantry axes
The axial interface signals from the PLC to the axis are always referred to all
gantry axes in the grouping. In this case, all gantry axes (master and
synchronized axis) have equal priority.
If, for example, the IS “Controller enable” (DB31, ... ; DBX2.1) of the master
axis is set to “0”, then all axes in the gantry grouping are shut down at the
same instant.
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 master and synchronized axes
Table 2-3 Effect of interface signals from PLC to axis on master 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 master axis in coupled axis mode. In this case, the synchronized axes traverse
in synchronism with the master.
DRF A DRF offset can only be applied to the master axis. In this case, the
offset synchronized axes traverse in synchronism with the master.
Programming in Only the master axis of a gantry axis grouping may be programmed in the parts
parts program program. An alarm is generated when a synchronized axis is programmed.
PLC or command Only the master axis of the gantry grouping can be traversed from the PLC by
axes means of FC18 or as a command axis via synchronous actions.
References: /FB/, P3, “Basic PLC Program”
/FBSY/, Synchronized Actions
PRESET The PRESET function can only be applied to the master 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”).
Axis release All axes in the gantry grouping are released automatically in response to a
RELEASE command (master axis).
Display data The position actual value display shows the actual values of both the master
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 master axis only. If the master
axis crosses the limit switch, all axes in the gantry grouping are braked to a
standstill.
Differences be- The main differences between the gantry axes and coupled axes functions are
tween “gantry listed below:
axes” and
S The axis coupling between the gantry axes must always be active. It is
“coupled axes” therefore not possible to separate the axis coupling between “Gantry axes”
functions by means of the parts program. In contrast, the coupled axis grouping can
be separated by means of the parts program and the axes then traversed
individually.
S With “Gantry axes”, the difference between the position actual values of the
master and synchronized axes is continuously monitored and the traversing
motion terminated in response to illegal deviations. No such monitoring
takes place with the “Coupled axes” 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 axes” are referenced as individual axes.
Notes
Supplementary Conditions 3
Availability of This function is an option and available for
“gantry axes”
function
S SINUMERIK 840D with NCU 572/573, with SW2 and higher.
S SINUMERIK 810D with CCU 2, SW 2 and higher.
S SINUMERIK 810D with CCU1, SW 3.2 and higher.
J
Notes
37100 GANTRY_AXIS_TYPE
MD number Gantry axis definition
Default setting: 0 Min. input limit: 0 Max. input limit: 13
Changes effective after power ON Protection level: 2/4 Unit: –
Data type: BYTE Applies from SW 2.1
Meaning: The following must be defined with the axial MD: GANTRY_AXIS_TYPE 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 master axis (MD value has
only 1 decade) or as a synchronized axis (2nd decade is set to value 1)
2nd decade 1st decade
The gantry axis definition is subjected 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 FM-NC; SINUMERIK 840D with NCU 571
Application example(s) 0: No gantry axis
1: Axis is master axis in gantry grouping 1
11: Axis is synchronized axis in gantry grouping 1
2: Axis is master axis in gantry grouping 2
12: Axis is synchronized axis in gantry grouping 2
3: Axis is master 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 Min. input limit: 0 Max. input limit: plus
Changes effective after RESET Protection level: 2/4 Unit:
Linear axis: mm
Rotary axis: Degrees
Data type: DOUBLE Applies from SW 2.1
Meaning: Value > 0
With gantry axes, the difference between the position actual values of the master and
synchronized axes is constantly monitored.
The MD: GANTRY_POS_TOL_WARNING is used to define a limit value for the position
actual value difference; when the limit is exceeded, warning 10652 “Warning limit excee-
ded” is output. However, the gantry axes are not shut down internally in the control. The
warning threshold must therefore be selected such that the machine can withstand the
position actual value deviation between the gantry axes without sustaining mechanical
damage.
Furthermore, 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 master 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 automatically started 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 viola-
tion of the warning limit.
Gantry synchronization is not initiated internally in the control.
MD irrelevant for ...... SINUMERIK FM-NC; 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 run” (DB31, ... ; DBX29.4)
37120 GANTRY_POS_TOL_ERROR
MD number Gantry trip limit
Default setting: 0.0 Min. input limit: 0 Max. 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
37120 GANTRY_POS_TOL_ERROR
MD number Gantry trip limit
Meaning: With gantry axes, the difference between the position actual values of the master and syn-
chronized axes is constantly monitored. The MD: GANTRY_POS_TOL_ERROR. Monitor-
ing for violation of this limit value takes place only if the gantry axis grouping is already
synchronized (IS “Gantry grouping is synchronized” = 1); otherwise the value set in MD
37130: GANTRY_POS_TOL_REF is used.
When 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 FM-NC; 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 when referencing
Default setting: 0.0 Min. input limit: 0 Max. input limit: plus
Changes effective after power ON Protection level: 2/4 Unit:
Linear axis: mm
Rotary axis: Degrees
Data type: DOUBLE Valid from SW 2.1
Meaning: With gantry axes, the difference between the position actual values of the master and
synchronized axes are continuously monitored. The MD: GANTRY_POS_TOL_REF the
maximum permissible deviation in position actual values between the synchronized axis
and the master axis that is monitored if the gantry axis grouping is not yet synchronized
(IS “Gantry grouping is synchronized” = “0”) must be set.
When 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 FM-NC; 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 Min. input limit: 0 Max. input limit: 1
Changes effective after RESET Protection level: 2/4 Unit: –
Data type: BOOLEAN Applies from 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 of violation of the
gantry warning or trip limit is effective.
GANTRY_BREAK_UP = “1”
This cancels the forced coupling of the gantry grouping, thus allowing all gantry axes in
this grouping to 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:
In cases where the gantry axes are still mechanically coupled, the machine may
sustain damage in this operating state when the master or synchronized axis is
traversed!
The gantry axes cannot be referenced individually.
MD irrelevant for ...... SINUMERIK FM-NC; 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)
Signal Descriptions 5
5.1 Signals to axis/spindle
Notes
Example 6
6.1 Creating a gantry grouping
Introduction The gantry grouping, the referring 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. 1mm
MD 37130: GANTRY_POS_TOL_REF = e.g. 100mm
(max. skew)
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. 1mm
MD 37130: GANTRY_POS_TOL_REF = e.g. 100mm
(max. skew)
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 = equals max.
travel path
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. Read off values 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 via 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 for all axes
initially.
– Enter a very low value in MD 37110: GANTRY_POS_TOL_WARNING.If you
now subject the axes to a high dynamic load, self-resetting 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 occur within a window that is reasonable for
production purposes).If the monitoring function is only activated very
sporadically, it is possible to program an edge trigger flag 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
GANTRY_POS_TOL_ERROR and GANTRY_POS_TOL_REF are smaller than
GANTRY_POS_TOL_WARNING, this monitoring is not active!
GANTRY_POS_TOL_WARNING = 0 can be set to disable the monitoring
functions for the warning limit.
GANTRY_POS_TOL_REF must be set to allow for the maximum possible
leadscrew error compensation value.
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 toler-
ance 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 can-
celing alarms without gantry).
7.3 Alarms
A detailed description of the alarms which may occur is given in
References: /DA/, Diagnostics Guide
or in the online help in systems with MMC 101/102/103.
J
SINUMERIK 840D/840Di
Description of Functions Special Functions
(Part 3)
Notes
Brief Description 1
810D and 840D The SINUMERIK 840D to NCU 572 and 810D with CCU derive both the
without PROFIBUS position control cycle and the interpolator cycle (IPO cycle) from the system
clock cycle.
840Di and 840D The SINUMERIK 840Di derives the position control cycle and the interpolator
with PROFIBUS cycle from the system clock cycle. The system clock cycle is defined by the
PROFIBUS DP cycle for a SINUMERIK 840Di, which is set in the SIMATIC S7
project loaded in the PLC.
With Software release SW 6.4 and an NCU 573.2 or higher it is possible to
operate a PROFIBUS DP via the hardware module “Link module”. In this case,
the SINUMERIK 840D has two PROFIBUS DP interfaces and similar
restrictions apply as for SINUMERIK 840Di.
The following description explains the interrelations and the machine data of
these cycle times.
J
Notes
Detailed Description 2
2.1 General cycle times
Definition 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
On MD 10050 SYSCLOCK_CYCLE_TIME
The system clock cycle is entered in s.
On MD 10060 POSCTRL_SYSCLOCK_TIME_RATIO
The position control cycle is entered as a factor of the system clock cycle.
On MD 10070 IPO_SYSCLOCK_TIME_RATIO
The interpolator cycle is entered as a factor of the system clock cycle.
Cycle times The default settings ensure that a maximum configuration of the system can
defaults power up reliably. The cycle times, e.g. for the NCU 573, can generally be set to
lower values.
The cycle time default settings are as follows:
General example The machine data for the cycle times are assigned as follows:
of cycle setting
If MD ... = ... then the ... = ...
SYSCLOCK_CYCLE_TIME = 0.002 System clock cycle = 2ms
POSCTRL_SYSCLOCK_TIME_RATIO = 1 Position control cycle = 2 ms (1 2ms)
IPO_SYSCLOCK_TIME_RATIO = 3 Interpolator cycle = 6 ms (3 2ms)
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 position system clock cycle in the following machine data:
control cycle
Position control cycle
POSCTRL_SYSCLOK_TIME_RATIO +
System clock cycle
Interpolator cycle
IPO_SYSCLOK_ TIME_RATIO +
System clock cycle
The smallest possible position control and interpolator cycle should be aimed
for.
Interpolator cycle
w 1
Position control cycle
Note
As of software version SW 6.4 and an NCU 573.2 or higher, it is also possi-
bleoperate SINUMERK 840D with the PROFIBUS DP. For more information
about configuring the clock cycles, please refer to Section 2.3.
Actual values At time TI, the current actual values are read from all equidistant drives (DP
slaves). In the next DP cycle, the actual values are transferred to the DP master
in the time TDX.
Positon 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 TM
position controller R
TDX TDX
1 2
Speed
control cycle
Drives :
R R R R R R R R R R R R R R R R
DP slaves: 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 times for all DP slaves
1
The actual values for the current DP cycles / 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 clock 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 clock cycle. It cannot be changed.
Interpolation cycle The interpolator cycle may be chosen freely as a whole multiple of the position
control cycle.
Position control The offset for the position control cycle (TM) is set independently of the
cycle 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 control
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
TDX Data exchange Time: total transfer times for all DP slaves
R Computation time
S t=1
The position control cycle offset chosen is too small. The 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 start-up between the machine data
– MD 10050: SYSCLOCK_CYCLE_TIME (system clock cycle)
– MD 10060: POSCTRL_SYSCLOCK_TIME_RATIO (factor for position
control cycle)
Machine data 840D For system-internal reasons, a distinction is made between the configured
and 840Di default and maximum values in SINUMERIK 840D with PROFIBUS DP
compared to SINUMERK 840Di.
* Default values
Special points 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 de-
gree of control for the drive and the better the surface quality on the workpiece.
Supplementary Conditions 3
None
10050 SYSCLOCK_CYCLE_TIME
MD number System clock cycle
Default setting: 0.004 for 840D Min. input limit: 0.000125 Max. input limit: 0.032 for 840D
Default setting: 0.002 for 840Di max. input limit: 0.008 for 840Di
Changes effective after power ON Protection level: 2 / 7 Unit: s
Data type: DOUBLE Applies from SW 1.1, as of SW 6.4 PROFIBUS
Meaning: Clock cycle of the system software, i.e. the unit of time after which time interrupts are trig-
gered in the operating system.
The interpolator and position control cycle/IPO settings are multiples of the system clock
cycle. The system clock cycle corresponds to the position control cycle when MD 10060:
POSCTRL_SYSCLOCK_TIME_RATIO is not set higher than 1.
If a digital drive is used, the system basic clock cycle and MD 10060:
POSCTRL_SYSCLOCK_TIME_RATIO must be set (otherwise a drive alarm is
issued) so that the position control cycle is no longer than 16ms.
Automatic offsets during start–up can cause a shift in the set value for MD 10050:
SYSCLOCK_CYCLE_TIME.
10059 PROFIBUS_ALARM_MARKER
MD number Profibus alarm marker (internal only)
Profibus Adpt.: 0.0 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 0 / 0 Unit: –
Data type: BYTE Applies from SW 5.2
Meaning: PROFIBUS alarm marker:
In this machine data, alarm requests on the PROFIBUS level are stored even after reboot.
If a conflict is found between the 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 an appropriate alarm set during 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 Min. input limit: 1 Max. input limit: 31 for 840D
max. input limit: 1 for 840Di
Changes effective after power ON Protection level: 2 / 7 Unit:
Factor MD 10050
Data type: DWORD Applies from 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 start-up. 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 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 0 / 7 Unit: –
Data type: DOUBLE Applies from 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 shift
Default setting: 0.003 for 840D Min. input limit: 0.000 Max. input limit: 0.008 for 840D
Default setting: 0.0015 for 840Di Profibus Adpt.: 0.000 max. input limit: 0.008 for 840Di
Changes effective after power ON Protection level: 2 / 7 Unit: s
Data type: DOUBLE Applies from 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 Min. input limit: 1 Max. 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 from 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 whole 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 increased to the next integer multiple of the position
control cycle before they become active (on next power up). 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 Min. input limit: *** Max. input limit: ***
Changes effective after power ON Protection level: 0 / 7 Unit: s
Data type: DOUBLE Applies from SW 5
Meaning: Display of the interpolator cycle time (cannot be modified!).
If produced 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: – Min. input limit: 1 Max. 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 from SW1, as of SW 6.4 PROFIBUS
Meaning: This machine data sets the division factor of a cycle divider which is hardware located be-
tween the measured value sampler and the interrupt controller.
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 PROFIBU-DP connection are used the division
factor is set automatically.
Special cases, errors, ...... 1st Using an analog speed interface
When using the conventional drive interface, the division can be set according to the follow-
ing 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.
A multiple triggering of the I/O hardware during the position control cycle
can be achieved.
This procedure is not recommended on account of the resulting interrupt load on
the operating system.
The SIMODRIVE 611 digital drive can synchronize its own clock generation to these
values.
11250 PROFIBUS_SHUTDOWN_TYPE
MD number PROFIBUS shutdown handling
Default setting: 0 Min. input limit: 0 Max. input limit: 2
Changes effective after power ON Protection level: 2 / 7 Unit: –
Data type: BYTE Applies from 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 case of NCK shutdown, the PROFIBUS DP is first brought to the
CLEAR status for at least 20 clock cycles and then deactivated. If this is not
possible on account of the hardware, the procedure is as for the value 2.
Value 2: In the case of NCK shutdown, the PROFIBUS DP is first brought to the as status
for at least 20 clock cycles in which all drives are sent a zero as Control Word 1
and Control Word 2 (pseudo clear). The bus itself remains operational.
Related to .... –
37600 PROFIBUS_ACTVAL_LEAD_TIME
MD number Actual value recording time (PROFIBUS Ti)
Default setting: 0.000125 Min. input limit: 0.0 Max. input limit: 0.032
Changes effective after power ON Protection level: 0 / 0 Unit: s
Data type: DOUBLE Applies from 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 that Step 7 set for a SIMODRIVE 611 universal)
Special cases, errors, ...... Caution:
The actual Ti value is read directly from the PROFIBUS configuration 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 Ti.
Related to .... –
37602 PROFIBUS_OUTVAL_DELAY_TIME
MD number Setpoint delay time (PROFIBUS To)
Default setting: 0.003 Min. input limit: 0.0 Max. input limit: 0.032
Changes effective after power ON Protection level: 0 / 0 Unit: s
Data type: DOUBLE Applies from 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 where 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 .... –
Signal Descriptions 5
None
Example 6
None
7.2 Alarms
A detailed description of the alarms which may occur is given in
References: /DA/, Diagnostics Guide or in the online help in systems with
HMI Embedded/MM 102/HMI Advanced.
J
SINUMERIK 840D/840Di/810D
Description of Functions Special Functions
(Part 3)
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 according to a braking ramp or
S with speed setpoint zero and follow-up mode.
Application The function can be used for 2D and 3D paths. With 2D paths, the monitoring
surface is defined by lines parallel to the programmed path.
The monitoring protection zone is determined by 2 or 3 geometry axes.
Other axes Monitoring of synchronous 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 the motion is continued 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 by setting a machine data (alarm triggered but
movement continued) or intensified (rapid stop).
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 software version 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 moni- The aim of the monitoring function is to stop the movement of the axes if axis
toring function deviation causes the distance between the tool tip (actual value) and the
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. The value is defined in
MD: $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.
Setting the The deceleration response to the monitoring can be set in MD:
deceleration $MC_CONTOUR_TUNNEL_REACTION.
method One of the following three values must be set:
0: Display alarm, continue machining
1: Deceleration according to the deceleration ramps of the axes
(default setting)
2: Rapid stop (speed setpoint zero is set)
Encoder switch- Switching between two encoder systems usually causes a sudden change in
over 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 function “Programmable contour accuracy” permits the user to specify a
maximum error for the contour in the NC program. 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 guarantees 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 the machine data MC_CPREC_WITH_FFW has the value 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 the 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/ The response set for the G code group 39 in the machine data
end of 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
Availability of This function is an option and available as follows:
“Contour tunnel
monitoring”
S SINUMERIK 840D with NCU 572/573, with SW2 and higher
function
Availability of This function is available in SW 3.2 and higher for basic versions of the
“Programmable SINUMERIK 810D, FM-NC, 840D systems.
contour accuracy”
function
21050 CONTOUR_TUNNEL_TOL
MD number Response threshold for contour tunnel monitoring
Default setting: 0.0 Min. input limit: 0.0 Max. input limit: ***
Changes effective after NEW CONF Protection level: 2/4 Unit: mm
Data type: DOUBLE Applies from SW 2.0
Meaning: Response threshold for contour tunnel monitoring Specifies the radius of the “tunnel” which
is laid around the tool tip path.
If three geometry axes are defined, then the tunnel can be imagined as a tube with the tool
tip path running through the middle of it.
If only two geometry axes are defined, then the tube is flattened in the plane 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 Min. input limit: 0 Max. input limit: 2
Changes effective after power ON Protection level: 2/4 Unit: –
Data type: BYTE Applies from 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 Min. input limit: 1 Max. input limit: 8
Changes effective after power ON Protection level: 2/4 Unit: –
Data type: BYTE Applies from SW 2.0
Meaning: Assignment of an analog output to which the calculated contour error can be output.
0: No output
1: Output to output 1
2: Output to output 2
etc.
8: Output to output 8
An error which violates the response threshold $MC_CONTOUR_TUNNEL_TOL appears
at the output as 10V voltage.
An automatic check is performed for multiple assignment of the same output to other sig-
nals.
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 Min. input limit: 0 Max. input limit: 1
Changes effective after POWER ON Protection level: 2 / 7 Unit: –
Data type: BOOLEAN Applies from SW: 3.2
Meaning: This machine data is for defining the response of the programmable function CPRECON in
conjunction with feedforward control.
FALSE: The function CPRECON is inoperative with simultaneously active
feedforward control.
TRUE: CPRECON is also operative with feedforward control.
Related to .... $SC_CONTPREC, $SC_MINFEED
42450 CONTPREC
MD number Contour accuracy
Default setting: 0.1 Min. input limit: 0.000001 Max. input limit: 999999
Changes effective after POWER ON Protection level: 7 / 7 Unit: mm
Data type: DOUBLE Applies from SW: 3.2
Meaning: Contour accuracy. With this setting data you can specify which accuracy is 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 Min. input limit: 0.000001 Max. input limit: 999999
Changes effective after POWER ON Protection level: 7 / 7 Unit: mm/min
Data type: DOUBLE Applies from 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
Extract
N10 X0 Y0 G0
N20 CPRECON ; Switch on the contour accuracy defined by MD
N30 F10000 G1 G64 X100 ; Machine at 10 m/min in continuous-path mode
N40 G3 Y20 J10 ; Automatic limitation of feedrate in circle block
N50 G1 X0 ; Feedrate again 10 m/min
...
N100 CPRECOF ; Switch off the programmed contour accuracy
N110 G0 ...
J
Notes
7.2 Alarms
A detailed explanation of the alarms which may occur is given in
Notes
SINUMERIK 840D/840Di/810D
Description of Functions Special Functions
(Part 3)
Notes
Brief Description 1
Note
Since the range of functions covered by M3 has now been extended, the de-
scription has been given a more appropriate and general title.
SW 5 With the “Electronic gear” function (see Section 2.4) it is possible to control the
motion of one following axis as the function of up to five leading axes. The
relationship between each leading axis and the following axis is defined by the
coupling factor. The following axis motion components derived in this manner
from the individual leading axis motion components have an additive effect. The
coupling factors can be referred to one of the following quantities:
SW 6.4 An additional function for synchronizing the following axis permits the following
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
position
– Traverse path-optimized with respect to programmed synchronized
position
SW 5 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.
S Stop: As far as possible, all axes participating in the electronic coupling are
stopped (this concerns the axes in the machining plane).
S Retract (SW 5.2 and higher): The tool/workpiece pair engaged in action is
separated as quickly as possible by retracting the tool from the gear wheel
gap.
S Generator operation: In the event of a power failure, the power for the
retract operation can be provided in the DC link (the DC link voltage is
maintained through additional back-up capacitors or drive operating in
generator mode).
S Man
S Material (workpiece and expensive hobbing cutter for example)
as far as possible.
J
Notes
Detailed Description 2
2.1 Coupled axes
Dependent The “Coupled axes” function allows any axis of the control to be declared as a
coupled axis “master axis” and any desired number of “coupled axes” to be assigned to the
“leading axis”.
The “master” and “coupled” axes then form a coupled axis grouping.
If the leading axis is programmed in a block of the NC parts program, all
following axes in the axis grouping traverse the paths derived from the leading
axis via coupling factors.
A total of 2 leading axes may be assigned to each coupled axis.
Independent A coupled axis can be programmed with the full range of available motion
coupled axis commands (G0, G1, G2, G3,...). The coupled axis not only traverses the
independently defined paths, but also those derived from its leading axes on the
basis of coupling factors.
Position of a The position of a coupled axis at any given time corresponds to the sum of the
coupled axis dependent motion (motion of leading axis allowing for coupling factor) and the
independent motion (i.e. the motion programmed for the axis concerned).
Coupled axis as A coupled axis can also act as the leading axis for other coupled axes. In this
leading axis way, it is possible to create a range of different coupled axis groupings.
Axis types A coupled axis grouping can consist of any desired combinations of linear and
rotary axes.
In this case, it is possible to define a “simulated” axis to act as the leading axis.
Coordinate Coupled axis motion is always executed in the base coordinate system (BCS).
system
Synchronous ac- Coupled axis motion can be switched on and off by means of a synchronous
tion action. Following activation of the coupled motion, the following axis is first
accelerated to the new set speed. The position of the leading axis after
synchronization of the speed is taken as the start position for coupled motion.
Activating, deacti- The coupled axis activated per synchronous action can only be deactivated
vating again per synchronous action.
The coupled axis activated per parts program can only be deactivated again by
means of the parts program.
Application
1. Traversal of an axis by means of a simulated axis
The leading axis is a “simulated” axis and the coupled axis a “real” axis. In
this way, the real axis can be traversed as a function of the coupling factor.
2. Two-side machining
The following configuration applies for this application:
Axis Y
ÉÉ Axis V
ÉÉ ÇÇ
Axis Z
ÉÉ ÇÇ Axis W
Axis X
Definition and A coupled axis grouping is defined and activated simultaneously with the modal
activation command:
TRAILON(coupled axis, leading axis, coupling factor)
Note
S The factor is entered as a fraction with decimal point (of type REAL). The
input of a negative value causes the master and coupled axes to traverse in
opposition.
S A coupled axis may not be activated in more than two coupled axis
groupings at the same time.
Deactivation The coupling of one leading axis is deactivated with the command:
TRAILOF(coupled axis, leading axis)
In this case, a preprocessing stop is generated.
Note
An active coupling can also be deactivated from the PLC by means of an
ASUB.
Examples Example 1: Example of an NC parts program for the axis constellation shown in
Fig. 2-1:
:
TRAILON (Y,V,1) ;Activate 1st coupled axis grouping
TRAILON (Z,W,–1) ;Activate 2nd coupled axis grouping
G0 Z10 ;Infeed Z and W axes in oppositeaxial directions
G0 Y20 ;Infeed Y and V axes in the same axial direction
G1 Y22 V25 ;Overlay a dependent and an independent motion of
;coupled axis “V”
:
TRAILOF (Y,V) ;Deactivate 1st coupled axis grouping
TRAILOF (Z,W) ;Deactivate 2nd coupled axis grouping
:
Example 2: With coupled axes, two motions are added together: the motion of
the following axis which is dependent on the leading axis, and the independent
motion which is based on the programming of the following axis. The dependent
part is treated like a coordinate offset such that it is possible to set a defined
behavior for the following axis.
N01 G90 G0 X100 U100
N02 TRAILON(X,U,1) ;Activate coupled-axis grouping
N03 G1 F2000 X200 :Dependent motion of U, Upos=200, UTrail=100
N04 U201 ;Independent motion, Upos=U201+UTrail=301
N05 X250 ;Dependent motion of U,
;UTrail=UTrail(100)+50=150, Upos=351
N06 G91 U100 ;Independent motion, Upos(351)+U100=451
N07 G90 X0 :Dependent motion of U,
;Upos=Upos(451)–UTrail(250)=201
N10 TRAILOF(X,U)
Effectiveness An activated coupled axis grouping is functional in the AUTOMATIC, MDA and
JOG modes.
Manual operation When a coupled axis grouping is activated, traversal of the leading axis
(e.g. in rapid traverse or incremental feed mode INC1 ... INC10000) causes the
coupled axis to traverse simultaneously as a function of the coupling factor.
Reference point A reference point approach does not separate coupled axis groupings.
approach
Deletion of dis- When deletion of distance-to-go is executed for a leading axis, all axes in the
tance-to-go associated, activated coupled axis groupings are shut down.
Deletion of distance-to-go of a coupled axis only shuts down independent
movements of this axis.
Basic setting after The grouping status after power-up is dependent on the setting in MD 20112:
power-up STAR_MODE_MASK, i.e.:
Basic setting after The grouping status after RESET/parts program end is dependent on the
RESET/parts pro- setting in MD 20110: STAR_MODE_MASK, i.e.:
gram end
S Coupled axis groupings are invalidated on RESET/parts program end
(bit 8=0)
S Coupled axis groupings remain active after RESET/parts program end and
parts program start (bit 8=1)
Independent All relevant channel-specific and axis-specific interface signals of the coupled
coupled axis axis are effective for the independent motion of this axis, for example
Activate DRF (DB21–28, DBX0.3),
Feed override (DB31–48, DBX0.0 – 0.7)
Axis inhibit (DB31–48, DBX1.3),
Controller enable (DB31–48, DBX2.1),
Activate handwheel (DB31–48, DBX4.0 – 4.2),
Feed stop (DB31–48, DBX4.3), etc.
å For the purpose of independent motion, for example,
Dependent With respect to the motion of a coupled axis which is dependent on the leading
coupled axis axis, only the coupled axis interface signals which effect termination of the
motion (e.g. axis-specific feed stop, axis inhibit, controller 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 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 axis.
Position measur- Switchover of the position measuring system for the master and coupled axes is
ing system 1/2 not inhibited for an active coupled axis grouping. The coupling is not invalidated
(DB31, ... on measuring system switchover.
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
position controller parameter settings (e.g. servo gain factor) of the master and
coupled axes in a coupled axis grouping. It may be necessary to activate other
parameter sets for coupled motion.
Acceleration and The acceleration and velocity limits of the axes in the coupling are determined
velocity limits by the “weakest” axis in the coupled axis grouping.
Note
The following applies to coupled axis activated with synchronous action:
If the following axis does not have a sufficient dynamic response (e.g. controller
parameters) to follow the leading axis, an alarm is issued.
Multiple If the coupling is activated for a coupled axis grouping which is already active,
couplings then the activation process is ignored and an appropriate alarm generated.
Status of The coupling status of an axis can be interrogated with the system variable
coupling
$AA_COUP_ACT[axis identifier]
in the NC parts program.
Note
Only one of the 4 coupling modes may be active at any given time.
Actual value dis- The display of the actual position and distance to go is updated for all axes in a
play coupled axis grouping.
In this case, the distance to go display of the coupled axes refers to the total
path of the motion.
Curve table A functional relation between a command variable “Master value” and an
abstract following value is described in the curve table.
A following variable can be assigned uniquely to each master value within a
defined master value range.
Curve segment The functional relation can be subdivided into separate sections of the master
value axis, called curve segments.
The relation between the master value and following value is generally
described by a polynomial up to the third order.
From SW 6, polynomials up to the 5th degree are permissible. See also
References: /PGA/, Programming Guide “Advanced”.
Tool radius offset As of SW 6.3, curve tables are available in which it is possible to specify the
SW 6.3 Tool radius offset in the table definition even if polynomial blocks or blocks with
no motion for an axis, or jumps for the following axis, occur in the curve table
(G41/G42/G40 in the table definition).
Tool radius offset Tool radius offset (G41/G42) may be programmed with restriction within a curve
table up to SW 6.2. The contour to be corrected must consist only of linear and
circular blocks and the circular blocks must have a circular plane that
corresponds to that of the offset plane.
For more complex contours (splines, polynomials), the tool radius offset is
available in the table of curves SW 6.3 and higher.
The equidistant curve (tool center point path of the tool radius offset) of 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 of the curve tables 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 correction 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 correction can produce segments for which the following axis or
leading axis have no movement. Whereas 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.
Note
In the case of a curve table that contains segments without leading axis move-
ment (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. accel-
eration). This means that there is always a deviation from the programed curve.
Defining the As of SW 3, it is possible to specify the memory type to be used for creating he
memory type for curve table when defining the curve table. The following options are available:
curve tables SRAM
DRAM
Table definitions for memory type SRAM are still available after power up of the
control. Curve tables for DRAM must be re–defined after power up of the
control. Additional machine data have been provided for reserving space in
DRAM:
MD 20905: CTAB_DEFAULT_MEMORY_TYPE defines the memory type if no
memory type has been specified in the table definition (see above).
Storing curve tables in a variety of memory types entails an optional
specification of the memory type in delete calls for curve tables. (see above).
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.
The 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 memory area memType)
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
values)
– 2 periodic, modulo (LA and FA are periodic)
S Master value
Position value for which a following value is to be determined.
S Following 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 grad
Parameter in which the pitch of the table function is returned.
S memType
Optional parameter for specifying the memory type to be used to create the
curve table.
Possible values:
“SRAM” Curve table is created in static memory
“DRAM” Curve table is created in dynamic memory.
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 run perpendicular 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 pre-
cisely the axis identifiers that have been programmed in CTABDEF as the lead-
ing axis and following axis identifiers. In the case of programming errors,
alarms or incorrect contours may be generated.
Reading With the program commands CTAB and CTABINV you can read off the following
table positions value for a master value (CAB) from the parts program and from synchronous
actions, or the reversal of the curve table, i.e. read off the master value for a
following value. With the aid of the pitch value, you can calculate the speed of
the following 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 calls:
CTABSSV
CTABSEV
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 ensured if only G1 blocks or axis polynomials are
used to defined 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 correction is active for polynomial interpolation.
In these cases, the language commands CTABSSV and CTABSEV may not be
sued to query the start and end points of the programmed segments. An
example for reading the start and end values of the segment is given in:
References: PGA, Programming Guide, Production Planning
Optional parame- The functions CTAB, CTABINV, CTABSSV and CTABSEV have optional
ters parameters for the leading and following axes. If one of these parameters is
programmed, the master value and following value are modified using the
scaling factors of the relevant axes.
This is particularly important if axes have been configured with different length
units (inch/metric). If no optional parameters are programmed, the master value
and following value are treated as path positions in the conversion from external
to internal representation. This means that the values are multiplied according
to the configured resolution (decimal places) and the remaining decimal places
truncated.
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
program command CTABINV requires a further parameter, in addition to the
following value, which it uses to select the ’correct’ master value. CTABINV
always returns the master value that is closest to this auxiliary parameter. This
auxiliary value can, for example, be the master value from the previous
interpolator 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 inaccura-
cies may give rise to contours, which can cause the reversal function to pro-
duce results that deviate from those that would be obtained in a calculation
where the accuracy is unrestricted.
S in a parts program or
S in the definition of a synchronous action.
Multiple use A curve table can be used several times in a single parts program to couple
different channel axes.
Using The memory available in SRAM and DRAM (from SW 6.4) for the curve tables is
memory 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.
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
memory temporary 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
detected in the new table, the old table is not overwritten.
If the user wishes to have the option of overwriting an existing curve table
without deleting it first, then he will need to dimension the table memory such
that there is always enough extra memory to accommodate the table to be
overwritten.
Overwriting curve Curve tables that are not active in a master value coupling may be overwritten.
tables
Deleting curve Curve tables that are not active in a leading value coupling may be deleted.
tables
Dependent With respect to the motion of a following axis which is dependent on the leading
Following axis axis, only the following axis interface signals which effect termination of the
motion (e.g. axis-specific feed stop, axis inhibit, controller 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 measur- Switchover of the position measuring system for the leading and following axes
ing system 1/2 is not inhibited for an active coupled axis grouping. The coupling is not
(DB31, ... invalidated on measuring system switchover.
DBX1.5/1.6)
Recommendation: Switch the measuring system over when the coupling is
deactivated.
S Determine number of curve table segments used for a particular curve table
CTABSEGID(n)
Result:
>= 0 Number of curve segments
–1 Curve table with number n does not exist.
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
basis of master values (e.g. positions of another axis).
Master value ob- Is the input variable for the curve table.
ject
The following can be defined as the position of the master value object:
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. To do this set MD 30132: IS_VIRTUAL_AX=1.
Note
Setpoint coupling is the default for the master value object.
Virtual leading When switching over to master value coupling, the simulation can be
axis/simulated programmed with the last actual value read, whereas the path of the actual
master value value is 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
coupling to setpoint value coupling and a traversing command issued for the
leading axis in the same interpolator cycle, the interpolator for the axis is
initialized by the NCK such that the master value produces a constant path in
the first derivation.
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
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 active outside the table defini-
tion, even in the 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 master The calculated position of the following axis
value is offset by the increment speci- is offset by the specified increments. If the
fied. TAB is offset beyond the FA LEADON posi-
tion, the link cannot be activated.
Setting data active outside the table defini-
tion, even in the negative direction.
FA FA
LA LA
With IN, OFFSET is not active outside TAB! With OUT, OFFSET active outside TAB!
Fig. 2-3 Master value coupling offset and scaling (with increment offset)
Reaction to stop All following axes coupled to the master value react to channel stop and
MODE GROUP stop.
Following axes coupled to the master value react to a stop due to end of
program (M30, M02) if they have not been activated by static synchronous
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
following 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).
Interface to axis A following axis that is coupled to a leading axis receives its setpoint values
exchange from the tables of curves. Overlaid programming of this axis is not possible
in the parts program. Thus, the following axis coupled by the master value 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 parts program.
If the coupling is to be activated with synchronous 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 parts program.
Spindles in the A spindle can only be used as the master-value-coupled following axis if it has
master value cou- been switched to axis mode beforehand. The machine data parameter block of
pling the axis drive then applies.
Example (activate from synchronous action):
SPOS=0
B=IC(0xb) ; switch spindle to axis mode
RELEASE(Y) ; enable for synchronous 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 command for:
Travel direction
Travel direction
LINK ON LINK ON
The link is not activated until the LA reaches The link is not activated until the LA reaches
the table area of the FA. the table area of the FA.
Leading axis:
Following axis
Deactivation A master value coupling is deactivated with the model command for:
Note
Activating and deactivating the axis master value coupling with LEADON,
LEADOF is permissible both in the parts program and in synchronous actions.
References: /FB/, S5, “Synchronous actions”
Type of coupling 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 axis)
1: Setpoint value coupling (default)
2: Simulated master value (note that the virtual axis is not evaluated for
FA)
Readable system The system variables of the master value can be read from the parts program
variables of the and from synchronous actions:
master value
S $AA_LEAD_V[ax] ;Velocity of the leading axis
Readable and writ- The velocities and positions of simulated master values (when
able master value $SA_LEAD_TYPE[ax]=2) can be written in and read from the parts program
variables and synchronous actions:
Detecting synchro- System variable $AA_SYNC[ax] that can be read from the parts program and
nism synchronous action indicates whether and how following axis FA is
synchronized:
0: Not synchronized
1: Synchronism coarse (according to MD 37200:
COUPLE_POS_TOL_COARSE)
3: Synchronism fine (according to MD 37210:
COUPLE_POS_TOL_FINE)
The information from system variable $AA_SYNC[ax] corresponds to the
assigned VDI signals:
NST “Synchronism fine” DB 31, ... DBX98.0 und
NST “Synchronism coarse” DB 31, ... DBX98.1
Note
If the following axis is not enabled for travel it is stopped and is no longer syn-
chronous.
Effectiveness A master value coupling is active depending on the settings in the parts
program and in the machine data MD 20110: RESET_MODE_MASK and MD
20112: START_MODE_MASK.
Manual operation When an axis master value coupling is activated, the traversing movement of
the leading axis (e.g. in rapid traverse or incremental dimension INC1 ...
INC10000) causes a following axis to traverse as a function of the definition in
the curve table.
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 The behavior after NC start/RESET is determined by the setting in MD 20110:
start/RESET RESET_MODE_MASK (bit 13) and MD 20112: START_MODE_MASK (bit 13):
S MD 20110: RESET_MODE_MASK=1H
==> Master value coupling is cancelled with RESET, independently of
MD 20112: START_MODE_MASK
Master value coupling activated per IDS=... is deactivated
only via operator panel front reset and remains valid after program
end/reset (M30, M02).
S MD 20110: RESET_MODE_MASK=0H
==> Master value coupling remains valid beyond RESET and is
invalidated on START, independently of MD 20112:
START_MODE_MASK.
Master value coupling activated per IDS=... remains valid however.
References: /FB/, K2, “Coordinate System, Axis Types, Axis Configurations, ...”
Activating, Master value couplings activated per synchronous action (IDS=...) are
deactivating S not deactivated during program start, irrespective of the value for
MD 20110: RESET_MODE_MASK and MD 20112: START_MODE_MASK.
S not deactivated during program end reset (M30, M02), irrespective of the
value for 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 measur- Switchover of the position measuring system for the leading and following axes
ing system 1/2 is not inhibited for an active coupled axis grouping. The coupling is not
(DB31, ... invalidated on measuring system switchover.
DBX1.5/1.6) Recommendation: Switch the measuring system over when the coupling is
deactivated.
Dynamic response Depending on the application in question, it may be advisable to match the
of control system position controller parameter settings (e.g. servo gain factor) of the leading axis
and coupled axis in an axis grouping. It may be necessary to activate other
parameter sets for the following axis. The dynamics of the following axis should
be the same or better than those of the leading axis.
Actual-value The display of the actual value is updated for all axes of an axis grouping (only
display 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-)positioning via the NC with external master values.
Function The “Electronic gear” function can be used to interpolate the motion of a
following axis FA as a function of up to five leading axes LA. The relationship
between each leading axis and the following axis is defined by a coupling factor.
The following axis motion components derived in this manner from the
individual leading axis motion components have an additive effect.
FAset = SynPosFA + (LA1–SynPosLA1)*KF1 +... +(LA5–SynPosLA5)*KF5
where:
SynPosFA, SynPosLAi From call EGONSYN (see below)
FAset Part setpoint of following axis
LAi Setpoint or actual value of leading axis i
(dependent on coupling type (see below)
KFi Coupling factor of leading axis i (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.
An EG axis grouping can be
S defined,
S activated,
S deactivated,
S deleted
from the parts program.
Expansions from As of Software Release 6, the influence of each of the 5 leading axes can be
SW 6 specified through a curve table (see Section 2.2) as an alternative to a gear
ratio (KF=numerator/denominator).
It is thus possible for each curve (except for the special case of a straight line)
for the leading axis to influence the following axis in a non-linear manner. The
function can only be used with EGONSYN.
As of SW 6.3,
the function EG wit curve tables can be activated with EGON.
As of SW 6.4
The function EGONSYNE is available for approaching the synchronous position
of the following axis with a specified approach mode.
For special applications, it can be expedient to 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 on the basis of numerators/denominators.
The coupling factor values “numerator” and “denominator” are specified for
each leading axis in the activation calls
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 Electronic gears can be switched in series. This means: the following axis of an
SW 6 EG can take the place of a leading axis of a series-connected EG. Chapter 6
contains a detailed example of this.
LA1
Z
e
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
defined by the rule of motionn of the gear specified by the positions of the
leading axes at this time if the parts 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 synchronization 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 synchronizing
for EGONSYN position for the following axis is specified by the command.
The control then traverses the following axis with just the right acceleration and
speed to the specified synchronization position so that the following axis is in
position with the leading axes at its synchronization position.
Synchronizationfor With EGONSYNE(), the positions of the leading axes and the synchronizing
EGONSYNE position for the following axis is specified by the command.
The control moves the following axis to the synchronized position according to
the program approach mode.
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 deviation 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 deviation in synchronism called be polled
from the parts program. See below.
Changes in the The mass inertia of the axis systems during acceleration can cause dynamic
deviation in fluctuations in the deviation in synchronism. The deviation in synchronism is
synchronism checked continuously and the tolerance values in the machine data used to
produce interface signals.
The deviation 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 “Synchronous run, fine” DB 31, ... DBX 98.0
IS “Synchronous run, coarse” DB 31, ... DBX 98.1
Difference As long as the difference in the synchronous run is greater than MD 37200:
> ..TOL_COARSE COUPLE_POS_TOL_COARSE, the gear is not synchronized and neither the IS
“Synchronization coarse” DB 31, ... DBX 98.1 nor IS “Synchronization fine” DB
31, ... DBX 98.0 are present at the interface. Instead, the signal IS
“Synchronization in progress” DB 31, ... DBX 99.4 is displayed.
Deviation in syn- Deviation in synchronism for EG cascades is the deviation of the actual position
chronism for EG of the following axis from setpoint position that results fro the rule of motion for
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 deviation calculation can be read as an amount in
synchronism devi- the parts program with system variable $VA_EG_SYNCDIFF. The relevant
ation value value with sign is available from SW 6.4 in the system variables
$VA_EG_SYNCDIFF_S. It means:
– Negative value (for leading axis and following axis in positive direction of
motion):
The following axis stays behind the computed setpoint position.
– Positive value (for leading axis in positive direction of motion):
The following axis is in front of its computed setpoint position
(overshoot).
The amount of the synchronization difference with sign corresponds to the
system 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 parts program block change is to be executed:
The conditions are specified by means of string parameters with the following
meanings:
“NOC” Change block immediately
“FINE” Change block in response to “Fine synchronism” signal
“COARSE” Change block in response to “Coarse synchronism” signal
“IPOSTOP” Change block in response to “setpoint-related synchronism” signal
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 OFF/
cold start power ON)
a) the EG status is not and
b) the EG configuration are not retained.
Violated synchro- If the synchronism conditions are violated, all axes are stopped. I(n this case,
nism conditions their positions checked by the control up to the stop. Extended stop and retract
(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
parts 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 al 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 relat-
ing to the electronic gear must be programmed
on their own in a block in a parts program.
All commands for the electronic gear, except for activation commands
– EGON
– EGONSYN
– EGONSYNE trigger a preprocessing stop.
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 least one leading axis (up to five masters are allowed), each with the relevant
grouping 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. (S.
EGON, EGONSYN, EGONSYNE).
Preconditions for defining an EG axis grouping:
No existing axis coupling may already be defined for the following axis.
(If one does already exist, it must be deleted beforehand with EGDEL.)
EGDEF triggers a preprocessing stop with error message.
EGDEF in SW 6 Gear definition with EGDEF should also be used unaltered when one or more
leading axes affect the following axis via a curve table in systems with SW 6
and higher.
With synchroniza- The EG axis grouping is switched on selectively with synchronization with:
tion
1st EGONSYN EGONSYN(FA, block change mode, SynPosFA, LAi, SynPosLAi, Z_LAi, N_LAi)
with:
FA Following axis
Block change mode:
“NOC” Block change takes place immediately
“FINE” Block change takes place with “Synchronization fine”
“COARSE” Block change takes place with “Synchronization coarse”
“IPOSTOP” Block change takes place with synchronization on the
setpoint side
SynPosFA Synchronized position of following axis
LAi: Axis identifier of leading axis i
SynPosLAi: Synchronized position of leading axis i
Z i: Numerator for coupling factor of leading axis i
N i: Denominator for coupling factor of leading axis i
Note
The parameters indexed with i must be programmed for at least one leading
axis, but for no more than five.
Only leading axes previously specified with the EGDEF command may be
programmed in the activation line.
Through the programmed “Synchronized positions” for the following axis
(SynPosFA) and for the leading axes (SynPosLA), positions are defined for
which the axis grouping is interpreted as synchronous. If the electronic gear is
not in the synchronized state when the grouping is switched on, the following
axis traverses to its defined synchronized position.
If the axis grouping includes modulo axes, their position values are reduced in
the modulo, thereby ensuring that they approach the fastest possible
synchronized position (so-called relative synchronization: e.g. the next tooth
gap after “centering”).
If IS “Enable following axis overlay” interface signal DB30(+axis number), ...
DBX 26.4 is not specified for the following axis, the synchronized position is not
approached. Instead the program is stopped at the EGONSYN block and the
self-clearing alarm 16771 is issued until the above mentioned signal is set.
2nd EGONSYNE EGONSYNE(FA, block change mode, SynPosFA, approach mode, LAi,
SynPosLAi, Z_LAi, N_LAi)
with:
FA Following axis
Block change mode:
“NOC” Block change takes place immediately
“FINE” Block change takes place with “Synchronization fine”
“COARSE” Block change takes place with “Synchronization coarse”
“IPOSTOP” Block change takes place with synchronization on the
setpoint side
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 re- In this case, the traversing modes time-optimized and path-optimized are
sponse with FA at identical.
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 speed in the positive direction
moving FA when the coupling is activated by EGONSYNE. The programmed synchronous
position of the following axis is 110, the current position 150. This produces the
two alternative synchronous positions 110 and 182 (see table above).
NTGP
v
max
NTGT
Fig. 2-7 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, synchronous position A = 110, B = 0, coupling factor 2/10,
approach mode = NTGT
EGONSYNE(A, “FINE”, 110, “DCT”, B, 0, 2, 10)
couple A to B, synchronous position A = 110, B = 0, coupling factor 2/10,
approach mode = DCT
EGONSYNE(A, “FINE”, 110, “NTGT”, B, 0, 2, 10, Y, 15, 1, 3)
couple A to B, and Y, synchronous position A = 110, B = 0, Y = 15,
coupling factor for B = 2/10, coupling factor for Y = 1/3,
approach mode = NTGT
Synchr. SW 6 and The syntax specified above applies with the following different meanings. If a
higher curve table is used for one of the :
Ni the numerator of the coupling factor for linear coupling must
be set to 0 (nominator 0 would be illegal for linear coupling)
nominator zero tells the control that
Zi should be taken as the number of the curve table to
be used. The curve table with the specified number
must already be defined at power up in accordance with
Section 2.2.
LAi The leading axis specified corresponds to the one specified
Coupling via coupling factor (linear coupling).
Variant 1 The following methods can be used to deactivate an active EG axis grouping.
EGOFS(following axis)
Note
At least one following axis must be specified.
The influence of the specified leading axes on the slave is selectively inhibited.
This call triggers a preprocessing stop.
If the call still includes active leading axes, then the slave continues to operate
under their influence. If the influence of all leading axes is excluded by this
method, then the following axis is braked to a standstill.
As of SW 6, there is no axis movement if the command EGONSYN is
deactivated selectively. If the following axis is to re-synchronize as in software
versions up to 5.3, you must program EGONSYN.
Note
Up to SW 5.3, the following axis approaches the new synchronous position
without the signal “Following axis overlay” DB31, ... DBX26.4 if the command
EGONSYN is deactivated selectively.
Note
The call is available for following spindles only.
With EGOFC it is necessary to program a spindle identifier.
The FPR() command can be used in SW 5 and higher 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
coupling factors.
S Velocity components from other leading axes and overlaid motions of the
following axis are not taken into account.
References: /V1/, Feeds
Application The following system variables can be used in the parts program to scan the
current states of an EG axis grouping and initiate appropriate reactions if
necessary:
Couplings The sections above (function descriptions for S3 and T3) describe axis
couplings in which a following axis is moved depending on one or more leading
axes/spindles.
Coupled axes x x
Electronic gears 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
SW 6.4 and higher As of this software version, the dynamics limits specified above may be
reduced or increased using commands from the parts program or from the
synchronous actions.
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 ap-
propriate technical knowledge of the control.
where FA is the following axis. Both an increase (100 < values 200) and a
reduction (1 value < 100) is possible. Values outside the valid range (1
value 200) are rejected and Alarm 14811 issued.
The relevant limits are then:
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/program
end
The dynamic values for reset, i.e. the values of VELOLIMA and ACCLIMA are
set channel-specific via MD 22410: F_VALUES_ACTIVE_AFTER_RESET.
2.5.2 Examples
Electronic gear
Axis 4 is coupled via a electronic gear coupling to X. The acceleration capability
of the following axis is limited to 70% of the maximum acceleration. The
maximum permissible velocity is limited to 50% of the maximum velocity. After
switching 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
coupling
Axis 4 is coupled to X via leading value coupling. The acceleration capacity of
the following axis is limited to 80% of the maximum acceleration.
......
N120 ACCLIMA[AX4]=80 ; 80 %
N130 LEADON(AX4, X, 2) ; Activate coupling
.....
Leading value
coupling with syn-
chronous action
Axis 4 is coupled to X via leading value coupling. The acceleration response is
limited to 80% as of position 100 per static synchronous action
......
N120 IDS=2 WHENEVER $AA_IM[AX4] > 100 DO ACCLIMA[AX4]=80
N130 LEADON(AX4, X, 2)
.....
For axis types Geometry axis, channel axis, machine axis and spindle, the
following readable system variables are available in parts programs and
synchronous actions:
In run–in
In the main run Reading the main run variable implicitly triggers a stop preprocessor.
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
disruption) and linked (synchronized actions). Actions are triggered when
reasons for initiating a separation of the tool and the workpiece are detected
under the supplementary conditions for temporary upholding of the axis
coupling in the electronic gear. These actions can be one or more of the ESR
reactions described below.
ESR reactions In SW % and lower, “Extended stop and retract” provides the following partial
reactions:
S “Extended stop”
(independent drive or externally driven) is a defined, delayed stop.
S “Retract”
(independent drive or externally driven) means “escape” from the machining
plane to a safe retraction position. This is to avoid a potential collision
between tool and workpiece.
S “Generator operation”
(independent drive) 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 or similar failure.
In addition, for
SW 6 and higher
S “Extended stop” (NC–prompted) is a defined, “delayed” and
“contour–friendly” stop.
Interplay of NC– NC–prompted reactions are triggered via channel–specific system variable
prompted reac- $AC_ESR_TRIGGER (not to be mistaken for nc–global system variables for
tions with ... drive–independent retraction $AN_ESR_TRIGGER).
$AC_ESR_TRIGGER enables a smooth interpolatory stop on the path or
contour.
The NC–prompted Retraction is performed in synchronism by the retraction
axes in the channel. To prevent confusion and operator errors, retraction axes
must always be assigned to exactly one NC channel and may not be switched
among the channels.
For NC–prompted stop, path interpolation is also processed further in the same
way as an electronic coupling via a definable period (MD 21380:
ESR_DELAY_TIME1), although an alarm, for example, with motion stop is
present. Then it is decelerated on the path as for NC–STOP.
For NC–prompted retraction, LIFTFAST/LFPOS is used in the same way as for
thread cutting.
In order to perform retraction outside AUTOMATIC mode as well, triggering of
this function is linked to the system variable $AC_ESR_TRIGGER. Retraction
initiated per $AC_ESR_TRIGGER is locked to prevent multiple retractions.
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 dis-
connect 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 does not trigger an EMERGENCY STOP autonomously. Since the
EMERGENCY STOP signal is feed from the PLC to the NCK, the PLC able to
actively trigger an ESR is required (e.g. per $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
defining further reactions.
Independent drive reactions are defined axially, that is, if activated each drive
processes its stop and retract request independently. An interpolatory or
path-aligned coupling of axes at stop or retract is not available (only for control
management).
A reference to the axes is timed.
During and after execution of independent drive 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: “Independent
drive stop/retract triggered” indicates this.
Note:
If retraction is not triggered in drive 611D, no alarm 26110 is issued.
Important
! Independent drive stop and retract are “automatically” triggered (as with com-
munication failure).
These drive-end reactions are therefore cross-channel functions. This means
that if independent drive stop and retract is triggered in one channel, the drives
of another channel also produce the independent drive stop/retract reactions
configured (and just enabled) for them.
Note
For independent drive reactions the behavior can be determined individually for
each axis.
Example For an example of how the independent drive reaction can be used, please
refer to Section 6.3.
Response The schedule for extended stop is defined by both 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 interpolates
the axis unhindered as programmed. After expiry of the period in MD 21380:
ESR_DELAY_TIME1, interpolatory braking (ramp stop) is initiated.
The maximum time for interpolatory braking is then the time in MD 21381:
ESR_DELAY_TIME2; after this period, rapid deceleration with subsequent
correction is initiated.
This schedule applies if MD 37500: ESR_REACTION > 20 applies for at least
one of the axes applied by the NCU. If this condition is not satisfied, the alarm
reactions are not delayed. If no ESR is active in the cycle, the above-mentioned
alarm reactions are delayed one IPO cycle (it takes one IPO cycle to check
whether ESR is active).
For all other axes MD 37500: ESR_REACTION = 0 not mentioned, rapid
deceleration with subsequent follow-up is initiated at the start of extended stop
($AC_ESR_TRIGGER = 1).
During processing of all commands, especially ones that result in an axis stop
(e.g. RESET, Stop, Stopall, StopByAlarm), as well as the standard alarm
reactions STOPBYALARM and NOREADY, the total for times
ESR_DELAY_TIME1 and ESR_DELAY_TIME2 are delayed.
An NC-prompted stop interacts with the electronic gear (cf. 2.4). It contains the
(selective) switchover of the electronic gear to actual value coupling if there is a
fault in the leading axes, and also upholds interpolation and enable (“Continue
travel”) during a period which can be specified per 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/prompted extended shutdown can be taken from the figure
below.
Speed n
T1 (MD) T2 (MD)
MD 21380 MD 21381 Time t
Note
The summer time T1 and T2 should not exceed a maximum value, e.g. 1
second, for security reasons.
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.
The precondition for a properly functioning ESR is that the activate signals are
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.
Precondition:
The retraction position must be programmed in the parts program. The activate
signals must be set for the retraction movement and remain set.
Fast retraction to the position defined with POLF is triggered via G code LFPOS
of the modal 46th G code group.
The lift configured with LFPOS, POLF for the axes selected with POLFMASK
replaces the continuous-path motion defined for these axes in the parts
program. Lifting to a position is not interpolated as an overlaid movement. This
can produce undesired effects for axes that are coupled to a leading axis.
The extended retraction (i.e. LIFTFAST/LFPOS initiated through
$AC_ESR_TRIGGER) is cannot be interrupted and can only be terminated
prematurely per EMERGENCY STOP.
Speed and acceleration limits for the axes involved in the retraction a monitored
during extended retraction.
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.
Programming The destination for the retraction axis is programmed with the language
command:
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
machine coordinate system MCS must be specified. Frames with rotation do not
affect the position for retraction.
If the identifiers for the geoaxis and channel/machine axis are identical,
retraction is carried out in the workpiece coordinate system.
Change coordinate If the coordinate system is to be changed, fast retraction must first be
system deactivated with POLFMASK() and then POLF used to carry out programming
in the new coordinate system.
Deactivate fast POLFMASK() without specifying an axis deactivates fast retraction for all axes.
retraction In the above terms, retraction is no longer activated.
Start of parts The positions programmed with POLF and the activation by POLFMASK are
program deleted when the parts program is started. This means that the user must
program the values for POLF and the selected axes (POLFMASK) in each
parts program.
Example An example application for parameterizing with several axes and incremental
programming is giving in Section 6.3.
Note
If NC-prompted 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 (with-
out 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 synchronous actions can
be used to trigger specific reactions based on sources. Logic operations of all
relevant sources by means of static synchronous 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 synchronous actions are
effective in all operating modes. For a detailed description on how to use
synchronous actions, please refer to:
References: /FBSY/ Description of Functions Synchronized Actions
/PGA/ Programming Guide Advanced
(Synchronous 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 when 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.
After the relay picks up, a minimum of 1/2 IPO cycle and a maximum of 3 IPO
cycles pass.
The time for power failure detection is derived from this:
Worst case approx. 120ms
Best case approx. 15ms
Limits of DC link The DC link is monitored for the following voltage limits:
overvoltage
DC voltage
ÉÉÉÉÉ ÉÉÉÉÉÉÉÉ
Working range
648V pulse resistor module
ÉÉÉÉÉ
644V
618V
The drive and DC link pulses are deleted at specific voltage levels. This
automatically 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 internal error source for retracting. This is to avoid disconnection
of the drive hardware without separation of workpiece and tool when the DC link
voltage is less than the minimum of 280V.
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). Precondition is that the logic operation for the
synchronous action is dependent on the system variable $AA_ESR_STAT.
This means that any parameterized and programmed ESR is carried out if it is
enabled via system variable $AA_ESR_ENABLE.
The power required for ESR can be supplied to the DC link by parallel,
regenerative braking: See DC link backup.
UDCnom 600V/625V
ÉÉÉÉÉÉÉÉÉÉ
gency retraction LINK_VOLT-
AGE_RETRACT MESSAGE:
ÄÄÄÄÄÄÄÄÄÄ
ÉÉÉÉÉÉÉÉÉÉ
DC link voltage < MD1634
UDCoff
ÄÄÄÄÄÄÄÄÄÄ
280V
ÄÄÄÄÄÄÄÄÄÄ
SIMODRIVE “OFF”
ÄÄÄÄÄÄÄÄÄÄ
t
Note
As of SW 4.2, setting the preset value from 600 V to 0 V activates measure-
ment of the DC link voltage per default.
To enable fault-free start-up of older hardware that does not have a DC link
measurement MD 1161 “Calculate controller data” (FIELD-
VAL_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 synchronous 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
requirements for maintaining the current motions (DC link backup and
monitoring for generator speed limit).
DC link voltage
U Message:
DC link generator active
600/625V
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 280V
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 feeback to
the DC link takes place. The drive measures the DC link voltage cyclically (in
the position control cycle). If the voltage exceeds the value set in MD1631:
LINK_VOLTAGE_GEN_ON and MD1632: LINK_VOLTAGE_GEN_HYST, the
two-step control 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-controlled 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 source of error for ESR.
Speed n
T1
Braking ramp according to machine data Time t
Reactions 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
leading/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) independently
conduct a retract motion
External The external safety logic for a control drive pair with drive emergency retraction
safety 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
geometry-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 that it specified in the drive.
Note
S The independent drive emergency retraction is only effective if the bit “pulse
suppression” is set to OFF in MD1612: ALARM_REACTION_POWER_ON
and MD1613: ALARM_REACTION_RESET.
Voltage failure The following hardware and software components are required:
S Hardware components
– SINUMERIK 840D with e.g. NCU 573 and MMC 103
– 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
required.
– Capacitor module (6FX2 006–1AA00) for backing up the 115–230VAC
power supply for the central controller and the operator panel front or
alternatively the 24VDC power supply.
S Software components
– System software: V5
– ESR option
DC link backup The energy available in the drive DC links on power failure is calculated as
follows:
E = 1/2 * C * (UDC2 – Umin2)
With
E= Energy in watt seconds [Ws]
C= Overall capacitance of the DC link in Farad [F]
UDC= Contents of MD1634: LINK_VOLTAGE_RETRACT
Umin= Minimum limit for safe operation
(taking the motor-specific electromotive force into account, but
still above the deactivation threshold of 280 V in all cases)
Example:
For C= 6000F (see Table 2-4, 1st line) – 20% = 4800 F
UDC= 550V (MD 1634)
Umin= 350V (assum.)
E is calculated as:
tmin = E / Pmax *
The following table shows the values for different I/RF units. Nominal and
minimum 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 contents Energy contents 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
capacitor module or a generator axis/spindle (with correspondingly dimensioned
centrifugal mass).
Stopping as en- From approx. the third interpolator cycle, changes are made to the speed
ergy supply setpoints for the configured stop/retraction axes/spindles.
After this time lapse, the braking phase starts (if no independent drive stop is
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
kinetic 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 16kW unit under maximum load and minimum DC link capacitance it
should be possible to execute an emergency retraction without generator
operation. For this, the interpolator cycle time should theoretically be a max. of
4.86ms, i.e., in this case you can set a max. of 4ms.
If required a more powerful NC-CPU can be used in order to achieve optimum
conditions.
Independent drive Independent drive 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.
Important:
After independent drive stop and retract it is necessary to perform a power ON.
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.
Usually this situation does not occur at the same time as a power failure.
Generator opera- Generator operation is intended for situations where the DC link power is
tion insufficient for safe retraction (for at least three IPO 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. (In normal conditions measurement every 4 ms.)
The energy stored in the drive
E = 1/2 * * ω2
where
= 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 gen-
erator 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
modules.
Power OFF/ If the retraction logic is stored in motion-synchronous actions, they are not yet
power ON active on power ON.
If logic operations are to be active after power ON, they must be activated in an
asynchronous subroutine started by the PLC.
If an independent drive stop/retract is triggered, the drive software subsequently
requires a power OFF/power ON.
As of Software Release 6, the function “Event-controlled program calls” may be
used instead of ASUB.
Mode change, NC Static synchronous actions can be used for the logic operations (vocabulary
Stop word IDS). They are not affected by a mode change or NC Stop/reset.
Positioning a command axis/spindle is aborted with channel stop.
ESR is available in the modes AUTO, JOG, MDA.
Start of parts pro- On start of a parts program, the values programmed for POLF and activation by
gram 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 parts
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
Operational perfor- The axis/spindle components participating in “Extended stop and retract”,
mance of the com- “drives, motors, encoders” must be operational. If one of these components
ponents fails, the full scope of the described reaction can no longer be guaranteed.
Axis-specific servo or drive alarms describing the failure of one of these
components are also implicitly signaling that the configured stop or retract
reaction of the axis (axes)/spindle(s) is no longer (fully) available.
Motion- Motion-synchronous actions are executed in the interpolator cycle. If there are
synchronous many motion-synchronous actions, the runtime of the control for processing the
actions cyclical interpretation of conditions in the synchronous 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 that the corresponding
NC-prompted reaction (reason: when broadcast mode is activated for the drive,
each drive-independent reaction becomes directly active)
Power ON If independent drive 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
Availability of This function is available for
“Coupled motion”
function
S SINUMERIK FM–NC with NCU 570, SW 2 and higher.
S SINUMERIK 840D with NCU 571/572/573, SW 2 and higher.
S SINUMERIK 810D, SW 3.2 and higher.
S SINUMERIK 840Di, 840DiE
Notes
11660 NUM_EG
MD number Number of possible EG axis groupings
Default setting: 0 Min. input limit: 0 Max. input limit: 31
Changes effective after power ON Protection level: 1 / 1 Unit: –
Data type: Byte Applies from 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 Min. input limit: 0 Max. input limit: plus
Changes effective after power ON Protection level: 1/1 Unit: -
Data type: DWORD Applies from 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 Min. input limit: 0 Max. input limit: plus
Changes effective after power ON Protection level: 1/1 Unit: -
Data type: DWORD Applies from 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
18404 MM_NUM_CURVE_POLYNOMS
MD number Number of curve table polynomials (SRAM)
Default setting: 0 Min. input limit: 0 Max. input limit: plus
Changes effective after power ON Protection level: 1/1 Unit: -
Data type: DWORD Applies from 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 Min. input limit: 0 Max. input limit: plus
Changes effective after power ON Protection level: 1/1 Unit: –
Data type: DWORD Applies from SW 6.3
Meaning: Number of curve tables in DRAM available NCK-wide
Related to .... MD 18408, MD 18410
Further references PGA
18408 MM_NUM_CURVE_SEGMENTS_DRAM
MD number Number of curve segment (DRAM)
Default setting: 0 Min. input limit: 0 Max. input limit: plus
Changes effective after power ON Protection level: 1/1 Unit: –
Data type: DWORD Applies from SW 6.3
Meaning: Number of segments for curve tables in DRAM available NCK-wide
Related to .... MD 18406, MD 18410
Further references PGA
18410 MM_NUM_CURVE_POLYNOMS_DRAM
MD number Number of curve table polynomials (DRAM)
Default setting: 0 Min. input limit: 0 Max. input limit: plus
Changes effective after power ON Protection level: 1/1 Unit: –
Data type: DWORD Applies from SW 6.3
Meaning: Number or polynomials for curve tables in DRAM available for NCK-wide
Related to .... MD 18408, MD 18406
Further references PGA
20900 CTAB_ENABLE_NO_LEADMOTION
MD number Curve tables with jump of following axis
Default setting: 0 Min. input limit: 0 Max. input limit: 2
Changes effective after RESET Protection level: 2/7 Unit: –
Data type: BYTE Applies from SW 6.3
Meaning: This MD configures how jumps of the following axis are processed
in the curve tables. A jump of the following axis arises when a movement of the following
axis is present in a segment of the curve table but there is on movement of the leading axis.
Such jumps of the following axis can either be programmed directly, or are produced inter-
nally in the control.
Such segments can be produced when a curve table is generated with active tool radius
offset.
20905 CTAB_DEFAULT_MEMORY_TYPE
MD number Default memory type for curve tables
Default setting: 0 Min. input limit: 0 Max. input limit: 1
Changes effective after RESET Protection level: 2/7 Unit: –
Data type: BYTE Applies from 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
21380 ESR_DELAY_TIME1
MD number Delay time (STOPBYALARM, NOREAD) for ESR axes
Default setting: 0 Min. input limit: – Max. input limit: plus
Changes effective after NEW CONF Protection level: 2 / 7 Unit: c
Data type: DOUBLE Applies from 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 Section 6.3.2
Related to .... ESR_DELAY_TIME2
21381 ESR_DELAY_TIME2
MD number Time for interpolatory braking for ESR axes
Default setting: 0 Min. input limit: – Max. input limit: plus
Changes effective after NEW CONF Protection level: 2 / 7 Unit: c
Data type: DOUBLE Applies from SW 6
Meaning: When the time $MC_ESR_DELAY_TIME1 expires, the time specified here for interpolatory
braking ($MC_ESR_DELAY_TIME2) still applies.
Diagnose.awl.
When the time $MC_ESR_DELAY_TIME2 expires, rapid deceleration with subsequent
follow-up is initiated.
Application example(s) See Section 6.3.2
Related to .... ESR_DELAY_TIME1
30132 IS_VIRTUAL_AX
MD number Axis is virtual axis
Default setting: 0 Min. input limit: *** Max. input limit: ***
Changes effective after NEW CONF Protection level: 2/7 Unit: -
Data type: BOOLEAN Applies from 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
37500 ESR_REACTION
MD number Reaction definition with extended stop and retract
Default setting: 0 Min. input limit: 0 Max. input limit: 22
Changes effective after NEW CONF Protection level: 2/7 Unit: -
Data type: BYTE Applies from SW 5.1 or 6
Meaning: Selection of the reaction to be triggered via system variable “$AN_ESR_TRIGGER/
$AC_ESR_TRIGGER”:
0 = no reaction (or exclusively external reaction through synchronous action
programming of fast digital outputs).
Drive MD MD 1636: RETRACT_AND_GENERATOR_MODE is set to 0.
10 = independent drive generator mode
Drive MD 1636: RETRACT_AND_GENERATOR_MODE is set to 6.
11 = independent drive retraction axis
Drive MD 1636: RETRACT_AND_GENERATOR_MODE is set to 4.
12 = independent drive stop axis
(11 and 12 are activated together in the drive – as is the case with
communication failure – by broadcast to all drives)
1636 RETRACT_AND_GENERATOR_MODE is set to 2.
Selection of reaction to be triggered via system variable “$AN_ESR_TRIGGER”:
21 = NC-prompted retraction axis (SW 6 and higher)
Drive MD 1636: RETRACT_AND_GENERATOR_MODE is set to 5.
22 = NC-prompted standstill axis (SW 6 and higher)
All axes involved in IPO or EG are brought to smooth stop even without this
parameter setting. This parameter is used to configure the relevant independent
drive reaction for communication failure or DC link undervoltage:
(21 and 22 contain independent drive standstill and retraction exclusively for
communication failure or DC link undervoltage).
Drive MD 1636: RETRACT_AND_GENERATOR_MODE is set to 3.
If the option “Extended stop and retract” (ESR) is not enabled, the values are reset to 0.
Related to ....
37550 EG_VEL_WARNING
MD number Warning threshold for interface signals
Default setting: 90 Min. input limit: 0 Max. input limit: 100
Changes effective after NEW CONF Protection level: 2 / 4 Unit: %
Data type: REAL Applies from SW 5
Meaning: Threshold value for VDI signals
A velocity warning (signal) is output if an EG axis coupling is active and the current veloc-
ity of the axis has reached the percentage set here of the maximum velocities 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 has reached the percentage set here of the maximum acceleration
rates 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 Min. input limit: 0 Max. input limit: –
Changes effective after NEW CONF Protection level: 2/4 Unit: %
Data type: REAL Applies from SW 5
Meaning: Threshold value for VDI signal “Axis accelerating”
This signal is set when 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 Min. input limit: 0 Max. input limit: 2
Modification valid IMMEDIATELY Protection level: 7/7 Unit: –
Data type: DWORD Applies from SW 4.1
Meaning: Defines which value is to be used as master value:
0: Actual value
1: Setpoint
2: Simulated master value
43102 LEAD_OFFSET_IN_POS
SD number Master value offset
Default setting: 0 Min. input limit: Max. input limit:
Modification valid IMMEDIATELY Protection level: 7/7 Unit: –
Data type: DOUBLE Applies from 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 Min. input limit: Max. input limit:
Modification valid IMMEDIATELY Protection level: 7/7 Unit: –
Data type: DOUBLE Applies from 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 Min. input limit: Max. input limit:
Modification valid IMMEDIATELY Protection level: 7/7 Unit: POSN
Data type: DOUBLE Applies from 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 Min. input limit: Max. input limit:
Modification valid IMMEDIATELY Protection level: 7/7 Unit:
Data type: DOUBLE Applies from 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
Name $AC_ALARM_STAT
Meaning Contents not equal to 0: Alarms are present, the coded associated alarm reactions can be
used as a source for “Extended stop and retract”.
The data is bit-coded, thus if needed, it is also possible to mask or evaluate individual states
separately (bits that are not listed are reserved internally and always return “0” externally):
Bit 2=1: NOREADY (active rapid deceleration + cancellation of servo enable)
Bit6 = 1: STOPBYALARM (ramp stop for all channel axes)
Bit9 = 1: SETVDI (VDI interface alarm is set)
Bit13=1: FOLLOWUPBYALARM (follow-up)
Data type INT
Access Read in Write in Read in Write in
parts program parts program synchronous action synchronous action
x
ÉÉÉÉÉÉÉÉÉÉÉÉ
x
Implicit
preprocessing stop
x
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
Name $AA_ESR_STAT[axis]
Meaning (Axial) status feedback of “Extended stop and retract” which can serve as input signals for the
ESR logic operations (synchronous actions). The data is bit-coded, thus if needed, it is also
possible to mask or evaluate individual states separately: Drive machine data:
Bit 0=1: Generator operation is triggered (MD 1631: LINK_VOLTAGE_GEN_ON)
Bit 1=1: Retraction is triggered (MD 1634: LINK_VOLTAGE_RETRACT)
Bit 2=1: Stop is triggered (MD 1634: LINK_VOLTAGE_RETRACT)
Bit 3=1: Potential undervoltage (DC link voltage monitoring, value less than
warning threshold) (MD 1634: LINK_VOLTAGE_RETRACT)
Bit 4=1: Value below minimum generator speed threshold (that is, no more
recovery rotation energy available)
(MD 1635: GEN_AXIS_MIN_SPEED).
Data type INT
Access Read in Write in Read in Write in
parts program parts program synchronous action synchronous action
x x
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
Implicit x
preprocessing stop
Name $AA_ESR_ENABLE[axis]
Meaning 1 = (axial) enable of reaction(s) of “Extended stop and retract”. The required axial ESR reaction
must have been parameterized in MD37500 ESR_REACTION. Corresponding stop/retract
reactions can be triggered by means of the system variable $AN_ESR_TRIGGER (or indepen-
dent drive with communication failure/DC link undervoltage), generator operation is automati-
cally activated if voltage underflow occurs.
Data type BOOL
Access Read in Write in Read in Write in
parts program parts program synchronous action synchronous action
x x x x
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
Implicit x x
preprocessing stop
Name $AN_ESR_TRIGGER
Meaning (Global) control signal “Start stop/retract”. On signal transition from 0 to 1, the independent
drive reactions parameterized in the axial MD 37500: ESR_REACTION and enabled via axial
system variable $AA_ESR_ENABLE are started. Independent drive reactions require a sub-
sequent power OFF/power ON or NCK RESET.
Data type BOOL
Access Read in Write in Read in Write in
parts program parts program synchronous action synchronous action
x x
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
Implicit
preprocessing stop
Name $AC_ESR_TRIGGER
Meaning Channel-specific control signal “Start stop/retract” On signal transition from 0 to 1 the reactions
parameterized in the axial MD37500 ESR_REACTION and enabled via axial system variable
$AA_ESR_ENABLE are started for NC-prompted stops and retract.
Data type BOOL
Access Read in Write in Read in Write in
parts program parts program synchronous action synchronous action
ÉÉÉÉÉÉÉÉÉÉÉÉ x x
Implicit
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
preprocessing stop
x x
Implicit
preprocessing stop
Name $AA_ACCLIMA[n]
Meaning Percentage (%) acceleration offset set in main run with ACCLIMA[n]
Data type REAL
Range of values 1 – 200
Indexes Meaning: Geo axis, channel axis, machine axis, spindle Range of values
x x
Implicit x
preprocessing stop
Name $PA_VELOLIMA[n]
Meaning Percentage (%) velocity offset set in run-in with VELOLIMA[n]
Data type REAL
Range of values 1 – 200
Indexes Meaning: Geo axis, channel axis, machine axis, spindle Range of values
x x
Implicit x
preprocessing stop
Name $AA_VELOLIMA[n,m]
Meaning Percentage (%) velocity offset set in main run with VELOLIMA[n]
Data type REAL
Range of values 1 – 200
Indexes Meaning: Geo axis, channel axis, machine axis, spindle Range of values
x x
Implicit x
preprocessing stop
Name $PA_JERKLIMA[n]
Meaning Percentage (%) jerk offset set in run-in with JERKLIMA[n]
Data type REAL
Range of values 0 – 200
Indexes Meaning: Geo axis, channel axis, machine axis, spindle Range of values
x x
Implicit
preprocessing stop
Name $AA_JERKLIMA[n]
Meaning Percentage (%) jerk offset set in main run with JERKLIMA[n]
Data type REAL
Range of values 0 – 200
Indexes Meaning: Geo axis, channel axis, machine axis, spindle Range of values
x x
Implicit x
preprocessing stop
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: Cyclically Signal(s) valid from SW 5.1
Signal state 1 or signal If the following axis acceleration in the axis grouping of the electronic gear reaches or ex-
transition 0 –––> 1 ceeds the % of acceleration contained in MD 37560: EG_ACC_TOL which is set in
MD 32300: MAX_AX_ACCEL, then 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 synchronous actions. With 840, the
PLC has a locking influence on the ESR response. With 840D, it is possible to link the rele-
vant 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
machine. The machine comprises five numerically closed-loop-controlled axes
and an open-loop-controlled main spindle. The individual axes are as follows:
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
example, 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 set- workpiece table and cutter, and thus the number of teeth of the workpiece.
point of workpiece The second addend effects the necessary additional rotation of the C axis as a
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
workpiece, thus ensuring that the tool is equally stressed over its entire length.
Workpiece/ The values z0, z2, udz and udy are determined by the workpiece or tool and are
tool parameters thus specified by the NC operator or parts program.
Differential Differential constants udz and udy make allowance for the angle of the
constants workpiece teeth and for the cutter geometry. These differential constants can be
determined in user-specific cycles.
sinβ°
udz = ------ ⋅ 360 degrees
mn * π -----
mm
cosγ°
udy = ------ ⋅ 360 degrees
mn * π -----
mm
where:
mn = Normal module (in mm)
β° = Angle of inclination of gear wheel
γ° = Lead angle of hobbing cutter.
EGDEF(C, B, 1, Z, 1, Y, 1)
; Activate coupling
C1
+ X’
Z
X e 1:1
G1
C2
Y + Y’ Compensation f(Z)
Z
e 1:1
G2
C3
+ A’
Z
A
e 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 ge-
ometry
; 1st 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 for 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: /PGA/, Programming Guide “Advanced”
The system variables listed below are only used for explanatory 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 independent drive reaction
S axes Y and Z must stop after a 100ms delay to give the retraction axis time
to cancel the mechanical coupling.
Parameterization
1. Enable options “Ext. stop and retract” and “Static synchronous actions”.
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. speed in HEX format.
MD1638: RETRACT_TIME[X]=10 ; mm/max. speed 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
; rev/min
4. Function enable (from parts program or synchronous 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 rev/min)
6. Formulate trigger condition as static synchronous action(s), e.g.:
– dependent on intervention of 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
mechanical coupling.
Preconditions The options ““Extended stop and retract”, “Static synchronized actions” and
“ASUB” 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 ; Lift modes
POLFMASK(X) ; Activate lift fast from X axis
N25 G33 X100 I10 LFON ; Interrupt thread cutting ON
N30 X130 Z–45 K10 ;
N40 X155 Z–128 K10 ;
N50 X145 Z–168 K10 ;
N55 X120 I10 ;
N60 G0 Z0 LFOF ; Interrupt thread cutting OFF
N70 POLFMASK( ) ; Block retraction for all axes
M30
7.5 Alarms
A detailed description of the alarms which may occur is given in
References: /DA/, Diagnostics Guide
or in the online help in systems with MMC 101/102/103.
J
SINUMERIK 840D/840Di/810D
Description of Functions Special Functions
(Part 3)
Notes
Brief Description 1
Basic kinematics The basic kinematics of machines for “centerless grinding” are as follows:
Workpiece
X3,Y3
Regulating wheel rworkpiece Grinding
wheel
X0/Y0
a
X2/Y2
R1
rregulating wheel X1/Y1
Work
blade
Q1
Y
0 Q2
0 X
Definition of work- The position and size of the workpiece or workpiece to be ground (center point
piece diameter X3, Y3) is defined by a work blade (axes Q1, Q2), a regulating wheel (center
point X2, Y2) and a grinding wheel (center point X1, Y1), i.e. the center point
and radius of the workpiece are determined by a contact circle delineated by the
regulating wheel, grinding wheel and the straight line which in turn is defined by
the inclined support surface of the work blade.
Motion of work The regulating wheel can be moved in the X direction. The grinding wheel is
blade, regulating either stationary or it can be moved in the X direction. The work blade can be
wheel and grind- moved in the X direction and/or the Y direction with axes Q1 and Q2.
ing wheel
Preconditions
S The axes of the regulating and grinding wheels and of the work blade must
be positioned such that the workpiece can be ground from its initial
dimension to its final dimension.
S The part must remain in a stable position during the infeed motion, i.e. the
support point of the work blade must be within the top third.
What does the The programmed workpiece speed is the setpoint speed. When the “Constant
function do? workpiece speed for centerless grinding” is active, the speed of the workpiece is
kept constant during grinding.
If then
the diameter of the workpiece be- the speed of the regulating wheel is reduced when
comes smaller, “Constant workpiece speed for centerless grinding”
is active.
Detailed Description 2
Activation/deac- The commands for activating/deactivating the “Constant workpiece speed for
tivation of function centerless grinding” function are as follows:
Command Meaning
CLGON (setpoint speed of workpiece) Activation of “Constant workpiece speed for
Centerless Grinding On centerless grinding” function
CLGOF () Deactivation of function
Centerless Grinding Off
Note
Calculating the The speed of the regulating wheel is calculated from the setpoint speed of the
speed of the regu- workpiece as follows:
lating wheel
rworkpiece
Sregulating wheel = –––––––––––––– ⋅ Sprogrammed
rregulating wheel S in rev/min
The following data are required to calculate the speed of the regulating wheel:
Note
The radii of the grinding and regulating wheels are derived from the current
compensation data for T1, D1 (grinding wheel) and T2, D1 (regulating wheel).
Changes to the online tool offset are taken into account.
The spindle number of the regulating and grinding wheels as well as the
geometry-defining parameters (axis numbers, direction vector of work blade, ...)
are stored in machine data.
Response on When activated, the “constant workpiece speed for centerless grinding” function
transition is active for motional blocks without G0 only when MD:
from motional TRACLG_G0_IS_SPECIAL = “1”.
blocks with
and without G0 Table 2-1 Response on transition from motional blocks with and without G0
The valid values at the instant of preparation are used in the calculation of
corrections which are effective in online operation.
Gear stages The user must select gear stages appropriately to ensure that the regulating
wheel can sweep the required speed range. The gear stage limits are not
exceeded. When they are reached, the appropriate spindle signals are output at
the interface.
Monitoring The speed monitoring functions defined by G25 and G26 or the appropriate
functions setting data are active. They monitor
S the work blade range within which the calculated contact point with the part
to be ground must remain (as defined via MD).
Note
There is no further reaction to the response of this monitoring function. If reac-
tions are required, they must be programmed in the PLC program of the ma-
chine manufacturer.
Interface signals The following axis/spindle-specific signals are provided for this function:
Interface signal
CLGON Support Meaning
active range limits
violated
0 0 Centerless grinding not active
1 0 Centerless grinding active, no error
0 1 Centerless grinding active, but not functional owing to
error
1 1 Centerless grinding active, range limits violated
Note
The spindle (of the regulating wheel) can be braked with IS “Spindle reset”
(DB31–48, DBX2.2).
The spindle override is operative.
Notes
Supplementary Conditions 3
Availability The “constant workpiece speed for centerless grinding” function is available for
24100 TRAFO_TYPE_1
24200 TRAFO_TYPE_2
24300 TRAFO_TYPE_3
24400 TRAFO_TYPE_4
MD number Definition of transformation 1, 2, 3, 4 in channel
Default setting: 0 Min. input limit: 0 Max. input limit: ***
Changes effective after power ON Protection level: 2 Unit: –
Data type: DWORD Applies from SW 2.1
Meaning: The identifier of the desired transformation must be entered in this MD.
The identifier for transformation for the “Constant workpiece speed for centerless grinding”
function is 2048.
Related to .... MD: TRAFO_AXES_IN_1[n]
MD: TRAFO_AXES_IN_2[n]
MD: TRAFO_AXES_IN_3[n]
MD: TRAFO_AXES_IN_4[n]
24110 TRAFO_AXES_IN_1[n]
24210 TRAFO_AXES_IN_2[n]
24310 TRAFO_AXES_IN_3[n]
24410 TRAFO_AXES_IN_4[n]
MD number Axis assignment for transformation [Index]:
Default setting: 0 Min. input limit: 0 Max. input limit: max. no. of axes
Changes effective after power ON Protection level: 2 Unit: –
Data type: BYTE Applies from SW 2.1
Meaning: [0]: No. of axis in channel which moves the grinding wheel (e.g. axis 5 = X1)
[1]: No. of axis in channel which moves the regulating wheel (e.g. axis 4 = X2)
[2]: No. of axis in channel which moves the work blade (e.g. axis 3 = Q1)
[3]: No. of axis in channel which moves the work blade (e.g. axis 1 = Q2)
If TRAFO_TYPE_3 = 2048 and, for example, there is a regulating wheel (axis 4) and an
axis for the work blade (axis 3), then the following applies:
TRAFO_AXES_IN_3[1] = 4 and TRAFO_AXES_IN_3[2] = 3
Special cases, errors, ...... An axis must always be specified for the regulating wheel.
Related to .... MD: TRAFO_TYPE_1
MD: TRAFO_TYPE_2
MD: TRAFO_TYPE_3
MD: TRAFO_TYPE_4
21522 TRACLG_GRINDSPI_NR
MD number No. of grinding spindle
Default setting: 0 Min. input limit: 0 Max. input limit: max. no. of spindles
Changes effective after power ON Protection level: 2 Unit: –
Data type: BYTE Applies from SW 2.1
Meaning: The number of the grinding spindle is specified in this MD.
21524 TRACLG_CTRLSPI_NR
MD number No. of regulating spindle
Default setting: 0 Min. input limit: 0 Max. input limit: max. no. of spindles
Changes effective after power ON Protection level: 2 Unit: –
Data type: BYTE Applies from SW 2.1
Meaning: The number of the regulating spindle must be specified in this MD.
21500 TRACLG_GRINDSPI_VERT_OFFSET
MD number Vertical offset of grinding spindle
Default setting: 0 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2 Unit: mm, inches
Data type: DOUBLE Applies from SW 2.1
Meaning: The vertical offset of the grinding axis is specified in this MD.
21502 TRACLG_CTRLSPI_VERT_OFFSET
MD number Vertical offset of regulating spindle
Default setting: 0 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2 Unit: mm, inches
Data type: DOUBLE Applies from SW 2.1
Meaning: The vertical offset for the regulating axis is specified in this MD.
Note
Three quantities in each case are required to define the vertical and horizontal
offsets of the work blade (position X0/Y0).
21506 TRACLG_SUPPORT_HOR_OFFSET
MD number Horizontal offset for work blade
Default setting: 0 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2 Unit: mm, inches
Data type: DOUBLE Applies from SW 2.1
Meaning: X offset for work blade
Rule: X0 = Xoffset + Q1 <Xdirection vector Q1 + Q2 < Xdirection vector Q2
21504 TRACLG_SUPPORT_VERT_OFFSET
MD number Vertical offset for work blade
Default setting: 0 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2 Unit: mm, inches
Data type: DOUBLE Applies from SW 2.1
Meaning: Y offset for work blade
Rule: The following equation applies: Y0 = Yoffset + Q1 <Ydirection vector Q1 + Q2 <
Ydirection vector Q2
21510 TRACLG_HOR_DIR_SUPPORTAX_1
MD number Horizontal direction vector for the 1st axis of work blade
Default setting: 0 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2 Unit: mm, inches
Data type: DOUBLE Applies from SW 2.1
Meaning: X component of blade direction vector for Q1
Rule: X0 = Xoffset + Q1 <Xdirection vector Q1 + Q2 < Xdirection vector Q2
21508 TRACLG_VERT_DIR_SUPPORTAX_1
MD number Vertical direction vector for the 1st axis of work blade
Default setting: 0 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2 Unit: mm, inches
Data type: DOUBLE Applies from SW 2.1
Meaning: Y component of blade direction vector for Q1
Rule: Y0 = Yoffset + Q1 <Ydirection vector Q1 + Q2 < Ydirection vector Q2
21514 TRACLG_HOR_DIR_SUPPORTAX_2
MD number Horizontal direction vector for the 2nd axis of work blade
Default setting: 0 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2 Unit: mm, inches
Data type: DOUBLE Applies from SW 2.1
Meaning: X component of blade direction vector for Q2
Rule: X0 = Xoffset + Q1 <Xdirection vector Q1 + Q2 < Xdirection vector Q2
21512 TRACLG_VERT_DIR_SUPPORTAX_2
MD number axis of work blade axis of work blade
Default setting: 0 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2 Unit: mm, inches
Data type: DOUBLE Applies from SW 2.1
Meaning: Y component of blade direction vector for Q2
Rule: Y0 = Yoffset + Q1 <Ydirection vector Q1 + Q2 < Ydirection vector Q2
21516 TRACLG_SUPPORT_LEAD_ANGLE
MD number Angle of lead of work blade
Default setting: 0 Min. input limit: –90 Max. input limit: 90
Changes effective after power ON Protection level: 2 Unit: Degrees
Data type: DOUBLE Applies from SW 2.1
Meaning: You can enter the lead angle of the work blade (α) here.
21518 TRACLG_CONTACT_UPPER_LIMIT
MD number Upper support range limit
Default setting: 0 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2 Unit: mm, inches
Data type: DOUBLE Applies from SW 2.1
Meaning: It is necessary to specify the upper contact limit of the blade with the part to be ground (d1)
for the purpose of monitoring the support range limits.
Diagram
X0,Y0
X1/Z1
d1
α
d2
Y
X
Related to .... MD: TRACLG_CONTACT_LOWER_LIMIT
21520 TRACLG_CONTACT_LOWER_LIMIT
MD number Lower support range limit
Default setting: 0 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2 Unit: mm, inches
Data type: DOUBLE Applies from SW 2.1
Meaning: It is necessary to specify the lower contact limit of the blade with the part to be ground (d2)
for the purpose of monitoring the support range limits.
Related to .... MD: TRACLG_CONTACT_UPPER_LIMIT
21526 TRACLG_G0_IS_SPECIAL
MD number Effect for G0 blocks
Default setting: 1 Min. input limit: 0 Max. input limit: 1
Changes effective after power ON Protection level: 2 Unit: –
Data type: BOOLEAN Applies from SW 2.1
Meaning: It is possible to define here how the speed of the regulating wheel must respond in the case
of transitions between motion blocks with and without G0 (see Table 2-1).
TRACLG_G0_IS_SPECIAL = 1:
On transition from a motional block with G0 to one without, the speed of the regulating
wheel is increased during the G0 block to the desired initial speed in the block without G0.
TRACLG_G0_IS_SPECIAL = 0:
The speed of the regulating wheel is controlled only for motional blocks without G0 (the
transitions from a motional block with G0 to one without are not taken into account).
21501 TRACLG_GRINDSPI_HOR_OFFSET
MD number Horizontal offset of grinding wheel
Default setting: 0 Min. input limit: – Max. input limit: –
Changes effective after power ON Protection level: 2 Unit: mm, inches
Data type: DOUBLE Applies from SW 2.1
Meaning: The setting in this MD is significant only when MD: TRAFO_AXES_IN_n[0] = 0, i.e. no axis
is programmed for the grinding wheel.
Notes
Signal Descriptions 5
5.1 Axis/spindle-specific signals
Notes
Example 6
6.1 Example of machining sequences
S The axis for the regulating wheel is the 4th machine axis and designated
as X2.
Note
Parameters Note
Cutting-edge-specific offset data
$TC_DP1 Only grinding tools are permitted.
Tool-specific grinding data
$TC_TPG1 The number of the regulating or grinding spindle must be entered here.
The number specified must correspond to the appropriate machine data.
$TC_TPG8 The angle of inclination stored here has no effect.
$TC_TPG9 This parameter determines the radius data which are used in the center-
less calculation.
7.4 Alarms
A detailed description of the alarms which may occur is given in
References: /DA/, Diagnostics Guide
or in the online help in systems with MMC 101/102/103.
J
Notes
SINUMERIK 840D/840Di/810D
Description of Functions Special Functions
(Part 3)
Notes
Brief Description 1
Tangential The “Tangential control” function belongs to the category of NC functions with
control 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 corner, the 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 With 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 to advantage 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 the tangential follow-up control
Task definition The follow-up control for the rotary axis must be implemented such 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 on the plane defined by the two
leading axes is relevant.)
If there is a hidden corner in space, an intermediate block is inserted
before the block (here N6) causing the tangential jump. This intermediate
block moves the following axis to the new position. The block transition
is not rounded.
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 the block is executed.
N7 M30
S the assignment between the leading and following axes is declared to the
system (TANG)
Effect on The position of the rotary axis to which follow-up control is applied can act as
transformation 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 to-
gether with a transformation. TLIFT prevents the follow-up axis from overtravel-
ing and protects against excessive compensating movements.
Explicit program- If a following axis, which is being made to follow its leading axes, is positioned
ming of explicitly, then the position specification is added to the offset angle
follow-up axis programmed in the activation instruction TANGON. See 2.2.2. The 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 “Serch 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 further information about the SERUPRO multi-channel block search please
refer to:
Programming The programming instructions are provided in the predefined subprogam TANG.
The following parameters are transferred to the control:
Following axis (additional rotary axis) here C
Leading axis 1 (geometry axis) here X
Leading axis 2 (geometry axis) here Y
Coupling factor default 1
Identifier of coordinate system default “B”
“B” → basic coordinate system, optional
[“W” → workpiece coordinate system]
The appropriate axis identifiers are used to specify the axes. The coupling
factor is generally “1”.
The coupling factor can be omitted.
TANG(C, X, Y)
Programming The activation is programmed via a predefined subprogam TANGON. When the
tangential control is activated, the name of the following axis which must be
made to follow is transferred to the control. This specification refers to the
assignment between master and following axes made beforehand with TANG.
See 2.2.1. An angle between the tangent and the position of the following axis
can be specified optionally when follow-up is activated. This angle is maintained
by the control for as long as the following axis is made to follow. The angle is
added to the angle stored in machine data
$MA_TANG_OFFSET.
If the angle is zero both in TANGON and in the MD, the following axis takes the
direction of the tangent.
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 inserted if
the corner response is to be contained in an intermediate block.
TLIFT (C)
The control reads machine data $MA_EPS_TLIFT_TANG_STEP
for the tangential follow-up axis C. If the tangential angle jump exceeds the
angle (absolute value) of the angle set in the MD, the control recognizes a
“corner” and approaches the new position of the follow-up axis via an
intermediate block.
SW 6.4 and higher System variable $MC_TLIFT_BLOCK indicates whether the current block is an
intermediate block generated by TLIFT. If the value of the system variable is 1,
TLIFT inserted the current block as an intermediate block.
Programming The activation is programmed via a predefined subprogam TANGOF. The name
of the following axis to be decoupled from its leading axes for the remainder of
the machining operation must be transferred to the control in conjunction with
the subroutine name TANGOF.
The termination command with respect to the example in 2.2.1 is:
TANGOF(C)
The follow-up control process initiated with TANGON is terminated.
Termination of follow-up control initiates a preprocessing stop internally in the
control.
RESET/part pro- An activated tangential control can remain active for further machining
gram end operations. For further details, please refer to
Note
The assignment between 2 leading axes and one following axis specified by
TANG( ... ) is not canceled by TANGOF. See 2.2.6.
Example for geom- If the definition of the follow-up axis assignment is not canceled, an attempt to
etry axis switch- execute a geometry axis switchover is suppressed and an alarm is output.
over 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 canceled
; is still leading axis of follow-up
; axis assignment
Geometry axis The following example shows how TANGDEL is used correctly in association
switchover with with an axis switchover.
TANGDEL
Definition 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: /PA/, 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 Min. input limit: 0 Max. input limit: 180
Changes effective after RESET Protection level: 2 / 7 Unit: Degrees
Data type: DOUBLE Applies from 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 Min. input limit: – Max. input limit: –
Changes effective after RESET Protection level: 2 / 7 Unit: Degrees
Data type: DOUBLE Applies from 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
Name $AC_TLIFT_BLOCK
Meaning The system variable indicates whether the current block was generated by TLift as an inter-
mediate block.
0 Current block is not an intermediate block generated by TLIFT
1 Current block is an intermediate block generated by TLIFT
x
ÉÉÉÉÉÉÉÉÉÉÉÉ
x
Implicit
preprocessing stop
x ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
J
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
Example TANG(A,X,Y,1.0,“B”)
Corner in area TLIFT(A)
G1 G641 X0 Y0 Z0 A0
TANGON(A,0)
N4 X10
N5 Z10
N6 Y10
M30
Here, a corner is hidden in the area between N4 and N6. N6 causes a tangent
jump. That is why there is no rounding between N5 and N6 and an intermediate
block is inserted.
In the case of a hidden corner in area, an intermediate block is inserted before
the block that has caused the tangent jump. The intermediate block moves the
following axis to the new tangent position.
J
SINUMERIK 840D/840Di
Description of Functions Special Functions
(Part 3)
Notes
Brief Description 1
1.1 Brief description (840D/810D)
Aim of the This section describes how technology functions in the form of loadable compile
description cycles are installed and activated. The description applies to all of the following
technology functions available from Siemens:
S Setpoint exchange
Order no.: 6FC5 251-0AC05-0BA0
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 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
operational control using compile cycles from a technology PC card and want to
replace 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.
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/810D)
Supply format Technology functions which are available as loadable compile cycles must be
purchased as extensions:
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
Chapter 3 describes how to use existing archives and compile cycles.
2.1.1 Copying compile cycles into the flash file system (FFS)
Target directory Copy the ELF file of the compile cycle to the directory “\_N_CCOEM_DIR” of the
FFS on the PC card of the NCU. You can do this in several ways:
Via PC/PG with The installation software SinuCom Nc offers the menu item <File> <Load
MPI connection to compile cycle> as of Version 6.2.12.
NC (b) You can use this menu item to copy ELF files (<load> button) from any source
directory (bottom window) under Windows to the FFS of the PC card (top
window) while the PC card is inserted in the NCU.
SinuCom NC then offers to trigger an NCU reset to load the ELF file (see 2.1.2)
and also permits deletion of ELF files from the FFS.
Storage capacity The storage capacity specified in the table below must be free in the FFS in
order to load the functions. Please note that some functions load further
functions implicitly.
With HMI As of SW 6.3, the standard scope of HMI Advanced offers an operating menu
Advanced for loading ELF files. See /BAD/.
SW 6.3
2.1.2 Loading the compile cycles into the NCK system software
Each time the NCK is booted, all of the compile cycles in directory
– \_N_CCOEM_DIR
(ELF files) are automatically loaded into the NCK system software.
Version display Once the cycles have been loaded, the current compile cycle versions are
displayed in the HMI Advanced user interface at: Operating area switchover >
Diagnosis > Service > Version > NCU Version
Note
The start addresses of the code and data areas are displayed in addition to the
current versions for diagnostics purposes.
Load abort The following conditions can cause the load operation to be aborted:
a)
Alarm 7200 “Version conflict with CCNCK–Interface-Version”
A version of an ELF file does not match the current NCK system:
Reason 1:
An attempt was made to load an ELF file that is too old for the current
system.
Sign:
The ELF file could be loaded in an older NCK system.
Remedy:
Obtain a newer version of the ELF file.
Reason 2:
The ELF file uses interfaces provided only by more recent NCK
systems.
Sign:
The ELF file has been obtained.
Remedy:
Update of the NCK system required (or older ELF version)
b)
Alarm 7200 “CCXXXX_ELF Loader problem from dFixup”
A further file is needed in order to load the CC application successfully:
For example CCMATH1_ELF (mathematics library for particular OEM
transformations)
or CCSEC_ELF (SpaceErrorCompensation for particular OEM transformations)
The file name output in this alarm does not always refer precisely to the ELF file
that caused the problem.
c)
Alarm 7200 “CCXXXX_ELF NO EMBARGO”
Alarm 7200 “CCXXXX_ELF NO 840Di”
Alarm 7200 “CCXXXX_ELF NO 810D”
Use of the ELF file is not enabled in the specified system.
Caution
If any Alarm 7200 is active after start-up, NONE of the compile cycles were
loaded!
Note
The previous compile cycle option data
– MD 19600: $ON_CC_EVENT_MASK[#]
which were used to activate the compiled technology functions are not relevant
for the loadable compile cycles.
S $MN_CC_ACTIVE_IN_CHAN_<identifier>[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], bit 0 = 1
The meanings of all further machine data bits are described in the function
descriptions (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 (parts programs, tool data, etc.) will be
deleted on the next power-up. It may be necessary to create an archive AFTER
setting this data and PRIOR to triggering an NCK RESET.
Notes
Required Please proceed as follows to use technology functions from an existing archive
procedure in conjunction with an NCK version as of NCK 06.03.23:
1. Create back-up archive
a) standard procedure
b) with optimized S-RAM utilization
2. Insert new PC card
3. Incorporate the ELF files
4. Reset the NCU
5. Activate technology function
6. NCU RESET
7. Convert archive using arc4elf.exe
8. Load converted archive.
Standard a)
procedure Create a data back-up as described in /BAD/.
Optimized b)
Create a data back-up with optimized SRAM utilization:
This step is necessary only if an archive from SW 6.3.xx is used and when the
SRAM (buffered memory) is to be optimized:
New CC functions loaded per ELF reserve the SRAM required for the CC
machine data autonomously.
In order to optimize the use of the S-RAM, you can reset the global machine
data MD 18238: MM_CC_MD_MEM_SIZE to the default value 1. This first frees
the SRAM space explicitly reserved for the compile cycles and then reserves
the space actually needed for the ELF files.
If MD 18238: CC_MD_MEM_SIZE is not reset, the reserved space in S-RAM (in
kB ) remains unused.
Resetting $MN_MM_CC_MD_MEM_SIZE to 1 produces alarm 4400
“MD modification causes reorganization of the buffered memory (data will be
lost !)”
In this state, you must create a new archive PRIOR to a further NCU
RESET.
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 Subsection
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
Machine Data 4
60900 + i CC_ACTIV_IN_CHAN_XXXX[n]
where i = 0. 1. 2. 3 ... where: XXXX = function identifier, 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 Min. input limit: 0 Max. input limit:
Changes effective after RESET Protection level: 2 / 7 Unit: –
Data type: UINT16 Applies from SW: 6.4
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
See function descriptions TE1 – TE8 for details of the NC channels for which a technology
function can be activated.
Additional functions within the technology function:
The MD with index n = 1 activates additional functions within the relevant technology func-
tion. See function descriptions TE1 – TE8.
Notes
SINUMERIK 840D/840Di/810D
Description of Functions Special Functions
(Part 3)
Brief Description 1
Function The “clearance control” technology function is used to maintain a technological
description (1D) or three-dimensional (3D) clearance during a machining process. The
clearance to be maintained is the distance between the tool and the workpiece
surface.
Compile cycle The “clearance control” technological function is a compile cycle. The system-
specific availability and handling of compile cycles is described in the section
entitled “Installation and activation of loadable compile cycles” (TE0), Page
3/TE0/1-3 ff.
J
Notes
Detailed Description 2
2.1 Requirements
The “clearance control” technology function is used to maintain a technological
(1D) or three-dimensional (3D) clearance during a machining process. The
clearance to be maintained is the distance between the tool and the workpiece
surface. The laser cutting technology is used as an example for the further de-
scription of the “clearance control” functionality.
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 20cm.
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 approx p100m.
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 signal of the sensor is approximately proportional to the deviation
from the setpoint distance. It is transferred via an analog I/O module to the NC,
where it generates an additional speed setpoint for the motion axes of the ma-
chining head.
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 Motion axes X and Y
I/Os
Clearance control for axis Z
SINUMERIK
drive bus
Laser
+
–
Clearance
to be controlled
Workpiece surface
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
SIMODRIVE 611 universal
PROFIBUS DP
Laser
–
Clearance
to be controlled
Workpiece surface
Fig. 2-2 System components for clearance control with SINUMERIK 840Di
1D/3D The clearance control can be used for 1D and 3D machining with up to 5 inter-
machining polating geometry axes.
S 1D machining
In the case of 1D machining, only one machine axis is affected by the clear-
ance control, e.g. axis Z, as shown in the example machine configurations in
the system overview, Fig. 2-1 and Fig. 2-2. The clearance control acts in the
direction of the Z axis.
S 3D machining
In the case of 3D machining, up to 5 machine axes are affected by the clear-
ance control, e.g. 3 linear axes and 2 rotary axes. The clearance control
acts in the direction of the current tool offset vector.
The applications of the clearance control can be divided into three categories
according to the technological requirements of the process:
1. Category 1 (low dynamic requirements)
Low dynamic requirements arise, e.g. when cutting flat metal sheets or 3D
metal parts (mostly deep-drawing workpieces) which have onlyslight ripples
and little deviation from the ideal geometry.
Key data:
– Clearance error: approx. 10 mm per meter of the machining path
– Cutting rate: approx. 20 m/min
– Superimposed closed-loop control speed: approx. 200 mm/min
– Tolerable control loop deadtime: up to approx. 40ms
2. Category 2 (medium dynamic requirements)
Medium dynamic requirements arise in conjunction with the following condi-
tions in addition to the requirements of Category 1:
S The approach to the workpiece surface takes place rapidly and is exclu-
sively sensor-driven.
3. Category 3 (high dynamic requirements)
High dynamic requirements arise, e.g., during radial cutting of rod material
with unrounded (typically rectangular) cross-sections. The rod material ro-
tates around its longitudinal axis (axis X) through the programmed move-
ment of rotary axis A.
The compensating movements of the head (axis Z) are not programmed,
but are influenced exclusively by the sensor-driven clearance control. The
maximum available dynamic response on the controlled axes is utilized in
this type of application.
Key data:
– Servo gain Kv of position controller: approx. 4 1000/min
– Maximum axis velocity: approx. 10 m/min
– Maximum axis acceleration: approx. 10 m/s2
Laser
Head
+
Axis Z
Clearance
–
to be controlled
Workpiece surface
Rotary axis A
Axis X
Closed-loop The dynamic response of the closed control loop (sensor – open-loop control -
control gain Kv axis) is determined by the maximum closed-loop control gain Kv.
The closed-loop control gain Kv is defined as:
Sensor The sensor measures the actual distance from the workpiece surface and re-
characteristic turns as its output variable a voltage in [volt] which is directly proportional to the
distance.
Voltage [volt]
Distance [mm]
From the perspective of the CNC, the closed-loop control gain unit is [(mm/
min)/volt]. The gain can be standardized in [(mm/min)/mm] and the setpoint dis-
tance in [mm] only if corresponding settings are made in the sensor electronics.
Max. closed-loop The maximum achievable closed-loop control gain is determined by the follow-
control gain ing delay and reaction times of the overall system:
1. Reaction time of sensor
2. Delay time of the A/D converter
3. Delay time for signal processing in control
4. Reaction time of position controller
5. Reaction times of speed and current controllers
6. Time constants of motor and mechanical components.
In practice, only items 3 and 4 are relevant.
The influencing variables together produce an effective time constant. If the
closed-loop control gain is set too high in relation to this time constant, natural
oscillations on the axis/axes to be controlled result. The frequency of the natural
oscillation depends on the effective time constant and is typically several Hertz
in magnitude.
The objective when starting up the clearance control is to minimize important
time constants in such a way that the closed-loop control gain required by the
process can be set without inducing natural oscillation of this type.
Delay time The closed-loop control gain set for the position controller corresponds to a
delay time ∆t. The delay time ∆t is the time which elapses until the actual posi-
tion of the axis to be controlled correlates with the setpoint in response to a ve-
locity specification v.
1
Where ∆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:
(840Di) The velocity filters of the SIMODRIVE 611 universal / E and POSMO SI, CD, CA
drives provide an additional means of damping:
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: Compensation K3,
Following error compensation (feedforward control)
Sensor signal
IPO cycles
Servo cycles
1 2
Motion
Drive cycles
Axis motion
$MN_HW_LEAD_TIME_FASTIO
Fig. 2-4 Deadtime during processing of sensor signal in position control cycle
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 connected simultaneously. The active sensor char-
acteristic can be switched over block-synchronously by means of an NC
command in the parts program.
S Motion limitation
The lower and upper limits configured in the NC machine data for the axis
movements induced by the clearance control can be changed block-syn-
chronously by means of an NC command in the parts program.
An alarm is output when a limit is reached. The alarm response (stop all
traversing 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 control can be programmed either for syn-
chronization with the current axis positions (no compensating movement) or
for compensating axis movements to the programmed axis positions (axis
positions without clearance control).
S Sensor signal
The sensor signal can be smoothed via a PT1 filter with adjustable time
constant.
Block diagram The following diagram shows the operating principle of a clearance control
Synchronous action or TP
$A_OUT[m]
P
Percentage A/D Sensor
Axis x
+ converter electronics
611D drive
Velocity feedforward control
Velocity x +
Path and orientation Fine Jerk
P PI
interpolation interpol. filter
Position x
+ – + – M Motor x
2.4 Programming
The identifiers of all program commands and machine data contain the
abbreviation “CLC” which is derived from the English term:
Clearance control.
CLC(–1) Deactivates the clearance control after retraction to zero offset position.
The axes are moved from the offset position generated by the sensor to the
zero offset position so that the next block is started at the originally programmed
position.
RESET with active SW 5.3 MD 62524: CLC_ACTIVE_RESET and higher can determine whether
clearance control the 1-dimensional clearance control remains active or is deactivated with RE-
SET (end of program or operator RESET).
The machine data MD 62524 is not effective for the 3-dimensional clearance
control. As the clearance control is, in this case, realized by the path axes, CLC
must always be internally deactivated in case of RESET.
Syntax The CLC (< mode>) command is implemented as a procedure call, i.e. it must
be programmed in a separate NC block.
Error messages Call arguments other than those described are rejected by CLC alarm 75005.
The same alarm locks the CLC(2) call if no high-speed input is configured for
the collision signal.
If the clearance control is not available on the PC card or has not been acti-
vated via machine data, the activation command is rejected in the same way as
other unknown commands with standard alarm 12550.
Path response Programming of CLC (< mode>) interrupts G64/G641 path motions with
constant feedrate. To activate or deactivate the sensor motion without a drop in
path velocity, the control gain can be switched to zero by means of command
CLC_GAIN.
As long as the sensor is generating an axis motion, the condition “Exact stop
coarse” or “Exact stop fine” cannot be fulfilled and, accordingly, the program
does not advance to the next block with G601/G602.
CLC_GAIN=Gain The real number <gain> specifies the factor by which the active (see CLC_SEL)
gain characteristic (set in machine data) is multiplied (see Fig. 2-6).
Effectiveness of The programmed factor for the control gain remains active when the gain char-
CLC_GAIN acteristic is changed over with CLC_SEL, i.e. it is immediately applied to the
newly selected characteristic.
CLCGAIN=1.0 reactivates the gain characteristic set in the machine data.
An alteration in gain becomes effective in the block in which it has been pro-
grammed or, if this block does not contain an executable instruction, then in the
next executable block.
When a negative factor is programmed, its absolute value is used without an
alarm output.
Caution
! Increasing the gain (CLC_GAIN > 1.0) can lead to oscillation in the controlled
axes!
CLC_LIM(llim, The real numbers <llim> and <ulim> overwrite the lower and upper limitations of
ulim) the sensor motion that are set in machine data.
The same unit ([mm] or [inch]) is used as that applied for the programming of
positions.
Voltage sensor
RESET The default setting from the machine data becomes effective automatically after
power ON, RESET and end of program.
Error messages CLC alarm 75005 is output if more than two arguments are programmed.
If CLC_LIM() is programmed without arguments, the default setting from the
machine data is restored.
MD 62505: CLC_SENSOR_LOWER_LIMIT[0] and
MD 62506: CLC_SENSOR_UPPER_LIMIT[0].
The second field element in each of these two machine data defines the lowest
programmable lower limit or the highest programmable upper limit. If values
outside this range are programmed, alarm 75010 is output.
Inversion of the The input of a negative number in the machine data MD 62523 inverts the inter-
evaluation nal evaluation of the digital output.
MD 62523: CLC_LOCK_DIR_ASSIGN_DIGOUT[0] = –1
causes
the blocking of the movement in the negative direction by means of
$A_OUT[1] = 0 and
the enabling of the movement in the negative direction by means of
$A_OUT[1] = 1.
CLC_VOFF=offvolt The real number <offvolt> specifies a signed voltage value in volts that is de-
ducted from the sensor voltage.
This voltage offset alters the control distance vis-à-vis the value set on the oper-
ating unit of the sensor.
The quantitative effect of a change in voltage on the distance depends on the
relevant setting in the sensor electronics and cannot therefore be standardized
generally.
RESET CLC_VOFF=0.0 becomes effective automatically after power ON, RESET and
end of program.
Effectiveness of An alteration in the setpoint distance becomes effective in the block in which it
CLC_VOFF has been programmed or, if this block does not contain an executable instruc-
tion, then in the next executable block.
Effectiveness of Up to now, the modification of the setpoint distance has only been possible
MD 62522 block-synchronously with CLC_VOFF. In SW 5.3 and higher, the setpoint dis-
tance modification can be programmed block-independently via the machine
data MD 62522: CLC_OFFSET_ASSIGN_ANAOUT. This enables an online
modification of the setpoint distance.
This machine data defines the number of an analog output, the voltage value of
which is subtracted from the input signal of the encoder.
CLC_SEL(KLNo) The integer number <KLNo> selects the gain characteristic to be used. The two
possible characteristics are entered via the following machine data:
MD 62510: CLC_SENSOR_VOLTAGE_TABLE_1
MD 62511: CLC_SENSOR_VELO_TABLE_1
and
MD 62512: CLC_SENSOR_VOLTAGE_TABLE_2
MD 62513: CLC_SENSOR_VELO_TABLE_2
Characteristic 2 is selected when CLC_SEL(2) is programmed. Any other num-
ber selects characteristic 1.
SW 5.3 and higher In SW 5.3 and higher the gain characteristics can be specified with up to 10 in-
termediate points instead of the usual six.
Syntax The CLC (<mode>) command is implemented as a procedure call, i.e. it must
be programmed in a separate NC block.
J
Notes
Supplementary Conditions 3
3.1 Reading in sensor signal in synchronism with NC clock
cycle
The sensor is connected via an NCU terminal block and an analog input module
to the CNC.
Caution
! No module other than the high-speed DMP compact module with order num-
ber: 6FC5 211–0AA10–0AA0 may be used. This is the only module that is ca-
pable of the high-speed A/D conversion time of 75s which clearance control
functions require.
The module of identical design with order number: 6FC5 111–0CA04–0AA0 is
suitable only for taking temperature measurements. It has a conversion time of
80 ms and is therefore unsuitable for the clearance control functions.
External RC filters If RC filters for smoothing the sensor signal are fitted between the sensor output
and the input of the A/D converter, then it must be ensured that the resultant
time constant is small in comparison to the processing clock cycle of the CNC
(1 ms should generally be sufficient).
In principle, a higher signal-to-noise ratio of the analog signal can be obtained
by means of efficient screening and not by strong filters.
Machine data for The following system machine data are relevant for ensuring correct read-in of
configuring the the sensor signal:
analog module S MD 10362: HW_ASSIGN_ANA_FASTIN (for each analog module)
Specification of its physical address activates the analog module.
S MD 10384: HW_CLOCKED_MODULE_MASK (for each terminal block)
The slot of the analog input module on the terminal block must be set to
clock-synchronous operation.
This is done by setting the bit corresponding to the module slot on the termi-
nal block (e.g.: 5th slot: 10 Hex)
S MD 10380: HW_UPDATE_RATE_FASTIO (for each terminal block)
Selection of the cycle to which the A/D converter is synchronized
2 = position control cycle for the clearance control in the position controller.
3 = IPO clock cycle for clearance control via synchronous actions.
S MD 10382: HW_LEAD_TIME_FASTIO (for each terminal block)
Setting of the period by which the A/D converter is activated before the NC
cycle. A setting of 100 starts the A/D conversion 100 ms before the corre-
sponding clock pulse so that the supply of read sensor information is syn-
chronized as closely as possible with the actual positions.
NCU 572.2 The Clearance Control function can be utilized on NCU 572.2 hardware only on
condition that is has been specifically enabled for the customer.
Response to If the sensor motion must be stopped at the same time as the path motion, the
NC stop from PLC signal “NC stop axes and spindles” DB21.DBB7.4 in the channel-specific inter-
face can be used.
In this case, the sensor motion is enabled again when NC start is activated to
continue program processing.
Response to The overlaid motion is automatically stopped when one of the controlling axes is
“Follow-up” mode switched to “Follow-up” mode by an alarm or a PLC input.
Travel without If axes involved in implementation of the clearance control function are to be
software limit operated in an unreferenced state, then software limit switches with axial ma-
switches chine data
S MD 36100: POS_LIMIT_MINUS,
S MD 36110: POS_LIMIT_PLUS,
S MD 36120: POS_LIMIT_MINUS2,
S MD 36130: POS_LIMIT_PLUS2,
must be set to values outside the actual traversing range since these machine
data are always included in calculations for the clearance control.
No PLC control of High-speed digital or analog input signals that are evaluated in the position con-
sensor input trol cycle cannot be controlled via the standard PLC interface in DB10.DBB0 or
B10.DBB146. This is valid for the analog input of the distance encoder as well
as for the digital signal used by the CLC special function “Rapid lift in position
controller cycle” (refer to the description of MD 62508: CLC_SPECIAL_FEA-
TURE_MASK).
Clearance control Only one of the axes involved in the clearance control function may be config-
with gantry axes ured as the leading axis in a gantry grouping;
MD 37100: GANTRY_AXIS_TYPE
It is not generally permissible to use gantry following axes for the clearance con-
trol.
Display of axis The actual axis positions derived from the programmed position and the posi-
positions tional offset resulting from the sensor motion are not displayed in the “Machine”
basic display by the standard MMC.
To check these values, they can be monitored separately for each axis under
“Actual position”. For this purpose, screen “Service display” must be called from
the “Diagnosis” area.
Availability The clearance control function is only available in the first NC channel, even on
controls with more than one NC channel.
Note
The clearance control function is available only in the first channel!
Computing time The additional computing time required through activation of the clearance con-
requirements trol function must be taken into account in control systems in which the cycle
setting of the interpolator and position control cycle have been substantially
optimized as compared to the default setting:
S NCU3:
The computation times stated are cut by half is a NCU573.2 is used.
Application of info Minimum and maximum variables can also be written, making it possible to
variables measure the range of compensated form deviations (position offset) and control
errors of brief duration (sensor voltage as dimension before the deviation from
setpoint distance).
At the start of a measurement of this type, the relevant minimum must be set to
a high value and the maximum to a low value.
With a constant distance and CLC_GAIN=0.0, the noise on the sensor signal
actually measured by the converter can be checked on the basis of the voltage
values. The min/max calculation is calculated in every position control cycle.
LinkItem
1. The LinkItem property of a DDE control must be set according to the follow-
ing example:
label1.LinkItem = “CLC[u1,1,9](““!d%15.4lf””)”
2. You can adjust the format string if necessary.
3. You can use the following code lines to spread the result of the NCDDE ac-
cess operation among an array of labels:
For i = 0 To 8
label2(i).Caption = Trim$(Mid$(label1.Caption, 1 + 15 * i, 15))
Next
The most important status variables of the clearance control are available on
the operator panel front in the display area “Parameters” – “User data”.
For this purpose, the appropriate GUDs must be set up. For a detailed descrip-
tion of the procedure to be followed, please refer to Section “File and program
management” in the document “SINUMERIK 840D/810D/FM-NC 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 CHAN REAL CLC_DISTANCE[3] ; CLC variable
DEF CHAN REAL CLC_VOLTAGE[3] ; CLC variable
M30
S In TF_GR.COM:
075000 0 0 “Channel %1 CLC: Incorrect MD configuration, error no: %2”
075005 0 0 “Channel %1 block %2 CLC: general programming error”
075010 0 0 “Channel %1 block %2 CLC_LIM exceeds limit set in MD”
075015 0 0 “Channel %1 block %2 CLC(0) with active TRC”
075016 0 0 “Channel %1 block %2 CLC: Orientation changed with
TRAFOOF”
075020 0 0 “Channel %1 CLC position offset at lower limit: %2”
075021 0 0 “Channel %1 CLC position offset at upper limit: %2”
075025 0 0 “Channel %1 CLC stopped since sensor tip touched”
S In TF_UK.COM:
075000 0 0 “Channel %1 CLC: MD configuration error no: %2”
075005 0 0 “Channel %1 block %2 CLC general programming error”
075010 0 0 “Channel %1 block %2 CLC_LIM exceeds limit set in MD”
075015 0 0 “Channel %1 block %2 CLC(0) while CRC is active”
075016 0 0 “Channel %1 block %2 CLC: orientation changed with
TRAFOOF”
075020 0 0 “Channel %1 CLC position offset at lower limit %2”
075021 0 0 “Channel %1 CLC position offset at upper limit %2”
075025 0 0 “Channel %1 CLC stopped since sensor tip touched”
4. Set up the appropriate text files for any further languages you require.
5. Make your changes effective by restarting the MMC.
Note
For MMC 100, the alarm texts in file ALC.TXT stored on the “System and
Application Diskette” supplied with the system can be extended.
S Option data.
Warning
! This symbol appears whenever material damage can occur if the appropriate
precautions are not taken.
The functions activated by the option data trigger the corresponding compile
cycles. These cycles can have a significant effect on the behavior of the control
system and may cause hazardous situations by accessing the NC.
Before a compile cycle is activated, the necessary safety precautions must be
taken to protect operating personnel and machine (safety precautions against
parameterization or programming errors in the compile cycles may need to be
taken).
S MD 28090: MM_NUM_CC_BLOCK_ELEMENTS = 4
Number of internal block elements available to the compile cycle application.
S MD 28100: MM_NUM_CC_BLOCK_USER_MEM = 20
Memory reserved (in KB) for the internal block elements assigned to the
compile cycle application.
Caution
! Modifying this data erases the user memory.
Please save your data before you modify this data !!
Exact stop coarse/ In order to meet the condition for “Exact stop coarse/fine reached”, the axis ve-
fine reached locity generated by the sensor must be lower than the zero speed tolerance for
the duration of the zero speed delay period. The following machine data can be
adjusted in order to optimize block change times when G601 and G602 are ac-
tive:
62500 $MC_CLC_AXNO
MD number Axis assignment for clearance control
Default setting: 0 Min. 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
> 0:
Activates 1D clearance control (single-axis clearance control) with the
specified channel axis number. This axis must not be a modulo rotary
axis.
< 0:
Activates 3D clearance control.
The precondition for this control variant is that at least one of the two
possible 5-axis transformations in the channel is configured.
–1 selects the first 5-axis transformation configured with
$MC_TRAFO_TYPE_x (16 <=transtype <=149) for clearance control
function
–2 selects the second 5-axis transformation configured in the 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 master axis of a gantry grouping in 37100
$MA_GANTRY_AXIS_TYPE.
No axis involved in the clearance control function may be configured 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 Min. input limit: 1 Max. input limit: 8
Changes effective after Protection level: 2 / 7 Unit: –
power ON
Data type: INT
Meaning: This machine data defines the number of the analog input that is used for
the distance sensor.
The hardware module for this input must be correctly configured with the
following machine data (see Section 3.1).
10362 $MN_HW_ASSIGN_ANA_FASTIN
10380 $MN_HW_UPDATE_RATE_FASTIO
10382 $MN_HW_LEAD_TIME_FASTIO
10384 $MN_HW_CLOCKED_MODULE_MASK
62504 $MC_CLC_SENSOR_TOUCHED_INPUT
MD number Input bit assignment for the sensor collision signal
Default setting: 0 Min. input limit: –40 Max. input limit: 40
Changes effective after Protection level: 2 / 7 Unit: –
power ON
Data type: INT
Meaning: If the distance sensor has a special switching signal for indication of
sensor tip collision, then it can be applied to the high-speed digital input
of the control system programmed in this MD.
The inputs are numbered according to the same method used for
programming with $A_IN[ <inNr> ]:
E.g.: 3rd input on 2nd input byte:
$MC_CLC_SENSOR_TOUCHED_INPUT = 19 ; 3 + 2 * 8
When negative values are set, the corresponding input signal is inverted
internally for processing (fail-safe method).
For NC reaction to the collision signal, see Subsection 2.5.1.
62505 $MC_CLC_SENSOR_LOWER_LIMIT
MD number Lower motion limit of clearance control
Default setting: –5.0, –10.0 Min. input limit: – Max. input limit: 0.0
Changes effective after Protection level: 2 / 7 Unit: mm / inch
RESET
Data type: REAL
Meaning: 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.
The limit specified here becomes effective after power ON, RESET and
end of program.
If this limit is reached, PLC signal DB21.DBB37.4 is set and CLC alarm
75020 output.
The currently effective limit can be modified by the parts program
(see Subsection 2.5.3).
The second field element ($MC_CLC_SENSOR_LOWER_LIMIT[1])
restricts the programmable limit.
62506 $MC_CLC_SENSOR_UPPER_LIMIT
MD number Upper motion limit of clearance control
Default setting: 10.0, 40.0 Min. input limit: 0.0 Max. input limit: –
Changes effective after Protection level: 2 / 7 Unit: mm / inch
RESET
Data type: REAL
Meaning: The first field element of this machine data sets the upper limit for the
deviation that may occur as a result of the sensor input between the
sensor-controlled machine position and the programmed position.
The limit specified here becomes effective again after power ON, RESET
and end of program.
If this limit is reached, PLC signal DB21.DBB37.5 is set and CLC alarm
75021 output.
The currently effective limit can be modified by the parts program
(see Subsection 2.5.3).
The second field element ($MC_CLC_SENSOR_UPPER_LIMIT[1])
restricts the programmable limit.
62508 $MC_CLC_SPECIAL_FEATURE_MASK
MD number Special functions and operating modes of the clearance control
Default setting: 0 Min. input limit: – Max. input limit: –
Changes effective after Protection level: 2 / 7 Unit: –
power ON
Data type: INT HEX format
62508 $MC_CLC_SPECIAL_FEATURE_MASK
MD number Special functions and operating modes of the clearance control
Default setting: 0 Min. input limit: – Max. input limit: –
Changes effective after Protection level: 2 / 7 Unit: –
power ON
Data type: INT HEX format Applies from SW: 5.3
Meaning: Bit 8:
Mode for alarm output if the lower movement limit has been reached
Bit 8 = 0: Alarm 75020 is output.
Bit 8 = 1: Alarm 75020 is not output under the following prerequisite:
When the lower movement limit has been reached, the alarm
output must not be configured with the alarm reaction Stop
and the cancel criterion RESET.
Thus, bit 0 = 0 must be set.
Bit 9:
Mode for alarm output if the upper movement limit has been reached
Bit 9 = 0: Alarm 75021 is output.
Bit 9 = 1: Alarm 75021 is not output under the following prerequisite:
When the upper movement limit has been reached, the alarm
output must not be configured with the alarm reaction Stop
and the cancel criterion RESET.
Thus, bit 1 = 0 must be set.
62510 $MC_CLC_SENSOR_VOLTAGE_TABLE_1
MD number Coordinate voltage of interpolation points sensor characteristic 1
Default setting: Min. input limit: –10.0 Max. input limit: +10.0
–10.0, 10.0, 0.0, 0.0, 0.0, 0.0
Changes effective after Protection level: 2 / 7 Unit: Volt
RESET
Data type: REAL In SW 5.3 and higher with up to 10 intermediate point instead of the usual six
Meaning: This machine data defines the voltage values of the maximum of 10
interpolation points of sensor characteristic 1.
The associated velocity value of an interpolation point must be entered
under the same field index i in machine data
$MC_CLC_SENSOR_VELO_TABLE_1[ i ].
The characteristic is normally entered in the form of two interpolation
points as a symmetrical straight line through the zero point:
E.g.:
$MC_CLC_SENSOR_VOLTAGE_TABLE_1[ 0 ] = –10.0 ; Volt
$MC_CLC_SENSOR_VOLTAGE_TABLE_1[ 1 ] = 10.0 ; Volt
$MC_CLC_SENSOR_VELO_TABLE_1[ 0 ] = 500.0 ; mm/min
$MC_CLC_SENSOR_VELO_TABLE_1[ 1 ] = –500.0 ; mm/min
(not all field elements listed are 0.0)
If this characteristic produces the wrong control direction, i.e. the sensor
“escapes” from the workpiece after power ON, then the control direction
must be corrected either through polarity reversal of the sensor signal or
by alteration of the following data:
$MC_CLC_SENSOR_VELO_TABLE_1[ 0 ] = –500.0 ; mm/min
$MC_CLC_SENSOR_VELO_TABLE_1[ 1 ] = 500.0 ; mm/min
The following must be noted when more complex characteristics with
knee-bends are input:
• An interpolation point with velocity value 0 must not be positioned at
the end of the table. The order in which points are entered in the
table is otherwise meaningless.
• The characteristic must be monotone, i.e. the velocity over voltage
values must either be exclusively ascending or exclusively
descending.
• It must not exhibit any velocity step changes, i.e. no differences in
velocity at the same voltage value.
• It must have at least two interpolation points.
• No more than three interpolation points with positive or negative
velocity may be entered.
• Characteristics in which the line does not pass exactly through the
zero point may affect the distance standardization set in the sensor
hardware.
62511 $MC_CLC_SENSOR_VELO_TABLE_1
MD number Coordinate velocity of interpolation points sensor characteristic 1
Default setting: Min. input limit: – Max. 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 In SW 5.3 and higher with up to 10 intermediate point instead of the usual six
Meaning: This machine data defines the velocity values of the maximum of 10
interpolation points of sensor characteristic 1.
The associated voltage value of an interpolation point must be entered
under the same field index i in machine data
$MC_CLC_SENSOR_VOLTAGE_TABLE_1[ i ].
Please refer to machine data $MC_CLC_SENSOR_VOLTAGE_TABLE_1
for an exact description of characteristic inputs.
62512 $MC_CLC_SENSOR_VOLTAGE_TABLE_2
MD number Coordinate voltage of interpolation points sensor characteristic 2
Default setting: Min. input limit: –10.0 Max. input limit: +10.0
–10.0, 10.0, 0.0, 0.0, 0.0, 0.0
Changes effective after Protection level: 2 / 7 Unit: Volt
RESET
Data type: REAL In SW 5.3 and higher with up to 10 intermediate point instead of the usual six
Meaning: This machine data defines the voltage values of the maximum of 10
interpolation points of sensor characteristic 2.
The associated velocity value of an interpolation point must be entered
under the same field index i in machine data
$MC_CLC_SENSOR_VELO_TABLE_2[ i ].
Please refer to machine data $MC_CLC_SENSOR_VOLTAGE_TABLE_1
for an exact description of characteristic inputs.
62513 $MC_CLC_SENSOR_VELO_TABLE_2
MD number Coordinate velocity of interpolation points sensor characteristic 2
Default setting: Min. input limit: – Max. 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 In SW 5.3 and higher with up to 10 intermediate point instead of the usual six
Meaning: This machine data defines the velocity values of the maximum of 10
interpolation points of sensor characteristic 2.
The associated voltage value of an interpolation point must be entered
under the same field index i in machine data
$MC_CLC_SENSOR_VOLTAGE_TABLE_2[ i ].
Please refer to machine data $MC_CLC_SENSOR_VOLTAGE_TABLE_1
for an exact description of characteristic inputs.
62516 $MC_CLC_SENSOR_VELO_LIMIT
MD number Velocity of the distance control movement
Default setting: 100.0 Min. input limit: 0.0 Max. input limit: 100.0
Changes effective after Protection level: 2 / 7 Unit: Per cent
RESET
Data type: REAL
Meaning: This machine data defines the maximum velocity of the overlaid control
movement as percentage of the maximum axis velocity MD 32000:
MAX_AX_VELO.
With the 2D and 3D clearance control variants, the reference value used
is the maximum velocity of the slowest axis multiplied by √2 or √3.
62517 $MC_CLC_SENSOR_ACCEL_LIMIT
MD number Acceleration of clearance control motion
Default setting: 100.0 Input limit: 0.0 Max. input limit: 100.0
Changes effective after Protection level: 2 / 7 Unit: Per cent
RESET
Data type: REAL
Meaning: This machine data specifies the percentage of the residual acceleration
that must be used by the clearance control function.
“Residual acceleration” is the acceleration capacity left in reserve by the
programmed machining motion of the overlaid control motion in the
current control direction.
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 Max. input limit: –
Changes effective after Protection level: 2 / 7 Unit: mm / inch
RESET
Data type: REAL
Meaning: In order to fulfill the axial “Exact stop coarse/fine” conditions, the
clearance control must be in the stop state. Since the axes will never be
completely still in the control loop closed by means of the sensor, it must
be determined using positioning tolerance and dwell time settings at
what point axis zero speed must be enabled:
If the programmed motion has been completed and the motion
component overlaid by the sensor has remained with the position window
specified in $MC_CLC_SENSOR_STOP_POS_TOL for the duration of
the dwell time set in $MC_CLC_SENSOR_STOP_DWELL_TIME, the
exact stop coarse/fine signals are enabled in the PLC interface. The next
block cannot be executed until these conditions are fulfilled when
G601/G602 is active.
62521 $MC_CLC_SENSOR_STOP_DWELL_TIME
MD number Wait time for status message “Clearance control zero speed”
Default setting: 0.1 Min. input limit: 0.0 Max. input limit: –
Changes effective after Protection level: 2 / 7 Unit: s
RESET
Data type: REAL In SW 5.3 and higher measure to prevent the system alarm 1011
Meaning: This machine data sets the dwell time for detection of zero speed in axes
involved in the clearance control function.
See MD 62520: CLC_SENSOR_STOP_POS_TOL
If the encoder cannot maintain the position window
$MC_CLC_SENSOR_STOP_POS_TOL during distance control
operation within the period defined in
$MC_CLC_SENSOR_STOP_DWELL_TIME, the system alarm 1011 is
consequently output with the ID 140002.
This alarm message can be prevented by observing the following
measures:
• Switch on the CLC with the distance encoder with the typical
operating distance towards a thin sheet metal.
• Knock against the sheet metal until the laser head moves visibly in
order to maintain the defined distance.
• If this distance has been reached, the sheet metal should no longer
be touched and the IS signal “Position reached with exact stop fine”
(DB3x, ... DBB60.7) on the MMC should be observed.
• If this IS signal flashes now or after discharge of the process gas, the
following machine data have to be set:
MD 36010: STOP_LIMIT_FINE and increase
MD 62520: CLC_SENSOR_STOP_POS_TOL.
MD 62521: CLC_SENSOR_STOP_DWELL_TIME must possibly be
decreased until the IS signal “Position reached with exact stop fine”
is stable unless someone knocks against the sheet metal.
The machine data becomes effective with RESET, i.e. the CLC must
possibly be switched on several times.
Related to .... The time set must not be longer than the maximum waiting time for the
output of the exact stop signal set in the axial machine data MD 36020:
POSITIONING_TIME.
62522 $MC_CLC_OFFSET_ASSIGN_ANAOUT
MD number Modification of the setpoint distance by means of sensor signal override
Default setting: 0 Min. input limit: –8 Max. input limit: 8
Changes effective after Protection level: 2 / 7 Unit: –
power ON
Data type: INT Applies from SW: 5.3
Meaning: This machine data defines the number of an analog output, the voltage
of which is subtracted from the voltage value of the sensor input signal.
The analog output can be overlaid via the $A_OUTA[n] parameter both
block-synchronously from the machining program and by means of
synchronous actions.
Entering zero deactivates this function.
62523 $MC_CLC_LOCK_DIR_ASSIGN_DIGOUT
MD number Assignment of the digital outputs for disabling the CLC movement
Default setting: 0.0 Min. input limit: –40 Max. input limit: 40
Changes effective after Protection level: 2 / 7 Unit: –
power ON
Data type: INT Applies from SW: 5.3
Meaning: This machine data defines the number of two digital outputs, each of
those can block one direction of the sensor movement.
$MC_CLC_LOCK_DIR_ASSIGN_DIGOUT[0] = 1 negative direction
$MC_CLC_LOCK_DIR_ASSIGN_DIGOUT[1] = 2 positive direction
62524 $MC_CLC_ACTIVE_AFTER_RESET
MD number Clearance control remains active after RESET
Default setting: 0 Min. input limit: – Max. input limit: –
Modification effective after Protection level: 2 / 7 Unit: –
NEW_CONF
Data type: BOOL Applies from SW: 5.3
Meaning: This machine data defines whether the 1-dimensional clearance control
remains active or is deactivated during RESET (end of program or
operator RESET). $MC_CLC_ACTIVE_AFTER_RESET is effective for
1-dimensional clearance control $MC_CLC_ACTIVE_AFTER_RESET =
0 deactivates the clearance control $MC_CLC_ACTIVE_AFTER_RESET
= 1 maintains the current clearance control state during RESET.
This machine data is not effective for the 3-dimensional clearance control.
As the clearance control is, in this case, realized by the path axes, CLC
must always be deactivated in case of RESET.
62525 $MC_CLC_SENSOR_FILTER_TIME
MD number PT1 filtering time constant of sensor signal
Default setting: 0.0 Min. input limit: 0.0 Max. input limit: –
Changes effective Protection level: 2 / 7 Unit: s
immediately
Data type: REAL Applies from SW: 4.0
Meaning: Sets the time constant of the PT1 filter (corresponds to RC element) with
high-frequency noise components in the sensor signal can be
attenuated.
Important:
Every time constant in the control loop reduces the achievable dynamic
response of the control system.
The effect of the filter can be monitored via GUD variables (see
Subsection 3.3.2) or the external communications system variables (see
Subsection 3.3.1) through resetting of the min/max value for the input
voltage (with CLC_GAIN=0.0).
A setting of zero deactivates the filter completely.
Notes
Signal Descriptions 5
DB21, ...
DBB1.4 Stop CLC motion
Data block Signal(s) to channel (PLC -> NCK)
Edge evaluation: no Signal(s) updated: Cyclically Signal(s) valid from SW: 3.6
for technology card only
Signal state 1 or signal The input signal from the sensor is set internally to zero, i.e. the overlaid sensor motion is
transition 0 –––> 1 stopped and the offset position reached after the stop is “frozen”. The effect is identical to
that obtained by programming CLC_GAIN=0.0. In the case of a 2D or 3D clearance control,
the orientation of the offset vector continues to change in line with the change in tool
orientation, but its length remains unchanged.
Signal state 0 or signal The offset is specified by the current analog signal.
transition 1 –––> 0
DB21, ...
DBB1.5 Feedrate override acts on CLC
Data block Signal(s) to channel (PLC -> NCK)
Edge evaluation: no Signal(s) updated: Cyclically Signal(s) valid from SW: 3.6
for technology card only
Signal state 1 or signal The channel-specific override DB21.DBB4 also acts on the clearance control. Override
transition 0 –––> 1 settings of < 100% reduce in the gain characteristic (see Fig. 2-6) the velocity limitation for
the overlaid motion set in machine data $MC_CLC_SENSOR_VELO_LIMIT. With settings
of >= 100%, the limitations from the machine data are applied.
Signal state 0 or signal The maximum velocity of the control motion is not dependent on the override setting
transition 1 –––> 0
Application 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 settings 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: Cyclically Signal(s) valid from SW: 3.6
for technology card only
Signal state 1 or signal The clearance control has been activated from the parts program with command CLC(1) or
transition 0 –––> 1 CLC(2).
Signal state 0 or signal The clearance control is deactivated CLC(0) or CLC(–1) or status after power ON, Reset of
transition 1 –––> 0 end of parts program
DB21, ...
DBB37.4–5 CLC motion has stopped
Data block Signal(s) from channel (NCK -> PLC)
Edge evaluation: no Signal(s) updated: Cyclically Signal(s) valid from SW: 3.6
for technology card only
Signal state 1 or signal The clearance control has just reached zero speed
transition 0 –––> 1
S either in accordance with the condition specified in machine data
$MC_CLC_SENSOR_STOP_POS_TOL and
$MA_CLC_SENSOR_STOP_DWELL_TIME
DB21, ...
DBB37.4 CLC motion at lower motion limit
Data block Signal(s) from channel (NCK -> PLC)
Edge evaluation: no Signal(s) updated: Cyclically Signal(s) valid from SW: 3.6
for technology card only
Signal state 1 or signal The overlaid motion has been stopped at the limit set in
transition 0 –––> 1 $MC_CLC_SENSOR_LOWER_LIMIT or programmed with CLC_LIM(...). Alarm 75020 has
been set.
If signal DB21.DBB37.5 is set at the same time, the CLC motion has reached a standstill
for other reasons.
Signal state 0 or signal The CLC motion 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: Cyclically Signal(s) valid from SW: 3.6
for technology card only
Signal state 1 or signal The overlaid motion has been stopped at the limit set in
transition 0 –––> 1 $MC_CLC_SENSOR_UPPER_LIMIT or programmed with CLC_LIM(...). Alarm 75021 has
been set.
If signal DB21.DBB37.4 is set at the same time, the CLC motion has reached a standstill
for other reasons.
Signal state 0 or signal The CLC motion has left the upper limitation.
transition 1 –––> 0
Notes
Examples 6
6.1 General start-up of a compile cycle function
Note
With SW 6.4, the compile cycles are supplied as loadable modules. The gen-
eral procedure for installing such compile cycles can be found in TE0. The spe-
cific installation measures for this compile cycle can be found from Section 6.2
onwards.
Requirements The following requirements must be met with reference to the HMI and NCK:
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 is identical to the procedure followed for upgrading the NCU to a later soft-
ware version and likewise requires the static (battery-backed) control
system memory to be erased. When this is done, all data stored in the SRAM
are lost and they must therefore be saved beforehand.
References: For a detailed description, please refer to 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.
5. If the control system contains machine-specific compensation data, then
these must be saved in a separate archive file:
Press softkey “Data Out” and select under item “NC active data” the follow-
ing data as required:
“Measuring system compensations”,
“Sag/Angularity comp.” and
“Quadrant error compensation”.
Save these data by selecting softkey “Archive ...” and specify another 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.
Note
If number “6” does not appear, then an error has 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.
Memory To start up the clearance control on the newly installed technology card, the
configuration for SRAM must be reformatted because two memory-configuring machine data
clearance control need to be changed so that the internal block memory required can be
configured.
S Power up the control system now (softkey “NCK reset” or power ON) to re-
format the SRAM.
S To restore the SRAM contents, load the last archive file you created plus the
compensation data archive (if you created one for the card replacement)
back into the control system.
Option data for Set the option for compile cycle function 1
compile cycles
Machine data for Rename the standard identifiers “OMA1” and “OMA2” as CLC-specific
CLC program identifiers.
commands MD 10712: NC_USER_CODE_CONF_NAME_TAB[0] = “OMA1”
MD 10712: NC_USER_CODE_CONF_NAME_TAB[1] = “CLC_GAIN”
MD 10712: NC_USER_CODE_CONF_NAME_TAB[2] = “OMA2”
MD 10712: NC_USER_CODE_CONF_NAME_TAB[3] = “CLC_VOFF”
High-speed analog Configure this analog input with the following machine data:
input
MD 10362: HW_ASSIGN_ANA_FASTIN
MD 10384: HW CLOCKED_MODULE_MASK
MD 10380: HW_UPDATE_RATE_FASTIO = 2
MD 10382: HW_LEAD_TIME_FASTIO = 100
Run up the NCK software again.
After the software has run up, the special data of the clearance control should
be visible at the end of the channel machine data list (look for “CLC” or
“62500”).
Special CLC First of all, set the axis configuration and the number of the analog input (with
machine data reference to all analog inputs that may be activated in the control) that you wish
to use.
MD 62500: CLC_AXNO
MD 62502: CLC_ANALOG_IN
Sensor connection Connect the bipolar sensor output to terminals 3 and 4 of the analog input mod-
analog input ule on the terminal block. Check the wiring of the ground/screen against the
wiring diagrams in hardware documentation “SINUMERIK 840 Configuring of
DMP Compact Module 1E NC Analog”.
Check the control direction of the clearance control by starting a simple parts
program containing activation command CLC(1). Make sure that there is no risk
of collision between the axes within the preset motion area of –5 mm to +
10 mm.
If you find that the control direction is wrong (sensor moves away from work-
piece), reverse the polarity of the analog input or change the signs of all values
in machine data $MC_CLC_SENSOR_VELO_TABLE_x.
Check the sensor To check the noise level on the sensor signal and calculate the sensor charac-
signal teristic if necessary, you can set up special GUD variables according to the
method described in Section 3.3.
Variable CLC_VOLTAGE[0] indicates the response of the sensor at various
distances from the workpiece as interpreted by the control system when the
(CLC(1)) function is activated, but the control motion is blocked
(CLC_GAIN=0.0).
Optimization By optimizing the CLC-specific machine data and standard machine data (espe-
cially feedforward control) that are relevant in terms of dynamic response, you
can adapt the clearance control optimally to the meet the requirements of your
machining process.
Alarm texts Extend the language-dependent alarm text files as described in Section “Creat-
ing alarm texts”.
Finish the start-up process by creating a complete backup of all your data.
J
SINUMERIK 840D/840Di/810D
Description of Functions Special Functions
(Part 3)
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
With SW 4.3, the “Analog axis” function allows up to 8 of the available NC axes
to be controlled by an analog drive (e.g. SIMODRIVE 611A) via a +/– 10V
speed interface. The function is designed for individual motors on a machine
that cannot be controlled by digital drive systems such as, for example, large
spindle motors or single motors for tool changers.
Number of The maximum number of analog axes depends on the maximum number of
analog axes NC 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 interpola-
tion group that has analog and digital drives (following error, drift).
Analog
drive
E/R NCU MSD FDD
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.
Since the function is implemented via compile cycles, machine data MD 19600:
CC_EVENT_MASK[1] = 64 (HEX) must be set to activate compile cycle
application 2.
Warning
! Failure to take appropriate precautions can have undesirable consequences.
The functions activated via MD 19600: CC_EVENT_MASK[n] initiate corre-
sponding compile cycles. These cycles can have a significant effect on the
behavior of the control system and may cause hazardous situations by access-
ing the NC.
Before a compile cycle is activated, the necessary safety precautions must be
taken to protect operating personnel and machine (safety precautions against
parameterization or programming errors in the compile cycles may need to be
taken).
Note
MD 63530: ANALOG_AXIS is not displayed until the control has booted once
after setting of MD 19600: CC_EVENT_MASK[0].
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 power-up.
configuring errors If the same DMP module is assigned to more than one analog axis, then
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.
synchronous actions) since this would interfere with the servo output.
DMP modules are assigned to 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
Servo 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.
This configuration is programmed via machine data 30100–30130.
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 via
machine data MD 36700: DRIFT_ENABLE = 1. A maximum drift value for
automatic compensation is activated in 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” 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 such 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.
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 refer to Section “File and
program management” in the document “SINUMERIK 840D/810D/FM-NC
Programming Guide Advanced”.
Please 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 texts here:
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
! An undesirable event or status can arise if the appropriate precautions are not
taken.
The functions activated by the option data trigger corresponding compile
cycles. These cycles can have a significant effect on the behavior of the control
system and may cause hazardous situations by accessing the NC.
Before a compile cycle is activated, the necessary safety precautions must be
taken to protect operating personnel and machine (safety precautions against
parameterization or programming errors in the compile cycles may need to be
taken).
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 +/– 10V 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
Precondition
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 is identical to the procedure followed for upgrading the NCU to a later
software version and likewise requires the static (battery-backed) control
system memory to be erased. When this is done, all data stored in the SRAM
are lost and they must therefore be saved beforehand. For a detailed
description, please refer to 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 number “6” does not appear, then an error has 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.
To start up the “Analog axis” function, you next need to active the compile cycle.
Analog output Start up the DMP module for the analog setpoint with machine data
10362 $MN_HW_ASSIGN_NUM_INPUTS.
Alarms Enter the alarm texts in language-specific text files TK1_GR.COM and
TK1_UK.COM.
Analog axis Declare axis as an analog axis with machine data 63530 $MA_ANALOG_AXIS
and set axial machine data for the setpoint output and actual value input for the
analog axis.
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 Setting is 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
SINUMERIK 840D/840Di/810D
Description of Functions Special Functions
(Part 3)
Brief Description 1
SW 6 and higher 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.
Difference compared to previous solution (SW 5.x and lower)
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 axis corresponds to the current actual
position.
S For brake control, the interface signal “Master–slave coupling status active”
should be used.
SW 6.4 and higher The function of the speed/torque coupling has been expanded to include the
following options:
SW 5 and lower The speed/torque coupling function (master–slave) is used for mechanically
coupled axes that are driven by two separate motors.
This function was available in SW 5 and lower only as a technology card. It was
not included in the standard scope of functions.
J
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.
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
Pos.
act
MASTER n act
i act
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
Pos. nset i set
set –
Inter– M1 E1
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
polator +
Position control Speed control Torque control
Connection
Controller output
Weighting
Servotrace: Tension torque
Set speed coupling –
Mechanical
Tension torque
+ coupling
PI controller + PT1 filter
Servotrace: Weighting
torque compensatory
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
controller
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
Position control Speed control Torque control
Pos. +
set –
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
M2 E2
+ n i set
set = 0
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
–
n act i act
SLAVE
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
Pos.
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 parts program dynamically. This type of configuration can
change the static configuration but does not have any reverse effect on the
associated machine data.
The statement
MASLDEF (slv1, slv2, ..., master axis)
assigns a master axis to one or more slave axes.
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
parts program end.
Note
To implement a standard assignment in each reset, you can add the corre-
sponding MASLDEF and MASLDEL statements to the PROG_EVENT.SPF
user application. The event-driven call is configured via MD 20108:
PROG_EVENT_MASK = 4.
Activation/ The torque compensatory control can be activated and deactivated directly via
deactivation via the PLC interface signal DB31, ... DBX24.4.
the PLC You must set MD 37255: MS_TORQUE_CTRL_ACTIVATION=1. The activation
SW 6.4 and higher status can be returned in DB31, ... DBX96.4. MD 37254:
MS_TORQUE_CTRL_MODE is then only used for configuring the torque
distribution.
The tension torque tension torque is applied via a PT1 filter. Specifying a filter
time constant MD 37266: MS_TENSION_TORQ_FILTER_TIME > 0 activates
the filter.
The tension torque chosen must be high enough to ensure that the resulting
torque does not drop below the minimum required tension even during
acceleration. To prevent unnecessary heating in the motor, you can reduce the
tension torque when the motor is at standstill.
Specifying a tension torque without a mechanical coupling produces axis
movement.
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 to the slave axes via the PLC
interface signal DB31–DB3x.DBX96.7 “Master–slave coupling active” in the
slave axis.
In the parts program and from the synchronous 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.
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 statement is
retained after Mode change, RESET, Parts program end.
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/
MASLOF
Axis/spindle station-
ary DB31, ...
DBX61.4
Master/Slave active
DB31, ... DBX96.7
Block stepping is halted for MASLON until the coupling has actually been
closed. At the MMC/HMI, the associated channel operating message
“Master–slave switchover inactive” is output.
Activating/ Activation/deactivation of the coupling in motion has been implemented only for
deactivating in spindles in speed control mode. For axes and spindles in positioning mode,
motion switchover is still carried out when the axis is at a standstill.
SW 6.4 and higher
Activation during a The coupling procedure at different speeds is divided into two phases.
motion
Phase 1 The signal DB31, ... DBX24.7 request closing of the coupling. The slave spindle
accelerates or decelerates according to the ramp of the setpoint speed of the
master spindle with the dynamic response available.
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
spindles is used to generate the synchronous run signals
“Speed tolerance, coarse” DB31, ... DBX96.3 and
“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 signal “Tolerance coarse” can be used to implement a PLC monitoring
function that checks a coupled group for loss of speed synchronism. The signal
“Tolerance fine” can be used to derive the time for mechanical closure of the
coupling and to activate the torque compensatory control directly.
Setpoint
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 difference speeds
Note
The implicit stop preprocessor is omitted for MASLON and MASLOF. The miss-
ing stop preprocessor means that the $P system variables of the slave spindle
do not supply updated values until re/programmed.
Note
If the coupling is closed, the slave axis operates in speed control mode;
status signal “Position controller active” DB31, ... DBX61.5 is thus not set.
Except for speed setpoint and actual velocity monitoring, the axial monitoring
function, such as contour and zero speed monitoring, are inactive in the slave
axis because the position controller is missing.
The position-control circuit parameters, such as gain factor, feedforward control,
symmetry, can thus be set differently in the master and slave axes without
triggering the watchdogs.
To achieve the same braking response for all coupled axis in the event of a
fault, the same alarm reaction is applied to entire coupling grouping when the
coupling is active.
When correcting fault states, a repositioning of slave axes on the interrupt point
is suppressed.
Function To calibrate the speed control circuit for a master–slave coupling, MD 37268:
generator MS_TORQUE_WEIGHT_SLAVE should be set to a small value in the slave
axis.
Traversing of a mechanically controlled following slave axis is not
prevented by the torque compensatory control 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 need not 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. In
the case of separate coupling, 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. If you cancel the coupling during an axis reversal error, an
incorrect actual value for slave axis results.
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 axis. 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 need not be activated explicitly. The
feedforward current settings of the master axis apply. The speed feedforward value of the
control master axis is already incorporated in the speed setpoint of the slave axis.
When the torque feedforward control is active, the torque feedforward control on
the load side of the master axis is also active in the slave drive.
When coupled, the mechanical ratios change.
Axial settings must be adapted to suit. 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.
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 when the axis container advances. Advance of the axis container is not
permitted because the coupling is active.
SW 6.4 and higher Dynamic configuration can be used for changing masters to make the spindle
relevant after a rotation of the axis container the master spindle. 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.
S1 S2
AX5 AX4
S5 S4
Fig. 2-9 Coupling between container spindle S3 and auxiliary motor AUX (prior to rotation)
S1 S2
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 detected 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 separated until the cause of the alarm has been eliminated.
Block search The SERUPRO function “Block search with calculation” can be used without
restriction in combination with a permanent master–slave coupling when 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 further information about event-driven program calls and block searches in
Program Test mode (SERUPRO), please refer to:
References: /FB/, K1, Mode Groups, Channel, Program Operation
Implicit stop The implicit stop preprocessor is omitted for MASLON, MASLOF.
preprocessor
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 for output of the configuration alarms 26031 changes from the control
assignment start-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 – En-
Motor
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
IPO coder
+
Position control Speed control Current control
Connection Master
Controller output Torque control
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 control Speed control Current control
+ + – En-
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
Motor coder
p n set i set
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
set
– iact
Kv = 0 SLAVE n act
ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ
pact
Several couplings A master can be assigned to each slave axis to produce several couplings. In a
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
Axis 1
Coupling 1
Set speed Torque
coupling control
Slave
Axis 2
Master
Axis 3
Coupling 2
Set speed Torque
coupling control
Slave
Axis 4
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. Note the following:
Master
Axis 1
Coupling 1 Coupling 2
Set speed Torque
coupling control
Slave Torque
Axis 2 control
Set speed
coupling
Slave
Axis 3
The torque control of coupling 1 attempts to maintain the same torque between
axis 1 and axis 2 by writing a set speed to axis 1 and axis 2. The torque control
of coupling 2 also tries to maintain the same torque between axis 1 and axis 3.
Both controllers would write set speeds to axis 1.
Axis in the channel When the coupling is active, the motion of the slave axis is not displayed in the
AUTOMATIC mode basic display, the actual value is “frozen”. If a coupling is
always active, i.e. the slave axis is never traversed individually, it is useful to
display this axis as the last axis in the AUTOMATIC mode basic display. This is
achieved by entering this axis as the last axis in the channel (MD 20070:
AXCONF_MACHAX_USED).
Several channels Master axis and slave axis need not be programmed in the same channel.
Multi-channel couplings are possible for several active channels.
Spindles A master–slave coupling can also include spindles. The slave axis must then
always operate in speed control mode, 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 axis. 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 reversed for one of the drives with MD 32100: MOTION_DIR. In this
directions case, the set speed and the output of the torque control are calculated correctly;
there is no need to set further machine data.
Different motor 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 the speed feedforward control is active in the master axis, the speed
control feedforward 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.
CPU load Each master slave coupling places a load on the position control level and the
interpolation level. The table shows the CPU 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 set speed 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 control” is present.
All axes of the mode group follow on; the alarms can only be reset with power
ON.
The torque control between master and slave ensures an even distribution of
the torque 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 set speed nset, which is applied to the master and the slave axis.
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 set speed nset by multiplying the torque difference
Mdiff by a gain factor Kp. The resulting set speed is added to the master and
slave axis.
nset = Mdiff * Kp
The P gain Kp of the torque compensator has the dimension [( mm / min) / Nm].
In the axial MD 63560: MS_TORQUE_CTRL_P_GAIN, the P gain is entered as
a percentage value of the ratio:
Maximum drive velocity [mm / min] to rated torque [Nm].
The maximum drive velocity is the contents 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 control.
Example:
Maximum drive velocity of the slave axis 30000 mm/min
Motor rated torque of the slave axis 10Nm
MS_TORQUE_CTRL_P_GAIN 15%
Kp: (30000/10) * 15% 450 (mm / min) / Nm
Limiting the You can use MD 63600: MS_MAX_CTRL_VELO 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. Default is 100%. The limit
applies in the positive and negative directions.
Example:
Slave axis is to produce 30% of the total torque.
70% is 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 taken 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 set speed at the torque control output when
the controller is operated without I component. The PT1 filter is configured using
MD 63585: MS_TENSION_TORQ_FILTER_TIME. The time is input in seconds.
Input 0 to deactivate the PT1 filter.
Note
The functions ensures distribution of the torque-forming currents (lq) and not
distribution of the torques.
This means that torque distribution is also assured for FDD synchronous mo-
tors (no field weakening). In contrast, however, only current distribution is as-
sured for MSD asynchronous motors in the field-weakening range. Distribution
of torques is guaranteed only for motors of the same type which are operating
simultaneously at the same speed. If MSD motors are not operated in the field-
weakening range, then torque distribution can also be assured for different mo-
tor types operating at different speeds.
P component in If the axes are put into operation separately in a master–slave coupling,
the speed whereby the single axis takes the full load, the P component in the speed
controller controller must then be halved in the two axes. Only in this way is it possible to
avoid overshoot 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 parts program is terminated with
M30 or RESET.
M30, RESET
active
Channel state 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 per 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 stop”
Since the coupling is processed in the position control 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, 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
is started, the slave axis is synchronized with the NC so that the slave axis can
be traversed from this position.
In the “Dialog” menu, “Service display” softkey, the motion of the slave axis is
always displayed, even when the coupling is active.
Traversing the A slave axis in an active coupling must not be traversed by the parts program,
slave axis by 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
parts program (G74).
If a master–slave coupling can be activated per PLC signal (DB3x,DBB24.7),
the master and slave axes are referenced individually in the coupling state “not
active”.
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 that NC
start is possible without having to reference the slave.
Response in the In the event of error conditions with alarm reaction Follow-up in master and/or
event of an error slave, each axis is braked down 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 the both axes
have the state “Controller active” following a channel reset.
J
Notes
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.
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 notes The master–slave function requires the master and slave axes to be operated
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
(SW 5.x and lower) wrong type“ appears.
S The setpoint position of the linked axis corresponds to the current actual
position.
Modulo rotary Master and slave axes can also be rotary axes. The following must be
axes observed:
On the slave axis, the actual value in the “Diagnosis” menu under softkey
“Service” 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 set speed
in [mm/min] or [rpm] of the P controller and the I controller of a torque control
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 refer to Section “File and
program management” in the document “SINUMERIK 840D/810D/FM-NC
Programming Guide Advanced”.
Please proceed as follows:
Create SGUD
S “Services” menu
S If directory “Definitions” is not displayed, select definitions using the “Data
selection” softkey
S OK
S File is opened
S Close
S Load
Create Initial.ini:
S Services menu
S In the root
S “Manage data” softkey
S “New” softkey
S Create new directory type “NC data backup”
S Create Initial.ini file in this directory:
Name: initial
Type: initialization program
S OK
S File is opened
Enter
M17
S Close
S Load
The following axis data are then displayed:
To support installation, the current torque values and the output of the torque
control 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
! To achieve a higher signal resolution, the data are displayed in the following
units:
Torque in [milli Nm]
Controller output in [internal increments / s]
The slots occupied by the analog converter on the terminal block are defined by
MD 10364 HW_ASSIGN_ANA_FASTOUT.
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 here: in TF_GR.COM:
075150 0 0 “Slave axis %1 and master axis for setspeed 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 Min. input limit: 0 Max. input limit: 31
Change effective after power ON Protection level: 2 Unit: –
Data type: DWORD Applies from 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 Min. input limit: 0 Max. input limit: 31
Change effective after power ON Protection level: 2 Unit: –
Data type: DWORD Applies from 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. Even torque distribution is achieved by
means of the torque compensatory controller.
In the default setting = 0, the same master axis is used for torque distribution as for set
speed coupling MS_ASSIGN_MASTER_TORQUE_CTR.
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 Min. input limit: 0 Max. input limit: 3
Change effective afterImmediately Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW: 6.1
Meaning: The output of the torque compensatory control is applied when the torque control is active:
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
Further 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 Min. input limit: 0 Max. input limit: 100
Change effective afterNEW_CONF Protection level: 2/7 Unit: %
Data type: DOUBLE Applies from SW: 6.1
Meaning: Gain factor of torque compensatory control
The gain factor is entered as a percentage ratio between the maximum load-side axis
speed of the slave axis and the rated torque.
The maximum axis speed is derived from MD32000, the nominal torque is the product of
drive machine data MD1725.
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 Min. input limit: 0 Max. input limit: 100
Change effective afterNEW_CONF Protection level: 2/7 Unit: s
Data type: DOUBLE Applies from 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 Min. input limit: 0 Max. input limit: 100
Change effective afterNEW_CONF Protection level: 2/7 Unit: %
Data type: DOUBLE Applies from SW: 6.1
Meaning: Limitation of torque compensatory control
The speed setpoint computed by the torque compensatory control is limited.
The percentage limitation refers 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 Min. input limit: 0 Max. input limit: 1
Change effective afterNEW_CONF Protection level: 2/7 Unit: –
Data type: Byte Applies from 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
using the 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
37264 MS_TENSION_TORQUE
MD number Master–slave tension torque
Default setting: 0 Min. input limit: –100 Max. input limit: 100
Modification valid IMMEDIATELY Protection level: 2/7 Unit: –
Data type: PERCENT Applies from SW: 6.1
Meaning: You can enter a constant tension torque between the master and slave axis as a percent-
age of the nominal 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 Min. input limit: 0 Max. input limit: 100
Changes effectiveImmediately Protection level: 2/7 Unit: s
Data type: DOUBLE Applies from SW: 6.1
Meaning: The tension torque between the master and slave axes can be applied via a PT1 filter.
Each change to MD 37264 is then traversed with the time constant of the filter.
The filter is inactive per default, each change in torque is left unfiltered.
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 Min. input limit: 0 Max. input limit: 100
Change effective afterNEW_CONF Protection level: 2/7 Unit: _
Data type: PERCENT Applies from 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. A 50 : 50% torque control makes sense for motors that have the same torque.
The torque for the master axis is obtained 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 function activated by the option data initiate the corresponding compile
cycles. These cycles can have a significant effect on the behavior of the control
system and may cause hazardous situations by accessing the NC.
Before a compile cycle is activated, the necessary safety precautions must be
taken to protect operating personnel and machine (safety precautions against
parameterization or programming errors in the compile cycles may need to be
taken).
63550 $MA_MS_ASSIGN_MASTER_SPEED_CMD
Master and slave axis do not have to be programmed in the same channel.
63555 $MA_MS_ASSIGN_MASTER_TORQUE_CTRL
Master and slave axis do not have to 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 satisfied after a power
ON, the coupling is activated. It can no longer be deactivated, 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
Bit 2: 0: Open coupling when master or slave axis are in follow-up mode
and signal “Axis stopped” = 1.
1: Open coupling when master or slave axis are not in control
and signal “Axis stopped” = 1.
63600 $MA_MS_MAX_CTRL_VELO
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 as well
as the coupling status:
Notes
Signal Descriptions 5
5.1 Axis-specific signals
Examples 6
6.1 Speed/torque coupling (SW 6 and higher)
Preconditions
S A configured master axis
MD 37250: MS_ASSIGN_MASTER_SPEED_CMD00
S Activation of a master–slave coupling via
MD 37262: MS_COUPLING_ALWAYS_ACTIVE=0
Typical sequence
of operations Action Effect/comment
1. Approach coupling Each axis moves to the coupling position.
position
2. Close coupling The two axes are connected mechanically.
mechanically
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 standstill, the coupled slave
coupling status axis sets PLC interface signal “Master/slave ac-
tive” DB32, ... DBX96.7 and cancels signal
“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.
Parts program N10 G0 AX1=0 AX2=0; Approach coupling position. Each of the axes
approaches 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 the master and slave axes.
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 signal PLC interface signal “Servo enable” DB31, ....
DBX2.1 is set for both axes.
3. Evaluate checkback AND the PLC interface signals of the master
signals axis:
– DB31, ... DBX61.7 “Current controller active”
– DB31, ... DBX61.6 “Speed controller active”
– DB31, ... DBX61.5 “Position controller active”
AND the PLC interface signals of the slave axis:
– DB32, ... DBX61.7 “Current controller active”
– DB32, ... DBX61.6 “Speed controller active”
– DB32, .... DBX96.7 “Master/slave active”
4. Release brake If the result of the AND operations on the master
and slave axes is 0 0, the brake may be re-
leased.
Preconditions
S MMC software version must be 3.5 or higher.
S An NCK technology card with the speed/torque coupling (master–slave)
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 measure is identical to the procedure followed for upgrading the NCU to a
higher software version and likewise requires the static (battery-backed) control
system memory to be erased. When this is done, all data stored in the SRAM
are lost and they must therefore be saved beforehand. For a detailed
description, please refer to 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, then
these must be saved in a separate archive file:
Press softkey “Data Out” and
select under item “NC active data” the following data as required:
“Measuring system compensations”,
“Sag/Angularity comp.” and
“Quadrant error compensation”.
Save these data by selecting softkey “Archive ...” and specify another 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.
Caution
! If number “6” does not appear, then an error has occurred.
S Incorrect PC card (e.g. card for NCU2 in NCU3 hardware).
S Card hardware defective.
Copy back To copy the saved data back into the control system, proceed as described in
SRAM contents Section “Series Start-Up”. Please read all information provided by the
manufacturer about new software versions.
1. Enter the machine manufacturer password.
2. Select “Data In” and “Archive...”.
3. Then load the archive with backup compensation data (if applicable).
Warning
! Failure to take appropriate precautions can have undesirable consequences.
The functions activated via MD 19600: CC_EVENT_MASK[n] initiate corre-
sponding compile cycles. These cycles can have a significant effect on the
behavior of the control system and may cause hazardous situations by access-
ing the NC.
Before a compile cycle is activated, the necessary safety precautions must be
taken to protect operating personnel and machine (safety precautions against
parameterization or programming errors in the compile cycles may need to be
taken).
Alarms
3. Enter the alarm texts in the language-specific text files TK1_GR.COM and
TK1_UK.COM.
GUD
4. If necessary, create GUDs from Section to check the torque control 3.
Configure the
master/slave 5. Assign a master axis to a slave axis via MDs 63550, 63555 and configure
coupling the torque control with MDs 63560–63590.
Coupling 1:
S Master speed coupling AX1
S Slave AX3
Coupling 2:
S Master speed coupling AX4 (channel 2)
7.3 Alarms
SINUMERIK 840D/840Di/810D
Description of Functions Special Functions
(Part 3)
Brief Description 1
Functionality The handling transformation package has been designed for use on
manipulators and robots. This package is a type a modular system which
enables the customer to configure the transformation for his particular machine
by setting machine data (provided that the relevant kinematics are included in
the handling transformation package).
S Sections 2.5 to 2.9 deal with the subject of programming, describing in detail
how to program orientations, specify tool parameters and call
transformations.
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.
Field of The handling transformation package described here has been designed to
application 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,
for example, a tool (cutter, laser beam) on a 5-axis machine to assume any
orientation in relation to the workpiece at any point 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; these 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
rotation mathematically 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
such that the coordinate system is a right-handed system.
The translation is always specified in relation to the coordinate directions of the
initial system. These directions are assigned to machine data as follows:
– X direction: ..._POS[0]
– Y direction: ..._POS[1]
– Z direction: ..._POS[2]
Rotation 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: 3rd 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 parts 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 y IRO x FL
yFL xWZ
x IRO zFL
yWZ
zWZ
Kinematic
transformation
Programmed
position zWS
zRO yWS
y RO
BCS WCS
Note
For a more detailed explanation of coordinate systems, please refer to:
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 62603 The setting in MD 62603: TRAFO6_MAIN_AXES defines the type of basic axis
TRAFO6_MAIN_AXES arrangement. The “basic axes” are generally the first 3 axes to be included in
the transformation.
MD 62606 The setting in MD 62606: TRAFO6_A4PAR specifies whether the 4th axis is
TRAFO6_A4PAR mounted parallel, 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 Machine data MD 62604: TRAFO6_WRIST_AXES specifies the hand type. The
TRAFO6_WRIST_ term “hand axes” generally refers to axes four to six.
AXES
MD 62610 Frame T_FL_WP provides the link between the last hand coordinate system
TRAFO6_TFLWP_POS and the flange coordinate system.
MD 62611
TRAFO6_TFLWP_RPY
MD 62603 The first 3 axes which are included in the transformation are generally referred
TRAFO6_MAIN_AXES to as the “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 basic axis identifier is entered in MD 62603:
TRAFO6_MAIN_AXES.
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 “hand axes”.
TRAFO6_WRIST_ The handling transformation package can only identify hands with rotary axes.
AXES The hand axis identifier for three-axis hands is entered in MD 62603:
TRAFO6_MAIN_AXES. In the case of hands with less than three axes, the
identifier for a bevelled hand with elbow or a central hand is entered in MD
62603: TRAFO6_MAIN_AXES. The current software supports only hand axis
types “bevelled 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 hand 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, and a4 are available for this type of hand, as shown in Table 2-1.
BHE (5-axis)
z 5 = 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 a more detailed explanation of FRAMES, please refer to:
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 hand
axis (x3_y3_z3 coordinate system). The p3_q3_r3 coordinate system is shown
in the kinematic diagrams for the basic axis arrangements.
The z3 axis is always positioned 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 provides the link between the flange and the last internal
coordinate system (wrist point coordinate system) predefined in the handling
transformation package.
This frame is subject to certain restrictions for kinematics involving less than
6 axes. These restrictions are explained in the descriptions of the relevant
kinematics.
Important
! With certain types of kinematics, it is possible to transpose axes without chang-
ing the behavior of the kinematic transformation. MD 62620:
TRAFO6_AXIS_SEQ is set to convert these kinematics into standard kinemat-
ics. 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 ma-
chine.
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 where a hand axis is positioned in parallel to the
last basic rotary 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. Axis 2 has a
mathematical zero point of 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 For the traversal of axes with G00 and an active transformation, special
acceleration rates velocities for the Cartesian motion components have been introduced.
If the axis is traversing with G01 or G02, the path velocity is determined by path
feedrate F.
MD 62629 Machine data 62629: TRAFO6_VELCP[i] can be set to define the velocities for
TRAFO6_VELCP 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
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 kinematic 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
MD 62612:
z RO y RO TRAFO6_TIRORO_POS[2]
x RO
3-axis
SC kinematic
zIRO r3 z
yIRO 2 q3 FL yFL
x IRO p3 x FL
3
MD 62612: zWZ yWZ
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 kinematic
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 z FL
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 kinematic
MD 62607: MD 62610:
TRAFO6_MAIN_LENGTH_AB[0] TRAFO6_TFLWP_POS[0]
z IRO r3 z FL
yIRO q3 yFL
RR x FL
x IRO 3 p3
2 zWZ yWZ
1
x WZ
zRO yRO
x RO
3-axis
NN kinematic
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 must
be entered in MD 62610: TRAFO6_TFLWP_POS and the rotation in
MD 62611: TRAFO6_TFLWP_RPY.
SCARA kinematics
4-axis
CC kinematic
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
z HP MD 62610:
TRAFO6_TFLWP_POS[2]
yFL
z FL
yIRO
xFL
1 yWZ
zIRO x IRO
z WZ
zRO y RO
MD 62612:
TRAFO6_TIRORO_POS[2]
xWZ
x RO
4-axis
SC kinematic
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 kinematic
r3
q3
3
p3
MD 62608:
z IRO x HP TRAFO6_TX3P3_POS[2]
y IRO 4
yHP
2
zHP MD 62610:
TRAFO6_TFLWP_POS[2]
x IRO y
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
SCARA kinematics
5-axis
CC kinematic 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 FL
3 z HP
x FL
p3 x3 x
r3 HP z WZ
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_SPE- block system of the Handling transformation package. They are frequently
CIAL_KIN missing a degree of freedom or are characterized by mechanical links between
the axes or with the tool. MD 62600: TRAFO6_KINCLASS = 2 has to be set for
these kinematics. MD 62602: TRAFO6_SPECIAL_KIN specifies the type of the
special kinematics.
2-axis SC This special kinematic is characterized by the fact that the tool is always
special kinematic 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 kinematic 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
yIRO z3 x FL z WZ
A2 x IRO A3 x z FL
3
y
MD 62612: 3
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 kinematic 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.
The identifier for this kinematic is MD 62602: TRAFO6_SPECIAL_KIN = 5.
MD 62608: MD 62607:
TRAFO6_TX3P3_POS[0] TRAFO6_MAIN_LENGTH_AB[0]
zIRO r3 zFL
yIRO q3 z y 3
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, i.e.
Euler or RPY It is possible to switch between Euler and RPY by setting MD 21100:
ORIENTATION_IS_EULER.
Important
! It is not possible to program using Euler angles, RPY angles or directional vec-
tors for kinematics involving less than 5 axes. In such cases, only one degree
of freedom is available for orientation. This orientation angle can only be pro-
grammed with “Orientation axis angle” “A”.
ORIWKS command The tool orientation is programmed in the workpiece coordinate system (WCS)
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 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 with the 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 trans-
formation 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).
Multiple input of According to DIN 66025, only one tool orientation may be entered in a block,
tool orientation e.g. with directional vectors:
N50 A3=1 B3=0 C3=0
If the tool orientation is input several times, e.g. with directional vectors and
Euler angles:
N60 A3=1 B3=1 C3=1 A2=0 B2=1 C2=3
then error message 12240 “Channel X block Y tool orientation xx defined more
than once” is displayed and the NC parts program stops.
Tool orientation 4-axis kinematics possess only one degree of freedom for orientation. When the
with 4-axis orientation is programmed using RPY angles, Euler angles or directional
kinematics vectors, 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 true, for example, in the
case of SCARA kinematics.
For this reason, the only method of orientation programming permitted for
kinematics with 4 axes is the method that uses the “orientation angle” A. This
angle corresponds to the RPY angle C according to the robotics definition, i.e. a
rotation about the Z-RO axis, as illustrated in Fig. 2-29.
x HP
A4
y
HP
z 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.
kinematic 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 further information refer to the Function Description Special Functions F2
(Part 3), Section 2.6 Orientation axes and the “Programming Guide Production
Planning”, 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 are
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°. The singular position does, in this case, not depend
on a specified orientation. In this position, the fourth axis is not specified,
that means that 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 at 180°. These positions are called
leveling/diffraction singularity.
S Another singular position exists for articulated arm kinematics is the hand
point is above the rotary axis of axis 1. This position is called over-head
singularity.
Extreme If the path runs in the proximity of a pole (singularity), it is possible that one axis
velocity increase or several axes traverse at a very high velocity. In this case, alarm 10910
“Extreme axis velocity increase” is triggered.
Behavior at the The unwanted behavior of fast compensating movements can be improved by
pole reducing the velocity in the proximity of a pole. Traveling through the pole with
active transformation is usually not possible.
Important
! When deactivating the transformation “Handling transformation package”, a
preprocessing stop and a preprocessing synchronization is 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/ The control behavior concerning run-up, end of program or RESET depends on
end of program MD 20110: RESET_MODE_MASK.
Bit 7: Reset behavior of “Active kinematic transformation”
Bit 7 = 0 Here, the basic setting for the active transformation after the
end of the parts program or RESET is defined by MD 20140:
TRAFO_RESET_VALUE with the following significance:
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.
MCS machine The machine axes are displayed in mm/inch and/or degrees in the 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 the display mode WCS. 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 deactivated, the axes are displayed with channel axis
identifiers, otherwise, 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. Only
a 1-dimensional tool with length in the x direction is possible for a kinematic
shown in Fig. 2–23.
The tool direction depends on the basic position of the machine specified by the
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
In software package 5.3 and higher it is possible to use the function Cartesian
PTP travel with the handling transformation package. For this purpose, the MD
24100: TRAFO_TYPE_1 must be set to 4100.
Important
! For further information refer to the Function Description Special Functions F2
(Part 3) Section 2.7 “Cartesian PTP travel” and to the “Programming Guide
Production Planning Subsection 7.1.5 Cartesian PTP travel”.
Supplementary Conditions 3
3.1 Options
SINUMERIK 840Di The compile cycle function of the SINUMERIK 840D is, for the time being, only
available on request for the SINUMERIK 840Di.
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.
Travel to fixed stop The handling transformation package cannot be operated in conjunction with
function the “Travel to fixed stop” function.
Multi-channel The “Handling transformation package” is configured only for the first channel. It
systems cannot therefore be activated in the second channel.
Several trans- The “Handling transformation package” is available only once in each channel.
formations It is not possible to switch between several transformations using the
in one channel TRAFO_TYPE_n (n=1 to 8) command.
Tool Tools can only be parameterized by specifying tool lengths. It is not possible to
programming program an orientation for the tool.
Orientation In the case of kinematics with less than 5 axes, the orientation can be
programming programmed only by means of “orientation axis angles”. It is not possible to
program an orientation using orientation vectors, Euler angles or RPY angles.
In the case of kinematics with 5 axes, the software only supports programming
using “orientation axis angles” and orientation vectors.
Axis assignment Channel axes must always be assigned to transformation axes in such a way
that the first n channel axes are assigned in ascending sequence to the
transformation axes in $MC_TRAFO_AXES_IN_1.
Dynamic response Depending on the type of kinematic, individual axes may be subjected to
of axes overloading at certain positions if they are traversing with active transformation.
The feedrate is not automatically adjusted. For this reason, the user must
reduce the feedrate appropriately at critical points.
J
Notes
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 setting: Min. input limit: – Max. 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: y 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 setting: Min. input limit: – Max. 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 setting: Min. input limit: – Max. 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: y 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 setting: Min. input limit: – Max. 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: Min. input limit: – Max. 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 data in order to match the mechanical zero point of
a rotaryaxis and the mathematical zero point defined by the transformation.
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: Min. input limit: -1 Max. 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 Channel-specific signals
Meaning 2 ORIMKS: The tool orientation is implemented in a machine coordinate system and
is thus dependent on the machine kinematics. This is the default setting with 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
With SW 6.4, the compile cycles are supplied as loadable modules. The gen-
eral procedure for installing such compile cycles can be found in TE0. The spe-
cific installation measures for this compile cycle can be found from Section 6.2
onwards.
1. Back up SRAM The first step to be taken to install a compile cycle function on the 840D is to
contents replace the original card inserted in the NCU by the technology card.
(840D only) This measure is identical to the procedure followed for upgrading the NCU to a
later software version and likewise requires the static (battery-backed) control
system memory to be erased. When this is done, all data stored in the SRAM
are lost and they must therefore be saved beforehand. For a detailed
description, please refer to 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, then
these must be saved in a separate archive file:
Press softkey “Data Out” and select under item “NC active data” the
following data as required:
“Measuring system compensations”,
“Sag/Angularity comp.” and
“Quadrant error compensation”.
Save these data by selecting softkey “Archive ...” and specify another 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 number “6” does not appear, then 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 contents described in Section “Data backup” (series start-up) in /IAD/, SINUMERIK 840D
(840D only) 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 travel 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:
– Hand 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 MD 62617:
TRAFO6_MAMES.
13. Enter the Cartesian velocities and acceleration rates.
J
62613 TRAFO6_TIRORO_RPY Frame between base center point and inter- Subs. 2.3.2
nal system (rotation component)
62614 TRAFO6_DHPAR4_5A Parameter A for configuring the hand Subs. 2.3.2
62615 TRAFO6_DHPAR4_5D Parameter D for configuring the hand Subs. 2.3.2
62616 TRAFO6_DHPAR4_5ALPHA Parameter ALPHA for configuring the hand Subs. 2.3.2
62617 TRAFO6_MAMES Offset between mathematical and mechani- Subs. 2.3.2
cal zero points
62618 TRAFO6_AXES_DIR Matching of physical and mathematical di- Subs. 2.3.2
rections of rotation
62619 TRAFO6_DIS_WRP Mean distance between wrist point and sin-
gularity
62620 TRAFO6_AXIS_SEQ Rearrangement of axes Subs. 2.3.2
62621 TRAFO6_SPIN_ON Configuration includes triangular or trapezoi-
dal spindles
62622 TRAFO6_SPIND_AXIS Axis that is controlled by triangular spindle
62623 TRAFO6_SPINDLE_RAD_G Radius G for triangular spindle
62624 TRAFO6_SPINDLE_RAD_H Radius H for triangular spindle
62625 TRAFO6_SPINDLE_SIGN Sign for triangular spindle
62626 TRAFO6_SPINDLE_BETA Angular offset for triangular spindle
62627 TRAFO6_TRP_SPIND_AXIS Axes driven via trapezoidal connection
62628 TRAFO6_TRP_SPIND_LEN Trapezoid lengths
62629 TRAFO6_VELCP Cartesian velocities Subs. 2.3.2
62630 TRAFO6_ACCCP Cartesian acceleration rates Subs. 2.3.2
62631 TRAFO6_VELORI Orientation angle velocities Subs. 2.3.2
62632 TRAFO6_ACCORI Orientation angle acceleration rates Subs. 2.3.2
62633 TRAFO6_REDVELJOG Reduction factor for Cartesian velocities in
JOG
7.3 Alarms
SINUMERIK 840D/840Di/810D
Description of Functions Special Functions
(Part 3)
Notes
Brief Description 1
The setpoint switchover function is used for milling machines with special mills,
for which the spindle motor is used both to drive the tool and for mill head
orientation. The spindle and the mill head axes are defined as separated axes
but driven by only one motor.
Availability The compile cycles are available from NCK SW 4.4 for NCU 572.2 and NCU
573.2 on the technology PC card (not for export version).
J
Notes
Detailed Description 2
2.1 General
The term “setpoint” as used in this documentation always refers to the digital
speed setpoint of an axis which is transferred from the position controller on the
NCU via the 611D drive bus and applied as the input quantity for the speed
controller of the appropriate 611D axis module.
The “Setpoint exchange” function is needed in cases where one motor is used
to drive two mechanical 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
The direct spindle encoder is an optional feature. The motor encoder and direct
millhead encoder rotate when the millhead axis is in operation. If a direct spindle
encoder is fitted, it does not rotate with the other two. When the spindle is in
operation, the motor encoder and direct spindle encoder (if installed) rotate. The
encoder on the millhead axis does not rotate with the other two.
After coupling/decoupling with the control system switched on (e.g. parts
program execution in automatic mode), the same motor alternately drives the
spindle or orientates the millhead. Both the spindle and the millhead axis are
defined as independent control system axes to which the available encoders,
speed ratios, velocities, Hirth tooth system, etc. are allocated by means of
machine data.
However, the setpoint output to the motor is permanently assigned to one axis
(see standard machine data for setpoint definition:
$MA_CTRLOUT_MODULE_NR, $MA_CTRLOUT_TYPE). A simulated setpoint
output is assigned to the second axis (millhead axis).
The setpoint exchange function is only meaningful on digital 611D drives.
Setpoints can be exchanged between axes only on condition that both axes are
at standstill (DB3x.DB61.4). The user PLC program must set the necessary axis
status (open position controller, follow-up mode) as a function of the application
before the setpoints are switched.
It is possible to define up to three axes which can exchange the setpoint output
with another specific axis, i.e. up to 4 axes can be switched onto a motor. This
option is needed, for example, in applications involving a number of special
millheads which need to be replaced online. The axes involved in the setpoint
exchange configuration need not necessarily be assigned to the same channel
or mode group.
Axis1
Position Speed control iact Current
pact control nset control
nact iset
pset-
En-
Fine Motor coder
interpolator
Setpoint
exchange
Axis2
Position Speed control Current
pact iact control
control nset nact iset
pset-
En-
Fine Motor
coder
interpolator
Fig. 2-3
The setpoints are switched after the position controller by exchanging the output
drivers of two axes in the NCU. The machine data which define the load ratio
(DRIVE_AX_RATIO_DENOM, DRIVE_AX_RATIO_NUMERA,
LEADSCREW_PITCH) are permanently stored in the output drivers and
updated only during power ON.
As a consequence, the power-ON-active machine data entered for the default
axis are activated by the setpoint exchange function for the axis to which the
setpoint output has been switched. To ensure accurate position control for the
axis to which the setpoint output has been switched, the load ratio of this axis
(and any others) must be set in one of the six possible position controller
parameter sets in the machine data of the default axis.
This position controller parameter set must be activated for the relevant axis
after setpoint output exchange by the PLC parameter set switchover function.
Display The axes involved in a setpoint exchange group are output in all axis displays
on the MMC as either simulated or 611D axes depending on the basic
configuration.
If an axis must not be output directly in the MMC basic display, then it must be
configured as the last axis in the channel (MD 20070
AXCONF_MACHAX_USED), thus ensuring that it appears only when the axis
display is actively scrolled.
Another possible option is to assign it to a different channel.
Channels/mode The axes involved in a setpoint exchange group need not necessarily be
groups assigned to the same channel. Cross-channel setpoint exchanges with axes
from several active channels are possible.
Axes with a Machine data $MA_SIMU_AX_VDI_OUTPUT must be set to 1 for axes with a
simulated setpoint simulated setpoint ($MA_CTRLOUT_TYPE=0) in order to ensure that the output
signals of the associated axial VDI interface are set.
Computing time The only significant additional CPU load on the cyclic levels are the clock cycles
requirement in which setpoints are actually exchanged.
Direction of The direction of rotation for an active coupling can be reversed via machine
rotation data 32100 AX_MOTION_DIR. (The machine data of the two axes must be set
identically).
S The number of the machine axis itself is specified as the exchange axis
number
Conditions A setpoint can be exchanged only when the following conditions are fulfilled:
Setpoint Two “to axis” axis-specific PLC signals (i.e. axis which controls drive in basic
exchange via configuration) request a setpoint exchange with one of the other three possible
PLC signal axes defined in machine data MD63750: CTRLOUT_CHANGE_TAB [0..2].
PLC signal: The status of a setpoint exchange is displayed in “from axis” axis-specific VDI
Status of a signals. The signal is updated only for the axis for which a setpoint exchange is
setpoint exchange requested.
NC STOP, RESET, Setpoint exchanges are executed via the PLC interface to ensure that the PLC
power ON program can close the mechanical couplings and switch the axes involved to
the status required for a setpoint exchange.
To execute a setpoint exchange with a program command, a user auxiliary
function (M, H, ..) can be defined which is then evaluated by the PLC program.
The setpoint exchange function remains in its current status on NC/STOP and
RESET/M30.
If a defined status in response to NC STOP and RESET/M30 is required, the
PLC program is responsible for setting the function to this status.
The status of setpoint assignments as defined in machine data is restored on
power ON.
If a setpoint exchange function is to remain active beyond power ON, the PLC
program must store the function status and activate it again after power ON.
Start-up via The MMC 103 start-up tool does not support the “Setpoint exchange” function.
MMC 103 The millhead axis (exchange axis) has to be manually selected for optimization.
Drive service The drive service display does not support the “Setpoint exchange” function.
display
After a setpoint exchange, the name of the axis to which the motor is assigned
in the initial state remains unaltered in the drive display.
PLC interface All axis-specific signals indicate the current status of the axis. The drive-specific
signals (e.g.: DB3x.DBB93) are activated on the interface DB of the exchange
axis after a setpoint exchange.
The user PLC program must process the interface of the exchange axis
completely.
Actual-value The setpoint exchange has no effect on the actual-value display, i.e. the axes
display are displayed correctly.
In a configuration without direct spindle encoder (the motor encoder for the
spindle/millhead axis rotates in millhead operation), the current orientation of the
spindle is not displayed.
Axis traversal Axes involved in a setpoint exchange group can be traversed like normal NC
after a setpoint axes.
exchange If only the motor measuring system is installed for the spindle, and not a direct
measuring system, then it should be set, for example, to follow-up mode in
millhead operation to avoid the risk of alarm generation (zero speed monitoring,
contour monitoring).
Reference point The reference point can be approached in both JOG-Ref mode and from the
approach parts program (G74).
Sequential referencing via MD 34110: REFP_CYCLE_NR is possible if the user
PLC program can switch between axes as required during referencing.
J
Supplementary Conditions 3
NCU 572.2 The Setpoint Exchange function can be utilized on NCU 572.2 hardware only
on condition that is has been specifically enabled for the customer.
Availability The compile cycles for the “Setpoint exchange” function are available on the
technology PC card with NCK SW 4.4 and higher for the NCU 572.2 and NCU
573.2 (not for export variant).
3.1 Limitations
S The “Analog axis” and “Master/slave” functions are not enabled for all
axes participating in the setpoint exchange.
S If linear axes are also included in the setpoint exchange group, the spindle
pitch of the default axis is also activated on the exchange axis.
S As the controller is located directly on the drive axis with Dynamic Stiffness
Control functionality, its control response is superior. The setpoint exchange
has a simulated axis and must not be used in conjunction with Dynamic
Stiffness Control due to the differences in control response.
Warning
! Failure to take appropriate precautions can have undesirable consequences.
The functions activated by the option data trigger corresponding compile
cycles. These cycles can have a significant effect on the behavior of the control
system and may cause hazardous situations by accessing the NC.
Before a compile cycle is activated, the necessary safety precautions must be
taken to protect operating personnel and machine (safety precautions against
parameterization or programming errors in the compile cycles may need to be
taken).
63750 $MA_CTRLOUT_CHANGE_TAB[0..2]
MD number Configuration of a setpoint exchange axis group
Default setting: 0 Min. input limit: 0 Max. input limit:
Number of axes in group
Changes effective after Protection level: 2 / 7 Unit: Machine axis number
power ON
Data type: INT
Meaning: This machine data configures a setpoint exchange operation by defining
the axes between which a setpoint output can be exchanged.
The machine axis number of the axis with which setpoints can be
exchanged is specified.
Up to three “exchange” axes can be defined.These need not be
assigned to the same channel.
Example:
The spindle (5th machine axis of the system) must exchange a setpoint
with the A axis (defined as 6th machine axis in the system) and with the
B axis (defined as the 7th machine axis in the system).
MD 63750: CTRLOUT_CHANGE_TAB[0] = 6
1. Setpoint exchange between spindle and machine axis 6
MD 63750: CTRLOUT_CHANGE_TAB[1] = 7
2. Setpoint exchange between spindle and machine axis 7
MD 63750: CTRLOUT_CHANGE_TAB[2] = 0
3. Setpoint exchange option not utilized
The setpoint exchange operation is activated via the PLC interface in the
axis DB of the relevant machine axis (DB3x.DBB24, bit 6–5).
Signal Descriptions 5
DB31 – DB38
DBX24.6-DBX24.5 Activate setpoint exchange
Data block Signal(s) to axis/spindle (PLC -> NCK)
Edge evaluation: yes Signal(s) updated: Cyclically Signal(s) valid from SW: 3.5
Signal state ==0 or signal Activate setpoint exchange.
transition 00 –> 01
10 The setpoint is exchanged with the axis defined in machine data:
11 MD 63750: CTRLOUT_CHANGE_TAB[0..2]:
Bit 7 65 4 3 2 1 0
||
||
==00 –> 01 Exchange setpoint with axis set in
$MA_CTRLOUT_CHANGE_TAB[0]
10 Exchange setpoint with axis set in
$MA_CTRLOUT_CHANGE_TAB[1]
11 Exchange setpoint with axis set in
$MA_CTRLOUT_CHANGE_TAB[2]
The following conditions must be fulfilled to activate or deactivate the exchange function:
– Both axes are stationary (DB3x.DBB61.4)
– No alarm is active which has reset Mode Group Ready (DB1x.DBX6.3)
– The drives must be operating in cyclic mode (DriveReady DB10.DBX108.6).
– The axis with which the setpoint is to be exchanged must not already be involved in
another active exchange group.
– Machine data $MA_CTRLOUT_CHANGE_TAB[0.2] for the setpoint exchange to be
activated must contain a valid machine axis number.
If one of these conditions is not satisfied, the coupling cannot be activated or deactivated.
Alarm 70452 0 0 “Axis %1, setpoint cannot be exchanged in this state” is output.
Signal irrelevant for ...... The signal is relevant only for those axes for which MD 63700 SET_POINT_CHANGE_AX
has been set to value other than zero.
DB31 – DB38
DBBX96.6 – DBBX96.5 Status of setpoint exchange
Data block Signal(s) from axis spindle (NCK –> PLC)
Edge evaluation: no Signal(s) updated: Cyclically Signal(s) valid from SW: 3.5
Signal state 1 or signal “Setpoint exchange status”
transition 0 –––> 1
Bit 7 65 4 3 2 1 0
||
==00 –> 01 Setpoint exchanged with axis set in
$MA_CTRLOUT_CHANGE_TAB[0]
10 Setpoint exchanged with axis set in
$MA_CTRLOUT_CHANGE_TAB[1]
11 Setpoint exchanged with axis set in
$MA_CTRLOUT_CHANGE_TAB[2]
Signal state 0 or signal Setpoint exchange is not active.
transition 1 –> 0
Setpoint exchange must be deactivated.
Bit 7 65 4 3 2 1 0
||
<>0 –> 00 Setpoint exchange deactivated (initial state)
Signal irrelevant for ...... This signal is relevant for the axis which has requested a setpoint exchange.
Examples 6
6.1 General start-up of a compile cycle function
Note
With SW 6.4, the compile cycles are supplied as loadable modules. The gen-
eral procedure for installing such compile cycles can be found in TE0. The spe-
cific installation measures for this compile cycle can be found from Section 6.2
onwards.
Precondition
S The software version installed on the MMC must be 3.5 or higher.
S An NCK technology card with the “Setpoint exchange” 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 is identical to the procedure followed for upgrading the NCU to a later
software version and likewise requires the static (battery-backed) control
system memory to be erased. When this is done, all data stored in the SRAM
are lost and they must therefore be saved beforehand.
S enter another file name for a 2nd archive file. archive file.
These archive files will enable you to restore the original status if required.
References: For a detailed description, please refer to the
Manufacturer/Service Documentation “SINUMERIK 840D/SIMODRIVE 611D
Installation and Start-Up Guide”.
Note
If number “6” does not appear, then the following errors might be the cause:
- 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.
Option data for To start up the “Setpoint exchange” function, you next need to activate the
compile cycles compile cycle.
To do so, proceed as follows:
Configuring the Assign the exchange axes for the setpoint exchange to the default axis in
setpoint exchange machine data 63750.
X axis $MA_CTRLOUT_NR[0,AX1]=1
$MA_CTRLOUT_TYPE[0,AX1]=1
$MA_NUM_ENCS[AX1]=1
$MA_ENC_SEGMENT_NR[0,AX1]=1
$MA_ENC_SEGMENT_NR[1,AX1]=1
$MA_ENC_MODULE_NR[0,AX1]=1
$MA_ENC_MODULE_NR[1,AX1]=1
$MA_ENC_INPUT_NR[0,AX1]=1
$MA_ENC_INPUT_NR[1,AX1]=2
$MA_ENC_TYPE[0,AX1]=1
$MA_ENC_TYPE[1,AX1]=0
Y axis $MA_CTRLOUT_NR[0,AX2]=2
$MA_CTRLOUT_TYPE[0,AX2]=1
$MA_NUM_ENCS[AX1]=1
$MA_ENC_MODULE_NR[0,AX2]=2
$MA_ENC_MODULE_NR[1,AX2]=2
$MA_ENC_INPUT_NR[0,AX2]=1
$MA_ENC_INPUT_NR[1,AX2]=2
$MA_ENC_TYPE[0,AX2]=1
$MA_ENC_TYPE[1,AX2]=0
Z axis $MA_CTRLOUT_NR[0,AX3]=3
$MA_CTRLOUT_TYPE[0,AX3]=1
$MA_NUM_ENCS[AX3]=1
$MA_ENC_MODULE_NR[0,AX3]=3
$MA_ENC_MODULE_NR[1,AX3]=3
$MA_ENC_INPUT_NR[0,AX3]=1
$MA_ENC_INPUT_NR[1,AX3]=2
$MA_ENC_TYPE[0,AX3]=1
$MA_ENC_TYPE[1,AX3]=0
Spindle $MA_CTRLOUT_NR[0,AX4]=4
$MA_CTRLOUT_TYPE[0,AX4]=1
$MA_NUM_ENCS[AX4]=1
$MA_ENC_MODULE_NR[0,AX4]=4
$MA_ENC_MODULE_NR[1,AX4]=4
$MA_ENC_INPUT_NR[0,AX4]=1
$MA_ENC_INPUT_NR[1,AX4]=2
$MA_ENC_TYPE[0,AX4]=1
$MA_ENC_TYPE[1,AX4]=0
$MA_IS_ROT_AX[AX4]=1
$MA_ROT_IS_MODULO[AX4]=1
$MA_DISPLAY_IS_MODULO[AX4]=1
$MA_SIMU_AX_VDI_OUTPUT[AX4]=0
$MA_DRIVE_AX_RATIO_DENUM[AX4,0]=1 // Spindle in axis mode
$MA_DRIVE_AX_RATIO_DENUM[AX4,1]=1 // 1st spindle gear stage
$MA_DRIVE_AX_RATIO_DENUM[AX4,2]=1 // 2nd spindle gear stage
$MA_DRIVE_AX_RATIO_DENUM[AX4,3]=1 // Not used
$MA_DRIVE_AX_RATIO_DENUM[AX4,4]=1 // Not used
$MA_DRIVE_AX_RATIO_DENUM[AX4,5]=12 // Used for A axis operation
$MA_DRIVE_AX_RATIO_DENUM[AX4,0]=1 // Spindle in axis mode
$MA_DRIVE_AX_RATIO_DENUM[AX4,1]=1 // 1st spindle gear stage
$MA_DRIVE_AX_RATIO_DENUM[AX4,2]=1 // 2nd spindle gear stage
$MA_DRIVE_AX_RATIO_DENUM[AX4,3]=1 // Not used
$MA_DRIVE_AX_RATIO_DENUM[AX4,4]=1 // Not used
$MA_DRIVE_AX_RATIO_DENUM[AX4,5]=13 // Used for A axis operation
$MA_SPIND_ASSIGN_TO_MACHAX[AX4]=1
$MA_CTRLOUT_CHANGE_TAB[0] = 5 // Spindle can exchange
setpoint with 5th machine
axis (A axis)
$MA_CTRLOUT_CHANGE_TAB[1] = 0
$MA_CTRLOUT_CHANGE_TAB[2] = 0
A axis The A axis has a direct encoder on the free measuring system input of the Z
axis, but does not have its own motor, i.e. the setpoint output is simulated in the
basic configuration.
$MA_CTRLOUT_NR[0,AX5]=5
$MA_CTRLOUT_TYPE[0,AX5]=0
$MA_NUM_ENCS[AX5]=1
$MA_ENC_MODULE_NR[0,AX5]=3
$MA_ENC_MODULE_NR[1,AX5]=3
$MA_ENC_INPUT_NR[0,AX5]=2
$MA_ENC_INPUT_NR[1,AX5]=2
$MA_ENC_TYPE[0,AX5]=1
$MA_ENC_IS_DIRECT[1,AX5]=1
$MA_IS_ROT_AX[AX5]=1
$MA_ROT_IS_MODULO[AX5]=1
$MA_DISPLAY_IS_MODULO[AX5]=1
$MA_SIMU_AX_VDI_OUTPUT[AX5]=1 // Important for updating the
VDI interface
$MA_DRIVE_AX_RATIO_DENUM[AX5,0]=12 // Not used
$MA_DRIVE_AX_RATIO_DENUM[AX5,1]=12 // Not used
$MA_DRIVE_AX_RATIO_DENUM[AX5,2]=12 // Not used
$MA_DRIVE_AX_RATIO_DENUM[AX5,3]=12 // Not used
$MA_DRIVE_AX_RATIO_DENUM[AX5,4]=12 // Not used
$MA_DRIVE_AX_RATIO_DENUM[AX5,5]=12 // Used for A axis operation
$MA_DRIVE_AX_RATIO_DENUM[AX5,0]=13 // Not used
$MA_DRIVE_AX_RATIO_DENUM[AX5,1]=13 // Not used
$MA_DRIVE_AX_RATIO_DENUM[AX5,2]=13 // Not used
$MA_DRIVE_AX_RATIO_DENUM[AX5,3]=13 // Not used
$MA_DRIVE_AX_RATIO_DENUM[AX5,4]=13 // Not used
$MA_DRIVE_AX_RATIO_DENUM[AX5,5]=13 // Used for A axis operation
$MA_MODULO_RANGE[AX5]=360
$MA_INDEX_AX_ASSIGN_POS_TAB[AX5]=3
$MA_INDEX_AX_NUMERATOR[AX5]=360
$MA_INDEX_AX_DENUMERATOR[AX5]=360
$MA_HIRTH_IS_ACITVE[AX5]=3
$MA_PARAMSET_CHANGE_ENABLE[AX5]=TRUE
// see Description of Functions A2, Parameter Set Switchover
A B C D E F G H I
Axis/spindle stationary
(DB31.DB61.1)
Axis/spindle stationary
(DB35.DB61.4)
Position controller enable
(DB34.DBX2.1)
Position controller enable
(DB35.DBX2.1)
Follow-up mode
(DB34.DBX1.4)
Follow-up mode
(DB35.DBX1.4)
Exchange setpoint
(DB34.DBX24.5/24.6)
Setpoint exchanged
(DB34.DBX96.5/96.6)
ModeGroupReady/DriveReady
(DB11.DBX6.3 DB10.DBX108.6)
Select parameter set 5;
Select parameter set spindle
(DB35.DBB9)
SINUMERIK 840D/840Di/810D
Description of Functions Special Functions
(Part 3)
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 parts 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 parts 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 parts program
commands.
Precondition
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_COPONM([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 the collision protection was active for one axis.
Warning
! If the axes are forced to brake, the positions displayed in the workpiece coordi-
nate 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 programmed in MD 63543:
CC_PROTECT_OPTIONS.
The collision protection status is optionally displayed in axial VDI-Out byte DB3x
DBB66 bit0 of the PSlave.
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 parts 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 is less than 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.
The coupling should be active even if only one head is being used in the
machining operation! This applies in particular if only the second head (Y2...) is
in use. “Axis/spindle inhibit” must then be set axially (PLC –> NCK) for the
“parked” head.
Note
When an axis/spindle inhibit is active, a parts 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 synchronous
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.
Compile cycle no. The function is assigned internal compile cycle no. 7.
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 corresponding compile
cycles. These cycles can have a significant effect on the behavior of the control
system and may cause hazardous situations by accessing the NC.
Before a compile cycle is activated, the necessary safety precautions must be
taken to protect operating personnel and machine (safety precautions against
parameterization or programming errors in the compile cycles may need to be
taken).
28090 NUM_CC_BLOCK_ELEMENTS
MD number Number of block elements for compile cycles.
Default setting: 0 Min. input limit: 0 Max. 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 Min. input limit: 0 Max. 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 Min. input limit: 0 Max. 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 and axis name can be determined from channel-speci-
fic machine data
20070 MC_AXCONF_MACHAX_USED[ n–1 ] and
20080 MC_CHANAX_NAME_TAB[n–1].
Caution:
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 Min. input limit: 0 Max. input limit: ∞
Changes effective after Protection level: Unit: –
RESET
Data type: DOUBLE
Meaning: Monitoring window (valid only for CC_Slave axes)
The difference between the actual values of CC_Slave axis and CC_Ma-
ster axis must never leave the monitoring window or else an alarm will be
generated.
63542 CC_PROTEC_MASTER
MD number Specifies the PMaster axis assigned to a PSlave axis.
Default setting: 0 Min. input limit: 0 Max. 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 PSlave axis.
The machine data specifies the associated PMaster axis.
The machine axis and axis name can be defined in channel-specific ma-
chine data MD 20070: MC_AXCONF_MACHAX_USED[ n–1 ] and
MD 20080: MC_CHANAX_NAME_TAB[n–1].
Caution:
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 Min. input limit: 0 Max. 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 unreferenced.
Bit Spare
63544 CC_COLLISION_WIN
MD number Collision protection window
Default setting: 1.0 Min. input limit: – Max. 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 va-
lue is 0. Only the value set for the PSlave is applied.
63545 CC_OFFSET_MASTER
MD number
Default setting: 0.0 Min. input limit: – Max. 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 applied.
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 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 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 after point of activation
This bit is set to 1 if a particular event (SW/HW limit switch on CC_Slave axis)
causes a change in the offset between CC_Master and CC_Slave which was
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 Displayed only for the CC_Slave axis.
Further 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 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 Evaluated only on the PSlave axis.
Examples 6
6.1 General start-up of a compile cycle function
Note
With SW 6.4, the compile cycles are supplied as loadable modules. The gen-
eral 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 measure is identical to the procedure followed for upgrading the NCU to a
later software version and likewise requires the static (battery-backed) control
system memory to be erased. When this is done, all data stored in the SRAM
are lost and they must therefore be saved beforehand.
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.
Note
If number “6” does not appear, then the following errors might be the cause:
– 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
Add an entry for the alarm text files for the described function 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.
Remedy Reset machine data to its old value, switch off the coupling and then enter the
new value.
Reset criterion RESET
Notes
SINUMERIK 840D/840Di/810D
Description of Functions Special Functions
(Part 3)
Brief Description 1
Flat bed cutting processes (e.g. laser, oxygen or water jet cutting) require a
solution which enables the machine operator to return to the so-called program
continuation point (damage point) after an interruption in machining (e.g. cutting
process failure) so as to remachine the workpiece from that point, without the
need for a block-by-block knowledge of the parts program.
The “Retrace Support” is practical if the machine operator does not notice a
failure until several blocks after the interruption. In other words, by the time the
machine operator notices the machining interruption (damage), the head has
already moved on and must be reversed back along the contour again. When
the operator notices this type of disturbance, he stops the machining operation
with NC STOP. If he now hits the “Reverse/Forward” button, the head reverses
along the original contour the next time he presses NC START. Once the head
has reached the damage point, the operator presses NC STOP. The head then
remains stationary at its current position. If he now presses the “Start program
rerun” button, then a block search is executed in the original program for the
“continuation block” (at the current head position). The operator now needs to
press NC START twice, as for a standard block search. Machining is then
resumed at the damage point.
Example A parts program with blocks N10 to N70 is executed. The machining quality in
block N40 becomes so poor that the workpiece must be remachined. The
operator notices the problem when block N70 is reached and stops the
machining operation. He now wants to reverse the head from the interruption
point (at N70) along the original contour to the damage point (at N40) and
continue machining there with all the supplementary conditions defined in the
original program (synchronized actions, M functions, etc.).
Note
With SW 6.4, compile cycles TE1 – TE8 are no longer supplied on PC cards.
They are available as loadable software blocks. Installation instructions are
provided in the general description in TE0.
Detailed Description 2
2.1 General
The “Retrace Support – function Retrace Support” is implemented using a
compile cycle. This cycle is available on a standard technology card with
SW 5.3 and higher under the name “Retrace/Continue Machining Support”
(abbreviated to RESU).
General principle
The compile cycle has an internal circular buffer containing geometric
information about traversed blocks as well as data about the subprogram call
level. If the user wishes to return the head along the contour, the stored
geometric information is written to a new parts program (cc_resu.mpf). This
parts program is automatically selected internally. cc_resu.mpf is executed
when NC START is next actuated. Cc_resu.mpf contains the geometric
information in the reverse order as compared to the original program, allowing
the user to return along the original contour.
It is also possible to travel back and forth repeatedly along the original contour.
parts program cc_resu.mpf is overwritten each time. The contents of the internal
circular buffer remain unaltered.
If the machine operator wishes to rerun the program, the original parts program
is selected internally and a block search executed for the “continuation block”.
The “damage” point is not restricted to block limits, but can also be located
within a block. The program continuation point corresponds the current position
of the machining head, i.e. the machine operator moves the head backwards
along the contour until it reaches exactly the point at which the program must be
continued (rerun). The machine operator then starts the continue machining
process.
Note
The head can only reverse along straight lines (G0, G1) and circles (G2, G3,
CIP) as such. All other programmed movements (e.g. splines, ADIS roundings)
are traversed as straight lines.
“Retrace Support” is implemented for 2D applications only, i.e. only movements
of the first two geometry axes (typically designated X and Y) are logged. Con-
sequently, only an XY path can be retraced.
Note
Retrace Support is not possible if you do not travel in reverse beforehand, i.e.
you must be in Retrace mode in order to continue machining (see Chapter 7).
2.3 Programming
The Retrace/Continue Machining function is activated and deactivated via NC
language command CC_PREPRE() as a function of the passed parameters. If
the function is activated without language command CC_PREPRE(), it is not
possible to reverse the head while the program is running. PREPRE stands for
“prepare retrace”.
CC_PREPRE(1) Starts storage of information. The information required from all executed blocks
is stored from this command onwards. This is essentially the geometric
information of geometry axes 1 and 2 of the first channel. Geometry axes 1 and
2 refer to channel-specific machine data
$MC_AXCONF_GEOAX_ASSIGN_TAB[0..1] or, if a transformation is active, to
machine data $MC_TRAFO_GEOAX_ASSIGN_TAB_n[0..1]. The information is
written to an internal circular buffer of the compile cycle.
CC_PREPRE(–1) Deactivates the function and empties the buffer. The stored information is not
written to the reversal program cc_resu.mpf. CC_PREPRE(–1) has the same
effect for the Retrace functionality as an NC RESET or M30 in the parts
program.
Error messages Call parameters other than those described above are rejected with alarm
75601. Standard alarm 12340 is output if more than one parameter is specified
in the CC_PREPRE(n) call. If the “Retrace/Continue Machining Support”
function is not available on the PC card or has not been activated via machine
data, the activation command is rejected in the same way as other unknown
commands with standard alarm 12550.
Note
The internal circular buffer is re-initialized after every continue machining op-
eration. Storage of travel information commences again from this point on-
wards. As a result, the operator can only ever reverse the head as far as the
last program continuation point.
Note
Only the X and Y positions of the contour are taken into consideration since
this compile cycle is designed for the field of 2D applications. A programmed Z
axis relevant to the contour is ignored while the head is reversing. If a motion
towards the Z axis needs to be executed as the head is reversing, the Z axis
must approach a safe position first. This position for Z can be programmed in
subroutine cc_resu_ini.spf.
cc_resu_bs_asub. When the NC boots, an ASUB named cc_resu_asub.spf is created in the user
spf cycles directory. This ASUB is triggered at the end of the Retrace, or to be more
precise, at the end of the final block search, after the first NC START has been
executed and signal DB21.DBX32.6 “Last action block active” is active (see
Section 2.6).
This ASUB is responsible for continuing machining at the current position in the
block on account of the RMN REPOS type (’N’ stands for “next”). This ASUB
can also be modified by the machine manufacturer if necessary. Additional
blocks should only be inserted in front of the “RMN” block.
The default version of cc_resu_bs_asub.spf contains the following blocks:
PROC CC_RESU_BS_ASUB SAVE
RMN
REPOSA
cc_resu_asub.spf When the NC boots, a further ASUB is created in the user cycles directory. The
name of the ASUB is cc_resu_asub.spf. For internal reasons, this ASUB is
executed any time the machine operator wants to reverse the head, i.e. every
time NC STOP is actuated in the original program and the “Backwards/
Forwards” button is pressed. This ASUB should not be changed, because it is
required purely for internal reasons.
The default version of cc_resu_asub.spf contains the following blocks:
PROC CC_RESU_ASUB
; siemens system asub – do not change
G4 F0.001
M0
REPOSA
The RESU subprogams cc_resu_ini.spf, cc_resu_end.spf, cc_resu_asub.spf
and cc_resu_bs_asub.spf are stored by default in the user cycles directory
(_N_CUS_DIR). However, it is also possible to specify in machine data that the
RESU subprograms are created in the machine manufacturer cycles directory
(_N_CMA_DIR). See Section 3.3 for more information.
Note
Subprograms cc_resu_ini.spf, cc_resu_end.spf, cc_resu_bs_asub.spf,
cc_resu_asub.spf and their subprograms may not contain block numbers. The
block numbers in the automatically generated reversing program cc_resu.mpf
have a specific internal meaning. In order to prevent blocks from the specified
subprograms from being interpreted incorrectly, they may not contain block
numbers (see also Subsection 6.3.2, Alarm 75604).
Subroutines cc_resu_ini.spf, cc_resu_end.spf and cc_resu_asub.spf must not
contain a CC_PREPRE(n) command. CC_PREPRE(n) may only be pro-
grammed in the original program or in ASUB cc_resu_bs_asub.spf.
Start reverse Start forward Start retrace 1st NC start 2nd NC start:
positioning positioning support after block Machining in
(optional) search original pro-
gram continued
Inputs:
“Reverse/forward”
(DB21.DBX0.1)
“Start retrace
support”
(DB21.DBX0.2)
Outputs:
“Retrace mode
active”
(DB21.DBX32.2)
“Retrace support
active”
(DB21.DBX32.2)
Start retrace Search tar- NC start: Last action NC start: Out- Target block
support (block get found Output ac- block active put approach in main run
search en- tion blocks block
abled)
“Retrace support
active”
(DB21.DBX32.2)
“Block search
active”
(DB21.DBX33.4)
“Action block active”
(DB21.DBX32.3)
“Last action block
active”
(DB21.DBX32.6) ASUB
cc_resu_bs_asub.spf
enabled
“Stop ASUB”
(DB21.DBX318.0)
“Approach block
active”
(DB21.DBX32.4)
NC start blocked
and refused with
alarm 75610
S The first NC START after block search should be executed only when signal
DB21.DBX33.4 (“Block search active”) is no longer active (LOW).
S The second NC START after block search should be executed only when
signal DB21.DBX318.0 (“ASUB stopped”) is active (HIGH).
Operating An internal “block search without calculation” is executed initally at the last main
principle block before the interruption block, followed by a “block search with contour
calculation” at the interruption block. For this reason, it is vital that the original
program contains main blocks.
Main blocks In order to use the block search from last main block, the original parts program
must contain main blocks (typically in the main program). These main blocks
must always contain all the necessary modal G functions and an absolute
position for all axes used. The main block number is designated with “:” (colon)
instead of the letter “N” for all other block numbers (subblocks). If no block
number is programmed, the block is not interpreted as a main block.
Such a main block might look like this:
:10 G1 G17 G90 X10 Y10 Z5 F1000 G71 G55 G64 G41
Activation The block search from last main block is activated with bit 0 of MD
$MC_RESU_SPECIAL_FEATURE_MASK_2 (see Subsection 4.2.1).
Bit 0 = 0
Retrace Support uses a standard block search (block search with contour
calculation). Default setting.
Bit 1 = 0
Retrace Support uses block search from last main block.
Restrictions
Note
Block search from last main block is only possible if a main block was logged
during execution of the original program. The original program must therefore
contain at least one main block after CC_PREPRE(1).
The activation command CC_PREPRE(1) (see Section 2.3) should also appear
in the cc_resu_bs_asub.spf ASUB when using the block search from last main
block, since this command is not collected by the block search without calcula-
tion.
cc_resu_bs_asub. cc_resu_bs_asub.spf should contain at least the following when using the block
spf search from last main block:
Note
It is recommended to use the block search from last main block only when ab-
solutely necessary. In case of doubt, the normal block search should always be
used (MD $MC_RESU_SPECIAL_FEATURE_MASK_2 bit 0 = 0).
Notes
Supplementary Conditions 3
3.1 Requirements of the PLC program
The following signals at the VDI interface must be evaluated or supplied by the
PLC user program:
Signals from PLC to NCK channel:
S DB2x.DBX0.1 “Reverse/Forward”
S DB2x.DBX0.2 “Start Continue Machining”
Signals from NCK channel to PLC:
“Reverse/ Reverse travel applies when the “Reverse/Forward” signal is HIGH. Forward
Forward” travel applies when the “Reverse/Forward” signal is LOW.
The “Reverse/Forward” signal is only evaluated when the control is in the NC
STOP state.
Example sequence:
1. Stop original program execution (NC STOP)
2. Press “Reverse/Forward” key (DB2x.DBX0.1 = HIGH)
3. –> Reverse travel is initiated
4. Start reverse travel (NC START)
5. Stop reverse travel (NC STOP)
6. Press “Reverse/Forward” key again (DB2x.DBX0.1 = LOW)
7. –> Reverse travel in forward direction is initiated
8. Start forward travel (NC START)
9. Stop forward travel (NC STOP)
10. Press “Reverse/Forward” key (DB2x.DBX0.1 = HIGH)
11. Start reverse travel (NC START)
12. ... (see continuation below)
“Start Continue A Continue Machining operation is triggered when the “Start Continue
Machining” Machining” signal is HIGH. Reverse travel is required beforehand. The “Start
Continue Machining” signal is only evaluated when the control is in the NC
STOP state.
“Retrace Mode The “Retrace Mode Active” signal is active as long as the control is in Retrace
Active” mode. This is the case from initial activation of the “Reverse/Forward” signal
until activation of the “Start Continue Machining” signal. In the above example,
this would mean: from step 2 to step 14.
“Continue The “Continue Machining Active” signal is set when the HIGH state is detected
Machining at the “Start Continue Machining” signal. The “Continue machining active” signal
Active” is reset when the program has been continued,
The Continue Machining process is completed after the first NC START at the
end of the final block search in the original program (–> action blocks are
output, the last action block is active). In the above example, this would mean:
from step 14 to step 17.
User keys The “Reverse/Forward” user key can have two states:
LOW: Forward travel
HIGH: Backward travel
When the user key is pressed, the “Reverse/Forward” signal changes state.
The current state of the user key (of this signal) should be indicated to the
machine operator. The operator can then see the current status of the function.
Only one state is relevant for the “Start Continue Machining” key:
HIGH: Continue Machining is initiated
Pressing of the “Start Continue Machining” key should trigger a HIGH edge at
the PLC signal “Start Continue Machining”. The “Start Continue Machining”
signal should be reset again as soon as the “Continue Machining Active”
response signal is activated.
S When the “Continue Machining Active” signal is active (signal from NCK
channel to PLC), both signals “Reverse/Forward” and “Start Continue
Machining” should be returned to their default state (LOW).
S For safety, the “Reverse/Forward” signal should be reset after the “Start
Continue Machining” signal is set. The “Reverse/Forward” signal should not
be reset at the same time as the “Start Continue Machining” signal is set, but
delayed by at least one cycle.
S For safety, the “Reverse/Forward” signal should be reset after the “Start
Continue Machining” signal is set.
Sample program At least the following PLC program extract should appear in every PLC user
program on machines which use RESU:
U DB21.DBX 32.2
R DB21.DBX 0.2
R DB21.DBX 0.1
O DB11.DBX 0.7
O DB21.DBX 7.7
R DB21.DBX 0.1
R DB21.DBX 0.2
U DB21.DBX 0.2
R DB21.DBX 0.1
U DB21.DBX 0.1
R DB21.DBX 0.2
Note
The behavior set in machine data (bits 2 and 3 in MD $MC_RESU_SPE-
CIAL_FEATURE_MASK) with reference to the storage location of RESU sub-
progams cc_resu_ini.spf, cc_resu_end.spf, cc_resu_asub.spf and
cc_resu_bs_asub.spf is binding. The RESU subprogams can be changed or
modified but must not be moved somewhere else.
The first time the system is booted after a general reset, the RESU subprogams
with the default contents (see Section 2.5) are created in the user cycle
directory (/_N_CUS_DIR), because bit 2 of MD
$MC_RESU_SPECIAL_FEATURE_MASK is set to zero by default. If bit 2 of
MD $MC_RESU_SPECIAL_FEATURE_MASK is set later to one, the RESU
subprograms are created again in the machine manufacturer cycle directory
(/_N_CMA_DIR). The RESU subprograms which were created initially in the
user cycle directory remain stored there and thus conflict with the RESU
subprograms in the machine manufacturer cycle directory. In this case, it is vital
to delete the existing RESU subprograms from the user cycle directory. This
procedure can be automated via bit 3 of MD
$MC_RESU_SPECIAL_FEATURE_MASK:
If bit 3 of MD $MC_RESU_SPECIAL_FEATURE_MASK is equal to one and
RESU subprogams (cc_resu_ini.spf, cc_resu_end.spf, cc_resu_asub.spf and
cc_resu_bs_asub.spf) exist in the user cycle directory, these are automatically
deleted the next time the control is booted.
This behavior is intended to support series machine start-up. If there were no
means of deleting the RESU subprograms automatically from the user cycle
directory on the control, the commissioning engineer would have to do this
manually for each machine commissioned.
Note
When bit 3 of MD $MC_RESU_SPECIAL_FEATURE_MASK is set, files with
the following names are deleted automatically without prompting on each
power ON:
/_N_CUS_DIR/_N_CC_RESU_INI_SPF
/_N_CUS_DIR/_N_CC_RESU_END_SPF
/_N_CUS_DIR/_N_CC_RESU_ASUB_SPF
/_N_CUS_DIR/_N_CC_RESU_BS_ASUB_SPF
Since the block start and block end points on a full circle are identical, this
position is ambiguous. If the program must be continued at this position, it is
always continued at the start of the block. It cannot be continued exactly at the
block end point.
S Transformations:
The function works independently of transformations, i.e. it can function
when a transformation is active. The BCS coordinates of the first two
geometry axes (X and Y) are stored. The transformation may need to be
activated in cc_resu_ini.spf (see Section 2). The transformation must not be
switched on or off while CC_PREPRE is active. In other words, the
transformation must always be activated before CC_PREPRE.
S Tool compensation:
The offset resulting from a tool compensation (e.g. tool radius
compensation) is taken into account by the continue machining function In
other words, the tool offset must be deactivated while continue machining is
active (T0, G40, see Section 2) The tool offset is already added to the
absolute axis positions in cc_resu.mpf. In certain situations, the generated
reversal program may deviate slightly from the original program with tool
radius compensation (e.g. DISC).
S Frames:
The offset resulting from a frame compensation (e.g. zero offset) is taken
into account by the continue machining function. In other words, the frame
offset must be deactivated while continue machining is active (G500, see
Section 2) The frame offset is already added to the absolute axis positions in
cc_resu.mpf.
Notes
activates compile cycle application 10. If this data is set to zero, the application
is not executed at all. The system is then identical to the standard system.
19340 $ON_PROG_MASK = ’H04’
These are option data. Please observe the respective conditions associated
with option data.
The following machine data are also required:
28090 $MC_MM_NUM_CC_BLOCK_ELEMENTS = 1
28100 $MC_MM_NUM_CC_BLOCK_USER_MEM = 2
If other compile cycles are also active (e.g. CLC), the above values must be
applied additively.
11602 $MN_ASUB_START_MASK = ’H01’
11604 $MN_ASUB_START_PRIO_LEVEL = 1
28105 $MC_MM_NUM_CC_HEAP_MEM = x (see Section 5.3)
18351 $MN_MM_DRAM_FILE_MEM_SIZE = 100
62571 $MC_RESU_RING_BUFFER_SIZE
MD number Size of circular buffer
Default setting: 1000 Min. input limit: 10 Max. input limit: 1000000
Changes effective after power ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW:
Meaning: The circular buffer contains the geometric block information from the original parts program.
The size of the circular buffer corresponds to the number of blocks that can be logged. It is
therefore directly proportional to the number of retraceable blocks.
62572 $MC_RESU_S$MC_RESU_SHARE_OF_CC_HEAP_MEM
MD number Size of circular buffer
Default setting: 100.0 Min. input limit: 1.0 Max. input limit: 100.0
Changes effective after power ON Protection level: 2 / 7 Unit: –
Data type: DOUBLE Applies from SW:
Meaning: Machine data $MC_MM_NUM_CC_HEAP_MEM defines the amount of heap memory
available for all the active compile cycles. Machine data
$MC_RESU_SHARE_OF_CC_HEAP_MEM can be set to define the share of heap
memory which will be available for the “Retrace/Continue Machining Support” function. For
example, the data can be set to allocate 50% of the heap memory to the ”Retrace/Continue
Machining Support” function. If no other compile cycles that require heap memory are ac-
tive, then this machine data should always be set to 100.0%.
62573 $MC_RESU_INFO_SA_VAR_INDEX[1]
MD number Indices of the synchronized action variables
Default setting: –1 Min. input limit: –1 Max. input limit: 10000
Changes effective after power ON Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW: 6.4
Meaning: Reserved. Machine data may not be used.
62574 $MC_RESU_SPECIAL_FEATURE_MASK
MD number Additional properties of the “Retrace/Continue Machining Support” function which can be
enabled. Power ON – effective properties.
Default setting: 0 Min. input limit: 0 Max. input limit: 0F (hex)
Changes effective after power ON Protection level: 2 / 7 Unit: –
62574 $MC_RESU_SPECIAL_FEATURE_MASK
MD number Additional properties of the “Retrace/Continue Machining Support” function which can be
enabled. Power ON – effective properties.
Data type: DWORD Applies from SW:
Meaning: Bit 0: Reserved. May not be used.
Evaluation bit by bit Bit 1=0: Default setting.
The reverse travel program cc_resu.mpf is created in dynamic NC program
memory (DRAM, see Section 3.2). Recommended setting.
Bit 1=1: The reverse travel program cc_resu.mpf is created in buffered NC program
memory (SRAM, see Section 3.2).
Bit 2 = 0: Default setting.
The RESU subprogams cc_resu_ini.spf, cc_resu_end.spf, cc_resu_asub.spf
and cc_resu_bs_asub.spf are created in the user cycle directory
(/_N_CUS_DIR, see Subsection 3.3.1).
Bit 2=1: The RESU subprogams cc_resu_ini.spf, cc_resu_end.spf, cc_resu_asub.spf
and cc_resu_bs_asub.spf are created in the machine manufacturer cycle directory
(/_N_CMA_DIR, see Subsection 3.3.2). Recommended setting.
Bit 3 = 0: Default setting.
No effect. (see Subsection 3.3.1)
Bit 3=1: If files with the names cc_resu_ini.spf, cc_resu_end.spf,
cc_resu_asub.spf or cc_resu_bs_asub.spf exist in the user cycle directory
(/_N_CUS_DIR), they are deleted automatically without prompting
each time the control is booted (see Subsection 3.3.2).
Recommended setting if bit 2 = 1. Bit 3 has no effect if bit 2 = 0.
62575 $MC_RESU_SPECIAL_FEATURE_MASK_2
MD number Additional properties of the “Retrace/Continue Machining Support” function which can be
enabled. RESET – effective properties.
Default setting: 0 Min. input limit: 0 Max. input limit: 01 (hex)
Changes effective after RESET Protection level: 2 / 7 Unit: –
Data type: DWORD Applies from SW:
Meaning: Bit 0=0: Default setting.
A standard block search is used for the Continue Machining process
(see Section 2.7). Recommended setting.
Bit 0=1: The RESU block search type is used for the Continue Machining process
(block search from last main block, see Section 2.7).
Notes
Start-Up 5
5.1 General start-up of a compile cycle function
Note
With SW 6.4, the compile cycles are supplied as loadable modules. The gen-
eral procedure for installing such compile cycles can be found in TE0. The spe-
cific installation measures for this compile cycle can be found from Section 5.2
onwards.
The MMC software version (SW 5.1. or higher) must match the relevant NCK
version. An NCK PCMCIA card containing the “Retrace/Continue Machining
Support” 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 special card. This step is identical to the
procedure followed for upgrading the NCU to a more recent software version
and likewise requires the static (battery-backed) control system memory to be
erased.
When this is done, all data stored in the SRAM are lost and they must therefore
be saved beforehand. For a detailed description, please refer to the
Manufacturer/Service Documentation “SINUMERIK 840D/SIMODRIVE 611D
Installation and Start-Up Guide”:
Note
If number “6” does not appear, then 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) in the Installation and Start-Up Guide. Please read
all information provided by the manufacturer about new software versions.
Other MD
S Set MD 28090 $MC_MM_NUM_CC_BLOCK_ELEMENTS = 1
S Set MD 28100 $MC_MM_NUM_CC_BLOCK_USER_MEM = 2
If these two machine data are already set to values greater than zero for other
compile cycles, the settings increase accordingly.
Alarms Enter the alarm texts in language-specific text file TF_GR.COM or TF_UK.COM
(see Section 5.4).
Memory for at least 12 elements must be available for the block search buffer
(12 * 180 bytes = 2160 bytes), otherwise alarm 75600 appears (see Subsection
6.3.2). If the size of the buffer for block search information should not be
sufficient while the function is running, alarm 75606 appears (see Section 6).
Alarm 75606 does not interrupt the current machining operation, but results in a
reduction in the length of the retraceable contour. If alarm 75606 is generated
when parts programs are running, then machine data
$MC_MM_NUM_CC_HEAP_MEM and $MC_ RESU_RING_BUFFER_SIZE
must be adjusted to increase the available memory for the block search buffer.
Size of the block The size of the buffer for the block search information can only be defined
search buffer indirectly, as described above.
The actual size of this buffer can be read from the channel-specific GUD
CC_RESU_LENGTH_BS_BUFFER. This GUD variable is intended to provide
feedback or confirmation for the commissioning engineer. It can be viewed on
the operator panel in the “Parameter” – “User Data” display area.
Before you can view the GUD, it has to be created. For a detailed description of
the procedure to be followed, please refer to Section “File and program
management” in the document “SINUMERIK 840D/810D/FM-NC Programming
Guide Advanced”.
Proceed as follows:
Allocation of CC
heap memory
If other compile cycles requiring a share of the heap memory are active at the
same time as the “Retrace/Continue Machining Support” function, then the
amount of memory allocated to the latter must be limited. This can be done via
machine data $MC_RESU_SHARE_OF_CC_HEAP_MEM (see Subsection
4.2.1).
Note
With SW 6.4, compile cycles TE1 – TE8 are no longer supplied on PC cards.
They are available as loadable software blocks. Installation instructions are
provided in the general description in TE0.
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.
or in TF_UK.COM:
075600 0 0 “Channel %1 Retrace Support: invalid MD configuration,
error no. %2”
075601 0 0 “Channel %1 block %2 invalid argument of CC_PREPRE()”
075604 0 0 “Channel %1 retracing not possible, error no. %2”
075605 0 0 “Channel %1 Retrace Support: Internal error, error no. %2”
075606 0 0 “Channel %1 Retraceable contour shortened”
075607 0 0 “Channel %1 Program cannot be continued”
075608 0 0 “Channel %1 NC memory is full, RAM type %2”
075609 0 0 “ Channel %1 RESU axis, wrong axis config.,
axis type %2, block %3”
075610 0 0 “ Channel %1 RESU, NC START not possible”
J
6.3 Alarms
6.3.1 Alarms of standard system
6500 NC memory limit reached
Explanation This alarm can occur while file cc_resu.mpf is being written if there is insufficient buffer
memory available.
Reaction Alarm display
File cc_resu.mpf is generated for as long as there is sufficient memory available and
correctly terminated, i.e. a subroutine call CC_RESU_END is inserted with parts pro-
gram terminator M30 at the end. Although the file is smaller, it is still usable.
Remedy Adjust the size of the buffer memory ($MN_MM_USER_MEM_BUFFERED) or increase
the available space in the buffer memory, e.g. by unloading parts programs that are no
longer needed, or reduce the size of the circular buffer (see also Subsection 4.2.1, MD
$MC_RESU_RING_BUFFER_SIZE).
Or create the file in the dynamic NC program memory (DRAM, see Section 3.2). In this
case, no memory space is needed for cc_resu.mpf in the buffered NC program memory.
To continue program Clear the alarm with the cancel key. No further operator action required.
Error no. = 6
Machine data $MN_ASUB_START_MASK and $MN_ASUB_START_PRIO_LEVEL are
not correctly set (see Section 5.2).
Error no. = 11
Values have not been assigned to machine data $MC_AX-
CONF_GEOAX_NAME_TAB[n], $MN_INTERMEDIATE_POINT_NAME_TAB[n] and
$MN_IPO_PARAM_NAME_TAB[n]. This is necessary, however.
Error no. = 13
Bit 2 = 0 of MD $MC_RESU_SPECIAL_FEATURE_MASK specifies that the reverse
travel program cc_resu.mpf is to be stored in the DRAM NC program memory. However,
no DRAM NC program memory was requested via MD
$MN_MM_DRAM_FILE_MEM_SIZE. Remedy: Either set MD
$MN_MM_DRAM_FILE_MEM_SIZE to a value not equal to zero or set bit 2 of MD
$MC_RESU_SPECIAL_FEATURE_MASK equal to one. See also Sections 3.2 and 5.2.
Reaction Alarm display, mode group not ready, motion stop, no NC START possible, alarm signal
at PLC interface
Remedy Correct the machine data or assign values.
To continue program Switch the control OFF – ON.
Error no. = 4
The selected Continue Machining block is probably a block from cc_resu_ini.spf or
cc_resu_end.spf, programmed with a block number. The cc_resu_ini.spf and
cc_resu_end.spf subprograms may not contain block numbers, because these have an
internal meaning (see Section 2.5).
Error no. = 4
Remove all block numbers from subprograms cc_resu_ini.spf and cc_resu_end.spf and
their subprogams.
To continue program Clear the alarm with the RESET key. Restart the parts program.
To continue program Clear the alarm with the cancel key. No further operator action required.
75609 Channel %1 RESU axis, wrong axis config., axis type %2, block %3
Explanation A RESU axis (geometry axis one or two) is not traversed as a geometry axis in the block
displayed. For example, the following was programmed:
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
Explanation of terms 7
Damage point The point on the contour at which the cutting quality is visibly substandard or at
which the cutting process is interrupted. The machine operator would like to
repeat the machining process at this point. In other words, the actual position of
the damage can be further back, since it is typically necessary to restart the
cutting process before the actual damage point.
Interruption point The point on the contour at which the operator notices the damage and stops
the machine.
Program continua- The machine operator initiates the Continue Machining process at the program
tion point continuation point. The original program is selected automatically and
machining resumes at the current position in the original program. The program
continuation point is normally the same as the damage point.
Retraceable Contour stored in the circular buffer along which the head can be reversed.
contour See also Section LEERER MERKER.
Retrace mode While the head is reversing along the contour, the control is in Retrace mode.
This is the case from initial activation of the “Reverse/Forward” signal until
activation of the “Start Continue Machining” signal. In figure 7-1 (see below), the
control system is in Retrace mode in steps two to five.
2. Backwards positioning:
Fig. 7-1 Example program execution and use of the RESU functionality
Example This diagram shows an example of a possible sequence for reversing and
subsequent program continuation. The diagram shows the execution of a parts
program with blocks N10 to N60 and the path traversed in steps one to six. The
machine operator positions the head in reverse and forward several times in
steps two to five until he has placed it exactly on the damage point in step five,
and thus exactly on the program continuation point. He starts the Continue
Machining process in step six and then continues execution of the original
program at the program continuation point.
J
SINUMERIK 840D/840Di/810D
Description of Functions Special Functions
(Part 3)
Cycle-Clock-Independent Path-Synchronous
Signal Output (TE8)
Notes
Brief Description 1
A solution is required for rapid laser machining that allows the laser to be
switched on and off independent of the position, e.g. for cutting perforations in
steel plates. On the assumption that all motions requiring the laser to be
switched off are traversed with G0, it is possible to combine the switching signal
for the laser with the rising and falling edges of G0. As an alternative, a specific
threshold of the programmed feedrate can be applied as the switching signal: If
lower feedrate values are programmed, the laser is switched on and,
conversely, switched off at higher feedrate values. The threshold value itself
also causes activation of the signal.
Basis for The difference between the current position and setpoint position for switching
calculation is calculated in every position controller cycle. Taking into account the current
velocity and acceleration, the time required until the next switching operation is
calculated. If this time falls within 1.5 position controller cycles, a hardware timer
set to the calculated time is started. This outputs the switching signal
independently of the position control cycle on timeout.
J
Notes
Detailed Description 2
2.1 General
When an edge (positive or negative) of G0 is detected, or the feedrate exceeds
or falls below the selected threshold, the setpoint position at which the laser
signal must next be switched is stored. In the simplest case, this is the
programmed setpoint in the last block, i.e. the position on block change.
The stored setpoint is now compared with the actual (encoder) value in the
position control cycle. If the actual value approaches so close to the stored
setpoint that the laser signal must be switched within the next 1.5 position
controller cycles, the hardware timer is started with the calculated time value.
The switching operation is then performed asynchronously to all cycles in the
system.
If, for example, the setpoint cannot be reached at all due to a change in
direction, then the laser is switched as soon as the difference between the
setpoint and actual value has reached a minimum tolerance window.
If the variant using a feedrate threshold is selected, the laser is still switch off
when G0 is detected (the programmed feedrate does not change with G0). This
is designed specially to prevent a G0 block at the beginning of a machining
operation (programmed feedrate = 0) from switching on the laser. The laser can
only be switched back on again by a feedrate value that is lower than the
selected threshold value.
An offset can be specified (programmed) additionally in distance units for both
switching operations, i.e. switch-on and switch-off can be displaced with respect
to the setpoint position by a particular differential distance. In this case, a
negative value denotes an offset ahead of the setpoint (lead) and a positive
number an offset behind the setpoint (lag). The offset refers to the path; for
purposes of simplicity, the calculation presupposes a linear motion, ignoring any
curvature.
If an excessively large lead value is programmed, i.e. the setpoint is already
exceeded by the time the edge is detected, the signal is switched immediately.
Note
Owing to the traversing logic used, programmed lead values are inoperative in
SBL mode and with G60!
When the program is interrupted (NC Stop) and the machine switched to JOG
mode, the function is deactivated until the system reverts to Automatic mode
and the programmed continued with NC Start.
2.2 Programming
As regards switching the laser itself on and off, there is no need to take any
special programming measures since this operation is directly linked to the
programmed G functions or the programmed feedrate:
S Falling edge of G0, i.e. all other G functions in the 1st G group, or feedrate
drops below the feedrate threshold value:
–> Laser is switched on
Meaning of Parameter “DIFFON” contains the offset value for the falling edge of G0 (i.e. for
parameters the laser switch-on signal), parameter “DIFFOFF” contains the offset for the
falling edge (i.e. for the switch-off operation).
The applicable unit is the setting in MD “$MN_SCALING_SYSTEM_IS_METRIC”
(mm or inch).
Parameter FEEDTOSWITCH is optional; if it is not programmed, the switching
operation is combined with the rising or falling edge of G0. If a feedrate value is
programmed, this is applied subsequently as a threshold value for the signal.
If the offset values need to be altered within the program, command
CC_FASTON can be programmed again at any time (even if the function is
already active). The two switching criteria (G function or feedrate) can be
changed at any time.
As soon as CC_FASTON is programmed, a laser signal is output. The level of
this signal depends on the current status in this block (G0 or not, which
feedrate).
The complete function can be deactivated again via a CC_FASTOFF()
command; a Reset also switches the function off. The two program commands
are implemented as procedures, i.e. they must be programmed alone in the
block, but do not cause a drop in velocity on a contour programmed with
constant tool path velocity (G64, G641,..).
Note
The signal output at the three NCU outputs not used by CC_FASTON is sup-
pressed for 2 interpolation cycles with every timer-controlled switching edge,
i.e. a signal output triggered, for example, by synchronized actions, is only ac-
tually transferred to the hardware after a delay of 2 interpolation cycles.
Notes
Supplementary Conditions 3
3.1 Axes, channels
Only the movement of geometry axes is monitored. If no geometry axes are
configured, a configuration alarm is output.
The function can only be activated in the 1st channel.
Example N1 G0 X0 Y0
N2 G1 F1000 X10 Y10
N3 G0 X50
N4 CC_FASTON(–0.4, 0.4)
N5 Y50
N6 G1 X100 Y100
With a normal program run, the laser is switched on once at the beginning of
block N6.
Block search to end of block N6 (starting point: X0 Y0):
Both axes move for 0 to 100 with laser switched on.
S Transformations:
The function can only operate with deactivated transformation. However, this
is not monitored!
S Compensations:
Compensations are generally taken into account.
S TRC:
Tool radius compensations are also taken into account if possible. Please
note, however, that additional blocks inserted as a result of the radius
compensation (e.g. at outside corners) are added to the new block. This
means that if there is also an edge change of G0 at this type of place on the
contour, then the switching signal is gated with the block end point of the last
programmed block.
S ADIS:
A block inserted by ADIS is added to the old block, i.e. the laser signal in this
case would only be switched when the new block began.
Notes
S This means:
Warning
! Failure to take appropriate precautions can have undesirable consequences.
The functions activated by the option data trigger corresponding compile
cycles. These cycles can have a significant effect on the behavior of the control
system and may cause hazardous situations by accessing the NC.
Before a compile cycle is activated, the necessary safety precautions must be
taken to protect operating personnel and machine (safety precautions against
parameterization or programming errors in the compile cycles may need to be
taken).
S 28090: $MC_MM_NUM_CC_BLOCK_ELEMENTS = 1
S 28100: $MC_MM_NUM_CC_BLOCK_USER_MEM >= 10
If other compile cycles are also active (e.g. CLC), the above values must be
applied additively.
62560 $MC_FASTON_NUM_DIG_OUTPUT
MD number Configuration of the NCK output
Default setting: 0 Min. input limit: 0 Max. input limit: 4
Changes effective after Protection level: 2/7 Unit: –
power ON
Data type: Byte
Meaning: This machine data configures the number of the output bit for the laser
signal.
Value 0 deactivates the function.
J
Notes
Example 5
5.1 General start-up of a compile cycle function
Note
With SW 6.4, the compile cycles are supplied as loadable modules. The gen-
eral procedure for installing such compile cycles can be found in TE0. The spe-
cific installation measures for this compile cycle can be found from Section 5.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 special card.
This is identical to the procedure followed for upgrading the NCU to a later
software version and likewise requires the static (battery-backed) control
system memory to be erased. When this is done, all data stored in the SRAM
are lost and they must therefore be saved beforehand. For a detailed
description, please refer to the Manufacturer/Service Documentation
“SINUMERIK 840D/SIMODRIVE 611D Installation and Start-Up Guide”:
Note
If number “6” does not appear, then 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.
Option data for Set the option for compile cycle function 9
compile cycles
S MD 28090 MM_NUM_CC_BLOCK_ELEMENTS = 1
S MD 28100 MM_NUM_CC_BLOCK_USER_MEM >= 10
If these two machine data are already set to values > 0 for other compile cycles,
then the settings increase accordingly.
S Run up the software again. Machine data 62560 will then be displayed at
the end of the channel-specific machine data list (look for “FASTON” or
“62560”).
I/O devices Enter the bit number for the laser signal in channel-specific MD 62560.
J
Notes
6.3 Alarms
Alarm No.
75500 Channel % 1, Configuring error
Explanation %1 = channel number
There are 2 causes for this alarm:
– No geometry axis is defined
– The “Software cams” option is set
Reaction The function cannot be activated
Remedy Change the configuration
To continue RESET
program
Notes
SINUMERIK 840D/840Di/810D
Description of Functions Special Functions
(Part 3)
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 parts 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 for
Notes
Detailed Description 2
2.1 General functionality
General notes
S SW 3.2 and higher
Standard and user cycles can be preprocessed.
The processing time of parts programs can then be reduced without restrict-
ing the control functionality.
If machine data MD 10700: PREPROCESSING_LEVEL is set, standard and
user cycles are preprocessed.
Preprocessing is implemented on a program-specific basis. It is possible to
mix preprocessed parts programs and those that are interpreted in ASCII
format.
The purpose of preprocessing is to reduce downtimes.
S As of SW 5
MD 10700: PREPROCESSING_LEVEL, Bit 4 has been added. This allows
you to select the preprocessing for user cycles from the directory
_N_CMA_DIR.
Functionality The programs stored in the directories for standard and user cycles are prepro-
cessed when the power is switched on, i.e. the parts program is translated
(compiled) 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
optimization parts programs with high-level language components (branches, check struc-
tures, motion synchronous actions).
While branches and check structures are invalidated by a search through all
blocks (block start) when parts programs are interpreted in ASCII format (active
as default), a branch is made directly to the destination block in a preprocessed
parts program.
The runtime differences between branches and check structures are thus elimi-
nated.
Example of runtime of preprocessed program:
Runtime reduction by 30% with 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.
Compilation The subroutines (extension _SPF) stored in the directories for standard cycles:
_N_CST_DIR, _N_CMA_DIR and user cycles: _N_CUS_DIR and if the neces-
sary the subroutines marked PREPRO are compiled. The name of the compila-
tion corresponds to the original cycle with extension _CYC.
Note
Program changes to precompiled programs do not take effect until the next
power ON.
Access authoriza- The preprocessed program can only be executed, but not read or written. The
tion 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 required The memory required for compiled cycles is approximately factor 2 in addition to
the ASCII parts programs.
The memory required for variables defined in the parts programs is defined 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 subprogram level.
When programs are preprocessed after power ON, a name is counted for each
branch destination/label as if it were a variable. These names must be taken
into account in MD 28020: MM_NUM_LUD_NAMES_TOTAL.
Example:
PROC NAMES ; 1 name
DEF INT VARIABLE, FIELD[2] ; 2 names
BEGINNING: ; 1 name, for preprocessing only
FOR VARIABLE = 1 TO 9 ; 1 name, for preprocessing only
G1 F10 X=VARIABLE*10–56/86EX4+4*SIN(VARIABLE/3)
ENDFOR ; 1 name, for preprocessing only
M17
In order to execute this program normally, machine data
$MC_MM_NUM_LUD_NAMES_TOTAL must specify at least 3 names.
6 names are required to compile this program after power ON.
Overview
Main program
Call
CYCLE_SPF ASCII
without preprocessing cycle
CYCLE _N_CYCLE_SPF
Preprocessing
CYCLE_CYC
_N_CYCLE_CYC
Preprocessing
Call Prepro-
with preprocessing cessed
cycle
_N_CYCLE_CYC
Call
S Compiled cycle
A compiled cycle is called in exactly the same way as a normal subprogram.
Example: CYCLE
S Preprocessing is activated:
The compiled cycle is called instead of the ASCII cycle.
– If the subprogram 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 subprogram 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 set, all programs that do not start with the
PROC statement 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 parts 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 Parts programs are compiled independently of channels. For this reason, the
geometry and channel identifiers set via MD$MC_AXCONF_GEO-
AX_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
Supplementary Conditions 3
Availability of the The function is an option and available for
“preprocessing”
function
S SINUMERIK 840D, SW 3 and higher.
J
10700 PREPROCESSING_LEVEL
MD number Program preprocessing level
Default setting: 1 Min. input limit: 0 Max. input limit: 15
Changes effective after power ON Protection level: 2/2 Unit: –
Data type: BYTE Applies from SW: 3.2
Meaning: The term “preprocessing” refers to the declaration of cycles which can then be used without
an additional EXTERN declaration in the parts program.
Bit 1=1: During control power-up, all cycles are preprocessed into a compilation
optimized for processing. All user cycles (directory _N_CUS_DIR) and
standard cycles (directory _N_CST_DIR) are processed rapidly. Program
changes to cycle programs do not take effect until the next power ON.
Bit 2=1: During control power-up, the Siemens cycles in directory _N_CST_DIR
are preprocessed in a compilation optimized for processing (SW 3.5 and
higher).
Bit 3=1: During control power-up, the user cycles in directory _N_CUS_DIR are
preprocessed in a compilation optimized for processing (SW 3.5 and higher).
Bit 4=1: Preprocessing of user cycles from directory _N_CMA_DIR (SW 5 and
higher)
Bit 5=1: Preprocessing of user cycles only by marking with PREPRO in the PROC
statement (SW 6.4 and higher).
Memory is required for preprocessing cycles. Better language utilization can be achieved
through selective setting of the preprocessing function:
– Runtime-critical cycles are combined in a directory.
– The other cycles are located in a different directory.
– Use Bit 5 and mark only critical cycles.0>!
Further references /PA/, “Programming Guide Fundamentals” (EXTERN Declaration)
Memory The memory space required for variables defined in the parts 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 subprogram 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
Example 6
6.1 Preprocessing individual files
PROC PREPRO2
N2000 DEF INT VARIABLE, FELD[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 PREPRO1
N30 G0 X10 Y10 Z10
N40 PREPRO2
N50 G0 X100 Y100
N60 PREPRO3
N70 G0 X10 Y10
N80 M30
Sample 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 of an invalid subroutine for activated compilation:
7.2 Alarms
A detailed description of the alarms which may occur is given in
References: /DA/, Diagnostics Guide
or in the online help in systems with MMC 101/102/103/HMI Advanced/HMI Em-
bedded.
J
SINUMERIK 840D/840Di/810D
Description of Functions Special Functions
(Part 3)
Notes
Brief Description 1
Why 3D TRC? The 3D tool radius compensation capability 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”
Difference D With 21/2D TRC, it is assumed that the tool is always space-bound. Tools
21/2 D–3D TRC with constant orientation (cylindrical tools) are used for peripheral 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
ÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉ
ÉÉ
3D TRC
ÉÉ
ÉÉÉÉÉÉÉÉ
ISD =InSertion Depth R
L
ISD
ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉ
Fig. 1-1 21/2 D and 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
d
ËËËËËË
e
nF
ËËËËËË r
ËËËËËË
ËËËËËË
FE
Orientation Tools with different orientation characteristics may be used in 3D TRC, i.e.
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 outer 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 insertion depth of the tool for peripheral milling is programmed with program
ISD command ISD (InSertion Depth). It is therefore 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
Outer corners/ Outer corners and inner corners must be treated separately. The terms “inner
inner corners corner” and “outer corner” are dependent on the tool orientation. When the ori-
entation 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
ÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉ
Inner corner Outer corner
ÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉ
Fig. 2-3 Corner type
ÉÉÉÉÉ
ÉÉÉÉÉ
ÉÉÉÉÉ
ÉÉÉÉ
ÉÉÉÉ
ÉÉÉÉ
ÉÉÉÉ
Machining direction
Similarly to what happens for 21/2 D tool radius compensation, on outside cor-
ners a circle is inserted with G450 and the intersection of the offset curves ap-
proached with G451.
At transitions that are almost tangential, even if G450 is active, the behavior is
as with G451 (limit angle can be set via MD). Conversely, a circle is inserted
with active G451 too (behavior as with G450), if there is no intersection or when
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 com-
mand DISC is not evaluated.
ORIC If ORIC is active and there are two or more blocks with orientation changes (e.g.
A2= B2= C2=) programmed between the traversing blocks, then the inserted
circle block is distributed among these intermediate blocks according to the ab-
solute changes in angle.
Change in The method by which the orientation is changed at an outer corner is deter-
orientation mined by the program command that is active in the first traversing block of an
outer corner.
60
N100
N90
N70
N60 N80
10
5 Outer corner with over-
laid orientation change
10 60
Example:
N10 A0 B0 X0 Y0 Z0 F5000
N20 T1 D1 ;Radius=5
N30 TRAORI(1) ;Transformation selection
N40 CUT3DC ;3D TRC selection
N50 ORIC
N60 G42 X10 Y10 :TRC selection
N70 X60
N80 A3=1 B3=0 C3=1 ;Change in orientation at outer corner
N90 Y60 ;formed by N70 and 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 outer 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
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) ;Transformation selection
N40 CUT3DC ;3D TRC selection
N50 ORID
N60 G42 X10 Y10 :TRC selection
N70 X60
N80 A3=1 B3=0 C3=1 ;Change in orientation at outer corner
N90 Y60 ;formed by N70 and N90
N100 X10
N110 G40 X0 Y0
N120 M30
Note
The command DISC 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 sufficiently long to ensure that the contact points of the
tool do not cross the block limits into other blocks when the orientation changes
at an inner 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 orientation change in block N80
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 :TRC selection
N70 X60
N80 A3=1 B3=0 C3=1 ;Change in orientation at outer 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 inner cor-
orientation ner in such a way 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 inner corner, then it is no longer possible to adhere to the programmed rela-
tionship 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 synchronous axes with
21/2 D tool radius compensation.
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
Programmed
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
position
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
Fig. 2-8
ÉÉÉÉÉÉÉÉÉÉÉÉÉ
Path end position and change in orientation at inner corners
Change in Generally speaking, the contour elements that form an inner 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.
As a consequence, the insertion depth (ISD) changes abruptly from the 1st to
the 2nd block at an inner 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
tool is so long that the cutter contact point on the lateral surface of the cutter
does not leave the range in which machining is possible.
ÉÉÉÉ
ÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ New ISD
ÉÉÉÉÉÉÉÉÉÉÉÉ
Old ISD
ÉÉÉÉÉÉÉÉÉÉÉÉ FS
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
2. block
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
1. block
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉÉÉÉÉÉ
Fig. 2-9 Change in insertion depth
Example
of inner 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 inner corner
;formed by N70 and N90
N100 G40 X... Y...
...
N190 CDOF
N200 M30
ÉÉ
FS
w
ÉÉ
ÉÉ
d
d
ËËËËËË
e
nF
ËËËËËË
ËËËËËË
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 (truncated cone mill), for
example, have an identical machining action since only the section at the tool
tip is taken into account. The only difference between these tools is that the tool
shape is represented differently (dimensions).
d
d d
a a
d
d d
r r
End mill with Bevel cutter with
corner rounding Truncated cone mill 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 (inner 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 synchronous 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 inner corner). If the omitted path section is not a straight line in
a plane, the lead and side angles generally deviate from their programmed val-
ues at the path end point. This is because the orientation has changed relative
to the surface normal vector or path tangent vector when the absolute orienta-
tion 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 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 inner 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 such 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 such that the machining
point on the tool can move from the tool tip FS to the periphery (on outer cor-
ners and convex surfaces) or the paths must be shortened to avoid contour
violations (on inner 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 (inner or outer 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 inner
and outer 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 particular
machine data setting. The “steepest” surface line is a line at angle a to the tool
longitudinal axis (this line is in the same direction as the tool longitudinal axis on
cylindrical tools). This restriction must be imposed to ensure that the contact
point on the tool does not leave the permissible range.
n1 n n1 n2
n1 2
n2
Outer corners are treated as if they were circles with a 0 radius. The tool radius
compensation acts on these circles in the same way as on any other 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 outer 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 orientation changes (e.g.
A2= B2= C2=) programmed between the traversing blocks, then the inserted
circle block is distributed among these intermediate blocks according to the ab-
solute changes in angle.
Change in The method by which the orientation is changed at an outer corner is deter-
orientation mined by the program command that is active in the first traversing block of an
outer corner.
If the tool orientation at an outer corner is not constant, then the change in ori-
entation is implemented in exactly the same way as described in Subsection
2.1.2 for peripheral milling operations.
The position of the tool in which it is in contact with the two surfaces forming the
corner must be determined at an inner corner. The contact points must be on
the paths defined on both surfaces. It is not usually possible to solve this prob-
lem exactly since, when the tool is moved along the path on the first surface, it
normally touches a point on the second surface which is not on the path.
For this reason, the tool is not moved along the path on the first surface, but
deviates from the path in such a way as to ensure that the distance between the
contact points and the relevant contours in the position in which the tool con-
tacts both surfaces is minimal, see also Fig. 2-15.
Tool
Cut edges of
both surfaces Path on surface 2
Path on surface 1
Fig. 2-15 Inner 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” cutter side at an inner corner (the angular
difference about the tool longitudinal axis between the two contact points on
the tool surface is about °), is more likely to be an exception (see also Fig.
2-16 right). The angle will normally stay almost constant so that there will be
relatively small distance between the contact points on the tool surface (see
also Fig. 2-16 left).
ÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇ
ÇÇÇÇÇÇÇÇ
Fig. 2-16 Machining at inner 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 inner 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 inner corner is not constant, the change in orientation
is implemented in the same way as described in Subsection 2.1.3 for 3D periph-
eral milling, i.e. the tool is moved in the corner such that it contacts the two adja-
cent surfaces at the block start, block end and at two points 1/3 and 2/3 of the
orientation change. A 3rd-degree polynomial is used to interpolate between
these 4 points.
A variable tool orientation in a block that is shortened owing to an inner 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 inner 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 inner corner if the singu-
larity 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 inner 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 inner
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 iden-
tical). Tool radius compensation is deactivated with G40. The approach re-
sponse is always controlled with NORM. The activation command must always
be included in a linear block.
Example:
N10 A0 B0 X0 Y0 Z0 F5000
N20 T1 D1 ;Radius=5
N30 TRAORI(1) ;Transformation selection
N40 CUT3DC ;3D TRC selection (peripheral milling)
N50 G42 X10 Y10 ;TRC selection
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) ;Transformation selection
N40 CUT3DC ;3D TRC selection
N50 G42 X10 Y10 ;TRC selection
N60 X60
N70 G40 X100 Y0 Z20 ;3D TRC deselection
N80 ...
Note
The TRC is not deselected if D0 is programmed when the tool radius com-
pensation is active.
The TRC is not deselected if the block containing the deselection command
does not include any geometry axes in the current plane.
Notes
Supplementary Conditions 3
Availability of This function is an option and available for
“3D tool radius
compensation”
S SINUMERIK 840D with NCU 572/573, with
function SW 3.1 and higher (peripheral milling) and
SW 3.2 (face milling).
J
21080 CUTCOM_PARALLEL_ORI_LIMIT
MD number Limit angle between path tangent and tool orientation for 3D tool radius compensation
Default setting: 3 Min. input limit: 1.0 Max. input limit: 89
Changes effective after RESET Protection level: 2/7 Unit: Degrees
Data type: DOUBLE Applies from 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 are fulfilled.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 , 0.
Default setting: 3 Min. input limit: 1.0 Max. input limit: 89.0
Changes effective after RESET Protection level: 2/7 Unit: Degrees
Data type: DOUBLE Applies from 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. Machin-
ing is otherwise aborted with an alarm if the angle is smaller than the value set here.
Generally speaking, the lower the value entered in this machine data, the greater the com-
puting capacity required to check that the above conditions are fulfilled.
This data has no effect in linear blocks with constant orientation. The angle between 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 Min. input limit: 1.0 Max. input limit: 89.0
Changes effective after RESET Protection level: 2/7 Unit: Degrees
Data type: DOUBLE Applies from 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. Machining is otherwise aborted with an alarm if the angle is smaller than
the value set here.
Generally speaking, the lower the value entered in this machine data, the greater the com-
puting capacity required to check that the above conditions are fulfilled.
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 ; Level definition
N110 G41 ORID CUT3DF G64 X10 Y0 Z0 ; Activate tool compensation
N120 X30
N130 Y20 A4=1 C4=1 ; Outside corner, level redefinition
N140 B3=1 C3=5 ; Orientation change with ORID
N150 B3=1 C3=1 ; Orientation change with ORID
N160 X–10 A5=1 C5=2 ORIC
N170 A3=–2 C3=1 ; Orientation change with ORIC
N180 A3=–1 C3=1 ; Orientation change with ORIC
N190 Y–10 A4=–1 C4=3 ; Level redefinition
N200 X–20 Y–20 Z10 ; Inside corner with previous block
N210 X–30 Y10 A4=1 C4=1 ; Inside corner, level redefinition
N220 A3=1 B3=0.5 C3=1.7 ; Orientation change with ORIC
N230 X–20 Y30 A4=1 B4=–2 C4=3 ORID
N240 A3 = 0.5 B3=–0.5 C3=1 ; Orientation change
N250 X0 Y30 C4=1 ; Path movement, new level,
; Orientation
; with relative programming
N260 BSPLINE X20 Z15 ; spline start, relative programming
N270 X30 Y25 Z18 ; 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, variable plane
N330 X–20 G40 ; Deactivation of tool offset
N340 M30
J
7.2 Alarms
Index
F I
Face milling, 3/W5/2-18 Identification of axis sequence, 3/F2/2-18
Frame, 3/TE4/2-6 Independent drive, 3/M3/2-73
Function Retrace Support, 3/TE7/2-5 Independent drive generator operation, 3/M3/2-62
Functionality, 3/V2/2-5 Independent drive reactions, 3/M3/2-62
Independent drive retract, 3/M3/2-62, 3/M3/2-74
Independent drive stop, 3/M3/2-63
Input time, 3/G3/2-10
G Insertion depth ISD, 3/W5/2-8
G450, 3/W5/2-10 Intermediate blocks, 3/T3/1-3, 3/W5/2-28
G451, 3/W5/2-13 Interpolation of the angle of rotation, 3/F2/2-66
G91 Extension, Machine zero, 3/F2/2-61 Interpolation of the rotation vector, 3/F2/2-66
Gantry Axes Interpolator cycle, 3/G3/2-7
Start-up, 3/G1/2-18 Interpolator cycle, 840Di, 3/G3/2-10
Terms, 3/G1/2-5 Intersection behavior for 3D compensation,
Gantry axes, 3/G1/1-3 3/W5/2-13
Differences between “gantry axes” and IPO cycle, 3/G3/2-8
“coupled axes” functions, 3/G1/2-25 ISD, 3/W5/2-8
Referencing and synchronization, 3/G1/2-10
GC, 3/G3/2-10
General machine data, 3/V2/4-13
General notes, 3/V2/2-5
K
General sources, 3/M3/2-68 Kinematic transformation, 3/F2/2-15, 3/TE4/2-5
Generator operation, 3/M3/2-72, 3/M3/2-78 Configuration, 3/TE4/2-9
Generic 5-axis transformation, 3/F2/2-42 Start-up, 3/TE4/6-74
Global control telegramm, 3/G3/2-10 Kinematics of machines, 3/F2/2-16
H L
Hand axes Laser cutting: clearance control, 3/TE1/2-5
Configuration, 3/TE4/2-13 Limit angle for the fifth axis, 3/F2/2-27
Parameterization, 3/TE4/2-13 Link frames, 3/TE4/2-15
Handling Transformation Package
Alarms, 3/TE4/7-76
Brief Description, 3/TE4/1-3
Channel-specific machine data of standard
M
Channel-specific signals, 3/TE4/5-69 Machine data, 3/V2/7-20
Configuring data, 3/TE4/2-17 Machine data in the transformation standard set,
Creating alarm texts, 3/TE4/3-53 channel-specific, 3/TE4/4-58
Data Description, 3/TE4/4-57 Machine kinematics, 3/F2/2-42
Data Fields, Lists, 3/TE4/7-75 swiveling linear axis, 3/F2/1-9
Detailed Description, 3/TE4/2-5 Machine types, 3/F2/2-16, 3/F2/2-18, 3/F2/2-43
Example, 3/TE4/6-71 Master Application Cycle, 3/G3/2-10
General machine data, 3/TE4/2-9 Master axis, 3/G1/2-5
Interface signals, 3/TE4/7-75 Master time, 3/G3/2-10
Limitations of function, 3/TE4/3-54 Master value coupling
NC machine data, 3/TE4/7-75 Axis types, 3/M3/2-30
Options, 3/TE4/3-53 Interface signals, 3/M3/2-37
Signal Descriptions, 3/TE4/5-69 Programming, 3/M3/2-33
Start-up, 3/TE4/6-71 Response in operating modes, 3/M3/2-36
Supplementary conditions, 3/TE4/3-53 MCS coupling: Brief Description, 3/TE6/1-3
MCS coupling: Supplementary Conditions,
3/TE6/3-13
MD 37500, ESR_REACTION, 3/M3/4-89
Memory required, 3/V2/2-8
N R
NC-controlled extended stop, 3/M3/2-64 Reader’s note, v
NC-controlled retraction, 3/M3/2-66 Retrace Support , 3/TE7/2-5
Retrace/Continue Machining Support: Signal De-
scriptions, 3/TE7/5-31
Retract, 3/M3/1-7
O Retract and stop, 3/M3/2-60
ORIC, 3/W5/2-10, 3/W5/2-25 Rotation, 3/TE4/2-7
ORID, 3/W5/2-12 Rotation of the orientation vector, 3/F2/2-64,
Orientation, 3/F2/2-48 3/F2/2-65
Orientation axes, 3/F2/1-11, 3/F2/1-12, 3/F2/2-56 RPY, 3/F2/2-23, 3/TE4/2-43
Definition, 3/F2/1-11 Run-in and run-out paths, programmable,
Introduction, 3/F2/1-11, 3/F2/1-12 3/TE1/2-17, 3/TE1/2-18
Programming, 3/F2/2-58 Runtime optimization, 3/V2/2-5
Orientation direction, 3/F2/2-65
Orientation direction and rotation, 3/F2/2-65
Orientation in TCS and MCS, 3/F2/2-23
Orientation path in pole vicinity, 3/F2/2-28
S
Orientation programming, 3/F2/2-23 Selection of type of interpolation, 3/F2/2-62
Orientation transformation, 3/F2/2-15 Selection/deselection, 3/W5/2-28
Orientation vectors, 3/F2/2-62 Setpoint exchange: detailed description,
ORIMKS, 3/F2/2-24, 3/TE4/2-44 3/TE5/2-5
ORIWKS, 3/F2/2-24, 3/TE4/2-44 Setpoint switchover, 3/TE5/1-3
Outer corners/inner corners, 3/W5/2-9 Single-axis rotary table, 3/F2/2-17
Output Time, 3/G3/2-10 Single-axis swivel head, 3/F2/2-17
Singular positions, 3/F2/2-27, 3/TE4/2-48
Singularities, 3/F2/2-51
SINUMERIK 810D powerline, vi
P SINUMERIK 840D powerline, vi
Parameterization of machine geometry, Special 2-axis NR kinematic, 3/TE4/2-42
3/TE4/2-10 Special 3-axis SC kinematic, 3/TE4/2-40
Path-synchronous switch signal output, Brief de- Special 4-axis SC kinematic, 3/TE4/2-41
scription, 3/TE8/1-3 Special kinematics, 3/TE4/2-38
Path/synchronous switch signal output, 3/TE8/2-5 Stop, 3/K6/2-7, 3/M3/1-7
Peripheral milling, 3/W5/2-8 Stop and retract, 3/M3/2-60
PO_SYSCLOCK_TIME_RATIO, 3/G3/2-16 Swiveled linear axis
Pole, 3/F2/2-27 Application, 3/F2/2-31
Polynomial interpolation, 3/F2/2-62 Channel-specific MD, 3/F2/4-99
Polynomial, 5th degree, 3/F2/2-66 Kinematics variants, 3/F2/2-31
POSCTRL_SYSCLOCK_TIME_RATIO, Parameter assignments, 3/F2/2-31
3/G3/2-15 Pole, 3/F2/2-31
Position control cycle, 3/G3/2-7 Swiveled linear axis
840Di, 3/G3/2-10 Type of machine, 3/F2/2-36
Position control cycle offset, 840Di, 3/G3/2-11 Zero position, 3/F2/2-34
Power failure detection, 3/M3/2-70 Swiveling linear axis, 3/F2/1-9
Preprocessing, Machine data, 3/V2/4-13 Synchronism deviation, scanning, 3/M3/2-43
PROFIBUS shutdown handling, 3/G3/2-18 Synchronized axis, 3/G1/2-5
PROFIBUS_SHUTDOWN_TYPE, 3/G3/2-18 Syntax check, 3/V2/2-11
Programmable contour accuracy, 3/K6/1-5, SYSCLOCK_SAMPL_TIME_RATIO, 3/G3/2-17
3/K6/2-9 System clock cycle, 3/G3/2-5
Application, 3/K6/2-9 840Di, 3/G3/2-10
Programmable run-in and run-out paths,
3/TE1/2-17, 3/TE1/2-18
T Transformation
Activation, 3/TE4/2-49
T_FL_WP, 3/TE4/2-16 Actual-value display, 3/TE4/2-50
T_IRO_RO, 3/TE4/2-15 Deactivation, 3/TE4/2-49
T_X3_P3, 3/TE4/2-16 End of program, 3/TE4/2-49
Tangential Control, Applications, 3/T3/1-4 Transformation active, 3/F2/2-41
Tangential control, 3/T3/1-3 Transformation group, 3/F2/2-41
Activation of follow-up control, 3/T3/2-8 Transformation types, 3/F2/2-22
Following axis, 3/T3/2-8 Transformed axes, Number of, 3/TE4/2-17
Leading axis, 3/T3/2-8 Translation, 3/TE4/2-6
Limit angle, 3/T3/2-13 Tunnel size, 3/K6/2-7
Termination of follow-up control, 3/T3/2-10 Two-axis rotary table, 3/F2/2-17
TANGON, 3/T3/2-9 Two-axis swivel head, 3/F2/2-16
TDP, 3/G3/2-10
TDX, 3/G3/2-10
TI, 3/G3/2-10
TM, 3/G3/2-10 U
TMAPC, 3/G3/2-10 Universal milling head, 3/F2/1-11, 3/F2/2-37
TO, 3/G3/2-10 Applications, 3/F2/2-37
Tool orientation, 3/F2/1-11, 3/TE4/2-43, 3/W5/2-7 Features, 3/F2/1-11
4-axis kinematics, 3/TE4/2-46 JOG, 3/F2/2-40
5-axis kinematic, 3/TE4/2-47 Parameterization, 3/F2/2-39
Tool orientation using orientation vectors,
3/F2/2-26
Tool programming, 3/TE4/2-51, 3/TE4/2-52
Tool radius compensation, 3/W5/1-3 V
Tool radius offset, 3/M3/2-15 Velocity, 3/TE4/2-19
Tool tip at a fixed point in space, 3/F2/2-24 Velocity increase, 3/TE4/2-48
Toolholders, orientable, programming, 3/F2/2-60 Velocity warning threshold, 3/M3/5-97
Vocabulary, 3/V2/2-12
Notes
Description of Functions
From
Order No.: 6FC5 297-6AC80-0BP2
Name Edition: 11.02
Company/Dept.
Should you come across any printing errors
Address when reading this publication, please notify us
on this sheet.
Suggestions for improvement are also welcome.
Phone: /
Fax: /
Suggestions and/or corrections
Overview of SINUMERIK 840D/840Di/810D Documentation (11.2002)
General Documentation User Documentation
SINUMERIK
SIROTEC
SINUMERIK SINUMERIK SIMODRIVE SINUMERIK SINUMERIK SINUMERIK SINUMERIK
840D/810D 840D/840Di/ Accessories 840D/810D/ 840D/840Di/ 840D/840Di/ 840D/840Di/
810D/ FM-NC 810D 810D 810D
Program. Guide Operator’s Guide System Overview Configuring Operator Description of Description of
– Short Guide – ManualTurn (HW) *) Components Functions Functions
– Fundamentals *) – Short Guide ManualTurn – 810D (HW) *) – ManualTurn Synchronized
– Advanced *) – ShopMill – 840D – ShopMill Actions
– Cycles – Short Guide ShopMill – ShopTurn
– Measuring Cycles – ShopTurn
– ISO Turning/Milling – Short Guide ShopTurn
Manufacturer/Service Documentation
SINUMERIK
SIMODRIVE SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK
611D 840D/840Di/ 840D/840Di/ 840D/810D 840D/810D 840D/810D
840D/810D 810D 810D
Manufacturer/Service Documentation
SINUMERIK
SINUMERIK SINUMERIK SINUMERIK SINUMERIK SINUMERIK SIMODRIVE
SIMODRIVE SINUMERIK SIMODRIVE SIMODRIVE SIMODRIVE SIMODRIVE SIROTEC
840D 840D/840Di 840D 840D
810D 611D 611D
611D