Abstract:
A machine tool with multiple spindles and tool supports operable independently and simultaneously under independent working programs is provided with a tool support synchronizing system to produce synchronized operation of plural tool supports. Each of the working programs produces as a special synchronizing command a predetermined single character or symbol. Control circuits which control the shifting of a respective tool support in response to commands from a respective working program are synchronized with one another in response to the receipt of the special synchronizing command received from the working programs.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to a tool support synchronizing system for a numerical control apparatus of a complex machine tool with multiple spindles in which work programs for a plurality of tool supports are independently and simultaneously executed and the execution of a particular work block is initiated at a designated portion within the programs. 
     Referring first to FIG. 1, a numerical control apparatus is schematically shown. In FIG. 1, reference numeral 1 designates a tape on which is recorded a program using a known numerical control language; 2, a reading circuit; 3, a buffer memory; 4, a command decode processing circuit; 5, a precalculation circuit; 6, a control circuit; 7, a spindle-shifting-amount outputting circuit; 8, a pulse distribution circuit; 11, a detector; 12, a main-spindle rotation detector; 13, a programmable controller (hereinafter referred to simply as a PC); and 14, a tool machine 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 control 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. 
     
                       TABLE 1______________________________________N001 G28           N001 G28N002 S600 T0101 M08              N002 T0303N003 G00 X500.0 Z0.0 M0.3              N003 M10N004 G01 X-1.0 F1.5              N004 G00 X0.0 Z1.0N005 G00 Z1.0      N005 G01 Z-30.0 F0.4N006 G00 X480.0    N006 G00 Z1.0N007 M10           N007 G28N008 G01 Z-200.0   N008 T0505N009 G00 X500.0    N009 G00 X500.0 Z1.0N010 G00 Z1.0      N010 G00 X475.0N011 G00 X475.0    N011 M10N012 M10           N012 G01 Z-195.0 F2.0N013 G01 Z-195.0 F2.0______________________________________ 
    
     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 (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 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 subsequent 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 work program is executed after receiving a completion signal from the PCs 13A and 13B. Therefore, the synchronizing command M10 is also 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 one of the PCs 13A and 13B does not output a completion signal to the control circuit during the period from receipt of the synchronizing command M10 to the receipt of the synchronizing signal M10 by the other PC. 
     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 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. 
     SUMMARY OF THE INVENTION 
     An object of the present invention is to eliminate the above-mentioned disadvantages of the conventional synchronizing system and to provide precise synchronization of the start of a particular block of a work program. 
     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 synchronizing command code can be easily discriminated from a work program. 
     In order to achieve the above objects of the present invention, there are provided a particular command code used for synchronization and a synchronization controlling circuit, and an NC apparatus is adapted to read this command code and process it with precise synchronization by programming a synchronizing command at the portion requiring synchronization. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     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; 
     FIGS. 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. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     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 &#34;!&#34;, 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 &#34;!&#34; 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. 
     
                       TABLE 2______________________________________N001 G28           N001 G28N002 S600 T0101 M08              N002 T0303N003 S00 X500.0 Z0.0 M03              N003 !N004 G01 X-1.0 F1.5              N004 G00 X0.0 Z1.0N005 G00 Z1.0      N005 G01 Z-30.0 F0.4N006 G00 X480.0    N006 G00 Z1.0N007 !             N007 G28N008 G01 Z-200.0   N008 T0505N009 G00 X500.0    N009 G00 X500.0 Z1.0N010 G00 Z1.0      N010 G00 X475.0N011 G00 X475.0    N011 !N012 !             N012 G01 Z-195.0 F2.0N013 G01 Z-195.0 F2.0                 .   .                  .   .                  .   .______________________________________ 
    
     In FIG. 6, AND 1  to AND 6  are AND gates, and F 1  to F 4  are flip-flops storing flags awaiting execution. T 1  is an input terminal for receiving the pulse-like signal of the synchronizing command &#34;!&#34; for the work program of the first tool support outputted from the command decoding circuit 4A in FIG. 5, T 2  is an input terminal receiving the pulse-like signal of the synchronizing command &#34;!&#34; of the work program of the second tool support outputted from the command decoding circuit 4B in FIG. 5, and T 3  and T 4  are output terminals for the synchronization controlling signals outputted to the control circuits 6A and 6B of FIG. 5. A &#34;0&#34; on the output terminals T 3  and T 4  means execution and a &#34;1&#34; 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 2  from the command decoding processing circuit 4B in FIG. 5 by the synchronizing command &#34;!&#34; of the sequence number (N003) of the work program of the second tool support. In FIG. 6, when the signal on the terminal T 2  is in the ON-state, the terminal T 1  is in the OFF-state, and therefore the AND gate AND 2  outputs a &#34;1&#34; and the flip-flop F 2  is set thereby to make the output Q &#34;1&#34;. At this time, the output T 3  of the flip flop F 3  is &#34;0&#34; and the work program of the first tool support is being executed so that the AND gate AND 5  outputs a &#34;1&#34; and the flip-flop F 4  is set. The signal on the output terminal T 4  is thus set to &#34;1&#34;, thereby to place the execution of the work program of the second tool support in the waiting state. 
     Then, the next 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 1  of FIG. 6 from the command decoding processing circuit 4A of FIG. 5 by the synchronizing command &#34;!&#34;. In FIG. 6, when the signal on the terminal T 1  is ON, the signal on the terminal T 2  is OFF so that the AND gate AND 1  outputs a &#34;1&#34; and the flip-flop F 1  is set, thereby to output from the terminal Q thereof a &#34;1&#34;. At the same time, the output T 4  of the flip-flop F 4  is a &#34;1&#34; and the work program for the second tool support is held in the waiting state so that the AND gate AND 3  outputs a &#34;0&#34;, the AND gate AND 4  outputs a &#34;1&#34;, and the flip-flop F 4  is reset so that its output T 4  is a &#34;0&#34;,  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, according to 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 &#34;!&#34; and the pulse generating circuit for generating a pulse signal upon decoding the synchronizing command code &#34;!&#34;. 
     Referring now to FIG. 7, an embodiment of the command decoding circuit 4A is shown. In FIG. 7, the code pattern &#34;!&#34; is supplied to the input terminal T 5  of the coincidence circuit, to the other terminal T 6  thereof of which the work program code inputted from the buffer memories 3A and 3B in FIG. 5 is applied. The coincidence circuit outputs &#34;1&#34; to the terminal T 7  upon coincidence of the two inputs, and outputs &#34;1&#34; to the terminal T 8  when coincidence is not established. The outputs of the flip-flops F 5  and F 6  and the AND gate AND 7  are &#34;1&#34; during the synchronization period of the clock signal applied to the input terminal CL of the flip-flop F 5  and F 6  when the output from the terminal T 7  becomes &#34;1&#34;. 
     Further, with the present invention, it is necessary 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 &#34;1&#34; is used as a synchronizing command, but the present invention is not limited to any particular character or symbol, and a symbol such as &#34;#&#34; 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.