METHOD OF PREPARING NC DATA

Abstract: The order of processing steps defined in the step of defining the processing is displayed in the form of a flow chart (FLC) on a display screen. Processing steps (e. g., 01/01, 02/01 and 03/01) of which the order should not be changed in the subsequent step of processing for automati­ cally determining the order of processing steps are ar­ ranged in series in the order of processings, and processing steps (e.g., 02/01, 02/02, 02/03, 02/04 and 02/05) of which the order may be changed are so corrected in regard to the order of processing steps that they are arranged in parallel. The NC data are prepared based upon the order of the processing steps thus corrected.

Description: This invention relates to an NC data creation method and, more particularly, to an NC data creation method through which a machining process sequence is decided and a workpiece machined in accordance with the machining process sequence in such a manner that the workpiece can be machined into a desired shape and, moreover, in such a manner that such machining can be performed very efficiently. In a machining center, a blank is machined into a desired shape via a plurality of machining processes. For example, predetermined face milling, pocket machining, contour machining and drilling processes are applied to each and every face of a blank to machine the blank into a desired shape. Conventionally, automatically creating the NC data for such machining processes entails the following: (a) defining the machining processes, machined shape, tools, machining conditions and the like for every machined face; (b) editing of each machining process (i.e. defining the sequence of the machining processes); and (c) creating NC data, using the data inputted at step (a), in accordance with the machining process sequence decided in the machining process editing operation. The machining process editing operation of step (b) is necessary for the following reason: In the machining definition step (a), great value is placed upon the ease at which definitions can be made. Therefore, if NC data were created for the purpose of performing machining merely in the order of the definitions, there would be cases in which the desired shape could not be obtained with the NC data or, even if the desired shape could be obtained, the machining would be performed inefficiently, resulting in a prolonged machining time. Accordingly, in the machining process editing operation of step (b), the machining process sequence is altered so as to minimize the number of tool changes without disturbing the sequence of those machining processes that must be performed in a certain order (i.e. those processes having machining sequence dependence). Fig. 11 is a view for describing "machining sequence dependence". In Fig. 11, pocket machining (P1 or P2) is performed after face milling (F), and this is followed by drilling processes (D1, D2), respectively. More specifically, pocket machining (P1) must be performed after face milling (F), and drilling (D1) must be carried out after pocket machining (P1). Further, pocket machining (P2) must be performed after face milling (F), and drilling (D2) must be carried out after pocket machining (P2). However, once face milling has been performed, it does not matter whether pocket machining P1 or P2 follows first. A case where a machining process must be completed before another machining process is carried out represents a machining process limitation, and such processes are referred to as having "machining sequence dependence". Accordingly, in the machining processing editing of step (b), machining processes that are dependent upon a machining sequence are specified, and it is necessary to decide a machining process sequence that will reduce the number of tool changes so that machining will be performed efficiently. Conventionally, however, difficulties are involved in specifying, through a simple manipulation, machining processes having machining sequence dependence, and in deciding an overall machining sequence through which machining can be performed efficiently while the machining sequence dependence is maintained. EP-A-0 146 628 by the present applicant discloses an automatic programming method having the features of the preamble of accompanying claim 1. In this method, a display screen displays a path trajectory so as to facilitate the insertion of miscellaneous data into path data. According to the present invention, there is provided a method of creating NC data for machining a blank into a desired shape through a plurality of inputted machine processes, wherein a machining process sequence is graphically displayed on a display screen, characterised by the steps of:- (a) displaying the machining process sequence in the form of a flowchart for indicating the sequence in which the processes are to be carried out, in which the processes are represented by respective symbols or blocks connected together; (b) manually revising the machining process sequence by performing revision operations on the flowchart, each revision operation involving designating at least one process to be moved and how it is to be moved using a cursor and input keys, wherein by designating a position between two series-connected processes, the designated process is moved into a series connection between those processes, and by designating at least one other process, the designated process is moved into a parallel connection with the other process, series connections being used to indicate machining sequence-dependent processes, and parallel connections being used to indicate machining sequence-independent processes; and (c) automatically creating an actual machining sequence based on the manually-revised machining process sequence, and creating NC data corresponding to the actual machining sequence. Thus, the NC data creation method includes a machining sequence revision step in which it is possible to specify, through a simple operation, machining processes having machining sequence dependence and machining processes not having machining sequence dependence. By the method of the invention, a machining process sequence is expressed by a flowchart, machining processes having machining sequence dependence are rearranged in series and machining processes not having machining sequence dependence are rearranged in parallel so that "machining sequence-dependent processes" and "machining sequence-independent processes" can be identified by the system. This allows the system to determine automatically the sequence of machining processes not having machining sequence dependence, so as to reduce the number of tool changes whilst maintaining machining sequence dependence, and to generate NC data for NC machining accordingly. In the flowchart, machining processes having a serial arrangement are taken as being machining sequence dependent, and machining processes having a parallel arrangement are taken as being machining sequence independent. Therefore, machining sequence-dependent processes are rearranged to lie in series with one another, and machining sequence-independent processes are rearranged to lie in parallel with one another, whereby it can be distinguished whether machining processes are sequence-dependent or not. Accordingly, a machining process sequence defined in a machining definition step is displayed in the form of a flowchart on a display screen in a machining process editing step, the machining process sequence is edited in such a manner that machining sequence-dependent processes are arranged in series and machining sequence-independent processes are arranged in parallel, and NC data are created on the basis of the edited machining process sequence. Brief Description of the Drawings Fig. 1 is a block diagram of an automatic programming apparatus for realizing the present invention; Fig. 2(A) is a flowchart of processing illustrating the NC data creation method of the invention; Fig. 2(B) is a flowchart of machining process sequence revision processing; Fig. 3 shows examples of conversational displays for inputting, in a conversational mode, data necessary for NC data creation; Fig. 4 shows an example of a machining process sequence revision display; Figs. 5 through 10 are views for describing an operation through which a machining process sequence is corrected; Fig. 11 is a view for describing machining sequence dependence; Fig. 12 is a flowchart illustrating the machining sequence of Fig. 11; and Fig. 13 is a view for describing machining sequence dependence in a flowchart. When a machining process sequence is expressed in the form of a flowchart, the machining sequence of Fig. 11 appears as shown in Fig. 12. Based on this flowchart, the system can recognize a serial arrangement as being machining sequence dependent and a parallel arrangement as being machining sequence independent. The system recognizes that serially connected machining processes M1, M2 shown in Fig. 13(A) are machining sequence dependent, so that the positions thereof cannot be interchanged. The system recognizes that parallel-connected machining processes M3, M4 shown in Fig. 13(B) are machining sequence independent, so that the positions thereof can be interchanged (i.e. so that the machining sequence can be changed). Accordingly, in the present invention, a machining process sequence defined in a machining definition step is displayed as a flowchart on a display screen, "machining sequence-dependent" processes are rearranged to lie in series and "machining sequence-independent" processes are arranged to lie in parallel. Thereafter, the system is made to put parallel portions in a sequence that will reduce the number of tool changes and to recognize the machining process sequence. The system is made to create NC data in accordance with the machining process sequence obtained. Fig. 1 is a block diagram of an automatic programming apparatus for practicing the present invention. Numeral 11 denotes a processor, 12 a ROM, 13 a RAM, 14 a data input unit such as a keyboard, 15 a graphic display unit, 16 a working memory, 17 an NC data output unit, 18 an NC tape, and 19 a floppy disc unit. The data input unit 14 is provided with an arrow key group 14a, an R key group 14b, a K key group 14c, and a group 14d of other keys. Fig. 2 is a flowchart illustrating an NC data creation method according to the invention, and Figs. 3 and 4 are conversational mode displays of various steps. (1) After power is introduced to the automatic programming apparatus, an NC data creation program stored on a floppy disc FLP is loaded into the RAM 13 under the control of a loading program stored in the ROM 12. As a result, an initial menu display shown in Fig. 3(A) appears on the CRT screen of the graphic display unit 15. (2) When an R₀ key on the data input unit 14 is pressed in a state where an initial menu is being displayed, "FAPT EXECUTE" is selected, whereupon a menu appears for selecting an executing sequence shown in Fig. 3(B). (3) Thereafter, when a 1 key and NL key on the data input unit are pressed to select "MACHINING DEFINITION", a display for defining a machining face appears on the CRT. Accordingly, the necessary data are inputted on the basis of the display to define the machining face, machining range, the material to be cut, etc. (4) When selection of the machining face, machining range and material to be cut ends, a machining type selection menu appears on the CRT screen, as shown in Fig. 3(C). Since face milling, pocket machining, contour machining and drilling appear as the types of machining, the prescribed machining types are selected by inputting Menu Nos. 0 through 4. (5) The data necessary for machining conforming to the types of machining selected are then inputted conversationally. (6) When the inputting of the data necessary for machining ends, a check is made to determine whether the data necessary for complete machining of the face specified in step (3) have been inputted. If the data have not been inputted, the operations from step (4) onward are repeated. As shown in Fig. 3(D), machining processes are sequentially displayed on the display screen in the order of the definitions. The machining process sequence MPF is the initial machining process sequence. (7) If all data for the machining face have been inputted, a check is made to determine whether the inputting of data for all faces has ended. If the inputting of these data has not ended, a new machining face is specified at step (3) and operations similar to the foregoing are repeated. This ends machining definition. When machining definition is concluded by ending the inputting of all data indicative of the machining faces, the processor 11 stores the machining process sequence MPF specified by the machining definition in the RAM 13 as an initial machining process sequence MPBF1. (8) At the end of machining definition, the R₀ key is pressed to display the execution sequence selection menu shown in Fig. 3(B) on the display screen, after which a 2 key and the NL key are pressed to select "MACHINING PROCESS EDIT". This is followed by executing machining process editing processing in a conversational manner. Processing for editing machining processes may be classified roughly as follows: (i) processing using a flowchart for inputting data related to machining sequence dependence (processing for rearranging a machining process sequence); (ii) processing for automatically deciding a machining sequence without disturbing machining sequence dependence; and (iii) processing for manually correcting a machining sequence. Processing for editing machining processes will now be described in accordance with the flowchart of Fig. 2(B). (a) When "MACHINING PROCESS EDIT" is selected after machining definition data are newly created in the machining definition step or after a revision is made in the machining definition step so as to change the constitution of a machining process, the program jumps to a step (d). Otherwise, the revision menu selection display shown in Fig. 3(E) is caused to appear on the display screen by selecting "MACHINING PROCESS EDIT". In the machining process table of Fig. 3(E), one process number is assigned in the order 01, 02, ... to every machining process group capable of being executed by one tool. (b) If Menu No. 1 is inputted to select "NEW" on the revision menu selection display, the machining process sequence to be processed by the processor is an initial state (the sequence which prevails at the time of machining definition) (MPBF1 → MPF). Note that MPBF1 signifies the machining process sequence in the initial state, and that MPF signifies a machining process sequence which is the present object of processing by the processor. (c) If Menu No. 2 is inputted to select "PROCESS FLOW EDIT" on the revision menu selection display, the machining process sequence MPF to be processed by the processor 11 becomes the preceding revised machining process sequence MPBF 2 (stored in the RAM 13) (MPBF 2 → MPF). If Menu No. 3 is inputted to select "PROCESS TABLE EDIT", then the program proceeds to a step (h), at which the process table can be edited manually. (d) In step (a), when "MACHINING PROCESS EDIT" is performed immediately after a program is newly created in the machining definition step, the machining process sequence MPF [see Fig. 3(D)] in accordance with the order of the machining process definitions is stored and preserved in the RAM 13 as the initial machining process sequence MPBF1 (MPF → MPBF1). (e) When the processing of any of steps (b) through (d) ends, the processor causes the machining process sequence revision display, in which the machining process sequence MPF is expressed as a flowchart, to be displayed on the CRT screen [see Fig. 3(F) and Fig. 4]. This makes it possible to rearrange machining processes. In the machining process sequence revision display, (i) a display region 15a is a title display region in which a message representing the title of the display appears, (ii) a display region 15b is a flowchart display region in which a flowchart FLC (Fig. 4) illustrating machining sequence dependence is displayed, (iii) a display region 15c is a detailed information display region for displaying detailed information (type of machining, name of shape, etc.) relating to a position (machining process) designated on the flowchart FLC by a pointer (graphic cursor) PT, (iv) a display region 15d is an operating method explanation region which displays a message describing an operating method, (v) a display region 15e is a system message display region which displays input prompting messages and error messages from the system, (vi) a display region 15f is a question input region, and (vii) a display region 15g is for displaying messages describing a method of using the R keys. A portion of a flowchart expressing a machining process sequence for all processes appears on the machining process revision display. The pointer PT (see Fig. 4) is used to designate a predetermined position displayed on the display screen. The pointer PT is moved freely in units of one character inside the flowchart display region 15b in directions designated by pressing arrow keys ↑, ↗, →, ↘, ↓, ↙, ←, ↖ on data input unit 14 (see Fig. 1). For example, the pointer PT can be moved one character upward by pressing the ↑ key, and can be moved one character to the right and one character upward by pressing the ↗ key. When the pointer PT is moved outside the flowchart display region 15b, the flowchart illustrating the machining process sequence is scrolled in units of one page, so that the pointer position is always displayed on the screen. If nn/mm (where nn is a machining face number and mm is a process number) indicating a machining process is present at a position designated by the pointer PT, then detailed data relating to the machining process are displayed in the detailed information display region 15c on the right side of the screen. If the display data cannot fit on one page, the page can be turned by pressing the "R₁" key, thus enabling the remaining data to be displayed. The flowchart revision operation, namely an operation for rearranging machining processes while specifying whether "machining sequence dependence" holds, is carried out in a manner set forth hereinbelow. The rearranging operation is carried out by moving the pointer PT and using the K keys (K₀ - K₃) 14c provided on the data input unit 14. A general rearrangement method entails moving the pointer PT to a target position and designating the contents of the operation by pressing the predetermined K key at said position. The general meanings of the K keys are as follows: (i) the K₀ key is for designating a starting position at which movement originates; (ii) the K₁ key is for designating an end position at which movement originates; (iii) the K₂ key is for designating a starting position of the destination of movement or a starting position of the object of rearrangement; and (iv) the K₃ key is for designating an end position of the destination of movement or an end position of the object of rearrangement, and is for executing the movement and rearrangement. 1) Serial movement of a process To revise the position of any one process (e.g. process A), which is included among serially connected processes shown in Fig. 5(A), as illustrated in Fig. 5(B), first the K₀ key is pressed (to specify the destination of movement) in a state where process A is designated by the pointer PT. Next, the pointer PT is moved to designate the position between processes B and C, in which state the K₃ key is pressed (to specify the destination of movement), whereupon the flowchart is immediately revised from that shown in Fig. 5(A) to that shown in Fig. 5(B). 2) Parallel movement of a process To revise the position of any one process (e.g. process A), which is included among serially connected processes shown in Fig. 6(A), as illustrated in Fig. 6(B) (i.e. to place process A in parallel with process C), first the K₀ key is pressed (to specify the destination of movement) in a state where process A is designated by the pointer PT. Next, the pointer PT is moved to designate the position between processes B and C, in which state the K₂ key is pressed (to specify the starting position of the destination of movement). Thereafter, the pointer is moved to designate the position below process C, in which state the K₃ key is pressed (to specify the end point of the destination of movement), whereupon the flowchart is immediately revised from that shown in Fig. 6(A) to that shown in Fig. 6(B). 3) Serial movement of a plurality of processes To revise the positions of any of a plurality of processes (e.g. processes A and B), included among serially connected processes shown in Fig. 7(A), as illustrated in Fig. 7(B), first the K₀ key is pressed (to specify starting point of the origin of movement) in a state where the position above process A is designated by the pointer PT. Next, the pointer PT is moved to designate the position between processes B and C, in which state the K₁ key is pressed (to specify the end point of the origin of movement), and then the pointer PT is moved to designate the position between processes C and D, in which state the K₃ key is pressed (to specify the destination of movement), whereupon the flowchart is immediately revised from that shown in Fig. 7(A) to that shown in Fig. 7(B). 4) Parallel movement of a plurality of processes To revise the positions of any of a plurality of processes (e.g. processes A and B), included among serially connected processes shown in Fig. 8(A), as illustrated in Fig. 8(B) (i.e. to place processes A and B in parallel with process D), first the K₀ key is pressed (to specify starting point of the origin of movement) in a state where the position above process A is designated by the pointer PT. Next, the pointer PT is moved to designate the position between processes B and C, in which state the K₁ key is pressed (to specify the end point of the origin of movement), and then the pointer PT is moved to designate the position between processes C and D, in which state the K₂ key is pressed (to specify the starting position of the destination of movement). Finally, the pointer is moved to designate the position below the process D, in which the K₃ key is pressed (to specify the end position of the destination of movement), whereupon the flowchart is immediately revised from that shown in Fig. 8(A) to that shown in Fig. 8(B). 5) Parallel → serial conversion To convert processes connected in parallel in the manner shown in Fig. 9 (A) (e.g. the parallel connection between processes B and C) into the serial connection shown in Fig. 9(B), first the K₂ key is pressed (to specify the starting position of the object of conversion) in a state where the position between processes A and B is designated by the pointer PT. Next, the pointer PT is moved to designate the position between the processes C and D, in which state the K₃ key is pressed (to specify the end position of the object of conversion and execute the conversion). When this is done, the flowchart is immediately revised from that shown in Fig. 9(A) to that shown in Fig. 9(B). 6) Serial → parallel conversion To convert processes connected in series in the manner shown in Fig. 10(A) (e.g. the series connection between processes B and C) into the parallel connection shown in Fig. 10(B), first the K₂ key is pressed (to specify the starting position of the object of conversion) in a state where the position between processes A and B is designated by the pointer PT. Next, the pointer PT is moved to designate the position between the processes C and D, in which state the K₃ key is pressed (to specify the end position of the object of conversion and execute the conversion). When this is done, the flowchart is immediately revised from that shown in Fig. 10(A) to that shown in Fig. 10(B). (f) When processing for specifying whether processing is machining sequence dependent is concluded by the foregoing flowchart rearrangement operation, the R₀ key is pressed. In response, the processor 11 performs the operation MPF → MPFB2 and stores the latest revised machining process sequence obtained in step (e) in RAM 13. (g) Thereafter, the processor 11 decides a machining sequence which will not upset the machining sequence dependence specified in step (e), and in such a manner that machining efficiency will be raised (e.g. in such a manner that the number of tool changes will be reduced). Specifically, the processor automatically decides the sequence of all machining processes by adopting the machining sequences of serially connected portions as serial sequences and deciding the sequence solely of parallel-connection portions, namely of the machining processes constituting each parallel portion. (h) When automatic decision processing ends, the processor causes a process table editing display shown in Fig. 3(G) to appear on the CRT screen. In the process table editing display, processes are displayed in the automatically decided order and the process sequence continuing on to the previous page or next page can be displayed by pressing the K₀ or K₁ key. With the process table editing display on the CRT screen, the sequence of the machining processes can be revised by inputting, from the data input unit 14, the beginning and end of the range over which movement is desired, as well as the destination of movement. The reason for providing a step through which processes can thus be revised manually after the automatic decision operation is that there are cases where the operator wishes to modify an automatically decided machining process sequence promptly during actual machining. (i) If the R₀ key is pressed at the conclusion of processing for the manual editing of the process table, the processor clears the process file MPF from the RAM 13 and ends the machining process editing processing. (9) When the machining process editing processing ends, the processor 11 uses the machining definition data to create NC data in such a manner that machining will be carried out in the machining process sequence that has been decided. The processor then ends the NC data creation processing.

Claims: A method of creating NC data for machining a blank into a desired shape through a plurality of inputted machine processes, wherein a machining process sequence is graphically displayed on a display screen (15), characterised by the steps of:- (a) displaying the machining process sequence in the form of a flowchart (FLC) for indicating the sequence in which the processes are to be carried out, in which the processes are represented by respective symbols or blocks connected together; (b) manually revising the machining process sequence by performing revision operations on the flowchart, each revision operation involving designating at least one process to be moved and how it is to be moved using a cursor (PT) and input keys (14), wherein by designating a position between two series-connected processes, the designated process is moved into a series connection between those processes, and by designating at least one other process, the designated process is moved into a parallel connection with the other process, series connections being used to indicate machining sequence-dependent processes, and parallel connections being used to indicate machining sequence-independent processes; and (c) automatically creating an actual machining sequence based on the manually-revised machining process sequence, and creating NC data corresponding to the actual machining sequence. A method of creating NC data according to claim 1, wherein each process in the flowchart (FLC) is specified by a machining face number and a process number. A method of creating NC data according to claim 1 or 2, wherein in step (c), the actual machine sequence is created so as to cause the machining of each process in the flowchart (FLC) to be carried out in serial order. A method of creating NC data according to claim 3, wherein in step (c), the order in which parallel-connected processes are to be carried out is decided on the basis of a predetermined reference. A method of creating NC data according to claim 3, wherein in step (c), the order in which parallel-connected processes are to be carried out is so decided as to reduce a number of tool changes. A method of creating NC data according to any preceding claim, wherein detailed contents of a process designated by the graphic cursor (PT) are displayed on the display screen(15). A method of creating NC data according to any preceding claim, wherein the input keys (14) include a key (K₀) for designating the process at the position of the cursor (PT) as the process to be moved, and a key (K₃) for designating the position of the cursor as the position to which the process is to be moved. A method of creating NC data according to any preceding claim, wherein the input keys (14) include a pair of keys (K₂, K₃) for designating a pair of positions of the cursor (PT) which define said at least one other process with which the designated process is to make a parallel connection. A method of creating NC data according to any preceding claim, wherein the input keys (14) include a pair of keys (K₀, K₁) for designating a pair of positions of the cursor (PT) which define a plurality of processes to be moved. A method of creating NC data according to any preceding claim, wherein the input keys (14) include a pair of keys (K₂, K₃) for designating a pair of positions of the cursor (PT) which define a plurality of processes to be rearranged from a series connection to a parallel connection or vice-versa.

Inventors: ONISHI, YASUSHI, TANAKA, KUNIO
Applicants: FANUC LTD.
Application year: 1986
Main classification: G05B19
IPC codes: G05B19