Programming of CNC Machines. Ken Evans
are determined with respect to the stationary reference point of Machine Zero.
In order to better understand this concept, this situation can be illustrated with a rectangular plate in which all coordinates are described at their four corners (P1, P2, P3, P4).
P1 = X -15.0, Y-10.0
P2 = X -15.0, Y-12.0
P3 = X -20.0, Y-12.0
P4 = X -20.0, Y-10.0
Figure 19 Machine Zero to Workpiece Zero
Determine the coordinates of these points. The rectangle has been placed in such a manner that each side is parallel to one axis of the coordinate system. If the distance from Machine Zero is measured to any point on the workpiece, the coordinates of the remaining points can be determined from the dimensions given on the drawing.
All programmed point coordinates, whose values are determined with respect to Machine Zero, must be calculated with respect to Machine Zero every time which is time consuming. It may also cause errors due to the fact that all the given dimensions determining the points do not always refer to those on the drawing. As previously mentioned, in order to determine the coordinates for the four corners of the rectangular part illustrated, it is necessary to find the distance between Machine Zero and a specific point of reference on the part. Then, all the remaining dimensional data to be used are taken from the blueprint.
For all CNC machines, we follow certain principles to define the method of selecting Workpiece Zero from within the part program. At the beginning of the program, we input the value of the distance between Machine Zero and the selected Workpiece Zero, by employing function G92 or G54 through G59 for Machining Centers and function G50 or G54 for Turning Centers. These measured values are either input directly into the program, as in the case of G92 for Mills and G50 for Lathes, or in offset registers in the control for G54 through 59. Let us review the same situation as above and note the changes of the point coordinates when applying Workpiece Zero.
G92X15.0Y10.0 or G54-59X0.0Y0.0
P1 = X0, Y0
P2 = X0, Y-2.0
P3 = X-5.0, Y-2.0
P4 = X-5.0, Y0
Figure 20 Workpiece Zero Point
The values X15.0 and Y10.0 for G92 or G54 through 59 are valid until they are recalled by the same function, but with different coordinates, for X and Y. When programming Machining Centers, we place function G92 or G54 through 59 only at the beginning of the program, whereas the values assigned to function G50 for Turning Centers will need to be added to the program with respect to each tools position. Once this activation is read by the control, all coordinates will be measured from the new Workpiece Zero allowing the use of part dimensions for programmed moves.
Figure 21 Workpiece Zero for Turning Centers
With Turning Centers, Workpiece Zero in the direction of the Z axis is most often on the face surface of the workpiece, and the centerline axis of the spindle is Workpiece Zero in the direction of the X axis.
On Machining Centers, Workpiece Zero is frequently located on the corner of the workpiece or in alignment with the Datum of the workpiece.
The application of Workpiece Zero is quite advantageous to the programmer because the input values of X, Y, and Z in the program can be taken directly from the drawing. If the program is used another time, the values of coordinates X and Y (assigned to functions G50 and G92 or G54 through G59) will have to be inserted again, prior to automatic operation.
Figure 22 Absolute and Incremental Coordinate System Points
Absolute and Incremental Coordinate Systems
When programming in an absolute coordinate system, the positions of all the coordinates are based upon a fixed point or origin of the coordinate system. The tool path from point P1 to P10, for example, is illustrated on the next page:
X | Y | |
P1 | 0.0 | 0.0 |
P2 | 0.0 | 10.5 |
P3 | 2.5 | 10.5 |
P4 | 2.5 | 8.5 |
P5 | 5.5 | 8.5 |
P6 | 6.5 | 9.5 |
P7 | 6.5 | 12.0 |
P8 | 11.0 | 12.0 |
P9 | 11.0 | 1.0 |
P10 | 10.0 | 0.0 |
Programming with an incremental coordinate system is based upon the determination of the tool path from its current position to its next consecutive position and in the direction of all the axes. Sign determines the direction of motion. Based on the drawing from the previous example, we can illustrate the tool path in an incremental coordinate system, starting and ending at P1.
X | Y | |
P2 | 0.0 | 10.5 |
P3 | 2.5 | 0.0 |
P4 | 0.0 | -2.0 |
P5 | 3.0 | 0.0 |
P6 | 1.0 | 1.0 |
P7 | 0.0 | 2.5 |
P8 | 4.5 | 0.0 |
P9 | 0.0 | -11.0 |
P10 | -1.0 | -1.0 |
P1 | -10.0 | 0.0 |
Coordinate Input Format
CNC machines allow input values of inches specified by the command G20, or millimeters specified by the command G21, and degrees with a decimal point and significant zeros in front of (leading) or at the end (trailing) of the values. When using inch programming the two ways distances can be specified:
Programming with a decimal point
1 inch | = | 1. or 1.0 |
1 1/4 inch | = | 1.250 or 1.25 |
1/16 inch | = | 0.0625 or .0625 |
Programming with significant trailing zeros
In this case, the zero furthest to the right corresponds with the ten thousandths of an inch.
1 inch | = | 10000 |
1 1/8 inch | = | 11250 |
1 1/32 inch | = | 10313 |
These two coordinate input formats are the standard on all CNC machines
With modern controllers neither leading nor trailing zeros are required, the decimal placement is the significant factor. In this case the input is as follows:
1 inch | = | 1. or 1.0 |
1 1/4 inch | = |
1.25
|