Description
TF5200 | TwinCAT 3 CNC
Online tool compensation
14
Version: 1.02
Explanation to the figure above (the discrete OTC offset applied is 2 mm)
1. G25 is active. The contour is not continuous. The predefined OTC offset is applied to another axis
over several cycles.
2. The TRC inserts a circular transition because of G26. But the OTC offset is so large that the increase
in offset is unable to keep up with the continuous change in the contour.
3. The OTC offset lags behind considerably.
4. Increase the OTC offset
5. Decrease the positive OTC offset and increase the negative OTC offset
The tool radius is influenced by the PLC.
Requirements: After the ControlUnit OTCRadiusOffset is active, the OTC radius offset can then be
programmed for the build in use accordingly. This value is then added to each cycle perpendicular to the
programmed contour.
For
CNC Version >= V2.11.2800:
gpCh[
channel_idx
]^.bahn_mc_control.otc_radius_offset
where channel_idx = [0..HLI_SYS_CH_MAXIDX]
For
CNC Version < V2.11.2800:
pMC[
channel_idx
]^.addr^.MCControlBahn_Data.MCControlSGN32Unit_OTCRadiusOffset
where channel_idx = [1.. HLI_SYS_CHNMAX]
PLC access for CNC Build >= V2.11.2800
(* enable online tool compensation control unit *)
gpCh[0]^.bahn_mc_control.otc_radius_offset.enable_w := TRUE;
(* write radius offset in the first channel *)
gpCh[0]^.bahn_mc_control.otc_radius_offset.command_w := OTC_Offset;
PLC access for CNC build < V2.11.2800
(* enable online tool compensation control unit *)
pMC[1]^.addr^.MCControlBahn_Data.MCControlSGN32Unit_OTCRadiusOffset.X_Enable := TRUE;
(* write radius offset in the first channel *)
pMC[1]^.addr^.MCControlBahn_Data.MCControlSGN32Unit_OTCRadiusOffset.D_Command := OTC_Offset;
A continuous contour path is recommended because changing the orientation of the predefined off-
set is not applied to the axis all at once but is distributed over several cycles.
On selection, the commands G41/G42 and #OTC ON can be swapped. On deselection, the se-
quence G40 before #OTC OFF must be maintained. The TRC modes G138/G139 make a path mo-
tion between the two commands
absolutely
necessary.
If error 90050 is output, the path motion does not exist when deselected with G138/G139.
The functionality of the RADIUS type is shown by the example of the G17 plane: