0% found this document useful (0 votes)
46 views9 pages

Implementation of Web-Based NC Postprocessor Builder: Gab-Sang Ryu

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 9

KSIAM IT series Vol.6, No.

2, 91-99, 2002

IMPLEMENTATION OF WEB-BASED NC POSTPROCESSOR BUILDER1)


Gab-Sang Ryu Abstract
An NC postprocessor is an automatic manufacturing application program that takes cutter location data in APT syntax obtained from a CAD/CAM system as its input and returns MCD codes which control a specific CNC controller for work-piece processing. This paper describes the development of a generalized NC postprocessor developer which can produce the specific NC postprocessor that the user demands according to the CNC machine specification. The developer named as "MultiPOST" is designed to link external commercial CAD/CAM system with various kinds of CNC machines to enable online work-piece processing. MultiPOST was developed by using Microsoft Visual C++ for operation on PC with Microsoft Windows 98, and it was tested by using FZ-25 CNC machining center commercialized in Korea, its FANUC 11MA controller and Pro/Engineer CAD/CAM system.

1. Introduction
When a CAD system completes parts modeling, a CAM system calculates the cutter location data for use with parts processing for an optimal cutting in accordance with the manufacturing plan provided by CAPP. Thus obtained cutter location data comply with the internationally standardized APT syntax and the data also have generalized information in which auxiliary part program instructions (spindle speed, feed rate, tool-change) are mixed with instructions for tool movements. So, the cutter location data should be converted to NC specific codes which an NC controller can interpret so that the NC specific codes can operate a specific CNC machine. An application program is also needed to process a series of work such as editing the converted codes according to the NC worker's judgement and compensating data when a tool is changed.[1] An NC postprocessor is a vital
Keywords: NC Postprocessor, CAD/CAM 91

92

Gab-Sang Ryu

program for parts processing that makes the interface between a CAD/CAM system and a CNC machine possible by performing aforementioned functions. In Korea, lots of research has been carried out by research institutes and industries for many years to meet the demand for the NC postprocessor with the introduction of CAD/CAM systems and increased use of NC machines. But the scope of research could not go beyond developing simple NC postprocessor with limited machine-specific applicability and the Korean market has been dominated by imported products such as IntelliPost or G-POST. This paper describes the development of MultiPOST, an NC postprocessor developer, which can be used regardless of the kinds of CNC machines adopted. MultiPOST has an easy-to-use generator module that presents dynamic menus, context sensitive help and a powerful interface language designed to improve the user's productivity. MulitiPOST supports mills and machining centers with up to 5-axes, with indexing tables, or with rotary and/or tilt heads, and wire EDM. Considering the functional characteristics of NC codes, MultiPOST encoded NC codes in a module based way and it was designed to allow all work in a GUI environment on a PC with Microsoft Windows98.

2. NC PostProcessor
2.1 Introduction An NC postprocessor takes in the cutter location data in APT syntax from a CAD/CAM system and returns the MCD codes which control a specific CNC machine controller for workpiece processing. A standard APT postprocessor has 5 major functional modules (control function, input function, auxiliary function, motion function and output function) and the control function module controls the other 4 modules to yield the NC data output. An NC postprocessor takes in the cutter location data in APT syntax from a commercial CAM system, and it performs the following major functions to produce NC codes that a specific NC machine can interpret. a) b) c) d) e) f) Read in data from CL data prepared by processor. Convert to machine tool coordinate system Convert to absolute of incremental from. Check machine-tool limitations. Develop feedrates and spindle speeds. Develop motion commands allowing for requirements of machine tool / controller. g) Allow for type of interpolation-linear, circular.

WEB-BASED NC POSTPROCESSOR BUILDER

93

h) I) j)

Output control tape to suit control system requirement. Output printed listing as aid to programmer. Produce diagnostics in the event of errors.

2.2 Cutter Location Data When the CAD geometry model for parts to be processed is completed and the NC machine for use with processing is decided, a manufacturing plan is prepared considering the standard coordinate of the NC program, tools to be used, and the degree and direction of processing. Based on these pieces of information, the location data, called "the cutter location data," according to the movement of the tool are obtained from a CAM system. The location data generated by most of the commercial CAD/CAM systems comply with the standardized format in APT-IV syntax and their output is produced in two forms--a text file in ASCII code and a binary file in BCD code. The cutter location data in BCD code consists of a sequence of logical records each of which again consists of many words storing discontinued information according to different record types ranging from 1,000 to 14,000. In each record, the first word refers to the serial number of the record, the second word refers to the classification code of the record, the third word refers to the auxiliary classification code of the record and the other words store different kinds of information such as integers, real numbers, or character strings depending on the record type.[1] Figure 1 presents the BCD code structure of common cutter location data.

1 i i record byte count 1 i i record byte count 1 i i record byte count

5 i i data byte count 5 i i data byte count 5 i i data byte count

9 i i

13 sequence no.

17 i i major word class 17 i i major word class 17 i i major word class

21+(8x(word-1)) i i major word subclass 4 6 i i

minor word

9 i i

13 sequence no.

21+(8x(word-1)) i i r r r r r r r r major word value word : real subclass 21+(8x(word-1)) i i c c c c c c major character : EBCDIC word subclass

9 i i

13 sequence no.

Fig. 1

The BCD code structure

94

Gab-Sang Ryu

3. MultiPOST Implementation
3.1 MultiPOST Structure The basic structure adopted for this study was designed similarly to the standard APT NC postprocessor. Global variables, which are directly related to the specifications of an CNC machine or an NC controller, followed the style of IntelliPost and CamPost so that they can be fed in externally. NC postprocessors in general have the structure as presented in Fig. 2 and have five major functional modules each of which consists of many procedures to guarantee independence and easy expansion or maintenance. Fig. 2 is an example of the basic structure of a generalized NC postprocessor with Control, Motion, Output, Input, Auxiliary and Configuration modules. Each module reads in records of the cutter location data one after another and branch the record to relevant module depending on its major and minor code values.

CAD/CAM system APT CL-File

Input Module

Configuration Module

Control Module

Auxiliary Module Motion Module

Output Module

Data file

Multi POST

CNC 3-milling

CNC 4,5-milling

Wire EDM

NC Cutter (Laser, Gas)

Fig. 2

MultiPOST structure

3.2. NC Postprocessor Language The input language of an NC postprocessor is a group of words composing the cutter location data file and those words belong to the APT Major word table which can be obtained through a CAM system or be used for editing the cutter location file according to the need of the NC programmer. The language should be designed such that it simply and clearly expresses the motion of the NC machine or its controller. In this study, in

WEB-BASED NC POSTPROCESSOR BUILDER

95

order to process the ISO 4343 standard postprocessor vocabulary and sentences defined by Pro/Manufacturing, we extended 50 APT vocabulary and 20 auxiliary function vocabulary and examined on the function of a generalized NC postprocessor.[3] The syntax of 'MACHINE' sentence and 'CUTCOM' sentence out of executable sentences is given below. We designed 'PPRINT' sentence to output the manufacturing information of parts as a cutter location data file from the Pro/Engineer's CAM module. The flag value for 'PPRINT' sentence is defined either "yes" or "no.

MACHINE/name,1,m,[,{INCR,ABS,XYZ}[,LINCIR,LINEAR][,YZROT,ZXROT][,UNIT,{MM,INCH}][,OPTION, n] CUTCOM/ {LEFT,RIGHT,OFF[,{XYPLAN,YZPLAN,ZXPLAN}[,ADJUST,i][,NEXT][,t] LOADTL/n, Length,1[,ADJUST,i],SETOOL[,NEXT, m]

3.3 NC Postprocessor Module 3.3.1 Motion Module Directly related to the operation of an NC machine, the Motion module deals largely with the coordinate transformation of the part model and the dynamical aspects of the cutting tool. An NC program yielded by a CAM system sets, for parts processing, an arbitrary point within the work-piece as the standard point, and calculates the movement path of the cutting tool starting from the standard point. But for the practical processing of a work-piece on an NC machine, the starting point of the NC machine and the standard point set by the NC program should coincide to guarantee an accurate processing. A 3-dimensional coordinate transformation is necessary for this work and the Motion module performs the transformation through which it transforms the traces of the line compensation and the arc compensation of the cutting tool into the coordinate system of the NC machine. As the next step, a dynamical processing is also necessary for highly accurate processing by controlling the slip of the cutting tool during the work-piece processing. If only a punching is involved, the processing can easily be finished because the rotation rate of the tool is controlled by the NC controller; however, when a contour cutting of the work-piece is involved, many complicated procedures are called for such as calculating the safe speed of processing to prevent an over-cut on non-sequential surface and changing speed at the beginning and final stages of the tool movement. The Motion module performs these kinds of functions.[2]

96

Gab-Sang Ryu

3.3.2 Auxiliary Module This module deals with non-motion or environment instructions which have no direct influences on the operation of an NC machine. This module performs such procedures as directing ISO or EIAcode output of the NC tape, turning coolant on or off, setting the rotation rate of the spindle, instructing the tools involved in tool-change, and processing the data compensation in case there are changes in the length or radius of the tool so that the over-cut or under-cut which is possible when tools are exchanged may be compensated for. Typical postprocessor languages processed in this module are COOLNT', 'SPINDLE', and 'LOADTL'.

3.3.3 Control Module This module deals with the execution and management of modules constituting the postprocessor. Important functions that this module performs are initializing the NC postprocessor and then branching each record of the cutter location data to relevant modules depending on their types. The Control module repeats this procedure one record after another until the final record is processed at which time the processing is terminated and the NC postprocessor stops its operation.

3.3.4 Output Module This module collects all kinds of information processed in the Motion and Auxiliary modules and outputs the information in the code required by the NC machine controller. It also outputs the list of information punched on the NC tape, the estimated time for parts processing, the length of NC tape, comments and emergency measures reported by other modules, all in the job operation paper to assist the NC worker. Recently, the NC tapes are not and, instead, the NC file is directly transferred to the NC controller by DNC through RS232C communication port, in which case the Output module is in charge of transferring the relevant information by a DNC program

3.4 Configuration File Generator The generalized NC postprocessor is designed not as a postprocessor for a specific CNC machine but as a postprocessor that can operate many

WEB-BASED NC POSTPROCESSOR BUILDER

97

random CNC machines. Though there are many CNC machine manufacturers, controllers for those CNC machines are mostly imitations of the controllers in Japanese FANUC line. In this study, the hardware parameters with direct influences on the NC processing were carefully selected from the hardware specification data of CNC machines and the parameters necessary for G- and M-code functions were also carefully selected from the NC controller programming manuals, and these parameters were set as global variables of the NC postprocessor. Global variables, as presented in Table 1, takes in the relevant values of a specific CNC machine or a controller through the input device and stores them in database. Thus stored values of global variables are used as the configuration file exclusively for the NC postprocessor for that specific CNC machine, and this configuration file is again used to initialize the global variables of the postprocessor by the Control module of the NC postprocessor, and through this they can operate the CNC machines commercialized in Korea. This module enables the user to create a specialized postprocessor files to generate output that meets the requirements of each machine-tool/machine-control combination. A postprocessor is generated by supplying the machine configuration, control codes, date format, and other machine control parameters through a dynamic menu interface with context sensitive help. When postprocessing is initiated, the MultiPOST reads the parameters and sets the output variables to the correct values for the machine tool.

Table 1. Global parameter table


Parameter_id
Mach_id Prep_code Rapid_motion Cycle_code Cut_feed Free_feed Toler_num Mcut_speed

Parameter_id
Tool_id Aux_code Dwell_par Tool_change Cut_unit Plunge_feed Cirl_intpol Num_arc_p

Parameter_id
MCD_format Cir_code Spindle_code Fixture_offset Retract_feed Cl_data_mode Marp_tran Coolant_opt

3.5 Example of Execution The system developed in this study is designed to process all work in a GUI environment. To build an NC postprocessor for a specific NC machine, the user may execute the machine selection dialog box given in Figure 4. A list of NC postprocessors already built will show up and the user may

98

Gab-Sang Ryu

choose the machine he wants, but if the user cannot find one in the list, the system will build a new postprocessor. Fig. 3 shows an example of building an NC postprocessor of new specification. The new NCpostprocessor is built by inputting and storing in database the values of relevant global variables in Table 1. Fig. 4 shows the postprocessor generation windows for NC cutting machine such as Laser, Waterjet, and Gas machine.

Fig. 3 Postprocessor parameter window

Fig. 4 CNC postprocesor window

4. Conclusion
This paper describes the development of an NC postprocessor developer by which the user can build by himself an NC postprocessor which is a must for the interface between a commercial CAD/CAM system and a CNC machine. MultiPOST was designed and examined by using FZ-25 CNC machining Center available in the Korean market, its FANUC 11MA controller and Pro/Engineer for the CAD/CAM system. The parameters influential on processing were selected from the specifications of the NC machining Center and its controller, and an input device was also designed so that the user can input relevant values of these parameters as required by the specification of a specific NC machine. The values of these parameters are then stored in database so that they can operate as the configuration file exclusively for the NC postprocessor for the intended NC machine and controller. MultiPOST was developed in Microsoft Visual C++ so that it may run on PC with Microsoft Windows 98 and it can process all work in a GUI environment which guarantees easy use. MultiPOST has various features as well, and it is expected to widen its applicability.

WEB-BASED NC POSTPROCESSOR BUILDER

99

References
[1] W.H.P.Leslir (1985), Numerical control user's handbook, McGrawwhil [2] Fujitsu (1992), FANUC Postprocessor part program manual [3] Parametric Technology Co. (1995), PRO/MANUFACTURING and Pro/NC-CHECK user's Guide [4] j.p.Kruth. (1996), "NC-Postprocessing and NC simulation for five-axis milling operations with automatic collision avoidance", Proceeding of International Manufacturing Engineering Conference, pp.56-58 [5] Mahbubur RM. (1997), "Positioning accuracy improvement in five-axis milling by postprocessing", International Journal of Machine Tools & Manufacture, V.37 N.2

(, Ryu Gab-Sang)
e-mail: gsryu@dsu.ac.kr 1983 () 1985 () 1998 () 1991 1985-1996 CAD/CAM 1997- 2000- () 1996- : , ,

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy