Arsip Tag: part programming

9.4 COMPUTER ASSISTED PART PROGRAMMING

The work part of Example 9.2 was relatively simple, it was a suitable application    for manual programming. Most parts machined on NC systems are considerably    more complex. In the more complicated point-to-point jobs and in contouring applications, manual part programming becomes an extremely tedious task and subject to error. In these instances it is much more appropriate to employ the high-speed digital computer to assist in the part programming process. Many part programming language systems have been developed to automatically perform most of the calculations which the programmer would otherwise be forced to do. This saves time and results in a more accurate and more efficient part program.
The part programmer’s job
The difference in the part programmer’s job between manual programming and  computer-assisted programming is this. With manual programming, a manuscript is used which is formatted so that the NC tape can be typed directly from it. With computer-assisted part programming, the machining instructions are written in English-like statements of the NC programming language, which are then processed by the computer to prepare the tape. The computer automatically punches the tape in the proper tape format for the particular NC machine.
When utilizing one of the NC programming languages, part programming can be summarized as consisting basically of two tasks :
1. Defining the geometry of the work part
2. Specifying the tool path and/or operation sequence
Let us now consider these two tasks in computer-assisted part programming. Our frame of reference will be for a contouring application, but the concepts apply for    a positioning application as well.
Figure9.7 Sample part to illustrate basic geometric elementWORKPART GEOMETRY DEFINITION. No matter how complicated  the work part may appear, it is composed of basic geometric elements. Using a relatively simple work part to illustrate, consider the component shown in Figure 9.7. Although somewhat irregular in overall appearance, the outline of the part consists of intersecting straight lines and a partial circle. The holes in the part can be expressed in terms of the center location and radius of the hole. Nearly any component that can be conceived by a designer can be described by points, straight lines, planes, circles, cylinders, and other mathematically defined surfaces. It is the part programmer’s task   to enumerate the component elements out of which the work part is formed. Each geometric element must be identified and the dimensions and location of the element explicitly defined. Using the APT programming language as an example, the following statement might be used to define a point :
P1 – POINT/6.0, 1.125,0
The point is identified by the symbol P1 and is located at x  = 6.0, y =  1.125, and z = 0.
Similarly, a circle in the xy plane might be defined by the APT statement
C1 =  CIRCLE/CENTER, P1 , RADIUS, 1.12
The center of circle C1 is Pi (previously defined) and the radius is 1.125.
The various geometric elements in the drawing of Figure 9.7 would be identified in a similar fashion by the part programmer.
TOOL PATH CONSTRUCTION  After defining the work part geometry, the programmer must next construct the path that the cutter will follow to machine the part. This tool path specification involves a detailed step-by-step sequence of cutter moves. The moves are made along the geometry elements which have previously been defined. To illustrate, using Figure 9.7 and the APT language, the following statement could be used to command the tool  to make  a left turn from  line L2  onto line L3 :
GOLFT/L3, PAST, L1
This assumes the tool was previously located at the intersection of lines L2 and L3 and had just finished a cut along L2. The statement directs the tool to cut along L3 until it just passes line L1.
By using statements similar to the above, the tool can be directed to machine along the work part surfaces, to go to point locations, to drill holes at those point locations, and so on. In addition to geometry definition and tool path specification, the part programmer also provides other commands to the NC system. However, let us await Section 9.5, where we will consider a wide range of possible APT statements.
The computer’s job
The computer’s job in computer-assisted part programming consists of the following steps:
1. Input translation
2. Arithmetic calculations
3. Cutter offset computation
4. Post processor
The sequence of these steps and their relationships to the part programmer and the machine tool are illustrated in Figure 9.8.
Figure9.8 Steps in computer assisted part programmingINPUT TRANSLATION. The part programmer enters the program using the APT or other language. The input translation component converts the coded instructions contained in the program into computer-usable form, preparatory to further processing.
ARITHMETIC CALCULATIONS.  The arithmetic calculations unit of the system consists of a comprehensive set of subroutines for solving the mathematics required to generate the part surface. These subroutines are called by the various part programming language statements. The arithmetic unit is really the fundamental element in the part programming package. This unit frees the programmer from the time-consuming geometry and trigonometry calculations  to concentrate on the work part processing.
CUTTER OFFSET COMPUTATION. When we described the second task of the part programmer  as that of constructing the tool path, we ignored   one basic factor the size of the cutting tool. The actual tool path is different from the part outline. I is is because the tool path is the path taken by the center of the  cutter. It is at the periphery of the cutter that machining takes place.
The purpose of the cutter offset computation is to offset the tool path from the desired part surface by the radius of the cutter. This means that the part programmer can define the exact part outline in his geometry statements. Thanks  to the cutter offset calculation provided by the programming system, he need not concern himself with this task. The cutter offset problem is illustrated in Figure 9.9.
POSTPROCESSOR.     As we have noted previously, NC machine tool systems are different. They have different features and capabilities. They use  different NC tape formats. Nearly all of the part programming languages, including APT, are designed to be general-purpose languages, not limited to one or two machine tool types. Therefore, the final task of the computer in computer-assisted part programming is to take the general instructions and make them specific to a particular machine tool system. The unit that performs this task is called a post processor.
The post processor is really a separate computer program that has been written to prepare the punched tape for a specific machine tool. The input to the post processor is the output from the other three components:  a series of cutter locations and other instructions. This is referred to as the CLFILE or CLDATA (CL stands for  cutter location). The output of the post processor is the NC tape    written in the correct format for the machine on which it is   to be used.
NC part programming languages
Probably over 100 NC part programming languages have been developed since the initial MIT research on NC programming systems in 1956. Most of the languages were developed to serve particular needs and machines and have not survived the test of time. However, a good number of languages are still in use today. In this subsection we review some of those which are generally considered important.
Figure9.9 Cutter offset problem in part programmingAPT (AUTOMATICALLY PROGRAMMED TOOLS). The API language was the product of the MIT developmental work on NC programming systems. Its development began in June 1956, and it was first used in production around 1959. Today it is the most widely used language in the United States. Although first intended  as  a contouring language, modern versions of APT can be used for both positioning and continuous-path programming and continuous-path programming in up to five  axes.

AUTOSPOT (AUTOMATIC SYSTEM FOR POSITIONNING TOOLS).  This was developed by IBM and first introduced in 1962 for PTP programming. Today’s version of AUTOSPOT can be used for contouring as well.

SPLIT (SUNDSTRAND PROCESSING LANGUAGE INTERNALLY TRANSLATED). This is a proprietary system intended for Sundstrand’s machine tools. It can handle up to five axis positioning and possesses contouring capability as well. One of the unusual features of SPLIT is that the post processor is built into the program. Each machine tool  uses its own SPLIT package, thus obviating the need for a special post processor.

COMPACT II.   This is a package available from Manufacturing Data Systems, Inc. (MDSI), a firm based in Ann Arbor, Michigan. The NC language is similar to SPLIT in many of its features. MDSI leases the COMPACT II system to its users on a time-sharing basis. The part programmer uses a remote terminal to feed the program into one of the MDSI computers, which in tum produces the  NC tape.

ADAPT (ADAPTATION OF APT). Several part programming languages are based directly on the APT program One of these is ADAPT, which was developed by IBM under Air Force contract. It was intended to provide many of the features of AFT but to utilize a significantly  smaller computer. ADAPT is not as powerful as APT, but can be used to program for both positioning and contouring jobs.

EXAPT (EXENDED SUBSET OF APT).   This was developed in Germany  starting around 1964 and is based on the APT language. Itere are three versions: EXAPT I designed for positioning (drilling and also straight-cut milling), EXAPT ll designed for turning, and EXAPT III designed for limited contouring operations. One of the important features of EXAPT is that it attempts to compute optimum feeds and speeds automatically.