NUMERICAL CONTROL DEVICE

Abstract: Numerical control device which performs numerical control in accordance with machining program data. This device includes a microprocessor (101) producing a machin­ ing program, a microprocessor (201) controlling mechanical machining, two input/output interface circuits (106), (210) provided on the machining program production side (TPC) and the mechanical machining control side (NCC) respective­ ly, a signal transmission line (L) connecting the two interface circuits, and memories (103), (203) provided on the machin­ ing program production side and the mechanical machining control side respectively, storing at least one machining program which can perform the mechanical machining control according to another machining program different from this machining program in parallel.

Description: DESCRIPTION NUMERICAL CONTROL DEVICE Technical Field This invention relates to a numerical control device for executing numerical control processing on the basis of machining program data. More particularly, the invention relates to a numerical control device having a microprocessor exclusively for the creation of a machining program, and a microprocessor exclusively for controlling a machine tool, and which is so adapted as to permit the creation of a machining program and the concurrent control of the machine tool based on a machining program separate from the created machining program. Background Art NC devices include so-called manual NC devices which are simple in construction and make no use whatsoever of a tape reader. In a manual NC device, positioning or cutting data is preset on a number of dials mounted on the panel of the NC device which, subsequently, reads the positioning or cutting data from the dials in successive fashion to execute numerical control processing. Alternatively, numerical data may be entered successively from an MDI (manual data input device) and stored in memory, after which the NC device reads out the numerical data successively to perform numerical control processing. Thus, a manual. NC device is characterized in that direct programming is performed at the job site while the programmer observes his machining drawing, the program data is entered by means of the dials or MDI, and the machine tool is made to perform an actual machining operation based on this data. In such conventional manual NC devices, however, programming is extremely difficult, machining efficiency is poor because of the considerable time required for programming, and input errors are common. Manual NC devices have been proposed which enable easy programming from machining drawings and in a shorter period of time, and with fewer errors. Nevertheless, these proposed manual NC devices are not necessarily sufficiently effective in shortening the time required for programming, even though the time required is less than in the prior art. In addition, control of machining performed by a machine tool cannot be carried out while programming is in progress. A serious disadvantage even with these proposed manual NC devices, therefore, is that machining efficiency is poor. Accordingly, an object of the present invention is to provide a manual NC device which enables a machine tool to be controlled even while programming is in progress. Disclosure of the Invention The present invention provides, within a manual NC device, separate hardware (e.g., a microprocessor) exclusively for creating a machining program, and hardware (e.g., a microprocessor) exclusively for controlling machining, which items of hardware are operable independently of each other. When necessary, the created machining program may be transferred from a storage area on the program creating side to a storage area on the machine tool control side. With such an arrangement, creation of the machining program and prescribed machining control may be performed simultaneously. According to the present invention as described, the creation of a program and the control of machining based on a separate, already created program can be executed in parallel. In addition, during the control of machining, it is possible to create the machining program that will be required next. It is therefore unnecessary to wait for the creation of the program, enabling machining efficiency to be vastly improved. Brief Description of the Drawings Fig. 1 is a block diagram embodying the present invention; Fig. 2 is a view showing the front of a manual NC device according to the present invention; Fig. 3 is a block diagram illustrating a graphic display device; Figs. 4 and 5 are views of various contour patterns; Fig. 6 is a flowchart of display data editing processing; Fig. 7 is a view showing a contour pattern displayed on a CRT; Fig. 8 is an explanatory view for describing the content of a memory; Fig. 9 is a view showing a final contour displayed on the CRT; and Figs. 10 and 11 are explanatory views useful in describing processing for creation of a machining program. Best Mode for Carrying Out the Invention Fig. 1 is a block diagram of a manual NC device according to the present invention, and Fig. 2 is a front view of the manual NC device. In the Figures, TPC represents a machining program creation side, NCC a machining control side, and MAC a machine tool. The machining program creation side includes a microprocessor 101 which executes processing for, e.g., the creation of the machining program, a read-only memory (ROM) 102 which stores a control program for creating an NC tape and for editing display data, a rewritable memory (RAM) 103 for storing the created machining program, a keyboard (or MDI) 104 for entering data, a graphic display unit 105 for displaying a contour pattern based on the data entered by the keyboard, or for displaying a tool path based on the created machining program, and an input/output interface 106 for administering the exchange of data with the machining control side NCC. The keyboard 104 is provided with a variety of keys. For example, these include pattern input keys for entering desired contour patterns (patterns whose shapes have been defined but whose dimensions have not), step number keys for entering the number of steps possessed by a step-like contour pattern, alpha-numeric keys for entering dimen sions or present position and pattern modification information, a transmit key for transmitting the input data to the microprocessor (referred to simply as a processor) 101, and a test key for displaying the machining path of a tool on the display unit 105, based on the created machining program. The keybord 104 additionally incorporates a buffer register for storing the data entered by the keying operation, the data being delivered to the processor 101 by depressing the transmit key. As shown in Fig. 3, the graphic display unit 105 includes a display control circuit DCC, a cathode ray tube CRT, a refresh memory RFM for storing display data sent by the processor 101, and a pattern generating circuit for generating graphics and characters on the basis of the display data read out of the refresh memory RFM continuously via the display control circuit DCC. The machining control side NCC includes a microprocessor (referred to as a processor) 201 for controlling machining on the basis of the machining program and control program, a read-only memory (ROM) 202 for storing the control program, a rewritable memory (RAM) 203 for storing the machining program delivered by the machining program creation side TPC, a manual data input (MDI) unit 204 for entering one block of numerical control data and for entering program correction data, a display unit 205, a pulse distributor 206 for executing well-known pulse distribution computations upon receiving position commands Xc, Zc and a feed rate F applied thereto as input signals, Xand Z-axis servo control circuits 207X, 207Z for driving and controlling motors Mx, Mz, a power sequence circuit 208 which, when M, S and T function instructions are read from the machining program, is adapted to send these as commands to the machine MAC, and which delivers, e.g., relay contact signals and limit signals from the machine MAC to the processor 201, a machine operating panel 209, and an input/output interface 210. It should be noted that the machining control side NCC has substantially the same construction as that of an ordinary computerized NC device. The operation of the present invention will be described next. (A) Described first will be processing for creating a machining program, in which we will assume that the program is for a turning operation performed by a lathe. First, assuming that the contour patterns which can be entered by the keyboard 104 are as shown by (a) through (d) in Fig. 4, four input pattern keys will be arrayed on the keyboard 104, each key corresponding to one of these patterns. It should be noted that an arrangement can be adopted wherein patterns are selected by operating numeric keys. In entering the numerical data for the machining contour illustrated in Fig. 5, therefore, the first step is to depress the pattern input key corresponding to the contour pattern, then enter the step number "3" and depress the transmit key. This feeds the contour pattern information and step number information into the procesor 101. Upon receiving this the input contour pattern and step number information, the processor 101 executes processing for the purpose of editing display data, in accordance with the flowchart shown in Fig. 6. Specifically, letting P1, P2... designate the corners (points) on the contour pattern shown in Fig. 5, the coordinate values for each point Pi (i=l,2...) are defined, display data is edited on the basis of these coordinate values, and the edited display data is delivered to the graphic display unit 105. The following is a description of this editing processing. First, the starting point (point P1) is taken as the origin, the length of the line between two points on the X axis is taken as K, and the length of a line between two points on the Z axis is taken as K'. Thus, let Xl=Zl=0, let plp2=p3p4=p5pO=K, and let P2P3=P4P5= P6P7=K'. Next, the coordinates (Xi, Zi) of points Pi (i=1,2...) are found. For point P2, by way of example, the following operations are performed: EMI7.1 to obtain (X2, Z2). Thereafter a decision is made as to whether i is equal to (2S+1) (where S is the number of steps, with S=3 in the example of Fig. 5). If they are unequal, then the operation i+l > i is performed, and the coordinates (X3, Z3) of point P3 are found by performing the operations: EMI8.1 These arithmetic operations are repeated in like fashion until i = 2S+1 (=7) is established. When i=7 holds, the coordinates (X8, Z8) of point P8 are found from: EMI8.2 The foregoing completes the processing for defining the coordinate values of each of the points Pi. It should be noted that K, K' are predetermined. Next, the processor 101 utilizes these coordinate values to edit the display data. The display data is composed of the following, which serves as an example: "Point (0,0) (blank)"...data for positioning beam at origin "Vector (K,0) (solid line)"...display data for line segment 11 "Vector (0,K') (solid line)"...display data for line segment 12 "Vector (K,0) (solid line)"...display data for line segment 13 "Vector (0,3K') (solid line)"...display data for line segment 18 After this editing operation, the display data is sent to the graphic display unti 105. In other words, the display data is stored in the refresh memory RFM via the display control unit DCC (Fig. 3). The display control unit DCC then continuously and repeatedly reads the display data out of the refresh memory RFM and feeds it into the pattern generator PGC. The latter generates a pattern based on the display data and causes it to be displayed on the cathode-ray tube CRT. Fig. 7 shows the contour pattern displayed on the CRT owing to the foregoing processing. When the desired contour pattern appears on the CRT, the operator then enters the actual positional coordinates of each of the points Pi or the actual dimensions of the contour while he observes both the displayed graphic and his machining drawings. It should be noted that each corner of the contour pattern displayed on the CRT is accompanied by a number (or, say, a letter of the alphabet) 1, 2,..., 7, 8 for specifying the corresponding corner. When the above processing for editing the display data is completed, the provisional coordinate values are planted in the memory 108, in the manner shown in Fig. 8(a). If the alpha-numeric keys on the keyboard 104 are operated under these conditions to enter the following: 1 x1, z1 then the coordinates of each corner will be recomputed, and the content of memory 103 will be converted to the form shown in Fig. 8(b). Thenceforth, if the operator likewise enters the positional coordinates of the prescribed corners, then the coordinates of all the corners may be found, and the content of the data memory will have the form shown in Fig. 8(c). For example, if the operator actually enters the coordinates: 1 0., 50. 3 40., 40. 4 80., 30. 6 100., 20. for the four positions occupied by the corners 1, 3, 4 and 6, the final contour will be defined as shown in Fig. 9. It is noteworthy that the final contour can be defined even without necessarily entering the positional coordinates of corners 2, 5. In other words, minimal numerical data, such as positional coordinates and dimensions, need be entered to define graphics, and the input sequence can be a random one. The microprocessor 101 edits the display data in the above manner each time one item of numerical data is entered, and causes the display data to be delivered to the graphic display unit 105 for display on the CRT. Thus the graphic which appears on the CRT of the graphic display unit 105 successively changes in shape on the basis of each item of numerical data that is entered. The displayed graphic is the optimum one in the sense that the contour does not extend beyond the edges of the CRT display, without at the same time appearing too small. Since the graphic displayed on the basis of the numerical data changes immediately after each item of numerical data is entered, the operator can determine visually whether each data item is correct. Further, the displayed graphic is gradually modified into the final contour, enabling the operator to visually confirm the transition to the final contour. This enables the creation of sophisticated numerical control information with little possibility of error. Thus, the numerical data such as the positional coordinates or dimensions specifying the final contour is entered through the foregoing operation. This is followed by entering, e.g., the starting and end points of the tool, the distance bu for the finishing allowance along the direction of the X axis, the distance ssw for the finishing allowance along the direction of the Z-axis, feed speed (F00), spindle rotational frequency (S00), and cut width Ad. The entry of these items of data completes the input operation of all numerical control data for turning work performed by the lathe. When entry of all numerical control data is completed, the processor 101, under the control of the control program for creating a machining program, utilizes these items of numerical control data to create the machining program. For example, the processor 101 will create the following machining program when the final contour is as shown in Fig. 10, where do=4.0, dew=2.0, and hd=7.0, and where feed speed and spindle rotational frequency for an outer diameter rough cutting cycle are F30, S55, and feed speed and spindle rotational frequency for a finishing cycle are F15, S58: NO10 G50X200.0 Z220.0; starting point coordinate setting NOll G00X160.0 Z1800.0; N012 G71 P013 Q019 U4.0 W2.0 D7.000 F30 555; N013 G00X80.0 F15 558; N014 G0lW-40.0; N015 X120.0 W-30.0; N016 W-20.0; N017 X2000.0 W-10.0; N018 W-20.0; NO19 X280.0 W-20.0; N020 G7.0 P013 Q019 It should be noted that the above program is constituted by diameter specifications. In the machining program, Ni (i=010 to 020) denotes the sequence number, G50 denotes a G-function instruction for setting the coordinate system, GOO, GOl, G71 and G70 denote M-function instructions for positioning, linear interpolation, outer diameter rough cutting cycle and finishing cycle, respectively, X and Z designate absolute commands, and U, W incremental commands. Further, block NO10 signifies the coordinate values of the tool starting point, and block NOll the coordinate values of the end point thereof. Block N012 indicates an instruction for rough cutting, at a cutting width 7.0, the contour specified by the blocks at sequence numbers N013 to N019. Blocks N013 to N019 indicate the final machining shape, and block NO 20 an instruction for the finishing machining of the shaped specified by blocks N013 to NOl9. When the above-described machining program has been created in accordance with the foregoing sequence, a program number is attached to the machining program and the program is stored in memory 103 to end the processing for creation of the machining program. When the test key on the keyboard is depressed, the machining program data will be read successively, causing the tool path, shown in Fig. 11, to be displayed on the CRT of the graphic display unit 105. [B] Processing for transfer of machining program When the machining program has been created according to the sequence described in [A], the processor 101 begins the processing for the transfer of the machining program in response to a transfer request, or by sensing that the machining control side NCC is not in the process of controlling machining. Specifically, the machining program data is fed successively into the buffer register, not shown, of the input/output interface 106. As a result, an input/output control unit (not shown), located within the input/output interface 106, transfers the machining program data, in the form of a bit serial or in parallel, to a buffer register (not shown) in the input/output interface 210 through a transmission line L. The processor 201 on the machining control side NCC, meanwhile, reads the transferred machining program data and loads it in memory 203. Thenceforth the processors 101, 201 continue to store the machining program data successively in the memory 203, through the memory 103, input/output interface 106, transmission line L and input/output interface 210, just as described above, until the machining program is stored in its entirety in the memory 203, thereby ending processing for data transfer to the memory 203. [C1 Processing for machining control When the machining program has been stored in memory 203, the machining control side NCC is placed in a mode which enables ordinary numerical control processing (machining control) to be performed. When a cycle start button on the operation panel 209 is depressed, the processor 201 reads the machining program data successively from the memory 203 and, under the control of the control program, executes the outer diameter rough cutting and finishing cycles. [D] Processing for concurrent machining program creation and machining control In the present invention, as will be apparent from the arrangement shown in Fig. 1, there are provided separate items of hardware, namely the hardware (the machining program creation side TPC) exclusively for creating the machining program and the hardware (machining control side NCC) exclusively for controlling machining, which items of hardware are capable of executing predetermined processing independently of each other. Therefore, whenever necessary, a created machining program may be transferred from the memory on the machining program creation side TPC to the memory on the machining control side NCC, machining control may be performed based on said machining program and, in concurrence therewith, processing for creating a machining program may be executed on the machining program creation side TPC. It should be noted that the present invention is not limited to the embodiment thereof but can be modified in various ways within the scope of the claims. For example, the keyboard 104 and MDI 204 can be shared. Also, an arrangement can be adopted wherein two or more machining programs are stored in the memories 103, 203. When such is the case, it will be necessary to attach a program identification code to each machining program and either produce signals indicative of the identification code and of a transfer request or apply the identification code as an input for selecting the desired machining program, and then perform machining based on the machining program. Industrial Applicability According to the present invention as described hereinabove, the creation of a program and the control of machining based on a separate, already created program can be executed in parallel. In addition, during the control of machining, it is possible to create the machining program that will be required next. It is therefore unnecessary to wait for the creation of the desired machining program, enabling machining efficiency to be vastly improved. The present invention therefore is suitable for application in the field of numerical control.

Claims: CLAIMS: 1. A numerical control device for executing numerical control processing based on machining program data, characterized in that there are provided a microprocessor exclusively for creating a machining program and a microprocessor exclusively for controlling machining, and in that creation of a machining program and control of machining based on a machining program separate from said first-mentioned machining program are capable of being performed concurrently. 2. A numerical control device according to claim 1, characterized in that an input/output interface circuit is provided on a machining program creation side and on a machining control side, both interface circuits being interconnected by a signal transmission line. 3. A numerical control device according to claim 1 or claim 2, characterized in that a machining program creation side and a machining control side are each provided with a memory capable of storing one or more machining programs.

Inventors: FUKUYAMA, HIROOMI
Applicants: FANUC LTD
Application year: 1982
Main classification: G05B19
IPC codes: G05B19