Numerical control device and computer-readable storage medium

The numerical control device addresses the inefficiency of discontinuous acceleration changes by calculating continuous acceleration based on spindle speed, improving responsiveness and reducing time to reach commanded speeds.

JP7741328B2Active Publication Date: 2025-09-17FANUC LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024535559
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-09-26
Publication Date
2025-09-17
Estimated Expiration
2043-09-26

AI Technical Summary

Technical Problem

Conventional numerical control devices take a long time to reach commanded rotation speeds due to discontinuous acceleration changes based on spindle speed, which limits responsiveness.

Method used

A numerical control device that calculates acceleration continuously with respect to spindle speed using a relational expression, allowing efficient utilization of motor capabilities and reducing time to reach commanded speeds.

Benefits of technology

The device enhances spindle speed responsiveness by efficiently utilizing motor capacity and shortening the time required to achieve commanded rotation speeds.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007741328000001
    Figure 0007741328000001
  • Figure 0007741328000002
    Figure 0007741328000002
  • Figure 0007741328000003
    Figure 0007741328000003
Patent Text Reader

Abstract

Provided is a numerical control device that generates a speed command for a main shaft, obtains acceleration corresponding to the current or most recent main shaft speed by using a relational expression in which the acceleration continuously changes with respect to the main shaft speed, and calculates the speed command using the acceleration.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a numerical control device and a computer-readable storage medium. [Background technology]

[0002] Some conventional numerical control devices improve rotational speed responsiveness by switching the spindle acceleration in multiple stages. When switching the spindle acceleration in multiple stages, if the spindle rotational speed is low, the torque is large and acceleration is relatively rapid, and if the spindle rotational speed is high, the torque is small and acceleration is relatively gradual. Switching the acceleration in multiple stages enables acceleration appropriate to the speed range, thereby improving spindle speed responsiveness. For example, see Patent Document 1. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2012-56066 Summary of the Invention [Problem to be solved by the invention]

[0004] In Patent Document 1, the acceleration is switched in multiple stages according to the spindle speed. Switching the acceleration improves responsiveness and shortens the time it takes to reach the commanded rotation speed.

[0005] In the field of numerical control devices, it is desirable to reduce the time required to reach a commanded rotation speed. [Means for solving the problem]

[0006] The numerical control device according to one aspect of the present disclosure includes a command unit that generates a speed command for a spindle, and a command unit that generates a speed command for a spindle based on the spindle speed and torque characteristics of a motor. Requestand an acceleration unit that calculates an acceleration corresponding to the current or most recent spindle speed using a relational expression in which the acceleration changes continuously with respect to the spindle speed, and that calculates a speed command for each control cycle by changing the speed command for the previous control cycle by the amount of the acceleration. [Brief explanation of the drawings]

[0007] [Figure 1] FIG. 2 is a block diagram of a numerical control device. [Figure 2] 10 is a graph showing a relational expression between torque and spindle speed. [Figure 3] 10 is a graph showing a relational expression between acceleration and spindle speed. [Figure 4] 10 is a flowchart illustrating a procedure for calculating a speed command. [Figure 5] 1 is a motor characteristics table. [Figure 6] This is a table of accelerations. [Figure 7] 10 is a graph showing changes in spindle speed. [Figure 8] 10 is a graph showing a relational expression between acceleration and spindle speed in a modified example. [Figure 9] 10 is a graph showing a relational expression between acceleration and spindle speed in a modified example. [Figure 10] 10 is a graph showing the relationship between acceleration and spindle speed that changes in multiple stages. [Figure 11] 10 is a graph showing the relationship between acceleration and spindle speed that changes in multiple stages. [Figure 12] FIG. 2 is a hardware configuration diagram of a numerical control device. DETAILED DESCRIPTION OF THE INVENTION

[0008] The numerical control device 100 will be described below. 1 is a block diagram of a numerical control device 100. The numerical control device 100 includes a command unit 1, an acceleration unit 2, and a motor control unit 3.

[0009] The command unit 1 receives a speed command S, which is the product of the spindle speed commanded by the machining program and the spindle override. cmd Calculate.

[0010] The acceleration unit 2 accelerates and decelerates the spindle. The acceleration unit 2 determines whether the speed command s for the current control cycle is equal to or greater than the speed command S cmd The speed command S of the previous control cycle is last The process of adding acceleration a to is repeated. The acceleration a changes according to the spindle speed. The acceleration unit 2 stores the relational expression between the acceleration and the spindle speed. The relational expression changes continuously.

[0011] (Relationship between acceleration and spindle speed) The relationship between acceleration and spindle speed can be calculated from the characteristics of torque and spindle speed. The graph in Figure 2 shows the relationship between torque and spindle speed. This graph also shows the limit of torque that the motor can generate. Generating high torque within the motor's allowable range increases acceleration efficiency.

[0012] The graph in Figure 2 is divided into three regions according to the spindle speed: a constant torque region, a constant power region, and a power reduction region. The relationship between torque and spindle speed in each region is expressed by the following approximate formula. In the following formula, S base is the base rotation speed. S2 is the spindle speed when switching from the constant power region to the power reduction region. [Constant torque region (0≦S base )] Torque T = T1 (constant) ... (Equation 1) [Constant output region (S base ≦S <S2)] Torque T=Coefficient 1 / Spindle speed S…(Formula 2) [Power reduction area (S2≦S)] Torque T=Coefficient 2 / (Spindle speed S)^2 …(Formula 3)

[0013] The relationship between acceleration and spindle speed can be determined based on the relationship between torque and spindle speed. [Acceleration A in the constant torque region] ​Torque is the product of the moment of inertia J and acceleration a, so acceleration is constant in the constant torque region. If the acceleration in the constant torque region is A, the following relationship holds from (Equation 1). A=T1 / J ...(Equation 4) [Coefficient 1 in the constant power region] Base rotation speed S base By substituting torque T1 into equation 2, coefficient 1 is obtained. Coefficient 1 = T1 × S base …(Formula 5) [Factor 2 in the power reduction range] Substituting the torque T at the spindle speed S2 into (Equation 2) and (Equation 3), the following equation is established: Coefficient 2 / (S2)^2 = Coefficient 1 / S2...(Equation 6) Solving (Equation 6) for coefficient 2 gives (Equation 7). Coefficient 2 = Coefficient 1 × S2 = T1 × S base ×S2…(Formula 7)

[0014] From the above, the acceleration a in each region is expressed by the following equation. [Constant torque region (0≦S base )] a=A (constant)…(Formula 8) [Constant output region (S base ≦S <S2)] a=A×S base / S…(Formula 9) [Power reduction area (S2≦S)] a=A×S base ×S2 / (S^2) …(Equation 10)

[0015] The graph in Figure 3 shows the relationship between acceleration and spindle speed. Like Figure 2, the graph in Figure 3 is divided into a constant torque region, a constant power region, and a power reduction region. ​The constant torque region is the region from torque "0" to the base rotation speed (base rotation number). In the constant torque region, the upper limit of acceleration relative to the spindle speed is constant (see equation 8). From the base rotation speed onwards, the region is divided into a constant power region and a reduced power region. In the constant power region, acceleration is inversely proportional to the spindle speed (see equation 9). In the reduced power region, acceleration is inversely proportional to the square of the spindle speed (see equation 10).

[0016] The acceleration changes continuously with respect to the spindle speed. Note that "continuous" here means mathematical continuity, meaning that the graph is connected without interruption.

[0017] (Acceleration / deceleration processing) The acceleration unit 2 calculates the acceleration corresponding to the current or most recent spindle speed, and calculates the speed command for the current control cycle.

[0018] Specifically, the acceleration unit 2 accelerates the spindle speed S last As mentioned above, the method of calculating the acceleration differs depending on the region: constant torque, constant power, or reduced power. The acceleration section 2 calculates the acceleration based on the spindle speed S last If is in the constant torque region, the rated acceleration is read. last If is in the constant power region, calculate the acceleration a of the current control cycle according to (Equation 9). last If the output is reduced, the acceleration a of the current control cycle is calculated according to (Equation 10). last can be either a speed command or the actual speed of the motor.

[0019] The acceleration section 2 is the spindle speed S in the previous control cycle. last And this time speed command S cmd Compare the speed command S cmd is the spindle speed S in the previous control cycle last If it is larger than the speed command S last The acceleration a is added to calculate the speed command s for the current control cycle. cmd is the spindle speed S in the previous control cycle lastIf it is smaller, the speed command S last The acceleration a is subtracted from the speed command s to calculate the speed command s for this control cycle. cmd If it exceeds S cmd Clamp (fix) it with. Speed ​​command S cmd and the speed command S of the previous control cycle last If they are equal, the speed command s is set to a constant speed.

[0020] The equation for calculating the speed command s is expressed as follows: S cmd >S last In the case of (acceleration) s=S last +a…(Formula 11) (S cmd If it exceeds S cmd Clamped in S cmd last In the case of (deceleration) s=S last -a...(Formula 12) (S cmd If it exceeds S cmd Clamped in S cmd =S last In the case of (constant speed) s=S cmd …(Formula 13)

[0021] The speed command s is added or subtracted every control cycle, and finally the command speed S cmd The motor control unit 3 controls the motor based on the speed command s calculated by the acceleration unit 2. Speed ​​control may be performed to make the motor speed follow the speed command, or position control may be performed to make the motor position follow a position command obtained by integrating the speed command.

[0022] The calculation of the speed command in the acceleration section 2 will be described with reference to the flowchart of FIG. Command unit 1 is the speed command S cmd is created (step S1).

[0023] ​ The acceleration section 2 is the spindle speed S in the previous control cycle. last and speed command S cmd (Step S2) The spindle speed S may be a speed command or the actual speed of the motor.

[0024] Spindle speed S last and speed command S cmd If the values ​​are equal (step S3; No), the acceleration unit 2 neither accelerates nor decelerates.

[0025] Spindle speed S last and speed command S cmd If the value is different (step S3; Yes), the acceleration unit 2 uses the previous spindle speed S last (Step S4) The relational expression between the spindle speed and acceleration is stored in advance.

[0026] The acceleration unit 2 receives a speed command S cmd and the spindle speed S of the previous control cycle last and the speed command S cmd is the spindle speed S last If it is smaller than (step S5; deceleration), the speed command S last The acceleration a is subtracted from the speed command S to calculate the speed command S (step S6). cmd is the spindle speed S last If it is greater than (step S5; acceleration), the speed command S last The acceleration a is added to calculate the speed command s (step S7).

[0027] The acceleration unit 2 uses the speed command P generated in step S1 cmd and the speed command s. cmd If it exceeds (Step S8; Yes), S cmd (Step S9). cmd In the case of acceleration, the speed command s added with the acceleration a exceeds the speed command S cmd In the case of deceleration, the speed command s minus the acceleration a is the speed command S cmdIt means to be smaller.

[0028] The speed command s for this control cycle is the speed command S cmd If the speed command s does not exceed the speed command S (step S8; No), the process proceeds to step S4. cmd Steps S4 to S8 are repeated until the

[0029] In this way, during acceleration / deceleration, the speed command s for this control cycle is cmd The acceleration a is repeatedly added or subtracted until it reaches

[0030] (Example) The calculation of the speed command s will be explained using specific figures. Figure 5 is an example of a motor characteristics table. In Figure 5, the acceleration A in the constant torque region is "2200 (min ‐1 / sec), base rotation speed S base is "1500(min ‐1 ) and the rotation speed S2 at which the engine switches from the constant power range to the power reduction range is 7000 (min -1 )" and the control period is "8 (msec)".

[0031] Fig. 6 is a table of accelerations obtained by substituting characteristic values ​​from (Equation 8) to (Equation 10). The acceleration in the constant torque region can be calculated using (Equation 8), the acceleration in the constant power region using (Equation 9), and the acceleration in the power reduction region using (Equation 10). The rightmost column in Fig. 6 corresponds to acceleration a, which is the increment in spindle speed per control cycle. The range of the constant torque region is "0≦S<1500", and the acceleration is "2200(min ‐1 / sec)" which is equivalent to 17.6 (min ‐1 / (control period)). The range of the constant output area is "1500≦S<7000", and the acceleration is "3300000 / S(min -1 / sec)" which is equivalent to 26400 / S(min ‐1 / (control period)). The output reduction range is "7000≦S", and the acceleration is "23100000000 / S 2 (min -1 / sec)" which is equivalent to 184800000 / S 2 (min ‐1 / (control period)).

[0032] The calculation of the speed command s will be explained using specific numerical values. In this example, the spindle is stopped (spindle speed = 0) and the speed command S cmd "10000(min -1 Since the spindle is stopped, the spindle speed S last is "0". The constants used are the values ​​in Figures 5 and 6.

[0033] (Constant torque region) The acceleration a in the constant torque region is A = 17.6 (min ‐1 It is fixed at / (control period). The acceleration unit 2 receives a speed command S cmd and spindle speed S last Compare the speed command S cmd is the spindle speed S last Since it is larger than the previous speed command S last Acceleration in the constant torque region is set to "0" at 17.6 (min ‐1 / (control cycle)" to calculate the speed command s for this control cycle of "17.6". The acceleration section 2 operates at a spindle speed S last is the base rotation speed S base The spindle speed is accelerated in each control cycle until it reaches

[0034] (Constant output range) Spindle speed S last is the base rotation speed S base =1500(min -1 ), the motor characteristics change from the constant torque region to the constant power region. Spindle speed S when it reaches the constant power region last is "1513.6(min -1)" so from (Equation 9), acceleration a = 26400 / 1513.6 = 17.442(min -1 / (control period)).

[0035] Speed ​​command S cmd and spindle speed S last and the speed command S cmd If is large, it is acceleration. In this example, the speed command S cmd "10000(min -1 ) is the spindle speed S of the previous control cycle last "1513.6 (min -1 ) is larger than the speed command S last The acceleration a is added to the speed command s for this control cycle. last +a=1513.6+17.442=1531.042(min -1 )

[0036] (power reduction area) The spindle speed is S2 = 7000 (min -1 ), the motor characteristics enter a power reduction region. Spindle speed S when power output is reduced last is "7000.478(min -1 )" so from (Equation 10), acceleration a = 184800000 / 7000.478 / 7000.478 = 3.771(min -1 / (control period)).

[0037] Speed ​​command S cmd and the spindle speed S of the previous control cycle last and the speed command S cmd If is large, it is acceleration. In this example, the speed command S cmd "10000(min -1 ) is the spindle speed S of the previous control cycle last 7000.478(min -1 The acceleration section 2 is greater than the speed command S last The acceleration a is added to the speed command s for this control cycle. last +a=7000.478+3.771=7004.249(min-1 )

[0038] The numerical control device 100 receives a speed command S cmd "10000(min -1 The addition of acceleration a to the speed command s is repeated until it reaches "(s)". The spindle speed changes as shown in Figure 7.

[0039] (Variation) In a modified example, the motor is driven in advance to set the spindle speed and acceleration The acceleration unit 2 calculates an approximate value of acceleration from the spindle speed using a relational expression that connects the spindle speed and acceleration points with a straight line. An example of the relational expression is shown in Figure 8. The relational expression changes continuously. The points of the spindle speed and acceleration may be connected by a curve. An example of the relational expression is shown in Figure 9. The relational expression changes continuously.

[0040] As described above, the numerical control device 100 of this embodiment prepares a relational expression in which the spindle speed and acceleration change continuously, and by referring to the relational expression, selects an acceleration that is efficient according to the spindle speed of the motor, thereby making the most of the motor's capabilities and improving acceleration responsiveness.

[0041] Some conventional numerical control devices change the acceleration in stages (discontinuously) relative to the spindle speed. The numerical control device 100 of this embodiment has the following advantages over conventional numerical control devices. FIG. 10 shows an example of multi-stage acceleration / deceleration. In multi-stage acceleration / deceleration, multiple combinations of spindle speed and acceleration are stored. In the example of FIG. 10, spindle speeds and accelerations at three points, A1, A2, and A3, are stored. The spindle speeds and accelerations at A1, A2, and A3 are (s1, a1), (s2, a2), and (s3, a3). In multi-stage acceleration / deceleration, the acceleration is fixed at a2 when the spindle speed is between A1 and A2, and at a3 when the spindle speed is between A2 and A3. In this case, the efficiency of acceleration / deceleration is low in the shaded area below the graph. Increasing the number of stages can improve the efficiency of acceleration / deceleration. Fig. 11 shows an example with an increased number of stages. With multiple acceleration / deceleration stages, the number of spindle speeds and accelerations to be stored increases. Also, the frequency of switching stages increases. Increasing the number of stages improves the efficiency of acceleration / deceleration, but the difficulty of adjustment also increases.

[0042] In the numerical control device of this embodiment, by utilizing the relational expression between the continuously changing spindle speed and acceleration, it is possible to efficiently utilize the motor's capacity and shorten the time required to reach the commanded speed.

[0043] The hardware configuration of a numerical control device 100 to which the present disclosure is applied will be described below. Fig. 12 is a hardware configuration diagram of the numerical control device 100. As shown in Fig. 12, the numerical control device 100 includes a CPU 111 that controls the entire numerical control device 100, a ROM 112 that records programs and data, and a RAM 113 for temporarily expanding data, and the CPU 111 executes a system program recorded in the ROM 112 via a bus.

[0044] The nonvolatile memory 114 is backed up by, for example, a battery (not shown), and the stored state is maintained even when the power to the numerical control device 100 is turned off. The nonvolatile memory 114 stores various data such as programs read from the external device 120 via the interfaces 115, 118, and 119, and operation inputs input via the input unit 30. The nonvolatile memory 114 may store programs and data for executing the numerical control device 100 of this embodiment.

[0045] The interface 115 is an interface for connecting the numerical control device 100 to an external device 120 such as an adapter. Programs, various parameters, etc. are read from the external device 120. The interface 118 is an interface for connecting the numerical control device 100 to a display unit 70 such as a liquid crystal display. The display unit 70 displays data read into the memory, data obtained as a result of executing a program, and the like. The interface 119 is an interface for connecting the numerical control device 100 to an input unit 30 such as a keyboard, a pointing device, etc. The input unit 30 passes commands, data, etc. based on operations by an operator to the CPU 111 via the interface 119.

[0046] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the gist of the present disclosure derived from the claims and their equivalents. Furthermore, these embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these.

[0047] The following additional notes are provided regarding the above-described embodiment and modifications. (Appendix 1) The numerical control device (100) includes a command unit (1) that generates a spindle speed command, and an acceleration unit (2) that uses a relational expression in which acceleration changes continuously with respect to the spindle speed to determine an acceleration corresponding to the current or most recent spindle speed, and calculates a speed command using the acceleration. (Appendix 2) The relational expression between the spindle speed and the acceleration is calculated from the characteristics of the spindle speed and torque. (Appendix 3) The relational expression between the spindle speed and acceleration can be obtained by connecting the points of the spindle speed and torque obtained by measuring or predicting in advance. (Appendix 4) The acceleration in the above relational expression is the acceleration of the speed command. (Appendix 5) The acceleration unit calculates a speed command for each control period. (Appendix 6) The computer-readable storage media (112, 113, 114) store instructions for causing one or more processors (111) incorporated in the numerical control device (100) to execute processes of generating a spindle speed command, determining the acceleration corresponding to the current or most recent spindle speed using a relational expression in which the acceleration changes continuously with respect to the spindle speed, and calculating the speed command using the acceleration. [Explanation of symbols]

[0048] 100 Numerical Control Device 1 Command department 2 Acceleration section 3 Motor control unit 111 CPU 112 ROM 113 RAM 114 Non-volatile memory

Claims

1. a command unit that generates a speed command for the spindle; an acceleration unit that calculates an acceleration corresponding to the current or most recent spindle speed using a relational expression that is determined based on the spindle speed and torque characteristics of the motor, where the acceleration changes continuously with respect to the spindle speed, and that calculates a speed command for each control cycle by changing the speed command for the previous control cycle by the amount of the acceleration; A numerical control device comprising:

2. 2. The numerical control device according to claim 1, wherein the acceleration in the relational expression is the acceleration of a speed command.

3. One or more processors incorporated in the numerical control device, Generates a spindle speed command, a relational expression obtained based on the spindle speed and torque characteristics of the motor, in which the acceleration changes continuously with respect to the spindle speed, is used to obtain an acceleration corresponding to the current or most recent spindle speed, and a speed command is calculated for each control cycle by changing the speed command for the previous control cycle by the amount of the acceleration; A computer-readable storage medium that stores instructions for executing a process.

Citation Information

Patent Citations

  • Speed change ratio selecting method and device for machine tool

    JP1991164090A

  • Tapping device

    JP2001287118A

  • Thread cutting control method and device

    JP2012056066A

  • Machine tool control device and machine tool control method for controlling synchronous operation of spindle and feed rod

    JP2017030061A

  • Machine tool control device and control method for controlling synchronous operation of spindle and feed shaft

    JP2018079537A