Settings for circle centre point correction and radius compensation

A circle that is determined in the NC program by starting point, end point and middle point is geometrically overdetermined. With imprecisely programmed circle coordinates, the radius starting and end points of the circle are different. This problem is solved by correcting the centre point and radius coordinates of the circle. The algorithm for circle centre point correction is described in greater detail in [PROG]. The correction algorithm provides a usable result even for geometrically meaningless programmed circle coordinates. In some cases the deviations between programmed and corrected centre point coordinates may be correspondingly large. Therefore, the new calculated centre point coordinates are subjected to a plausibility check.

It is verified whether the centre point offset Δm is greater than the maximum centre point offset 'mittelpkt_diff' defined as the absolute value in the channel parameters

                     Δm > sda_mds.mittelpkt_diff ?

and whether the centre point offset Δm is greater than the product of 'mittelpkt_faktor/1000' and the corrected radius 'radius'.

                     Δm > sda_mds.mittelpkt_faktor/1000 * radius ?

If this is the case, an error message is output. Otherwise, the corrected centre point coordinates are adopted. Here, 'mittelpkt_diff' must be defined as the absolute value and 'mittelpkt_faktor' as the factor (unit 0.1%).

The programmed centre point coordinates must therefore lie in a circumcircle about the corrected centre point of the circle. The radius of this circumcircle corresponds to the permissible centre point offset Δm which can be set using the two parameters 'mittelpkt_diff' and 'mittelpkt_faktor':

Zone of permissibly programmed centre points
Zone of permissibly programmed centre points