0% found this document useful (0 votes)
61 views36 pages

EN - ONE Measure Kinematics 0622 - 2023-10

Uploaded by

HASRET
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
61 views36 pages

EN - ONE Measure Kinematics 0622 - 2023-10

Uploaded by

HASRET
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

SINUMERIK

Measure Kinematics
With CYCLE9960
SINUMERIK

Edition 2023.10
Training Manual

This document was produced for training purposes.


Siemens assumes no responsibility for its contents.
Manual Structure
The following page structure is used in this manual.

Front cover:

This area is used to go to page 2, This area is used to go to the This area is used to go to page 5,
where it shows the manual manual structure where it shows the software
structure. version of the manual.

This area is used to go to page 7, Hexagons are used to go to the Hexagons are used to go to the
where it shows the section module contents. individual modules.
contents.
Red oval is used to go back to the Red rectangle is used to go back
front cover. to the section content.
Manual Structure
The following page structure is used in this manual.

Individual modules:

These areas are used to go to the front cover table of the


contents

This area is used to go to the Hexagons are used to go to the The top rectangle is used to go
table of the contents. sections. back to the table of contents.

The rectangles go to the


beginning of the module, and the
end of the module.
SINUMERIK

Measure Kinematics
With CYCLE9960
Manual

Valid for:

SINUMERIK ONE SW6.22


A650 Measure kinematics with CYCLE9960
SINUMERIK ONE

Module Description:

The modul contains the basic functions of CYCLE9960 which is used to measure the kinematics of a
machine to use transformations like TRAORI or CYCLE800 for examle.

Module objective:

The reader should be able to handle the CYCLE9960 for machines with kinematic transformations.

Content:
Sinumerik

Objective and geometric sample calculation


System prerequisites
Machine data
Programming
Program example: Machine with kinematics type "M"
Program example: Machine with kinematics type "P"
Program example: Machine with kinematics type "T"
Term definitions

SINUMERIK ONE V6.22 Page 1 This document was produced for training purposes. A650
Siemens assumes no responsibility for its contents.
Sa 09/23
A650 Measure kinematics with CYCLE9960

A650 Page 2 SINUMERIK ONE


Measure kinematics with CYCLE9960 A650

Front Cover

Program
Start example:
of the Machine with
Module kinematics type
"P"

Program
Objective:
example:
Geometric
Machine with
sample
kinematics type
calculation
"T"

System Program
prerequisites example:
Machine with
table-C-axis

Machine
data
Term
definitions

Programming End
of the
Module

Program
example:
Machine with
kinematics type
"M"

SINUMERIK ONE Page 3 A650


A650 Measure kinematics with CYCLE9960

Use of the "Measure kinematics" function and objective: Overview of the complete design:

The "Measure kinematics" function determines for machine


tools with at least one rotary axis the exact position of the
fulcrum (= offset vector) and the exact path of the spin axis (=
direction vector or rotary axis vector). MCS
This information is required when using the orientation
Offset vector C
transformations (e.g. CYCLE800, TRAORI) and the move- X component Offset vector C
ment transformations (e.g. TRANSMIT, TRACYL) so that the Y component
dimensional stability of the performed machining can be
optimized.

The effect of an offset vector on the precision of a machining


is illustrated with a graphical example. WCS

The following data is assumed:


4x machine with C axis in the table Offset vector C
Offset vector for the C axis: X500 Y-200 mm (total)
Zero offset to the workpiece: X600 Y-200 Z150 mm
The C axis should be turned by 240°.

Zero offset

Direction vector C C axis

In the controller, the distance between the spin axis and WCS When the difference between both workpiece zero points is
is calculated from the known data (zero offset and C offset considered (before the rotation and after the rotation), the
vector): difference values for X and Y result:
∆X=NPVX - OFFSETX = 600 mm - 500 mm = 100 mm
∆Y=NPVY - OFFSETY = -200 mm - (-200 mm) = 0 mm
The effective distance between WCS and the rotary axis is
MCS:
therefore 100 mm. X=0 mm
Y=0 mm
If the rotary axis is turned by 240°, the workpiece reference Z=0 mm
point (WCS) at the C direction vector rotates: MCS:
∆X = -150 mm X=600 mm
Y=-200 mm
Z=150 mm

Arc
R = 100 mm
∆Y = -86.6 mm

MCS:
MCS X=450 mm
Y=-286.6 mm
Z=150 mm
WCS at
C = 240°

WCS at
C = 0°

Notes:

A650 Page 4 SINUMERIK ONE


Measure kinematics with CYCLE9960 A650

MCS:
If, because of a measurement error during the measurement X=0 mm
Y=0 mm
of the kinematics or, for example, after replacement of a Z=0 mm
measurement system of the X/Y axis, the actual values of the
offset vector do not match the position stored in the controller, ∆X = -150.15
MCS:
X=600 mm
differences result between the calculated zero point position Y=-200 mm
after the C rotation and the actual position of the new Z=150 mm
workpiece reference point.

Assumption:
The position of the C rotary axis in the MCS is actually X 500 ∆Y = -86.689 mm
mm and Y -200 mm.
The position of the C rotary axis stored in the controller is
MCS:
X 499.9 mm and Y -200.15 mm. X=449.85 mm
The zero offset is X 600 mm, Y -200 mm, Z 150 mm. Y=-286.839 mm
This corresponds to the previously used constellation, only Z=150 mm
the rotary axis is implicitly "moved" to another position. WCS at
C = 0°
WCS at
The following differences between the entered C rotary axis C = 240°
position and the WCS result:
∆X=NPVX - OFFSETX = 600 mm - 499.9 mm=100.1 mm
∆Y=NPVY - OFFSETY = -200 mm - (-200.15 mm) =0.15 mm
The effective distance (total radius) between WCS and the No change has been made to the mechanical design of the
rotary axis is therefore 100.100 mm. machine, but only to the position data of the C rotary axis in
Calculation: the controller. The following differences (difference of the
Radius=SQRT(POT(100.1)+POT(0.15))=100.1001123 mm MCS positions for C = 240°) result between the now
calculated MCS positions after rotating the C axis and the
"correctly" determined position data:
∆X= 450 mm - 499.85 mm=0.15 mm
∆Y=-286.6 mm - (-286.839 mm) =0.239 mm

This calculated example shows why the machine kinematics Fundamentals for measuring the kinematics with
must be measured precisely: CYCLE9960:
The position of rotary axes and the travel direction of the rotary
axes must be known exactly so that precise results can be
achieved when machining with rotary axis movements. System prerequisites:
The above sample calculation shows a deviation of the
rotation axis position of 0.1 mm that leads later to an almost The function must be enabled via a system license:
three-fold deviation of 0.282 mm!
These necessary measurements can be performed with
CYCLE9960.
CYCLE9960 can perform the required corrections and store
the measurement results in log files. The entry-level softkey for the program editor must also be
enabled:

Notes:

SINUMERIK ONE Page 5 A650


A650 Measure kinematics with CYCLE9960

To use the function, an operational transformation must be Machine data


configured on the machine. This includes:
• TOOLCARRIER, defined classically. The following machine and setting data is relevant for the
• TOOLCARRIER, defined based on a kinematic chain. measurement:
• TRAORI transformation, defined based on a kinematic SD 54760 $SNS_MEA_FUNCTION_MASK_PIECE
chain.
Bit 27:
Other constraints are: The selection field: "Tolerance" for limiting the correction of
• The machine must be designed perpendicular with a linear vectors can be hidden from the programming screen for
right-handed coordinate system, see DIN 66217. CYCLE9960:
• The tool spindle must be perpendicular to the work
plane. Bit 27 = 0:
• The axis directions of all linear and rotary axes must The tolerance can be defined in the programming screen.
conform with DIN 66217.
Bit 27 = 1:
• The deployed 3D probe must be calibrated. The tolerance cannot be defined in the programming screen;
• The deployed measuring sphere must be perfectly the selection field is not shown.
spherical and permanently mounted.
• One of the measurements has to be done in initial
position of the kinematic.
• It has to be sure that the sphere of the probe is not in
contact with the shaft of the sphere while the
measurement is running.
• It is not allowed to activate a zero offset in one of the
rotary axes during the measurenment.

SD 55644 $SCS_MEA_KIN_DM_TOL SD 55650 $SCS_MEA_KIN_PREPOS_RA

The MD defines the tolerance of the sphere diameter that is In the case of this SD is <> 0° the measured roundaxes are
accepted during the measurement. This function is used to incrementally prepositioned in the opposite direction to the
make sure that the control will stop if the probe is on contact measuring direction to compensate the backlash.
to the shaft of the sphere. In this case the calculated diameter The value of this SD is interpretated as an incremental value
is too big and this will cause an alarm. and it is used for every rotary axis which is included in the
actual measuring sequence.
SD 55647 $SCS_MEA_KIN_MIN_ANG_TRIANGLE
The SD is predefined with a value of 0°.
If there are three measuring points are used, the control will Range of the accepted values:
calculate a triangle with these three points. The MD will check 0° <= SD 55650 $SCS_MEA_KIN_PREPOS_RA <= 2°
the minimum angle of this triangle. If the angle is too small, The direction of the prepositioning is defined automatically in
the control will generate an alarm. the cycle depending on the direction of the measuring
sequence.
SD 55648 $SCS_MEA_KIN_MIN_ANG_POS
MD 62738 $MC_E996_FILE_LOCATION
It is possible to define a minimum angle that every measured
rotary axis has to move during the measuring. It is possible to define the storage folder of the result file
whitch is conaining the VCS-data:
1=CMA.DIR
2=CUS.DIR

Notes:

A650 Page 6 SINUMERIK ONE


Measure kinematics with CYCLE9960 A650

SD 55644 $SCS_MEA_KIN_TOL Meaning of the ones-digit:


For each approached rotary axis position, a measurement is x0: Calculation of all components from CYCLE9960
performed at the sphere, whereby the radius of the sphere is
calculated. The tolerance range within which the calculated x1: X component of the offset vector from
sphere diameter may fluctuate can be set with this SD. $SCS_MEA_KIN_VALUE[n] n=0,1

SD 55645 $SCS_MEA_KIN_MODE[n] n=0,1 x2: Y component of the offset vector from


Correction behavior for a component of an offset vector paral- $SCS_MEA_KIN_VALUE[n] n=0,1
lel to the rotary axis (example: X component of an A axis or Z
component of a C axis). x3: Z component of the offset vector from
The components parallel to the rotary axis can be influenced $SCS_MEA_KIN_VALUE[n] n=0,1
by this SD so that after measurement either existing values
are retained or the values can be specified. x4: X component of the offset vector from the active
Components of offset vectors for rotary axes can also be transformation retain
specified that do not run parallel to one of the machine axes,
such as a 45° head axis with the vector (0,1,1). For example, x5: Y component of the offset vector from the active
the Y or Z component can be specified for this axis. transformation retain

x6: Z component of the offset vector from the active


The free component may need to be defined via a specified transformation retain
normalization so that no unwanted displacement of the
collision bodies occurs in the kinematic chain! Meaning of the tens-digit for classic tool carrier:
0x: Selection for a closed vector chain
1x: Selection for an opened vector chain

For the index n of the setting data item, check whether the Machine type "M" - mixed kinematic
swivel data set selected for correction is a classic defined tool A. Classic tool carrier
carrier or a tool carrier based on a kinematic chain. B. Tool carrier based on a kinematic chain
(Direction of rotation: from the end of the workpiece
The assignment of the first and second rotary axes always chain to the end of the tool chain.)
applies:

SD 55645 $SCS_MEA_KIN_MODE[0] - first rotary axis


SD 55645 $SCS_MEA_KIN_MODE[1] - second rotary axis

The "first rotary axis" and "second rotary axis" assignment


depends on the base type of the kinematics for kinematics 1st rotary axis
with 2 rotary axes.

The exact assignment is shown in the next figures for classic


tool carriers and tool carriers based on a kinematic chain. 2nd rotary axis

For dynamic transformations (e.g. TRAORI_DYN) with the


"alternative call" setting, the same conditions as for a classic
tool carrier or a tool carrier based on a kinematic chain. 2nd rotary axis

1st rotary axis

Notes:

SINUMERIK ONE Page 7 A650


A650 Measure kinematics with CYCLE9960

Machine type "P" - part kinematic Machine type "T" - tool kineamtic
A. Classic tool carrier A. Classic tool carrier
B. Tool carrier based on a kinematic chain B. Tool carrier based on a kinematic chain
(Direction of rotation: from the end of the workpiece (Direction of rotation: from the end of the workpiece
chain to the end of the tool chain.) chain to the end of the tool chain.)

1st rotary axis

2nd rotary axis

1st rotary axis

2nd rotary axis


1st rotary axis

1st rotary axis 2nd rotary axis

2nd rotary axis

Example for different ways of defining the offset vector I2


(distance from the MCS to rotary axis 1): Possibility 2:
The attack point of offset vector I2 in the X axis of the MCS
can take any values.
Z

Possibility 1: I2X=100 mm
Z Y I2Y=400 mm
I2X=400 mm MKS I2Z=400 mm
Y
I2Y=400 mm I2Y
I2Z=400 mm I2Total=574.456 mm
MCS X

I2Y I2Total=692.820 mm
I2Z
X
I2 Total

I2 Total
I2Z Rotary axis vector V1

Rotary axis vector V1 I2X


I2X

Any value for I2x leads to a correct kinematic solution while


changing the offset vector component I3x (X distance from the
1st RA to the 2nd RA).

Notes:

A650 Page 8 SINUMERIK ONE


Measure kinematics with CYCLE9960 A650

Example for a 45° B axis in the head:


In this case, the tool reference point is the reference for the offset vector. In the example, the direction vector has the
configuration (0,1,1). Because of mechanical manufacturing tolerances, the direction vector also always has an offset in
the X direction to the tool reference point (center of the milling spindle).
The offset vector has the values (5.691, 0, -19.975).

Rotary axis vector V

Tool reference

Offset vector VZ = -19.975 mm

Offset vector VX = 5.691 mm

A normalization would make sense on the Y axis or Z axis.


Example: The value for the Y axis should be normalized to 100 mm.

The original offset vector with the values I=


Rotary axis vector V (5.691, 0, -19.975) is lengthened along the
rotary axis vector V=(0, 1, 1). This means: if
the offset vector is lengthened by 1 mm in
the Y direction, the Z component also grows
by 1 mm. The X component does not
change.

If the attack point of the offset vector at the


Offset vector VX = 5.691 mm rotary axis vector should be moved by Y +
100 mm, the Z value is moved by 100 mm.

The new components of the offset vector


yield:
Offset vector VZ = 80.025 mm
I=(5.691, 100, 80.025).

Offset vector VY = 100.000 mm

Tool reference

Notes:

SINUMERIK ONE Page 9 A650


A650 Measure kinematics with CYCLE9960

Example 1:
SD 55646 $SCS_MEA_KIN_VALUE[n] n=0,1
Setpoint for the component of the offset vector specified in The three measurement points differ in the position of the
SD 55645[n] if SD 55645[n] = 1,2 or 3. rotary axis by 120°, all angles within the triangle are 60°.
This case is very favorable for the calculation and smaller
Meaning of index n: measurement deviations have only a limited effect on the
n=0: Setpoint for rotary axis 1 calculation result.
n=1: Setpoint for rotary axis 2

SD 55647 $SCS_MEA_KIN_MIN_ANG_TRIANGLE
Valid value range: 2° to 60°.
This SD is relevant when a measurement is defined over
three individual sphere measurement points per rotary axis.
An arc is calculated from these three points.
If the three points are connected with straight lines, this
produces a triangle. The SD defines the minimum angle that
may exist within the triangle.
If two points lie too closely together, a small position deviation
for one of the two points causes a large change of the
calculated center point and of the calculated radius. In the
ideal case, all three angles are 60° within the triangle. In this
case, a measurement uncertainty has only a minimal effect
on the result.

Example 2:
Example with concrete numbers:
The three measurement points differ in the position of the Case 1:
rotary axis by 30°; the angles within the triangle are unequal. The red-highlighted sphere is moved by –1 mm in the Y axis.
This case is unfavorable for the calculation, because smaller
measurement deviations have a large effect on the
calculation result.

Y-1 mm

Calculation of the triangle:


The sphere center is 200 mm distant from the spin axis.
Each rotary axis turns by 30°.
This produces the angles in the gray triangle:
Angle at the center sphere: 150° The rotation center calculated from the 3 sphere centers has
Angle at the outer spheres: 15° the following deviations to the actual rotation center:
∆X=0.000 mm
∆Y=0.667 mm

Notes:

A650 Page 10 SINUMERIK ONE


Measure kinematics with CYCLE9960 A650

Case 2: SD 55648 $SCS_MEA_KIN_MIN_ANG_POS


The red-highlighted sphere is moved by –1 mm in the Y axis. Valid value range: 10° to 180°.

Minimum total angle of a rotary axis traversed to perform the


rotary axis measurement.

In the ideal case, all measurement points are distributed over


Y-1 mm 360°. Kinematic conditions mean that this cannot always be
implemented for all rotary axes, for example, when
restrictions in the traversal area exist.
If the measurement points on an arc lie very close to each
other, a small position deviation of an individual measurement
point causes a large deviation in the result. Consequently, it is
desirable to keep the distance between the measurement
points as large as possible and to perform the measurement
with the maximum possible traversal area for the rotary axis.

The rotation center calculated from the 3 sphere centers has


the following deviations to the actual rotation center:
∆X=0.848 mm
∆Y=3.164 mm

SD 55649 $SCS_MEA_KIN_BALL_VEC[n] n=0,1,2 Example:

Vector for the alignment of the sphere shaft at initial setting of


the kinematic. This specification is required so that no collision
of the probe with the sphere shaft occurs during a sphere Z
Y
measurement. The vector direction runs from the sphere Y
center starting at the sphere shaft. X
The vector must not be normalized. Z

$SCS_MEA_KIN_BALL_VEC[0] X
X component of the shaft vector
$SCS_MEA_KIN_BALL_VEC[1]
Y component of the shaft vector
$SCS_MEA_KIN_BALL_VEC[2]
Z component of the shaft vector

Vector = (0, -1, -1)

For this case, the following apply:

$SCS_MEA_KIN_BALL_VEC[0]=0
$SCS_MEA_KIN_BALL_VEC[1]=-1
$SCS_MEA_KIN_BALL_VEC[2]=-1

Notes:

SINUMERIK ONE Page 11 A650


A650 Measure kinematics with CYCLE9960

SD 55740 $SCS_MEA_FUNCTION_MASK Bit9:


Bit 9 is not evaluated for CYCLE9960.
Bit 7: Bit 9 is evaluated only for CYCLE996.
Bit 7 is not evaluated for CYCLE9960. All normalizations are
performed based on the active vectors. Bit10:
Bit 7 is evaluated for CYCLE996. Enable the "Measurement with reference" selection field in the
programming screen:

Bit 8: Bit10=0:
Kinematic measurement with active tool carrier (CYCLE800) The selection field for a reference measurement is not
or TRAORI permitted. displayed.

Behavior for Bit 8 = 0: Bit10=1:


An active transformation before beginning the measurement The selection field for a reference measurement is displayed.
is deactivated and reactivated after the end of the
measurement.

Behavior for Bit 8 = 1:


If Bit 8=1, a transformation must be active before beginning
the measurement. Permitted are:
• Tool carrier in classic form with $TC_CARR
• Tool carrier based on kinematic chain $NT
• TRAORI_DYN based on a kinematic chain

This means it is possible to compare replaceable kinematic Bit12:


units (e.g. attachment heads on milling machines or also on Behavior for the "Tolerance monitoring" alarm case:
turret lathes) with each other (determination of the "open"
offset component). Bit 12 = 0:
A CANCEL alarm is issued in the event of a tolerance
Bit 11: violation. The alarm can be acknowledged and the kinematics
Number of measurement points when measuring the sphere: can be rewritten despite the alarm.

Bit 11 = 0: Bit 12 = 1:
When "Measure on circular path" measurement mode is used, A RESET alarm is issued in the event of a tolerance violation.
10 measurement points are approached: 4x on the circular The alarm cannot be acknowledged and the program must be
circumference and 1x at the top of the sphere. canceled with RESET.
This operation is performed 2x.
Bit 13:
Bit 11 = 1: Mode for normalization with kinematic type "P" or table
When "Measure on circular path" measurement mode is used, kinematics with 2 rotary axes:
8 measurement points are approached: 3x on the circular
circumference and 1x at the top of the sphere. Bit 13 = 0:
This operation is performed 2x. The normalization is performed with the two I2 vectors
(distance from the machine zero to the 1st rotary axis) and I3
(distance from the 1st rotary axis to the 2nd rotary axis).

Bit 13 = 1:
The normalization for rotary axis 2 is performed in the I4 vec-
tor (distance from the 2nd rotary axis to the machine zero).

Notes:

A650 Page 12 SINUMERIK ONE


Measure kinematics with CYCLE9960 A650

SD 55637 $SCS_MEA_FEED_POS_DEG Note for Software-release 6.20:

Positioning feed for repositioning the rotary axes during the MD 55740 Bit 20 + 21 = true
measurement in degrees/min.
As standard, the value is set to 360°/min. Note for Software-release 6.21:

MD 55740 Bit 20 = false, Bit 21 = true

SD 55640 $SCS_MEA_FEED_CIRCLE

Feed for circumventing the measuring


sphere on a circular path. Bit 20 controls the method of the internal calculation
"Position on circular path" must be regarding the least sqares errors or calculation by
selected in the programming screen. Conventional calculation, using all medians.

Bit 21 is a weighting of the radius takes place with the least


square method.

In Softwarerelease 6.21 the least sqares error-calculation is


set as a default, so the bit 20 is not used.

Notes:

SINUMERIK ONE Page 13 A650


A650 Measure kinematics with CYCLE9960

Programming: The appearance of the screen depends on various system


data items:
Call from a DIN-ISO part program:

The input screen of CYCLE9960 can be called from an 1


MD 52005
$MCS_DISP_PLANE_MILL
opened program editor.
2

3
SD 55740
$SCS_MEA_FUNCTION_MASK Bit 10

9
The name of the round axis is set by the
control automatically.

10

11

12

13

14

Please see the next page…..

Second part of the input mask: Explanation of the individual input fields:
1.
Selection of the work plane in which the measurement should
be performed:

Setting options:
G17 XY plane
G18 ZX plane
15
G19 YZ plane
16 No selection: The measurement is performed in the
active plane.

2.
Name of the transformation agreement for which the
correction should be performed.

The following can be used:


Tool carrier, defined classic
Tool carrier based on a kinematic chain
Dynamic transformation of the TRAORI_DYN type
Static transformation of the TRAORI_STAT type

Notes:

A650 Page 14 SINUMERIK ONE


Measure kinematics with CYCLE9960 A650

3.
Settings for reference measurements: For several attachment heads, machining must begin with the
reference head in "Measure reference" mode. A check is
made whether for all subsequent measurements in "Adapt to
reference" mode, the same zero offset is active as for
measuring the reference.
Setting options:
Measure reference 4.
Adapt to reference Measuring mode:
Measure without reference

Measure reference:
If a machine with replaceable kinematic modules (e.g. attach-
ment heads) should be measured, a kinematic module must Setting options:
serve as reference for the measurement of the other Correct
modules. Only correct
Measure only
Adapt to reference:
Measurement of a further kinematic module that should Correct:
receive a reference to the reference kinematics. After the measurement, the results are entered into the
machine data.
Measure without reference: The measurement results can also be displayed or stored in a
Measurement without replaceable modules. This method is log file.
the standard method for 5x machines without replaceable
kinematic modules. Only correct:
Calculate with the last stored values.

Measure only:
After the measurement, the results are displayed or a log file
can be created.

5. 6.
Calibrate the probe: Positioning:

Setting options: Setting options:


Yes Paraxial
No On circular path

Yes: Paraxial:
The probe on the sphere is calibrated before beginning the The probe approaches each individual measurement point
actual measurement. The calibration is performed in the from a point above the sphere center and returns to this point
active work plane. The calibrated length of the probe is not after the measurement.
changed.
Because the length of the probe is relevant for calculating the On circular path:
kinematics, the length of the probe must be calibrated exactly The probe positions from the first measurement point at the
before beginning the measurement with CYCLE9960. height of the sphere equator on a circular path to the next
measurement point. Because of the few positioning
No: movements, this method is faster than the axis-parallel meth-
The deployed probe is not calibrated before beginning the od.
measurement.

Axis parallel

On circular path

Notes:

SINUMERIK ONE Page 15 A650


A650 Measure kinematics with CYCLE9960

9.
7. Confidence range:
Diameter of the measuring sphere:

The confi-
dence range
The diameter of the measuring sphere must be entered specifies the maximum permissible deviation for each individ-
precisely. A certified calibration sphere should be deployed as ual measuring sphere operation. An alarm is issued if the
measuring sphere. measured center point of the sphere (= actual value) deviates
from the calculated center point of the sphere (= setpoint) by
8. more than the programmed TSA value. The measurement
Measurement path: must then be terminated with RESET.

Data for definition of the measurement configuration of a


rotary axis:
To define the measurement of a rotary axis, the following
The measurement path serves as a measurement section parameters are defined for each rotary axis:
traversed before and after the expected switching point. • Position of the rotary axis in degrees for the first
Consequently, the maximum measurement stroke is always measurement
twice the input value. • Position of the rotary axis in degrees for the last
If for relatively large input values the probe is prepositioned at measurement
long distance from the measuring sphere, there may be a risk • Number of measurement points for this rotary axis
of collision and the measurement takes longer. (3-12)
• Position of the rotary axis that should currently not be
measured (if two rotary axes are available)
• Offset angle for the touch points

The measuring sphere must be constructed so that a meas-


urement is possible at the initial setting of the kinematics.

The first measurement is performed at the initial setting of the


12:
kinematics, even when it is not contained in the definitions of
Number of measurement points:
the two individual measuring ranges for the two rotary axes.

10.
Start angle for the rotary axis measurement:
The number of measurement points can be selected in the
range 3 to 12. The larger the number of measurement points,
the more precise the kinematics can be calculated.
For the definition of the measuring range, the start and end 13.
values must be selected so that the start value is smaller than Position of the rotary axis not moved during the measuring
the end value. The measuring range is divided into uniform operation:
sections by the definition of the number of measurement
points.
The start angle must lie within the valid traversal area of the
rotary axis.
11.
End angle for the rotary axis measurement: If two rotary axes are present on the machine, the axis not
involved with the measurement can leave its initial setting.
This can avoid collisions or the calibration of the kinematics
can be adapted to a specific machining situation.
In particular for head kinematics, it is desirable to position the
second rotary axis from the initial setting while the first rotary
The end angle must be larger than the start angle and must axis is being measured:
lie within the valid traversal area of the rotary axis.
For the measurement of a rotary axis, an angle range as large
as possible should lie between the start angle and the end
angle.

Notes:

A650 Page 16 SINUMERIK ONE


Measure kinematics with CYCLE9960 A650

2nd rotary axis:


1st rotary axis: A=-90° 14:
C Start angle for the measurement at the sphere:

C=120°
C=0°
If the orientation of the shaft is specified in the SD 55649
$SCS_MEA_KIN_BALL_VEC, the start angle for each
measurement of the sphere is calculated automatically so that
no collision occurs between the probes.
If no vector direction of the sphere shaft is specified, the start
angle can be specified manually, but must be adapted to the
kinematics of the machine and the associated measuring
range (start and end angles of the rotary axes).

C=240°

If for this kinematic, the A axis remains at a position of 0°


during the measurement of the C axis, the machine does not
significantly change its position in X/Y/Z during the
measurement. Because the measurement points from which
the turning center is calculated lie very close together, large
deviations can occur during the calculation.
A setting of the A axis at -90° causes a very significant
positioning movement in X/Y/Z that allows the turning point of
the C axis to be calculated more precisely.

15: 16:
Tolerance mode for linear vectors: Tolerance value for linear vectors:

Setting options: The maximum permissible change value with which a linear
Yes vector or offset vector may be adapted.
No If the programmed tolerance is exceeded, an alarm is issued
after calculation and the program must be terminated with
Yes: RESET.
The tolerance for the maximum change of the linear vectors
can be programmed. Consequently, among other things, the
specification is important for machines with the "Collision
Avoidance" function so that the collision bodies are not
moved too far by an unwanted excessive change of the offset
vectors.
For the normalization of "free vector components", such as
the X component for a vector (-1,0,0), SD 55645 must be
observed!

No:
The tolerance for the maximum change of the linear vectors
cannot be programmed in the cycle.

Notes:

SINUMERIK ONE Page 17 A650


A650 Measure kinematics with CYCLE9960

Result parameters of the CYCLE9960: Example:


Machine with table-kinematic BC:
By using a transformation which is based on the kinematic Rotary axis B(0,-1,0)
chain the mesuring result is stored in the defined offset- _OVR[7]=0.0000112
element of the enabled transformation during the measring. _OVR[8]=-0.9999999
By using a classic toolcarrier the result is stored in the _OVR[9]=0.0000564
offesetvectors I1 - I4, the CYCLE9960 is going to modify the
values automatically. Rotary axis C(0,0,-1)
_OVR[10]=0.000000023
The measring result s of the CYCLE9960 are stored in the _OVR[11]=-0.00000193
channel-GUD-table. _OVR[12]=-0.99999999
The following data are stored:
• Calculated vector of the rotary axes: • Length of the used probe:
_OVR[50]
Result: GUD-variable
• Number of measuring points for the first rotary
Vector of rotary axis 1 _OVR[7-9]
axis:
Vector of rotary axis 2 _OVR[10-12] _OVR[120]

• Number of measuring points for the second rotary


It is possible to check the quality of the alignment of the rotary
axis:
axes by checking these OVR-parameters.
_OVR[121]
Normally the result vector has to be equal to the theoretical
vector.
The result vector can be used to decide if it is nessesary to
readjust the mechanics of the machine (especially to readjust
the alignment of the rotary axes).

• Storage of the center points of the sphere in MCS: Compensation data for VCS

The single measured center points of the sphere are stored in The measured results are sored in a file that could be used
the channel GUD (SGUD): for the volumetric compensation VCS. Depending on the MD
62738 the storage location of the result file is given in the
_MEA_MKS[n,0] Position of the X-axis at point n following table:
_MEA_MKS[n,1] Position of the Y-axis at point n
_MEA_MKS[n,2] Position of the Z-axis at point n MD 62738 $MC_E996_FILE_LOCATION Stored in
_MEA_MKS[n,3] Position of the 1st rotary axis at point n
_MEA_MKS[n,4] Position of the 2nd rotary axis at point n 1 CMA.DIR
2 CUS.DIR
Exeption n=0: Measuring result in initial position
Exeption n=1: First measuring point of the first rotary axis
Other constraints are:
VCS has to be licensed and it has to be installed.
Measuring result display:
The name of the result file is generated automatically:
The measuring result display can be activated or deactivated
by using the CYCLE150. E996 + Name of the active Trafo + _ +Channelnumber.SPF
By using the function „MRD“ it is also possible to switch the
measuring result display off independent from the state of the Example:
CYCLE150.
The actice transformation during the measurement is TC1,
the active channel is 1.
The name of the compensation data file will be:

E996TC1_1.SPF

Notes:

A650 Page 18 SINUMERIK ONE


Measure kinematics with CYCLE9960 A650

Sample program for a machine with mixed kinematics: A sample program is created to measure mixed kinematics
with tool carrier based on a kinematic chain.
The machine has the following data:

Head axis:

Name of the rotary axis B


Direction vector of the rotary axis (0, 1, 1)
Software limit switch minus MD 36100 -180°
Software limit switch plus MD 36110 180°

Table axis:

Name of the rotary axis C


Direction vector of the rotary axis (0, 0, -1)
Software limit switch minus MD 36100 -
Software limit switch plus MD 36110 -

The software limit switches of table axis C are not relevant,


because it is defined as modulo rotary axis.

Kinematic chain of Configuration of the "TOOL_CARR_KIN" tool carrier


the machine: ROOT (kinematically relevant part):

X_OFFSET Y_OFFSET

X_AXIS Y_AXIS

Z_OFFSET C_OFFSET

Z_AXIS CORR_C_OFFSET

B_OFFSET C_AXIS

B_AXIS TABLE_OFFSET

CORR_SP1_OFFSET END_PART_CHAIN

SP1_OFFSET

SP1_AXIS

END_TOOL_CHAIN

Notes:

SINUMERIK ONE Page 19 A650


A650 Measure kinematics with CYCLE9960

Sample program

N1000 TRAFOOF
N1010 CYCLE800
N1020 $P_UIFR[1]=CTRANS(X,150,Y,0,Z,200)
N1030 T="3D_PROBE"
N1040 M6
N1050 $SCS_MEA_KIN_BALL_VEC[0]=0
N1060 $SCS_MEA_KIN_BALL_VEC[1]=0
N1070 $SCS_MEA_KIN_BALL_VEC[2]=-1
N1080 $SCS_MEA_KIN_MODE[0]=6 ;C AXIS AT KIN. CHAIN, RETAIN Z VALUE
N1090 $SCS_MEA_KIN_MODE[1]=6 ;B AXIS AT KIN. CHAIN, RETAIN Z VALUE
N1100 STOPRE
N1110 G54 G17
N1120 CYCLE800(1,"TOOL_CARR_KIN",200000,57,0,0,0,0,0,0,0,0,0,1,100,1)
N1130 G0 X0 Y0 Z20
N1140 CYCLE150(30,10002,"//NC:/MPF.DIR/PROTOCOL_9960.TXT")
N1150 CYCLE9960(11400,"TOOL_CARR_KIN",1,30,0,0,180,3,0,0,0,240,3,0,0.001,2,2,1,1,0,1)
N1160 CYCLE800(1,"0",200000,57,0,0,0,0,0,0,0,0,0,1,100,1)
N1170 CYCLE150(30,10000,"")
N1180 M30

Assignment of the CYCLE9960 input screen:


Image of the protocol file:

***************************************************************
Date : 2019-07-11 Time: 12:22:33
Protocol: //NC:/MPF.DIR/PROTOCOL_9960.TXT
Program : /_N_WKS_DIR/_N_EXAMPLE_5X_M_BC_WPD/_N_KINEMATIK_9960_
DOKU_M_MPF
Machine :
***************************************************************
---------------------------------------------------------------
1 : Time: 12:22:33
Results measure: Kinematic measure complete /CYCLE9960
Variant : S_MVAR=11400
Measuring plane: G17
Name / number : TOOL_CARR_KIN / 2
Rotary axis 1 : B start: 0.000 final: 180.000 no.: 3
Position of rotary axis 2 : 0.000
Rotary axis 2 : C start: 0.000 final: 240.000 no.: 3
Position of rotary axis 1 : 0.000
---------------------------------------------------------------
Difference of measure: X [mm] Y [mm] Z [mm]
max Value 0.00940 0.00945 0.05073
min Value -0.36203 -0.28886 -0.28886
B [deg] C [deg] X [mm] Y [mm] Z [mm]
0.00000 0.00000 0.00000 0.00000 0.00000
90.00000 0.00000 -0.36203 -0.25174 -0.21111
180.00000 0.00000 -0.00002 -0.28886 0.05073
0.00000 0.00000 0.00000 0.00000 0.00000
0.00000 120.00000 0.00940 -0.01503 -0.28885
0.00000 240.00000 -0.01505 0.00945 -0.28886
Difference of vector before: X [mm] Y [mm] Z [mm]
CORR_SP1_OFFSET 0.00000 0.00000 15.00000
CORR_C_OFFSET 0.00000 0.00000 0.00000
Results:
Difference of vector: X [mm] Y [mm] Z [mm]
CORR_SP1_OFFSET 0.24197 0.16979 15.00000
CORR_C_OFFSET 0.00808 -0.00427 0.00000

Notes:

A650 Page 20 SINUMERIK ONE


Measure kinematics with CYCLE9960 A650

Sample program for a machine with table kinematics: A sample program is created to measure the table
kinematics with a tool carrier based on a kinematic chain.
The machine has the following data:

First rotary axis:

Name of the rotary axis A


Direction vector of the rotary axis (-1, 0, 0)
Software limit switch minus MD 36100 -120°
Software limit switch plus MD 36110 120°

Second rotary axis:

Name of the rotary axis C


Direction vector of the rotary axis (0, 0, -1)
Software limit switch minus MD 36100 -
Software limit switch plus MD 36110 -

The software limit switches of table axis C are not relevant,


because it is defined as modulo rotary axis.

Kinematic chain of Configuration of the "TOOL_CARR_KIN" tool carrier


the machine: (kinematically relevant part):

ROOT

Y_OFFSET A_OFFSET

Y_AXIS CORR_A_OFFSET

X_OFFSET A_AXIS

X_AXIS C_OFFSET

Z_OFFSET CORR_C_OFFSET

Z_AXIS C_AXIS

SP1_OFFSET TABLE_OFFSET

SP1_AXIS END_PART_CHAIN

END_TOOL_CHAIN

Notes:

SINUMERIK ONE Page 21 A650


A650 Measure kinematics with CYCLE9960

Sample program:

N1000 TRAFOOF
N1010 CYCLE800
N1020 $P_UIFR[1]=CTRANS(X,200,Y,0,Z,150)
N1030 T="3D_PROBE"
N1040 M6
N1050 $SCS_MEA_KIN_BALL_VEC[0]=0
N1060 $SCS_MEA_KIN_BALL_VEC[1]=0
N1070 $SCS_MEA_KIN_BALL_VEC[2]=-1
N1080 $SCS_MEA_KIN_MODE[0]=6 ;C AXIS AT KIN. CHAIN, RETAIN Z VALUE
N1090 $SCS_MEA_KIN_MODE[1]=4 ;A AXIS AT KIN. CHAIN, RETAIN X VALUE
N1100 STOPRE
N1110 G54 G17
N1120 CYCLE800(1,"TOOL_CARR_KIN",200000,57,0,0,0,0,0,0,0,0,0,1,100,1)
N1130 G0 X0 Y0 Z20
N1140 CYCLE150(30,10002,"//NC:/MPF.DIR/PROTOCOL_9960.TXT")
N1150 CYCLE9960(11400,"TOOL_CARR_KIN",1,30,0,-90,0,3,0,0,0,240,3,0,0.001,2,2,1,1,0,1)
N1160 CYCLE800(1,"0",200000,57,0,0,0,0,0,0,0,0,0,1,100,1)
N1170 CYCLE150(30,10000,"")
N1180 M30

Assignment of the CYCLE9960 input screen:


Image of the protocol file:

***************************************************************
Date : 2019-07-10 Time: 14:06:19
Protocol: //NC:/MPF.DIR/PROTOCOL_9960.TXT
Program : /_N_WKS_DIR/_N_KINEMATIK_9960_WPD/_N_KINEMATIK_9960_D
OKU_MPF
Machine :
***************************************************************
---------------------------------------------------------------
1 : Time: 14:06:19
Results measure: Kinematic measure complete /CYCLE9960
Variant : S_MVAR=11400
Measuring plane: G17
Name / number : TOOL_CARR_KIN / 2
Rotary axis 1 : A start: -90.000 final: 0.000 no.: 3
Position of rotary axis 2 : 0.000
Rotary axis 2 : C start: 0.000 final: 240.000 no.: 3
Position of rotary axis 1 : 0.000
---------------------------------------------------------------
Difference of measure: X [mm] Y [mm] Z [mm]
max Value 0.03119 0.03118 0.00000
min Value -0.02522 -0.02522 -0.29568
A [deg] C [deg] X [mm] Y [mm] Z [mm]
0.00000 0.00000 0.00000 0.00000 0.00000
-90.00000 0.00000 0.00887 0.01775 -0.29568
-45.00000 0.00000 0.00887 0.01775 -0.29568
0.00000 0.00000 0.00000 0.00000 0.00000
0.00000 120.00000 0.03119 -0.02522 -0.29567
0.00000 240.00000 -0.02522 0.03118 -0.29568
Difference of vector before: X [mm] Y [mm] Z [mm]
CORR_A_OFFSET 0.00000 0.00000 0.00000
CORR_C_OFFSET 0.00000 0.00000 0.00000
Results:
Difference of vector: X [mm] Y [mm] Z [mm]
CORR_A_OFFSET 0.00000 -0.51895 0.50309
CORR_C_OFFSET 0.01534 0.49967 0.00000

Notes:

A650 Page 22 SINUMERIK ONE


Measure kinematics with CYCLE9960 A650

Sample program for a machine with head kinematics:


A sample program is created to measure the head
kinematics with a tool carrier based on a kinematic chain.
The machine has the following data:

First rotary axis:

Name of the rotary axis C


Direction vector of the rotary axis (0, 0, 1)
Software limit switch minus MD 36100 -1°
Software limit switch plus MD 36110 360°

Note:
The working range of the C-axis is 361°.

Second rotary axis:

Name of the rotary axis A


Direction vector of the rotary axis (1, 0, 0)
Software limit switch minus MD 36100 -100°
Software limit switch plus MD 36110 100°

Kinematic chain
ROOT
of the machine: Configuration of the "TOOL_CARR_KIN" tool carrier
(kinematically relevant part):

Y_OFFSET TABLE_OFFSET

Y_AXIS END_PART_CHAIN

X_OFFSET

X_AXIS

Z_OFFSET

Z_AXIS

C_OFFSET A_AXIS

C_AXIS CORR_SP1_OFFSET

CORR_A_OFFSET SP1_OFFSET

A_OFFSET SP1_AXIS

END_TOOL_CHAIN

Notes:

SINUMERIK ONE Page 23 A650


A650 Measure kinematics with CYCLE9960

Sample program:

N1000 TRAFOOF
N1010 CYCLE800
N1020 $P_UIFR[1]=CTRANS(X,200,Y,0,Z,250)
N1030 T="3D_PROBE"
N1040 M6
N1050 $SCS_MEA_KIN_BALL_VEC[0]=0
N1060 $SCS_MEA_KIN_BALL_VEC[1]=0
N1070 $SCS_MEA_KIN_BALL_VEC[2]=-1

N1080 $SCS_MEA_KIN_MODE[0]=6 ;DISTANCE C-A AXIS AT KIN. CHAIN


N1090 $SCS_MEA_KIN_MODE[1]=4 ;DISTANCE A-SP1 AT KIN. CHAIN
;BEI C-A: RETAIN Z VALUE
;BEI A-SP1: RETAIN X VALUE
N1100 STOPRE
N1110 G54 G17
N1120 CYCLE150(30,10002,"//NC:/MPF.DIR/PROTOCOL_9960.TXT")
N1130 CYCLE800(1,"TOOL_CARR_KIN",200000,57,0,0,0,0,0,0,0,0,0,1,100,1)
N1140 G0 X0 Y0 Z20
N1150 CYCLE9960(11400,"TOOL_CARR_KIN",1,30,0,0,240,3,90,0,-90,90,3,0,0.001,2,2,1,1,0,1)
N1160 CYCLE800(1,"0",200000,57,0,0,0,0,0,0,0,0,0,1,100,1)
N1170 CYCLE150(30,10000,"")
N1180 M30

Assignment of the CYCLE9960 input screen: Image of the protocol file:

***************************************************************
Date : 2019-07-10 Time: 16:45:38
Protocol: //NC:/MPF.DIR/PROTOCOL_9960.TXT
Program : /_N_WKS_DIR/_N_EXAMPLE_5X_T_AC_WPD/_N_KINEMATIK_9960_
DOKU_T_MPF
Machine :
***************************************************************
---------------------------------------------------------------
1 : Time: 16:45:38
Results measure: Kinematic measure complete /CYCLE9960
Variant : S_MVAR=11400
Measuring plane: G17
Name / number : TOOL_CARR_KIN / 2
Rotary axis 1 : C start: 0.000 final: 240.000 no.: 3
Position of rotary axis 2 : 90.000
Rotary axis 2 : A start: -90.000 final: 90.000 no.: 3
Position of rotary axis 1 : 0.000
---------------------------------------------------------------
Difference of measure: X [mm] Y [mm] Z [mm]
max Value 0.93802 0.58650 0.10699
min Value -0.79923 -0.58230 -0.14093
C [deg] A [deg] X [mm] Y [mm] Z [mm]
0.00000 90.00000 -0.02830 0.58650 0.07917
120.00000 90.00000 -0.79923 -0.58230 0.06834
240.00000 90.00000 0.93802 -0.34191 -0.14093
0.00000 0.00000 0.00000 0.00000 0.00000
0.00000 -90.00000 0.00049 -0.45370 0.10699
0.00000 90.00000 -0.02832 0.58650 0.07916
Difference of vector before: X [mm] Y [mm] Z [mm]
CORR_A_OFFSET 0.00000 0.00000 0.00000
CORR_SP1_OFFSET 0.00000 0.00000 0.00000
Results:
Difference of vector: X [mm] Y [mm] Z [mm]
CORR_A_OFFSET -0.01408 0.33105 0.00000
CORR_SP1_OFFSET 0.00000 -0.06642 -0.52038

Notes:

A650 Page 24 SINUMERIK ONE


Measure kinematics with CYCLE9960 A650

Sample program for a machine with dividing unit: A sample program is created to measure the table
kinematics with only one rotary axis with a tool carrier based
on a kinematic chain.
The machine has the following data:

First rotary axis:

Name of the rotary axis A


Direction vector of the rotary axis (-1, 0, 0)
$MA_ROT_IS_MODULO[A] 1

Second rotary axis:


Not installed

Note:

Because of the collision data of the A-Axis there should be


not correction of the X-Offset in the element A_CORR.
$SCS_MEA_KIN_MODE[0]=4
With this setup the value of the X-Offset will be kept after
the measuring is finished.

Kinematic chain
of the machine: ROOT
Configuration of the "TOOL_CARR_KIN" tool carrier
(kinematically relevant part):

Y_OFFSET X_OFFSET

Y_AXIS X_AXIS

CORR_A_OFFSET Z_OFFSET

A_OFFSET Z_AXIS

A_AXIS SP1_OFFSET

SP1_AXIS
END_
PART_CHAIN

END_
TOOL_CHAIN

Notes:

SINUMERIK ONE Page 25 A650


A650 Measure kinematics with CYCLE9960

Sample program:

N1000 CYCLE800
N1010 TRAFOOF
N1040 $P_UIFR[1]=CTRANS(X,-200,Y,0,Z,230)
N1050 G54
N1060 T="3D_PROBE"
N1070 M6
N1080 D1
N1090 G17 G54 G90

N1100 $SCS_MEA_KIN_BALL_VEC[0]=0
N1110 $SCS_MEA_KIN_BALL_VEC[1]=0
N1120 $SCS_MEA_KIN_BALL_VEC[2]=-1
N1130 $SCS_MEA_KIN_MODE[0]=4
N1140 $SCS_MEA_FEED_POS_DEG=5000

N1150 CYCLE800(1,"TOOL_CARR_KIN",200000,57,0,0,0,0,0,0,0,0,0,1,100,101)
N1160 G0 Z300
N1170 G0 X0 Y0
N1180 G0 Z20

N1190 CYCLE150(30,10001,"//NC:/MPF.DIR/PROTOCOL_9960.TXT")
N1200 CYCLE9960(11400,"TOOL_CARR_KIN",1,30,0,-90,90,6,0,0,0,0,3,0,0.1,3,2,1,1,10,1)
N1210 CYCLE150(30,10000,"")
N1220 CYCLE800
N1230 M30

Assignment of the CYCLE9960 input screen: Image of the protocol file:

***************************************************************
Date : 2021-03-04 Time: 18:17:05
Protocol: //NC:/MPF.DIR/PROTOCOL_9960.TXT
Program : /_N_WKS_DIR/_N_VERMESSEN_9960_WPD/_N_VERMESSEN_9960_M
PF
Machine :
***************************************************************
---------------------------------------------------------------
1 : Time: 17:17:05
Results measure: Kinematic measure complete /CYCLE9960
Variant : S_MVAR=11400
Measuring plane: G17
Name / number : TOOL_CARR_KIN / 1
Rotary axis A: start: -90.000 final: 90.000 no.: 3
---------------------------------------------------------------
Difference of measure: X [mm] Y [mm] Z [mm]
max Value 0.00000 0.03398 0.00000
min Value -0.00368 0.00000 -0.29567
A [deg] -- [deg] X [mm] Y [mm] Z [mm]
0.00000 0.00000 0.00000 0.00000 0.00000
270.00000 0.00000 -0.00105 0.03140 -0.29567
90.00000 0.00000 -0.00368 0.03398 -0.29567

Results:
Difference of vector: X [mm] Y [mm] Z [mm]
A_CORR 0.00000 -0.03266 -0.44553

Notes:

A650 Page 26 SINUMERIK ONE


Measure kinematics with CYCLE9960 A650

Term definition: ideal and real vector Step 1:


Measurement of the axis (here, an A axis in the table with 3
An ideal vector always corresponds to the details on the measurement points).
technical drawing or the CAD data model, namely the ideal
status. In practice, manufacturing tolerances that result from
physical effects, such as temperature and bending, cause
deviations from this ideal status. The actual status, such as
the exact spin axis where a machine component turns, is
designated as real vector and must be determined with an
appropriate measuring procedure.

The direction vector of a rotary axis is calculated in 3 steps:

Step 2: Step 3:
Calculation of a plane through the three measurement points. Calculation of a vector perpendicular to this plane.

Because this calculated vector describes the actual path of


the rotary axis, it is a "real" vector.
In addition to an X component, this vector also has a Y
component and a Z component.

Notes:

SINUMERIK ONE Page 27 A650


A650 Measure kinematics with CYCLE9960

The Y and Z components can be measured only after the In practice, a spin axis from the table of a machine that turns
machine has been assembled so that a statement concerning at the X axis of the machine (A axis) does not run exactly
the angularity of the machine geometry can be made. parallel to the X axis of the MCS.
The deviation is apparent in the top view (shown
Example for a measured real vector: exaggerated):
A=(-0.9999999994 , 0.000025383 , 0.000023745)

Consequently, the rotary axis vector is specified as ideal Y C axis Real rotary axis vector
vector during the commissioning (and normally also in the of the A axis
subsequent operation):
A=(-1,0,0) X

To evaluate the quality of the machine, the assumption can Z


be made: the measured real vector is multiplied by the factor
1000:
A=(-999.9999994 , 0.025383 , 0.023745)
This means: when travel is made along the rotary axis vector,
the deviation is Y = 0.025 mm and Z = 0.023 mm for an X
path of –999.999 mm.
Travel is so obviously in the measureable area.

Recommendation: Ensure that the components of both


"subdirections" are set to non-zero values only in the fifth dec-
imal place after the decimal point. For larger values, a me-
chanical correction of the axis should be considered. The vector has not only an "X component", but also a major
"Y component". Ideally, the misalignment should be
compensated with a mechanical correction of the bearing
positions.

If a workpiece is clamped, it can be aligned with the "Measure If the A axis is turned by 90°, the actual position of the work-
2 points with correction of the rotary axis" measuring cycle. piece relative to the machine coordinate system can be
The edges of the workpiece then lie parallel to the MCS: determined easily:

Y
Workpiece

X Y

Z
X

Machining with reversal (e.g. a spindled drill hole from two


sides) at the upper edge of the workpiece would cause an
offset of both cylinders.

Notes:

A650 Page 28 SINUMERIK ONE


Measure kinematics with CYCLE9960 A650

In this machining situation, the A axis is defined as ideal Initial situation 1:


vector (-1,0,0) in the machine data. An ideal vector of the A axis (-1,0,0) is entered in the machine
constants.
If the WCS is turned by 90° at the X axis, the A axis is forced
to move at the real spin axis. Whereby, the C axis is not
moved; this means the side surface of the workpiece is no
longer parallel to the X axis of the machine.

Z
Offset in X

Initial situation 2: To illustrate the relation:


A real vector of the A axis (-0.999,-0.046,0) is entered in the
machine constants. Vector (-0.999,-0.046,0) means:
If the WCS is turned by 90° at the X axis, in addition to the For a length of –0.999 mm in X, the deviation in
movement of the A axis, the C axis also moves. This means Y is –0.046 mm.
the side surface of the workpiece is parallel to the X axis of For a length of –99.9 mm in X, the deviation in
the machine. Y is already -4.6 mm!

Z Note:
The use of real vectors, in conjunction with orientation
transformations (CYCLE800, TRAORI), sometimes leads to
X changed axis positions compared with kinematics with purely
ideal vectors. There may be a risk of collision.
Consequently, the real vectors are not written for CYCLE9960.
If necessary, they can be activated from the log file.

When the "VCS-ECO" function is used, the real vectors can


be written to a file that can then be used for VCS together with
a classic defined tool carrier.

Because the C axis must compensate for the distortion, it is


no longer at position 0° in the WCS.

Notes:

SINUMERIK ONE Page 29 A650


A650 END Measure kinematics with CYCLE9960

Term definition: Offset vector and direction vector

To describe a straight line running in space, two details are


required: Direction vector

1. Direction of the straight line based on the machine


coordinate system (direction vector).
A direction vector specifies the movement direction of linear
Z
axes or the path of the rotation axis for rotary axes.

2. Distance of the machine coordinate system to any point on


the direction vector (= offset vector). Y
Offset vector
These two details allow any point that lies on the straight line
to be described precisely.
In conjunction with the kinematic description of a machine for
SINUMERIK 840D, the letter "V" represents rotary axis
vectors or direction vectors, whereas the letter "I" represents
offset vectors.

Both vectors are described by individual components in X, Y


and Z in the valid machine coordinate system.
MCS X

Term definition: Normalized vector The vector should have a length of 1 mm, but is currently
128.204 mm long.
A "normalized vector" is considered to be a vector whose The individual components of the vector must be divided by
length has the value "1". The unit of measurement is this total length:
interpreted by the NC in the valid unit of measurement
system. 5.691
IX = = 0.04439
The offset vector of the 45° B head is used as example for 128.204
performing a calculation:
I=(5.691, 100, 80.025) 100
IY = = 0.78000
The total length of a vector can be calculated as follows: 128.204
80.025
IZ = = 0.62420
128.204
L= ( I x )2 + ( I Y )2 + ( I Z )2 As check, these values can be used again in the formula.

The values used by the example vector give:


L= ( I x )2 + ( I Y )2 + ( I Z )2
L= (5.691)2 + (100)2 + (80.025)2 The formula must supply the result value "1".
The vector is so "normalized".
The total length (or the magnitude) of the vector is calculated The accuracy of the calculations performed with the vector
as: also depends on the number of decimal places after the
decimal point; a specification with 5-6 places after the
L = 128.204 decimal point is recommended.

A650: END

Notes:

A650 Page 30 SINUMERIK ONE

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy