1. Field of the Invention
The present invention relates to a numerical control apparatus.
2. Description of the Related Art
In various conventional machine tools, workpieces are processed by performing numerical control for a transfer device, which transfers a workpiece or a tool to process the workpiece, according to a processing command program (NC program). In such a machine tool, an instruction device that can manually instruct an operation involving acceleration/deceleration of a workpiece or a tool is normally installed. If an operator instructs using this instruction device, an operation involving acceleration/deceleration of a workpiece or a tool can be executed separately from normal transfer of a workpiece or a tool according to the processing command program.
In concrete terms, an emergency stop device, restart device, override device or the like are installed in a machine tool as the instruction device. The emergency stop device is for instructing an emergency stop of a transfer of a movement target object, that is, a workpiece or a tool, when the movement target object is in-transfer by a transfer device. The emergency stop device has an emergency stop button, and by pressing the emergency stop button, the transfer device is instructed to urgently stop the transfer of the movement target object. The restart device is for instructing restart of the movement target object after emergency stop. The restart device has a restart button, and by pressing the restart button, the transfer device is instructed to restart the transfer of the movement target object. The override device has an override dial, and by operating the override dial, the transfer device is instructed to accelerate/decelerate the transfer speed of the movement target object corresponding to the control input of the override dial. In the case of the emergency stop, the movement target object is rapidly decelerated, and in the case of restart, the movement target object is rapidly accelerated, and if acceleration/deceleration is instructed by the override device, more rapid acceleration/deceleration is performed compared with the case of normal movement of the movement target object.
When such an operation involving the acceleration/deceleration of the movement target object is performed in a machine tool, a mechanical shock is applied to the machine tool. Conventionally techniques to decrease the mechanical shock due to rapid acceleration/deceleration of the movement target object have been proposed. An example of such a technique is an acceleration/deceleration after interpolation using an acceleration/deceleration filter. The acceleration/deceleration after interpolation is a technique to relax the rapid acceleration/deceleration instructed by a processing command program and rapid acceleration/deceleration instructed by the instruction device by generating, with using an acceleration/deceleration filter, a delay of a movement command acquired from the processing command program based on the interpolation operation, for an amount of time corresponding to a predetermined command time constant.
Although this technique of the acceleration/deceleration after interpolation has an advantage of relaxing the mechanical shock caused by rapid acceleration/deceleration of the movement target object, a problem is that an error is generated in the processed shape of the workpiece. In concrete terms, this technique of the acceleration/deceleration after interpolation is effective for both relaxing rapid acceleration/deceleration instructed by the processing command program and relaxing rapid acceleration/deceleration instructed by the instruction device, on the other hand, if this technique of the acceleration/deceleration is applied to relaxing rapid acceleration/deceleration instructed by the processing command program, an error is generated in an actual processing shape compared with a processing shape (processing path) instructed by the processing command program. Further, if this interpolated acceleration/deceleration technique is applied to relaxing rapid acceleration/deceleration instructed by the instruction device, a further error is generated in the processing path compared with the original processing path, after the rapid acceleration/deceleration instructed by the processing command program is relaxed by the interpolated acceleration/deceleration technique, which may scratch the workpiece.
To solve these problems, Japanese Patent Application Laid-Open No. 2010-55161 below discloses a technique to perform an operation to cancel a phase error generated between each movement axis of the movement target object, so as to correct the error of the processing shape generated by the acceleration/deceleration after interpolation.
Japanese Patent Application Laid-Open No. 2008-225825 below discloses an acceleration/deceleration technique which does not use the interpolated acceleration/deceleration at all. According to this acceleration/deceleration technique, the processing path for relaxing rapid acceleration/deceleration instructed by the processing command program is calculated in advance by the acceleration/deceleration operation before interpolation, which is performed before calculating a movement pulse for each movement axis of the movement target object based on the processing command program. Therefore a processing path that does not generate a mechanical shock can be predetermined, and the movement target object can be moved according to this processing path. As a consequence, if this acceleration/deceleration technique is used, mechanical shock caused by the rapid acceleration/deceleration of the movement target object can be reduced without generating an error due to the above mentioned acceleration/deceleration after interpolation.
However in both techniques according to Japanese Patent Application Laid-Open No. 2010-55161 and Japanese Patent Application Laid-Open No. 2008-225825, complicated recalculation according to an instruction from the instruction device is required in order to relax rapid acceleration/deceleration as instructed by the instruction device. This causes a problem whereby responsiveness, from the instruction device instructing the operation involving acceleration/deceleration of the movement target object until actual execution of the instructed operation of the movement target object, becomes poor.
In concrete terms, when an operation that involves acceleration/deceleration is performed in a machine tool, such as the above mentioned emergency stop, acceleration associated with restart and acceleration/deceleration by an override device, the operation that involves acceleration/deceleration must be executed quickly after instructing the operation involving the acceleration/deceleration (e.g. ON of the emergency stop button or restart button, operating the override dial), and without the actual movement locus of the movement target object deviating from the scheduled processing path, but in both of the techniques according to Japanese Patent Application Laid-Open No. 2010-55161 and Japanese Patent Application Laid-Open No. 2008-225825, computing the movement command is complicated and takes time, and as a result, responsiveness, from instructing the acceleration/deceleration operation to actual execution of the acceleration/deceleration operation, becomes poor.
It is an object of the present invention to solve the above mentioned problems.
In other words, it is an object of the present invention to provide a numerical control apparatus where, when operation involving velocity change of a movement target object is executed in a machine tool separately from normal transfer of a movement target object performed when a workpiece is processed, responsiveness, from instructing the operation involving the velocity change of the movement target object to actual execution of this operation, can be improved, while preventing deviation of the movement locus of the movement target object from the processing path instructed by the processing command program.
A numerical control apparatus according to an aspect of the present invention is a numerical control apparatus installed in a machine tool which includes: a plurality of transfer devices which transfer a movement target object, which is a workpiece or a tool to process the workpiece, when the workpiece is processed; and a special command input device for inputting, from outside, a special command for instructing an operation involving a velocity change of the movement target object separately from normal transfer of the movement target object performed when the workpiece is processed, each of the transfer devices including a support for supporting the movement target object, and a driving device which transfers the movement target object by transferring the support in a predetermined movement axis direction, the numerical control apparatus performing numerical control of each of the transfer devices and including: a storage unit which stores a processing command program which specifies a processing path to indicate a path where the movement target object is to move as a reference time elapses when the workpiece is processed; a computing unit which calculates, on the basis of the processing path, a moving distance of each support in the corresponding movement axis direction per set unit time; and a drive control unit which causes each driving device to transfer the support corresponding to that driving device in accordance with the moving distance of each support calculated by the computing unit, wherein in response to the input of the special command to the special command input device, the computing unit changes a length of the set unit time from a length in the state immediately before the input of the special command to a length corresponding to the velocity change of the movement target object instructed by the special command, and calculates, on the basis of the processing path, the moving distance of each support in the corresponding movement axis direction per set unit time of which length has been changed.
Embodiments of the present invention will now be described with reference to the drawings.
First, a configuration of a machine tool to which a numerical control apparatus 2 according to an embodiment of the present invention is applied is described with reference to
The machine tool where the numerical control apparatus 2 (see
The workpiece transfer device 102 is a device for transferring the workpiece 100 in the X axis direction, which is a direction vertical to the sheet in
The column 104 is vertically installed in a position which is distant from the installation position of the base 102a in the horizontal direction and a direction perpendicular to the X axis, and extends in the vertical direction.
The vertical tool transfer device 106 is installed in the column 104. The vertical tool transfer device 106 is a device for transferring the tool 105 for cutting the workpiece 100 in the Y axis direction, which is the vertical direction. The vertical tool transfer device 106 has a vertical support 106a which is installed in the column 104 so as to be movable in the Y axis direction, and a vertical driving device 106b (see
The first horizontal tool transfer device 108 is installed in the vertical support 106a. The first horizontal tool transfer device 108 is a device for transferring the tool 105 in the W axis direction, which extends vertically from both the X axis and the Y axis. The first horizontal tool transfer device 108 has a first horizontal support 108a which is installed in the vertical support 106a so as to be movable in the W axis direction, and a first horizontal driving device 108b (see
The second horizontal tool transfer device 110 is installed in the first horizontal support 108a. The second horizontal tool transfer device 110 is a device for transferring the tool 105 in a Z axis direction which is parallel with the W axis. The second horizontal tool transfer device 110 has a second horizontal support 110a which is installed in the first horizontal support 108a so as to be movable in the Z axis direction, and a second horizontal driving device 110b, which is installed in the first horizontal support 108a and transfers the second horizontal support 110a, so as to move in the Z axis direction. The second horizontal support 110a supports the spindle head 112. The second horizontal support 110a supports the tool 105 via the spindle head 112. The second horizontal driving device 110b has a servo motor as a driving source. The Z axis is included in the concept of the movement axis of the present invention. The second horizontal support 110a is included in the concept of the support of the present invention. The second horizontal driving device 110b is included in the concept of the driving device of the present invention.
The spindle head 112 is installed in the second horizontal support 110a so that the rotation axis thereof is parallel with the W axis and the Z axis. The spindle head 112 holds the tool 105 and rotates the tool 105 around an axis thereof. The tool 105 is rotated by the spindle head 112, whereby the edge of the tool 105 cuts the workpiece 100.
The control panel 114 has a function to control driving of each transfer device 102, 106, 108 and 110, to control driving of the spindle head 112, and to control each component of the machine tool. This control panel 114 is electrically connected with the driving source of each driving device 102c, 106b, 108b and 110b and the spindle head 112.
The control panel 114 also has a special command input device 122 (see
The special command input device 122 includes a stop command input device 124, a restart command input device 126 and an override device 128.
The stop command input device 124 is a device to input an emergency stop command to urgently decelerate and stop movement of the movement target object. The emergency stop command is included in the concept of the special command of the present invention. The stop command input device 124 has an emergency stop button 124a which is disposed on the outer surface of the control panel 114, and a stop signal transmission unit 124b that transmits an emergency stop signal to a later mentioned acceleration/deceleration request monitoring unit 10 in response to the pressing of the emergency stop button 124a. In this embodiment, pressing the emergency stop button 124a corresponds to the input of the emergency stop command.
The restart command input device 126 is a device for receiving a restart command to restart and accelerate the movement of the stopping movement target object. The restart command is included in the concept of the special command of the present invention. The restart command input device 126 has a restart button 126a which is disposed on the outer surface of the control panel 114, and a restart signal transmission unit 126b for transmitting a restart signal to the later mentioned acceleration/deceleration request monitoring unit 10 in response to the pressing of the restart button 126a. In this embodiment, pressing the restart button 126a corresponds to the input of the restart command.
The override device 128 is a device for receiving an acceleration command or a deceleration command. The acceleration command includes an instruction to increase the movement velocity of the movement target object, and information on the acceleration rate which is the increase rate of the movement velocity. The deceleration command includes an instruction to decrease the movement velocity of the movement target object, and information on the deceleration rate which is the decrease rate of the movement velocity. This override device 128 is included in the concept of the velocity change command input device of the present invention. The acceleration command and the deceleration command are included in the concept of the special command of the present invention.
The override device 128 has an override dial 128a which is disposed on the outer surface of the control panel 114, and a velocity change signal transmission unit 128b that transmits a velocity change signal corresponding to the controlling direction and the control input of the override dial 128a, to the later mentioned acceleration/deceleration request monitoring unit 10.
The override dial 128a is an operation unit to be operated when the operator, etc. inputs an acceleration command or a deceleration command. The override dial 128a is disposed on the control panel 114 so as to be rotatable around the axis thereof. The acceleration command or the deceleration command can be inputted to the override device 128 by rotating the override dial 128a to one side or the other. In this embodiment, the operation of rotating the override dial 128a to one side corresponds to the input of the acceleration command, and the operation of rotating the override dial 128a to the opposite side corresponds to the input of the deceleration command. The rotating amount of the override dial 128a to the one side corresponds to the acceleration rate of the movement target object, and the rotating amount of the override dial 128a to the opposite side corresponds to the deceleration rate of the movement target object.
In response to rotating the override dial 128a to the one side (acceleration side), the velocity change signal transmission unit 128b transmits, to the acceleration/deceleration request monitoring unit 10, a velocity change signal including information on an override coefficient corresponding to the rotating amount of the override dial 128a to the one side, or in response to rotating the override dial 128a to the opposite side (deceleration side), the velocity change signal transmission unit 128b transmits, to the acceleration/deceleration request monitoring unit 10, a velocity change signal including information on an override coefficient corresponding to the rotating amount of the override dial 128a the opposite side. The override coefficient corresponding to the rotating amount of the override dial 128a to the one side is included in the concept of the acceleration rate of the present invention, and the override coefficient corresponding to the rotating amount of the override dial 128a to the opposite side is included in the concept of the deceleration rate of the present invention. The reference of the override coefficient is 1. As the override dial 128a is rotated to the acceleration side, the override coefficient increases from 1, and as the override dial 128a is rotated to the deceleration side, the override coefficient decreases from 1.
The numerical control apparatus 2 according to this embodiment is integrated into the control panel 114, and performs numerical control for each transfer device 102, 106, 108 and 110. Now the configuration of the numerical control apparatus 2 of the present embodiment will be described in detail with reference to
As
The storage unit 4 stores an NC program as a processing command program. This NC program specifies a processing path that indicates a path where the movement target object should move as the reference time elapses when the workpiece 100 is processed. The processing path indicates a correlation of the reference time and a position of the movement target object when the workpiece 100 is processed.
The memory 5 stores such information as an override coefficient at the instant immediately before the special command is inputted to the special command input device 122, and an override coefficient included in the velocity change signal.
The processor 6 performs various processings, such as computing, on the basis of the processing path included in the NC program stored in the storage unit 4, a moving distance of each support 102b, 106a, 108a and 110a per set unit time, drive control for each driving device 102c, 106b, 108b and 110b, and monitoring the input of a special command to the special command input device 122. The processor 6 has the acceleration/deceleration request monitoring unit 10, a computing unit 12 and a drive control unit 14.
The accumulation/deceleration request monitoring unit 10 monitors whether the special command is inputted to the special command input device 122.
In concrete terms, the acceleration/deceleration request monitoring unit 10 detects an emergency stop signal transmitted from the stop signal transmission unit 124b, so as to monitor whether a deceleration stop command is inputted to the stop command input device 124, that is, whether the emergency stop button 124a of the stop command input device 124 is pressed. To be more specific, the acceleration/deceleration request monitoring unit 10 determines that the emergency stop button 124a is pressed if the emergency stop signal is transmitted from the stop signal transmission unit 124b, and determines that the emergency stop button 124a is not pressed if the emergency stop signal is not transmitted from the stop signal transmission unit 124b. In response to the input of the deceleration stop command to the stop command input device 124, that is, the transmission of the emergency stop signal from the stop signal transmission unit 124b, the acceleration/deceleration request monitoring unit 10 outputs an emergency stop request to a later mentioned moving distance calculation unit 22 of the computing unit 12.
The acceleration/deceleration request monitoring unit 10 also detects a restart signal transmitted from the restart signal transmission unit 126b, so as to monitor whether a restart command is inputted to the restart command input device 126, that is, whether the restart button 126a of the restart command input device 126 is pressed. To be more specific, the accumulation/deceleration request monitoring unit 10 determines that the restart button 126a is pressed if the restart signal is transmitted from the restart signal transmission unit 126b, and determines that the restart button 126a is not pressed if the restart signal is not transmitted from the restart signal transmission unit 126b. In response to the input of the restart command to the restart command input device 126 after the emergency stop command is inputted to the stop command input device 124, that is, the transmission of the restart signal from the restart signal transmission unit 126b after the emergency stop signal is transmitted from the stop signal transmission unit 124b, and the acceleration/deceleration request monitoring unit 10 outputs the restart request to the later mentioned moving distance calculation unit 22.
The accumulation/deceleration request monitoring unit 10 also detects a velocity change signal transmitted from the velocity change signal transmission unit 128b, so as to monitor whether an acceleration command or deceleration command is inputted to the override device 128, that is, whether the override dial 128a is rotated. To be more specific, the acceleration/deceleration request monitoring unit 10 determines that the override dial 128a is rotated if the velocity change signal is transmitted from the velocity change signal transmission unit 128b, and determines that the override dial 128a is not rotated if the velocity change signal is not transmitted from the velocity change signal transmission unit 128b. In response to the reception of the velocity change signal transmitted from the velocity change signal transmission unit 128b, the acceleration/deceleration request monitoring unit 10 outputs the velocity change request, including the information on the override coefficient included in the velocity change signal, to the later mentioned moving distance calculation unit 22.
The computing unit 12 respectively calculates, on the basis of the processing path of the NC program stored in the storage unit 4, a moving distance of each support 102b, 106a, 108a and 110a in a corresponding moving axis direction (X axis direction, Y axis direction, W axis direction and Z axis direction) per set unit time, depending on whether a special command is inputted to the special command input device 122, and depending on the type of the special command.
In concrete terms, if a special command is not inputted to the special command input device 122, the computing unit 12 respectively calculates, on the basis of the processing path, a moving distance of each support 102b, 106a, 108a and 110a in the corresponding movement axis direction per set unit time. If a special command is inputted to the special command input device 122, on the other hand, the computing unit 12 changes, according to the inputted special command, the length of the set unit time from the length in a state immediately before the input of the special command to the special command input device 122 to a length in accordance with the change of velocity of the movement target object instructed by the special command, and calculates, on the basis of the processing path, a moving distance of each support 102b, 106a, 108a and 110a in a corresponding movement axis direction per set unit time of which length has been changed.
To be more specific, if the emergency stop command is inputted to the stop command input device 124, the computing unit 12 calculates accordingly the set unit time in the deceleration stop period based on a stop period unit time change function, and calculates, on the basis of the processing path, a moving distance of each support 102b, 106a, 108a and 110a in the corresponding movement axis direction per set unit time thus calculated. The deceleration stop period is time required from the start of the deceleration operation to urgently stop the movement target object to the actual stop of the movement target object. The stop period unit time change function is a function to indicate a change of the length of the set unit time (deceleration period set unit time), that is, a decrease of the length of the set unit time from a length in a state immediately before the input of the emergency stop command to the stop command input device 124 in the deceleration stop period to the length 0.
If the restart command is inputted to the restart command input device 126 after the emergency stop command is inputted to the stop command input device 124, the computing unit 12 calculates accordingly the set unit time in the restart period based on a restart period unit time change function, and calculates, on the basis of the processing path, a moving distance of each support 102b, 106a, 108a and 110a in the corresponding movement axis direction per set unit time thus calculated. The restart acceleration period is time required from the start of restarting process of the stopping movement target object to reaching the movement velocity corresponding to the override coefficient being set at this moment via acceleration. The restart period unit time change function is a function to indicate a change of the length of the set unit time (acceleration period set unit time), that is, an increase of the length of the set unit time from the length 0 to the length corresponding to the override coefficient at the point of the restart during the restart acceleration period.
If the acceleration command is inputted to the override device 128, the computing unit 12 calculates the set unit time in the acceleration period based on an acceleration period unit time change function, and calculates, on the bases of the processing path, a moving distance of each support 102b, 106a, 108a and 110a in the corresponding movement axis direction per set unit time thus calculated. The acceleration period is time required from the start of acceleration of the movement target object in response to the acceleration command to reaching the movement velocity corresponding to the acceleration rate (override coefficient) included in the acceleration command via acceleration. The acceleration period unit time change function is a function to indicate a change of the length of the set unit time (acceleration period set unit time), that is, an increase of the set unit time from the length in the state immediately before the input of the acceleration command to the override device 128 to the length corresponding to the acceleration rate included in the acceleration command during the acceleration period.
If the deceleration command is inputted to the override device 128, the computing unit 12 calculates accordingly the set unit time in the deceleration period based on a deceleration period unit time change function, and calculates, on the basis of the processing path, a moving distance of each support 102b, 106a, 108a and 110a in the corresponding movement axis direction per set unit time thus calculated. The deceleration period is time required from the start of deceleration of the movement target object in response to the deceleration command to reaching the movement velocity corresponding to the deceleration rate (override coefficient) included in the deceleration command via deceleration. The deceleration period unit time change function is a function to indicate a change of the length of the set unit time (deceleration period set unit time), that is, a decrease of the set unit time from the length in the state immediately before the input of the deceleration command to the override device 128 to the length corresponding to the deceleration rate included in the deceleration command during the deceleration period.
The computing unit 12 sets each of the above mentioned set time as a unit time that is different from the reference unit time which is the reference of driving of each driving device 102c, 106b, 108b and 110b, and calculates a moving distance of each support 102b, 106a, 108a and 110a per set unit time.
This computing unit 12 has a movement command path deriving unit 20 and a moving distance calculation unit 22.
The movement command path deriving unit 20 determines a movement command path (path (T)) of each movement axis on the basis of the processing path. The movement command path (path (T)) indicates a position for each support 102b, 106a, 108a and 110a which should move in the corresponding movement axis direction as set time T elapses. The set time T is time that is set separately from the reference time.
As
The program read unit 24 reads a processing path (tool path) from the NC program stored in the storage unit 4. The processing path read by the program read unit 24 is stored in the memory 5.
The curved surface interpolation unit 26 performs interpolation operation if necessary, so that the processing path becomes a smooth path. If the processing path is interpolated by the curved surface interpolation unit 26, this interpolated processing path is stored in the memory 5.
The movement command path computing unit 28 calculates a movement command path, that is, a movement component in each movement axis direction on the basis of the processing path stored in the memory 5. The calculated movement command path in each movement axis direction is stored in the memory 5.
The acceleration/deceleration computing unit 30 performs calculation of acceleration/deceleration for each movement command path for each movement axis stored in the memory 5, according to the acceleration/deceleration conditions for each movement axis, that is, according to an allowable acceleration and allowable jerk for each movement axis, and calculates a movement command path (path (T)) for each movement axis as a function of the set time T. The calculated movement command path (path (T)) is stored in the memory 5.
The local acceleration/deceleration filter 32 interpolates locally and smoothly only the portion, out of the movement command path (path (T)), indicating a rapid acceleration/deceleration that could cause a mechanical shock to the machine tool. The portion of which velocity change is originally smooth and does not generate mechanical shock, out of the movement command path (path (T)) interpolated by the local acceleration/deceleration filter 32, has not been interpolated, so no error from the path instructed by the processing command is generated in this portion.
Based on the movement command path (path (T)) determined by the movement command path deriving unit 20, the moving distance calculation unit 22 calculates a moving distance of each support 102b, 106a, 108a and 110a in the corresponding movement axis direction per set unit time, depending on whether a special command is inputted to the special command input device 122, and depending on the type of the special command.
In concrete terms, if the emergency stop command is inputted to the stop command input device 124, the moving distance calculation unit 22 calculates the deceleration stop period and the stop period unit time change function based on the allowable acceleration and allowable jerk of the movement target object in a combined movement direction of each movement axis direction and set unit time in the state immediately before the input of the emergency stop command, and also calculates a deceleration period set unit time in the deceleration stop period based on the calculated deceleration stop period and stop period unit time change function, and calculates, on the basis of the movement command path (path (T)), a moving distance of each support 102b, 106a, 108a and 110a in the corresponding movement axis direction per deceleration period set unit time thus calculated respectively.
If the restart command is inputted to the restart command input device 126 after the emergency stop command is inputted to the stop command input device 124, the moving distance calculation unit 22 calculates accordingly the restart acceleration period and the restart period unit time change function based on the allowable acceleration and the allowable jerk of the movement target object and an override coefficient at the moment of input of the restart command, and calculates the acceleration period set unit time in the calculated restart acceleration period based on the calculated restart acceleration period and the restart period unit time change function, and calculates, on the basis of the command path (path (T)), the moving distance of each support 102b, 106a, 108a and 110a in the corresponding movement axis direction per acceleration period set unit time thus calculated respectively.
If the acceleration command is inputted to the override device 128, the moving distance calculation unit 22 calculates accordingly the acceleration period and the acceleration period unit time change function based on the allowable acceleration and the allowable jerk of the movement target object, the set unit time at the moment of the input of the acceleration command, and the acceleration rate (override coefficient) included in the acceleration command, and calculates the acceleration period set unit time during the acceleration period based on the calculated acceleration period and acceleration period unit time change function, and calculates, on the basis of the command path (path (T)), the moving distance of each support 102b, 106a, 108a and 110a in the corresponding movement axis direction per acceleration period set unit time thus calculated respectively.
If the deceleration command is inputted to the override device 128, the moving distance calculation unit 22 calculates accordingly the deceleration period and the deceleration period unit time change function based on the allowable acceleration and the allowable jerk of the movement target object, the set unit time at the moment of the input of the deceleration command, and the deceleration rate (override coefficient) included in the deceleration command, and calculates the deceleration period set unit time during the deceleration period based on the calculated deceleration period and deceleration period unit time change function, and calculates, on the basis of the command path (path (T)), the moving distance of each support 102b, 106a, 108a and 110a in the corresponding movement axis direction per deceleration period set unit time thus calculated respectively.
In accordance with the moving distance of each support 102b, 106a, 108a and 110a calculated by the moving distance calculation unit 22 of the computing unit 12, the drive control unit 14 causes each driving device 102c, 106b, 108b and 110b to transfer corresponding each support 102b, 106a, 108a or 110a in the corresponding movement axis direction. In concrete terms, the drive control unit 14 actuates each driving device 102c, 106b, 108b and 110b every time the reference unit time elapses, so as to perform control to cause each driving device 102c, 106b, 108b and 110b to transfer the corresponding support 102b, 106a, 108a or 110a in the corresponding movement axis direction for the amount of the moving distance per set unit time, calculated by the moving distance calculation unit 22 of the computing unit 12. The drive control unit 14 executes this control by transmitting a servo command pulse to each driving device 102c, 106b, 108b and 110b.
Now a numerical control process by the numerical control apparatus 2 of the present embodiment will be described.
First, the movement command path deriving unit 20 of the computing unit 12 derives the movement command path (path (T)) for each movement axis on the basis of the processing path (step S2 in
Then, the moving distance calculation unit 22 determines whether data on the movement command path is stored in the memory 5 (step S4). If it is determined that the data on the movement command path is not stored in the memory 5, the moving distance calculation unit 22 performs the determination in step S4 again. If it is determined that the data on the movement command path is stored in the memory 5, on the other hand, the moving distance calculation unit 22 initializes the set time T to 0, and initializes the set unit time ΔT to 1 (step S6).
Then, the moving distance calculation unit 22 initializes a value dg to 0, where the value dg is generated by differentiating the set time function T (t) with the reference time t to acquire a value g(t), and further differentiating this value g(t) with the reference time t (step S8). The set time function T (t) indicates a correspondence between the reference time t and the set time T, and expresses the set time T as a function with respect to the reference time t.
Then, based on the data on the movement command path (path (T)), the moving distance calculation unit 22 calculates a unit time moving distance dP [axis] for each movement axis per set unit time ΔT using the following Expression (1) respectively (step S10).
dP[axis]=path(T+ΔT)[axis]−path(T)[axis] (1)
Then, based on the unit time moving distance dP [axis] for each movement axis calculated above, the moving distance calculation unit 22 calculates the current movement velocity V of the movement target object in the combined movement direction (hereafter called “combined movement velocity V”) using the following Expression (2) (step S11). The combined movement direction is a direction generated by combining each movement axis direction.
V=|dP[ ]|/ΔT (2)
In Expression (2), dP [ ] is a moving distance of the movement target object in the combined movement direction. The value of dP [ ] is determined by the moving distance calculation unit 22 combining the unit time moving distance dP [axis] for each movement axis.
Then, the drive control unit 14 actuates each driving device 102c, 106b, 108b and 110b according to the unit time moving distance dP [axis] calculated by the moving distance calculation unit 22 (step S12). In this case, the drive control unit 14 creates, for each movement axis, a servo command pulse, which instructs to transfer each support 102b, 106a, 108a and 110a by the unit time moving distance dP [axis] per reference unit time (1 m sec. in this embodiment), and outputs the created servo command pulse for each movement axis to the corresponding driving device 102c, 106b, 108b or 110b respectively. Thereby, the servo motor of each driving device 102c, 106b, 108b and 110b transfers the corresponding support 102b, 106a, 108a or 110a for the unit time moving distance dP [axis] per reference unit time, according to the servo command pulse from the drive control unit 14.
Then, the moving distance calculation unit 22 determines whether processing for all the period of the movement command path (path (T)) stored in the memory 5 is ended (step S14). In concrete terms, the data on the movement command path (path (T)) stored in the memory 5 is sequentially computed for each set unit time ΔT, as mentioned above, and thereby the unit time moving distance dP [axis] is sequentially determined, therefore in step S14, it is determined whether this computing is ended for all the periods of the movement command path (path (T)) stored in the memory 5. If the moving distance calculation unit 22 determines that processing is ended for all the periods of the movement command path stored in the memory 5, the numerical control processing by the numerical control apparatus 2 ends.
In parallel with the above mentioned computing by the computing unit 12, the acceleration/deceleration request monitoring unit 10 monitors whether a special command is inputted to the special command input device 122 according to the process shown in
In concrete terms, the acceleration/deceleration request monitoring unit 10 determines whether the machine tool is in the continuous operation state (step S102). If it is determined that the machine tool is in the continuous operation state, then the acceleration/deceleration request monitoring unit 10 determines whether the emergency stop button 124a is pressed (step S104).
If an emergency stop signal transmitted from the stop signal transmission unit 124b is detected and thereby it is determined that and the emergency stop button 124a is pressed, the acceleration/deceleration request monitoring unit 10 issues an emergency stop request (step S106), and then executes the processing in step S102 again. If it is determined that the emergency stop button 124a is not pressed, on the other hand, then the acceleration/deceleration request monitoring unit 10 determines whether the override dial 128a is rotated (step S108).
If a velocity change signal transmitted from the velocity change signal transmission unit 128b is detected and thereby it is determined that the override dial 128a is rotated, the acceleration/deceleration request monitoring unit 10 issues a velocity change request which includes information on an override coefficient k according to the rotation direction and rotation amount of the override dial 128a (step S110), then the processing in step S102 is executed again. If it is determined that the override dial 128a is not rotated, on the other hand, the acceleration/deceleration request monitoring unit 10 executes the processing in step S102 again, without issuing the velocity change request.
If it is determined that the machine tool is not in the continuous operation state in step S102, the acceleration/deceleration request monitoring unit 10 determines whether the transfer of each support 102b, 106a, 108a and 110a by each driving device 102c, 106b, 108b and 110b is stopping in response to the emergency stop request (step S112).
If it is determined that the transfer of each support 102b, 106a, 108a and 110a is stopping, the acceleration/deceleration request monitoring unit 10 determined whether the restart button 126a is pressed (step S114). Here, if a restart signal transmitted from the restart signal transmission unit 126b is detected and thereby it is determined that the restart button 126a is pressed, the acceleration/deceleration monitoring unit 10 issues the restart request (step S116), then executes the processing in step S102 again. If it is determined that the restart button 126a is not pressed, on the other hand, the acceleration/deceleration request monitoring unit 10 executes the processing in step S102 again without issuing the restart request.
If it is determined that the processing is not ended for all the periods of the movement command path (path (T)) stored in the memory 5 in the determination in step S14, then the moving distance calculation unit 22 determines whether the emergency stop request is issued from the acceleration/deceleration request monitoring unit 10 (step S16 in
In concrete terms, the moving distance calculation unit 22 temporarily stores the current value of the combined movement velocity V of the movement target object in the memory 5 (step S22), then calculates the deceleration stop period (time) and the stop period unit time change function g(t) (step S24). Here the moving distance calculation unit 22 calculates the deceleration stop period (time) and the stop period unit time change function g(t) which satisfy the following conditions: a value gs of the stop period unit time change function g(t) in the beginning of the deceleration stop period (time) is the same as the set unit time ΔT; a value ge of the stop period unit time change function g(t) in the end of the deceleration stop period (time) is 0; and the combined movement velocity in the beginning of the deceleration stop period (time) is the same as the combined movement velocity V. The calculation process of the deceleration stop period (time) and the stop period unit time change function g(t) is shown in
If the movement target object is moving in a constant velocity in the beginning of the deceleration stop period (time) (a moment when the moving distance calculation unit 22 received the emergency stop request), the stop period unit time change function g(t) is expressed by a curve shown in
To calculate the deceleration stop period (time) and the stop period unit time change function g(t), the moving distance calculation unit 22 first determines a second-order differential value j of the stop period unit time change function g(t), and an inclination a of a first-order differential of the stop period unit time change function g(t) (step S42). In this case, the second-order differential value j is determined by the following Expression (3), and the inclination a of the first-order differential is determined by the following Expression (4).
j=JN (3)
a=A/V (4)
J denotes an allowable jerk for the movement target object in the combined movement direction, and A denotes an allowable acceleration for the movement target object in the combined movement direction. The values of J and A are parameters that are set for calculating (time) and g(t) in this embodiment. The value J is set to a value that is about half of the allowable jerk in the acceleration/deceleration conditions specified based on the mechanical characteristics of the machine tool, and the value A is set to a value that is about half of the allowable acceleration in the acceleration/deceleration conditions specified based on the mechanical characteristics of the machine tool.
Then, the moving distance calculation unit 22 determines whether the value dg of first-order differentiation of the stop period unit time change function g(t) with respect to the reference time t at t=0 is 0 or more (step S44). If it is determined that the value dg is 0 or more, the moving distance calculation unit 22 sets the second-order differential value j1, in the first half portion of the quadratic curve expressed by the stop period unit time change function g(t), to −j (step S46). If it is determined that the value dg is smaller than 0, on the other hand, the moving distance calculation unit 22 sets the second-order differential value j1 to j (step S48).
Then, the moving distance calculation unit 22 tentatively calculates a relative position (t0, E0) of the peak of the first half portion of the quadratic curve of the stop period unit time change function g(t) with respect to the start point of the stop period unit time change function g(t) in the deceleration stop period (time), using the following Expressions (5) and (6), and tentatively calculates the change amount E of the value of the stop period unit time change function g(t) in a range from the peak of the first half portion of the quadratic curve to the endpoint of the latter half portion of the quadratic curve, using the following Expression (7) (step S50).
t0=−dg/j1 (5)
E0=(dg/2)×t0 (6)
E=ge−gs−E0 (7)
Then, the moving distance calculation unit 22 determines whether the change amount E of the value of the stop period unit time change function g(t) is 0 or more (step S52). If it is determined that the change amount E is 0 or more, the moving distance calculation unit 22 sets the second-order differential value j1 of the first half portion of the quadratic curve of the stop period unit time change function g(t) to j, and sets the second-order differential value j2 of the latter half portion of the quadratic curve of the stop period unit time change function g(t) to −j (step S54). If it is determined that the change amount E is smaller than 0, on the other hand, the moving distance calculation unit 22 sets the second-order differential value j1 of the first half portion of the quadratic curve to −j, and sets the second-order differential value j2 of the latter half portion of the quadratic curve to j, and sets the inclination a of the first-order differential of g(t) reversing the + and − signs (step S56).
Then, the moving distance calculation unit 22 recalculates the relative position (t0, E0) of the peak of the first half portion of the quadratic curve with respect to the start point of the quadratic curve of the stop period unit time change function g(t) using the above Expressions (5) and (6), and recalculates the change amount E of g(t) in a range from the peak of the first half portion of the quadratic curve to the endpoint of the latter half portion, using the above Expression (7) (step S58).
Then, the moving distance calculation unit 22 calculates the value gu of g(t) at the peak of the first half portion of the quadratic curve of the stop period unit time change function g(t), the time t1 required from the start point to the inflection point of the quadratic curve, the time t2 required from the inflection point to the endpoint of the quadratic curve, the change amount G1 of g(t) in a range from the start point to the inflection point of the quadratic curve, the change amount G2 of g(t) in a range from the inflection point to the endpoint of the quadratic curve, and the change amount G of g(t) in a range from the start point to the endpoint of the quadratic curve respectively (step S60). In this case, the moving distance calculation unit 22 calculates gu using the following Expression (8), calculates t1 using the following Expression (9), and calculates t2 using the following Expression (10). The moving distance calculation unit 22 also calculates G1 using the following Expression (11), calculates G2 using the following Expression (12), and calculates G using the following Expression (13).
gu=gs+E0 (8)
t1=a/j1 (9)
t2=−a/j2 (10)
G1=(a/2)×t1 (11)
G2=(a/2)×t2 (12)
G=G1+G2 (13)
Then, the moving distance calculation unit 22 determines whether the absolute value |E| of the change amount of g(t) in the range from the peak of the first half portion to the endpoint of the latter half portion in the quadratic curve is not less than the absolute value |G| of the change amount of g(t) in the range from the start point to the endpoint of the quadratic curve (step S62). If the absolute value |E| is not less than the absolute value |G|, this corresponds to the case when a linear portion exists between the first half curved portion and the latter half curved portion of the quadratic curve, as shown in
In concrete terms, the moving distance calculation unit 22 determines the stop period unit time change function g(t) in the 0≦t≦T1 block using the following Expression (14).
g(t)=gu+(j1/2)×(t−t0)2 (14)
The moving distance calculation unit 22 determines the stop period unit time change function g(t) in the T1<t<T2 block using the following Expression (15).
g(t)=gu+G1+a×(t−T1) (15)
The moving distance calculation unit 22 determines the stop period unit time change function g(t) in the T2≦t≦time block using the following Expression (16).
g(t)=ge+(j2/2)×(t−time)2 (16)
Here, T1 is time required from the start point of the quadratic curve to the first inflection point (endpoint of the first half curved portion), and is determined using the following Expression (17). T2 is time required from the start point of the quadratic curve to the second inflection point (endpoint of the linear portion), and is determined using the following Expression (18). The deceleration stop period (time) is time required from the start point to the endpoint of the quadratic curve, and is determined using the following Expression (19).
T1=t0+t1 (17)
T2=T1+(E−G)/a (18)
time=T2+t2 (19)
If the absolute value |E| is less than the absolute value |G|, on the other hand, this corresponds to the case when a linear portion does not exist between the first half curved portion and the latter half curved portion of the quadratic curve, and these curved portions are continuous. Therefore, if it is determined that the absolute value |E| is less than the absolute value |G|, the moving distance calculation unit 22 determines the stop period unit time change function g(t) respectively for two blocks of the quadratic curve: the first half curved portion 0≦t≦T1; and the latter half curved portion T1<t≦time (step S65).
In concrete terms, the moving distance calculation unit 22 determines the stop period unit time change function g(t) in the 0≦t≦T1 block using the following Expression (20).
g(t)=gu+(j1/2)×(t−t0)2 (20)
The moving distance calculation unit 22 determines the stop period unit time change function g(t) in the T1<t≦time block using the following Expression (21).
g(t)=ge+(j2/2)×(t−time)2 (21)
In this case, the deceleration stop period (time) is determined using the following Expression (22).
time=T1+t2 (22)
Here, T1 is time required from the start point to the inflection point (endpoint of the first half curved portion) of the quadratic curve, and is determined using the following Expression (23).
T1=t0+t1 (23)
t1 is determined using the following Expression (24), and t2 is determined using the following Expression (25).
t1=[2×E×j2/{j1×(j2−j1)}]1/2 (24)
t2=−j1/j2×t1 (25)
As described above, the stop period unit time change function g(t) and the deceleration stop period (time) are determined.
Then, the moving distance calculation unit 22 initially sets the reference time t to 0 (step S26 in
Then, the moving distance calculation unit 22 increments the reference time t by 1 (step S28), and calculates a deceleration period set unit time dT2, which is a unit time of the set time T in this emergency stop process (deceleration stop period (time)), based on the stop period unit time change function g(t) determined as mentioned above (step S30). The length of the deceleration period set unit time dT2 calculated here is less than the length of the set unit time ΔT in a state immediately before the emergency stop request is issued from the acceleration/deceleration request monitoring unit 10, that is, a state immediately before pressing the emergency stop button 124a of the stop command input device 124. The moving distance calculation unit 22 calculates the deceleration period set unit time dT2 by substituting the reference time t incremented in step S28 in the stop period unit time change function g(t).
Now the moving distance calculation unit 22 calculates the moving distance dP [axis] for each movement axis per deceleration period set unit time dT2, that is, the moving distance dP [axis] for each movement axis for the period between the set time T to T+dT2, using the following Expression (27) (step S32).
dP[axis]=path(T+dT2)[axis]−path(T)[axis] (27)
The moving distance dP [axis] for each movement axis per deceleration period set unit time dT2 determined like this is less than the moving distance for each movement axis per set unit time ΔT in the state immediately before the emergency stop request is issued from the acceleration/deceleration request monitoring unit 10.
Then, just like step S12, the drive control unit 14 actuates each driving device 102c, 106b, 108b and 110b according to the moving distance dP [axis] for each movement axis per deceleration period set unit time dT2 calculated by the moving distance calculation unit 22, and thereby causes the driving device 102c, 106b, 108b and 110b to transfer the corresponding support 102b, 106a, 108a or 110a for the moving distance dP [axis] for the corresponding movement axis per reference unit time (step S34).
Then, the moving distance calculation unit 22 updates the set time T by adding the deceleration period set unit time dT2 calculated in step S30 to the set time T (step S36).
Then, the moving distance calculation unit 22 determines whether the reference time t is not less than the deceleration stop period (time) (step S38). If the reference time t is not less than the deceleration stop period (time), the movement of the movement target object has already been stopped. If it is determined that the reference time t is not less than the deceleration stop period (time), the moving distance calculation unit 22 reads the value of the combined movement velocity V stored in the memory 5 (step S40). If the restart command is inputted to the restart command input device 126 thereafter, the restart process to restart movement of the movement target object (see
Then, the restart process of the movement target object will be described. In the restart process, the moving distance calculation unit 22 determines whether the restart request is outputted from the acceleration/deceleration request monitoring unit 10 (step S68). If it is determined that the restart request is not outputted from the acceleration/deceleration request monitoring unit 10, the moving distance calculation unit 22 repeatedly executes the determination in step S68. If it is determined that the restart request is outputted from the acceleration/deceleration request monitoring unit 10, on the other hand, then the moving distance calculation unit 22 calculates the restart acceleration period (time) and the restart period unit time change function g(t) (step S70). Here the moving distance calculation unit 22 calculates the restart acceleration period (time) and the restart period unit time change function g(t) which satisfy the following conditions: a value gs of the restart period unit time change function g(t) in the beginning of the restart acceleration period (time) is 0; a value ge of the restart period unit time change function g(t) in the end of the restart acceleration period (time) is the same as the override coefficient k at this point; and the combined movement velocity in the end of the restart acceleration period (time) is the same as the combined movement velocity V. The calculation process of the restart acceleration period (time) and the restart period unit time change function g(t) is the same as the above mentioned calculation process of the deceleration stop period (time) and the stop period unit time change function g(t) (steps S42 to S65 in
If the absolute value |E| of the change amount of g(t) in the block, from the peak of the first half quadratic curve expressed by the restart period unit time change function g(t) to the endpoint of the latter half quadratic curve, is not less than the absolute value |G| of the change amount of g(t) in the restart acceleration period (time), the restart period unit time change function g(t) is expressed by a curve shown in
After calculating the restart acceleration period (time) and the restart period unit time change function g(t), the moving distance calculation unit 22 executes steps S72 to S84 in
If it is determined that the reference time t is not less than the restart acceleration period (time) in step S84, the moving distance calculation unit 22 executes step S8 and later processing in
If it is determined that the emergency stop request is not issued from the acceleration/deceleration request monitoring unit 10 in step S16, the moving distance calculation unit 22 determines whether the velocity change request is issued from the acceleration/deceleration request monitoring unit 10 thereafter (step S18).
If it is determined that the velocity change request is issued from the acceleration/deceleration request monitoring unit 10, the moving distance calculation unit 22 executes the velocity change process for the movement target object shown in
In concrete terms, the moving distance calculation unit 22 calculates the velocity change period (time) and the velocity change period unit time change function g(t) (step S86). In this case, the moving distance calculation unit 22 calculates the acceleration change period (time) and the acceleration change period unit time change function g(t) which satisfy the following conditions: a value gs of the velocity change period unit time change function g(t) in the beginning of the velocity change period (time) is the same as the set unit time ΔT; a value ge of the velocity change period unit time change function g(t) in the end of the velocity change period (time) is the same as the override coefficient k after the velocity is changed; and the combined movement velocity in the beginning of the velocity change period (time) is the same as the combined movement velocity V.
The velocity change period (time) is included in the concept of the acceleration period of the present invention if the acceleration command is inputted to the override device 128, and is included in the concept of the deceleration period of the present invention if the deceleration command is inputted to the override device 128. The velocity change period unit time change function g(t) is included in the concept of the acceleration period unit time change function of the present invention if the acceleration command is inputted to the override device 128, and is included in the deceleration period unit time change function of the present invention if the deceleration command is inputted to the override device 128.
If the movement target object is moving at a constant velocity in the beginning of the velocity change period (time) (a moment when the moving distance calculation unit 22 received the velocity change request), the velocity change period unit time change function g(t) to accelerate the movement target object is expressed by a curve shown in
If the movement target object is moving at a constant velocity in the beginning of the velocity change period (time) (a moment when the moving distance calculation unit 22 received the velocity change request), the velocity change period unit time change function g(t) to decelerate the movement target object is expressed by a curve shown in
After calculating the velocity change period (time) and the velocity change period unit time change function g(t), the moving distance calculation unit 22 sets the reference time t to 0 (step S88), then increments the reference time t by 1 (step S89).
Then, the moving distance calculation unit 22 calculates the set unit time ΔT based on the velocity change period unit time change function g(t) calculated in step S86 (step S90). This set unit time ΔT is determined by substituting the reference time t incremented in step S89 in the velocity change period unit time change function g(t).
Then, the moving distance calculation unit 22 calculates, in the same manner as step S10, the unit time moving distance dP [axis] for each movement axis per set unit time ΔT calculated above (step S91).
Then, based on the unit time moving distance dP [axis] for each movement axis calculated in step S91, the moving distance calculation unit 22 calculates the current combined movement velocity V of the moving target object (step S92). The method for calculating the combined movement velocity V is the same as the above mentioned method for calculating the combined movement velocity V in step S11.
Then in the same manner as step S12, the drive control unit 14 actuates each driving device 102c, 106b, 108b and 110b according to the moving distance dP [axis] calculated in step S91 (step S93). Then the moving distance calculation unit 22 updates the set time T by adding the set unit time ΔT calculated in step S90 to the set time T (step S94).
Then the moving distance calculation unit 22 calculates dg by differentiating the velocity change period unit time change function g(t) determined in step S86 by the reference time t (step S95).
Then the moving distance calculation unit 22 determines whether the reference time t is not less than the velocity change period (time). If it is determined that the reference time t is not less than the velocity change period (time), the moving distance calculation unit 22 executes the process in step S8 and later again. If it is determined that the reference time t does not elapse the velocity change period (time), on the other hand, then the moving distance calculation unit 22 determines, in the same manner as step S16, whether the emergency stop request is issued from the acceleration/deceleration request monitoring unit 10 (step S97).
If the moving distance calculation unit 22 determines that the emergency stop request is issued from the acceleration/deceleration request monitoring unit 10, the emergency stop process in steps S22 to S38 is executed. If it is determined that the emergency stop request is not issued from the acceleration/deceleration request monitoring unit 10, the moving distance calculation unit 22 determines, in the same manner as step S18, whether the velocity change request is issued from the acceleration/deceleration request monitoring unit 10 (step S98). If the moving distance calculation unit 22 determines here that the velocity change request is issued from the acceleration/deceleration request monitoring unit 10, the velocity change process in step S86 and later is executed again. If the moving distance calculation unit 22 determines that the velocity change request is not issued from the acceleration/deceleration request monitoring unit 10, on the other hand, the process in step S89 and later is executed again.
If it is determined that the velocity change request is not issued from the acceleration/deceleration request monitoring unit 10 in step S18, the moving distance calculation unit 22 updates the set time T by adding the set unit time ΔT to the set time T (step S20). Then the process in step S10 and later is executed again.
In this way, the numerical control process is executed by the numerical control apparatus 2 of the present embodiment.
As described above, according to the present embodiment, when the transfer device 102, 106, 108 or 110 executes irregular operation involving velocity change of the movement target object (emergency stop, acceleration after restart, and acceleration/deceleration of the movement target object during movement), the length of the set unit time, which is common for each movement axis direction, is changed from the length in a state immediately before the input of the special command to the special command input device 122 to the length corresponding to the velocity change instructed by the special command, and each support 102b, 106a, 108a and 110a is transferred in accordance with the moving distance in the corresponding movement axis direction of each support 102b, 106a, 108a and 110a per set unit time after the change calculated on the basis of the processing path. Therefore, the moving distance of each support 102b, 106a, 108a and 110a in each movement axis direction per set unit time after the change calculated on the basis of the processing path is a moving distance maintaining a relative positional relationship of positions in each movement axis direction specified by the processing path, and each support 102b, 106a, 108a and 110a is transferred for the moving distance in a state maintaining the relative positional relationship among positions in each movement axis direction specified by the processing path. As a result, deviation of the movement locus of the movement target object from the processing path can be prevented when each transfer device 102, 106, 108 and 110 executes the operation involving the irregular velocity change of the movement target object (emergency stop, acceleration after restart, and acceleration/deceleration of the movement target object during movement) separately from normal transfer of the movement target object performed when the workpiece 100 is processed.
According to the present embodiment, operation involving irregular velocity change of the movement target object can be executed, while preventing deviation of the movement locus of the movement target object from the processing path, simply by changing the length of the set unit time common to each movement axis direction, without performing complicated operation when a special command is inputted to the special command input device 122, unlike the case of the technique disclosed in Japanese Patent Application Laid-Open No. 2010-55161, which separately performs an operation to cancel an error generated by the acceleration/deceleration after interpolation, or the technique disclosed in Japanese Patent Application Laid-Open No. 2008-225825, which performs an acceleration/deceleration operation before interpolation. Therefore, responsiveness, from instructing the operation involving the velocity change of the movement target object by the input of a special command to the special command input device 122 to actual execution of this operation of the movement target object by each transport device, 102, 106, 108 and 110, can be improved. In concrete terms, the responsiveness, from the input of the emergency stop command to the stop command input device to each transfer device 102, 106, 108 and 110 urgently stopping the movement of the movement target object, can be improved. The responsiveness, from the input of the restart command to the restart command input device 126 to each transfer device 102, 106, 108 and 110 actually restarting the movement of the movement target object, can also be improved. Further, the responsiveness, from the input of the velocity change command to the override device 128 to each transfer device 102, 106,108 and 110 actually accelerating or decelerating the movement of the movement target object, can be improved.
According to the present embodiment, when the transfer device 102, 106, 108 or 110 executes irregular operation involving velocity change of the movement target object, a set time and a set unit time, which are different from the reference time and the reference unit time to be the reference of actuating of the driving devices 102c, 106b, 108b and 110b, are set, and a moving distance of each support 102b, 106a, 108a and 110a in the corresponding movement axis direction per that set unit time is calculated on the basis of the processing path, and thereby the moving distance to move each support 102b, 106a, 108a or 110a per reference unit time is calculated. In other words, according to the present embodiment, the moving distance of each support 102b, 106a, 108a and 110a per reference unit time, for executing irregular operation involving velocity change of the movement target object, is calculated without influencing the reference time and reference unit time to be the reference of actuating of the driving devices 102c, 106b, 108b and 110b. Therefore, operation of the movement target object involving the irregular velocity change can be executed without influencing normal driving by each driving device 102c, 106b, 108b and 110b.
The embodiments disclosed here are all illustrative, and are not intended to limit the scope of the invention. The scope of the invention is not specified by the above description of the embodiment but by Claims, and includes Claims and all modifications within the equivalent meaning and scope.
For example, the numerical control apparatus of the present invention may be applied to machine tools other than the machine tool described in the above embodiment.
The movement command path deriving unit may not necessarily include the interpolation computing unit and the acceleration/deceleration filter. In other words, the moving distance calculation unit may calculate the moving distance of each support in the corresponding movement axis direction per set unit time based on the movement command path for each movement axis which the movement command path deriving unit derived without performing the interpolation operation on the basis of the processing path of the processing command program.
The control of the transfer device by the numerical control apparatus of the present invention need not be applicable to all deceleration at emergency stop of the movement target object, acceleration at restart and acceleration/deceleration according to an override device. For example, control of the transfer device by the numerical control apparatus of the present invention may be applied only to deceleration of the movement target object at emergency stop, or control of the transfer device by the numerical control apparatus of the present invention may be applied only to acceleration at restart of the movement target object, or control of the transfer device by the numerical control apparatus of the present invention may be applied only to acceleration/deceleration of the movement target object according to an override device. The control of the transfer device by the numerical control apparatus of the present invention may be applied to any two of the following three: deceleration of the movement target object at emergency stop; acceleration at restart; and acceleration/deceleration according to an override device. In such cases, the device, to indicate the operation involving the velocity change of the movement target object to which control by the numerical control apparatus of the present invention is applied, out of the stop signal input device, restart signal input device and override device, is included in the special command input device of the present invention.
The above embodiment can be summarized as follows.
The numerical control apparatus according to the embodiment is a numerical control apparatus installed in a machine tool which includes: a plurality of transfer devices which transfer a movement target object, which is a workpiece or a tool to process the workpiece, when the workpiece is processed; and a special command input device for inputting, from outside, a special command for instructing an operation involving a velocity change of the movement target object separately from normal transfer of the movement target object performed when the workpiece is processed, each of the transfer devices including a support for supporting the movement target object, and a driving device which transfers the movement target object by transferring the support in a predetermined movement axis direction, the numerical control apparatus performing numerical control of each of the transfer devices and including: a storage unit which stores a processing command program which specifies a processing path to indicate a path where the movement target object is to move as a reference time elapses when the workpiece is processed; a computing unit which calculates, on the basis of the processing path, a moving distance of each support in the corresponding movement axis direction per set unit time; and a drive control unit which causes each driving device to transfer the support corresponding to that driving device in accordance with the moving distance of each support calculated by the computing unit, wherein in response to the input of the special command to the special command input device, the computing unit changes a length of the set unit time from a length in the state immediately before the input of the special command to a length corresponding to the velocity change of the movement target object instructed by the special command, and calculates, on the basis of the processing path, the moving distance of each support in the corresponding movement axis direction per set unit time of which length has been changed.
According to this numerical control apparatus, when the machine tool executes irregular operation involving velocity change of the movement target object, in response to a special command inputted to the special command input device, the length of the set unit time, which is common for each movement axis direction, is changed from the length in a state immediately before the input of the special command to the length corresponding to the velocity change instructed by the special command, and the moving distance of each support in the corresponding moving axis direction per set unit time of which length has been changed is calculated on the basis of the processing path, and each support is transferred in the corresponding movement direction in accordance with the calculated moving distance. Therefore when an operation involving an irregular velocity change of the movement target object is executed separately from the normal transfer of the movement target object performed when a workpiece is processed, deviation of the movement locus of the movement target object from the processing path can be prevented.
In concrete terms, when the length of the set unit time which is common for each movement axis direction is changed in response to the special command, as in the case of this numerical control apparatus, the moving distance of each support in the corresponding moving axis direction per set unit time calculated on the basis of the processing path, is calculated as a moving distance maintaining the relative positional relationship among each movement axis specified by the processing path. Therefore, if the corresponding support is transferred by the driving device in accordance with the calculated moving distance in each moving axis direction per set unit time, the operation involving the velocity change of the movement target object is executed in a state maintaining the relative positional relationship among each movement axis specified by the processing path. As a result, deviation of the movement locus of the movement target object from the processing path can be prevented, even if the above operation involving the irregular velocity change of the movement target object is executed.
Further, according to this numerical control apparatus, operation involving irregular velocity change of the movement target object can be executed, while preventing deviation of the movement target object from the processing path simply by changing the length of the set unit time, without performing a complicated operation when a special command is inputted to the special command input device, unlike the case of the technique disclosed in Japanese Patent Application Laid-Open No. 2010-55161, which separately performs operation to cancel an error generated by the acceleration/deceleration after interpolation, or the technique disclosed in Japanese Patent Application Laid-Open No. 2008-225825, which performs acceleration/deceleration operation before interpolation. Therefore, the responsiveness, from instructing the operation involving the velocity change of the movement target object by the input of the special command to the special command input device to actual execution of this operation involving velocity change of the movement target object, can be improved.
In the above numerical control apparatus, it is preferable that the drive control unit controls operation of each driving device so that the driving device transfers, per reference unit time which is a reference of actuating of the driving device, the corresponding support in the corresponding axis direction for the moving distance per the set unit time calculated by the computing unit, and the computing unit sets the set unit time as a unit time which is different from the reference unit time, and calculates, on the basis of the processing path, the moving distance of each support per set unit time in the corresponding movement axis direction.
According to this configuration, to perform operation of the movement target object involving the irregular velocity change, the transfer distance (moving distance) of the corresponding support transferred by each driving device in the corresponding moving axis direction per reference unit time can be calculated, and the transfer of each support in the corresponding moving axis direction in accordance with this transfer distance can be performed, without influencing the reference unit time, which is the reference of actuating of the driving device. Therefore, operation of the movement target object involving the irregular velocity change can be executed without influencing actuating of each driving device.
In the above numerical control apparatus, it is preferable that the special command input device includes a stop command input device for inputting, as the special command, an emergency stop command for urgently decelerating and stopping movement of the movement target object, and in response to the input of the emergency stop command to the stop command input device, the computing unit calculates the set unit time in a predetermined deceleration stop period, based on a stop period unit time change function, which decreases the length of the set unit time from a length in the state immediately before the input of the emergency stop command to the stop command input device to 0 during the deceleration stop period, and calculates, on the basis of the processing path, the moving distance of each support in the corresponding movement axis direction per set unit time thus calculated.
According to this configuration, if the emergency stop command is inputted to the stop command input device, the moving distance of each support in the corresponding movement axis direction per set unit time is decreased to 0 during the deceleration stop period, whereby the movement target object can be stopped. Further, in this configuration, the length of the set unit time is decreased to 0, and the moving distance of each support in the corresponding movement axis direction per set unit time for the length to decrease to 0, is calculated on the basis of the processing path, therefore when the movement target object is urgently stopped, the responsiveness, from the input of the emergency stop command to the stop command input device to the actual execution of the emergency stop of the movement target object, can be improved, while preventing the deviation of the movement locus of the movement target object from the processing path.
In this case, it is preferable that the special command input device includes a restart command input device for inputting, as the special command, a restart command for restarting and accelerating the movement of the stopping movement target object, and in response to the input of the restart command to the restart command input device after the emergency stop command is inputted to the stop command input device, the computing unit calculates the set unit time in a predetermined restart acceleration period on the basis of a restart period unit time change function, which increases the length of the set unit time from 0 to a predetermined length during the restart acceleration period, and calculates, on the basis of the processing path, the moving distance of each support in the corresponding movement axis direction per set unit time thus calculated.
According to this configuration, if the restart command is inputted to the restart command input device in the state of the movement target object stopping in response to the emergency stop command, the moving distance of each support in the corresponding movement axis direction per set unit time is increased from 0 to the specified moving distance as the unit time increases during the restart acceleration period, whereby the restart involving acceleration of the movement target object can be executed. Further, in this configuration, the length of the set unit time is increased from 0 to the specified length, and the moving distance of each support in the corresponding movement axis direction per set unit time for the length to increase, is calculated on the basis of the processing path. Therefore, when the stopping movement target object is restarted, the responsiveness, from the input of the restart command to the restart command input device to the actual execution of the restart and acceleration of the movement target object, can be improved, while preventing the deviation of the movement locus of the movement target object from the processing path.
In the above numerical control apparatus, it is preferable that the special command input device includes a velocity change command input device which can be input, as the special command, an acceleration command which includes an instruction to increase the movement velocity of the movement target object and information on an acceleration rate, which is an increasing rate of the movement velocity, or a deceleration command which includes an instruction to decrease the movement velocity of the movement target object and information on a deceleration rate, which is a decreasing rate of the movement velocity, and in response to the input of the acceleration command to the velocity change command input device, the computing unit calculates the set unit time in a predetermined acceleration period on the basis of an acceleration period unit time change function, which increases the length of the set unit time from a length in the state immediately before the input of the acceleration command to the velocity change command input device to a length corresponding to the acceleration rate included in the acceleration command during the acceleration period, and calculates, on the basis of the processing path, the moving distance of each support in the corresponding movement axis direction per set unit time thus calculated, and in response to the input of the deceleration command to the velocity change command input device, the computing unit calculates the set unit time in a predetermined deceleration period on the basis of a deceleration period unit time change function, which decreases the length of the set unit time from a length in the state immediately before the input of the deceleration command to the velocity change command input device to a length corresponding to the deceleration rate included in the deceleration command during the deceleration period, and calculates, on the basis of the processing path, the moving distance of each support in the corresponding movement axis direction per set unit time thus calculated.
According to this configuration, if the acceleration command is inputted to the velocity change command input device, acceleration of the movement target object can be executed during the acceleration period by increasing the moving distance of each support in the corresponding movement axis direction per set unit time, from the moving distance per set unit time immediately before the input of the acceleration command to the velocity change command input device to the moving distance according to the acceleration rate included in the acceleration command. If the deceleration command is inputted to the velocity change command input device, on the other hand, deceleration of the movement target object can be executed during the deceleration period by decreasing the moving distance of each support in the corresponding movement axis direction per set unit time, from the moving distance per set unit time immediately before the input of the deceleration command to the velocity change command input device to the moving distance according to the deceleration rate included in the deceleration command. In this configuration, when the acceleration command is inputted to the velocity change command input device, the set unit time is increased and the moving distance of each support in the corresponding movement axis direction per set unit time of which length is increased is calculated on the basis of the processing path, and when the deceleration command is inputted to the velocity change command input device, on the other hand, the set unit time is decreased and the moving distance of each support in the corresponding movement axis direction per set unit time of which length is decreased is calculated on the basis of the processing path, therefore the responsiveness, from the input of the acceleration command or the deceleration command to the velocity change command input device to the actual execution of acceleration or deceleration of the movement target object, can be improved, while preventing deviation of the movement locus of the movement target object from the processing path when the movement velocity of the movement target object when the workpiece is processed is changed in response to the input of the acceleration command or the deceleration command to the velocity change command input device.
As described above, according to the above embodiment, when operation involving velocity change of a movement target object is executed in a machine tool separately from normal transfer of a movement target object performed when a workpiece is processed, responsiveness, from instructing the operation involving the velocity change of the movement target object to actual execution of this operation, can be improved, while preventing deviation of the movement locus of the movement target object from the processing path instructed by the processing command program.
Number | Date | Country | Kind |
---|---|---|---|
2010-171050 | Jul 2010 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2011/004277 | 7/28/2011 | WO | 00 | 1/28/2013 |