Patent Publication Number: US-6215270-B1

Title: Synchronous control device

Description:
TECHNICAL FIELD 
     The present invention relates to a synchronous control apparatus for driving a subsidiary shaft motor synchronously with a main shaft motor. 
     BACKGROUND ART 
     According to the conventional synchronous control technique, a command is synchronously provided to the main shaft motor control device and the subsidiary shaft motor control device, respectively. Alternatively, a command is provided to the subsidiary shaft motor control device synchronously with the present position of the main shaft motor. Further, the present applicant proposed a synchronous control apparatus in which the predictive control is applied to the synchronous control as disclosed in Japanese Patent Application No. 6-288994. In the synchronous control apparatus described above, predictive control is conducted on the subsidiary shaft by a future position command of the subsidiary shaft obtained by predicting a future position of the main shaft. 
     However, according to the conventional synchronous control technique, it is difficult to conduct synchronous control with high accuracy because the dynamic characteristic of the main shaft is different from that of the subsidiary shaft. The art disclosed in Japanese Patent Application No. 6-288994 is proposed in order to solve the above problem and to enhance the synchronous accuracy. However, the following problems may be encountered hen the above device is used. In this device, when the future main shaft position is predicted, not the main shaft position command of the future but the main shaft position command at the present moment is used. Therefore, when the main shaft position command is changed, control can not be changed in quick response, and the synchronous accuracy is deteriorated. 
     According to the conventional synchronous control technique, when input of the position command into the main shaft control device and the subsidiary shaft control device is delayed or when detection of the main shaft position is delayed, the synchronous accuracy is deteriorated in accordance with the delay. 
     The present invention has been accomplished to solve the above problems. It is an object of the present invention to provide a synchronous control apparatus capable of realizing synchronous control, the control accuracy of which is higher than that of the conventional apparatus. Further, synchronous accuracy of this synchronous control apparatus is not deteriorated even if input of the position command is delayed and also detection of the main shaft position is delayed. 
     SUMMARY OF THE INVENTION 
     In order to solve the above problems, there is provided a synchronous control apparatus by which a subsidiary shaft motor is driven synchronously with a main shaft motor, comprising: a command generating device into which an increment of the main shaft position command Δr s (i+M−1) in the sampling period is inputted and also an increment of the main shaft position Δy s (i−K) before K (K≧0) times of the samplings is inputted, and from which an increment of the main shaft position command Δr s (i) is outputted and also a plurality of increments of the subsidiary shaft future position Δr s (i+m), m=D+, D+2, . . . , D+M, which are for several times of future samplings are outputted; a main shaft device into which a signal of the main shaft position command increment Δr s (i−d) delayed by d (d≧0) times of samplings is inputted for controlling the drive of the main shaft motor, and from which an increment of the main shaft position Δy s (i) is outputted; and a subsidiary shaft device into which signals Δr s (i+m), m=1, 2, . . . , M of the plurality of subsidiary shaft future position command increment delayed by D (D≧2 0) times of samplings are inputted, and which controls the drive of the subsidiary shaft motor so that the subsidiary shaft position predicted by the dynamic characteristic model of the subsidiary shaft can be made to coincide with the future position command of the subsidiary shaft, wherein the command generating device includes: first memory means for storing the main shaft position command increments inputted into a plurality of time points from the past to the present; output means for outputting the main shaft position command increment Δr s (i) inputted before (M−1) times of samplings in the values stored in the first memory means; second memory means for storing the main shaft position increments inputted into a plurality of time points from the past to the present; a calculator for finding predicted values of a plurality of main shaft position increments for several times of future samplings by the dynamic characteristic model of the main shaft device including delay factor which is d times of samplings and also by the stored main shaft position command increments and the stored main shaft position increments; and a converter for finding a plurality of subsidiary shaft future position command increments by a plurality of predicted values of the main shaft position increments obtained by the calculator. 
     According to the present invention, there is also provided a synchronous control apparatus for driving a subsidiary motor synchronously with a main motor comprising: a fine adjustment device for inputting a signal into the subsidiary shaft motor control device as a fine adjustment signal for adjusting the asynchronization, the signal obtained by adding a signal, in which an increment of the main shaft position in the sampling period or the predicted value is multiplied by a multiplier K 1 , to a signal, in which the main shaft position command increment is multiplied by a multiplier K 2 ,; and means for switching the value of the multiplier K 1  according to the positive or negative of the main shaft position increment. 
     According to the present invention, there is also provided a synchronous control apparatus by which a subsidiary shaft motor is driven synchronously with a main shaft motor, comprising: a command generating device including: a memory means into which an increment of the main shaft position command Δr s (i+M−1) in the sampling period is inputted and also an increment of the main shaft position Δy s (i−K) before K (K≧0) times of samplings is inputted; the memory means respectively storing the inputted main shaft position command increment and the main shaft position increment; an output means for outputting the main shaft position command increment Δr s (i) inputted before (M−1) times of samplings in- the values stored in the memory means; a calculator for finding predicted values of a plurality of main shaft position increments for several times of future samplings; and a converter for finding and outputting a plurality of subsidiary shaft future position command increments Δr s (i+m), m=D, D+1, D+2, . . . , D+M by a plurality of predicted values of the main shaft position increments obtained by the calculator; a main shaft device into which a signal Δr s (i−d) of the main shaft position command increment delayed with d (d≧0) times of samplings is inputted for controlling the drive of the main shaft motor, and from which an increment of the main shaft position Δy s (i) is outputted; a subsidiary shaft device into which signals Δr z (i+m), m=0, 1, . . . , M of the plurality of subsidiary shaft future position command increment delayed by D (D≧0) times of samplings are inputted, and which controls the drive of the subsidiary shaft motor so that the subsidiary shaft position predicted by the dynamic characteristic model of the subsidiary shaft can be made to coincide with the future position command of the subsidiary shaft; and a fine adjustment device for inputting a signal delayed by D (D≧0) times of samplings of a signal obtained by adding a signal, in which one of the increment of the main shaft position and the predicted value is multiplied, to a signal, in which the main shaft position command increment is multiplied, into the subsidiary shaft motor control device as a fine adjustment signal for adjusting the asynchronization, wherein the calculator of the command generating device includes: means for calculating and storing the main shaft position command r s  by the main shaft position command increment Δr s  stored in the memory means; means for calculating and storing the main shaft position y s  by the main shaft position increment Δr y  stored in the memory means; and means for determining the predicted value Δy s *(i+m) of the main shaft position increment by the equation of            y   s     *     (       i   +   m     i     )       =         ∑     n   =   K         N   a     +   K              A   mn            y   s          (     i   -   n     )           +       ∑     n   =   1         N   b     +   K   +   m              B   mn            r   s          (     i   +   m   -   n     )                         Δ                   y   s     *     (     i   +   D     )       =         y   s     *     (       i   +   D     i     )       -       y   s     *     (       i   -   1   +   D       i   -   1       )                              m   =   D               Δ                   y   s     *     (     i   +   m     )       =         y   s     *     (       i   +   m     i     )       -       y   s     *     (       i   +   m   -   1     i     )                                m   =     D   +   1       ,     D   +   2     ,   …              ,     D   +   M                             y   s     *     (       i   2       i   1       )                     
     is a predicted value of the main shaft position at the time i 2  which is predicted at the time i 1 , and N a , N b , A mn  and B mn  are constants found by the dynamic characteristic model of the main shaft device. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     In the accompanying drawings: 
     FIG. 1 is a block diagram showing a configuration of the synchronous control apparatus according to the first embodiment of the present invention; 
     FIG. 2 is a block diagram showing a configuration of the synchronous control apparatus according to the second embodiment of the present invention; and 
     FIG. 3 is a block diagram showing a configuration of the synchronous control apparatus according to the third embodiment of the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Referring to the accompanying drawings, embodiments of the present invention will be explained below. 
     FIG. 1 is a block diagram showing a configuration of the synchronous control apparatus according to the first embodiment of the present invention. 
     In FIG. 1, at the present moment i 1  an increment Δr s (i+M−1) in the sampling period of the main shaft position command and an increment Δy s (i−K) of the main shaft position at the sampling of K (K≧0) times before are inputted into the command generating device  1 , and the command generating device  1  outputs an increment Δr s (i) of the main shaft position command at the present moment and a plurality of increments Δr z (i+m), m=D+1, D+2, . . . , D+M of the subsidiary shaft future position command, which are for several times of future samplings. In this case, the mark Δ represents an increment in the sampling period. 
     In the command generating device  1 , the memory  7  stores main shaft position command increments which have been inputted into a plurality of time points from the past to the present. The output means  7 ′ outputs a main shaft position command increment Δr s (i), which has been inputted at sampling of (M−1) times before, out of the values stored in the memory  7 , as a main shaft position command increment at the present moment. The memory  8  stores main shaft position increments which have been inputted into a plurality of time points from the past to the present. The calculator  9  finds prediction values Δy s *(i+m), m=D+1, D+2, . . . , D+M of a plurality of main shaft position increments for several times of future samplings by the dynamic characteristic model of the main shaft device  2  including the delay factor 4 and also by the stored main shaft position command increments and the main shaft position increment. The converter  10  finds a plurality of subsidiary shaft future position command increments Δr z  (i+m), m=D+1, D+2, . . . , D+M by a plurality of prediction values of the main shaft position increments obtained by the calculator. For example, when the movement of the main shaft and that of the subsidiary shaft are similar to each other, the converter  10  can be realized by a multiplier by which a constant is multiplied. 
     The delay factors 4, 5 and 6 are inherent to the processes of transmission, calculation and detection when the position command increment and the main shaft position increment are transmitted between the devices. Concerning the main shaft position command increment Δr s (i) is inputted into the main shaft device  2  as Δr s (i−d) by the delay of d (d≧0) times of the samplings according to the delay factor 4. 
     In the main shaft device  2 , the integrator  13  finds the main shaft position command r s (i−d) by the inputted main shaft position command increment Δr s (i−d). The main shaft position command r s (i−d) is inputted into the main shaft controller  11 , and the main shaft controller  11  controls the position y s (i) of the main shaft motor  12  according to the inputted value. A difference device  14  finds the increment Δy s (i) by the main shaft position y s (i). The main shaft position increment Δy s (i) is outputted from the main shaft device  2  and changed into Δy s (i−K) by the delay of K (K≧0) times of the samplings according to the delay factor 5 and then inputted into the command generating device  1 . 
     A plurality of subsidiary shaft future position command increments are delayed by D (D≧0) times of the samplings according to the delay factor 6 and Δr z (i+m), m=1, 2, . . . , M are inputted into the subsidiary shaft device  3 . 
     In the subsidiary shaft device  3 , the subsidiary shaft controller  16  controls a speed of the subsidiary shaft motor  17  according to the inputted speed command. The difference device  18  finds the increment Δy z (i) by the position y z (i) of the subsidiary motor shaft  17 . The predictive controller  15  determines the speed command v(i) by predictive control so that the position of the subsidiary shaft for several times of future samplings, which has been predicted by the dynamic characteristic model of the subsidiary shaft motor  17  including the subsidiary shaft controller  16  and also predicted by the subsidiary shaft position increment Δy z (i), can be made to coincide with the subsidiary shaft future position commands r z (i+m), m=1, 2, . . . , M which are determined by a plurality of subsidiary shaft future position command increments Δr z  (i+m), m=1, 2 . . . , M. In the case where the predictive controller disclosed in Japanese Patent Application No. 5-197956 is used for this predictive controller  15  the speed command v(i) is determined by the following equation.                v        (   i   )       =         ∑     m   =   1       M   z              v   m        Δ                     r   z          (     i   +   m     )           -       ∑     n   =   0         N   az     -   1              p   n        Δ                     y   z          (     i   -   n     )           +     Ee        (   i   )       -       ∑     n   =   1         N   bz     -   1              g   n          v        (     i   -   n     )                     (   1   )                         
     where M z  is a prediction horizon, e(i) is a positional deviation(=r z (i)−y z (i)), N az , N bz  are degrees of the dynamic characteristic model of the subsidiary shaft, and v m , p n , E, g n  are constants for predictive control. 
     The speed command v(i) found by the predictive control is added by the adder  20  to an output signal of a fine adjustment device  19  which is delayed by D (D≧0) times of the samplings from the v(i), and the thus added value is inputted into the subsidiary shaft controller  16  as a speed command. 
     The fine adjustment device  19  outputs a signal in which the signal K 2 Δr s , which is obtained when the main shaft position command increment Δr s  stored in the memory  7  of the command generating device  1  is multiplied by a multiplier, and the signal K 1 Δy s  obtained by multiplying the main shaft position increment Δy s (or K 1 Δy s * obtained by multiplying the prediction value Δy s * of the main shaft position increment) stored in the memory  8  of the command generating device  1  by a multiplier, are added to each other. In this case, the multipliers K 1  and K 2  are variable, and can be used for fine adjustment of asynchronization. 
     The calculator  9  provided in the command generating device  1  will be explained below. 
     The calculator  9  includes: means for calculating and storing the main shaft position commands r s (i+M−1), r s (i+M−2), . . . , r s (i−K−N b ) by the main shaft position command increment Δr s  stored in the memory  7 ; means for calculating and storing the main shaft positions y s (i−K), y s (i−K−1), . . . , y s (i−K−N a ) by the main shaft position increment Δy s  stored in the memory  8 ; and means for determining the prediction value Δy s *(i+m), m=D+1, D+2, . . . , D+M of the main shaft position increment by the following equation according to the main shaft position command r s  and the main shaft position y s  which are stored in these means.                          y   s     *     (     i   +   m     )       =         ∑     n   =   K         N   a     +   K              A   mn            y   s          (     i   -   n     )           +       ∑     n   =   1         N   b     +   K   +   m              B   mn            r   s          (     i   +   m   -   n     )                           Δ                   y   s     *     (     i   +   m     )       =         y   s     *     (     i   +   m     )       -       y   s     *     (     i   +   m   -   1     )                 }           (   2   )                         
     In this case, N a , N b , A mn  and B mn  are constants found by the dynamic characteristic model of the main shaft device  2  including the delay factor 4. 
     The calculator  9  may be configured by: means for determining the prediction value Δy s *(i+m), m=D+1, D+2, . . . , D+M of the main shaft position increment by the following equation according to the main shaft position command increment Δr s  and the main shaft position increment Δy s  which are stored in the memories  7  and  8 .                Δ                   y   s     *     (     i   +   m     )       =         ∑     n   =   K         N   a     +   K   -   1              A   mn        Δ                     y   s          (     i   -   n     )           +       ∑     n   =   1         N   b     +   K   +   m   -   1              B   mn        Δ                     r   s          (     i   +   m   -   n     )                     (   3   )                         
     In this case, N a , N b , A mn  and B mn  are constants found by the dynamic characteristic model of the main shaft device  2  including the delay factor 4. 
     The calculator  9  may be configured by: means for calculating and storing the main shaft position commands r s (i+M−1), r s (i+M−2), . . . , r s (i−K−N b +1) by the main shaft position command increment Δr s  stored in the memory  7 ; and means for determining the prediction value Δy s *(i+m), m=D+1, D+2, . . . , D+M of the main shaft position increment by the following equation according to the main shaft position command r s  and the main shaft position increment Δy s  which is stored in the memory  8 .                Δ                   y   s     *     (     i   +   m     )       =         ∑     n   =   K         N   a     +   K   -   1              A   mn        Δ                     y   s          (     i   -   n     )           +       ∑     n   =   1         N   b     +   K   +   m   -   1              B   mn        Δ                     r   s          (     i   +   m   -   n     )                     (   4   )                         
     In this case, N a , N b , A mn  and B mn  are constants found by the dynamic characteristic model of the main shaft device  2  including the delay factor 4. 
     First, equation (2) is introduced. If a transfer function model from the main shaft position command r s (i) to the main shaft position y s (i) is obtained by the discrete-time system expressed by the equation of:                    G   ry          (   z   )       =           b   1          Z     -   1         +   ⋯   +       b     N   b            Z     -     N   b               1   -       a   1          Z     -   1         -   ⋯   -       a     N   a            Z     -     N   a                 ,           (   5   )                         
     the input and output model can be expressed by the following equation.                    y   ^     s          (   i   )       =         ∑     n   =   1       N   a              a   n                         y   ^     s          (     i   -   n     )           +       ∑     n   =   1       N   b              b   n                       r   s          (     i   -   n     )                     (   6   )                         
     At the time i, the measured value y s (i−n) (n≧K) of the main shaft position to the time (i−K) is obtained. Therefore, the model estimate of the main shaft position after that can be expressed by the following equation. 
     The model estimate ŷ ; s (i+m) (m≧−K+1) is expressed by the measured values as follows.                      y   ^     s          (     i   -   K   +   1     )       =         ∑     n   =   1       N   a              a   n            y   s          (     i   -   K   +   1   -   n     )           +       ∑     n   =   1       N   b              b   n            r   s          (     i   -   K   +   1   -   n     )                               m   =       -   K     +   1               (7a)                       y   ^     s          (     i   +   m     )       =         ∑     n   =   1       m   +   K   -   1              a   n              y   ^     s          (     i   +   m   -   n     )           +       ∑     n   =     m   +   K         N   a              a   n            y   s          (     i   +   m   -   n     )           +       ∑     n   =   1       N   b              b   n            r   s          (     i   +   m   -   n     )                               m   &gt;       -   K     +   1               (7b)                         
     Therefore, the following equation can be obtained.                    y   s          (     i   +   m     )       =         ∑     n   =   K       m   +   K   -   1              a   mn            y   s          (     i   -   n     )           +       ∑     n   =   1         N   b     +   K   +   m   -   1                b   ^     mn            r   s          (     i   +   m   -   n     )                               m   ≥       -   K     +   1               (   8   )                         
     In this case, the coefficientsâ ; mn ,{circumflex over (b)} mn  can be given by the following equations.                          a   ^         (       -   K     +   1     )        n       =     a       (     n   -   K   +   1     )        n                 m   =       -   K     +   1       ,     K   ≤   n   ≤       N   a     +   K   -   1                       a   ^     mn     =         ∑     j   =   1       m   +   K   -   1              a   j            a   ^         (     m   -   j     )        n           +     a     (     n   +   m     )                   m   &gt;       -   K     +   1       ,     K   ≤   n   ≤       N   a     +   K   -   1                       b   ^         (       -   K     +   1     )        n       =     b   n               m   =       -   K     +   1       ,     1   ≤   n   ≤     N   b                       b   ^     mn     =         ∑     j   =   1       m   +   K   -   1              a   j            b   ^         (     m   -   j     )          (     n   -   j     )             +     b   n                 m   &gt;       -   K     +   1       ,     1   ≤   n   ≤       N   b     +                               K   +   m   -   1           }           (   9   )                         
     here, a n =0(n&gt;N a ), b n =0(n&gt;N b ), {circumflex over (b)} mn =0(n&lt;1). 
     When the main shaft position after the time (i−K) is predicted by the following equation, the above equation (2) can be obtained                  y   s     *     (     i   +   m     )       =           y   s          (     i   +   m     )       +       {         y   s          (     i   -   K     )       -       ∑     n   =   1       N   a              a   n            y   s          (     i   -   K   -   n     )           -       ∑     n   =   1       N   b              b   n            r   s          (     i   -   K   -   n     )             }                   m       ≥       -   K     +   1               (   10   )                         
     In this case, the coefficients A mn  and B mn  are given by the following equation and the equation (9).                        A   mK     =     1   +       a   ^     mK               n   =   K                 A   mn     =         a   ^     mn     -     a     (     n   -   K     )                   K   +   1     ≤   n   ≤       N   a     +   K                   B   mn     =         b   ^     mn     -     b     (     n   -   K   -   m     )                 1   ≤   n   ≤       N   b     +   K   +   m             }           (   11   )                         
     here, b n =0(n&lt;1), â ; m(N     a     +K) ={circumflex over (b)} m(N     b     +K+m) =0. 
     Next, the equation (3) is introduced. If the transfer function model from the main shaft position command increment Δr s (i) to the main shaft position increment Δy s (i) is obtained by the discrete-time system expressed by the following equation,                  G   dd          (   z   )       =           b   1          Z     -   1         +   ⋯   +       b     N   b            Z     -     N   b               1   -       a   1          Z     -   1         -   ⋯   -       a     N   a            Z     -     N   a                       (   12   )                         
     the input and output model can be expressed as follows.                Δ                       y   ^     s          (   i   )         =         ∑     n   =   1       N   a              a   n        Δ                       y   ^     s          (     i   -   n     )           +       ∑     n   =   1       N   b              b   n        Δ                     r   s          (     i   -   n     )                     (   13   )                         
     At the time i, the measured value Δy s (i−n) (n≧K) of the main shaft position increment to the time (i−K) is obtained. Therefore, when the main shaft position increment after that is predicted using the measured values by the following equation, the above equation (3) can be obtained.                  Δ                   y   s     *     (     i   -   K   +   1     )       =         ∑     n   =   1       N   a              a   n        Δ                     y   s          (     i   -   K   +   1   -   n     )           +       ∑     n   =   1       N   b              b   n        Δ                     r   s          (     i   -   K   +   1   -   n     )                               m   =       -   K     +   1               (14a)                   Δ                   y   s     *     (     i   +   m     )       =         ∑     n   =   1       m   +   K   -   1              a   n        Δ                   y   s     *     (     i   +   m   -   n     )         +       ∑     n   =     m   +   K         N   a              a   n        Δ                     y   s          (     i   +   m   -   n     )           +       ∑     n   =   1       N   b              b   n        Δ                     r   s          (     i   +   m   -   n     )                               m   &gt;       -   K     +   1               (14b)                         
     In this case, the coefficients A mn  and B mn  are given by the following equations.                        A       (       -   K     +   1     )        n       =     a     (     n   -   K   +   1     )                 m   =       -   K     +   1       ,     K   ≤   n   ≤       N   a     +   K   -   1                     A   mn     =         ∑     j   =   1       m   +   K   -   1              a   j          A       (     m   -   j     )        n           +     a     (     n   +   m     )                   m   &gt;       -   K     +   1       ,     K   ≤   n   ≤       N   a     +   K   -   1                     B       (       -   K     +   1     )        n       =     b   n               m   =       -   K     +   1       ,     1   ≤   n   ≤     N   b                     B   mn     =         ∑     j   =   1       m   +   K   -   1              a   j          B       (     m   -   j     )          (     n   -   j     )             +     b   n                 m   &gt;       -   K     +   1       ,     1   ≤   n   ≤       N   b     +                               K   +   m   -   1           }           (   15   )                         
     here, a n =0(n&gt;N a ), b n =0(n&gt;N b ), B mn =0(n&lt;1). 
     Next, the equation (4) is introduced. If the transfer function model from the main shaft position command r s (i) to the main shaft position increment Δy s (i) is obtained by the discrete-time system expressed by the following equation,                  G     r                 d            (   z   )       =           b   1          Z     -   1         +   ⋯   +       b     N   b            Z     -     N   b               1   -       a   1          Z     -   1         -   ⋯   -       a     N   a            Z     -     N   a                       (   16   )                         
     the input and output model can be expressed as follows.                Δ                       y   ^     s          (   i   )         =         ∑     n   =   1       N   a              a   n        Δ                       y   ^     s          (     i   -   n     )           +       ∑     n   =   1       N   b              b   n                       r   s          (     i   -   n     )                     (   17   )                         
     At the time i, the measured value Δy s (i−n) (n≧K) of the main shaft position increment to the time (i−K) is obtained. Therefore, when the main shaft position increment after that is predicted using the measured values by the following equation, the above equation (4) can be obtained.                  Δ                   y   s     *     (     i   -   K   +   1     )       =         ∑     n   =   1       N   a              a   n        Δ                     y   s          (     i   -   K   +   1   -   n     )           +       ∑     n   =   1       N   b              b   n                       r   s          (     i   -   K   +   1   -   n     )                               m   =       -   K     +   1               (18a)                   Δ                   y   s     *     (     i   +   m     )       =         ∑     n   =   1       m   +   K   -   1              a   n        Δ                   y   s     *     (     i   +   m   -   n     )         +       ∑     n   =     m   +   K         N   a              a   n        Δ                     y   s          (     i   +   m   -   n     )           +       ∑     n   =   1       N   b              b   n                       r   s          (     i   +   m   -   n     )                               m   &gt;       -   K     +   1               (18b)                         
     In this case, the coefficients A mn  and B mn  are given by the following equations.                        A       (       -   K     +   1     )        n       =     a     (     n   -   K   +   1     )                 m   =       -   K     +   1       ,     K   ≤   n   ≤       N   a     +   K   -   1                     A   mn     =         ∑     j   =   1       m   +   K   -   1              a   j          A       (     m   -   j     )        n           +     a     (     n   +   m     )                   m   &gt;       -   K     +   1       ,     K   ≤   n   ≤       N   a     +   K   -   1                     B       (       -   K     +   1     )        n       =     b   n               m   =       -   K     +   1       ,     1   ≤   n   ≤     N   b                     B   mn     =         ∑     j   =   1       m   +   K   -   1              a   j          B       (     m   -   j     )          (     n   -   j     )             +     b   n                 m   &gt;       -   K     +   1       ,     1   ≤   n   ≤       N   b     +                               K   +   m   -   1           }           (   19   )                         
     here, a n =0(n&gt;N a ), b n =0(n&gt;N b ) B mn =0(n&lt;1). 
     When the sampling periods of the main shaft device  2  and the subsidiary shaft device  3  are 1/n of that of the command generating device  1 , the inputted position command increment may be multiplied by the multiplier of 1/n. 
     As described above, the synchronous control apparatus of the first embodiment comprises: a command generating device  1 ; a main shaft device  2 ; and a subsidiary shaft device  3 , and further the command generating device  1  includes: a memory  7  for storing the main shaft position command increments inputted into a plurality of time points from the past to the present; an output means  7 ′ for outputting the main shaft position command increment Δr s (i) inputted at sampling of (M−1) times before out of the values stored in the memory  7 ; a memory  8  for storing the main shaft position increments inputted into a plurality of time points from the past to the present; a calculator  9  for finding prediction values of a plurality of main shaft position increments for several times of future samplings by the dynamic characteristic model of the main shaft device including the delay corresponding to d times of the samplings and also by the stored main shaft position command increments and the main shaft position increment; and a converter  10  for finding a plurality of subsidiary shaft future position command increments by a plurality of prediction values of the main shaft position increments obtained by the calculator. Due to the above arrangement, it is possible to realize a synchronous control of high accuracy. Further, it is possible to provide a synchronous control apparatus, the accuracy of synchronization of which is not deteriorated even if the input of the position command and the detection of the main shaft position are delayed. 
     FIG. 2 is a block diagram showing a configuration of the synchronous control apparatus according to the second embodiment of the present invention. Same reference numerals are used to indicate common parts in FIGS. 1 and 2. In the synchronous control apparatus of the first embodiment, there is a possibility that the accuracy of synchronization is deteriorated when the dynamic characteristic of the main shaft in the case of normal rotation and that in the case of reverse rotation are different from each other. In order to solve the above problems, the synchronous control apparatus of the second embodiment includes a fine adjustment device  21  having a function of changing over the multiplier K 1  according to the positive and the negative of the main position increment Δy s . 
     The fine adjustment device  21  outputs a signal obtained when the signal K 2 Δr s , which is obtained by multiplying the main shaft position command increment Δr s  stored in the memory  7  of the command generating device  1  by a multiplier, and the signal K 1 Δy s  obtained by multiplying the main shaft position increment Δy s  (or K 1 Δy s * obtained by multiplying the prediction value Δy s * of the main shaft position increment) stored in the memory  8  of the command generating device  1  by a multiplier, are added to each other. As described above, the multipliers K 1  and K 2  are, parameters used for fine adjustment of asynchronization. These multipliers K 1  and K 2  are previously stored in the fine adjustment device  21  in the process of adjustment. Especially, concerning the multiplier K 1 , two types of multipliers K 1P  and K 1N  are stored so that they can be used in the normal and the reverse rotation of the main shaft. When the main shaft position increment Δy s (i−K) is not less than zero, the multiplier K 1P  is used, and when the main shaft position increment Δy s (i−K) is negative, the multiplier K 1N  is used. 
     Setting of K 1P  and K 1N  is conducted as follows. First, the adjustment is conducted under the condition that the main shaft is rotated normally, and the multiplier K 1P  for normal rotation is set and stored. Next, the adjustment is conducted again under the condition that the main shaft is rotated reversely, and the multiplier K 1N =K 1P +K PN  for reverse rotation is set and stored. In this case, K PN  is a coefficient used for correcting a difference of the dynamic characteristic of the main shaft. K 1N  may be calculated by the above equation while K PN  is stored instead of K 1N . In this connection, K 2  is set so that the asynchronization can be reduced when the main shaft is in an accelerating and decelerating condition. 
     As described above, the second embodiment includes a fine adjustment device  21  for inputting a signal, which is obtained when a signal, in which the increment in the sampling period of the main shaft position or the prediction value is multiplied by the multiplier of K 1 , and a signal, in which the main shaft position command increment is multiplied by the multiplier of K 2 , are added to each other, into the subsidiary shaft motor control device as a fine adjustment signal for adjusting the asynchronization. In this case, two types of multipliers K 1  are stored and changed over according to the positive and negative of the main shaft position increment. Due to the foregoing, even if the dynamic characteristic of the main shaft in the case of normal rotation and that in the case of reverse rotation are different from each other, it is possible to provide a synchronous control apparatus, the accuracy of synchronization of which is not deteriorated. 
     FIG. 3 is a block diagram showing a configuration of the synchronous control apparatus according to the third embodiment of the present invention. Same reference numerals are used to indicate common parts in FIGS. 1 and 3. 
     In the synchronous control apparatus of the first embodiment, there is a possibility that the prediction accuracy of the main shaft position increment is somewhat deteriorated by the torque saturation or disturbance torque. In order to solve the above problems, in the synchronous control apparatus of the third embodiment, a prediction value, which was found in the sampling of 1 time before, is considered when the prediction value of the main shaft position increment is found. 
     In FIG. 3, at the present moment i, an increment Δr s (i+M−1) in the sampling period of the main shaft position command and an increment Δy s (i−K) of the main shaft position at the sampling of K (K≧0) times before are inputted into the command generating device  1 , and the command generating device  1  outputs an increment Δr s (i) of the main shaft position command at the present moment and a plurality of increments Δr z (i+m), m=D+1, D+2, . . . , D+M of the subsidiary shaft future position command, which are for several times of future samplings, are outputted from the command generating device  1 . 
     The calculator  22  finds a plurality of prediction values Δy s *(i+m), m=D, D+1, D+2, . . . , D+M of the main shaft position increment for several times of future samplings by the dynamic characteristic model of the main shaft device  2  including the delay factor 4 and also by the stored main shaft position command increment and the main shaft position increment. The converter  10  finds a plurality of subsidiary shaft future position command increments Δr z (i+m), m=D, D+1, D+2, . . . , D+M by the prediction values of a plurality of main shaft position increments which have been obtained. 
     A plurality of subsidiary shaft future position command increments are delayed by D (D≧0) times of samplings according to the delay factor 6, and Δr z  (i+m), m=0, 1, 2, . . . , M are inputted into the subsidiary shaft device 3. The predictive controller  15  determines the speed command v(i) by predictive control so that the position of the subsidiary shaft for several times of future samplings, which has been predicted by the dynamic characteristic model of the subsidiary shaft motor  17  including the subsidiary shaft controller  16  and also predicted by the subsidiary shaft position increment Δy z (i), can be made to coincide with the subsidiary shaft future position commands r z  (i+m), m=1, 2, . . . , M which are determined by a plurality of subsidiary shaft future position command increments Δr z  (i+m), m=1, 2, . . . , M. In the case where the predictive controller disclosed in Japanese Patent Application No. 5-197956 is used for this predictive controller  15 , the speed command v(i) is determined by the following equation.                v        (   i   )       =         ∑     m   =   1       M   z              v   m        Δ                     r   z          (     i   +   m     )           -       ∑     n   =   0         N   az     -   1              p   n        Δ                     y   z          (     i   -   n     )           +     Ee        (   i   )       -       ∑     n   =   1         N   bz     -   1              g   n          v        (     i   -   n     )                     (   20   )                         
     where M z  is a prediction horizon, e(i) is a positional deviation(=r z (i)−y z (i)), N az , N bz  are degrees of the dynamic characteristic model of the subsidiary shaft, and v m , p n , E, g n  are constants for predictive control. 
     The speed command v(i) found by the predictive control is added by the adder  20  to an output signal of a fine adjustment device  19  which is delayed by D (D≧0) times of the samplings from the v(i), and the thus added value is inputted into the subsidiary shaft controller  16  as a speed command. 
     The fine adjustment device  19  outputs a signal in which the signal K 2 Δr s , which is obtained when the main shaft position command increment Δr s  stored in the memory  7  of the command generating device  1  is multiplied by a multiplier, and the signal K 1 Δy s  obtained by multiplying the main shaft position increment Δy s  (or K 1 Δy s * obtained by multiplying the prediction value Δy s * of the main shaft position increment) stored in the memory  8  of the command generating device  1  by a multiplier, are added to each other. In this case, the multipliers K 1  and K 2  are variable, and can be used for fine adjustment of asynchronization. 
     The calculator  22  includes: means for calculating and storing the main shaft position commands r s (i+M−1), r s (i+M−2), . . . , r s (i−K−N b ) by the main shaft position command increment Δr s  stored in the memory  7 ; means for calculating and storing the main shaft positions y s (i−K), y s (i−K−1), . . . , y s (i−K−N a ) by the main shaft position increment Δy s  stored in the memory  8 ; and means for determining the prediction value Δy s *(i+m), m=D+1, D+2, . . . , D+M of the main shaft position increment by the following equation according to the main shaft position command r s  and the main shaft position y s  which are stored in these means.                  y   s     *     (     i   +     m   i       )       =         ∑     n   =   K         N   a     +   K              A   mn            y   s          (     i   -   n     )           +       ∑     n   =   1         N   b     +   K   +   m              B   mn            r   s          (     i   +   m   -   n     )                     (   21   )                   Δ                   y   s     *     (     i   +   D     )       =       Δ                   y   s     *     (     i   +     D   i       )       -     Δ                   y   s     *     (     i   -   1   +     D     i   -   1         )                                      m   =   D             (22a)                   Δ                   y   s     *     (     i   +   m     )       =       Δ                   y   s     *     (     i   +     m   i       )       -     Δ                   y   s     *     (     i   +   m   -     1   i       )                                        m   =     D   +   1       ,     D   +   2     ,   …              ,     D   +   M               (22b)                         
     here,          y   s     *     (       i   2       i   1       )                     
     is a predicted value of the main shaft position at the time i 2  which is predicted at the time i 1 . 
     When the discrete-time system expressed by the equation of                    G   ry          (   z   )       =           b   1          Z     -   1         +   ⋯   +       b     N   b            Z     -     N   b               1   -       a   1          Z     -   1         -   ⋯   -       a     N   a            Z     -     N   a                 ,           (   23   )                         
     is used as a transfer function model from the main shaft position command r s (i) to the main shaft position y s (i), the coefficients A mn  and B mn  can be given by the following equations in the same manner as that of the synchronous control apparatus of the first embodiment.                        A   mK     =     1   +       a   ^     mK               n   =   K                 A   mn     =         a   ^     mn     -     a     (     n   -   K     )                   K   +   1     ≤   n   ≤       N   a     +   K                   B   mn     =         b   ^     mn     -     b     (     n   -   K   -   m     )                 1   ≤   n   ≤       N   b     +   K   +   m             }           (   24   )                         
     here, b n =0(n&lt;1), â ; m(N     a     +K) ={circumflex over (b)} m(N     b     +K+m) =0.                          a   ^         (       -   K     +   1     )        n       =     a     (     n   -   K   +   1     )                 m   =       -   K     +   1       ,     K   ≤   n   ≤       N   a     +   K   -   1                       a   ^     mn     =         ∑     j   =   1       m   +   K   -   1              a   j            a   ^         (     m   -   j     )        n           +     a     (     n   +   m     )                   m   &gt;       -   K     +   1       ,     K   ≤   n   ≤       N   a     +   K   -   1                       b   ^         (       -   K     +   1     )        n       =     b   n               m   =       -   K     +   1       ,     1   ≤   n   ≤     N   b                       b   ^     mn     =         ∑     j   =   1       m   +   K   -   1              a   j            b   ^         (     m   -   j     )          (     n   -   j     )             +     b   n                 m   &gt;       -   K     +   1       ,     1   ≤   n   ≤       N   b     +                               K   +   m   -   1           }           (   25   )                         
     here, a n =0(n&gt;N a ), b n =0(n&gt;N b ), {circumflex over (b)} mn =0(n&lt;1). 
     As described above, the synchronous control apparatus of the third embodiment includes: a command generating device  1  for finding and outputting the subsidiary shaft future position command increment Δr z  by the predicted value of the main shaft position increment; a main shaft device  2  for outputting the main shaft position increment Δy s ; a subsidiary shaft device  3  for conducting the predictive control on the subsidiary shaft motor  17 ; and a fine adjustment device  19  for inputting a fine adjustment signal to correct the asynchronization into the subsidiary shaft device  3 , wherein the predicted value of the main shaft position increment is determined by the calculator  22  according to the predicted value of the main shaft position which has been predicted at the time (i−1) before one sampling. Due to the foregoing, it is possible to provide a synchronous control apparatus, the prediction accuracy of the main shaft position increment of which is not deteriorated by the torque saturation or the disturbance torque. 
     As described above, it is possible for the present invention to provide a synchronous control apparatus capable of conducting a synchronous motion of an accuracy higher than that of the prior art irrespective of the delay of input of the position command increment and also irrespective of the delay of detection of the main shaft position increment. 
     According to the present invention, it is possible to correct a difference between the dynamic characteristic in the case of normal rotation of the main shaft and the dynamic characteristic in the case of reverse rotation. Therefore, it is possible to realize a synchronous control apparatus capable of conducting a synchronous motion, the accuracy of which is higher than that of the synchronous control apparatus of the prior art. 
     According to the present invention, when the predicted value of the main shaft position increment is found, the predicted value which was found in the past by one sampling is considered. Therefore, the accuracy of prediction of the main shaft position increment is enhanced to be higher than that of the conventional apparatus. As a result, it is possible to realize a synchronous control apparatus, the accuracy of synchronous motion of which is higher than that of the prior art.