Cycle 452 PRESET COMPENSATION (#48 / #2-01-1)
ISO programming
G452
Application
Refer to your machine manual.
This function must be enabled and adapted by the machine manufacturer.
Touch probe cycle 452 optimizes the kinematic transformation chain of your machine (see Cycle 451 MEASURE KINEMATICS (#48 / #2-01-1)). Then the control corrects the workpiece coordinate system in the kinematics model in such a way that the current preset is at the center of the calibration sphere after optimization.
Cycle run
Position the calibration sphere on the machine table so that there can be no collisions during the measuring process.
This cycle enables you, for example, to adjust different interchangeable heads so that the workpiece preset applies for all heads.
- Clamp the calibration sphere
- Measure the complete reference head with Cycle 451, and then use Cycle 451 to set the preset in the center of the sphere.
- Insert the second head
- Use Cycle 452 to measure the interchangeable head up to the point where the head is changed.
- Use Cycle 452 to adjust other interchangeable heads to the reference head
If it is possible to leave the calibration sphere clamped to the machine table during machining, you can compensate for machine drift, for example. This procedure is also possible on a machine without rotary axes.
- Clamp the calibration sphere and check for potential collisions.
- Set the preset in the calibration sphere.
- Set the preset on the workpiece, and start machining the workpiece.
- Use Cycle 452 for preset compensation at regular intervals. The control measures the drift of the axes involved and compensates for it in the kinematics description.
Result parameter Q
Q parameter | Meaning |
---|---|
Q141 | Standard deviation measured in the A axis |
Q142 | Standard deviation measured in the B axis |
Q143 | Standard deviation measured in the C axis |
Q144 | Optimized standard deviation in the A axis |
Q145 | Optimized standard deviation in the B axis |
Q146 | Optimized standard deviation in the C axis |
Q147 | Offset error in X direction, for manual transfer to the corresponding machine parameter |
Q148 | Offset error in Y direction, for manual transfer to the corresponding machine parameter |
Q149 | Offset error in Z direction, for manual transfer to the corresponding machine parameter |
Result parameter QS
The control saves the measured position faults of rotary axes in the QS parameters QS144 to QS146. Each result is ten characters long. The results are separated from each other by a space.
Example: QS146 = "0.01234567 -0.0123456 0.00123456 -0.0012345"
Q parameter | Meaning |
---|---|
QS144 | Position error of A axis EY0A EZ0A EB0A EC0A |
QS145 | Position error of B axis EZ0B EX0B EC0B EA0B |
QS146 | Position error of C axis EX0C EY0C EA0C EB0C |
Position faults are deviations from the ideal axis position and are marked by four characters.
Example: EX0C= Position error of the C axis in X direction.
You can convert the individual results in the NC program, using string processing into numerical values and use them in evaluations, for example.
Example:
The cycle produces the following results within the QS parameter QS146:
QS146 = "0.01234567 -0.0123456 0.00123456 -0.0012345"
The example below shows how to convert the results produced into numerical values.
NC programs contained in this User's Manual are suggestions for solutions. The NC programs or individual NC blocks must be adapted before being used on a machine.
Change the following contents as needed:
- Tools
- Cutting parameters
- Feed rates
- Clearance height or safe position
- Machine-specific positions (e.g., with M91)
- Paths of program calls
Some NC programs depend on the machine kinematics. Adapt these NC programs to your machine kinematics before the first test run.
In addition, test the NC programs using the simulation before the actual program run.
With a program test you determine whether the NC program can be used with the available software options, the active machine kinematics and the current machine configuration.
11 QS0 = SUBSTR ( SRC_QS146 BEG0 LEN10 ) | ; Read out the first result EX0Cfrom QS146 |
12 QL0 = TONUMB ( SRC_QS0 ) | ; Convert alphanumeric value from QS0 to a numerical value and assign it to QL0 |
13 QS0 = SUBSTR ( SRC_QS146 BEG11 LEN10 ) | ; Read out the second result EY0Cfrom QS146 |
14 QL1 = TONUMB ( SRC_QS0 ) | ; Convert alphanumeric value from QS0 to a numerical value and assign it to QL1 |
15 QS0 = SUBSTR ( SRC_QS146 BEG22 LEN10 ) | ; Read out the third result EA0Cfrom QS146 |
16 QL2 = TONUMB ( SRC_QS0 ) | ; Convert alphanumeric value from QS0 to a numerical value and assign it to QL2 |
17 QS0 = SUBSTR ( SRC_QS146 BEG33 LEN10 ) | ; Read out the forth result EB0Cfrom QS146 |
18 QL3 = TONUMB ( SRC_QS0 ) | ; Convert alphanumeric value from QS0 to a numerical value and assign it to QL3 |
Notes
In order to be able to perform a preset compensation, the kinematics must be specially prepared. The machine manual provides further information.
- Deactivate the basic rotation before running the cycle.
- Set the preset and the basic rotation again after optimization.
- This cycle can be executed only in the FUNCTION MODE MILL machining mode.
- Before the beginning of the cycle, M128 or FUNCTION TCPM must be switched off.
- As with Cycles 451 and 452, Cycle 453 ends with active 3D‑ROT in automatic mode, matching the position of the rotary axes.
- Ensure that all functions for tilting the working plane are reset.
- Before defining the cycle, you must set the preset at the center of the calibration sphere and activate it.
- For rotary axes without separate position encoders, select the measuring points in such a way that you have to traverse an angle of 1° to the limit switch. The control needs this traverse for internal backlash compensation.
- For the positioning feed rate when moving to the probing height in the touch probe axis, the control uses the value from cycle parameter Q253 or the FMAX value from the touch probe table, whichever is smaller. The control always moves the rotary axes at positioning feed rate Q253, while touch probe monitoring is inactive.
- Programming in inches: The control always records the log data and results of measurement in millimeters.
- If you interrupt the cycle during the measurement, the kinematic data might no longer be in the original condition. Save the active kinematic configuration before an optimization with Cycle 450, so that in case of a failure the most recently active kinematic configuration can be restored.
Notes about machine parameters
- In the machine parameter maxModification (no. 204801), the machine manufacturer defines the permissible limit value for modifications of a transformation. If the kinematics data determined exceed the permissible limit value, the control displays a warning. Then you have to confirm acceptance of the determined values by pressing NC Start.
- In the machine parameter maxDevCalBall (no. 204802), the machine manufacturer defines the maximum deviation of the calibration sphere radius. In every probing process the control first measures the radius of the calibration sphere. If the measured sphere radius differs from the entered sphere radius by more than the value you have defined in the machine parameter maxDevCalBall (no. 204802), the control displays an error message and ends the measurement.
Cycle parameters
Help graphic | Parameter |
---|---|
Q407 Radius of calib. sphere? Enter the exact radius of the calibration sphere being used. Input: 0.0001...99.9999 | |
Q320 Set-up clearance? Additional distance between touch point and ball tip. Q320 is active in addition to the SET_UP column in the touch probe table. This value has an incremental effect. Input: 0...99999.9999 or PREDEF | |
Q408 Retraction height? 0: Do not move to any retraction height; the control moves to the next measuring position in the axis to be measured. Not allowed for Hirth axes! The control moves to the first measuring position in the sequence A, then B, then C. > 0: Retraction height in the untilted workpiece coordinate system to which the control positions the spindle axis before positioning a rotary axis. In addition, the control moves the touch probe in the working plane to the datum. Touch probe monitoring is not active in this mode. Define the positioning feed rate in parameter Q253. This value has an absolute effect. Input: 0...99999.9999 | |
Q253 Feed rate for pre-positioning? Define the traversing speed of the tool during pre-positioning in mm/min. Input: 0...99999.9999 or FMAX, FAUTO, PREDEF | |
Q380 Ref. angle in ref. axis? Enter the reference angle (basic rotation) for acquiring the measuring points in the active workpiece coordinate system. Defining a reference angle can considerably enlarge the measuring range of an axis. This value has an absolute effect. Input: 0...360 | |
Q411 Starting angle in A axis? Starting angle in the A axis at which the first measurement will be made. This value has an absolute effect. Input: –359.9999...+359.9999 | |
Q412 End angle in A axis? End angle in the A axis at which the last measurement will be made. This value has an absolute effect. Input: –359.9999...+359.9999 | |
Q413 Angle of incidence in A axis? Angle of incidence in the A axis at which the other rotary axes will be measured. Input: –359.9999...+359.9999 | |
Q414 No. of meas. points in A (0...12)? Number of measuring points the control will use to measure the A axis. If the input value = 0, the control does not measure the respective axis. Input: 0...12 | |
Q415 Starting angle in B axis? Starting angle in the B axis at which the first measurement will be made. This value has an absolute effect. Input: –359.9999...+359.9999 | |
Q416 End angle in B axis? End angle in the B axis at which the last measurement will be made. This value has an absolute effect. Input: –359.9999...+359.9999 | |
Q417 Angle of incidence in B axis? Angle of incidence in the B axis at which the other rotary axes will be measured. Input: –359.999...+360.000 | |
Q418 No. of meas. points in B (0...12)? Number of measuring points the control will use to measure the B axis. If the input value = 0, the control does not measure the respective axis. Input: 0...12 | |
Q419 Starting angle in C axis? Starting angle in the C axis at which the first measurement will be made. This value has an absolute effect. Input: –359.9999...+359.9999 | |
Q420 End angle in C axis? End angle in the C axis at which the last measurement will be made. This value has an absolute effect. Input: –359.9999...+359.9999 | |
Q421 Angle of incidence in C axis? Angle of incidence in the C axis at which the other rotary axes will be measured. Input: –359.9999...+359.9999 | |
Q422 No. of meas. points in C (0...12)? Number of measuring points the control will use to measure the C axis. If the input value = 0, the control does not measure the respective axis. Input: 0...12 | |
Q423 Number of probes? Define the number of measuring points the control will use to measure the calibration sphere in the plane. Fewer measuring points increase speed, and more measuring points increase measurement precision. Input: 3...8 | |
Q432 Angular range of backlash comp.? (optional) Define the traversing angle the control will use to measure the rotary axis backlash. The traversing angle must be significantly larger than the actual backlash of the rotary axes. If input value = 0, the control does not measure the backlash. Input: –3...+3 |
NC programs contained in this User's Manual are suggestions for solutions. The NC programs or individual NC blocks must be adapted before being used on a machine.
Change the following contents as needed:
- Tools
- Cutting parameters
- Feed rates
- Clearance height or safe position
- Machine-specific positions (e.g., with M91)
- Paths of program calls
Some NC programs depend on the machine kinematics. Adapt these NC programs to your machine kinematics before the first test run.
In addition, test the NC programs using the simulation before the actual program run.
With a program test you determine whether the NC program can be used with the available software options, the active machine kinematics and the current machine configuration.
11 TOOL CALL "TOUCH_PROBE" Z | ||
12 TCH PROBE 450 SAVE KINEMATICS ~ | ||
| ||
| ||
13 TCH PROBE 452 PRESET COMPENSATION ~ | ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
Adjustment of interchangeable heads
The head change function can vary depending on the individual machine tool. Refer to your machine manual.
- Load the second interchangeable head.
- Insert the touch probe
- Measure the interchangeable head with Cycle 452
- Measure only the axes that have actually been changed (in this example: only the A axis; the C axis is hidden with Q422)
- The preset and the position of the calibration sphere must not be changed during the entire process.
- All other interchangeable heads can be adjusted in the same way
NC programs contained in this User's Manual are suggestions for solutions. The NC programs or individual NC blocks must be adapted before being used on a machine.
Change the following contents as needed:
- Tools
- Cutting parameters
- Feed rates
- Clearance height or safe position
- Machine-specific positions (e.g., with M91)
- Paths of program calls
Some NC programs depend on the machine kinematics. Adapt these NC programs to your machine kinematics before the first test run.
In addition, test the NC programs using the simulation before the actual program run.
With a program test you determine whether the NC program can be used with the available software options, the active machine kinematics and the current machine configuration.
11 TOOL CALL "TOUCH_PROBE" Z | ||
12 TCH PROBE 452 PRESET COMPENSATION ~ | ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
The goal of this procedure is that the workpiece preset remains unchanged after changing rotary axes (head change).
In the following example, the adjustment of a fork head with A and C axes is described. The A axis is changed, whereas the C axis continues being a part of the basic configuration.
- Insert the interchangeable head that will be used as a reference head.
- Clamp the calibration sphere
- Insert the touch probe
- Use Cycle 451 to measure the complete kinematics, including the reference head
- Define the preset (using Q431 = 2 or 3 in Cycle 451) after measuring the reference head
NC programs contained in this User's Manual are suggestions for solutions. The NC programs or individual NC blocks must be adapted before being used on a machine.
Change the following contents as needed:
- Tools
- Cutting parameters
- Feed rates
- Clearance height or safe position
- Machine-specific positions (e.g., with M91)
- Paths of program calls
Some NC programs depend on the machine kinematics. Adapt these NC programs to your machine kinematics before the first test run.
In addition, test the NC programs using the simulation before the actual program run.
With a program test you determine whether the NC program can be used with the available software options, the active machine kinematics and the current machine configuration.
11 TOOL CALL "TOUCH_PROBE" Z | ||
12 TCH PROBE 451 MEASURE KINEMATICS ~ | ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
Drift compensation
This procedure can also be performed on machines without rotary axes.
During machining, various machine components are subject to drift due to varying ambient conditions. If the drift remains sufficiently constant over the range of traverse, and if the calibration sphere can be left on the machine table during machining, the drift can be measured and compensated for with Cycle 452.
- Clamp the calibration sphere
- Insert the touch probe
- Measure the complete kinematics with Cycle 451 before starting the machining process
- Define the preset (using Q432 = 2 or 3 in Cycle 451) after measuring the kinematics
- Then set the presets on your workpiece and start the machining process.
NC programs contained in this User's Manual are suggestions for solutions. The NC programs or individual NC blocks must be adapted before being used on a machine.
Change the following contents as needed:
- Tools
- Cutting parameters
- Feed rates
- Clearance height or safe position
- Machine-specific positions (e.g., with M91)
- Paths of program calls
Some NC programs depend on the machine kinematics. Adapt these NC programs to your machine kinematics before the first test run.
In addition, test the NC programs using the simulation before the actual program run.
With a program test you determine whether the NC program can be used with the available software options, the active machine kinematics and the current machine configuration.
11 TOOL CALL "TOUCH_PROBE" Z | ||
12 CYCL DEF 247 PRESETTING ~ | ||
| ||
13 TCH PROBE 451 MEASURE KINEMATICS ~ | ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
- Measure the drift of the axes at regular intervals.
- Insert the touch probe
- Activate the preset in the calibration sphere.
- Use Cycle 452 to measure the kinematics.
- The preset and the position of the calibration sphere must not be changed during the entire process.
NC programs contained in this User's Manual are suggestions for solutions. The NC programs or individual NC blocks must be adapted before being used on a machine.
Change the following contents as needed:
- Tools
- Cutting parameters
- Feed rates
- Clearance height or safe position
- Machine-specific positions (e.g., with M91)
- Paths of program calls
Some NC programs depend on the machine kinematics. Adapt these NC programs to your machine kinematics before the first test run.
In addition, test the NC programs using the simulation before the actual program run.
With a program test you determine whether the NC program can be used with the available software options, the active machine kinematics and the current machine configuration.
11 TOOL CALL "TOUCH_PROBE" Z | ||
13 TCH PROBE 452 PRESET COMPENSATION ~ | ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
Log function
After running Cycle 452, the control creates a log (TCHPRAUTO.html) and saves it in the folder that also contains the associated NC program. This log contains the following data:
- Creation date and time of the log
- Path of the NC program from which the cycle was run
- Tool name
- Active kinematics
- Mode used
- Inclination angles
- For each measured rotary axis:
- Starting angle
- End angle
- Number of measuring points
- Measuring circle radius
- Averaged backlash, if Q423>0
- Positions of the axes
- Standard deviation (scatter)
- Maximum deviation
- Angular error
- Compensation values in all axes (preset shift)
- Position before preset compensation of the rotary axes checked (relative to the beginning of the kinematic transformation chain, usually the spindle nose)
- Position after preset compensation of the rotary axes checked (relative to the beginning of the kinematic transformation chain, usually the spindle nose)
- Averaged positioning error
- SVG files with graphs: measured and optimized errors of individual measurement positions.
- Red curve: measured positions
- Green curve: optimized values
- Designation of the graph: axis designation depends on the rotary axis (e.g., EYC = deviations) of the Y axis in dependency of the C axis.
- X axis of the graph: rotary axis position in degrees
- Y axis of the graph: position deviations in mm
- Sample measurement: EYC deviations of the Y axis in dependency of the C axis