NUMERICAL CONTROL DEVICE

Abstract: A number of identical function codes are selected from the same block of an NC program so that the identical function commands may be simultaneously executed on a machine tool (3). The device includes storage appts. (101b) for storing at the same time a number of auxiliary function codes of a fetched program, the codes being commands of particular tasks to the machine tools. The numbers of the auxiliary function codes stored are identified before executing the function commands. All of the auxiliary codes are updated (101d) in response to the sequence operation of the machine tool corresponding to the auxiliary function codes.

Description: This invention relates to a numerical control apparatus for controlling the movable element of an NC machine tool. With a machine tool system ordinarily referred to as a "soft-wired" NC (numerical control apparatus), a controller equipped with a microprocessor has auxiliary control functions (PMC functions) for machining which includes control for tool exchange, spindle rotational speed and workpiece exchange. Such a system is disclosed in EP-A-0137852. However, even if the machine tool side has a plurality of auxiliary functions such as a function for forward rotation of a spindle and a function for controlling the supply of a machining fluid, the NC program read in from the controller cannot output codes specifying a plurality of auxiliary functions simultaneously. The reason for this is that an NC program expresses various operations of the machine tool in a specific format, the program data is successively decoded by the controller and only one M-function code designating an auxiliary function can be set from one simultaneously executable data block. Accordingly, the arrangement is such that when it is desired to control the supply of machining fluid while rotating the spindle in the forward direction, by way of example, "M03", which is a function code for forward spindle rotation, and "M08", which is a function code for controlling the supply of machining fluid, are programmed in separate blocks, the spindle is controlled by designating M03 and, when the next block is executed, the supply of the machining fluid is controlled while the state of the spindle is maintained. In general, however, when the operations of auxiliary functions are controlled by a sequence program, a sequence completion signal regarding each auxiliary function is transmitted to the NC side and only then is the next block executed. Consequently, with the conventional method of designating auxiliary functions desired to be executed simultaneously by division into two blocks, there is an increase in the exchange of completion signals between the controller and the machine tool in order to verify whether a commanded operation has actually commenced. This is an impedement when it is attempted to shorten the time needed to machine a workpiece by a machine tool controlled by an NC program. Accordingly, an arrangement is sometimes adopted in which a new M-function code for executing a plurality of auxiliary functions simultaneously is set and this code is read in from the NC command program block. In order to set a new code, however, a sequence program for the corresponding sequence control must be prepared and, hence, the sequence program increases in length. Moreover, since there is no change in the number of executed auxiliary functions by virtue of this expedient, a problem is that storage area is substantially wasted. According to the present invention there is provided a numerical control system for sequentially controlling an NC machine tool in accordance with a stored-program method, including a numerical control apparatus comprising a memory means for storing machine tool commands from a program which has been read into the numerical control apparatus, and a programmable machine controller provided separately of the numerical control apparatus and comprising a data memory for storing the on/off states of the relays of the magnetics circuit of the NC machine tool, characterised in that the memory means stores simultaneously a plurality of auxiliary function codes corresponding to specific auxiliary functions commanded for the NC machine tool by the read-in program, and auxiliary function (M-code) registers are provided in the numerical control apparatus which output codes corresponding to the specific auxiliary functions, together with M-code read-in registers, there being corresponding function instructions provided in the programmable machine controller to be executed upon identifying a number of each of the auxiliary function codes stored in the memory means, for identifying the auxiliary function (M-code) registers and setting the results of the corresponding processing in the data memory, the auxiliary function codes in the memory means all being updated in response to completion of a sequence operation. Updating means update all of the auxiliary function codes of said memory means in response to completion of a sequence operation. Such sequence operation corresponds to each of the auxiliary function codes, in the machine tool, and a plurality of sequence programs for simultaneously commanding specific operations of the machine tool are run based on a plurality of function codes of the same type set in an NC program, the memory means storing the auxiliary function codes being updateable when a sequence operation is completed. An embodiment of the present invention can alleviate the problems of the prior art, and can provide a numerical control system in which a plurality of function codes of the same type are set from the same block of an NC program, and these function instructions of the same type are executable simultaneously on the machine tool side. Brief Description of the Drawings Fig. 1 is a block diagram of an embodiment for a case in which the numerical control apparatus (NC) of the present invention is used together with a programmable machine controller (PMC), Fig. 2 is a-view showing an example of a program of one block read in on the NC apparatus side, Figs. 3(a), (b) are views showing examples of processing of M-code read-in signals on the NC side, Figs. 4(a), (b), (c) are views illustrating the correlation between function instructions and memory on the side of a PMC 2, Fig. 5 is a flowchart illustrating an auxiliary function processing procedure, Fig. 6 is a view illustrating the correlation between a function instruction for auxiliary function completion and memory, and Fig. 7 is an explanatory view illustrating an example of the arrangement of a PMC memory. An embodiment of the present invention will now be described in detail with reference to the drawings. Fig. 1 is a block diagram of an embodiment for a case in which the numerical control apparatus (NC) of the present invention is used together with a programmable machine controller (PMC). In the figure, numeral 1 denotes an NC apparatus, 2 a programmable machine controller (hereinafter referred to as a PMC) provided separately of the NC apparatus, and 3 a machine tool. In the numerical control apparatus 1, numeral 101a denotes a paper tape in which machining commands are punched, 101a' a paper tape reader for reading the paper tape, and 101b a random-access memory (RAM) for storing the results of CPU processing, described below, as well as machine states and the machining commands punched in the machining tape, the RAM having a display area, described below. Numeral 101c denotes a read-only memory (ROM) which stores a basic control program for controlling the numerical control apparatus 1, 101d a processor (CPU) for executing processing conforming to each instruction of a machining command program or the basic command program, and 101e an input/output circuit (DI/DO circuit) for performing an exchange of control signals between the sequence controller 2 and the NC 1. Numeral 101f denotes a servo drive circuit which drives a servomotor for driving an element such as a table of the machine tool 3. This circuit includes a pulse distributing arithmetic circuit to which amounts of movement X0, Y0 along X and Y axes and a feed rate F are inputted, and which executes a well-known pulse distribution operation to output distributed pulses Xp, Yp. Numeral 101f′ denotes a spindle control circuit for driving a spindle motor of the machine tool 3, and 101g an address/data bus line. Numeral 101h denotes a manual data input unit (MDI) mounted on a control panel of the NC 1 and used to input one block of machining command data when adding or altering machining command data. Numeral 101i denotes a universal display unit for displaying, e.g., the present position of the tool or the like. It is permissible for the display unit and the MDI to be constructed as a single unit. Numeral 101j denotes a submemory constituted by a bubble memory and a C-MOS memory storing a control program, which is peculiar to the machine, for controlling turning machining, drilling and the like. The bus 101g interconnects the abovementioned components. In the PMC 2, numeral 202a denotes a random-access memory (RAM) storing a sequence program. The sequence program is obtained by logically programming the functions of a magnetics circuit in the form of instruction codes. Numeral 202b denotes a data memory for storing the on/off states of the relays of the magnetics circuit in the form of "1"s or "0"s, in which each relay corresponds to one bit. For example, when an automatic mode is commanded from the control panel, a relay a(AUT) is turned on in a magnetics circuit. In the PMC 2, however, a "1" is stored in the 0-th bit at the 10 address of the data memory 202b. Numeral 202c denotes a data input unit for administering input and output of data with the machine tool 3, 202d a ROM for storing a control program which controls the sequence controller main body 2, 202e a processor (CPU) for executing predetermined sequence processing in accordance with the control program and a sequence program, 202f an input/output circuit for performing an exchange of control signals with the NC unit 1, and 202g an address/data bus line. The operation of the numerical control apparatus of the present invention will now be described. In this example, assume that three types of auxiliary functions M3, M10 and M50 are to be implemented, as shown in Fig. 2. Also, assume that a program is set in which M3 is a first M command, M10 a second M command and M50 a third M command. First to third M-code registers are provided on the side of the NC 1, as shown in Fig. 3(a), which outputs codes corresponding to M3, M10 and M50. First to third M-code read-in registers are provided on the side of the NC 1, and MF1, MF2, MF3 are set as M-code read-in signals. As shown in Figs. 4(a) - (c), arithmetic instructions (function instructions) for identifying a plurality, e.g., three in this example, of auxiliary function numbers (M numbers) are provided on the side of the PMC 2, and the results of processing are set in the data memory 202b. In Fig. 4(a), the first M-code register (M3) corresponding to a control signal MF1 is identified, and the bit of the corresponding address in the memory 202b is set to "1". Similarly, in Fig. 4(b), the second M-code register (M10) corresponding to a control signal MF2 is identified, and in Fig. 4(c), the third M-code register (M50) corresponding to a control signal MF3 is identified. The corresponding bits in the memory 202b are set to "1". Next, when a processing operation relating to each auxiliary function regarding the aforesaid processing results is performed by the sequence program and each of the processing operations is completed, the results of processing in the memory 202b are reset. Fig. 5 is a flowchart illustrating the processing procedure of the auxiliary function M3. Processing based on similar flowcharts is executed for each of the auxiliary functions M10, M50 as well. At the end of the sequence program, a function instruction for auxiliary function completion of the kind shown in Fig. 6 is prepared. When all corresponding bits for the commanded function instructions are "0", a completion signal is delivered to the side of the NC 1. Fig. 7 illustrates an example of the arrangement of the PMC memory. The M commands of the auxiliary functions can be formed in advance as a table in which the commands are shown corresponding to each address and bit. The numerical control apparatus of the present invention makes simultaneous execution possible on the machine tool side even when a plurality of function codes of the same type are set in the same block of an NC program. As a result, it is unnecessary to increase the size of a sequence program and it is possible to utilize memory efficiently.

Claims: A numerical control system for sequentially controlling an NC machine tool (3) in accordance with a stored-program method, including a numerical control apparatus (NC) comprising a memory means (101b) for storing machine tool commands from a program which has been read into the numerical control apparatus (NC), and a programmable machine controller (PMC) provided separately of the numerical control apparatus (NC) and comprising a data memory (202b) for storing the on/off states of the relays of the magnetics circuit of the NC machine tool (3), characterised in that the memory means (101b) stores simultaneously a plurality of auxiliary function codes corresponding to specific auxiliary functions (M3,M10,M50) commanded for the NC machine tool (3) by the read-in program, and auxiliary function (M-code) registers are provided in the numerical control apparatus (NC) which output codes corresponding to the specific auxiliary functions (M3,M10,M50), together with M-code read-in registers, there being corresponding function instructions provided in the programmable machine controller (PMC) to be executed upon identifying a number of each of the auxiliary function codes stored in the memory means (101b), for identifying the auxiliary function (M-code) registers and setting the results of the corresponding processing in the data memory (202b), the auxiliary function codes in the memory means (101b) all being updated in response to completion of a sequence operation. A numerical control system according to claim 1, wherein auxiliary function read-in registers are provided for reading in the plurality of auxiliary function codes simultaneously on the side of the programmable machine controller. A numerical control system according to claim 1, wherein a function instruction is processed in accordance with set control conditions upon decoding each auxiliary instruction code. A numerical control system according to claim 1, wherein the plurality of auxiliary function codes stored by said memory means are included in the same program block, and a transition to execution of the next program block is made after confirmation of a signal indicating completion of a sequence operation by said machine tool.

Inventors: KINOSHITA YASUNORI, NAKASHIMA YOSHIHIRO, KINOSHITA, YASUNORI, NAKASHIMA, YOSHIHIRO
Applicants: FANUC LTD, FANUC LTD.
Application year: 1988
Main classification: G05B19
IPC codes: G05B19