Numerical Control Device

JPWO2024154336A5Active Publication Date: 2024-12-17MITSUBISHI ELECTRIC CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2023534997
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-01-20
Filing Date
2023-01-20
Publication Date
2024-12-17
Estimated Expiration
2043-01-20

AI Technical Summary

Technical Problem

Numerical control devices face a time lag in changing motor acceleration when overload is detected, leading to inefficient utilization of motor specifications when handling loads other than the maximum weight.

Method used

A numerical control device that performs look-ahead analysis on machining programs, using first and second acceleration/deceleration processing units to quickly adjust motor commands based on load monitoring, ensuring immediate acceleration changes and preventing overload through calculated deceleration waveforms.

Benefits of technology

Enables rapid adjustment of motor acceleration upon overload detection, optimizing motor utilization and preventing overload conditions by managing command droop and deceleration distances.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000009_0000
    Figure 00000009_0000
  • Figure 00000009_0001
    Figure 00000009_0001
  • Figure 00000009_0002
    Figure 00000009_0002
Patent Text Reader

Abstract

The numerical control device (1) controls a motor (21) based on a machining program (3), and is characterized by comprising: a first acceleration / deceleration processing unit (12) that outputs a first post-acceleration / deceleration command, which is a command after acceleration / deceleration processing in which a command described in the machining program is accelerated / decelerated by a predetermined first acceleration based on a result of look-ahead analysis of the machining program; an interpolation unit (13) that calculates a motor command, which is a command for each control period for the motor from the first post-acceleration / deceleration command; a state quantity monitoring unit (14) that monitors a state quantity indicating a motor load of the motor, and outputs a motor load excess signal when the state quantity exceeds a threshold value; and a second acceleration / deceleration processing unit (15) that outputs the motor command as an output command to be output to the motor until the motor load excess signal is output, and when the motor load excess signal is output, outputs a second post-acceleration / deceleration command, which is accelerated / decelerated by a second acceleration, as an output command.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a numerical control device that controls a motor. [Background technology]

[0002] In a numerical control device that controls the acceleration of a motor, the inertia changes depending on the weight of an object moved by the motor, and the torque required for acceleration and deceleration changes accordingly. For this reason, acceleration and deceleration are usually set so that the torque when moving an object of the maximum load weight does not exceed the motor specifications. However, when moving an object of a weight other than the maximum load weight, the motor specifications cannot usually be fully utilized.

[0003] For this reason, Patent Document 1 discloses a numerical control device that monitors a motor load and changes the acceleration when the motor load exceeds a threshold value. This numerical control device includes a command unit that gives a command acceleration to the motor, a load measuring means that measures the load on the motor, an acceleration adjusting means that changes the command acceleration to the motor based on the result of comparing the measured load with a threshold parameter, and a control main unit that controls the motor based on the changed command acceleration. [Prior art documents] [Patent documents]

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

[0005] However, in the field of numerical control devices, a look-ahead analysis is usually performed to analyze a process to be executed after the currently executed process in a machining program. In this case, the command acceleration after the change by the acceleration adjustment means described above becomes a command for the look-ahead position, and the control main body outputs a command acceleration for each control period based on the command acceleration to the motor, so there is a problem that a time lag occurs between the detection of an overload state of the motor and the actual change of the acceleration of the motor.

[0006] The present disclosure has been made in consideration of the above, and has an object to provide a numerical control device that can quickly change acceleration when an overload of a motor is detected. [Means for solving the problem]

[0007] In order to solve the above-mentioned problems and achieve the object, a numerical control device that controls a motor based on a machining program of the present disclosure includes a first acceleration / deceleration processing unit that outputs a first post-acceleration / deceleration command, which is a command after acceleration / deceleration processing in which a command described in the machining program is accelerated and decelerated by a predetermined first acceleration based on a look-ahead analysis result of the machining program, an interpolation unit that calculates a motor command, which is a command for each control period for the motor from the first post-acceleration / deceleration command, a state quantity monitoring unit that monitors a state quantity indicating a motor load of the motor and outputs a motor load excess signal when the state quantity exceeds a threshold value, and a state quantity monitoring unit that outputs the motor command as an output command to the motor until the motor load excess signal is output, and when the motor load excess signal is output, outputs the motor command as an output command to the motor. Less than the first acceleration a second acceleration / deceleration processing unit that outputs a second post-acceleration / deceleration command that is subjected to acceleration / deceleration processing based on the second acceleration as an output command; The second acceleration / deceleration processing unit calculates, for each control cycle, a command droop that is the difference between a target position defined by the machining program and a command position that is an integral value of the speed corresponding to the output command, and calculates, from the speed corresponding to the output command, a required deceleration distance that is a distance required to decelerate and stop at an acceleration obtained by multiplying a used acceleration that is an acceleration used to calculate the output command in an accelerating control cycle in which the same speed as the speed of the target control cycle is output in each control cycle during deceleration by a predetermined deceleration coefficient, and performs acceleration / deceleration processing so that the command droop becomes larger than the required deceleration distance. It is characterized by the above. Effect of the Invention

[0008] According to the present disclosure, it is possible to quickly change the acceleration when an overload of the motor is detected. [Brief description of the drawings]

[0009] [Figure 1] FIG. 1 is a diagram showing a configuration of a numerical control system according to a first embodiment. [Diagram 2] Diagram of look-ahead analysis [Diagram 3] FIG. 1 is an explanatory diagram of an example of control contents of a numerical control device according to a first embodiment; [Figure 4] 1 is a flowchart for explaining an operation of the numerical control device according to the first embodiment. [Diagram 5] FIG. 1 is a diagram showing a configuration of a numerical control system according to a second embodiment. [Figure 6] FIG. 1 is a diagram showing dedicated hardware for implementing the functions of a numerical control device according to the first and second embodiments. [Figure 7] FIG. 1 is a diagram showing a configuration of a control circuit for implementing the functions of a numerical control device according to first and second embodiments; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Hereinafter, a numerical control device according to an embodiment of the present disclosure will be described in detail with reference to the drawings.

[0011] Embodiment 1 FIG. 1 is a diagram showing a configuration of a numerical control system 100 according to a first embodiment. The numerical control system 100 includes a numerical control device 1 and a machine tool 2 having a motor 21. The machine tool 2 is an example of a device having the motor 21 that is controlled by the numerical control device 1. The type of the machine tool 2 is not particularly limited as long as it is a device having the motor 21. For example, the machine tool 2 is a cutting machine that cuts a workpiece using a tool, an additive manufacturing device that manufactures a shaped object by sequentially stacking molten material, a laser processing machine that processes the workpiece by irradiating the workpiece with a laser beam, or the like.

[0012] The numerical control device 1 controls a motor 21 provided in a machine tool 2 based on a machining program 3. The numerical control device 1 has a machining program analysis unit 11, a first acceleration / deceleration processing unit 12, an interpolation unit 13, a motor state quantity monitoring unit 14, and a second acceleration / deceleration processing unit 15.

[0013] The machining program analysis unit 11 performs look-ahead analysis of the machining program 3 for controlling the machine tool 2. Look-ahead analysis refers to analyzing a portion of the machining program 3 that will be executed after a portion currently being executed by the machine tool 2.

[0014] Fig. 2 is an explanatory diagram of look-ahead analysis. In Fig. 2, arrows indicate trajectories of the machining program. Also, solid arrows indicate trajectories that have already been instructed to the motor 21, dot-dash arrows indicate trajectories that have been analyzed by the machining program analysis unit 11 but have not yet been instructed to the motor 21, and dashed arrows indicate unprocessed trajectories that have not yet been analyzed by the machining program analysis unit 11. The command position P1 is the position where the motor 21 is currently executing, and the look-ahead position P2 is the position that is the target of the look-ahead analysis.

[0015] Returning to the explanation of Fig. 1, the machining program analysis unit 11 outputs analysis data, which is the result of the look-ahead analysis of the machining program 3, to the first acceleration / deceleration processing unit 12. The first acceleration / deceleration processing unit 12 accelerates and decelerates the speed when moving on the path described in the machining program 3 based on the analysis data, at a first acceleration, and outputs a first post-acceleration / deceleration command, which is a command after the acceleration / deceleration processing, to the interpolation unit 13. Here, the first acceleration is an acceleration set in advance by a parameter, and is a value determined by the torque characteristics of the motor 21 and the inertia of the machine tool 2.

[0016] The interpolation unit 13 calculates a motor command, which is a command for the motor 21 for each control period, from the first post-acceleration / deceleration command, and outputs the calculated motor command to the second acceleration / deceleration processing unit 15.

[0017] The motor state quantity monitoring unit 14 monitors a state quantity indicating the load state of the motor 21, and outputs a motor overload signal to the second acceleration / deceleration processing unit 15 when the state quantity exceeds a threshold value.

[0018] The second acceleration / deceleration processing unit 15 generates an output command, which is a command to be output to the motor 21, based on the motor command output by the interpolation unit 13 and the motor overload signal output by the motor state quantity monitoring unit 14, and outputs the output command to the motor 21 for each control period. Specifically, when the motor overload signal is not output, the second acceleration / deceleration processing unit 15 outputs the motor command output by the interpolation unit 13 as an output command as is to the motor 21. After the motor overload signal is output, the second acceleration / deceleration processing unit 15 outputs a second post-acceleration / deceleration command to the motor 21, which is obtained by accelerating and decelerating the motor command output by the interpolation unit 13 using a second acceleration. Here, the second acceleration is an acceleration at which the speed change is more gradual than the first acceleration. For example, the second acceleration / deceleration processing unit 15 may use a value previously set by a parameter or the like as the second acceleration, or may gradually reduce the value of the second acceleration at a constant rate until the motor load overload signal is no longer output, and thereafter use as the second acceleration the acceleration value at which the motor load overload signal was no longer output for the first time.

[0019] The second acceleration / deceleration processing unit 15 also calculates, as a command position, an integral value calculated by integrating a speed corresponding to an output command, which is a command to be output to the motor 21, for each control period. Here, the "speed corresponding to the output command" is a speed commanded by the output command, and is a moving speed for each control period of the drive target of the motor 21 when the motor 21 is operated based on the output command. Hereinafter, the "speed corresponding to the output command" may be referred to as an "output speed". The second acceleration / deceleration processing unit 15 also calculates a command droop, which is a difference between a target position defined by the machining program 3 and the calculated command position, for each control period. Here, the target position defined by the machining program 3 is a position pre-read and analyzed by the machining program analysis unit 11. Furthermore, the second acceleration / deceleration processing unit 15 calculates, for each control period, a required deceleration distance, which is a distance required to decelerate from the latest output speed to stop. The second acceleration / deceleration processing unit 15 determines a second acceleration so that the command droop is larger than the required deceleration distance, and performs the second acceleration / deceleration processing at the determined second acceleration.

[0020] Furthermore, when a motor overload signal is output during acceleration, the second acceleration / deceleration processing unit 15 can set the acceleration during deceleration based on the acceleration during acceleration. By generating the deceleration waveform based on the acceleration waveform, it is possible to prevent the motor 21 from becoming overloaded during deceleration. A specific example will be described below.

[0021] FIG. 3 is an explanatory diagram of an example of the control contents of the numerical control device 1 according to the first embodiment. In FIG. 3, the dashed line indicates a motor command that has been subjected to acceleration / deceleration processing by the first acceleration A0, and the solid line indicates an output speed when the motor load excess signal is output and the acceleration is adjusted by the second acceleration / deceleration processing unit 15. It is assumed that the motor load excess signal #1 is output while the first acceleration / deceleration processing unit 12 is accelerating at the first acceleration A0. In this case, the second acceleration / deceleration processing unit 15 of the numerical control device 1 outputs a second post-acceleration / deceleration command that has been accelerated at the second acceleration A1 that is smaller than the first acceleration A0. Furthermore, when the motor load excess signal #2 is output while the second post-acceleration / deceleration command that has been accelerated at the second acceleration A1 is being output, the second acceleration / deceleration processing unit 15 outputs a second post-acceleration / deceleration command that has been accelerated at the second acceleration A2 that is smaller than the second acceleration A1. Here, when the speed corresponding to the second acceleration / deceleration post-command reaches the target speed Vt, the numerical control device 1 stops the acceleration process, moves at the target speed Vt, and starts the deceleration process so that it can stop at the target position specified by the machining program 3.

[0022] At this time, the second acceleration / deceleration processing unit 15 generates a deceleration waveform similar to that during acceleration, thereby preventing the motor 21 from being overloaded during deceleration. Specifically, in the example of FIG. 3, if the output speed when the motor overload signal #1 is output during acceleration is V1, and the output speed when the motor overload signal #2 is output is V2, during deceleration, the acceleration during deceleration from the target speed Vt to the speed V2 is αA2, the acceleration during deceleration from the speed V2 to the speed V1 is αA1, and the acceleration during deceleration from the speed V1 to a stop is αA0. Note that α is a deceleration coefficient and has a predetermined value. For example, when a positive value of the acceleration means acceleration and a negative value means deceleration, it is desirable to set the value of the deceleration coefficient α to a value equal to or greater than -1 and less than 0. By setting the absolute value of the deceleration coefficient α to 1 or less, the acceleration during acceleration is the same as that during acceleration or is gentler when compared at the same output speed.

[0023] In order to perform such control, the second acceleration / deceleration processing unit 15 records the second acceleration every time the motor load excess signal is output. In addition, when the motor load excess signal is output, the second acceleration / deceleration processing unit 15 calculates and records the deceleration required distance when decelerating while drawing the same waveform as during acceleration, and updates the deceleration required distance every control period. In order to stop at the target position while drawing the same waveform as during acceleration, it is necessary to start deceleration from the timing when the deceleration required distance when decelerating while drawing the same waveform as during acceleration becomes equal to the command droop, which is the difference between the target position and the command position. For this reason, when the motor load excess signal is output during acceleration, the second acceleration / deceleration processing unit 15 calculates the deceleration required distance when decelerating while drawing the same waveform as during acceleration every control period, and compares it with the above-mentioned command droop.

[0024] Specifically, when the motor overload signal #1 is output, the second acceleration / deceleration processing unit 15 records the second acceleration A1 calculated when the motor overload signal #1 is output. Then, the second acceleration / deceleration processing unit 15 calculates the distance to stop when decelerating from the speed V1 at the acceleration αA0 as the required deceleration distance. This required deceleration distance is the distance traveled in the period H1 from the speed V1 to the stop in FIG. 3, and corresponds to the integral value of the speed in the period H1. In addition, the second acceleration / deceleration processing unit 15 updates this required deceleration distance for each control period after the motor overload signal #1 is output. For example, in the control period following the control period in which the motor overload signal #1 is output, when decelerating from the output speed of the control period to the speed V1 at the acceleration αA1, the second acceleration / deceleration processing unit 15 calculates the distance traveled in this period H2, and updates the required deceleration distance by adding the calculated distance to the required deceleration distance of the previous control period. During acceleration, the second acceleration / deceleration processing unit 15 repeats the same process for each control period to update the required deceleration distance, and compares the updated required deceleration distance with the command droop for the target control period. When the motor overload signal is output multiple times as shown in FIG. 3, the second acceleration / deceleration processing unit 15 records the second acceleration for the control period in which the motor overload signal is output and the required deceleration distance as boundary information indicating the time when the acceleration is changed during acceleration, each time the motor overload signal is output. The command droop decreases over time, and the speed increases over time during acceleration, so the required deceleration distance increases over time. Here, the second acceleration / deceleration processing unit 15 starts deceleration at the timing when the required deceleration distance and the command droop become equal. For example, the second acceleration / deceleration processing unit 15 can determine that the required deceleration distance and the command droop become equal when the difference between the required deceleration distance and the command droop becomes equal to or less than a predetermined value. Alternatively, when the command droop for the target control cycle becomes smaller than the required deceleration distance, the second acceleration / deceleration processing unit 15 may determine that the required deceleration distance and the command droop are equal, and start deceleration.

[0025] After starting deceleration, the second acceleration / deceleration processing unit 15 changes the acceleration used at the timing when the command droop becomes the deceleration required distance when each motor overload signal is output. Specifically, in the example of FIG. 3, after starting deceleration from the target speed Vt at the acceleration αA2, when the deceleration required distance when the motor overload signal #2 is output becomes equal to the command droop of each control cycle, the second acceleration / deceleration processing unit 15 changes the acceleration used to the acceleration αA1. Then, when the deceleration required distance when the motor overload signal #1 is output becomes equal to the command droop, the second acceleration / deceleration processing unit 15 changes the acceleration used to the acceleration αA0. By performing such processing, the numerical control device 1 can perform deceleration while drawing the same waveform as during acceleration.

[0026] 4 is a flowchart for explaining the operation of the numerical control device 1 according to the embodiment 1. The machining program analysis unit 11 of the numerical control device 1 performs a look-ahead analysis of the machining program 3 (step S11) and outputs analysis data, which is the analysis result, to the first acceleration / deceleration processing unit 12.

[0027] The first acceleration / deceleration processing unit 12 performs acceleration / deceleration processing using the first acceleration (step S12), and outputs to the interpolation unit 13 a first post-acceleration / deceleration command which is a command after the acceleration / deceleration processing.

[0028] The interpolation unit 13 calculates a motor command for each control period from the first post-acceleration / deceleration command (step S13), and outputs the calculated motor command to the second acceleration / deceleration processing unit 15.

[0029] The second acceleration / deceleration processing unit 15 judges whether or not a motor load excess signal has been output by the motor state quantity monitoring unit 14 (step S14). Here, if the motor load excess signal has been output even once during execution of the target process, it is judged that the motor load excess signal has been output. If the motor load excess signal has been output (step S14: Yes), the second acceleration / deceleration processing unit 15 outputs a second post-acceleration / deceleration command, which is a command for performing acceleration / deceleration processing by the second acceleration, as an output command to the motor 21 (step S15). If the motor load excess signal has not been output (step S14: No), the second acceleration / deceleration processing unit 15 outputs the motor command output by the interpolation unit 13 as it is as an output command to the motor 21 (step S16).

[0030] The second acceleration / deceleration processing unit 15 judges whether or not the movement to the target position is completed (step S17). If the movement to the target position is not completed (step S17: No), the numerical control device 1 returns to the processing of step S13. If the movement to the target position is completed (step S17: Yes), the numerical control device 1 judges whether or not the processing is completed (step S18). If the processing is completed (step S18: Yes), the numerical control device 1 ends the processing, and if the processing is not completed (step S18: No), the numerical control device 1 returns to the processing of step S11. Whether or not the movement to the target position is completed can be judged based on the value of the command droop calculated for each control cycle. Also, whether or not the processing is completed can be judged based on whether or not the processing in the target processing program 3 is completed.

[0031] As described above, the numerical control device 1 of the first embodiment includes a first acceleration / deceleration processing unit 12 that controls the motor 21 based on the machining program 3, and outputs a first post-acceleration / deceleration command, which is a command after acceleration / deceleration processing in which a command described in the machining program 3 is accelerated and decelerated by a predetermined first acceleration based on a look-ahead analysis result of the machining program 3; an interpolation unit 13 that calculates a motor command, which is a command for each control period for the motor 21 from the first post-acceleration / deceleration command; a motor state quantity monitoring unit 14 that monitors a state quantity indicating the motor load of the motor 21, and outputs a motor load excess signal when the state quantity exceeds a threshold value; and a second acceleration / deceleration processing unit 15 that outputs the motor command as an output command to be output to the motor 21 until the motor load excess signal is output, and when the motor load excess signal is output, outputs a second post-acceleration / deceleration speed obtained by accelerating and decelerating the motor command by a second acceleration as an output command. When the motor overload signal is output, the second acceleration / deceleration processing unit 15 generates a second post-acceleration / deceleration command from the motor command, which is a command for each control cycle, immediately before outputting it to the motor 21, and outputs it to the motor 21. If the acceleration / deceleration time constant or acceleration is changed before generating the command for each control cycle, a time lag occurs before the acceleration of the motor 21 is changed, whereas the second acceleration / deceleration processing unit 15 can change the acceleration immediately before outputting it to the motor 21, so that even when a look-ahead process is being performed, if an overload of the motor 21 is detected, the acceleration can be changed quickly.

[0032] In addition, the second acceleration / deceleration processing unit 15 calculates a command droop, which is the difference between a target position defined by the machining program 3 and a command position, which is the integral value of the output speed, and calculates a required deceleration distance, which is the distance required to decelerate from the output speed to stop, and performs acceleration / deceleration processing so that the command droop is larger than the required deceleration distance. By performing such droop management, it becomes possible to generate a command that does not overshoot the target position.

[0033] Furthermore, when a motor load overload signal is output during acceleration, the second acceleration / deceleration processing unit 15 decelerates the motor 21 at an acceleration obtained by multiplying the used acceleration, which is the acceleration used to calculate the output command in the control period during acceleration in which the same speed as the speed of the target control period was output, by a predetermined deceleration coefficient. This makes it possible to generate a deceleration waveform similar to that during acceleration. By decelerating at the same or slower acceleration than that during acceleration when the motor 21 is at the same speed as that during acceleration, it is possible to prevent the motor 21 from being overloaded.

[0034] When the motor load excess signal is output for the first time during acceleration, the second acceleration / deceleration processing unit 15 calculates the distance required for deceleration from the output speed to stop at an acceleration obtained by multiplying the first acceleration by a predetermined deceleration coefficient as the required deceleration distance, and updates the required deceleration distance by adding the distance required for decelerating the speed range from the output speed of the control cycle immediately before the target control cycle to the output speed of the target control cycle at an acceleration obtained by multiplying the second acceleration of the target control cycle by the deceleration coefficient to the required deceleration distance for each control cycle. In addition, the second acceleration / deceleration processing unit 15 starts deceleration at the timing when the command droop during deceleration becomes equal to the required deceleration distance. This makes it possible to reach the target position at the timing of stopping when decelerating with the same deceleration waveform as during acceleration.

[0035] The second acceleration / deceleration processor 15 records the required deceleration distance and the second acceleration in the control cycle in which the motor load excess signal was output during acceleration as boundary information, and changes the second acceleration to be used when the command droop in the target control cycle becomes equal to the required deceleration distance included in the boundary information. This makes it possible to switch the acceleration to be used so that the waveform is similar to that during acceleration.

[0036] The deceleration coefficient is set to a value equal to or greater than -1 and less than 0. This makes it possible to decelerate the vehicle at the same rate as during acceleration, or more slowly than during acceleration.

[0037] In the above embodiment, the timing to switch the acceleration used during deceleration is determined using the required deceleration distance, but for example, the output command when the motor load excess signal is output may be recorded and the timing to switch the acceleration used during deceleration may be determined based on the output command. For example, in the example of Fig. 3, after starting deceleration at acceleration αA2, when the output speed becomes V2, the second acceleration / deceleration processing unit 15 can switch the acceleration used to acceleration αA1, and when the output speed becomes V1, the acceleration used to acceleration αA0.

[0038] Embodiment 2 5 is a diagram showing a configuration of a numerical control system 100A according to the second embodiment. The numerical control system 100A has a numerical control device 1A and a machine tool 2A. The numerical control device 1A has a second acceleration / deceleration processing unit 15A that performs acceleration / deceleration processing based on feedback information, instead of the second acceleration / deceleration processing unit 15 of the numerical control device 1. Furthermore, the machine tool 2A has, in addition to the function of the motor 21, a motor 21A that outputs feedback information to the numerical control device 1A.

[0039] The second acceleration / deceleration processor 15A acquires feedback information of the motor 21A, and when a motor load excess signal is output, performs acceleration / deceleration processing by using the acceleration calculated based on the acquired feedback information or the command acceleration calculated based on the motor command, whichever has a smaller absolute value, as the second acceleration. The feedback information is, for example, information indicating a feedback current, motor inertia, etc.

[0040] For example, the velocity feedback value is v res (t-1), acceleration feedback value is a res (t-1), output speed v cmd (t-1), the length of the control period is T s Then, the acceleration A based on the feedback information c (t) is expressed by the following equation (1).

[0041]

number

[0042] If there is a time lag between the output of the motor overload signal and the change in acceleration, the difference between the speed feedback value and the commanded output speed may become large, and the value of the above formula (1) may become negative. In this case, the value is set to 0. res (t-1) can be replaced with the acceleration calculated from the inertia and current saturation value.

[0043] As described above, according to the second embodiment, the second acceleration / deceleration processor 15A acquires feedback information of the motor 21A, and performs acceleration / deceleration processing by using the acceleration calculated based on the acquired feedback information or the command acceleration calculated based on the motor command, whichever has a smaller absolute value, as the second acceleration. Therefore, it becomes possible to accelerate or decelerate at an acceleration close to the torque limit.

[0044] Next, the hardware configuration of the numerical control device 1, 1A according to the first and second embodiments will be described. The machining program analysis unit 11, the first acceleration / deceleration processing unit 12, the interpolation unit 13, the motor state quantity monitoring unit 14, and the second acceleration / deceleration processing units 15, 15A are realized by processing circuits. These processing circuits may be realized by dedicated hardware, or may be control circuits using a CPU (Central Processing Unit).

[0045] When the above processing circuits are realized by dedicated hardware, they are realized by a processing circuit 90 shown in Fig. 6. Fig. 6 is a diagram showing dedicated hardware for realizing the functions of the numerical control devices 1 and 1A according to the first and second embodiments. The processing circuit 90 is a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination of these.

[0046] When the above processing circuit is realized by a control circuit using a CPU, the control circuit is, for example, a control circuit 91 having a configuration shown in FIG. 7. FIG. 7 is a diagram showing the configuration of the control circuit 91 for realizing the functions of the numerical control device 1, 1A according to the first and second embodiments. As shown in FIG. 7, the control circuit 91 includes a processor 92 and a memory 93. The processor 92 is a CPU, and is also called a processing device, an arithmetic device, a microprocessor, a microcomputer, a DSP (Digital Signal Processor), or the like. The memory 93 is, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable ROM), an EEPROM (registered trademark) (Electrically EPROM), a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, a DVD (Digital Versatile Disk), or the like.

[0047] When the above processing circuits are realized by the control circuit 91, they are realized by the processor 92 reading and executing a program corresponding to the processing of each component, which is stored in the memory 93. The memory 93 is also used as a temporary memory for each processing executed by the processor 92.

[0048] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies, or the embodiments may be combined with each other. Also, parts of the configurations may be omitted or modified without departing from the spirit of the invention.

[0049] For example, in the above embodiment, the first post-acceleration / deceleration command, the second post-acceleration / deceleration command, the motor command, and the output command are each a speed command, but they may be position commands. [Explanation of symbols]

[0050] 1,1A numerical control device, 2,2A machine tool, 3 machining program, 11 machining program analysis unit, 12 first acceleration / deceleration processing unit, 13 interpolation unit, 14 motor state quantity monitoring unit, 15,15A second acceleration / deceleration processing unit, 21,21A motor, 90 processing circuit, 91 control circuit, 92 processor, 93 memory, 100,100A numerical control system, P1 command position, P2 look-ahead position.

Claims

1. In a numerical control device which controls a motor based on a machining program, a first acceleration / deceleration processing unit that outputs a first post-acceleration / deceleration command, which is a command after acceleration / deceleration processing in which a command described in the machining program is accelerated / decelerated by a predetermined first acceleration based on a look-ahead analysis result of the machining program; an interpolation unit that calculates a motor command, which is a command for the motor for each control period, from the first post-acceleration / deceleration command; a state quantity monitoring unit that monitors a state quantity indicating a motor load of the motor and outputs a motor load excess signal when the state quantity exceeds a threshold value; a second acceleration / deceleration processing unit that outputs the motor command as an output command to be output to the motor until the motor load excess signal is output, and when the motor load excess signal is output, outputs a second post-acceleration / deceleration command that is accelerated / decelerated by a second acceleration to the motor command as the output command; A numerical control device comprising:

2. A numerical control device as described in Claim 1, characterized in that the output command output from the second acceleration / deceleration processing unit is directly input to the motor.

3. The second acceleration / deceleration processing unit is Calculating a command droop, which is a difference between a target position defined by the machining program and a command position, which is an integral value of a speed corresponding to the output command; Calculating a required deceleration distance, which is a distance required to decelerate from the speed corresponding to the output command to a stop; 2. The numerical control device according to claim 1, wherein the acceleration / deceleration process is performed so that the command droop is greater than the required deceleration distance.

4. The second acceleration / deceleration processing unit is 4. The numerical control device according to claim 3, wherein when the motor load excess signal is output during acceleration, during deceleration, the control device decelerates at an acceleration obtained by multiplying a predetermined deceleration coefficient by a used acceleration, which is an acceleration used to calculate the output command in a control period during acceleration in which the same speed as the speed of a target control period is output.

5. The second acceleration / deceleration processing unit is When the motor load excess signal is output for the first time during acceleration, a distance required to decelerate from the speed corresponding to the output command to a stop at an acceleration obtained by multiplying the first acceleration by a predetermined deceleration coefficient is calculated as the required deceleration distance, and for each control period, the required deceleration distance is updated by adding to the required deceleration distance a distance required to decelerate the speed range from the speed corresponding to the output command in the control period immediately preceding the target control period to the speed corresponding to the output command in the target control period at an acceleration obtained by multiplying the second acceleration in the target control period by the deceleration coefficient, 5. The numerical control device according to claim 4, wherein deceleration is started at a timing when the command droop during deceleration becomes equal to the required deceleration distance.

6. The second acceleration / deceleration processing unit is recording, as boundary information, the deceleration required distance and the second acceleration in the control period in which the motor load excess signal is output during acceleration; 6. The numerical control device according to claim 5, wherein the second acceleration to be used is changed at a timing when the command droop in the target control cycle becomes equal to the required deceleration distance included in the boundary information.

7. 7. The numerical control device according to claim 4, wherein the deceleration coefficient is a value equal to or greater than -1 and less than 0.

8. The second acceleration / deceleration processing unit is 4. The numerical control device according to claim 3, wherein feedback information of the motor is acquired, and an acceleration / deceleration process is performed by using, as the second acceleration, an acceleration calculated based on the acquired feedback information or a command acceleration calculated based on the motor command, whichever has a smaller absolute value.