NUMERICAL CONTROLLER

Abstract: A numerical controller which controls the rotation of a plurality of spindles easily and at high speeds. The NC data produced from an NC data generated unit (1) include data for designating one or more spindles and data of splindle speed, and they are sent to switching means (2). Memories (3a to 3n) corresponding to the designated spindles are updated with the spindle rotation speed data by switching means (2), and rotations of the corresponding spindle motors (6a to 6n) are controlled based on the speed instructions from the updated memories (3a to 3n).

Description: This invention relates to a numerical control method and, more particularly, to a numerical control method for controlling the rotational velocity of a plurality of spindles independently or simultaneously. Some machine tools such as lathes are equipped with a plurality of spindles. For example, a lathe for back-face machining has two spindles in order to rotate a workpiece. Back-face machining is performed by setting a workpiece on one spindle automatically when machining using the other spindle is completed. Besides machining such as turning, lathes can apply other types of machining, such as boring and grooving. In such case, the tools themselves must be rotated, there are two tool rests, and the number of spindles is three, four or more. In order to control the rotational velocities of a plurality of spindles, the practice in the prior art is to (i) provide a plurality of rpm command output units and a plurality of units for converting rpm commands into voltages and delivering these voltages to a spindle control amplifier, or (ii) change over one rpm command to so that the command may be used to control any one of a plurality of spindles. However, the former method requires provision of a plurality of spindle control systems and therefore results in a larger and more costly apparatus. Such method is not suited to control of a number of spindles. With the latter method, an rpm command is issued for only one spindle at all times. Consequently, even if spindles are to be commanded to rotate at the same rpm, it is required that the command be changed over a plurality of times. As a result, operability is poor when controlling a number of spindles. Accordingly, an object of the present invention is to provide a numerical control method in which control of the rotation of a plurality of spindles is performed in ready fashion and at high speed, and in which it is possible to readily deal with a change in the number of spindles. A relevant disclosure in the prior art is provided by JP-A-62-293307, which discloses a numerical control method of controlling the rotational velocities of a plurality of spindle motors, wherein an NC data generating unit generates NC data for the purpose of designating spindle rpm, one or more of the spindles is or are designated, and the NC data which designates spindle rpm is stored in memory means for controlling the or each designated spindle. According to the present invention, the spindle rpm-designating NC data designates a single spindle rotational velocity which is supplied via switching means to that one or those ones of a plurality of memories, corresponding to respective ones of said plurality of spindle motors, which is or are designated by spindle-designating NC data which is generated by the NC data generating unit and which controls the switching means to supply the spindle rpm-designating NC data to said that one memory or said those memories, thereby to control the corresponding spindle motor or motors to rotate at a speed in accordance with the spindle rotational velocity stored in said that one memory or said those memories. Brief Description of the Drawings Fig. 1 is a functional block diagram of a numerical control apparatus which operates according to the present invention, and Fig. 2 is a block diagram of a numerical control apparatus which operates according to the present invention. Fig. 1 is a functional block diagram of a numerical control apparatus which operates according to the present invention, in which numeral 1 denotes an NC generating unit, 2 switching means, 2a through 2n command transmission switches provided for corresponding ones of spindles, 3a through 3n memory means provided for corresponding ones of the spindles, 4a through 4n converters provided for corresponding ones of the memory means for converting rpm's into voltage data, 5a through 5n spindle drive amplifiers, and 6a through 6n spindle motors. When the NC data generating unit 1 issues a command for one or more spindles and one spindle rotational velocity, the command transmission switches 2a through 2n are turned on, so that the contents in the memories 3a through 3n of the spindles commanded via the switches are updated by the commanded spindle rotational velocity. As a result, the rotation of the corresponding spindle motors 6a through 6n is controlled in accordance with the spindle rotational velocity stored in the memories 3a through 3n. When one or more spindles and rotation-stop are commanded by the NC data generating unit 1, the command transmission switches 2a through 2n corresponding to the commanded spindles are turned off. Accordingly, the drive paths of these spindles are opened or the contents of the corresponding memories are cleared, as a result of which rotation of the spindles is stopped. Fig. 2 is a block diagram of the numerical control apparatus which operates according to the invention. Numerical 1 denotes the NC data generating unit, which has an NC data tape la on which NC data are stored, an NC unit which performs numerical control processing based on NC data, and a programmable machine controller (PMC) 1c for controlling exchange of data between the NC unit and the machine side based on a sequence program. Forward rotation of first, second, ..., n-th spindles is commanded respectively by the following auxiliary function instructions: M13, M23, ..., Mn3 and reverse rotation of the first, second, ..., n-th spindles is commanded respectively by the following auxiliary function instructions: M14, M24, ..., Mn4 Stopping rotation of the first, second, n-th spindles is commanded respectively by the following auxiliary function instructions: M15, M25, ..., Mn5 Accordingly, the NC data for forwardly rotating one spindle, e.g., the first spindle, at a predetermined rpm is M13 S□··□; (where S is an address word for commanding spindle rpm, and □..□ is a five-digit code indicating the spindle rpm). NC data for forwardly rotating a plurality of spindles, e.g., the first through third spindles, at a predetermined rpm is as follows: M13 M23 M33 S□··□; The same will hold in the case of reverse rotation and rotation-stop. Numeral 2 denotes switching means which includes a buffer 21 for storing spindle rpm N outputted by the NC data generating unit 1, a buffer 22 for storing forward-rotation commands M13 - Mn3 of respective axes, a buffer 23 for storing rotation-stop commands M15 - Mn5 of respective axes, and command transmission (writing) switches 2a - 2n provided for corresponding ones of the spindles. Buffers for reverse rotation are not shown. Forward-rotation and stop-commands of the respective axes are stored by making the corresponding bits in the buffers 22, 23 logical "1". Numerals 3a - 3n denote the memory means provided for corresponding ones of the spindles, 4a - 4n designate the converters provided for corresponding ones of the memory means for converting rpm into voltage data, 5a - 5n represent the spindle drive amplifiers, and 6a - 6n denote the spindle motors. When a spindle rotation command of format (1) or (2) is read from the NC tape la by the NC unit 1b, the latter transfers the spindle rpm N (=□□) and the forward-rotation commands of the respective axes to the switching means 2 via the PMC 1c. The switching means 2 stores the spindle rpm N in the buffer 21 and outputs it to the switches 2a - 2n. Among the bits corresponding to forward-rotation commands (M13 - Mn3) along respective axes in the buffer 22, the switching means 2 makes "1" those bits of the spindles for which forward rotation has been commanded. Bits of spindles not commanded for forward rotation are "0". The "1" and "0" of each bit of the buffer 22 are inputted as rpm transmission control signals C a - C n to the corresponding switches 2a - 2n. The switches receiving "0" do not transmit the commanded rpm N from the buffer 21, whereas those receiving "1" do transmit the commanded rpm N from the buffer 21. As a result, only the switches corresponding to the spindles provided with the spindle rotation command by the NC data transmit the commanded rpm to the corresponding memory means to update the contents thereof. Further, contents of the memory means corresponding to the "0" switches do not change; these memory means continue storing the former rpm. Thereafter, the rpm's stored in the memory means 3a - 3n are converted into voltage data by the corresponding converters 4a - 4n, after which these data enter the amplifiers 5a - 5n in the form of analog voltages. Here the voltages are amplified to rotate the spindle motors 6a - 6n at the commanded rotational velocity. Accordingly, all spindles commanded to rotate forwardly or reversely by the NC data start rotating simultaneously at the newly commanded rpm, and those spindles not issued commands continue rotating at the velocity (inclusive of zero or the stopped state) prevailing thus far. In the foregoing, rpm is stored in the memory means. However, an arrangement can be adopted in which these memory means are disposed in back of the converters to store the voltage data. In a case where rotation of the spindles is halted by the spindle rotation-stop commands M15- Mn5, NC data of the following form are entered from the NC tape 1a: M15; stop command for one spindle M15M25M35; stop command for a plurality of spindles As a result, among the bits of buffer 23 corresponding to the spindle-stop commands M15 - Mn5 of respective axes, "1" is stored in those bits of the spindles for which stop is commanded. Bits for spindles not provided with the stop command are "0". The "1" and "0" of each bit of the buffer 23 are inputted to clear terminals of the corresponding memory means 3a - 3n, so that the contents (rpm) of the memory means corresponding to the spindles whose rotation is commanded to stop is cleared to zero. As a result, spindles commanded to stop rotating come to a halt. It is permissible to adopt an arrangement in which the switching means 2 is constituted by a microcomputer. In a case where spindle rpm is commanded in such an arrangement, the rpm's stored in the memory means 3a - 3n corresponding to the spindles issued commands would be updated by the commanded rpm (the rpm's in the other memory means are not updated). In a case where rotation-stop is commanded, only the contents of the memory means corresponding to the spindles issued commands would be cleared to zero. In accordance with the present invention as set forth above, one or more spindles and one spindle rotational velocity are designated by NC data, only the memory means corresponding to the designated spindles are updated by the designated spindle rotational velocity via the switching means, and the spindles are controlled to rotate at the spindle rotational velocity stored in each memory means. As a result, the rpm's of the spindles can be changed simply, at high speed and at the same time. In addition, it is possible to readily deal with a change in the number of spindles.

Claims: A numerical control method of controlling the rotational velocities of a plurality of spindle motors (6a to 6n), wherein an NC data generating unit (1) generates NC data for the purpose of designating spindle rpm, one or more of the spindles (6a to 6n) is or are designated, and the NC data which designates spindle rpm is stored in memory means (3a to 3n) for controlling the or each designated spindle, characterised in that said spindle rpm-designating NC data designates a single spindle rotational velocity which is supplied via switching means (2) to that one or those ones of a plurality of memories (3a to 3n), corresponding to respective ones of said plurality of spindle motors (6a to 6n), which is or are designated by spindle-designating NC data which is generated by the NC data generating unit (1) and which controls the switching means (2) to supply the spindle rpm-designating NC data to said that one memory or said those memories, thereby to control the corresponding spindle motor or motors to rotate at a speed in accordance with the spindle rotational velocity stored in said that one memory or said those memories. A numerical control method according to claim 1, characterised in that NC data is generated for clearing the or each memory (3a to 3n) corresponding to one or more of said spindles (6a to 6n), and contents of the or each designated memory are cleared via the switching means (2). A numerical control method according to claim 2, characterised in that the memory-clearing NC data includes a spindle-stop command for specifying (i) one or more of said spindles (6a to 6n) and (ii) a spindle-stop command.

Inventors: IWAGAYA TAKASHI, KUROKAWA TAKASHI FANUC DAI- VI, IWAGAYA, TAKASHI, KUROKAWA, TAKASHI FANUC DAI-3 VIRAKARAMATSU
Applicants: FANUC LTD, FANUC LTD.
Application year: 1989
Main classification: G05B19
IPC codes: G05B19