Tool support synchronizing system for numerical control apparatus

Abstract: A tool support synchronizing system suitable for a num­ erical control apparatus of a complex machine tool having multiple spindles in which work programs for a plurality of tool supports are independently and simultaneously executed and the execution of a particular block of a work program is initiated at a designated portion within the prog­ rams, in which the start of particular block is precisely sync­ hronized. A reading device (2A, 2B) provided for each tool support reads an independent work program (1A, 1B) for its corresponding tool support. The commands of the work prog­ ram are decoded (blocks 4A, 4B) from the output of the read­ ing devices, and control circuits (6A, 6B) control the shifting of the tool support in accordance with the decoded data. Various control circuits are synchronized by a synchronizing circuit (6C) in response to the decoding of a special synchronizing command composed of a predetermined single character or symbol in the working programs.

Description: The present invention relates to tool support synchronizing systems for a numerical control apparatus. The invention is applicable to complex machine tools with multiple spindles. Referring first to Figure 1 of the accompanying drawings, a numerical control apparatus is schematically shown. Figure 1 shows a tape 1 on which is recorded a program using a known numerical control language; a reading circuit 2; a buffer memory 3; a command decode processing circuit 4; a precalculation circuit 5; a control circuit 6; a tool-shifting-amount outputting circuit 7; a pulse distribution circuit 8; a detector 11; a main-spindle rotation detector 12; a programmable controller 13 (hereinafter referred to simply as a PC); and a machine tool 14 to be controlled. In operation, the program content of the tape 1 is read by the reading circuit and temporarily stored in the buffer memory 3, and then decoded by the command decode processing circuit 4. Preprocessing for necessary numerical calculations is executed by the precalculation circuit 5, and the resulting data is transmitted to the control circuit 6, thereby to effect on-line control. The control circuit 6 outputs the data to the spindle-rotation amount outputting circuit 7 when the data is a spindle shifting command, and to the PC 13 when the data is other than a spindle shifting command. Upon the completion of execution of these commands, the control circuit outputs to the reading circuit 2 a signal for reading the next block in the program. More specifically, the amount of shifting of the spindle of the tool machine 14 is supplied to the spindle-shifting amount outputting circuit 7 for each block of the program 1 to output a pulse from the pulse distribution circuit 8, thereby to actuate the servo unit 9 for shifting the spindle using the motor 10. The detector 11 is mounted on the motor 10 to detect the amount of rotation of the motor 10, and the detected rotation amount is fed back to the servo unit 9 to drive the motor 10 by a predetermined amount. The main-spindle rotation detector 12 is mounted on the main spindle for the purpose of detecting the rotational speed of the rotating workpiece or rotating tool, and the detected rotational speed of the main spindle is fed back to the pulse distribution circuit 8 so as to make the rotational speed of the motor 10 the same as the rotational speed of the main spindle. The PC 13 is a sequencer used for controlling operations except for the spindle shaft shifting of the tool machine 14 such as oil-pressure control, exchange of tools, and auxiliary control of the spindle. Signals are transmitted between the programmable controller 13 and the contol circuit 6 to effect such control operations. Referring to Fig. 2, the conventional synchronizing system for a numerical control apparatus (hereinafter referred to simply as an NC apparatus) having two tool supports as the tool machine 14 is shown. In Fig. 2, 1A, 2A, 3A, 4A, 5A, 6A, 7A, 8A, 9A, 10A, 11A and 13A respectively designate a work program, a reading circuit, buffer memory, a command decode processing circuit, a precalculation circuit, a control circuit, a spindle-shifting-amount outputting circuit, a pulse distribution circuit, a servo unit, a motor, a detector, and a PC of a first tool support. Further in Fig. 2, 1B, 2B, 3B, 4B, 5B, 6B, 10B, 11B and 13B respectively designate a working program, a reading circuit, a buffer memory, a command decode processing circuit, a precalculation circuit, a control circuit, a spindle-shifting-amount outputting circuit, a pulse distribution circuit, a servo unit, a motor, a detector, and a PC of a second tool support. With this arrangement, a tandem control system composed of two independent control systems is necessary for driving two independent tool supports simultaneously with two independent work programs 1A and 1B. It has hitherto been the case to use two NC apparatuses with one control system as shown in Fig. 1 for realizing a composite NC apparatus having two control systems as shown in Fig. 2. However, in the case where two tool supports are independently driven by two independent work programs, if there is a possibility of interference of the two tool supports with each other, it is necessary to make the one of the two tool supports wait to prevent such interference. Further, in the case of a balanced cut in which the two tool supports are positioned opposite one another and are moved simultaneously to effect a cutting operation, it is necessary to synchronize the start of movement the two tool supports. To effect this, there has been provided a particular synchronizing command into an auxiliary command (M command) used to make it possible to execute both working programs synchronously. The conventional synchronizing system will be explained with reference to the following Table 1. In Table 1, M10 designates the synchronizing command. The first and second work programs for the tool supports are shown in left- and right-hand columns, respectively, of the Table. As indicated by Table 1, the work program for the first tool support is started simultaneously with the program for the second tool support, and the sequence number (N003) of the work program for the second tool support is synchronized with the sequence number (N007) of the work program for the first tool support. Similarly, the sequence number (N011) of the work program for the second tool support is synchronized with the sequence number (N012) of the work program for the first tool support. Fig. 3 shows a timing chart for the execution of the work programs in Table 1. With reference to Fig. 3, it is clear that the execution of one work program containing a synchronization signal (e.g. N003, right hand side in Table 1) does not commence until a synchronization command (e.g. N007, left hand side in Table 1) occurs in a different program. With respect to the M command of the work program in the conventional NC apparatus having the construction as shown in Fig. 2, a numerical value relating to the M command is converted to BCD code and outputted from the control circuits 6A and 6B to the PCs 13A and 13B. The next part of the work program is only executed after the control circuits 6A and 6B receive a completion signal from the PCs 13A and 13B. Therefore, the synchronizing command M10 is outputted from the control circuit 6A or 6B to the PC 13A or PC 13B. The PCs 13A and 13B are synchronized with each other in such a manner that a first one of the PCs 13A and 13B does not output a completion signal to the control circuit during the period from receipt of its own synchronizing command M10 to the receipt of the synchronizing signal M10 by the second PC. In this way, the first PC waits until the second PC receives the M10 signal before initiating further processing of its own work program. Perfect synchronization is only obtained if both PCs operate identically. Referring to Fig. 4, a relay circuit of the PCs 13A and 13B is shown. In Fig. 4, M10A and M10B are relays actuated in accordance with the BCD code decoded from the synchronizing command M10. FINA and FINB are signals fed back to the control circuits 6A and 6B, respectively, of Fig. 2 as completion signals. The FINA and FINB signals are used for obtaining synchronization of the actuation of the relays M10A and M10B. Further in Fig. 4, MFA and MFB are control signals outputted from the control circuits 6A and 6B, respectively, which are low-truth signals outputted from the control circuits slightly later than the BCD code of the M command and the completion signals FINA and FINB from the PCs 13A and PC 13B. Thus, according to the conventional synchronizing system for tool supports, the auxiliary command (M command) is utilized, and the PCs 13A and 13B effect synchronization control in response to the M command. In such a case, it has been very difficult to make the operating time of the PC 13A the same as that of the PC 13B so that precise synchronization has not been achieved by the conventional synchronizing system. Further, there is a disadvantage in that it is difficult to discriminate the synchronizing M command from the other M commands. An object of the present invention is at least partially to eliminate the above-mentioned disadvantages of the conventional synchronizing systems and to provide precise synchronization of the start of particular blocks of different work programs. Another object of the present invention is to provide a tool support synchronizing system in which a plurality of tool supports can be operated simultaneously without interference. A further object of the present invention is to provide a system in which a synchonizing command code can be easily discriminated from a work program. In order to achieve the above objects of the present invention, there are provided in a tool support synchronizing system for a numerical control apparatus; reading means provided for each of two tool supports for reading an independent program for controlling each of said tool supports; respective commande decode processing means for decoding commands of said work program read by each said reading means and to output a first signal; control circuit means for controlling shifting means for shifting said tool supports in accordance with said first signal from said command decode processing means, and synchronization controlling means for controlling both of said control circuit means to cause them to start executing selected block of said independent work programs in synchronization with one another when said command decode processing means outputs a second signal to the synchronization controlling means upon decoding a synchronizing command composed of a predetermined single character or symbol in said selected blocks of said independent work programs. For a better understanding of the invention, and to show how the same may be carried into effect, reference will now be made, by way of example, to the accompanying drawings, in which: Fig. 1 is a block diagram showing a numerical control apparatus; Fig. 2 is a block diagram used for explaining a conventional synchronizing system for a numerical control apparatus with two tool supports; Fig. 3 is a timing chart showing the execution of the work program shown in Table 1 herein; Fig. 4A and 4B are circuit diagrams showing an example of a programmable controller (PC) used as a relay circuit; Fig. 5 is a block diagram of a preferred embodiment of a numerical control apparatus of the present invention; Fig. 6 is a block diagram showing in detail the synchronization control circuit of Fig. 5; and Fig. 7 is a circuit diagram showing an example of a command decode circuit in Fig. 5. A preferred embodiment of the present invention will be explained hereinafter. Fig. 5 is a block diagram showing a preferred embodiment of a numerical control apparatus of the invention, in which 6C denotes a synchronization controlling circuit, a detailed example of which is shown in Fig. 6. According to the present invention, a synchronizing command composed of one character or symbol, such as "!", is used, which synchronizing command is not used in the conventional work program. Referring to the following Table 2, an example of a work program using the synchronizing command "!" is shown. Similar to Table 1, the first and second work programs for two tool supports are shown in left- and right-hand columns, respectively. In Fig. 6, AND₁ to AND₆ are AND gates, and F₁ to F₄ are bistable flip-flops storing flags awaiting execution. T₁ is an input terminal for receiving the pulse-like signal of the synchronizing command "!" for the work program of the first tool support outputted from the command decoding circuit 4A in Fig. 5, T₂ is an input terminal receiving the pulse-like signal of the synchronizing command "!" of the work program of the second tool support outputted from the command decoding circuit 4B in Fig. 5, and T₃ and T₄ are output terminals for the synchronization controlling signals outputted to the control circuits 6A and 6B of Fig. 5. A "0" on the output terminals T₃ and T₄ means execution and a "1" means awaiting execution. Assuming that the work program for the first tool support shown in Table 2 is executed simultaneously with the work program for the second tool support, the pulse-like signal is applied to the input terminal T₂ from the command decoding processing circuit 4B in Fig. 5 by the synchronizing command "!" of the sequence number (N003) of the work program of the second tool support. In Fig. 6, when the signal on the terminal T₂ is in the ON-state, the terminal T₁ is in the OFF-state, and therefore the AND gate AND₂ outputs a "1" and the flip-flop F₂ is set thereby to make the output Q equal to "1". At this time, the output T₃ of the flip-flop F₃ is "0" and the work program of the first tool support is being executed so that the AND gate AND₅ outputs a "1" and the flip-flop F₄ is set. The signal on the output terminal T₄ is thus set to "1", thereby to place the execution of the work program of the second tool support in the waiting state. Then, the work program of the first tool post is sequentially executed up to the sequence number (N007), whereupon the pulse-like signal is applied to the terminal T₁ of Fig. 6 from the command decoding processing circuit 4A of Fig. 5 by the synchronizing command "!". In Fig. 6, when the signal on the terminal T₁ is ON, the signal on the terminal T₂ is OFF so that the AND gate AND₁ outputs a "1" and the flip-flop F₁ is set, thereby to output from the terminal Q thereof a "1". At the same time, the output T₄ of the flip-flop F₄ is a "1" and the work program for the second tool support is held in the waiting state so that the AND gate AND₃ outputs a "0", the AND gate AND₄ outputs a "1", and the flip-flop F₄ is reset so that its output T₄ is a "0", thereby releasing the waiting state of the work program of the second tool post. This is entirely similar to the case where the synchronization waiting command is programmed in the work program for the first tool post prior to the work program for the second tool post. In this manner, in accordance with the present invention, synchronization control can be performed by having one of the two tool supports put in a waiting state and then starting its operation from a desired time instant in synchronism with the other. As mentioned above, in the command decoding circuits 4A and 4B of Fig. 5, it is necessary to provide the decoding circuit for decoding the particular synchronizing command code "!" and the pulse generating circuit for generating a pulse signal upon decoding the synchronizing command code "!". Referring now to Fig. 7, an embodiment of the command decoding circuit 4A is shown. In Fig. 7, the code pattern "!" is supplied to the input terminal T₅ of the coincident circuit, to the other terminal T₆ thereof of which the work program code inputted from the buffer memories 3A and 3B in Fig. 5 is applied. The coincidence circuit outputs "1" to the terminal T₇ upon coincidence of the two inputs, and outputs "1" to the terminal T₈ when coincidence is not established. The outputs of the flip-flops F₅ and F₆ and the AND gate AND₇ are "1" during the synchronization period of the clock signal applied to the input terminal CL of the flip-flop F₅ and F₆ when the output from the terminal T₇ becomes "1". Further, with the present invention, it is possible to provide in the controlling circuits 6A and 6B shown in Fig. 5 a circuit which defers the issuance of the subsequent block reading signal applied to the reading circuits 2A and 2B in Fig. 5 in response to the control signal outputted from the synchronization controlling circuit in Fig. 6. Such can be realized by a simple circuit composed of a single AND gate. In the above embodiment, the synchronizing command code "!" is used as a synchronizing command, but the present invention is not limited to any particular character or symbol, and a symbol such as "#" which is distinctive from the others used in the work program can be used. Further, the number of tool supports may be more than two. As is apparent from the above descriptions, the present invention has an advantage that initiation of blocks of the work program can be precisely synchronized with the initiation of other program blocks since a code composed of a single character or symbol is used as a synchronizing command, a control circuit is provided with a synchronizing controller, and each tool support is driven in accordance with the work program after the synchronizing command within each work program is detected. Thus, work programs for a plurality of tool supports can be independently and simultaneously executed and the execution of a particular work block can be initiated at a designated portion within the programs.

Claims: A tool support synchronizing system for a numerical control apparatus comprising reading means (2A, 2B) provided for each of two tool supports for reading an independent program (1A, 1B) for controlling each of said tool supports; respective command decode processing means (4A, 4B; F₅, F₆, AND₇) for decoding commands of said work program read by each said reading means (2A, 2B) and to output a first signal; control circuit means (6A, 6B) for controlling shifting means (7A, 7B) for shifting said tool support in accordance with said first signal from said command decode processing means (4A, 4B; F₅, F₆, AND₇); and synchronization controlling means (6C) for controlling both of said control circuit means (6A, 6B) to cause them to start executing selected blocks of said independent work programs in synchronization with one another when said command decode processing means (4A, 4B; F₅, F₆, AND₇) outputs a second signal (T1, T2) to the synchronization controlling means (6C) upon decoding a synchronizing command composed of a predetermined single character or symbol in said selected blocks of said independent work programs. A system according to claim 1 characterised in that a mark which is not used usually in said work programs is used as said predetermined character or symbol. A system according to claim 2 characterised in that said predetermined character or symbol is "!". A system according to claim 2 characterised in that said predetermined character or symbol is "#". A system according to any one of claims 1 to 4 characterised in that said command decode processing means (4A, 4B; F₅, F₆, AND₇) comprises a coincidence circuit for sensing the coincidence with said synchronizing command, and pulse generating circuits (F₅, F₆, AND₇) for generating said second signal whereby said signal represents coincidence and is supplied to said synchronization controlling means. A system according to any one of claims 1 to 5 characterised in that said synchronization controlling means (6C) is arranged to prevent execution of the shifting of a tool support during a period from receipt of a synchronizing command of one work program until detection of a synchronizing command of the other work program. A system according to any one of claims 1 to 6 characterised by a precalculating circuit (5A, 5B) connected between said command decode processing means (4A, 4B; F₅, F₆, AND₇) and said control circuit means (6A, 6B). A system according to any one of the preceding claims characterised in that said control circuit means (6A, 6B) comprises a programmable controller (13A, 13B) for controlling an auxiliary function of said machine tool, such as oil pressure control of said machine tool or tool exchange or spindle shifting. A system according to any one of the preceding claims characterised by three or more tool supports. A numerical control system for controlling a machine tool characterised by a tool support synchronizing system according to any one of claims 1 to 8. A machine tool having a plurality of tool supports or posts controlled by the system of any one of the preceding claims.

Inventors: AKASOFU KYOSUKE C O MITSUBISHI, KUCHIKI KIYOSHI C O MITSUBISHI, AKASOFU, KYOSUKE C/O MITSUBISHI DENKI, KUCHIKI, KIYOSHI C/O MITSUBISHI DENKI
Applicants: MITSUBISHI ELECTRIC CORP, MITSUBISHI DENKI KABUSHIKI KAISHA
Application year: 1984
Main classification: G05B19
IPC codes: G05B19