Numerical Control Device

The numerical control device addresses excessive acceleration by setting target speeds between movement blocks, reducing processing time and computational load while preventing vibration and overload, ensuring efficient machining.

JP7614348B2Active Publication Date: 2025-01-15FANUC LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2023526760
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-06-10
Publication Date
2025-01-15
Estimated Expiration
2041-06-10

AI Technical Summary

Technical Problem

Existing numerical control devices face issues with excessive acceleration leading to vibration and load, necessitating complex design and computational load to suppress acceleration/deceleration, requiring user expertise for parameter adjustments.

Method used

A numerical control device that sets a target speed equal to or greater than the smaller commanded speed and less than the larger speed in adjacent movement blocks, with a target speed setting unit to modify command speeds and generate speed commands within mechanical constraints, thereby suppressing acceleration/deceleration limits.

Benefits of technology

This approach reduces processing time and computational load while maintaining speed changes close to user expectations, preventing vibration and overload, and optimizing machining time without complex parameter adjustments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007614348000001
    Figure 0007614348000001
  • Figure 0007614348000002
    Figure 0007614348000002
  • Figure 0007614348000003
    Figure 0007614348000003
Patent Text Reader

Abstract

This numerical control device, capable of easily suppressing an increase in processing time, controls the drive shaft of a machine tool on the basis of a processing program including a plurality of movement blocks each specifying a command speed, and comprises a target speed setting unit that sets a target speed obtained by, with respect to two movement blocks to be executed continuously, modifying the command speed of the movement block with a lower command speed in a region adjacent to the other movement block to a value equal to or higher than the lower command speed but equal to or lower than the higher command speed.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a numerical control device. [Background technology]

[0002] In a numerical control device that controls the drive axis of a machine tool based on a machining program that specifies the speed for each block, if the drive axis is controlled according to the machining program, the machine tool will be driven with excessive acceleration, which may cause vibrations in the machine tool or place an excessive load on it. For this reason, numerical control devices that set limits on the acceleration and deceleration of the drive axis (rate of change of speed) and have a function to change the speed with reduced acceleration according to the machining program are widely used.

[0003] In a numerical control device, if the acceleration / deceleration is limited as described above, the machining time (cycle time) will increase. Therefore, a technology has been proposed to suppress the increase in machining time caused by the control that suppresses the acceleration / deceleration by analyzing the machining program and generating a parametric curve that defines the relationship between the moving distance and the command speed (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent No. 6795553 Summary of the Invention [Problem to be solved by the invention]

[0005] As described in Patent Document 1, in order to analyze the machining program and reconstruct the change in the command speed, special processing is required, which makes the design complicated and increases the calculation load. In addition, when the user adjusts parameters such as the degree to which the acceleration / deceleration is to be suppressed, new knowledge and experience are required. For this reason, a technology that can easily suppress the increase in machining time is desired. [Means for solving the problem]

[0006] A numerical control device according to one embodiment of the present disclosure is a numerical control device that controls the drive axis of a machine tool based on a machining program including a plurality of movement blocks each specifying a command speed, and includes a target speed setting unit that sets a target speed obtained by correcting the command speed in an adjacent area to the other of two movement blocks executed in succession, the other of which has a smaller command speed, to a value greater than or equal to the command speed and less than the larger command speed. Effect of the Invention

[0007] According to the numerical control device according to the present disclosure, an increase in processing time can be easily suppressed. [Brief description of the drawings]

[0008] [Figure 1] 1 is a block diagram showing a configuration of a numerical control device according to a first embodiment of the present disclosure. [Diagram 2] 2 is a flowchart showing a control procedure in the numerical control device of FIG. 1. [Diagram 3] 2 is a graph showing the relationship between a command speed, a target speed, and a speed command value in the numerical control device of FIG. 1. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. Fig. 1 is a block diagram showing a configuration of a numerical control device 1 according to a first embodiment of the present disclosure.

[0010] The numerical control device 1 controls the drive axes of the machine tool 2 based on a machining program. The machine tool 2 controlled by the numerical control device 1 has multiple drive axes for moving or rotating a tool or a workpiece. In this specification, the drive axes are not limited to drive axes for relatively moving the tool and the workpiece to determine the shape after machining, but may include a main spindle for rotating the tool or workpiece to perform cutting, and a drive axis for operating other auxiliary equipment.

[0011] The numerical control device 1 includes a program storage unit 11, a read control unit 12, a program analysis unit 13, a target speed setting unit 14, a speed command generation unit 15, and a command output unit 16. The numerical control device 1 can be realized by making a computer device having a memory, a processor (CPU), an input / output interface, etc. execute an appropriate control program. Specifically, the numerical control device 1 is realized by a numerical control program having a plurality of processing units that cause a processor to execute the respective functions of the program storage unit 11, the read control unit 12, the program analysis unit 13, the target speed setting unit 14, the speed command generation unit 15, and the command output unit 16. Such a numerical control program can be provided in a state stored in a non-transitory storage medium. Note that the above-mentioned components of the numerical control device 1 are classifications of the functions of the numerical control device 1, and do not necessarily have to be clearly distinguished in terms of physical configuration and program configuration.

[0012] The program storage unit 11 stores a machining program. The machining program is written in a predetermined language such as G-code, and may be composed of a plurality of command blocks each of which specifies a unit operation or process of the machine tool 2. The command block includes a movement block which specifies a command speed, which is the relative speed between the tool and the workpiece, and a target coordinate position.

[0013] The command speed specified in the machining program can be set without considering the mechanical constraints of the machine tool 2, so the command speed specified by two movement blocks executed successively in time can change discontinuously. For this reason, if the speed of the drive axis of the machine tool 2 is changed faithfully according to the machining program, there is a risk that vibrations will occur in the machine tool 2 or that it will become overloaded.

[0014] When controlling the machine tool 2 in accordance with the machining program, the read control unit 12 performs pre-reading to read command blocks of the machining program from the program storage unit 11 earlier than actually driving the drive axes.

[0015] The program analysis unit 13 analyzes the contents of the command block read ahead, and expresses the operation according to the movement block included in the machining program as a command speed for each time. Depending on the configuration of the speed command generation unit 15, the command speed may be a composite speed of multiple drive axes (for example, the absolute value of the relative speed between the tool and the workpiece) or the individual speed of each drive axis.

[0016] The target speed setting unit 14 sets a target speed obtained by partially correcting the command speed derived from the machining program by the program analysis unit 13. Specifically, the target speed setting unit 14 sets a target speed obtained by correcting the command speed in the adjacent region for the other of two movement blocks executed consecutively in time, the one with the smaller command speed, to a value equal to or higher than the command speed and equal to or lower than the larger command speed. In other words, the target speed set by the target speed setting unit 14 is equal to the command speed in regions other than the adjacent region, and is equal to the command speed in the adjacent region when the command speed of the movement block is lower than the command speed of the successive movement block, and is equal to the command speed of the movement block when the command speed of the movement block is lower than the command speed of the successive movement block.

[0017] By setting such a target speed, the actual drive axis operation can be made to be approximately the same as the target speed specified in the machining program, while suppressing an increase in machining time caused by the processing of limiting the acceleration / deceleration in the speed command generation unit 15.

[0018] The target speed setting unit 14 may set a distance width or time width of the adjacent region in which a target speed different from the command speed specified in the machining program is set to a preset width. In other words, the time width of the adjacent region may be a preset constant width, or may be a time during which the driving distance becomes a preset constant distance, that is, a time during which the integral value of the target speed becomes a constant value. This makes it possible to suppress an increase in machining time while relatively suppressing the calculation load.

[0019] Furthermore, the target speed setting unit 14 may change the distance width or time width of the adjacent region according to the difference in the command speeds of two movement blocks executed in succession. For example, the target speed setting unit 14 may determine the distance width or time width of the adjacent region according to the difference in the command speeds of two movement blocks executed in succession and a speed control constraint, described below, set in the speed command generating unit 15. This allows the width of the adjacent region to be optimized, thereby making it possible to further reduce the difference between the command speed and the speed command value while suppressing an increase in machining time. More specifically, the time width of the adjacent region may be set to {0.5 × (difference in command speeds of two movement blocks) / (Upper acceleration / deceleration limit value)}. As a result, the speed command value at the gap between the movement blocks becomes approximately the intermediate speed of the command speeds of the two movement blocks (a speed obtained by averaging the values ​​of the two command speeds without considering time), and the difference between the speed command value and the command speed can be minimized. In order to more accurately match the speed command value with the approximately intermediate speed of the command speeds of the two movement blocks at the gap between the movement blocks, the target speed setting unit 14 may determine the width of the adjacent region by further considering the limit on jerk (jerk) in the speed command generation unit 15, etc.

[0020] If the target speed setting unit 14 sets the target speed in the adjacent region with the smaller command speed to the intermediate speed between the command speeds of two consecutive moving blocks, then if the width of the adjacent region is sufficient, the integral value of the difference between the speed command value and the command speed caused by the acceleration upper limit value in the moving block with the larger command speed can be made approximately half of the integral value of the difference required overall, so that the difference due to the acceleration limit can be distributed approximately evenly to the two moving blocks.

[0021] The target speed setting unit 14 may set the target speed in the adjacent region with the smaller command speed to be equal to the larger command speed. This prevents the speed command value from hitting a plateau between the two command speeds, which would otherwise lengthen the machining time. In this case, however, it is important to appropriately set the width of the adjacent region in order to reduce the difference between the command speed and the speed command value.

[0022] The target speed setting unit 14 may be configured so that the function can be stopped at the user's discretion and the command speed derived by the program analysis unit 13 can be input directly to the speed command generation unit 15. By stopping the function of the target speed setting unit 14, the numerical control device 1 of this embodiment performs control similar to that of a conventional numerical control device.

[0023] Speed ​​command generating unit 15 generates a speed command value such that the speed (composite speed) of the drive axes of machine tool 2 does not exceed the target speed set by target speed setting unit 14, and satisfies a speed control constraint for at least one of the N-th order differential elements of the speed of each drive axis and the N-th order differential element of the composite speed of the multiple drive axes (N is any natural number, i.e., a non-negative integer). In other words, the "speed control constraint" means that an upper limit set for at least one of the speeds of each drive axis and the N-th order differential value of the composite speed when following the speed command value is not exceeded.

[0024] Specifically, the speed command generating unit 15 may be configured to generate a speed command value such that the individual acceleration / deceleration (first-order differential element of the speed) of each drive axis or the acceleration / deceleration of a composite operation realized by a plurality of drive axes does not exceed a preset upper limit of acceleration / deceleration. The speed command generating unit 15 may also generate a command value such that the jerk (second-order differential element of the speed) of the drive axis of the machine tool 2 does not exceed a preset upper limit of jerk. In other words, the target speed set by the target speed setting unit 14 is a target value when the speed command generating unit 15 sets a speed command value, and is also one of the constraint conditions that determine the upper limit of the speed depending on the intended machining. The speed control constraint is a constraint condition that is mainly determined based on the specifications of the machine tool. The process of generating a speed command value under such constraint conditions is the same as the process of generating a speed command value based on a command speed in a conventional numerical control device.

[0025] The command output unit 16 controls each of the speed command values ​​of the machine tool 2 according to the speed command value generated by the speed command generating unit 15. Drive The drive current of each drive axis is adjusted so as to operate the axis, that is, so that the speed of the drive axis at each time coincides with the speed command value.

[0026] The control procedure of the numerical control device 1 having the above configuration is shown in the flowchart of Fig. 2. The control by the numerical control device 1 includes a process of reading the first motion block to be processed (step S01), a process of comparing the command speed of the motion block to be processed with the command speed of the immediately preceding motion block (step S02), a process of adjusting the target speed of the preceding adjacent area (step S03), a process of reading ahead the machining program (step S04), a process of checking whether the next motion block exists (step S05), a process of comparing the command speed of the motion block to be processed with the command speed of the immediately succeeding motion block (step S06), a process of adjusting the target speed of the subsequent adjacent area (step S07), a process of performing speed control based on the target speed of the motion block to be processed (step S08), and a process of checking the end of the machining program (step S09).

[0027] The processing of this flowchart may be interpreted as sequential processing in real time from the processing by the read control unit 12 to the processing by the command output unit 16 in accordance with the operation of the machine tool 2, but the reading of the command blocks in steps S01 and S04 may also be interpreted as a process in which the target speed setting unit 14 acquires command speed data from the program analysis unit 13, and the speed control processing in step S08 as a process in which the target speed setting unit 14 passes the target speed data to the speed command generation unit 15. In other words, the operation of each component of the numerical control device 1 may be separated in time by providing each component with a data buffer as necessary.

[0028] 3 shows a graph of the command speed, the target speed, and the speed command value in the numerical control device 1. In this graph, the command speed according to the machining program is shown by a dashed line, the target speed set by the target speed setting unit 14 is shown by a broken line, the speed command value generated by the speed command generating unit 15 based on the target speed (the speed command value according to this embodiment) is shown by a solid line, and the speed command value generated by the speed command generating unit 15 based on the command speed (the conventional speed command value) is shown by a two-dot chain line. Note that the target speed in the adjacent area of ​​the moving block with a small command speed is set to a value equal to the larger command speed. Also, the graph in FIG. 3 emphasizes the difference in the waveforms of the speed changes, and does not accurately represent the actual speed command value.

[0029] As described above, the numerical control device 1 employs a numerical control method including a step of setting, by the target speed setting unit 14, a corrected target speed for the command speed in the adjacent area for the other of two moving blocks executed in succession with the smaller command speed, to a value equal to or greater than the command speed and equal to or less than the larger command speed. Therefore, even if the speed command generating unit 15 prevents the acceleration / deceleration from exceeding the upper limit value to suppress vibration and overload, the speed command value changes to be close to the command speed, so that an increase in machining time can be suppressed.

[0030] In conventional numerical control devices, the command speed is used as the target speed as is, so that the process of limiting the acceleration / deceleration speed causes the actual speed change to have a waveform different from the speed change expected by the user who created the machining program, resulting in a longer machining time than expected and a large deviation from the command speed. In contrast, the numerical control device 1 of this embodiment sets a target speed that corrects the command speed, so it is possible to achieve a speed change close to the speed change expected by the user and suppress an increase in machining time.

[0031] In addition, in conventional numerical control devices, by dividing a motion block into multiple parts and describing it, it is possible to realize speed changes that are approximately the same as those of the numerical control device 1, but it is difficult to accurately determine the division width, etc., and it is not easy to create an appropriate machining program. In contrast, in the numerical control device 1, the target speed setting unit 14 automatically sets an appropriate target speed, so that appropriate machining can be performed in a relatively short cycle time.

[0032] Furthermore, since the numerical control device 1 is configured by simply adding a target speed setting unit 14 that performs relatively simple calculations to a conventional numerical control device, it is possible to suppress an increase in the calculation load compared to conventional numerical control while suppressing an increase in processing time.

[0033] Furthermore, the numerical control device 1 performs the same processing as conventional numerical control, except that the target speed setting unit 14 sets a target speed that is a slight correction of the command speed. Therefore, a user familiar with conventional numerical control devices can relatively easily predict the change that parameter adjustment will bring about in the speed command value, and can easily optimize machining.

[0034] Although the embodiments of the present disclosure have been described above, the present invention is not limited to the above-described embodiments. Furthermore, the effects described in the above-described embodiments are merely a list of the most preferable effects resulting from the present invention, and the effects of the present invention are not limited to those described in the above-described embodiments. [Explanation of symbols]

[0035] 1 Numerical control device 11 Program storage section 12 Read control section 13 Program Analysis Section 14 Target speed setting section 15 Speed ​​command generation section 16 Command output section 2 Machine tools

Claims

1. A numerical control device that controls a drive axis of a machine tool based on a machining program including a plurality of movement blocks each of which specifies a command speed, a target speed setting unit that sets a target speed obtained by correcting the command speed in an adjacent region of the other of the two movement blocks that are executed successively with respect to the other of the two movement blocks that has the smaller command speed, to a value that is equal to or greater than the command speed and equal to or less than the larger command speed; a speed command generating unit that generates a command value such that the speed of the drive shaft does not exceed the target speed and satisfies a speed control constraint for at least one of an N-th order differential element of the speed of each of the drive shafts and an N-th order differential element of a composite speed of the plurality of drive shafts (N is an arbitrary natural number); A numerical control device comprising:

2. The numerical control device according to claim 1 , wherein the target speed setting unit changes a distance width or a time width of the adjacent region according to a difference in the command speeds of the two movement blocks executed successively.

3. The numerical control device according to claim 2 , wherein the target speed setting unit determines a distance width or a time width of the adjacent region in accordance with a difference between the command speeds of the two movement blocks executed successively and the speed control constraint.

4. The numerical control device according to claim 1 , wherein the target speed setting unit sets the distance width or time width of the adjacent region to a preset width.

Citation Information

Patent Citations

  • Method and device for feed speed control by numerical control

    JP1993127731A

  • Numerical controller and its command position calculating method

    JP2000020118A

  • Speed control method for numerical controller

    JP2004030540A

  • Numerical control device

    JP2008225825A

  • Numerical controller

    JP2021002092A