Abstract:
A numerical controller using table format data, the numerical controller including a memory which stores table format data, in which time or a position of a spindle or feed shaft serving as a reference is arranged so as to correspond to a position of a spindle or feed shaft other than the spindle or feed shaft of which position serves as a reference or an output of an auxiliary function, a reference value counter which inputs the time or the position of the spindle or feed shaft serving as a reference, wherein the position of the spindle or feed shaft other than the spindle or feed shaft of which position serves as a reference or the output of the auxiliary function is controlled.

Description:
RELATED APPLICATION DATA 
     This application claims priority under 35 U.S.C. §119 and/or §365 to Japanese Application No. 2011-103770 filed May 6, 2011, the entire contents of which is incorporated herein by reference. 
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a numerical controller which controls a machine tool. Particularly, the present invention relates to a numerical controller having a function of driving and controlling each shaft of a machine tool based on data stored in a table format. 
     2. Description of the Related Art 
     There is a well-known numerical controller having a function (path table operation) of storing, in a memory, table format data (path table) in which a position of an axis is set on the basis of time, a spindle position or a feed shaft position serving as a reference, not on the basis of instructions in a block of an NC program, and driving each axis of a machine tool while reading out the table format data in sequence (see Japanese Patent Application Laid-Open Nos. 59-177604 and 2003-303005). This constitution allows free operation of tools regardless of instructions from a block of a machining program, and reduction in machining time and enhancement of accuracy of machining can be realized. 
       FIGS. 10, 11A and 11B  are block diagrams of a path table operation disclosed in Japanese Patent Application Laid-Open No. 2003-303005 and views showing an example of a path table. 
     A numerical controller shown in  FIG. 10 , which performs the path table operation, includes a reference value counter  1 , an X-axis path table Tx, a Z-axis path table Tz, an X-axis path table interpolation processing unit  4   x , a Z-axis path table interpolation processing unit  4   z , an X-axis motor  5   x  of a feed shaft, and a Z-axis motor  5   z . A path table of  FIG. 11B  shows an example of the X-axis path table Tx, and the position of the X axis is stored with respect to time, a spindle position, or a feed shaft position. A graph of  FIG. 11A  is a graph showing the position of the X axis moved based on the path table Tx of  FIG. 11B . 
     Japanese Patent Application Laid-Open No. 2006-302208 discloses an operation based on table format data wherein a unique reference value is provided for each of a plurality of paths so that the table format data belonging to each of the paths is operated with the use of the reference value corresponding to the path and a technique of waiting for the operation of the table format data of the plurality of paths. 
       FIG. 12  is a block diagram of path table operation disclosed in Japanese Patent Application Laid-Open No. 2006-302208.  FIGS. 13A and 13B  are views showing an example of a path table when the path table operation is waited in two paths. 
     A numerical controller shown in  FIG. 12 , which performs the path table operation, includes two paths including a path  1  and a path  2 . The paths  1  and  2  respectively include X-axis path table T 1   x  for path  1 , Z-axis path table T 2   z  for path  2 , a reference value counter  1  ( 3 - 1 ), a reference value counter  2  ( 3 - 2 ), X-axis path table interpolation processing unit ( 4 - 1   x ) for path  1 , a Z-axis path table interpolation processing unit ( 4 - 2   z ) for path  2 , X-axis motor ( 5 - 1   x ) for path  1 , and Z-axis motor ( 5 - 2   z ) for path  2 .  FIG. 13A  shows an X-axis path table for path  1 .  FIG. 13B  shows a Z-axis path table for path  2 . In the X axis of path  1  and the Z axis of path  2 , waiting is performed by a path waiting command P 12  at a reference time or position. 
     In the operation based on the table format data (path table operation), a time of passing through each point in a program path is designated by the table format data, whereby all axes are operated in synchronism with a reference time. Similarly, a time of outputting a command to a spindle and an auxiliary function command is designated by the table format data, whereby all the spindle commands and the auxiliary function commands are output in synchronism with the reference time. In the conventional operation based on the table format data, since it is assumed that all axes in a path, a spindle, and an auxiliary function are operated in synchronism with one another, the reference time is shared in a path (see  FIG. 10 ). 
     When an external apparatus such as an actuator using oil pressure and air pressure is controlled by the auxiliary function, a time from output of the auxiliary function to completion of the operation of the external apparatus may be indefinite. In the operation based on the table format data, when an auxiliary function in which an operating time is indefinite is executed, and, at the same time, the spindle or the feed shaft is driven, there are following two methods: 
     1) while the table format data of the auxiliary function in which a surplus time is added to a maximum operating time of the auxiliary function and the table format data of the spindle or the feed shaft are read out in sequence from a memory, the auxiliary function is executed, and the spindle and the feed shaft are driven (see  FIGS. 14A to 14C  and  FIG. 15 ). 
     2) counting of reference is stopped from the start of the execution of the auxiliary function to the end thereof, and meanwhile, the spindle and the feed shaft are stopped (see  FIGS. 16A to 16C  and  FIG. 17 ). 
     In the method of 1), the surplus time is added to the maximum operating time of the auxiliary function, whereby since the table format data of the auxiliary function is longer than an actual operating time, there is a problem that a cycle time is increased. When operation is performed by a path table with a path table number  1000  shown in  FIGS. 14A to 14C , as shown in  FIG. 15 , a time obtained by adding a surplus time to the maximum operating time of an auxiliary function M1234 in which operating time is indefinite and which is instructed at L2.0 is L2.0 to L7.0, and therefore, even if M1234 is completed at L5.0, the next auxiliary function, M2345, cannot be output up to L8.0. For example in  FIG. 15 , the maximum operating time of M1234 plus surplus time includes L2.0 to L7.0, even though M1234 is completed at L5.0 in the Path Table. The next auxiliary function can be output from this point. 
     In the method of 2), since the feed shaft and the spindle cannot be driven while counting of reference is stopped, machining and machining preparation cannot be performed during execution of the auxiliary function, and therefore, there is a problem that the cycle time is increased. When the operation using the path table with a path table number  2000  shown in  FIGS. 16A to 16C  is performed, counting of a reference time is stopped until completion of the auxiliary function M1234 which is instructed at L2.0 and in which the operating time is indefinite, and therefore, the operations of the feed shaft and the spindle are stopped in the meantime (see  FIG. 17 ). For example in  FIG. 17 , time serving as reference is stopped until completion of M1234, and meanwhile, feed shaft and spindle are stopped. Time serving as reference is started after completion of M1234, and feed shaft and spindle are operable from the point on the table of  FIG. 17  with reference time of 3.0. 
     SUMMARY OF THE INVENTION 
     Thus, an object of the present invention is to provide a numerical controller which can prevent extension of a cycle time by executing an auxiliary function in which an operating time is indefinite and has a function of operation based on table format data. 
     In order to achieve the above object, a numerical controller according to the present invention includes: a memory which stores table format data, in which time or a position of a spindle or feed shaft serving as a reference is arranged so as to correspond to a position of a spindle or feed shaft other than the spindle or feed shaft of which position serves as a reference or an output of an auxiliary function, for each of the spindle or feed shaft other than the spindle or feed shaft of which position serves as a reference or the auxiliary function; and a reference value counter which inputs the time or the position of the spindle or feed shaft serving as a reference, wherein, sequentially reading the position of the spindle or feed shaft other than the spindle or feed shaft of which position serves as a reference or the output of the auxiliary function in synchronization with the value of the reference value counter, the position of the spindle or feed shaft other than the spindle or feed shaft of which position serves as a reference or the output of the auxiliary function is controlled. And the reference value counter is provided for each spindle or feed shaft other than the spindle or feed shaft of which position serves as a reference or for each auxiliary function, and, each of the table format data is executed based on each value of the reference value counter. 
     The numerical controller may further comprise a reset unit which independently resets the reference value counter, and a stop/restart unit which independently stops and restarts the reference value counter. 
     The numerical controller may further comprise a reference value counter selection unit which arbitrarily selects the reference value counter for each spindle, each feed shaft, or each auxiliary function. 
     The table format data for each spindle, the table format data for each feed shaft, or the table format data for each auxiliary function may include a waiting code that waits for operation using another table format data. 
     The waiting code may include information which specifies the table format data to be waited. 
     The waiting code may designate the table format data of another path to be waited by the table format data of the path which includes the waiting code. 
     The waiting code may instruct waiting in a path including the waiting code. 
     According to the present invention, there can be provided a numerical controller which can prevent extension of a cycle time by executing an auxiliary function in which an operating time is indefinite and has a function of operation based on table format data. In other words, according to the present invention, while counting of the reference of the auxiliary function is stopped at the start of execution of the auxiliary function with the indefinite operating time and counting of the reference of the auxiliary function is restarted at the end of the execution of the auxiliary function, the spindle and the feed shaft can execute the table format data based on their own reference, and therefore, the cycle time can be reduced in comparison with the conventional operation based on the table format data. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The aforementioned and other objects and features of the present invention will be apparent from the following description of embodiments with reference to the accompanying drawings, in which: 
         FIG. 1  is a view for explaining a general outline of a function of operation based on table format data of a numerical controller according to the present invention; 
         FIG. 2  is a block diagram explaining a general outline of operation based on the table format data in a three-path system; 
         FIGS. 3A to 3C  are views for explaining the table format data used for the operation based on the table format data, including waiting in a path in a single-path system, wherein a reference value is set based on time; 
         FIG. 4  is a view for explaining the result of operation of the table format data as shown in  FIGS. 3A to 3C ; 
         FIGS. 5A to 5C  are views for explaining a path table used for the operation based on the table format data, including waiting between paths in the three-path system; 
         FIG. 6  is a view for explaining the result of operation of the table format data as shown in  FIGS. 5A to 5C ; 
         FIG. 7  is a flow chart showing a processing of the operation based on the table format data of an auxiliary function of the numerical controller according to the present invention; 
         FIG. 8  is a flow chart of operation processing using the table format data of a spindle or a feed shaft which the numerical controller according to the present invention has; 
         FIG. 9  is a block diagram of a relevant unit of the numerical controller having a function of performing operation based on the table format data (path table), according to the present invention; 
         FIG. 10  is a block diagram explaining a general outline of the operation based on the table format data (path table) disclosed in Japanese Patent Application Laid-Open No. 2003-303005; 
         FIGS. 11A and 11B  are views showing an example of the table format data; 
         FIG. 12  is a block diagram explaining a general outline of the operation based on the table format data (path table) disclosed in Japanese Patent Application Laid-Open No. 2006-302208; 
         FIGS. 13A and 13B  are views showing an example of the table format data in case where the operation based on the table format data is waited in two paths; 
         FIGS. 14A to 14C  are views for explaining a path table used when the operation based on the table format data is performed by the conventional first method; 
         FIG. 15  is a view for explaining the result of operation of the table format data as shown in  FIGS. 14A to 14C ; 
         FIGS. 16A to 16C  are views for explaining a path table used when the operation based on the table format data is performed by the conventional second method; and 
         FIG. 17  is a view for explaining the result of operation of the table format data as shown in  FIGS. 16A to 16C  are operated. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The present invention allows more flexible control by providing a unique reference for each table format data such as a spindle, a feed shaft, and an auxiliary function in an operation using a table format data, so that the cycle time can be reduced. In the present invention, there is provided means that stops counting of reference in the table format data of the auxiliary function, while an auxiliary function in which the operating time is indefinite is executed, but continuously performs counting of reference in the table format data of the feed shaft and the spindle. As a result, although it is considered that the reference is shifted for each table format data, there is provided means that waits for the operation of the table format data for each feed shaft, the operation of the table format data for each spindle, and the operation of the table format data for each auxiliary function, and therefore, one operation can be synchronized with another operation according to need. 
       FIG. 1  is a view for explaining a general outline of a function of operation based on table format data of a numerical controller according to the present invention. 
     The numerical controller shown in  FIG. 1  includes a first reference value counter  3   a , a second reference value counter  3   b , a third reference value counter  3   c , an X-axis path table Tx, a spindle path table Ts, an auxiliary function path table Tm, an X-axis path table interpolation processing unit  4   x , a spindle path table interpolation processing unit  4   s , an auxiliary function path table output processing unit  4   m , an X-axis motor  5   x , and a spindle motor  5   s.    
     The first reference value counter  3   a , the second reference value counter  3   b , and the third reference value counter  3   c  count a signal (time) from a clock function of the numerical controller or a position detection signal (spindle position or feed shaft position) from a position detector attached to each feed shaft and spindle. When the first reference value counter  3   a , the second reference value counter  3   b , and the third reference value counter  3   c  receive a counting reset signal, respectively, they return a count value to an initial value. When these counters receive a stop signal, respectively, they stop updating of a count value. When they receive a restart signal, respectively, they restart the updating of the count value. 
     In an embodiment of the numerical controller according to the present invention, there are provided change-over switches  6   a ,  6   b  and  6   c  for arbitrarily switching the reference values from the first reference value counter  3   a , the second reference value counter  3   b , and the third reference value counter  3   c  and selecting the reference values. For example, path table operations of the X-axis path table Tx, the spindle path table Ts, and the auxiliary function path table Tm may be carried out based on the reference values from the first reference value counter  3   a , from the second reference value counter  3   b , and from the third reference value counter  3   c , respectively. Alternatively, by setting the change-over switches  6   a ,  6   b  and  6   c , path table operations of all of the path tables Tx, Ts and Tm may be carried out based on the reference value from the first reference value counter  3   a.    
       FIG. 2  is a block diagram explaining a general outline of operation based on the table format data in a three-path system. 
     The numerical controller according to an embodiment of the present invention shown in  FIG. 2  includes the first reference value counter  3   a , the second reference value counter  3   b , and the third reference value counter  3   c , each of which independently counts time, a spindle position, or a feed shaft position, and further includes an X-axis path table T 1   x  of a path  1 , a spindle path table T 2   s  of a path  2 , an auxiliary function path table T 3   m  of a path  3 , an X-axis path table interpolation processing unit  4 - 1   x  of path  1 , a spindle path table interpolation processing unit  4 - 2   s  of path  2 , an auxiliary function path table output processing unit  4 - 3   m  of path  3 , an X-axis motor  5 - 1   x  of path  1 , and a spindle motor  5 - 2   s.    
     The first reference value counter  3   a , the second reference value counter  3   b , and the third reference value counter  3   c  count a signal from the clock function of the numerical controller or the position detection signal from the position detector attached to each feed shaft and spindle. When the first reference value counter  3   a , the second reference value counter  3   b , and the third reference value counter  3   c  receive the counting reset signal, they return the count value to the initial value. When these counters receive the stop signal, they stop updating of the count value. When they receive the restart signal, they restart the updating of the count value. 
     The numerical controller according to an embodiment of the present invention includes the change-over switches  6   a ,  6   b  and  6   c  for arbitrarily switching the reference values from the first reference value counter  3   a , the second reference value counter  3   b  and the third reference value counter  3   c  and selecting the reference values. For example, path table operations of the X-axis path table Tx, the spindle path table Ts and the auxiliary function path table Tm can be carried out based on the reference values from the first reference value counter  3   a , the reference value from the second reference value counter  3   b , and the reference valued from the third reference value counter  3   c , respectively. Alternatively, by setting the change-over switches  6   a ,  6   b  and  6   c , path table operations of all of the path tables Tx, Ts and Tm can be carried out based on the reference value from the first reference value counter  3   a.    
     Embodiments of Waiting in Path 
       FIGS. 3A to 3C  are views for explaining the table format data used for the operation based on the table format data, including waiting in a path in a single-path system. In this case, a reference value is set based on time. As shown in  FIGS. 3A to 3C , each table format data has a time serving as a unique reference. 
     The auxiliary function outputs an auxiliary function M1234 in which operating time is indefinite at L2.0 and then stops counting time serving as a reference. Since the times serving as references for the X axis and the spindle S are each independent of the time serving as a reference for the auxiliary function, the X axis and the spindle S are operable, free of influence of the stoppage of the time serving as a reference for the auxiliary function. 
     After completion of the auxiliary function M1234 with the indefinite operating time, a waiting command WAIT (X, S, M) is instructed according to need, whereby the operation can be synchronized among the X axis, the spindle S, and the auxiliary function. After completion of waiting, the times serving as references for the X axis and the spindle S are started from L5.0, and, at the same time, the time serving as a reference for the auxiliary function is started from L3.0. 
       FIG. 4  is a view for explaining the result of operation of the table format data as shown in  FIGS. 3A to 3C . 
     When synchronization of operation is required, waiting is performed. When the path tables of the X axis (feed shaft), the spindle S and the auxiliary function are operated, the X axis and the spindle S wait for the auxiliary function according to the waiting command (WAIT (X, S, M)) at L5.0, and the operation is synchronized among the X axis, the spindle S and the auxiliary function. In the waiting command (WAIT (X, S, M)), waiting among the X axis, the spindle S and the auxiliary function in a path is designated. The time serving as a reference, used in the operation of the path table Tm of the auxiliary function, is stopped until the completion of M1234. Although time (ms) serving as reference is stopped for only auxiliary function until completion of M1234, feed shaft and spindle are operable meanwhile. Meanwhile, counting of the time serving as a reference, used in the operation of the path table Tx of the X axis and the path table Ts of the spindle S is continued, as a result, the X axis and the spindle S are operable. 
     Embodiment of Waiting between Paths 
       FIGS. 5A to 5C  are views for explaining a path table used for the operation based on the table format data, including waiting between paths in the three-path system. In this case, a reference value is set based on time. As shown in  FIGS. 5A to 5C , each table format data has a time serving as a unique reference. 
     In the path table operation in paths  1  to  3 , waiting commands (WAIT (P 1 X, P 2 S, P 3 M)) are instructed at L5.0 of the path table T 1   x  of the X axis of path  1  and at L5.0 of the path table T 2   s  of the spindle S of path  2 , and waiting commands (WAIT (P 1 X,P 2 S,P 3 M)) are instructed at L3.0 of the path table T 3   m  of path  3 . The waiting command (WAIT (P 1 X, P 2 S, P 3 M)) designates which of the table format data of which of the paths is waited. In the waiting commands WAIT (P 1 X, P 2 S, P 3 M), waiting among the path table of the X axis of path  1 , the path table of the spindle S of path  2 , and the path table of the auxiliary function of path  3  is designated. In this embodiment, although the three-paths are described, this also applies to two paths, four paths, or more number of paths, and it is within the scope of the present invention to have a unique reference value (in this case, a time serving as a reference) for each table format data. 
       FIG. 6  is a view for explaining the result of operation of the table format data as shown in  FIGS. 5A to 5C . 
     The auxiliary function of path  3  outputs the auxiliary function M1234 in which operating time is indefinite at L2.0 and then stops counting of the time serving as a reference. Although time serving as reference is stopped only for auxiliary function until completion of M1234, spindle and shaft are operable meanwhile. Since the time serving as a reference for the X axis in path  1  and the time serving as a reference for the spindle S in path  2  are each independent of the time serving as a reference for the auxiliary function, the X axis and the spindle S are operable, free of influence of the stoppage of the time serving as a reference for the auxiliary function. 
     When synchronization of operation is required, waiting is performed. After completion of the auxiliary function M1234 in which operating time is indefinite, the waiting command WAIT (P 1 X, P 2 S, P 3 M) is instructed according to need, whereby the operation can be synchronized among the X axis, the spindle S and the auxiliary function. After completion of waiting, the times serving as references for the X axis and the spindle S are started from L5.0, and, at the same time, the time serving as a reference for the auxiliary function is started from L3.0. 
       FIG. 7  is a flow chart showing a processing of the operation using a table format data of the auxiliary function of the numerical controller according to the present invention. The flow chart describes processing in waiting in its own path and waiting in other paths. It is to be noted here that the table format data of the auxiliary function used in the operation processing is a path table. The processing will be described for respective steps as follows. 
     [Step SA 01 ] A value L serving as a reference in its own path table is read 
     [Step SA 02 ] Data of a next command reference value close to the value L serving as a reference read in step SA 01  is read from its own path table. 
     [Step SA 03 ] It is determined whether or not there is the command reference value read in step SA 02  in its own path table, and when there is the command reference value, the process proceeds to step SA 04 , and there is no command reference value, the process is terminated.
 
[Step SA 04 ] It is determined whether or not the value L serving as a reference reaches the command reference value in its own path table, and when the value L serving as a reference reaches the command reference value, the process proceeds to step SA 05 . When the value L serving as a reference does not reach the command reference value, the process returns to step SA 01 , and the processing is continued.
 
[Step SA 05 ] It is determined whether or not there is any waiting command of waiting for other path tables, and when there is a waiting command, the process proceeds to step SA 06 , and when there is no waiting command, the process proceeds to step SA 09 .
 
[Step SA 06 ] Counting of the value L serving as a reference is stopped.
 
[Step SA 07 ] It is determined whether or not waiting for the other path tables is completed, and when waiting is completed, the process proceeds to step SA 08 . When waiting is not completed, completion of waiting is waited.
 
[Step SA 08 ] Stopping of counting of the value L serving as a reference is released.
 
[Step SA 09 ] The command (of the auxiliary function) is executed, and the process is returned to step SA 01  to continue the processing.
 
       FIG. 8  is a flow chart of operation processing using the table format data of a spindle or a feed shaft of the numerical controller according to the present invention. The flow chart describes processing of waiting in its own path and waiting in other paths. 
     [Step SB 01 ] The value L serving as a reference in its own path table is read. 
     [Step SB 02 ] Data of a next command reference value close to the value L serving as a reference, read in step SB 01 , is read from its own path table. 
     [Step SB 03 ] It is determined whether or not there is any command reference value read in step SB 02  in its own path table, and when there is the command reference value, the process proceeds to step SB 04 , and there is no command reference value, the processing is terminated.
 
[Step SB 04 ] It is determined whether or not there is the waiting command of waiting for other path tables, and when there is a waiting command, the process proceeds to step SB 05 , and when there is no waiting command, the process proceeds to step SB 08 .
 
[Step SB 05 ] Counting of the value L serving as a reference is stopped.
 
[Step SB 06 ] It is determined whether or not waiting for the other path tables is completed, and when waiting is completed, the process proceeds to step SB 07 . When waiting is not completed, completion of waiting is waited.
 
[Step SB 07 ] Stopping of counting of the value L serving as a reference is released.
 
[Step SB 08 ] The interpolation processing is performed, and a movement command is output.
 
[Step SB 09 ] The value L serving as a reference in its own path table is read.
 
[Step SB 10 ] It is determined whether or not the value L serving as a reference, read in step SB 09 , reaches the command reference value read in step SB 02 , and when the reference value L does not reach the command reference value, the process returns to step SB 08 , and the processing is continued. When the reference value L reaches the command reference value, the process returns to step SB 02 , and the processing is continued.
 
       FIG. 9  is a block diagram of a relevant unit of the numerical controller having a function of performing operation based on the table format data (path table) according to the present inveniton. 
     A CPU  11  is a processor which controls the entire numerical controller  10 , reads out a system program stored in a ROM  12  through a bus  20 , and controls the entire numerical controller  10  according to the read system program. The RAM  13  stores temporary calculated data and displayed data and various data input by an operator through a display/MDI (manual data input) unit  70 . The SRAM  14  is backed up by a battery (not shown) and is configured as a non-volatile memory in which memory is held even if a power source of the numerical controller  10  is turned off. The SRAM  14  stores a machining program read through an interface  15  and a machining program and so on input through the display/MDI unit  70 . Further, each of the above table format data is previously stored in the SRAM  14 . In the ROM  12 , various system programs for performing creation of the machining programs and editing process are previously loaded. 
     The interface  15  allows connection between the numerical controller  10  and an external apparatus (not shown) such as an adapter. The machining program edited in the numerical controller  10  can be stored in an external storage device through an external apparatus. When a PMC (programmable machine controller)  16  performs control, the PMC  16  outputs a signal to an auxiliary device such as an actuator of a machining tool through an I/O unit  17  according to a sequence program loaded in the numerical controller  10 . Further, the PMC  16  receives a signal from various switches and so on of an operating panel of a main body of a machining tool, performs necessary signal processing, and then delivers the signal to the CPU  11 . 
     The display/MDI unit  70  is a manual data input device including a display, a keyboard and so on, and the interface  18  receives commands and data from the keyboard of the display/MDI unit  70  and delivers them to the CPU  11 . An interface  19  is connected to an operating panel  71  and receives various commands from the operating panel  71 . 
     Axis control circuits  30  and  31  of each feed shaft receive movement commands for the respective feed shafts from the CPU  11  and output the commands for the respective feed shafts to servo amplifiers  40  and  41 . Those serve amplifiers  40  and  41  receive commands for the respective feed shafts and drive serve motors  50   x  and  51   z  corresponding to each feed shaft. The servo motors  50   x  and  51   z  of each feed shaft include position/speed detector (not shown). The servo motors  50   x  and  51   z  feed back a position/speed feed back signal from the position/speed detector to the axis control circuits  30  and  31  and perform feed back control of a position and speed. In  FIG. 9 , the feed back of a position and speed is not described. 
     A spindle control circuit  60  receives a spindle rotation command and outputs a spindle speed signal to a spindle amplifier  61 . The spindle amplifier  61  receives the spindle speed signal and rotates a spindle motor  62  at an instructed rotation speed. A position detector  63  feeds back a feed-back pulse (reference pulse) and a one-rotation signal to the spindle control circuit  60  in synchronism with the rotation of the spindle motor  62 . The feed-back pulse and the one-rotation signal are used for speed control. 
     The feed-back pulse (reference pulse) and the one-rotation signal are read by the CPU  11  through the spindle control circuit  60 , and the feed-back pulse (reference pulse) is counted by a counter (corresponding to each reference value counter of  FIGS. 1, 2, 10, and 12 ) provided in the RAM  13 . An instruction pulse of the spindle may be counted. The counter provided in the RAM  13  counts a pulse number of a temporal signal obtained from a clock function of the numerical controller  10  or the pulse number obtained from the feed back signal from the feed shaft and obtains a reference signal (corresponding to “value L serving as a reference” of  FIGS. 7 and 8 ) in the path table operation. The instruction pulse of the feed shaft may be counted. 
     The numerical controller  10  may be constituted as either a single-path or a plurality of paths.