Compensating the tool angle of inclination with FUNCTION TCPM (#9 / #4-01-1)
Application
The FUNCTION TCPM function allows you to influence the positioning behavior of the control. While FUNCTION TCPM is active, the control compensates for changed tool inclinations by performing compensation movements of the linear axes. This means that you can change the tool inclination during machining without damaging the contour.
FUNCTION TCPM is an improvement of miscellaneous function M128.
Instead of M128, HEIDENHAIN recommends using the more powerful function FUNCTION TCPM.
Related topics
- Compensating for the tool angle of inclination with M128
Compensating the tool angle of inclination automatically with M128 (#9 / #4-01-1)
- Tilting the working plane
- Presets on the tool
- Reference systems
Requirements
- Machine with rotary axes
Depending on the mechanical design of the rotary axes, not all features might be available (e.g., no simultaneous machining). Refer to your machine manual.
- Control prepared by the machine manufacturer
To calculate the tilting angles, the control requires a kinematics description prepared by the machine manufacturer.
- Adv. Function Set 2 software option (#9 / #4-01-1)
Description of function
Behavior without TCPM | Behavior with TCPM (REFPNT CENTER-CENTER) |
The TNC7 basic can move up to four axes simultaneously. If an NC block commands movement of more than four axes, the control displays an error message. Note that the compensating movement is performed in up to three linear axes.
If FUNCTION TCPM is active, the control shows the TCPM icon in the position display.
While FUNCTION TCPM is active, the following NC functions cannot be used as usual or not at all:
- M91/M92
- TOOL CALL
- Tool radius compensation RL/RR
If FUNCTION TCPM is active, this function will only define the direction for 3D radius compensation.
For CAM-generated NC programs, program FUNCTION PROG PATH IS CONTOUR instead.
The FUNCTION RESET TCPM function resets the FUNCTION TCPM function.
Input
FUNCTION TCPM
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.
10 FUNCTION TCPM F CONT AXIS SPAT PATHCTRL AXIS REFPNT CENTER-CENTER F1000 |
To navigate to this function:
Insert NC function Special functions Functions Tool inclination compensation TCPM FUNCTION TCPM
The NC function includes the following syntax elements:
Syntax element | Meaning |
---|---|
FUNCTION TCPM | Syntax initiator for compensating tool angles of inclination |
F TCP or F CONT | Interpretation of the programmed feed rate |
AXIS POS or AXIS SPAT | Interpretation of programmed rotary axis coordinates as axis angles or spatial angles Rotary axis coordinates programmed as axis or spatial angles |
PATHCTRL AXIS or PATHCTRL VECTOR | Interpolation of tool angle of inclination Interpolation of tool angle of inclination between starting and end points |
REFPNT TIP-TIP, REFPNT TIP-CENTER or REFPNT CENTER-CENTER | Selection of tool location point and tool rotation point Selection of tool location point and tool rotation point Optional syntax element |
F | Maximum feed rate for compensating movements in the linear axes for movements with a rotary-axis component Limiting the linear-axis feed rate Optional syntax element |
FUNCTION RESET TCPM
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.
10 FUNCTION RESET TCPM |
To navigate to this function:
Insert NC function Special functions Functions Tool inclination compensation TCPM FUNCTION RESET TCPM
The NC function includes the following syntax elements:
Syntax element | Meaning |
---|---|
FUNCTION RESET TCPM | Syntax initiator for resetting of FUNCTION TCPM |
Interpretation of the programmed feed rate
The control offers the following options for interpreting the feed rate:
Selection | Meaning |
---|---|
F TCP | The control interprets the programmed feed rate as the velocity value of the tool location point. The control calculates the required feed rate for the individual axes automatically and keeps the feed rate at the tool location point constant. If the ratio of linear and rotary axis movements in an NC block is balanced, F TCP will usually produce a better surface in face milling. If the NC block defines significantly more rotary axis movements than linear axis movements, the rotary axes need to be positioned very quickly. In order to keep the feed rate at the tool location point constant in this case, a dynamic machine is required. |
F CONT | The control interprets the programmed feed rate as a vectorial axis feed rate. The programmed feed rate will be subdivided into components, taking all programmed axis movements in the NC block into account. The control calculates the velocity value of the compensation movement in the linear axes independent of the programmed feed rate. F CONT protects the machine because the axes will be accelerated more smoothly. This will generate feed-rate variations at the tool location point. Program F CONT, for example, if you need to change the tool inclination while the tool is not in contact with the workpiece. |
You can limit the velocity of the compensation movements in the linear axes with the F syntax element.
Rotary axis coordinates programmed as axis or spatial angles
The control can interpret the programmed rotary axis coordinates in the following ways:
Selection | Meaning |
---|---|
AXIS POS | The control interprets the programmed rotary axis coordinates as axis angles. The control positions the rotary axes to the positions defined in the NC program. NC programs with axis angles can only be used for other machines that have the same rotary axes and matching traverse ranges. You cannot program a basic rotation or 3D basic rotation with AXIS POS, and FUNCTION TCPM cannot be used if the working plane is tilted. |
AXIS SPAT | The control interprets the programmed rotary axis coordinates as spatial angles. The control takes care of calculating the required axis positions. This means that NC programs with spatial angles can also be used for other machines that might have other rotary axes. With AXIS SPAT, you can orient the workpiece using a basic rotation or 3D basic rotation and use FUNCTION TCPM in case the working plane is tilted. |
Difference between spatial angles and axis angles
- The machine manufacturer defines in the kinematics description whether you can use AXIS SPAT to also program axes that do not exist physically on the machine. The control saves this information in the machine parameter progAxes (no. 202802).
- A programmed tool inclination will not tilt the working plane, as with the PLANE functions, for example. This means that you can program FUNCTION TCPM with AXIS SPAT even if the working plane is tilted.
- You can program FUNCTION TCPM with AXIS POS manually only for machines with perpendicular kinematics. With other machine kinematics, you need a CAM system to calculate the correct values (e.g., for 45° swivel heads).
- M128 and FUNCTION TCPM with AXIS POS selected do not take an active basic rotation or 3D basic rotation into account. Program FUNCTION TCPM with AXIS SPAT selected, or CAM outputs with LN straight lines and a tool vector.
Interpolation of tool angle of inclination between starting and end points
The control provides two ways to calculate the path of the rotary axes between the starting and end points.
In both cases, the tool location point will be moved directly and the tool will be positioned, with the programmed tool inclination, at the end point defined in the NC block.
Selection | Meaning |
---|---|
PATHCTRL AXIS | The control calculates the rotary axis positions for the end point. During the movement, the control will position the rotary axes using a direct path. Depending on the program and kinematics, PATHCTRL AXIS might not produce a planar surface area when performing peripheral milling. PATHCTRL AXIS can be used, for example, for face milling with a spherical cutter. |
PATHCTRL VECTOR | The control calculates a plane using the tool inclination at the starting and end points and maintains the plane during traverse. If the direct traverse path deviates from the plane, the control will compensate for this deviation with additional rotary axis movements. You can use PATHCTRL VECTOR for peripheral milling in order to obtain a planar cylindrical surface even if the tool inclination is changed. |
- If PATHCTRL AXIS is used, the axis movements are smoother and machining times might be shorter. PATHCTRL VECTOR should only be used if you cannot obtain the desired result with PATHCTRL AXIS.
- When programming PATHCTRL AXIS, you can specify a Tolerance for rotary axes TA in Cycle 32 TOLERANCE to obtain an even smoother movement.
Selection of tool location point and tool rotation point
The control offers the options below for defining the tool location point and the tool rotation point:
Selection | Meaning |
---|---|
REFPNT TIP-TIP | The tool location point and the tool rotation point are at the tool tip. You can use REFPNT TIP-TIP with end mills, for example, for peripheral milling. REFPNT TIP-TIP is the default setting. |
REFPNT TIP-CENTER | The tool location point is located at the tool tip. The tool rotation point is located at the tool center point. REFPNT TIP-CENTER is not suitable for milling tools. |
REFPNT CENTER-CENTER | The tool location point and the tool rotation point are located at the tool center point. REFPNT CENTER-CENTER can be used for face milling with spherical cutters. Selecting REFPNT CENTER-CENTER allows executing CAM-generated NC programs which are referenced to the tool center point and still calibrate the tool relative to its tip. |
- If you program REFPNT CENTER-CENTER, the control can monitor the entire tool length for collisions during machining.
If you want to use M128 in the same way as REFPNT CENTER-CENTER, you need to program the tool with DL in order to shorten tool radius 2 R2. In this case, the control will not monitor the remaining tool length for collisions.
- If you use REFPNT CENTER-CENTER to program pocket milling cycles, the control generates an error message.
Limiting the linear-axis feed rate
Graphs | Meaning |
---|---|
The optional input of F allows you to limit the feed rate of compensation movements of the linear axes. The feed rate of the programmed linear motions does not change. Thus, you can avoid fast compensation movements (e.g., in case of retraction movements at rapid traverse). The linear axis feed-rate limit remains in effect until you program a new value or reset FUNCTION TCPM. |
Make sure to select a value for the linear axis feed-rate limit that is not too small because large feed-rate variations may occur at the tool location point. Feed-rate variations impair the surface quality.
If FUNCTION TCPM is active, the feed-rate limit will only be effective for movements with a rotary-axis component, not for entirely linear motions.
Notes
- Make sure to retract the tool before changing the position of the rotary axis
- If you always select the first selection option offered for FUNCTION TCPM, you will achieve the same functionality as with M128. In this case program the syntax FUNCTION TCPM F TCP AXIS POS PATHCTRL AXIS REFPNT TIP-TIP.
- Use only ball-nose cutters for face milling in order to avoid contour damage. In combination with other tool shapes, check the NC program for any possible contour damage by using the Simulation workspace.
Notes about machine parameters
The machine manufacturer uses the optional machine parameter presetToAlignAxis (no. 300203) to define for each axis how the control will interpret offset values. For FUNCTION TCPM and M128 the machine parameter applies only to one rotary axis of the table that rotates about the tool axis (in most cases C_OFFS).
Basic transformation and offset
- If the machine parameter is not defined or is defined with the value TRUE, then you can compensate for a workpiece misalignment in the plane with the offset. The offset affects the orientation of the workpiece coordinate system W-CS.
- If the machine parameter is defined with the value FALSE, then you cannot compensate for a workpiece misalignment in the plane. The control does not take the offset into account during program run.
Program structure with FUNCTION TCPM
Here you see a possible program structure with FUNCTION TCPM. You can use this structure for various machining operations.
BLK FORM... | ||
TOOL CALL... | ||
Shift the datum, if required | TRANS DATUM... | ; e.g., for using it as a datum for a tilted working plane |
Tilt the working plane, if required | PLANE SPATIAL... | ; Only possible for FUNCTION TCPM with AXIS SPAT |
Pre-positioning | L X... Y... Z... | |
Activate FUNCTION TCPM | FUNCTION TCPM... | |
Define the tool inclination | L A... | |
Machine the contour with TCPM | L X... | |
LN... | ||
L A... | ; Reset the tool inclination | |
Deactivate FUNCTION TCPM | FUNCTION RESET TCPM | ; Alternatively M129 |
Reset the datum shift | TRANS RESET | |
Reset the tilted working plane | PLANE RESET... | |
... |
Example: Machining a chamfer with FUNCTION TCPM
This NC program is structured as shown above.
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.
0 BEGIN PGM 1438530 MM | |||
1 BLK FORM 0.1 Z X-50 Y-50 Z-20 | |||
2 BLK FORM 0.2 X+50 Y+50 Z+0 | |||
3 ; | |||
4 * - | ; Main program | ||
5 TOOL CALL "MILL_D20_ROUGH" Z S5000 F1000 | |||
6 CALL PGM TNC:\nc_prog\SAFE.h | |||
7 M3 | |||
8 CALL LBL "RESET" | |||
9 CALL LBL "PLANE" | |||
10 ; | |||
11 CYCL DEF 233 FACE MILLING ~ | |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
12 L X-50 Y+0 Z+5 R0 FMAX M99 | |||
13 ; | |||
14 CYCL DEF 252 CIRCULAR POCKET ~ | |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
| |||
15 L X+0 Y-50 R0 FMAX M99 | |||
16 CALL LBL "RESET" | |||
17 ; | |||
18 TOOL CALL "MILL_D12_ROUGH" Z S5000 F1000 | |||
19 CALL PGM TNC:\nc_prog\SAFE.h | |||
20 M3 | |||
21 CALL LBL "PLANE" | |||
22 ; | |||
23 * - | ; Simultaneous milling of the chamfer | ||
24 TRANS DATUM AXIS IX+25 IY-50 IZ-5 | ; Shift the datum to the lower chamfer edge | ||
25 L X-20 Y+0 Z-1 R0 FMAX | ; Pre-position | ||
26 PLANE RELATIV SPB+45 MOVE | ; Tilt the working plane for pre-positioning | ||
27 L X-Q108 | ; Move to machining position | ||
28 PLANE RELATIV SPB-45 STAY | ; Reset tilting mathematically | ||
29 FUNCTION TCPM F CONT AXIS SPAT PATHCTRL AXIS REFPNT TIP-TIP | ; Activate FUNCTION TCPM | ||
30 L B+45 | ; Pre-position the tool | ||
31 TRANS DATUM AXIS X+0 IZ+5 | ; Shift the datum to the center of the circular pocket | ||
32 CC X+0 Y+0 | |||
33 CP IPA-90 C-90 DR- F AUTO | ; Machine the chamfer | ||
34 CP IPA-90 IC-90 DR- | |||
35 CP IPA-90 IC-90 DR- | |||
36 CP IPA-90 IC-90 DR- | |||
37 DEP LCT X+0 Y+0 R3 | ; Depart from the contour | ||
38 L B+0 | ; Reset the tool inclination | ||
39 ; | |||
40 CALL LBL "RESET" | |||
41 M30 | |||
42 ; | |||
43 * - | ; Subprograms | ||
44 LBL "PLANE" | |||
45 TRANS DATUM AXIS X+0 Y+50 Z+0 | ; Shift the datum for tilted machining | ||
46 PLANE SPATIAL SPA+2 SPB+0 SPC+0 TURN FMAX | ; Tilt the working plane | ||
47 LBL 0 | |||
48 ; | |||
49 LBL "RESET" | |||
50 FUNCTION RESET TCPM | |||
51 M140 MB+50 | |||
52 CALL PGM TNC:\nc_prog\SAFE.h | |||
53 TRANS DATUM RESET | |||
54 PLANE RESET TURN FMAX | |||
55 LBL 0 | |||
56 END PGM 1438530 MM |