NCT Group 99M Microscope & Magnifier User Manual


 
14 The Tool Compensation
85
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
L Note:
– 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 power-on, at
the end of a program or in the event of resetting the program to its beginning, under such conditions
the radius compensation vectors will be deleted.
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 pre-processed for the calculation of a compensation vector.