Control device, control method, and computer program

JP7652026B2Active Publication Date: 2025-03-27BROTHER KOGYO KK
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2021149664
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-09-14
Publication Date
2025-03-27
Estimated Expiration
2041-09-14

AI Technical Summary

Benefits of technology

【0038】 本開示の一実施形態に係る制御装置、制御方法及びコンピュータプログラムにあっては、第一指令速度の方向と第二指令速度の方向とが同方向である場合、第一適用速度及び第二適用速度を同時に出力している間、第一加加速度及び第二加加速度の両者が0以上の第一値域又は0以下の第二値域のいずれか一方の値域に属するように、遅延時間を演算する。第一指令速度の方向と第二指令速度の方向とが逆の場合、第一適用速度及び第二適用速度を同時に出力している間、第一加加加速度及び第二加加加速度の両者が0以上の第三値域又は0以下の第四値域のいずれか一方の値域に属するように、第一指令速度の出力を完了してから第二指令速度の出力を開始するまでの遅延時間を演算する。時定数の大きさに拘わらず使用可能な遅延時間を演算することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007652026000001
    Figure 0007652026000001
  • Figure 0007652026000002
    Figure 0007652026000002
  • Figure 0007652026000003
    Figure 0007652026000003
Patent Text Reader

Abstract

To provide a control device or the like for calculating a usable delay time regardless of, for example, the size of a constant time of a filter for a continuous move command.SOLUTION: A control device includes an acquisition part for acquiring a continuous first command speed and second command speed, a filter application part for applying a filter to the command speeds acquired by the acquisition part to calculate first and second application speeds, and a delay time calculation part for calculating a delay time up to a start of an output of the second command speed after completing the output of the first command speed from the acquisition part to the filter application part such that both a first jerk being a jerk to the first application speed and a second jerk being a jerk to the second application speed belong to a first value area being zero or more or that both the first jerk and the second jerk belong to a second value area being zero or less while the first application speed and the second application speed are outputted at the same time.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present technology relates to a control device, a control method, and a computer program for controlling the operation of a workpiece holding unit and a spindle of a machine tool. [Background technology]

[0002] The numerical control device of a machine tool may output two movement commands, for example, a fast-forward command (front command) and a cutting command (back command), in succession to the motor of the workpiece holder or spindle. The numerical control device sets the time (delay time) from the completion of output of the front command to the start of output of the back command so that the motor executes the back command before completing execution of the front command.

[0003] In the numerical control device, when the time constants of the first moving average filter and the second moving average filter applied to the preceding command are the first preceding time constant Ta1 and the second preceding time constant Ta2, and the time constants of the first moving average filter and the second moving average filter applied to the following command are the first following time constant Tb1 and the second following time constant Tb2, respectively, the delay time is calculated as (Ta1+Ta2)-(Tb1+Tb2).By setting this delay time, the machining time can be shortened (see Patent Document 1). [Prior art documents] [Patent documents]

[0004] [Patent Document 1] JP 2018-060242 A Summary of the Invention [Problem to be solved by the invention]

[0005] In the above-mentioned numerical control device, when switching from the front command to the rear command, the speed after applying a filter to the front command and the speed after applying a filter to the rear command are synthesized. However, if the first front time constant Ta1 and the first rear time constant Tb1 have different magnitudes, or if the second front time constant Ta2 and the second rear time constant Tb2 have different magnitudes, the maximum value of the synthesized speed after applying the filters may exceed the speed indicated by the front command or the rear command.

[0006] In addition, if the movement directions of the front command and the rear command are opposite, when switching from the front command to the rear command, the acceleration after applying a filter to the front command and the acceleration after applying a filter to the rear command are combined, and the combined acceleration may exceed the maximum acceleration of the front command or rear command determined based on the motor torque specifications.

[0007] The present disclosure has been made in consideration of the above circumstances, and aims to provide a control device, a control method, and a computer program that calculates a usable delay time for successive movement commands regardless of the magnitude of the time constant, or calculates a usable delay time regardless of the movement direction indicated by the successive movement commands. [Means for solving the problem]

[0008] A control device according to one embodiment of the present disclosure includes an acquisition unit that acquires a command speed based on a movement command for a workpiece holding unit or a spindle of a machine tool, and a filter application unit that applies a filter to the command speed acquired by the acquisition unit to obtain a filter application speed, and in the control device that controls the operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speed includes a first command speed and a second command speed that is a command speed subsequent to the first command speed and has the same direction as that of the first command speed, the filter includes a leading first moving average filter and a leading second moving average filter that are applied to the first command speed, and a trailing first moving average filter and a trailing second moving average filter that are applied to the second command speed, and the filter application speed includes a first application speed obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a trailing first moving average filter and a trailing second moving average filter to the second command speed. and a second applied speed obtained by applying a two-way moving average filter, and a delay time calculation unit that calculates a delay time from completion of output of the first command speed from the acquisition unit to the filter application unit to start of output of the second command speed from the acquisition unit to the filter application unit based on a first output time that is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time that is an output time of the second command speed, the time constant of the trailing first moving average filter, and the time constant of the trailing second moving average filter, so that a first jerk that is a jerk with respect to the first applied speed and a second jerk that is a jerk with respect to the second applied speed both belong to a first value range of 0 or more or both the first jerk and the second jerk belong to a second value range of 0 or less while the first applied speed and the second applied speed are simultaneously output to the drive source.

[0009] In the present disclosure, when the direction of the first command speed and the direction of the second command speed are the same, while the first applied speed and the second applied speed are output simultaneously, the delay time is calculated so that both the first jerk and the second jerk belong to either a first value range greater than or equal to 0 or a second value range less than or equal to 0.

[0010] In a control device according to an embodiment of the present disclosure, the delay time calculation unit includes a first delay time calculation unit that calculates a first delay time between a completion time point when the acquisition unit completes output of the first command speed and a time point after the completion time point when the first jerk becomes 0 from negative; a second delay time calculation unit that calculates a second delay time that is a difference between a first time between the completion time point when the acquisition unit completes output of the first command speed and a time point after the completion time point when the first applied speed becomes 0, and a second time between a start time point when the acquisition unit starts outputting the second command speed and a time point after the start time point when the second jerk becomes negative from 0; and a first determination unit that determines the larger value of the first delay time or the second delay time as the delay time.

[0011] In the present disclosure, a first delay time and a second delay time are calculated, and the larger value of the first delay time and the second delay time is determined as the delay time.

[0012] In a control device according to an embodiment of the present disclosure, the filter includes a leading third moving average filter applied to the first command speed, and the delay time calculation unit has a third delay time calculation unit that calculates a third delay time by adding a leading third time constant in the leading third moving average filter to a median value of a value obtained by subtracting a first output time, which is an output time of the first command speed, from a sum of the leading first time constant, the leading second time constant, and the leading third time constant, a fourth delay time calculation unit that calculates a fourth delay time by subtracting a median value of a trailing first time constant in the trailing first moving average filter, a trailing second time constant in the trailing second moving average filter, and a second output time, which is an output time of the second command speed, from the sum of the leading first time constant, the leading second time constant, and the leading third time constant, and a second determination unit that determines the larger value of the third delay time or the fourth delay time as the delay time.

[0013] In the present disclosure, the third delay time and the fourth delay time are calculated, and the larger value of the third delay time and the fourth delay time is determined as the delay time.

[0014] A control device according to one embodiment of the present disclosure includes an acquisition unit that acquires a command speed based on a movement command for a workpiece holding unit or a spindle of a machine tool, and a filter application unit that applies a filter to the command speed acquired by the acquisition unit to obtain a filter application speed, and in the control device that controls an operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speed includes a first command speed and a second command speed that is a command speed subsequent to the first command speed and has a direction opposite to that of the first command speed, the filter includes a leading first moving average filter and a leading second moving average filter that are applied to the first command speed, and a trailing first moving average filter and a trailing second moving average filter that are applied to the second command speed, and the filter application speed includes a first application speed obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a trailing first moving average filter and a trailing second moving average filter to the second command speed. and a second applied speed obtained by applying an average filter, and a delay time calculation unit that calculates a delay time from completion of output of the first command speed from the acquisition unit to the filter application unit to start of output of the second command speed from the acquisition unit to the filter application unit based on a first output time that is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time that is an output time of the second command speed, the time constant of the trailing first moving average filter, and the time constant of the trailing second moving average filter, so that a first accelerometer that is an accelerometer with respect to the first applied speed and a second accelerometer that is an accelerometer with respect to the second applied speed both belong to a third value range of 0 or more or both the first accelerometer and the second accelerometer belong to a fourth value range of 0 or less while the first applied speed and the second accelerometer belong to a fourth value range of 0 or less.

[0015] In the present disclosure, when the direction of the first command speed and the direction of the second command speed are opposite, a delay time from completion of output of the first command speed to start of output of the second command speed is calculated so that both the first jerk and the second jerk belong to either a third value range greater than or equal to 0 or a fourth value range less than or equal to 0 while the first applied speed and the second applied speed are output simultaneously.

[0016] In the control device according to one embodiment of the present disclosure, the delay time calculation unit has a fifth delay time calculation unit that calculates a fifth delay time between a completion time point when the acquisition unit completes output of the first command speed and a time point after the completion time point when the first applied speed finally changes from positive to 0, a sixth delay time calculation unit that calculates a sixth delay time that is the difference between a third time between the completion time point when the acquisition unit completes output of the first command speed and a time point after the completion time point when the first applied speed becomes 0, and a fourth time between a start time point when the acquisition unit begins outputting the second command speed and a time point after the start time point when the second applied speed changes from 0 to positive, and a third determination unit that determines the larger value of the fifth delay time or the sixth delay time as the delay time.

[0017] In the present disclosure, the fifth delay time and the sixth delay time are calculated, and the larger value of the fifth delay time and the sixth delay time is determined as the delay time.

[0018] In the control device according to an embodiment of the present disclosure, the filter includes a leading third moving average filter applied to the first command speed and a trailing third moving average filter applied to the second command speed, and the delay time calculation unit has a seventh delay time calculation unit that calculates a seventh delay time, an eighth delay time calculation unit that calculates an eighth delay time, and a fourth determination unit that determines the larger of the seventh delay time and the eighth delay time as the delay time, and the seventh delay time calculation unit has a first selection unit that selects the larger of a value obtained by adding a leading third time constant in the leading third moving average filter to a median value of a value obtained by subtracting a first output time, which is an output time of the first command speed, from a leading first time constant in the leading first moving average filter, a leading second time constant in the leading second moving average filter, and a sum of the leading first time constant and the leading second time constant, and the seventh delay time calculation unit has a first adder that adds the leading third time constant to whichever is greater and a value obtained by subtracting the first output time from a sum of constants; and a fifth determination unit that determines the seventh delay time to whichever is smaller, the value selected by the first selection unit or the value added by the first adder. The eighth delay time calculation unit has a second selection unit that selects the smaller value of a trailing first time constant in the trailing first moving average filter, a trailing second time constant in the trailing second moving average filter, a median of a second output time that is an output time of the second command speed, and a trailing third time constant in the trailing third moving average filter; a third selection unit that selects the smaller value of the trailing second time constant and the second output time; a fourth selection unit that selects the larger value of the value selected by the second selection unit or the value selected by the third selection unit; and a calculation unit that calculates the eighth delay time by subtracting the value selected by the fourth selection unit from a sum of the leading first time constant, the leading second time constant, and the leading third time constant.

[0019] In the present disclosure, the seventh delay time and the eighth delay time are calculated, and the larger value of the seventh delay time and the eighth delay time is determined as the delay time.

[0020] A control device according to one embodiment of the present disclosure includes an acquisition unit that acquires a command speed based on a movement command for a workpiece holding unit or a spindle of a machine tool, and a filter application unit that applies a filter to the command speed acquired by the acquisition unit to obtain a filter application speed, and in the control device that controls an operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speed includes a first command speed and a second command speed that is a command speed next to the first command speed, and the filters include a leading first moving average filter and a leading second moving average filter that are applied to the first command speed, and a leading second moving average filter that is applied to the second command speed. a trailing first moving average filter and a trailing second moving average filter applied to a command speed, the filter application speed including a first application speed obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a second application speed obtained by applying the trailing first moving average filter and the trailing second moving average filter to the second command speed, a determination unit determining whether or not a direction of the first command speed and a direction of the second command speed are the same direction, and In this case, while the first applied speed and the second applied speed are simultaneously output to the driving source based on a first output time that is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time that is an output time of the second command speed, a time constant of the trailing first moving average filter, and a time constant of the trailing second moving average filter, both of a first jerk that is a jerk with respect to the first applied speed and a second jerk that is a jerk with respect to the second applied speed belong to a first value range of 0 or more, or a delay time from completion of output of the first command speed from the acquisition unit to the filter application unit to start of output of the second command speed from the acquisition unit to the filter application unit is calculated so that both the speed and the second jerk belong to a second value range less than or equal to 0, and when the determination unit determines that the direction of the first command speed and the direction of the second command speed are not the same, a first output time which is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, and a second output time which is an output time of the second command speed;and a delay time calculation unit that calculates a delay time from the completion of output of the first command speed from the acquisition unit to the filter application unit to the start of output of the second command speed from the acquisition unit to the filter application unit based on a time constant of the trailing first moving average filter and a time constant of the trailing second moving average filter, so that a first accelerometer that is an accelerometer with respect to the first applied speed and a second accelerometer that is an accelerometer with respect to the second applied speed both belong to a third value range of 0 or more, or both the first accelerometer and the second accelerometer belong to a fourth value range of 0 or less, while the first applied speed and the second applied speed are simultaneously output to the drive source.

[0021] In the present disclosure, when the direction of the first command speed and the direction of the second command speed are the same, a delay time is calculated so that, while the first applied speed and the second applied speed are output simultaneously, both the first jerk and the second jerk belong to either a first range equal to or greater than 0 or a second range equal to or less than 0. When the direction of the first command speed and the direction of the second command speed are opposite, a delay time is calculated from the completion of output of the first command speed to the start of output of the second command speed so that both the first jerk and the second jerk belong to either a third range equal to or greater than 0 or a fourth range equal to or less than 0 while the first applied speed and the second applied speed are output simultaneously.

[0022] In a control device according to an embodiment of the present disclosure, when the determination unit determines that the direction of the first command velocity and the direction of the second command velocity are the same, the delay time calculation unit includes a first delay time calculation unit that calculates a first delay time between a completion time point when the acquisition unit has completed output of the first command velocity and a time point after the completion time point when the first jerk becomes 0 from negative, a second delay time calculation unit that calculates a second delay time that is a difference between a first time between a completion time point when the acquisition unit has completed output of the first command velocity and a time point after the completion time point when the first applied velocity becomes 0, and a second time between a start time point when the acquisition unit has started outputting the second command velocity and a time point after the start time point when the second jerk becomes negative from 0, and a first determination unit that determines the larger value of the first delay time or the second delay time as the delay time. and a third determination unit that determines, when the determination unit determines that the direction of the first command velocity and the direction of the second command velocity are not the same, the delay time calculation unit includes a fifth delay time calculation unit that calculates a fifth delay time between a completion time point when the acquisition unit completes output of the first command velocity and a time point after the completion time point when the first applied velocity finally changes from positive to 0, a sixth delay time calculation unit that calculates a sixth delay time that is a difference between a third time between the completion time point when the acquisition unit completes output of the first command velocity and a time point after the completion time point when the first applied velocity becomes 0, and a fourth time between a start time point when the acquisition unit starts outputting the second command velocity and a time point after the start time point when the second applied velocity changes from 0 to positive, and a third determination unit that determines the larger value of the fifth delay time or the sixth delay time as the delay time.

[0023] In the present disclosure, when the direction of the first command speed and the direction of the second command speed are the same, a first delay time and a second delay time are calculated, and the larger value of the first delay time and the second delay time is determined as the delay time.When the direction of the first command speed and the direction of the second command speed are opposite, a fifth delay time and a sixth delay time are calculated, and the larger value of the fifth delay time and the sixth delay time is determined as the delay time.

[0024] In the control device according to an embodiment of the present disclosure, the filter includes a leading third moving average filter applied to the first command speed and a trailing third moving average filter applied to the second command speed, and when the determination unit determines that a direction of the first command speed and a direction of the second command speed are the same direction, the delay time calculation unit calculates a leading first time constant in the leading first moving average filter, a leading second time constant in the leading second moving average filter, and a value obtained by subtracting a first output time that is an output time of the first command speed from a sum of the leading first time constant and the leading second time constant. a third delay time calculation unit that calculates a third delay time by adding a third leading time constant in the leading third moving average filter to a median value of the first leading time constant, the second leading time constant, and the third leading time constant; a fourth delay time calculation unit that calculates a fourth delay time by subtracting a median value of a trailing first time constant in the trailing first moving average filter, a trailing second time constant in the trailing second moving average filter, and a second output time that is an output time of the second command speed from a sum of the first leading time constant, the second leading time constant, and the third leading time constant; and a second determination unit that determines the larger value of the third delay time and the fourth delay time as the delay time. and when the determination unit determines that the direction of the first command speed and the direction of the second command speed are not the same direction, the delay time calculation unit has a seventh delay time calculation unit that calculates a seventh delay time, an eighth delay time calculation unit that calculates an eighth delay time, and a fourth determination unit that determines a larger value of the seventh delay time and the eighth delay time as the delay time, and the seventh delay time calculation unit determines the first delay time from a leading first time constant in the leading first moving average filter, a leading second time constant in the leading second moving average filter, and a sum of the leading first time constant and the leading second time constant. a first selection unit that selects the larger of a value obtained by adding a third leading time constant in the third leading moving average filter to a median value of values ​​obtained by subtracting a first output time, which is an output time of a command speed, and a sum of the first leading time constant and the second leading time constant; a first addition unit that adds the third leading time constant to the larger of a value obtained by subtracting the first output time from the sum of the first leading time constant and the second leading time constant; and a fourth determination unit that determines the seventh delay time to the smaller of the value selected by the first selection unit and the value added by the first addition unit,The eighth delay time calculation unit includes a second selection unit that selects the smaller value of the trailing first time constant in the trailing first moving average filter, the trailing second time constant in the trailing second moving average filter, the median value of a second output time that is an output time of the second command speed, and the trailing third time constant in the trailing third moving average filter, a third selection unit that selects the smaller value of the trailing second time constant and the second output time, a fourth selection unit that selects the larger value of the value selected by the second selection unit and the value selected by the third selection unit, and a calculation unit that calculates the eighth delay time by subtracting the value selected by the fourth selection unit from a combined value of the leading first time constant, the leading second time constant, and the leading third time constant.

[0025] In the present disclosure, when the direction of the first command speed and the direction of the second command speed are the same, a third delay time and a fourth delay time are calculated, and the larger value of the third delay time and the fourth delay time is determined as the delay time.When the direction of the first command speed and the direction of the second command speed are opposite, a seventh delay time and an eighth delay time are calculated, and the larger value of the seventh delay time and the eighth delay time is determined as the delay time.

[0026] A control method according to one embodiment of the present disclosure includes acquiring a command speed based on a movement command for a workpiece holding unit or a spindle of a machine tool, applying a filter to the acquired command speed to determine a filter application speed, and controlling an operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speed includes a first command speed and a second command speed that is a command speed subsequent to the first command speed and has the same direction as a direction of the first command speed, the filters include a leading first moving average filter and a leading second moving average filter to be applied to the first command speed, and a trailing first moving average filter and a trailing second moving average filter to be applied to the second command speed, and the filter application speed includes a first application speed obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a trailing first moving average filter and a trailing second moving average filter to the second command speed. and a second applied speed obtained by applying a moving average filter and a trailing second moving average filter, and while the first applied speed and the second applied speed are simultaneously output to the drive source, a delay time is calculated from the completion of output of the first command speed to the start of output of the second command speed based on a first output time that is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time that is an output time of the second command speed, the time constant of the trailing first moving average filter, and the time constant of the trailing second moving average filter, so that a first jerk that is a jerk with respect to the first applied speed and a second jerk that is a jerk with respect to the second applied speed both belong to a first value range of 0 or more or so that the first jerk and the second jerk both belong to a second value range of 0 or less.

[0027] In the present disclosure, when the direction of the first command speed and the direction of the second command speed are the same, while the first applied speed and the second applied speed are output simultaneously, the delay time is calculated so that both the first jerk and the second jerk belong to either a first value range greater than or equal to 0 or a second value range less than or equal to 0.

[0028] A control method according to one embodiment of the present disclosure includes acquiring a command speed based on a movement command for a workpiece holding unit or a spindle of a machine tool, applying a filter to the acquired command speed to determine a filter application speed, and controlling an operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speed includes a first command speed and a second command speed that is a command speed subsequent to the first command speed and has a direction opposite to that of the first command speed, the filters include a leading first moving average filter and a leading second moving average filter to be applied to the first command speed, and a trailing first moving average filter and a trailing second moving average filter to be applied to the second command speed, and the filter application speed includes a first application speed obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a trailing first moving average filter and a trailing second moving average filter to the second command speed. and a second applied speed obtained by applying a moving average filter and a trailing second moving average filter, and while the first applied speed and the second applied speed are output simultaneously, a delay time is calculated from the completion of output of the first command speed to the start of output of the second command speed based on a first output time that is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time that is an output time of the second command speed, the time constant of the trailing first moving average filter, and the time constant of the trailing second moving average filter, so that a first accelerometer jerk that is an accelerometer jerk with respect to the first applied speed and a second accelerometer jerk that is an accelerometer jerk with respect to the second applied speed both belong to a third value range of 0 or more, or so that the first accelerometer jerk and the second accelerometer jerk both belong to a fourth value range of 0 or less.

[0029] In the present disclosure, when the direction of the first command speed and the direction of the second command speed are opposite, a delay time from completion of output of the first command speed to start of output of the second command speed is calculated so that both the first jerk and the second jerk belong to either a third value range greater than or equal to 0 or a fourth value range less than or equal to 0 while the first applied speed and the second applied speed are output simultaneously.

[0030] A control method according to one embodiment of the present disclosure includes: acquiring a command speed based on a movement command for a workpiece holding unit or a spindle of a machine tool; applying a filter to the acquired command speed to determine a filter application speed; and controlling operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speed includes a first command speed and a second command speed which is a command speed subsequent to the first command speed; the filter includes a leading first moving average filter and a leading second moving average filter which are applied to the first command speed, and a trailing first moving average filter and a trailing second moving average filter which are applied to the second command speed; the filter application speed includes a first application speed which is obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a second application speed which is obtained by applying the trailing first moving average filter and the trailing second moving average filter to the second command speed; determining whether a direction of the first command speed and a direction of the second command speed are the same; and when it is determined that a direction of the first command speed and a direction of the second command speed are the same, a first output time which is an output time of the first command speed; while the first applied speed and the second applied speed are simultaneously output based on a time constant of a leading first moving average filter, a time constant of the leading second moving average filter, a second output time which is an output time of the second command speed, a time constant of the trailing first moving average filter, and a time constant of the trailing second moving average filter, a delay time from completion of output of the first command speed to start of output of the second command speed is calculated so that a first jerk which is a jerk with respect to the first applied speed and a second jerk which is a jerk with respect to the second applied speed both belong to a first value range of 0 or more or a second value range of 0 or less, and when it is determined that the direction of the first command speed and the direction of the second command speed are not the same direction, while the first applied speed and the second applied speed are simultaneously output based on a first output time which is the output time of the first command speed, the time constant of the leading first moving average filter, the time constant of the leading second moving average filter, a second output time which is the output time of the second command speed, the time constant of the trailing first moving average filter, and the time constant of the trailing second moving average filter,A delay time from the completion of output of the first command speed to the start of output of the second command speed is calculated so that a first accelerometer that is an accelerometer with respect to the first applied speed and a second accelerometer that is an accelerometer with respect to the second applied speed both belong to a third value range of 0 or more, or so that the first accelerometer and the second accelerometer both belong to a fourth value range of 0 or less.

[0031] In the present disclosure, when the direction of the first command speed and the direction of the second command speed are the same, a delay time is calculated so that, while the first applied speed and the second applied speed are output simultaneously, both the first jerk and the second jerk belong to either a first range equal to or greater than 0 or a second range equal to or less than 0. When the direction of the first command speed and the direction of the second command speed are opposite, a delay time is calculated from the completion of output of the first command speed to the start of output of the second command speed so that both the first jerk and the second jerk belong to either a third range equal to or greater than 0 or a fourth range equal to or less than 0 while the first applied speed and the second applied speed are output simultaneously.

[0032] A computer program according to an embodiment of the present disclosure is executable by a control device that acquires a command speed based on a movement command for a workpiece holding unit or a spindle of a machine tool, applies a filter to the acquired command speed to determine a filter application speed, and controls operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speed includes a first command speed and a second command speed that is a command speed subsequent to the first command speed and has the same direction as a direction of the first command speed, the filter includes a leading first moving average filter and a leading second moving average filter to be applied to the first command speed, and a trailing first moving average filter and a trailing second moving average filter to be applied to the second command speed, the filter application speed is a first application speed obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a second command speed obtained by applying the leading first moving average filter and the leading second moving average filter to the second command speed. and a second applied speed obtained by applying the trailing first moving average filter and the trailing second moving average filter to the first command speed, and causes the control device to execute a process of calculating a delay time from completion of output of the first command speed to start of output of the second command speed based on a first output time that is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time that is an output time of the second command speed, the time constant of the trailing first moving average filter, and the time constant of the trailing second moving average filter, while the first applied speed and the second applied speed are simultaneously output, so that a first jerk that is a jerk with respect to the first applied speed and a second jerk that is a jerk with respect to the second applied speed both belong to a first value range of 0 or more or both the first jerk and the second jerk belong to a second value range of 0 or less.

[0033] In the present disclosure, when the direction of the first command speed and the direction of the second command speed are opposite, a delay time is calculated from the completion of output of the first command speed to the start of output of the second command speed so that both the first jerk and the second jerk belong to either a first value range greater than or equal to 0 or a second value range less than or equal to 0 while the first applied speed and the second applied speed are output simultaneously.

[0034] A computer program according to an embodiment of the present disclosure is a computer program executable by a control device that acquires a command speed based on a movement command for a workpiece holding unit or a spindle of a machine tool, applies a filter to the acquired command speed to determine a filter application speed, and controls operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speed includes a first command speed and a second command speed that is a command speed subsequent to the first command speed and has a direction opposite to that of the first command speed, the filter includes a leading first moving average filter and a leading second moving average filter to be applied to the first command speed, and a trailing first moving average filter and a trailing second moving average filter to be applied to the second command speed, the filter application speed includes a first application speed obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a trailing first moving average filter and a trailing second moving average filter to the second command speed. and a second applied speed obtained by applying a trailing first moving average filter and a trailing second moving average filter, and the control device executes a process of calculating a delay time from completion of output of the first command speed to start of output of the second command speed based on a first output time that is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time that is an output time of the second command speed, the time constant of the trailing first moving average filter, and the time constant of the trailing second moving average filter, while the first applied speed and the second applied speed are simultaneously output, so that a first accelerometer-jerk that is an accelerometer-jerk with respect to the first applied speed and a second accelerometer-jerk that is an accelerometer-jerk with respect to the second applied speed both belong to a third value range of 0 or more, or both the first accelerometer-jerk and the second accelerometer-jerk belong to a fourth value range of 0 or less.

[0035] In the present disclosure, when the direction of the first command speed and the direction of the second command speed are opposite, a delay time from completion of output of the first command speed to start of output of the second command speed is calculated so that both the first jerk and the second jerk belong to either a third value range greater than or equal to 0 or a fourth value range less than or equal to 0 while the first applied speed and the second applied speed are output simultaneously.

[0036] A computer program according to an embodiment of the present disclosure is executable by a control device that acquires a command speed based on a movement command for a workpiece holding unit or a spindle of a machine tool, applies a filter to the acquired command speed to determine a filter application speed, and controls operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speed includes a first command speed and a second command speed that is a command speed next to the first command speed, the filter includes a leading first moving average filter and a leading second moving average filter to be applied to the first command speed, and a trailing first moving average filter and a trailing second moving average filter to be applied to the second command speed, the filter application speed includes a first application speed obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a second application speed obtained by applying the trailing first moving average filter and the trailing second moving average filter to the second command speed, the control device determines whether a direction of the first command speed and a direction of the second command speed are the same, and determines that a direction of the first command speed and a direction of the second command speed are the same, in this case, while the first applied speed and the second applied speed are simultaneously output based on a first output time which is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time which is an output time of the second command speed, a time constant of the trailing first moving average filter, and a time constant of the trailing second moving average filter, both a first jerk which is a jerk with respect to the first applied speed and a second jerk which is a jerk with respect to the second applied speed belong to a first value range of 0 or more, or a delay time from completion of output of the first command speed to start of output of the second command speed so that both the first jerk and the second jerk belong to a second value range less than 0, and when it is determined that the direction of the first command speed and the direction of the second command speed are not the same, a delay time is calculated based on a first output time which is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time which is an output time of the second command speed, a time constant of the trailing first moving average filter, and a time constant of the trailing second moving average filter,While the first applied speed and the second applied speed are being output simultaneously, a process is executed to calculate a delay time from the completion of output of the first command speed to the start of output of the second command speed so that a first accelerometer which is an accelerometer with respect to the first applied speed and a second accelerometer which is an accelerometer with respect to the second applied speed both belong to a third value range of 0 or more, or so that the first accelerometer and the second accelerometer both belong to a fourth value range of 0 or less.

[0037] In the present disclosure, when the direction of the first command speed and the direction of the second command speed are the same, a delay time is calculated so that, while the first applied speed and the second applied speed are output simultaneously, both the first jerk and the second jerk belong to either a first range equal to or greater than 0 or a second range equal to or less than 0. When the direction of the first command speed and the direction of the second command speed are opposite, a delay time is calculated from the completion of output of the first command speed to the start of output of the second command speed so that both the first jerk and the second jerk belong to either a third range equal to or greater than 0 or a fourth range equal to or less than 0 while the first applied speed and the second applied speed are output simultaneously. Effect of the Invention

[0038] In the control device, control method, and computer program according to an embodiment of the present disclosure, when the direction of the first command speed and the direction of the second command speed are the same, a delay time is calculated so that both the first jerk and the second jerk belong to either a first range of 0 or more or a second range of 0 or less while the first applied speed and the second applied speed are output simultaneously. When the direction of the first command speed and the direction of the second command speed are opposite, a delay time is calculated from the completion of output of the first command speed to the start of output of the second command speed so that both the first jerk and the second jerk belong to either a third range of 0 or more or a fourth range of 0 or less while the first applied speed and the second applied speed are output simultaneously. A usable delay time can be calculated regardless of the magnitude of the time constant. [Brief description of the drawings]

[0039] [Figure 1] It is a schematic perspective view of a machine tool according to Embodiment 1. [Diagram 2] It is a block diagram showing a control device and each motor etc. [Diagram 3] It is a timing chart of "command speed", "applied speed", "acceleration", "jerk", "jounce" when the moving directions of the first movement command and the second movement command are the same direction and tp > tn. [Figure 4] It is a timing chart of "command speed", "applied speed", "acceleration", "jerk", "jounce" when the moving directions of the first movement command and the second movement command are the same direction and tp < tn. [Diagram 5] It is a timing chart showing the relationship between the output time TBp of the first applied speed, the first acceleration, the first jerk, the first command speed, the time constant Tp1 of the leading first moving average filter, and the time constant Tp2 of the leading second moving average filter. [Figure 6] It is a timing chart showing the relationship between the output time TBn of the second applied speed, the second acceleration, the second jerk, the second command speed, the time constant Tn1 of the trailing first moving average filter, and the time constant Tn2 of the trailing second moving average filter. [Figure 7] It is a timing chart of "command speed", "applied speed", "acceleration", "jerk", "jounce" when the moving directions of the first movement command and the second movement command are opposite and tp > tn. [Figure 8] It is a timing chart of "command speed", "applied speed", "acceleration", "jerk", "jounce" when the moving directions of the first movement command and the second movement command are opposite and tp < tn. [Figure 9] It is a timing chart showing the relationship between the output time TBp of the first applied speed, the first acceleration, the first jerk, the first command speed, the time constant Tp1 of the leading first moving average filter, and the time constant Tp2 of the leading second moving average filter. [Figure 10]It is a timing chart showing the relationship between the second application speed, the second acceleration, the second jerk, the output time TBn of the second command speed, the time constant Tn1 of the trailing first moving average filter, and the time constant Tn2 of the trailing second moving average filter. [Figure 11] It is a flowchart for explaining the delay time calculation process by the CPU. [Figure 12] It is a flowchart for explaining the first delay time calculation process by the CPU. [Figure 13] It is a flowchart for explaining the second delay time calculation process by the CPU. [Figure 14] It is a timing chart showing the first jerk according to Embodiment 2. [Figure 15] It is a timing chart showing the second jerk. [Figure 16] It is a timing chart showing the first acceleration and the first jerk when the time constant Tp3 ≥ min(Tp2, TBp). [Figure 17] It is a timing chart showing the first acceleration and the first jerk when the time constant Tp3 < min(Tp2, TBp). [Figure 18] It is a timing chart showing the second acceleration and the second jerk when the time constant Tp3 ≥ min(Tp2, TBp). [Figure 19] It is a timing chart showing the second acceleration and the second jerk when the time constant Tp3 < min(Tp2, TBp).

Mode for Carrying Out the Invention

[0040] (Embodiment 1) The present invention will be described below with reference to the drawings showing a machine tool according to a first embodiment. In the following description, up, down, front, back, left and right as shown in the drawings will be used. Figure 1 is a simplified perspective view of a machine tool 100. The machine tool 100 comprises a base 20, a fixed base 21, a Y-direction moving device 22, an X-direction moving device 26, a column 28, a Z-direction moving device 30, a spindle head 32, a tool changer 10, a spindle motor 35, etc. The fixed base 21 has a rectangular box shape in plan view that is elongated in the front-to-rear direction, and is provided on the base 20.

[0041] A workpiece holding part 120 is provided at the front of the fixed table 21. The workpiece holding part 120 is rotatable around an A-axis extending in the left-right direction. An A-axis motor 121 (see FIG. 2) is provided at the workpiece holding part 120, and the A-axis motor 121 rotates the workpiece holding part 120 around the A-axis. The workpiece holding part 120 has a holding surface 120a that holds the workpiece. The holding surface 120a is located on the upper side in the initial state. The workpiece holding part 120 is rotatable around a C-axis that extends in a direction perpendicular to the holding surface 120a. A C-axis motor 122 (see FIG. 2) is provided at the workpiece holding part 120, and the C-axis motor 122 rotates the workpiece holding part 120 around the C-axis.

[0042] A Y-direction moving device 22 is fixed to the fixed base 21. The Y-direction moving device 22 includes a Y-axis motor 23 (see FIG. 2) and a ball screw mechanism (not shown) driven by the Y-axis motor 23.

[0043] An X-direction moving device 26 is provided to the ball screw mechanism of the Y-direction moving device 22. The X-direction moving device 26 includes an X-axis motor 27 (see FIG. 2) and a ball screw mechanism (not shown) driven by the X-axis motor 27. A column 28 is provided to the ball screw mechanism of the X-direction moving device 26. The X-direction moving device 26 and the Y-direction moving device 22 support the column 28 so that it can move in the X direction (left-right direction) and the Y direction (front-back direction).

[0044] The Z-direction moving device 30 is provided in front of the column 28. The Z-direction moving device 30 includes a Z-axis motor 31 (see FIG. 2) and a ball screw mechanism (not shown) driven by the Z-axis motor 31. The spindle head 32 is provided on the ball screw mechanism of the Z-direction moving device 30. The column 28 supports the spindle head 32 via the Z-direction moving device 30 so that the spindle head 32 can move in the Z direction (up and down). The spindle motor 35 is provided on the upper part of the spindle head 32. The spindle head 32 supports a spindle (not shown) whose axial direction is up and down. The spindle motor 35 rotates the spindle around its axis. The tool changer 10 is driven by the tool changer motor 12 and transports a tool to be attached to the spindle to a tool change position. In tool change, the tool attached to the spindle and the tool held by the tool changer 10 are replaced with each other as the spindle head 32 moves up and down.

[0045] FIG. 2 is a block diagram showing the control device 40 and each motor. The machine tool 100 includes the control device 40. The control device 40 includes a CPU 41, a RAM 42, a storage unit 43, an interface 44, a filter application unit 46, and the like. The storage unit 43 is, for example, a rewritable storage medium. Examples of the rewritable storage medium include an EEPROM, an EPROM, a flash memory, and a hard disk. The storage unit 43 stores a computer program (program product), for example, a machining program, a program for executing a delay time calculation process described later, and the like. For example, an external device (not shown) is connected to the control device 40, and a program created by the external device is stored in the storage unit 43. The computer program may be recorded on a recording medium 45 such as a CD-ROM, a DVD, or a flash memory, and the program may be installed from the recording medium 45 to the storage unit 43. The control device 40 may also be connected to an external server so as to be able to communicate with the external server, and the computer program stored in the external server may be installed in the storage unit 43.

[0046] The CPU 41 loads a computer program from the storage unit 43 into the RAM 42 and executes processing, delay time calculation processing, etc. The CPU 41 outputs a drive signal to the drive circuit 27a of the X-axis motor 27, a drive signal to the drive circuit 23a of the Y-axis motor 23, a drive signal to the drive circuit 31a of the Z-axis motor 31, a drive signal to the drive circuit 121a of the A-axis motor 121, a drive signal to the drive circuit 122a of the C-axis motor 122, and a drive signal to the drive circuit 35a of the spindle motor 35, via the interface 44. Each of the motors 27, 23, 31, 121, 122, 35 constitutes a drive source.

[0047] The CPU 41 continuously acquires a first movement command and a second movement command, such as a fast-forward command, and a cutting command, included in the machining program for the movement of any of the motors 27, 23, 31, 121, 122, 35. The CPU 41 constitutes an acquisition unit. The first movement command includes a first command speed, and the first command speed includes information indicating the magnitude of the speed and information indicating the movement direction. The second movement command includes a second command speed, and the second command speed includes information indicating the magnitude of the speed and information indicating the movement direction.

[0048] The CPU 41 outputs the first movement command and the second movement command to the filter application unit 46. The filter application unit 46 applies a moving average filter, which will be described later, to the first movement command and the second movement command to obtain a first application speed and a second application speed, and outputs them to any of the drive circuits 27a, 23a, 31a, 121a, 122a, 35a. After completing the output of the first movement command, the CPU 41 waits for a predetermined delay time and then outputs the second movement command.

[0049] After acquiring the first movement command and the second movement command, the CPU 41 calculates a delay time in advance so that both the first jerk and the second jerk belong to either a first value range equal to or greater than 0 or a second value range equal to or less than 0, as described below. The delay time may be calculated by acquiring the second movement command while the first movement command is being output, or by acquiring the first movement command and the second movement command before the first movement command is output. The CPU 41 constitutes a delay time calculation unit. An external server may be communicably connected to each drive circuit, and the external server may be used as a control device.

[0050] (When the first and second movement commands are moving in the same direction) FIG. 3 shows that the first and second movement commands are moved in the same direction, and t p >t n This is a timing diagram of the "command speed", "applied speed", "acceleration", "jerk", and "acceleration / jerk" in the case of t p , t n will be described later. In Fig. 3, "command speed" includes a first command speed and a second command speed, "applied speed" includes a first applied speed and a second applied speed, "acceleration" includes a first acceleration and a second acceleration, "jerk" includes a first jerk and a second jerk, and "acceleration jerk" includes a first jerk and a second jerk. The first command speed, the first applied speed, the first acceleration, the first jerk, and the first jerk are represented by solid lines, and the second command speed, the second applied speed, the second acceleration, the second jerk, and the second jerk are represented by two-dot chain lines.

[0051] The first applied speed is a speed obtained by the CPU 41 applying two moving average filters (hereinafter referred to as the leading first moving average filter and the leading second moving average filter) to the first command speed. The second applied speed is a speed obtained by the CPU 41 applying two moving average filters (hereinafter referred to as the trailing first moving average filter and the trailing second moving average filter) to the second command speed.

[0052] The first acceleration indicates a time differential of the first applied speed calculated by the CPU 41, and the second acceleration indicates a time differential of the second applied speed calculated by the CPU 41. The first jerk indicates a time differential of the first acceleration calculated by the CPU 41, and the second jerk indicates a time differential of the second acceleration calculated by the CPU 41. The first jerk indicates a time differential of the first jerk calculated by the CPU 41, and the second jerk indicates a time differential of the second jerk calculated by the CPU 41.

[0053] In Fig. 3, k0 indicates the time when the CPU 41 starts outputting the first command speed, k1 indicates the time when the CPU 41 completes outputting the first command speed, k2 indicates the time when the first jerk finally changes from negative to 0, and k3 indicates the time when the output of the second command speed starts, k4 indicates the time when the CPU 41 completes outputting the second command speed, k5 indicates the time when the first applied speed becomes 0 after reaching the maximum speed, and k6 indicates the time when the second jerk first becomes negative from 0.

[0054] The first command speed and the second command speed are positive, and the maximum value of the first command speed is smaller than the maximum value of the second command speed. The output time of the first command speed (the time between time points k0 and k1) is longer than the output time of the second command speed (the time between time points k3 and k4). The maximum value of the first applied speed is the same as the maximum value of the first command speed, and the maximum value of the second applied speed is the same as the maximum value of the second command speed. Between time points k3 and k5, the motor drives at a combined speed of the first applied speed and the second applied speed.

[0055] When the movement directions of the first movement command and the second movement command are the same, the CPU 41 calculates a delay time so that the first jerk and the second jerk both belong to either a first range of 0 or more or a second range of 0 or less, i.e., so that both belong to the same range, during the overlap time when the first applied speed and the second applied speed overlap (hereinafter referred to as overlap time). When the first jerk and the second jerk belong to the same range during the overlap time, the resultant acceleration of the first acceleration and the second acceleration during the overlap time increases monotonically, decreases monotonically, or is constant. When increasing monotonically, decreasing monotonically, or is constant, the magnitude of the resultant speed of the first applied speed and the second applied speed does not exceed the maximum or minimum value of the second applied speed.

[0056] The overlap time is between time point k3 and time point k5 in Fig. 3. A case will be shown in which the CPU 41 calculates the delay time so that the first jerk and the second jerk belong to the first value range during the overlap time.

[0057] The resultant speed of the first applied speed and the second applied speed during the overlap time, and the resultant acceleration of the first acceleration and the second acceleration are shown by thick lines. The same applies to Figures 4, 7, and 8 described below. The resultant acceleration increases monotonically, and the graph of the resultant speed projects downward. In other words, the graph of the resultant speed projects in the opposite direction to the graph of the second applied speed. Therefore, the maximum value of the resultant speed does not exceed the maximum value of the second applied speed, i.e., the maximum value of the second command speed.

[0058] The CPU 41 detects the time t between the time points k1 and k2. p and the time T between time k1 and time k5 α and the time T between time k3 and time k6 β The CPU 41 calculates T α -T β =t n Calculate t p and n Compare with t p >t n In this case, CPU41 p The CPU 41 starts the process from the time k1 when the first command speed is output to the time t pAfter waiting until the time elapses, output of the second command speed is started, whereby the second jerk becomes 0 or more and belongs to the first value range, and the first jerk becomes 0 or more and belongs to the first value range.

[0059] FIG. 4 shows that the first and second movement commands are moved in the same direction, and t p <t n This is a timing diagram of "command speed", "applied speed", "acceleration", "jerk", and "accelerated jerk" in the case of Fig. 4. The same notation is used in Fig. 4 for the same content as in Fig. 3. In Fig. 4, the resultant acceleration increases monotonically.

[0060] The maximum value of the first command speed is greater than the maximum value of the second command speed. The output time of the first command speed (the time between time points k0 and k1) is longer than the output time of the second command speed (the time between time points k3 and k4). The maximum value of the first applied speed is the same as the maximum value of the first command speed, and the maximum value of the second applied speed is the same as the maximum value of the second command speed. Between time points k3 and k5, the motor drives at a combined speed of the first applied speed and the second applied speed.

[0061] t p <t n In this case, CPU41 n The CPU 41 starts the process from the time k1 when the first command speed is output to the time t n By waiting until the time has elapsed and starting to output the second command velocity, the sign of the second jerk becomes 0 or more and belongs to the first value range, and the sign of the first jerk becomes 0 or more and belongs to the first value range.

[0062] Incidentally, even when the first command speed and the second command speed are negative, the CPU 41 calculates the delay time so that both the first jerk and the second jerk during the overlap time belong to a range of values ​​less than 0, i.e., the second range. In this case, the resultant acceleration of the first acceleration and the second acceleration during the overlap time decreases monotonically. In the case of a monotonous decrease, the magnitude of the resultant speed of the first applied speed and the second applied speed does not exceed the minimum value of the second applied speed. In other words, when the first command speed and the second command speed are negative, the timing chart is a diagram in which each graph in FIG. 3 or FIG. 4 is vertically symmetrical with respect to the time axis.

[0063] t p 5 shows the calculation method of the first applied speed, the first acceleration, the first jerk, and the output time T Bp , the time constant of the leading first moving average filter T p1 , the time constant of the leading second moving average filter T p2 5 is a timing chart showing the relationship between the third moving average filter and the velocity waveform, acceleration waveform, and jerk waveform in Fig. 5, which is different from Figs. 3 and 4.

[0064] Here, the output time T Bp is the time constant T p1 Larger, time constant T p1 ≧Time constant T p2 Let the time constant T p1 ≧Time constant T p2 The reason for this is as follows. When the first command speed is F, the time constant T p1 ≧Time constant T p2 By doing so, the maximum acceleration after applying the first moving average filter will be the same as the maximum acceleration after applying the second moving average filter. Therefore, the maximum acceleration at the first command speed is A = F / time constant T. p1 The maximum jerk is J=A / T p2 The maximum acceleration A and maximum jerk F are expressed as the time constant T p1 , T p2 This is because the maximum acceleration A and the maximum jerk F can be easily adjusted.

[0065] First command speed output time T Bp, time constant T p1 , time constant T p2 The relationship is: (1)T Bp >T p1 >T p2 , (2) T p1 >T Bp >T p2 , (3) T p1 >T p2 >T Bp FIG. 5 shows the timing chart for each of the three cases. Time constant T p1 , time constant T p2 The magnitude of is arbitrary. The output time of the first command speed T Bp is calculated by (movement distance included in the first movement command) / (speed included in the first movement command).

[0066] (1)T Bp >T p1 >T p2 If t p (Time between time point k1 and time point k2)=T p2 (2)T p1 >T Bp >T p2 If t p =T p1 +T p2 -T Bp (3)T p1 >T p2 >T Bp If t p =T p1 It becomes.

[0067] Also, the time T between the time points k1 and k5 α is the time from when the first command speed output is completed until the first applied speed becomes 0, so T p1 +T p2 That is, T α =T p1 +T p2 It is.

[0068] T β 6 shows the calculation method of the second applied speed, the second acceleration, the second jerk, and the output time T Bn, the time constant of the trailing first moving average filter T n1 , the time constant of the trailing second moving average filter T n2 6 is a timing chart showing the relationship between the third moving average filter and the velocity waveform, acceleration waveform, and jerk waveform in Fig. 6, which is different from Figs. 3 and 4.

[0069] Here, the time constant T n1 > Time constant T n2 Let the time constant T n1 > Time constant T n2 The reason is that the time constant T p1 > Time constant T p2 This is the same reason as for the time constant T n1 , time constant T n2 The magnitude of is arbitrary. The output time of the second command speed T Bn , time constant T n1 , time constant T n2 The relationship is: (1)T Bn >T n1 >T n2 , (2) T n1 >T Bn >T n2 , (3) T n1 >T n2 >T Bn FIG. 6 shows the timing chart for each of the three cases. The output time of the second command speed T Bn is calculated by (movement distance included in the second movement command) / (speed included in the second movement command).

[0070] (1)T Bn >T n1 >T n2 , in the case of T β (Time between time k3 and time k6)=T n1 (2)T n1 >T Bn >T n2 In the case of T β =T Bn (3)T n1 >T n2 >T Bn In the case of T β =T n2 That is, T β=median(T n1 ,T n2 ,T Bn ).

[0071] t n The calculation method of (1)T Bn >T n1 >T n2 , if t n =T α -T β =T p1 +T p2 -T n1 (2)T n1 >T Bn >T n2 If t n =T α -T β =T p1 +T p2 -T Bn (3)T n1 >T n2 >T Bn If t n =T α -T β =T p1 +T p2 -T n2 It is.

[0072] As mentioned above, t p >t n In this case, CPU41 p is the delay time (see Figure 3), and t p <t n If t n is the delay time. That is, the CPU 41 p and t n The larger value of these two is set as the delay time. Therefore, the delay time T delay =max(t p ,t n )

[0073] The above-mentioned calculation method can be expressed by the following formula. t p =median(T p1 ,T p2 ,T p1 +T p2 -TBp ) t n =T p1 +T p2 -median(T n1 ,T n2 ,T Bn ) T delay =max(median(T p1 ,T p2 ,T p1 +T p2 -T Bp ),T p1 +T p2 -median(T n1 ,T n2 ,T Bn )) The delay time can also be calculated using k1 to k6. Assuming that time k1=0 and delay time=k3, k2=median(T p1 ,T p2 ,T p1 +T p2 -T Bp ) k6 = k3 + median(T n1 ,T n2 ,T Bn ) k5=T p1 +T p2 Therefore, when "k2 = k3" k3 = median(T p1 ,T p2 ,T p1 +T p2 -T Bp ) When "k5 = k6", k3=T p1 +T p2 -median(T n1 ,T n2 ,T Bn )

[0074] As mentioned above, the delay time T delay By calculating the above, it is possible to calculate a usable delay time regardless of the magnitude of the time constant.

[0075] (When the first and second movement commands are in opposite directions) FIG. 7 shows a case where the first and second movement commands are in the opposite direction. p >t n FIG. 13 is a timing diagram of the “command speed”, “applied speed”, “acceleration”, “jerk”, and “acceleration / jerk” in the case of FIG.

[0076] In Fig. 7, r0 indicates the time when the CPU 41 starts outputting the first command speed, r1 indicates the time when the CPU 41 completes outputting the first command speed, r2 indicates the time when the first jerk finally changes from positive to 0, and r3 indicates the time when output of the second command speed starts, r4 indicates the time when the CPU 41 completes output of the second command speed, r5 indicates the time when the first applied speed becomes 0 after reaching the maximum speed, and r6 indicates the time when the second jerk first changes from 0 to positive.

[0077] In FIG. 7, the first command speed is positive and the second command speed is negative. The maximum value of the first command speed is approximately the same as the maximum value of the second command speed. The output time of the first command speed (the time between time r0 and time r1) is longer than the output time of the second command speed (the time between time r3 and time r4). The maximum value of the first applied speed is the same as the maximum value of the first command speed, and the maximum value of the second applied speed is the same as the maximum value of the second command speed. Between time r3 and time r5, the motor drives at a combined speed of the first applied speed and the second applied speed.

[0078] When the first movement command and the second movement command have opposite movement directions, the CPU 41 calculates the delay time so that during the overlap time, both the first jerk and the second jerk belong to a third range of 0 or more, or both the first jerk and the second jerk belong to a fourth range of 0 or less, that is, so that both the first jerk and the second jerk belong to the same range. When the first jerk and the second jerk belong to the same range during the overlap time, the composite jerk of the first jerk and the second jerk during the overlap time increases monotonically or is constant (composite jerk is 0 or more), or decreases monotonically or is constant (composite jerk is 0 or less). When the composite jerk increases monotonically or is constant, or decreases monotonically or is constant, the magnitude of the acceleration approaches 0 and gradually increases after 0. That is, the magnitude of the composite speed of the first applied speed and the second applied speed does not exceed the maximum or minimum value of the second applied speed.

[0079] A case where the resultant jerk increases monotonically or is constant will be described with reference to Fig. 7. The overlap time is between time point r3 and time point r5. During the overlap time, the CPU 41 calculates the delay time so that both the first jerk and the second jerk belong to the fourth value range.

[0080] In Figure 7, the thick lines represent the resultant acceleration of the first acceleration and the second acceleration during the overlap time, and the resultant jerk of the first jerk and the second jerk. The resultant jerk is constant, and the resultant acceleration increases linearly. That is, the second acceleration included in the resultant acceleration decreases linearly, while the first acceleration included in the resultant acceleration increases linearly. Therefore, the magnitude of the minimum value of the resultant acceleration does not exceed the magnitude of the minimum value of the second acceleration.

[0081] The CPU 41 calculates the time t between the time r1 and the time r2. p and the time T between time r1 and time r5 α and the time T between time r3 and time r6 β The CPU 41 calculates T α -T β =t n Calculate t p and nAs shown in Figure 7, t p >t n In this case, CPU41 p The CPU 41 starts the process from the time r1 when the output of the first command speed is completed to the time t p By waiting until the time t1 has elapsed and starting to output the second command speed, the second jerk becomes 0 or less and belongs to the fourth range, and the first jerk becomes 0 or less and belongs to the fourth range.

[0082] FIG. 8 shows a case where the first and second movement commands are in the opposite direction. p <t n 8 is a timing diagram of the "command speed", "applied speed", "acceleration", "jerk", and "accelerated jerk" in the case of FIG. 8. FIG. 8 corresponds to the case where the resultant jerk increases monotonically or is constant.

[0083] In Figure 8, the maximum value of the first command speed is greater than the maximum value of the second command speed. The output time of the first command speed (the time between time points r0 and r1) is longer than the output time of the second command speed (the time between time points r3 and r4). The maximum value of the first applied speed is the same as the maximum value of the first command speed, and the maximum value of the second applied speed is the same as the maximum value of the second command speed. Between time points r3 and r5, the motor drives at a combined speed of the first applied speed and the second applied speed.

[0084] As shown in Figure 8, t p <t n In this case, CPU41 n The CPU 41 starts the process from the time r1 when the output of the first command speed is completed to the time t n By waiting until the time elapses and starting to output the second command speed, the sign of the second jerk becomes 0 or less and belongs to the fourth range, and the first jerk becomes 0 or less and belongs to the fourth range. Note that even if the resultant jerk increases monotonically, the first jerk and second jerk become 0 or less and belong to the fourth range, as in Figures 7 and 8.

[0085] If the first command velocity is negative and the second command velocity is positive, the CPU 41 calculates the delay time so that both the first jerk and the second jerk belong to the third range during the overlap time. In this case, the composite jerk of the first jerk and the second jerk during the overlap time is constant or increases monotonically. If the composite jerk is constant or increases monotonically, the magnitude of the composite acceleration of the first acceleration and the second acceleration does not exceed the maximum value of the second acceleration included in the composite acceleration. In other words, if the first command velocity is negative and the second command velocity is positive, the timing chart is a diagram in which each graph in FIG. 7 or FIG. 8 is vertically symmetrical with respect to the time axis.

[0086] t p 9 shows the calculation method of the first applied speed, the first acceleration, the first jerk, and the output time T Bp , the time constant of the leading first moving average filter T p1 , the time constant of the leading second moving average filter T p2 9 is a timing chart showing the relationship between the third moving average filter and the velocity waveform, acceleration waveform, and jerk waveform, which are different from those in FIGS.

[0087] Here, the time constant T p1 > Time constant T p2 Let the time constant T p1 > Time constant T p2 The reason for this is as described above. The output time of the first command speed T Bp , time constant T p1 , time constant T p2 The relationship is: (1)T Bp >T p1 >T p2 , (2) T p1 >T Bp >T p2 , (3) T p1 >T p2 >T Bp FIG. 9 shows the timing chart for each of the three cases. Time constant T p1 , time constant T p2 The size of is arbitrary.

[0088] (1)T Bp>T p1 >T p2 If t p (Time between time r1 and time r2)=T p1 (2)T p1 >T Bp >T p2 If t p =T p1 (3)T p1 >T p2 >T Bp If t p =T p1 +T p2 -T Bp It becomes.

[0089] Also, the time T between time r1 and time r5 α is the time from when the first command speed output is completed until the first applied speed becomes 0, so T p1 +T p2 That is, T α =T p1 +T p2 It is.

[0090] T β 10 shows the calculation method of the second applied speed, the second acceleration, the second jerk, and the output time T Bn , the time constant of the trailing first moving average filter T n1 , the time constant of the trailing second moving average filter T n2 10 is a timing chart showing the relationship between the third moving average filter and the velocity waveform, acceleration waveform, and jerk waveform, which are different from those in FIGS.

[0091] Here, the time constant T n1 > Time constant T n2 Let the time constant T n1 > Time constant T n2 The reason is that the time constant T p1 > Time constant T p2 This is the same reason as for the time constant T n1 , time constant T n2 The magnitude of is arbitrary. The output time of the second command speed T Bn , time constant T n1, time constant T n2 The relationship is: (1)T Bn >T n1 >T n2 , (2) T n1 >T Bn >T n2 , (3) T n1 >T n2 >T Bn Figure 10 shows the timing chart for each of the three cases.

[0092] (1)T Bn >T n1 >T n2 , in the case of T β (Time between time r3 and time r6)=T n2 (2)T n1 >T Bn >T n2 In the case of T β =T n2 (3)T n1 >T n2 >T Bn In the case of T β =T Bn It becomes.

[0093] t n The calculation method of (1)T Bn >T n1 >T n2 , if t n =T α -T β =T p1 +T p2 -T n2 (2)T n1 >T Bn >T n2 If t n =T α -T β =T p1 +T p2 -T n2 (3)T n1 >T n2 >T Bn If t n =T α -T β =T p1 +T p2 -T BnIt is.

[0094] As mentioned above, t p >t n In this case, CPU41 p is the delay time (see Figure 7), and t p <t n If t n is the delay time (see FIG. 8). That is, the CPU 41 p and t n The larger value of these two is set as the delay time. Therefore, the delay time T delay =max(t p ,t n )

[0095] The above-mentioned calculation method can be expressed by the following formula. t p =max(T p1 ,T p1 +T p2 -T Bp ) t n =T p1 +T p2 -min(T n2 ,T Bn ) T delay =max(max(T p1 ,T p1 +T p2 -T Bp ),T p1 +T p2 -min(T n2 ,T Bn ))

[0096] As mentioned above, the delay time T delay By calculating the above, it is possible to calculate a delay time that can be used even when the movement directions of the first movement command and the second movement command are opposite to each other.

[0097] FIG. 11 is a flow chart for explaining the delay time calculation process by the CPU 41. The CPU 41 judges whether or not the first movement command and the second movement command have been acquired (S1). If the first movement command and the second movement command have not been acquired (S1: NO), the CPU 41 returns the process to step S1. If the first movement command and the second movement command have been acquired (S1: YES), the CPU 41 judges whether or not the movement direction of the first command speed included in the first movement command is the same as the movement direction of the second command speed included in the second movement command (S2). If the movement directions are the same (S2: YES), the CPU 41 executes the first delay time calculation process described later (S3). If the movement directions are not the same (S2: NO), the CPU 41 executes the second delay time calculation process described later (S4).

[0098] 12 is a flowchart for explaining a first delay time calculation process by the CPU 41. The CPU 41 calculates a first applied speed by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and calculates a second applied speed by applying the trailing first moving average filter and the trailing second moving average filter to the second command speed (S11, see FIGS. 3 and 4).

[0099] CPU41 is t p As described above, T Bp >T p1 >T p2 If t p =T p2 Then, T p1 >T Bp >T p2 If t p =T p1 +T p2 -T Bp Then, T p1 >T p2 >T Bp If t p =T p1 (See FIG. 5.) The CPU 41 that executes step S12 constitutes a first delay time calculation unit.

[0100] CPU41 is T α As described above, the CPU 41 calculates Tα =T p1 +T p2 Next, the CPU 41 calculates T β As described above, T Bn >T n1 >T n2 , in the case of T β =T n1 Then, T n1 >T Bn >T n2 In the case of T β =T Bn Then, T n1 >T n2 >T Bn In the case of T β =T n2 (See Figure 6.)

[0101] CPU41 is t n As described above, T Bn >T n1 >T n2 , if t n =T α -T β =T p1 +T p2 -T n1 and T n1 >T Bn >T n2 If t n =T α -T β =T p1 +T p2 -T Bn and T n1 >T n2 >T Bn If t n =T α -T β =T p1 +T p2 -T n2 (See FIG. 6.) The CPU 41 that executes step S15 constitutes a second delay time calculation unit.

[0102] CPU41 is t p >t n It is determined whether or not t p >t nIf so (S16: YES), the CPU 41 p is determined as the delay time (S17), and the delay time calculation process is terminated. p >t n If not (S16: NO), the CPU 41 n The CPU 41 determines the delay time as the delay time (S18) and ends the delay time calculation process. After completing the output of the first command speed, the CPU 41 waits for the determined delay time and then starts outputting the second command speed. The CPU 41 that executes steps S16 to S18 constitutes a first determination unit.

[0103] Fig. 13 is a flowchart for explaining the second delay time calculation process by the CPU 41. In the second delay time calculation process, steps S21 and S26 to S28 are similar to steps S11 and S16 to S18, and detailed explanations thereof will be omitted. In S21, the CPU 41 calculates the first application speed and the second application speed as described above (see Figs. 7 and 8).

[0104] CPU41 is t p As described above, T Bp >T p1 >T p2 If t p =T p1 Then, T p1 >T Bp >T p2 If t p =T p1 Then, T p1 >T p2 >T Bp If t p =T p1 +T p2 -T Bp (See Figure 9.)

[0105] CPU41 is T α As described above, the CPU 41 calculates T α =T p1 +T p2 Next, the CPU 41 calculates T β As described above, T Bn >T n1 >Tn2 , in the case of T β =T n2 Then, T n1 >T Bn >T n2 In the case of T β =T n2 Then, T n1 >T n2 >T Bn In the case of T β =T Bn (See Figure 10.)

[0106] CPU41 is t n As described above, T Bn >T n1 >T n2 , if t n =T α -T β =T p1 +T p2 -T n2 and T n1 >T Bn >T n2 If t n =T α -T β =T p1 +T p2 -T n2 and T n1 >T n2 >T Bn If t n =T α -T β =T p1 +T p2 -T Bn (See FIG. 11.) The CPU 41 executes steps S26 to S28, and ends the delay time calculation process.

[0107] (Embodiment 2) The present invention will be described below with reference to the drawings showing a machine tool according to a second embodiment. In the second embodiment, a leading third moving average filter is applied to a first command speed in addition to the leading first moving average filter and the leading second moving average filter. Also, a trailing third moving average filter is applied to a second command speed in addition to the trailing first moving average filter and the trailing second moving average filter.

[0108] In the second embodiment, as in the first embodiment, the time constant T p1 >Time constant T of the leading second moving average filter p2 The time constant of the first moving average filter is T n1 > Time constant T of the trailing second moving average filter n2 Let us assume that.

[0109] (When the first and second movement commands are moving in the same direction) As in the first embodiment, when the movement directions of the first movement command and the second movement command are the same, the CPU 41 calculates the delay time so that the first jerk and the second jerk belong to the same value range during the overlap time.

[0110] The following description will be given with reference to FIG. 14. FIG. 14 is a timing chart showing the first jerk. In FIG. 14, F1 indicates the leading first moving average filter, F2 indicates the leading second moving average filter, and F3 indicates the leading third moving average filter. The same applies to FIG. 16 and FIG. 17 described below. The upper diagram of FIG. 14 shows the first jerk after applying the leading first moving average filter and the leading second moving average filter, and the lower diagram of FIG. 14 shows the first jerk after applying the leading first moving average filter, the leading second moving average filter, and the leading third moving average filter. FIG. 14 shows a case where the CPU 41 calculates the delay time so that the first jerk and the second jerk belong to the first value range during the overlap time.

[0111] The upper graph in Fig. 14 corresponds to the graphs of the first jerk in Fig. 3 and Fig. 4. As shown in the lower graph in Fig. 14, after the application of the leading first moving average filter, the leading second moving average filter, and the leading third moving average filter, the time point at which the first jerk finally changes from negative to 0 occurs later than time k2 by the time constant T p3 At a later point in time.

[0112] Therefore, in the second embodiment, when the movement directions of the first movement command and the second movement command are the same, t p is the t in the first embodimentp T p3 That is, t p =median(T p1 ,T p2 ,T p1 +T p2 -T Bp )+T p3 The above t p The CPU 41 that calculates the above constitutes a third delay time calculation unit.

[0113] The explanation will be given with reference to FIG. 15. FIG. 15 is a timing chart showing the second jerk. F1' in FIG. 15 indicates the trailing first moving average filter, F2' indicates the trailing second moving average filter, and F3' indicates the trailing third moving average filter. The same applies to FIG. 18 and FIG. 19 described later. T in FIG. 15 n3 indicates the time constant of the trailing third moving average filter. The upper diagram of Fig. 15 shows the second jerk after applying the trailing first moving average filter and the trailing second moving average filter, and the lower diagram of Fig. 15 shows the second jerk after applying the trailing first moving average filter, the trailing second moving average filter, and the trailing third moving average filter. Fig. 15 shows a case where the CPU 41 calculates the delay time such that both the first jerk and the second jerk belong to the first value range during the overlap time.

[0114] The upper graph in FIG. 15 corresponds to the graphs of the second jerk in FIG. 3 and FIG. 4. As shown in the lower graph in FIG. 15, when the trailing first moving average filter, the trailing second moving average filter, and the trailing third moving average filter are applied, the second jerk is 0 or more, i.e., belongs to the first value range, before time point k6. The first jerk is also 0 or more, i.e., belongs to the first value range, from time point k3 to T β =median(T n1 ,T n2 ,T Bn ) has elapsed, that is, time point k5 exists between time point k3 and time point k6 (see FIG. 3 and FIG. 4).

[0115] In this case, when the trailing first moving average filter, the trailing second moving average filter, and the trailing third moving average filter are applied, the time T from the time point k1 when the output of the first command speed is completed to the time point k5 when the deceleration of the first applied speed is completed is α is T p1 +T p2 +T p3 Therefore, t n =T α -T β =T p1 +T p2 +T p3 -median(T n1 ,T n2 ,T Bn ) The above t n The CPU 41 which calculates the above constitutes a fourth delay time calculation unit. CPU41 is t p and t n The larger value of the two is determined as the delay time. That is, the delay time T delay =max(t p ,t n The CPU 41 that determines the delay time constitutes a second determination unit.

[0116] The same applies to the case where the CPU 41 calculates the delay time so that both the first jerk and the second jerk are equal to or less than 0 during the overlap time, that is, so that they belong to the second value range.

[0117] (When the first and second movement commands are in opposite directions) As in the first embodiment, when the movement directions of the first movement command and the second movement command are opposite, the CPU 41 calculates a delay time so that, during the overlap time, both the first jerk and the second jerk belong to the third value range, or so that both the first jerk and the second jerk belong to the fourth value range.

[0118] Time constant T p3 ≧min(T p2 ,T Bp ), the case where the first jerk belongs to the fourth range during the overlap time will be described with reference to FIG. 16. FIG. 16 shows the case where the time constant Tp3 ≧min(T p2 ,T Bp 16 is a timing chart showing the first jerk and the first accelerated jerk in the case of (a) when the first leading moving average filter and the second leading moving average filter are applied, (b) when the first leading moving average filter and the second leading moving average filter are applied, and (c) when the third leading moving average filter are applied.

[0119] The upper and middle diagrams of Fig. 16 correspond to the graphs of the first jerk and the first accelerated jerk in Fig. 7 and Fig. 8. In the upper diagram of Fig. 16, r7 is the time point when the first jerk last changed from negative to 0. As described in the first embodiment, the time between time r1 and time r5 is T α =T p1 +T p2 As described in the first embodiment, the time from time r1 to time r7 is the same as the time from time k1 to time k2 when the movement directions of the first movement command and the second movement command are the same, that is, t p =median(T p1 ,T p2 ,T p1 +T p2 -T Bp ) (see FIG. 3 and FIG. 4). The time from time r1 to time r2 is the same as t p =max(T p1 ,T p1 +T p2 -T Bp ) (see FIG. 7 and FIG. 8). Therefore, the time between time r2 and time r5 is T p1 +T p2 -max(T p1 ,T p1 +T p2 -T Bp )=min(T p2 ,T Bp ) is the same as

[0120] As shown in the middle diagram of Fig. 16, when the leading first moving average filter and the leading second moving average filter are applied, first jerk values ​​larger than 0 are J1 and J4, and first jerk values ​​smaller than 0 are J2 and J3. When the leading third moving average filter is applied to J1 to J4, as shown by the dashed lines in the lower diagram of Fig. 16, there are offsetting portions and overlapping portions in J1 to J4. In Fig. 16, there are offsetting portions between J1 and J2 and between J3 and J4, and there is an overlapping portion between J2 and J3. The first jerk value of the offsetting portion is approximately 0, and the first jerk value of the overlapping portion is approximately double the first jerk value of J1 and J4 excluding the offsetting portions.

[0121] As shown in the lower diagram of Figure 16, from time r7, the time constant T p3 and after time r5 at which the first jerk finally changes from positive to 0 when the leading first moving average filter and the leading second moving average filter are applied, the first jerk to which the leading first moving average filter, the leading second moving average filter, and the leading third moving average filter are applied becomes equal to or less than 0, that is, belongs to the fourth value range.

[0122] That is, in order for the first jerk to which the preceding third moving average filter is applied to become equal to or smaller than 0, the CPU 41 p1 (see equation (1) below) has elapsed, it is necessary to start outputting the second command speed. t p1 =max(median(T p1 ,T p2 ,T p1 +T p2 -T Bp )+T p3 ,T p1 +T p2 ) · · · (1)

[0123] Time constant T p3 <min(T p2 ,T Bp ), the case where the first jerk belongs to the fourth range during the overlap time will be described with reference to FIG. 17. FIG. 17 shows the time constant T p3 <min(Tp2 ,T Bp 17 is a timing chart showing the first jerk and the first accelerated jerk in the case of (a) when the first leading moving average filter and the second leading moving average filter are applied, (b) when the first leading moving average filter and the second leading moving average filter are applied, and (c) when the third leading moving average filter are applied.

[0124] The upper and middle diagrams of FIG. 17 correspond to the graphs of the first jerk and the first jerk in FIG. 7 and FIG. 8. As shown in the lower diagram of FIG. 17, from time r2 to T p3 If the time has passed, the first jerk to which the first leading moving average filter, the second leading moving average filter, and the third leading moving average filter are applied becomes equal to or less than 0, that is, becomes negative.

[0125] That is, in order for the first jerk to which the preceding third moving average filter is applied to become equal to or smaller than 0, the CPU 41 p2 (see equation (2) below) has elapsed, it is necessary to start outputting the second applied speed. t p2 =max(T p1 ,T p1 +T p2 -T Bp )+T p3 (2)

[0126] As described above, in order to make the first jerk or acceleration equal to or less than 0 during the overlap time, it is necessary to wait at least t from the time r1 when the output of the first command speed is completed. p1 Or t p2 After waiting, it is necessary to start outputting the second command speed. That is, the CPU 41 performs the process from the time r1 when the output of the first command speed is completed to the time t p (See equation (3) below) After that, it is necessary to start outputting the second command speed. t p =min(max(median(T p1 ,T p2 ,Tp1 +T p2 -T Bp )+T p3 ,T p1 +T p2 ), max(T p1 ,T p1 +T p2 -T Bp )+T p3 ) · · · (3) Above t p The CPU 41 that calculates the delay time constitutes a seventh delay time calculation unit and a fifth determination unit. p1 ,T p2 ,T p1 +T p2 -T Bp )+T p3 ,T p1 +T p2 The CPU 41 that calculates max(T p1 ,T p1 +T p2 -T Bp )+T p3 The CPU 41 which performs the calculation constitutes a first addition unit.

[0127] Time constant T p3 ≧min(T p2 ,T Bp ), the case where the sign of the second jerk becomes negative during the overlap time will be described with reference to FIG. 18. FIG. 18 shows the time constant T p3 ≧min(T p2 ,T Bp 18 corresponds to the graphs of the second jerk and the second jerk in FIG. 7 and FIG. 8. n3 is the time constant of the trailing third moving average filter. The upper diagram of Fig. 18 shows the second jerk after applying the trailing first moving average filter and the trailing second moving average filter, the middle diagram of Fig. 18 shows the second jerk after applying the trailing first moving average filter and the trailing second moving average filter, and the lower diagram of Fig. 18 shows the second jerk after applying the trailing first moving average filter, the trailing second moving average filter, and the trailing third moving average filter.

[0128] In the upper diagram of FIG. 18, r8 is the time point when the second jerk first changes from 0 to positive. The time between time points r3 and r8 is the time T β , i.e. T β =median(T n1 ,T n2 ,T Bn ) (see FIG. 6). This is because the graph of the second jerk in the second embodiment and the graph of the second jerk in the first embodiment are symmetrical with respect to the time axis.

[0129] As shown in the lower diagram of FIG. 18, before time r8 and from time r3, the time constant T n3 If the time has passed since the first moving average filter, the second moving average filter, and the third moving average filter are applied, the second jerk is equal to or smaller than 0, that is, belongs to the fourth range.

[0130] That is, in order for the second jerk to which the trailing third moving average filter is applied to become equal to or less than 0, the time from time r3 to T β1 =min(median(T n1 ,T n2 ,T Bn ),T n3 It is necessary that the first applied speed deceleration is completed before the time t1 has elapsed. At this time t n1 =T α -T β1 =T p1 +T p2 +T p3 -T β1 (4) It is.

[0131] Time constant T p3 <min(T p2 ,T Bp ), the case where the second jerk belongs to the fourth range during the overlap time will be described with reference to FIG. 19. FIG. 19 shows the time constant T p3 <min(T p2 ,T Bp19 is a timing chart showing the second jerk and the second accelerated jerk in the case of FIG. 7 and FIG. 8. The upper and middle diagrams in FIG. 19 correspond to the graphs of the second jerk and the second accelerated jerk in FIG. 7 and FIG. 8. In FIG. 19, the time from time point r3 to time point r6 corresponds to the time T β , that is, min(T n2 ,T Bn ) (see Figure 10).

[0132] An upper diagram in FIG. 19 shows the second jerk after application of the trailing first moving average filter and the trailing second moving average filter, a middle diagram in FIG. 19 shows the second jerk after application of the trailing first moving average filter and the trailing second moving average filter, and a lower diagram in FIG. 19 shows the second jerk after application of the trailing first moving average filter, the trailing second moving average filter, and the trailing third moving average filter.

[0133] As shown in the lower diagram of FIG. 19, before time point r6 (the time point at which the second jerk first changes from negative to 0), the second jerk to which the trailing first moving average filter, the trailing second moving average filter, and the trailing third moving average filter are applied is equal to or less than 0, that is, belongs to the fourth value range.

[0134] In other words, in order for the second jerk to which the trailing third moving average filter is applied to be 0 or less, T β2 =min(T n2 ,T Bn ), then from time r3 to T β2 It is necessary that the deceleration of the first applied speed is completed before the time point has elapsed. At this time t n2 =T α -T β2 =T p1 +T p2 +T p3 -T β2 (5) It is.

[0135] As described above, in order for the second jerk to belong to the fourth range during the overlap time, it is necessary to wait at least t from the time r1 when the output of the first command speed is completed. n1 Or t n2 After waiting, the CPU 41 must start outputting the second command speed. That is, the CPU 41 performs the process from the time r1 when the output of the first command speed is completed to the time t n (See the formula below) After this time has elapsed, it is necessary to start outputting the second command speed. t n =T p1 +T p2 +T p3 -max(T β1 ,T β2 )=T p1 +T p2 +T p3 -max(min(median(T n1 ,T n2 ,T Bn ),T n3 ), min(T n2 ,T Bn ))···(6) The CPU 41 that calculates the formula (6) constitutes an eighth delay time calculation unit and a calculation unit. n1 ,T n2 ,T Bn ),T n3 The CPU 41 that calculates min(T n2 ,T Bn The CPU 41 that calculates max(min(median(T n1 ,T n2 ,T Bn ),T n3 ), min(T n2 ,T Bn The CPU 41 that calculates (a) constitutes a fourth selection unit.

[0136] The CPU 41 calculates t p and t in Eq. (6) n The larger of the two is determined as the delay time. That is, the delay time T delay =max(t p ,t nThe CPU 41 that determines the delay time constitutes a fourth determination unit.

[0137] The same applies to the case where the CPU 41 calculates the delay time so that both the first jerk and the second jerk are equal to or greater than 0 during the overlap time, that is, so that they belong to the third value range.

[0138] The embodiments disclosed herein are illustrative in all respects and should not be considered as limiting. The technical features described in each embodiment can be combined with each other, and the scope of the present invention is intended to include all modifications within the scope of the claims and the scope equivalent to the claims. [Explanation of symbols]

[0139] 23 Y-axis motor 27 X-axis motor 31 Z-axis motor 32 Spindle head 35 Spindle motor 40 Control device 41 CPU 42 RAM 43 Storage section 120 Work holding part 121 A-axis motor 122 C-axis motor 27a, 23a, 31a, 121a, 122a, 35a Drive circuit 100 Machine tools

Claims

1. A control device includes an acquisition unit that acquires a command speed based on a movement command for a workpiece holding unit or a spindle of a machine tool, and a filter application unit that applies a filter to the command speed acquired by the acquisition unit to determine a filter application speed, and controls an operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speeds include a first command speed and a second command speed that is a command speed subsequent to the first command speed and has the same direction as the direction of the first command speed; the filters include a leading first moving average filter and a leading second moving average filter applied to the first command speed, and a trailing first moving average filter and a trailing second moving average filter applied to the second command speed, the filter application speed includes a first application speed obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a second application speed obtained by applying the trailing first moving average filter and the trailing second moving average filter to the second command speed, a delay time calculation unit that calculates a delay time from completion of output of the first command speed from the acquisition unit to the filter application unit to start of output of the second command speed from the acquisition unit to the filter application unit based on a first output time that is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time that is an output time of the second command speed, the time constant of the trailing first moving average filter, and the time constant of the trailing second moving average filter, so that a first jerk that is a jerk with respect to the first applied speed and a second jerk that is a jerk with respect to the second applied speed both belong to a first value range of 0 or more or both the first jerk and the second jerk belong to a second value range of 0 or less while the first applied speed and the second applied speed are simultaneously output to the drive source; A control device comprising:

2. The delay time calculation unit is a first delay time calculation unit that calculates a first delay time between a completion time point at which the acquisition unit completes output of the first command speed and a time point after the completion time point at which the first jerk changes from negative to zero; a second delay time calculation unit that calculates a second delay time that is a difference between a first time between a completion time point at which the acquisition unit completes output of the first command speed and a time point after the completion time point at which the first applied speed becomes 0, and a second time between a start time point at which the acquisition unit starts outputting the second command speed and a time point after the start time point at which the second jerk becomes negative from 0; a first determination unit that determines the larger value of the first delay time and the second delay time as the delay time; have The control device according to claim 1 .

3. the filter includes a leading third moving average filter applied to the first command speed; The delay time calculation unit is a third delay time calculation unit that calculates a third delay time by adding a third time constant in the leading third moving average filter to a median value of a value obtained by subtracting a first output time, which is an output time of the first command speed, from a sum of a first time constant in the leading first moving average filter, a second time constant in the leading second moving average filter, and a sum of the first time constant and the second time constant; a fourth delay time calculation unit that calculates a fourth delay time by subtracting a median of a trailing first time constant in the trailing first moving average filter, a trailing second time constant in the trailing second moving average filter, and a second output time that is an output time of the second command speed from a sum of the first leading time constant, the second leading time constant, and the third leading time constant; a second determination unit that determines the larger value of the third delay time or the fourth delay time as the delay time; have The control device according to claim 1 or 2.

4. A control device includes an acquisition unit that acquires a command speed based on a movement command for a workpiece holding unit or a spindle of a machine tool, and a filter application unit that applies a filter to the command speed acquired by the acquisition unit to determine a filter application speed, and controls an operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speeds include a first command speed and a second command speed that is a command speed subsequent to the first command speed and is in a direction opposite to the direction of the first command speed; the filters include a leading first moving average filter and a leading second moving average filter applied to the first command speed, and a trailing first moving average filter and a trailing second moving average filter applied to the second command speed, the filter application speed includes a first application speed obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a second application speed obtained by applying the trailing first moving average filter and the trailing second moving average filter to the second command speed, a delay time calculation unit that calculates a delay time from completion of output of the first command speed from the acquisition unit to the filter application unit to start of output of the second command speed from the acquisition unit to the filter application unit based on a first output time that is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time that is an output time of the second command speed, the time constant of the trailing first moving average filter, and the time constant of the trailing second moving average filter, so that a first accelerometer that is an accelerometer with respect to the first applied speed and a second accelerometer that is an accelerometer with respect to the second applied speed both belong to a third value range of 0 or more or both the first accelerometer and the second accelerometer belong to a fourth value range of 0 or less while the first applied speed and the second accelerometer belong to A control device comprising:

5. The delay time calculation unit is a fifth delay time calculation unit that calculates a fifth delay time between a completion time point at which the acquisition unit completes output of the first command speed and a time point subsequent to the completion time point at which the first jerk finally changes from positive to zero; a sixth delay time calculation unit that calculates a sixth delay time that is a difference between a third time between a completion time point when the acquisition unit completes output of the first command speed and a time point after the completion time point when the first applied speed becomes 0, and a fourth time between a start time point when the acquisition unit starts outputting the second command speed and a time point after the start time point when the second jerk becomes positive from 0; a third determination unit that determines the larger value of the fifth delay time or the sixth delay time as the delay time; have The control device according to claim 4.

6. the filter includes a leading third moving average filter applied to the first command speed and a trailing third moving average filter applied to the second command speed; The delay time calculation unit includes a seventh delay time calculation unit that calculates a seventh delay time, an eighth delay time calculation unit that calculates an eighth delay time, and a fourth determination unit that determines the larger value of the seventh delay time and the eighth delay time as the delay time, The seventh delay time calculation unit is a first selection unit that selects a larger value among a value obtained by adding a third leading time constant in the leading third moving average filter to a median value of a value obtained by subtracting a first output time, which is an output time of the first command speed, from a sum of a first leading time constant in the leading first moving average filter, a second leading time constant in the leading second moving average filter, and a sum of the first leading time constant and the second leading time constant; a first adder that adds the third preceding time constant to a larger value of the first preceding time constant and a value obtained by subtracting the first output time from a sum of the first preceding time constant and the second preceding time constant; a fifth determination unit that determines the seventh delay time to be the smaller value of the value selected by the first selection unit or the value added by the first addition unit; having The eighth delay time calculation unit is a second selection unit that selects a smaller value among a trailing first time constant in the trailing first moving average filter, a trailing second time constant in the trailing second moving average filter, and a median of a second output time that is an output time of the second command speed, and a trailing third time constant in the trailing third moving average filter; a third selection unit that selects the smaller value of the second subsequent time constant and the second output time; a fourth selection unit that selects the larger value of the value selected by the second selection unit and the value selected by the third selection unit; a calculation unit that calculates the eighth delay time by subtracting the value selected by the fourth selection unit from a sum of the first preceding time constant, the second preceding time constant, and the third preceding time constant; have The control device according to claim 4 or 5.

7. A control device includes an acquisition unit that acquires a command speed based on a movement command for a workpiece holding unit or a spindle of a machine tool, and a filter application unit that applies a filter to the command speed acquired by the acquisition unit to determine a filter application speed, and controls an operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speed includes a first command speed and a second command speed that is a command speed next to the first command speed, the filters include a leading first moving average filter and a leading second moving average filter applied to the first command speed, and a trailing first moving average filter and a trailing second moving average filter applied to the second command speed, the filter application speed includes a first application speed obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a second application speed obtained by applying the trailing first moving average filter and the trailing second moving average filter to the second command speed, a determination unit that determines whether a direction of the first command speed and a direction of the second command speed are the same; when the determination unit determines that the direction of the first command velocity and the direction of the second command velocity are the same direction, a delay time is calculated from the completion of output of the first command velocity from the acquisition unit to the filter application unit to the start of output of the second command velocity from the acquisition unit to the filter application unit so that a first jerk that is a jerk with respect to the first applied velocity and a second jerk that is a jerk with respect to the second applied velocity both belong to a first value range of 0 or more or a second value range of 0 or less while the first applied velocity and the second applied velocity are simultaneously output to the drive source, based on a first output time that is an output time of the first command velocity, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time that is an output time of the second command velocity, a time constant of the trailing first moving average filter, and a time constant of the trailing second moving average filter; a delay time calculation unit that calculates a delay time from completion of output of the first command speed from the acquisition unit to the filter application unit to start of output of the second command speed from the acquisition unit to the filter application unit, based on a first output time that is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time that is an output time of the second command speed, a time constant of the trailing first moving average filter, and a time constant of the trailing second moving average filter, while the first applied speed and the second applied speed are simultaneously output to the drive source, so that both a first accelerometer jerk that is an accelerometer jerk with respect to the first applied speed and a second accelerometer jerk that is an accelerometer jerk with respect to the second applied speed belong to a third value range of 0 or more or both the first accelerometer jerk and the second accelerometer jerk belong to a fourth value range of 0 or less; A control device comprising:

8. When the determination unit determines that the direction of the first command speed and the direction of the second command speed are the same, the delay time calculation unit: a first delay time calculation unit that calculates a first delay time between a completion time point at which the acquisition unit completes output of the first command speed and a time point after the completion time point at which the first jerk changes from negative to zero; a second delay time calculation unit that calculates a second delay time that is a difference between a first time between a completion time point at which the acquisition unit completes output of the first command speed and a time point after the completion time point at which the first applied speed becomes 0, and a second time between a start time point at which the acquisition unit starts output of the second command speed and a time point after the start time point at which the second jerk becomes negative from 0; a first determination unit that determines the larger value of the first delay time and the second delay time as the delay time; having When the determination unit determines that the direction of the first command speed and the direction of the second command speed are not the same direction, the delay time calculation unit: a fifth delay time calculation unit that calculates a fifth delay time between a completion time point at which the acquisition unit completes output of the first command speed and a time point subsequent to the completion time point at which the first jerk finally changes from positive to zero; a sixth delay time calculation unit that calculates a sixth delay time that is a difference between a third time between a completion time point when the acquisition unit completes output of the first command speed and a time point after the completion time point when the first applied speed becomes 0, and a fourth time between a start time point when the acquisition unit starts outputting the second command speed and a time point after the start time point when the second jerk becomes positive from 0; a third determination unit that determines the larger value of the fifth delay time or the sixth delay time as the delay time; have The control device according to claim 7.

9. the filter includes a leading third moving average filter applied to the first command speed and a trailing third moving average filter applied to the second command speed; When the determination unit determines that the direction of the first command speed and the direction of the second command speed are the same, the delay time calculation unit: a third delay time calculation unit that calculates a third delay time by adding a third time constant in the leading third moving average filter to a median value of a first time constant in the leading first moving average filter, a second time constant in the leading second moving average filter, and a value obtained by subtracting a first output time, which is an output time of the first command speed, from a sum of the first time constant and the second time constant; a fourth delay time calculation unit that calculates a fourth delay time by subtracting a median of a trailing first time constant in the trailing first moving average filter, a trailing second time constant in the trailing second moving average filter, and a second output time that is an output time of the second command speed from a sum of the first leading time constant, the second leading time constant, and the third leading time constant; a second determination unit that determines the larger value of the third delay time or the fourth delay time as the delay time; having when the determination unit determines that the direction of the first command speed and the direction of the second command speed are not the same direction, the delay time calculation unit has: a seventh delay time calculation unit that calculates a seventh delay time, an eighth delay time calculation unit that calculates an eighth delay time, and a fourth determination unit that determines the larger value of the seventh delay time or the eighth delay time as the delay time, The seventh delay time calculation unit is a first selection unit that selects a larger value among a value obtained by adding a third leading time constant in the leading third moving average filter to a median value of a value obtained by subtracting a first output time, which is an output time of the first command speed, from a sum of a first leading time constant in the leading first moving average filter, a second leading time constant in the leading second moving average filter, and a sum of the first leading time constant and the second leading time constant; a first adder that adds the third preceding time constant to a larger value of the first preceding time constant and a value obtained by subtracting the first output time from a sum of the first preceding time constant and the second preceding time constant; a fourth determination unit that determines the seventh delay time to be either the value selected by the first selection unit or the value added by the first addition unit, whichever is smaller; having The eighth delay time calculation unit is a second selection unit that selects a smaller value among a trailing first time constant in the trailing first moving average filter, a trailing second time constant in the trailing second moving average filter, and a median of a second output time that is an output time of the second command speed, and a trailing third time constant in the trailing third moving average filter; a third selection unit that selects a smaller value of the subsequent second time constant and the second output time; a fourth selection unit that selects the larger value between the value selected by the second selection unit and the value selected by the third selection unit; a calculation unit that calculates the eighth delay time by subtracting the value selected by the fourth selection unit from a sum of the first preceding time constant, the second preceding time constant, and the third preceding time constant; have 9. The control device according to claim 7 or 8.

10. 1. A control method for controlling an operation of a drive source of a workpiece holding unit or a spindle of a machine tool, comprising: acquiring a command speed based on a movement command for the workpiece holding unit or a spindle; applying a filter to the acquired command speed to obtain a filter application speed; and controlling an operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speeds include a first command speed and a second command speed that is a command speed subsequent to the first command speed and has the same direction as the direction of the first command speed; the filters include a leading first moving average filter and a leading second moving average filter applied to the first command speed, and a trailing first moving average filter and a trailing second moving average filter applied to the second command speed, the filter application speed includes a first application speed obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a second application speed obtained by applying the trailing first moving average filter and the trailing second moving average filter to the second command speed, a delay time from completion of output of the first command speed to start of output of the second command speed is calculated based on a first output time which is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time which is an output time of the second command speed, a time constant of the trailing first moving average filter, and a time constant of the trailing second moving average filter, so that a first jerk which is a jerk with respect to the first applied speed and a second jerk which is a jerk with respect to the second applied speed both belong to a first value range of 0 or more or so that the first jerk and the second jerk both belong to a second value range of 0 or less while the first applied speed and the second applied speed are simultaneously output to the drive source; Control methods.

11. 1. A control method for controlling an operation of a drive source of a workpiece holding unit or a spindle of a machine tool, comprising: acquiring a command speed based on a movement command for the workpiece holding unit or a spindle; applying a filter to the acquired command speed to obtain a filter application speed; and controlling an operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speeds include a first command speed and a second command speed that is a command speed subsequent to the first command speed and is in a direction opposite to the direction of the first command speed; the filters include a leading first moving average filter and a leading second moving average filter applied to the first command speed, and a trailing first moving average filter and a trailing second moving average filter applied to the second command speed, the filter application speed includes a first application speed obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a second application speed obtained by applying the trailing first moving average filter and the trailing second moving average filter to the second command speed, a delay time from completion of output of the first command speed to start of output of the second command speed, based on a first output time which is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time which is an output time of the second command speed, a time constant of the trailing first moving average filter, and a time constant of the trailing second moving average filter, while the first applied speed and the second applied speed are simultaneously output, so that a first accelerometer which is an accelerometer with respect to the first applied speed and a second accelerometer which is an accelerometer with respect to the second applied speed both belong to a third value range of 0 or more, or so that the first accelerometer and the second accelerometer both belong to a fourth value range of 0 or less; Control methods.

12. 1. A control method for controlling an operation of a drive source of a workpiece holding unit or a spindle of a machine tool, comprising: acquiring a command speed based on a movement command for the workpiece holding unit or a spindle; applying a filter to the acquired command speed to obtain a filter application speed; and controlling an operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speed includes a first command speed and a second command speed that is a command speed next to the first command speed, the filters include a leading first moving average filter and a leading second moving average filter applied to the first command speed, and a trailing first moving average filter and a trailing second moving average filter applied to the second command speed, the filter application speed includes a first application speed obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a second application speed obtained by applying the trailing first moving average filter and the trailing second moving average filter to the second command speed, determining whether a direction of the first command speed and a direction of the second command speed are the same; when it is determined that the direction of the first command velocity and the direction of the second command velocity are the same direction, a delay time is calculated from the completion of output of the first command velocity to the start of output of the second command velocity based on a first output time which is an output time of the first command velocity, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time which is an output time of the second command velocity, a time constant of the trailing first moving average filter, and a time constant of the trailing second moving average filter, so that a first jerk which is a jerk with respect to the first applied velocity and a second jerk which is a jerk with respect to the second applied velocity both belong to a first value range of 0 or more or a second value range of 0 or less while the first jerk and the second jerk are both When it is determined that the direction of the first command speed and the direction of the second command speed are not the same direction, a delay time from completion of output of the first command speed to start of output of the second command speed is calculated based on a first output time which is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time which is an output time of the second command speed, a time constant of the trailing first moving average filter, and a time constant of the trailing second moving average filter, so that a first accelerometer which is an accelerometer with respect to the first applied speed and a second accelerometer which is an accelerometer with respect to the second applied speed both belong to a third value range of 0 or more or both the first accelerometer and the second accelerometer belong to a fourth value range of 0 or less while the first applied speed and the second applied speed are simultaneously output. Control methods.

13. A computer program executable by a control device that acquires a command speed based on a movement command for a workpiece holding unit or a spindle of a machine tool, applies a filter to the acquired command speed to obtain a filter application speed, and controls an operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speeds include a first command speed and a second command speed that is a command speed subsequent to the first command speed and has the same direction as the direction of the first command speed; the filters include a leading first moving average filter and a leading second moving average filter applied to the first command speed, and a trailing first moving average filter and a trailing second moving average filter applied to the second command speed, the filter application speed includes a first application speed obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a second application speed obtained by applying the trailing first moving average filter and the trailing second moving average filter to the second command speed, The control device includes: A delay time is calculated from the completion of output of the first command speed to the start of output of the second command speed based on a first output time which is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time which is an output time of the second command speed, a time constant of the trailing first moving average filter, and a time constant of the trailing second moving average filter, so that a first jerk which is a jerk with respect to the first applied speed and a second jerk which is a jerk with respect to the second applied speed both belong to a first value range of 0 or more or so that the first jerk and the second jerk both belong to a second value range of 0 or less while the first applied speed and the second applied speed are simultaneously output. A computer program that executes a process.

14. A computer program executable by a control device that acquires a command speed based on a movement command for a workpiece holding unit or a spindle of a machine tool, applies a filter to the acquired command speed to obtain a filter application speed, and controls an operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speeds include a first command speed and a second command speed that is a command speed subsequent to the first command speed and is in a direction opposite to the direction of the first command speed; the filters include a leading first moving average filter and a leading second moving average filter applied to the first command speed, and a trailing first moving average filter and a trailing second moving average filter applied to the second command speed, the filter application speed includes a first application speed obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a second application speed obtained by applying the trailing first moving average filter and the trailing second moving average filter to the second command speed, The control device includes: a delay time from completion of output of the first command speed to start of output of the second command speed, based on a first output time which is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time which is an output time of the second command speed, a time constant of the trailing first moving average filter, and a time constant of the trailing second moving average filter, while the first applied speed and the second applied speed are simultaneously output, so that a first accelerometer which is an accelerometer with respect to the first applied speed and a second accelerometer which is an accelerometer with respect to the second applied speed both belong to a third value range of 0 or more, or so that the first accelerometer and the second accelerometer both belong to a fourth value range of 0 or less; A computer program that executes a process.

15. A computer program executable by a control device that acquires a command speed based on a movement command for a workpiece holding unit or a spindle of a machine tool, applies a filter to the acquired command speed to obtain a filter application speed, and controls an operation of a drive source of the workpiece holding unit or the spindle at the filter application speed, the command speed includes a first command speed and a second command speed that is a command speed next to the first command speed, the filters include a leading first moving average filter and a leading second moving average filter applied to the first command speed, and a trailing first moving average filter and a trailing second moving average filter applied to the second command speed, the filter application speed includes a first application speed obtained by applying the leading first moving average filter and the leading second moving average filter to the first command speed, and a second application speed obtained by applying the trailing first moving average filter and the trailing second moving average filter to the second command speed, The control device includes: determining whether a direction of the first command speed and a direction of the second command speed are the same; when it is determined that the direction of the first command velocity and the direction of the second command velocity are the same direction, a delay time is calculated from the completion of output of the first command velocity to the start of output of the second command velocity based on a first output time which is an output time of the first command velocity, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time which is an output time of the second command velocity, a time constant of the trailing first moving average filter, and a time constant of the trailing second moving average filter, so that a first jerk which is a jerk with respect to the first applied velocity and a second jerk which is a jerk with respect to the second applied velocity both belong to a first value range of 0 or more or a second value range of 0 or less while the first jerk and the second jerk are both When it is determined that the direction of the first command speed and the direction of the second command speed are not the same direction, a delay time from completion of output of the first command speed to start of output of the second command speed is calculated based on a first output time which is an output time of the first command speed, a time constant of the leading first moving average filter, a time constant of the leading second moving average filter, a second output time which is an output time of the second command speed, a time constant of the trailing first moving average filter, and a time constant of the trailing second moving average filter, so that a first accelerometer which is an accelerometer with respect to the first applied speed and a second accelerometer which is an accelerometer with respect to the second applied speed both belong to a third value range of 0 or more or both the first accelerometer and the second accelerometer belong to a fourth value range of 0 or less while the first applied speed and the second applied speed are simultaneously output. A computer program that executes a process.

Citation Information

Patent Citations

  • Numerical control device, control method and recording medium

    JP1999277370A

  • Numerical control device and control method

    JP2016133987A

  • Numerical controller and method of controlling numerical controller

    JP2017102532A

  • Numerical control unit

    JP2018060242A

  • Numerical value control unit and control method

    JP2021064362A