You are on page 1of 9

KSIAM IT series Vol.6, No.

2, 91-99, 2002

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

and it performs the following major functions to produce NC codes that a specific NC machine can interpret. g) Allow for type of interpolation-linear. circular. MultiPOST has an easy-to-use generator module that presents dynamic menus.… . Convert to machine tool coordinate system Convert to absolute of incremental from. which can be used regardless of the kinds of CNC machines adopted.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. This paper describes the development of MultiPOST. 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. or with rotary and/or tilt heads. auxiliary function. Considering the functional characteristics of NC codes. and wire EDM. 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. with indexing tables. 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. Develop feedrates and spindle speeds. Check machine-tool limitations. a) b) c) d) e) f) Read in data from CL data prepared by processor. motion function and output function) and the control function module controls the other 4 modules to yield the NC data output. Develop motion commands allowing for requirements of machine tool / controller. 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. 2. In Korea. An NC postprocessor takes in the cutter location data in APT syntax from a commercial CAM system. input function. context sensitive help and a powerful interface language designed to improve the user's productivity. an NC postprocessor developer. MulitiPOST supports mills and machining centers with up to 5-axes. A standard APT postprocessor has 5 major functional modules (control function.

[1] Figure 1 presents the BCD code structure of common cutter location data. and the degree and direction of processing.000. 2. Output printed listing as aid to programmer. 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. In each record.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. Fig. 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. the first word refers to the serial number of the record. 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. Produce diagnostics in the event of errors. the location data.WEB-BASED NC POSTPROCESSOR BUILDER 93 h) I) j) Output control tape to suit control system requirement. called "the cutter location data. or character strings depending on the record type. Based on these pieces of information. a manufacturing plan is prepared considering the standard coordinate of the NC program. 1 The BCD code structure . the second word refers to the classification code of the record. tools to be used." according to the movement of the tool are obtained from a CAM system. the third word refers to the auxiliary classification code of the record and the other words store different kinds of information such as integers.000 to 14. real numbers. 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.

2 and have five major functional modules each of which consists of many procedures to guarantee independence and easy expansion or maintenance. The language should be designed such that it simply and clearly expresses the motion of the NC machine or its controller. Global variables.5-milling Wire EDM NC Cutter (Laser. NC postprocessors in general have the structure as presented in Fig. which are directly related to the specifications of an CNC machine or an NC controller. Auxiliary and Configuration modules. 2 is an example of the basic structure of a generalized NC postprocessor with Control. 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. Motion. Input.1 MultiPOST Structure The basic structure adopted for this study was designed similarly to the standard APT NC postprocessor.2. MultiPOST Implementation 3. in . 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.94 Gab-Sang Ryu 3. Gas) Fig. 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. Fig. 2 MultiPOST structure 3. In this study. followed the style of IntelliPost and CamPost so that they can be fed in externally. Output.

{INCR.[2] . for parts processing.SETOOL[.1[.OFF[. 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. We designed 'PPRINT' sentence to output the manufacturing information of parts as a cutter location data file from the Pro/Engineer's CAM module.3 NC Postprocessor Module 3. MACHINE/name.ADJUST. The Motion module performs these kinds of functions.RIGHT. 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.1. the processing can easily be finished because the rotation rate of the tool is controlled by the NC controller.YZROT.{MM. But for the practical processing of a work-piece on an NC machine.XYZ}[. m] 3. The flag value for 'PPRINT' sentence is defined either "yes" or "no.WEB-BASED NC POSTPROCESSOR BUILDER 95 order to process the ISO 4343 standard postprocessor vocabulary and sentences defined by Pro/Manufacturing.LINEAR][. however. n] CUTCOM/ {LEFT.YZPLAN. when a contour cutting of the work-piece is involved. An NC program yielded by a CAM system sets.1 Motion Module Directly related to the operation of an NC machine.[.OPTION.ABS.UNIT.i][. If only a punching is involved.LINCIR. As the next step.i].[3] The syntax of 'MACHINE' sentence and 'CUTCOM' sentence out of executable sentences is given below. Length.ZXROT][. the Motion module deals largely with the coordinate transformation of the part model and the dynamical aspects of the cutting tool. a dynamical processing is also necessary for highly accurate processing by controlling the slip of the cutting tool during the work-piece processing.INCH}][.NEXT.ZXPLAN}[.{XYPLAN.t] LOADTL/n.3. an arbitrary point within the work-piece as the standard point.NEXT][.m. and calculates the movement path of the cutting tool starting from the standard point. we extended 50 APT vocabulary and 20 auxiliary function vocabulary and examined on the function of a generalized NC postprocessor. the starting point of the NC machine and the standard point set by the NC program should coincide to guarantee an accurate processing.ADJUST.

the length of NC tape. instructing the tools involved in tool-change.3. 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. turning coolant on or off. instead.3. Typical postprocessor languages processed in this module are COOLNT'. Recently. the NC tapes are not and. 'SPINDLE'. in which case the Output module is in charge of transferring the relevant information by a DNC program 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. It also outputs the list of information punched on the NC tape. 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.3 Control Module This module deals with the execution and management of modules constituting the postprocessor. the estimated time for parts processing.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 .96 Gab-Sang Ryu 3. and 'LOADTL'. 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. comments and emergency measures reported by other modules. 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. This module performs such procedures as directing ISO or EIAcode output of the NC tape. all in the job operation paper to assist the NC worker. 3. the NC file is directly transferred to the NC controller by DNC through RS232C communication port. setting the rotation rate of the spindle.

Thus stored values of global variables are used as the configuration file exclusively for the NC postprocessor for that specific CNC machine. controllers for those CNC machines are mostly imitations of the controllers in Japanese FANUC line.WEB-BASED NC POSTPROCESSOR BUILDER 97 random CNC machines. 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. When postprocessing is initiated. takes in the relevant values of a specific CNC machine or a controller through the input device and stores them in database. as presented in Table 1. A list of NC postprocessors already built will show up and the user may . Global variables. 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. and these parameters were set as global variables of the NC postprocessor. the MultiPOST reads the parameters and sets the output variables to the correct values for the machine tool. To build an NC postprocessor for a specific NC machine. In this study. date format. and other machine control parameters through a dynamic menu interface with context sensitive help. Table 1. 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. Though there are many CNC machine manufacturers. and this configuration file is again used to initialize the global variables of the postprocessor by the Control module of the NC postprocessor. control codes. A postprocessor is generated by supplying the machine configuration.and M-code functions were also carefully selected from the NC controller programming manuals.5 Example of Execution The system developed in this study is designed to process all work in a GUI environment. the user may execute the machine selection dialog box given in Figure 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. Fig. 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. MultiPOST has various features as well. 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. 4 shows the postprocessor generation windows for NC cutting machine such as Laser. but if the user cannot find one in the list. Waterjet. . MultiPOST was designed and examined by using FZ-25 CNC machining Center available in the Korean market. Fig. its FANUC 11MA controller and Pro/Engineer for the CAD/CAM system. The new NCpostprocessor is built by inputting and storing in database the values of relevant global variables in Table 1. 3 Postprocessor parameter window Fig. the system will build a new postprocessor. 4 CNC postprocesor window 4. 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. Fig. The parameters influential on processing were selected from the specifications of the NC machining Center and its controller. and it is expected to widen its applicability. and Gas machine.98 Gab-Sang Ryu choose the machine he wants. 3 shows an example of building an NC postprocessor of new specification.

"NC-Postprocessing and NC simulation for five-axis milling operations with automatic collision avoidance". Proceeding of International Manufacturing Engineering Conference. PRO/MANUFACTURING and Pro/NC-CHECK user's Guide [4] j. pp. Numerical control user's handbook.p. 공장자동화 .ac.56-58 [5] Mahbubur RM.H.37 N.Leslir (1985). McGrawwhil [2] Fujitsu (1992). Ryu Gab-Sang) e-mail: gsryu@dsu. FANUC Postprocessor part program manual [3] Parametric Technology Co.WEB-BASED NC POSTPROCESSOR BUILDER 99 References [1] W. "Positioning accuracy improvement in five-axis milling by postprocessing". (1995).Kruth. 전자상거래.kr 1983년 전남대 전산통계학과(이학사) 1985년 전남대 전산통계학과(이학석사) 1998년 고려대 컴퓨터학과(박사수료) 1991년 정보처리기술사 취득 1985년-1996년 한국기계연구원 CAD/CAM실장 1997년-현재 한국정보처리학회 편집위원 2000년-현재 (사)한국정보통신기술사회 이사 1996년-현재 동신대학교 교수 관심분야: 멀티미디어.P. V.2 류 갑 상(柳甲相. (1997). (1996). International Journal of Machine Tools & Manufacture.