14 The Tool Compensation
compensation calculations are performed for interpolation movements G00, G01, G02, G03.
The above points refer to the specification of positive tool radius compensation, but its value may be negative, too. It has a practical meaning if, e.g., a given subprogram is to be used for defining the contours of a "female" part and of a "male" one being matched to the former. A possible way of doing this is to mill the female part with G41 and the male part with G42. However, that change- over may be omitted from the program when the female part is machined with a positive radius compensation, and the male part with a negative one. Now the path of the tool center is reversed with respect to the programmed G41 or G42.
Radius compensation: positive
Radius compensation: negative
G41
on the left side
on the right side
G42
on the right side
on the left side
LNote:
–For simplicity's sake, the subsequent descriptions and Figures will always refer to positive radius compensations.
Command G40 or D00 will cancel the offset compensation. The difference between the two commands is that D00 deletes only the compensation vector, leaving state G41 or G42 unchanged. If a reference is made subsequently to an address D other than zero, the compensation vector will be computed with the new tool radius as the function of state G41 or G42.
If, however, instruction G40 is used, any reference to address D will be ineffective until G41 or G42 has been programmed.
The procedure of setting up and canceling the radius compensation is detailed in the subsequent sections.
Commands G40, G41, G42 are modal ones. The control will assume state G40 after
Radius compensation instructions will be carried out by the control in automatic mode only. It is ineffective when programming a single block in manual mode. The reason of this is as follows. For the control to be able to compute the compensation vector in the end point of a block (interpolation), it must also read the next block containing the movement in the selected plane. The compensation vector depends on the transition between the two interpolations. Accordingly, several blocks (interpolations) have to be
85