Numerical Control Device

The numerical control device addresses the issue of vibrations and deviations during deceleration by calculating and adjusting accelerations to ensure constant behavior and accurate corner speed adherence, enhancing the precision and stability of machine tool operations.

JP7667295B2Active Publication Date: 2025-04-22FANUC LTD
View PDF 7 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing numerical control devices for machine tools experience vibrations and deviations during deceleration due to temporary suspension of deceleration and varying adjustments, making it difficult to maintain constant behavior and adjust the machine tool accurately.

Method used

A numerical control device that includes a remaining movement amount calculator, an adjustment amount calculation unit, and acceleration calculation units to calculate and adjust accelerations during deceleration, ensuring that all remaining movement amounts are utilized within the deceleration period without deviation from the corner speed.

Benefits of technology

The solution allows for constant behavior during deceleration without deviation from the corner speed, reducing vibrations in the drive system and facilitating adjustments of the machine tool, thereby improving the precision and stability of the machine tool operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007667295000001
    Figure 0007667295000001
  • Figure 0007667295000002
    Figure 0007667295000002
  • Figure 0007667295000003
    Figure 0007667295000003
Patent Text Reader

Abstract

The present invention realizes deceleration without deviation with respect to a corner speed while maintaining behavior during deceleration at a constant level. This numerical control device comprises: a remaining movement amount calculation unit for calculating a remaining movement amount of a block in a machining program; an excess movement amount calculation unit for calculating, as an excess movement amount, a difference between the remaining movement amount of the block and a movement amount required for deceleration from a present command speed to a corner speed at a designated acceleration; an adjustment amount calculation unit for calculating an acceleration adjustment amount, at the start of the deceleration, for using the entirety of the excess movement amount at interpolation times, on the basis of the excess movement amount, the present command speed, the corner speed, and the designated acceleration; an acceleration calculation unit for calculating a first acceleration obtained by adjusting the acceleration designated at the start of the deceleration using the acceleration adjustment amount and a second acceleration for deceleration to the corner speed at the remaining interpolation times; and a pre-interpolation acceleration / deceleration processing unit for designating the first acceleration at the start of the deceleration and designating the second acceleration at the remaining interpolation times.
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] A numerical control device controls the operation of a machine tool by dividing the movement amount for each block of a machining program by the movement amount for each interpolation cycle and performing interpolation. In this case, when dividing the movement amount for one block by the movement amount for each interpolation cycle, there may be cases where a remainder movement amount is generated. In this regard, a technique is known in which the deceleration at a set constant acceleration is temporarily stopped during the deceleration so that no excess movement occurs (see, for example, Patent Document 1). Also, a technique is known in which a preset constant acceleration is decelerated with an adjusted acceleration in the first interpolation period at the start of deceleration, and then the constant acceleration is decelerated in the remaining interpolation periods to avoid excess movement. For example, see Patent Document 2. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 6-289922 [Patent Document 2] JP 2001-92518 A Summary of the Invention [Problem to be solved by the invention]

[0004] Fig. 5 is a diagram showing an example of the deceleration process in Patent Document 1. Fig. 6 is a diagram showing an example of the deceleration process in Patent Document 2. As shown in Fig. 5, even if the ideal timing (shown by the dashed line) for decelerating from the command speed V to the corner speed Vc is between time ta and time tb, the actual deceleration (shown by the dashed line) starts at time ta, which is the timing of the interpolation cycle. Therefore, in Patent Document 1, in order to prevent a difference between the actual deceleration and the ideal deceleration, i.e., to prevent an excess movement amount, the deceleration is temporarily suspended at time td, for example. However, the temporary suspension of deceleration causes the deceleration torque to fluctuate during the deceleration, which causes a problem of vibration in the drive system of the machine tool. On the other hand, in Patent Document 2, as shown in FIG. 6, in the first interpolation cycle at the start of deceleration, a preset constant acceleration is decelerated with an adjusted acceleration, and in the subsequent interpolation cycles, the speed of all the interpolations during deceleration is increased compared to the case of FIG. 5 to use the remaining movement amount. This prevents a temporary interruption of deceleration, so vibrations in the machine drive system are suppressed. However, there is a problem that at time tf of the final interpolation cycle, a deviation from the corner speed Vc occurs by the amount of adjustment. And since the deviation varies, it is difficult to adjust the machine tool. The dashed line in FIG. 6 indicates the deceleration profile of Patent Document 1 in FIG. 5.

[0005] Therefore, it is desirable to maintain constant behavior during deceleration and to decelerate without deviation from the corner speed. [Means for solving the problem]

[0006] One aspect of the numerical control device disclosed herein includes a remaining movement amount calculation unit that calculates a remaining movement amount of a block included in a machining program; a remaining movement amount calculation unit that calculates a difference between the remaining movement amount of the block and a movement amount required to decelerate from a current command speed to a corner speed at a specified acceleration as a remaining movement amount; an adjustment amount calculation unit that calculates an acceleration adjustment amount at the start of deceleration to use all of the remaining movement amount in an interpolation count in a deceleration section where deceleration is performed from the current command speed to the corner speed based on the remaining movement amount, the current command speed, the corner speed, and the specified acceleration; an acceleration calculation unit that calculates a first acceleration by adjusting the specified acceleration for decelerating the current command speed at the start of deceleration by the acceleration adjustment amount, and calculates a second acceleration for decelerating from the command speed after deceleration at the first acceleration to the corner speed in the remaining interpolation count; and a pre-interpolation acceleration / deceleration processing unit that specifies the first acceleration at the start of deceleration and specifies the second acceleration in the remaining interpolation count. Effect of the Invention

[0007] According to one aspect, deceleration can be achieved without deviation from corner speed while maintaining constant behavior during deceleration. [Brief description of the drawings]

[0008] [Figure 1] FIG. 2 is a functional block diagram illustrating an example of a functional configuration of a numerical control device according to an embodiment. [Diagram 2] FIG. 11 is a diagram illustrating an example of a relationship between an interpolation period and a command speed. [Diagram 3] 11A and 11B are diagrams illustrating an example of an operation of an adjustment amount calculation unit. [Figure 4] 4 is a flowchart illustrating an acceleration correction process of the numerical control device. [Diagram 5] FIG. 1 is a diagram illustrating an example of deceleration processing in Patent Document 1. [Figure 6] FIG. 13 is a diagram showing an example of deceleration processing in Patent Document 2. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] A specific embodiment of the numerical control device will be described by taking as an example a case where a drive unit such as a servo axis of a machine tool is decelerated. Note that the present invention is not limited to the case where a drive unit is decelerated, and can also be applied to, for example, a case where a drive unit is accelerated.

[0010] <One embodiment> FIG. 1 is a functional block diagram showing an example of a functional configuration of a numerical control device according to an embodiment. The numerical control device 1 is a numerical control device known to those skilled in the art, and may be directly connected to a machine tool (not shown) via a connection interface (not shown). The numerical control device 1 may also be connected to a machine tool (not shown) via a network (not shown) such as a LAN (Local Area Network) or the Internet. In this case, the numerical control device 1 may include a communication unit (not shown) for communicating with the machine tool (not shown) via such a connection. The numerical control device 1 generates operation commands based on a machining program acquired from, for example, a CAD / CAM device (not shown) and transmits the generated operation commands to a machine tool (not shown). In this way, the numerical control device 1 controls the operation of the machine tool (not shown). Note that if the machine tool (not shown) is a robot or the like, the numerical control device 1 may be a robot control device or the like.

[0011] 1, the numerical control device 1 has a control unit 10. The control unit 10 also has a pre-interpolation acceleration / deceleration processing unit 110, an interpolation processing unit 120, and a drive axis control unit 130. The pre-interpolation acceleration / deceleration processing unit 110 also has a remaining movement amount calculation unit 111, a surplus movement amount calculation unit 112, a deceleration processing execution unit 113, a deceleration processing unit 114, an adjustment amount calculation unit 115, and an acceleration calculation unit 116.

[0012] The control unit 10 has a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), a CMOS (Complementary Metal-Oxide-Semiconductor) memory, etc., which are configured to be able to communicate with each other via a bus, and are well known to those skilled in the art. The CPU is a processor that controls the entire numerical control device 1. The CPU reads out the system program and application program stored in the ROM via the bus, and controls the entire numerical control device 1 according to the system program and application program. As a result, as shown in FIG. 1, the control unit 10 is configured to realize the functions of a pre-interpolation acceleration / deceleration processing unit 110, an interpolation processing unit 120, and a drive axis control unit 130. The pre-interpolation acceleration / deceleration processing unit 110 is also configured to realize the functions of a remaining movement amount calculation unit 111, a remaining movement amount calculation unit 112, a deceleration processing execution unit 113, a deceleration processing unit 114, an adjustment amount calculation unit 115, and an acceleration calculation unit 116. The RAM stores various data such as temporary calculation data and display data. The CMOS memory is backed up by a battery (not shown), and is configured as a non-volatile memory that retains its memory state even when the power supply of the numerical control device 1 is turned off.

[0013] The remaining movement amount calculation unit 111 calculates the remaining movement amount of a block included in a machining program. Specifically, for example, when the interpolation period T is 1 ms / 1 interpolation and the block is "G01 X100. F6000", it moves 100 mm in the X-axis direction at a speed of 0.1 mm / ms (=6000 mm / min) during 1000 interpolation periods (1000T). FIG. 2 is a diagram showing an example of the relationship between the interpolation period T and the command speed V. In FIG. In this case, the movement amount of one block (100 mm) can be expressed as formula (1). Movement of 1 block = d_1 + d_2 + d_3 + ··· + d_N (1) Each of d_1 to d_N indicates the amount of movement for each interpolation period T, which is 0.1 mm in the above example. Furthermore, N indicates the last interpolation period T, which is N=1000 in the above example. Therefore, the remaining movement amount calculation unit 111 calculates the remaining movement amount Dr (where i is an integer equal to or greater than 1) by adding up the buffered movement amounts for each interpolation period T using equation (2). Dr=d_i+d_(i+1)+d_(i+2)+···+d_N (2) Here, d_i indicates the amount of movement in the interpolation cycle T of the current block, d_N indicates the amount of movement in the last interpolation cycle of the block, and t0 to tN indicate the interpolation times. In the following explanation, as shown in FIG. 2, taking into consideration shocks to the machine tool (not shown), etc., after the Nth interpolation, a case will be exemplified in which deceleration is performed to a corner speed Vc in a deceleration section of n (e.g., 5) interpolation periods T at a specified acceleration A [mm / ms / ms] shown by a dashed dotted line in FIG. 5 from time tN.

[0014] The remaining movement amount calculation unit 112 calculates the difference between the remaining movement amount Dr of the block calculated by the remaining movement amount calculation unit 111 and the movement amount required to decelerate from the current command speed to the corner speed at the specified acceleration as the remaining movement amount. Specifically, the remaining movement distance calculation unit 112 uses equation (3) to calculate the movement distance Dc [mm] required to decelerate from the current command speed V [mm / ms] to the corner speed Vc [mm / ms] at the specified acceleration A [mm / ms / ms]. Dc = (V + Vc) × (n + 1) / 2 (3) Here, the number of interpolations in the deceleration section is n=(V-Vc) / (AxT). The remaining movement amount calculation unit 112 calculates the remaining movement amount Ds [mm] using the remaining movement amount Dr calculated by the remaining movement amount calculation unit 111, the calculated movement amount Dc, and equation (4). Ds=Dr-Dc (4)

[0015] For example, the deceleration process execution unit 113 monitors the movement amount d for each interpolation period T, and determines whether the remaining movement amount Ds calculated by the remaining movement amount calculation unit 112 is smaller than the movement amount d for each interpolation period. If the remaining movement amount Ds is smaller than the movement amount d for the interpolation period T, the deceleration process unit 114 described below executes deceleration process. On the other hand, if the remaining movement amount Ds is equal to or larger than the movement amount d for the interpolation period, the deceleration process execution unit 113 maintains the current command speed V.

[0016] The deceleration processing unit 114 subtracts the acceleration calculated by an acceleration calculation unit 116 (described later) from the current command speed V to calculate a speed V' in the next interpolation period.

[0017] The adjustment amount calculation unit 115 calculates an acceleration adjustment amount adj at the start of deceleration based on the remaining movement amount Ds, the current command speed V, the corner speed Vc, and the specified acceleration A, in order to use all of the remaining movement amount Ds in the deceleration section where deceleration is performed from the current command speed V to the corner speed Vc for the number of interpolations n. Fig. 3 is a diagram illustrating an example of the operation of the adjustment amount calculation unit 115. In Fig. 3, the deceleration of the command speed V according to this embodiment is indicated by a solid line, and the deceleration of the command speed V in Fig. 5 is indicated by a dashed line. In addition, the acceleration (slope) of the command speed V according to this embodiment is indicated by a dashed line, and the acceleration (slope) of the command speed V in Fig. 5 is indicated by a dashed line. In the case of FIG. 3, the deceleration section from the current command speed V to the corner speed Vc is the period from time tN to time tN+n×T with the number of interpolations being n. In this case, the acceleration adjustment amount adj in the first interpolation period T (from time tN to time tN+T) at the start of deceleration is equal to the area of ​​a triangle whose base is the acceleration adjustment amount adj at time tN+T and whose height is the number of interpolations (n-1) between time tN+T and time tN+n×T, and the relationship Ds=adj×(n-1) / 2 is derived as shown in Equation (5). adj=2×Ds / (n-1) (5) The adjustment amount calculation unit 115 calculates the acceleration adjustment amount adj using equation (5).

[0018] The acceleration calculation unit 116 calculates an acceleration A-adj (first acceleration) obtained by adjusting the acceleration A designated for decelerating the current command speed V by the acceleration adjustment amount adj in the first interpolation period (from time tN to time tN+T) at the start of deceleration. The acceleration calculation unit 116 also calculates an acceleration A' (second acceleration) for decelerating the command speed V-(A-adj) after deceleration by the acceleration A-adj to the corner speed Vc in the remaining number of interpolations (n-1) using equation (6). A'=(V-(A-adj)-Vc) / (n-1) (6)

[0019] Pre-interpolation acceleration / deceleration processing unit 110 designates the acceleration in the first interpolation period T at the start of deceleration calculated by acceleration calculation unit 116 as A-adj, so that deceleration processing unit 114 decelerates from the current command speed V to a command speed V' (=V-(A-adj)) in the first interpolation period T. Pre-interpolation acceleration / deceleration processing unit 110 designates the acceleration A' in equation (6) in the remaining number of interpolations (n-1), so that deceleration processing unit 114 decelerates from the command speed V-(A-adj) to the corner speed Vc in the remaining number of interpolations (n-1). By doing so, the numerical control device 1 can suppress the occurrence of the deviation in FIG. 6 without temporarily interrupting the deceleration in FIG.

[0020] The interpolation processing unit 120 performs interpolation processing on paths of a spindle, a tool, etc. of a machine tool (not shown) for each interpolation period T based on, for example, a machining program and a command speed from the pre-interpolation acceleration / deceleration processing unit 110 .

[0021] The drive axis control unit 130 controls a drive axis included in a machine tool (not shown) based on the result of the interpolation processing by the interpolation processing unit 120, for example.

[0022] <Acceleration correction process of the numerical control device 1> Next, the flow of the acceleration correction process of the numerical control device 1 will be described with reference to FIG. 4 is a flowchart illustrating the acceleration interpolation process of the numerical control device 1. The flow shown here is repeatedly executed every time a machining program is executed.

[0023] In step S1, the remaining movement amount calculation unit 111 calculates the remaining movement amount Dr by adding up the buffered movement amounts for each interpolation period T using equation (2).

[0024] In step S2, the remaining movement amount calculation unit 112 calculates the remaining movement amount Ds by using the remaining movement amount Dr of the block calculated in step S1, and equations (3) and (4).

[0025] In step S3, the deceleration process execution unit 113 determines whether the remaining movement amount Ds calculated in step S2 is smaller than the movement amount d for each interpolation cycle T. If the remaining movement amount Ds is smaller than the movement amount d for the interpolation cycle, the process proceeds to step S4. On the other hand, if the remaining movement amount Ds is equal to or larger than the movement amount d for the interpolation cycle, the deceleration process execution unit 113 maintains the current command speed V, and the process proceeds to step S1.

[0026] In step S4, the adjustment amount calculation unit 115 calculates the acceleration adjustment amount adj using equation (5).

[0027] In step S5, the acceleration calculation unit 116 calculates an acceleration A-adj obtained by adjusting the acceleration A designated for decelerating the current command speed V in the first interpolation period T at the start of deceleration by the acceleration adjustment amount adj.

[0028] In step S6, the acceleration calculation unit 116 calculates the acceleration A' for decelerating the command speed V-(A-adj) after deceleration at the acceleration A-adj to the corner speed Vc in the remaining number of interpolations (n-1) using equation (6).

[0029] In step S7, the pre-interpolation acceleration / deceleration processor 110 specifies an acceleration in accordance with the interpolation period of the deceleration section.

[0030] In step S8, the deceleration processing unit 114 calculates a command speed for each interpolation period in the deceleration section at the acceleration designated in step S7.

[0031] In step S9, the pre-interpolation acceleration / deceleration processing unit 110 judges whether or not there is a next block of the machining program. If there is a next block, the process returns to step S1. On the other hand, if there is no next block, the control process of the numerical control device 1 ends.

[0032] As described above, the numerical control device 1 according to one embodiment calculates an acceleration adjustment amount adj at the start of deceleration based on the remaining movement amount Ds, the current command speed V, the corner speed Vc, and the specified acceleration A, in order to use the entire remaining movement amount Ds in the number of interpolations n in the deceleration section in which the current command speed V is decelerated to the corner speed Vc, and calculates an acceleration A-adj obtained by adjusting the specified acceleration A for decelerating the current command speed V in the first interpolation period at the start of deceleration by the acceleration adjustment amount adj. In addition, the numerical control device 1 calculates an acceleration A' for decelerating from the command speed V-(A-adj) after deceleration by the acceleration A-adj to the corner speed Vc in the remaining number of interpolations (n-1). This allows the numerical control device 1 to decelerate without deviation from the corner speed while keeping the behavior during deceleration constant. The numerical control device 1 can reduce shocks in the drive system of a machine tool (not shown) by making the behavior constant, and can easily adjust the drive system by eliminating deviations. The numerical control device 1 can also keep the corner shape constant.

[0033] Although one embodiment has been described above, the numerical control device 1 is not limited to the above-described embodiment, and includes modifications and improvements within the scope of achieving the object.

[0034] <Modification> In the above embodiment, the numerical control device 1 decelerates from the current command speed V to the corner speed Vc, but is not limited to this. For example, the numerical control device 1 may also be applied to a case where the numerical control device 1 accelerates from the current command speed V to a predetermined speed Va (Va>V).

[0035] Each function included in the numerical control device 1 according to an embodiment can be realized by hardware, software, or a combination of these. Here, being realized by software means being realized by a computer reading and executing a program.

[0036] The program can be stored and provided to the computer using various types of non-transitory computer readable media. The non-transitory computer readable media includes various types of tangible storage media. Examples of the non-transitory computer readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs). The program may also be provided to the computer by various types of transitory computer readable media. Examples of the transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The transitory computer readable media can provide the program to the computer via wired communication paths such as electric wires and optical fibers, or wireless communication paths.

[0037] In addition, the steps of writing a program to be recorded on a recording medium include not only processes that are performed chronologically according to the order, but also processes that are not necessarily performed chronologically but are executed in parallel or individually.

[0038] In other words, the numerical control device of the present disclosure can take various forms having the following configurations.

[0039] (1) The numerical control device 1 of the present disclosure includes a remaining movement amount calculation unit 111 that calculates a remaining movement amount of a block included in a machining program; a remaining movement amount calculation unit 112 that calculates a difference between the remaining movement amount of the block and the movement amount required to decelerate from the current command speed to the corner speed at a specified acceleration as a remaining movement amount; an adjustment amount calculation unit 115 that calculates an acceleration adjustment amount at the start of deceleration to use all of the remaining movement amount in the number of interpolations in the deceleration section where deceleration is performed from the current command speed to the corner speed based on the remaining movement amount, the current command speed, the corner speed, and the specified acceleration; an acceleration calculation unit 116 that calculates a first acceleration by adjusting the specified acceleration for decelerating the current command speed at the start of deceleration by the acceleration adjustment amount, and calculates a second acceleration for decelerating from the command speed after deceleration at the first acceleration to the corner speed in the remaining number of interpolations; and a pre-interpolation acceleration / deceleration processing unit 110 that specifies the first acceleration at the start of deceleration and specifies the second acceleration in the remaining number of interpolations. According to this numerical control device 1, it is possible to decelerate without deviation from the corner speed while keeping the behavior during deceleration constant.

[0040] (2) The numerical control device 1 described in (1) may be provided with a deceleration processing execution unit 113 that executes deceleration processing when the remaining movement amount is smaller than the movement amount for each interpolation period, and a deceleration processing unit that is executed by the deceleration processing execution unit 113 and subtracts the first acceleration or the second acceleration from the current command speed for each interpolation period to obtain the command speed for the next interpolation period. By doing so, the numerical control device 1 can optimize the timing of the deceleration process and the amount of deceleration for each interpolation period. [Explanation of symbols]

[0041] 1 Numerical control device 10 Control section 110 Pre-interpolation acceleration / deceleration processing unit 111 Remaining movement amount calculation unit 112 Remainder movement amount calculation unit 113 Deceleration processing execution unit 114 Deceleration processing unit 115 Adjustment amount calculation section 116 Acceleration calculation unit 120 Interpolation processing unit 130 Drive shaft control section

Claims

1. a remaining movement amount calculation unit that calculates a remaining movement amount of a block included in a machining program; a remaining movement amount calculation unit that calculates a difference between the remaining movement amount of the block and a movement amount required for decelerating from a current command speed to a corner speed at a specified acceleration as a remaining movement amount; an adjustment amount calculation unit that calculates an acceleration adjustment amount at the start of deceleration for using all of the remaining movement amount in an interpolation count in a deceleration section in which the speed is decelerated from the current command speed to the corner speed, based on the remaining movement amount, the current command speed, the corner speed, and the specified acceleration, from a relationship in which the remaining movement amount is equal to an area of ​​a triangle whose base is the acceleration adjustment amount in a first interpolation period of the deceleration section and whose height is the remaining number of interpolations; an acceleration calculation unit that calculates a first acceleration by adjusting the acceleration designated for decelerating the current command speed by the acceleration adjustment amount at the start of the deceleration, and calculates a second acceleration for decelerating the command speed after deceleration at the first acceleration to the corner speed with the remaining number of interpolation times; a pre-interpolation acceleration / deceleration processing unit that specifies the first acceleration at the start of the deceleration and specifies the second acceleration for the remaining number of interpolation times; A numerical control device comprising:

2. a deceleration processing execution unit that executes a deceleration processing when the remaining movement amount is smaller than the movement amount for each interpolation period; 2. The numerical control device according to claim 1, further comprising: a deceleration processing unit that is executed by the deceleration processing execution unit and that subtracts the first acceleration or the second acceleration from the current command speed for each interpolation period to obtain a command speed for a next interpolation period.

Citation Information

Patent Citations

  • Positioning control system

    JP1979130775A

  • Positioning control method for servo-system of numerical controller

    JP1987032508A

  • Numerical controller and acceleration / deceleration control method

    JP1992245307A

  • Position commanding method and device therefor

    JP1994289922A

  • Method of controlling acceleration / deceleration of fast forwarding speed

    JP2001092518A