Abstract:
A numerical control device for controlling a first control axis configured to operate in shorter period than reference control period based on first input command input by a first external input device, wherein a movement command data calculation processing unit is configured to calculate a plurality of the movement command data commanding movement amount of axis to be moved by the first control axis during the reference control period and write the plurality of the movement command data in a first buffer in process of calculating the movement command data.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to a numerical control device, and more specifically a numerical control device for controlling high speed response control axis without shortening control period of entire numerical control device and generating wasting waiting time. 
         [0003]    2. Description of the Related Art 
         [0004]    A numerical control device, can perform response control to control a control axis to be controlled corresponding to input from an external input device (such as a signal generation device, a communication device). For example, in a machine for performing punch press machining, detection signal is input to a numerical control device when it is detected that a punching tool leaves from a workpiece after hole punching by a punching tool, while the numerical control device performs response control of table axes (X axis, Y axis) corresponding to the input signal and make the workpiece to a next punching point. 
         [0005]    In the device, high speed response with shortened control period of response control for responding as quickly as possible enables effective machining. However, in a conventional numerical control device, the control period of response control is fixed for each numerical control device, and all control axes has the same period. Therefore, it is impossible to shorten only the control period of the response control for a high response control axis which requires high speed response. In addition to that, it is possible to shorten the control period of response control by shortening the control period of entire numerical control device. However, since introduction of a high speed CPU, capable of completing all control processing in short control period, and the like, is required for shortening the control period of entire numerical control device, shortening of the control period can not be easily implemented. 
         [0006]    Concerning an outputting technique of interpolation command for a high speed control axis, Japanese Patent Laid-Open No. 01-184506 discloses a technique in which, n pieces of command at 1/n times period of normal period (entire device) are output together at the normal period (entire device), as shown in  FIG. 9 . 
         [0007]    There is a problem in the conventional numerical control device, that even when a command is input from an external device in short period for a high speed response control axis, wasting waiting time is generated from the input of command to response by the control axis, since the control axis can not read the command till the next control period. 
         [0008]    For example, in the numerical control device descried in Japanese Patent Laid-Open No. 01-184506, the control period of response control for responding to an input command form an external input device to control the axis is fixed for each control device. Therefore, even for a axis which requires high speed response to an input command from a high speed external input device, response control is performed in the normal control period. 
         [0009]      FIG. 10  shows a timing chart illustrating cyclic operation of an external device which outputs a command for a high speed control axis at ¼ times period of the normal control period and a numerical control device and servo control, in the numerical control device descried in Japanese Patent Laid-Open No. 01-184506. As shown in  FIG. 10 , the numerical control device descried in Japanese Patent Laid-Open No. 01-184506, even when a command is input at short period corresponding to period of servo control, since input detection processing and movement command calculation processing are executed in the normal period, the detection and the calculation of the movement command is waited until starting of the next control period in the control period of the numerical control machine. As a result, a case may happen in which the numerical control device can not perform high speed response and generates wasting waiting time. 
       SUMMARY OF THE INVENTION 
       [0010]    Here, an object of the present invention is to provide a numerical control device for controlling high speed response control axis without generating wasting waiting time. 
         [0011]    A numerical control device according to the present invention is the numerical control device for controlling a first control axis configured to operate in shorter period than reference control period based on first input command input by a first external input device, the numerical control device including a first buffer configured to store movement command data commanding axis movement amount of the first control axis, a movement command data calculation processing unit configured to calculate the movement command data based on control program at each reference control period and write the movement command data in the first buffer, and an input detection processing unit configured to operate at same period as the first control axis and acquire the movement command data from the first buffer on receiving the first input command and control the first control axis, wherein the movement command data calculation processing unit is configured to calculate a plurality of the movement command data commanding movement amount of axis to be moved by the first control axis during the reference control period and write the plurality of the movement command data in the first buffer in process of calculating the movement command data. 
         [0012]    The shorter period than the reference control period may be 1/n times of the reference control period, and number of the plurality of movement command data may be n. 
         [0013]    The numerical control device may further control a second control axis configured to operate in m/n times period of the reference control period based on a second input command input by a second external input device, and the numerical control device may further include a second buffer configured to store movement command data commanding movement amount of the second control axis, wherein the movement command data calculation processing unit is configured to calculate the movement command data to be used for control of the second control axis and write the movement command data in the second buffer, and the input detection processing unit is configured to acquire the movement command data from the second buffer at m operation period of the second control axis when the second input command and transfer the movement command data to a servo control unit for controlling the second control axis. 
         [0014]    A control system is the control system having a servo mechanism for controlling a first control axis configured to operate in shorter period than reference control period based on first input command input by a first external input device and a numerical control device configured to output movement command data commanding axis movement amount of the first control axis to the servo mechanism, the numerical control device including a first buffer configured to store movement command data commanding movement amount of the first control axis, and a movement command data calculation processing unit configured to calculate the movement command data based on control program at each reference control period and write the movement command data in the first buffer, and the servo mechanism including an input detection processing unit configured to operate at same period as the first control axis and acquire the movement command data from the first buffer on receiving the first input command and transfer the movement command data to a servo control unit for controlling the first control axis, wherein, the movement command data calculation processing unit is configured to calculate a plurality of the movement command data commanding movement amount of axis to be moved by the first control axis during the reference control period and write the plurality of the movement command data in the first buffer in process of calculating the movement command data. 
         [0015]    The present invention, with the above configuration, can perform response control high speed response control axis, which is controlled in shorter period than control period of entire device, without generating wasting waiting time, by shortening only operation period of input detection processing without shortening control period of entire numerical control device. 
         [0016]    The technique of the present invention is preferably applied to, for example, a control device for controlling a machining tool equipped with a response control axis operating at high speed, such as control of press control axis and table control axis of the control device for punch press machining. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0017]    The above-described object, the other object, and the feature of the invention will be proved from the description of embodiments below with reference to the accompanying drawings. In these drawings: 
           [0018]      FIG. 1  is a schematic block diagram of a numerical control device according to a first embodiment of the present invention. 
           [0019]      FIGS. 2A, 2B, and 2C  are schematic diagrams illustrating a ring buffer. 
           [0020]      FIG. 3  is a schematic flowchart of movement command data calculation processing according to a first embodiment of the present invention. 
           [0021]      FIG. 4  is a schematic flowchart of input detection processing according to a first embodiment of the present invention. 
           [0022]      FIG. 5  is a timing chart illustrating cyclic operation of an external input device, and a numerical control device and servo control according to a first embodiment of the present invention. 
           [0023]      FIG. 6  is a schematic block diagram of a numerical control device according to a second embodiment of the present invention. 
           [0024]      FIG. 7  is a schematic flowchart of input detection processing according to a second embodiment of the present invention. 
           [0025]      FIG. 8  is a schematic block diagram of a numerical control device according to another embodiment of the present invention. 
           [0026]      FIG. 9  is a schematic block diagram of a numerical control device for controlling a high speed response control axis according of a prior art. 
           [0027]      FIG. 10  is a timing chart illustrating cyclic operation of an external input device, and a numerical control device and servo control in a prior art. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0028]    The following describes embodiments of the present invention, with reference to the drawings. The same reference numerals are assigned to the configuration similar to the prior art. In the following, reference control period, such as control period of entire device, will be referred to as normal control period. 
         [0029]    Elementary technique in the present embodiment will be described first. In the present embodiment, FIFO type buffer (cue) with arbitrary size more than n is provided at each control axis of a control device, and an input detection unit for detecting high speed input command from an external device at 1/n times period of the normal period is added (n is integer). The FIFO type buffer may be implemented by a rig buffer or the like. 
         [0030]    The numerical control device in the present invention calculates n pieces of data of movement command (interpolation command) for high speed response control axis to be controlled by, for example, a method described in Japanese Patent Laid-Open No. 01-184506 or the like, and write the data in the buffer, when the numerical control device determines that condition for starting response control of the high speed response control is satisfied. Then, in input detection processing, when the numerical control device detects an input command from an external input device, reads the movement command (interpolation) data in the buffer, and sequentially transfer the movement command data to servo control at each period of the input detection processing. It should be noted that, even when conditional judgement for starting response control of the high speed response control axis does not exist, the effect in the present embodiment is not affected at all. 
         [0031]    Thus, by providing the input detection processing to be executed at 1/n times period of the normal control period separately from the control processing of the numerical control device, the present embodiment accelerates the response control of the high speed response control axis without accelerating the control period of entire numerical device. With the configuration above, the present embodiment can be implemented without introducing a high speed CPU, since only the input detection processing with relatively reduced processing load is operated at shorter period than the normal control period and the control period of normal control processing to be executed in the numerical control device is not changed. 
         [0032]      FIG. 1  is a schematic block diagram of a numerical control device according to a first embodiment of the present invention. 
         [0033]    The numerical control device in the present invention includes a movement command data calculation processing unit  11  which operates at the normal control period, an input detection processing unit  12  which operates at 1/n times period of the normal control period, and a buffer  13  provided between the movement command data calculation processing unit  11  and the input detection processing unit  12  for mediating the movement command data output from the movement command data calculation processing unit  11 . 
         [0034]    The movement command data calculation processing unit  11  performs analysis of the command, interpolation processing, acceleration/deceleration processing, and the like, based on program, to calculate and output the movement command data. The movement command data calculation processing unit  11  operates at the normal control period and outputs the movement command data at each control period for a control axis with normal control period, but when the movement command data calculation processing unit  11  determines that a condition for starting response control of the high speed response control axis based on various conditions such as executing state of the program or signal state, the movement command data calculation processing unit  11  calculates n pieces of movement command data for n periods for the high speed response control axis to be controlled using, for example, the method described in Japanese Patent Laid-Open No. 01-184506, and write the data in the buffer  13 . 
         [0035]    The input detection processing unit  12  detects input command from an input command unit  31  of an external input device  30 , and acquires the movement command data written in the buffer when the input command is detected to transfer the data to a servo control unit  21  of a servo  20 . The input detection processing unit  12  operates at 1/n times period of the normal control period. The input detection processing unit  12  can detect the input command input from the input command unit  31  of the external input device which operates at 1/n times period of the normal control period almost without delay and can transfer the movement command data to the servo control unit  21  of the servo  20  which operates at 1/n times period of the normal control period almost without delay. 
         [0036]    The buffer  13  mediates the movement command data output from the movement command data calculation processing unit  11 , and is configured as a FIFO type buffer. In the present embodiment, the buffer  13  is implemented as a ring buffer with more than n buffer size. 
         [0037]      FIGS. 2A, 2B, and 2C  are schematic diagrams illustrating configuration of the ring buffer. As shown in  FIG. 2A , the ring buffer secures a specified region in memory, and has configuration in which the end and top of the secured region are connected in ring configuration. Data stored in the ring buffer is managed by a write pointer and a read pointer. When writing processing in the buffer is executed, the data is written in the memory location designated by the write pointer and the write pointer is incremented, while when reading processing of the buffer is executed the data in the memory location designated by the read pointer is read and the read pointer is incremented. The write pointer and the read pointer return value of the pointer to be the value of the top of the memory region when the memory location designated by the pointer exceeds the end of the memory region secured as the ring buffer. The FIFO type buffer is implemented as control descried above. 
         [0038]    In read/write control of the ring buffer, as shown in  FIG. 2B , state of the buffer is determined to be full and writing processing is forbidden when the write pointer designates the memory location one less than the read pointer or when the write pointer designates the memory location of the end of the memory region secured as the ring buffer and the read pointer designates the top memory point. When the buffer is in full state, data is read form the buffer and the read pointer is incremented such that the buffer is released from the full state. 
         [0039]    As shown in  FIG. 2C , the state of the buffer is determined to be empty when the write pointer designates same memory point as the read pointer, since it is indicated that no data is in the ring buffer, and the reading processing is forbidden till new data is written in the ring buffer. 
         [0040]      FIG. 3  is a schematic flowchart of movement command data calculation processing executed by the movement command data calculation processing unit  11  of the numerical control device  10  in the present embodiment. The present processing is executed at each control period. 
         [0000]    [Step SA 01 ] It is determined whether the condition for starting the response control of the high speed response control axis is satisfied based on various conditions such as execution state of the program, signal state, and the like. The process proceeds to Step SA 02  when the condition is satisfied, while the process ends when the condition is not satisfied.
 
[Step SA 02 ] It is determined whether the state of the buffer  13  is full or not. The state of the buffer  13  is monitored until the buffer becomes available when the state of the buffer  13  is full, while the process proceeds to Step SA 03  when the state of the buffer  13  is not full.
 
[Step SA 03 ] The movement command data for outputting to the high speed response control axis (which operates at 1/n times period of the normal control period) to be controlled is calculated based on the program for control or the like.
 
[Step SA 04 ] The movement command data calculated in Step SA 03  is written in the buffer  13 .
 
[Step SA 05 ] The write pointer is incremented in the buffer  13 .
 
[Step SA 06 ] It is determined whether the process has looped for n times, that is, whether n pieces of movement command data for n periods are calculated and stored in the buffer. If the process has not looped for n times, the process returns to Step SA 02 , while if the process has looped for n times, the process ends.
 
         [0041]      FIG. 4  is a schematic flowchart of input detection processing executed by the input detection processing unit  12  of the numerical control device  10  in the present embodiment. The present processing is executed at each 1/n times period of the normal control period. 
         [0000]    [Step SB 01 ] It is determined whether the condition for starting the response control of the high speed response control axis is satisfied based on various conditions such as execution state of the program, signal state, and the like. The process proceeds to Step SB 02  when the condition is satisfied, while the process ends when the condition is not satisfied.
 
[Step SB 02 ] It is determined whether input of a high speed input command through the input command unit  31  of the external input device  30  is detected or not. The process proceeds to Step SB 03  when the input is detected, while the process ends when the input is not detected.
 
[Step SB 03 ] It is determined whether the state of the buffer  13  is full or not. The state of the buffer  13  is monitored until the buffer becomes available when the state of the buffer  13  is full, while the process proceeds to Step SB 04  when the state of the buffer  13  is not full.
 
[Step SB 04 ] A piece of movement command data is read from the buffer  13  and transferred to the servo control unit  21  of the servo  20  operating at 1/n times period of the normal control period.
 
[Step SA 05 ] The read pointer is incremented in the buffer  13 .
 
         [0042]      FIG. 5  is a timing chart illustrating cyclic operation of the external input device which outputs a command to the high speed response control axis at ¼ times period of the normal control period, and the numerical control device and servo control in the numerical control device of the present embodiment. As is clearly seen when compared to the prior art explained in  FIG. 10 , the numerical control device  10  in the present embodiment enable control without generating wasting waiting time for the high speed response control axis operating at ¼ times period of the normal control period, since when a command is input at short period corresponding to the period of servo control, the input detection processing unit  12  in the numerical control device also operates at each ¼ times period of the normal control period, the input is detected almost without delay for the input and the movement command data is transferred from the buffer  13  to the input detection processing unit  12 . 
         [0043]    The input detection processing unit  12  can detect the input command input from the input command unit  31  of the external input device  30  which operates at 1/n times period of the normal control period almost without delay and can transfer the movement command data to the servo control unit  21  of the servo  20  which operates at 1/n times period of the normal control period almost without delay. 
         [0044]    Control of the high speed response control axis operating at each 1/n times period of the normal control period is described above as the first embodiment of the present invention. However, it is also possible to correspond to the control axis operating at each m/n times period of the normal control period by introducing the technique of the present invention (n, m are integer value).  FIG. 6  is a schematic block diagram of the numerical control device corresponding to the control axis operating at each m/n times period of the normal control period, according to the second embodiment of the present invention. 
         [0045]    The numerical control device in the present invention, as the numerical control device in the first embodiment, includes the movement command data calculation processing unit  11  which operates at the normal control period, the input detection processing unit  12  which operates at 1/n times period of the normal control period, and the buffer  13 . The numerical control device in the present embodiment corresponds to the control axis operating at m/n times period of the normal control period by making the input detection processing unit  12  operating at 1/n times period of the normal control period transfer the movement command data at each m periods. 
         [0046]    For example, when the normal control period is 4 ms, and the control axis operating at 1 ms period (n=4) and the control axis operating at 16 ms period (m=16) are included, the input detection processing unit  12  operating at 1 ms period (¼ times period of the normal control period) executes processing at each 16 periods to correspond to the control axis operating at 16 ms control period. 
         [0047]      FIG. 7  is a schematic flowchart of input detection processing executed by the input detection processing unit  12  of the numerical control device  10  in the present embodiment. The present processing is executed at each 1/n times period of the normal control period in the present embodiment. It should be noted that a cycle counter is set to be zero at initializing processing at start of the operation control of the numerical control device  10 . 
         [0000]    [Step SC 01 ] Cycle counter is incremented by one.
 
[Step SC 02 ] It is determined whether the cycle is at a multiple of m period using, for example, remainder of value of the cycle counter divided by m. The process proceeds to Step SC 03  when the remainder of value of the cycle counter divided by m is zero, while the process ends when not.
 
[Step SC 03 ] It is determined whether the condition for starting the response control of the control axis which operates at m/n times period of the normal control period is satisfied based on various conditions such as execution state of the program, signal state, and the like. The process proceeds to Step SC 04  when the condition is satisfied, while the process ends when the condition is not satisfied.
 
[Step SC 04 ] It is determined whether input of an input command at m/n times period of the normal control period through the input command unit  31  of the external input device  30  is detected or not. The process proceeds to Step SC 05  when the input is detected, while the process ends when the input is not detected.
 
[Step SC 05 ] It is determined whether the state of the buffer  13  is full or not. The state of the buffer  13  is monitored until the buffer becomes available when the state of the buffer  13  is full, while the process proceeds to Step SC 06  when the state of the buffer  13  is not full.
 
[Step SC 06 ] A piece of movement command data is read from the buffer  13  and transferred to the servo control unit  21  of the servo  20  operating at m/n times period of the normal control period.
 
[Step SC 07 ] The read pointer is incremented in the buffer  13 .
 
[Step SC 07 ] The read pointer is incremented in the buffer  13 .
 
         [0048]    As described above, the numerical control device  10  in the present embodiment enables response control of the control axis operating at m/n times period of the normal control period by using input detection processing at 1/n times period of the normal control period. For example, control of the high response control axis operating at 1/n times period of the normal control period and control of the control axis operating at m/n times period of the normal control period can be simultaneously implemented by executing the processing shown in the flowchart in  FIG. 4  and the processing shown in the flowchart in  FIG. 7  at each 1/n times period of the normal control period in the input detection processing unit  12 . 
         [0049]    The embodiments of the present invention are described above. The present invention is not limited to the above-described embodiments, and, configuration thereof can be appropriately modified to be implemented in the other embodiments. 
         [0050]    For example, in the embodiments, an example is shown in which the input detection processing unit  12  operating at 1/n times period of the normal control period is added to the numerical control device. However, a configuration may be adopted in which an input detection unit  22  operating at 1/n times period of the normal control period is added to the servo  20  side, as shown in  FIG. 8 .