Numerical control device and computer-readable storage medium
The numerical control device addresses the inefficiency in spindle acceleration by using a continuous relational expression to calculate speed commands, enhancing responsiveness and reducing time to reach commanded speeds.
Patent Information
- Application Number
- PCT/JP2023/035041
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-26
- Publication Date
- 2026-02-12
AI Technical Summary
Conventional numerical control devices face challenges in efficiently reducing the time required to reach a commanded spindle rotation speed due to discontinuous changes in spindle acceleration, which affect responsiveness and efficiency.
A numerical control device that utilizes a relational expression where acceleration changes continuously with respect to spindle speed, allowing for efficient utilization of motor capacity and improved acceleration responsiveness by calculating speed commands based on the current spindle speed.
This approach enhances spindle speed responsiveness by efficiently utilizing motor capabilities, reducing the time to reach commanded speeds and improving acceleration efficiency.
Smart Images

Figure JP2023035041_12022026_PF_FP_ABST
Abstract
Description
Numerical control device and computer-readable storage medium
[0001] The present disclosure relates to a numerical control device and a computer-readable storage medium.
[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 for the speed range, thereby improving spindle speed responsiveness. For example, see Patent Document 1.
[0003] JP 2012-56066 A
[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 required 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.
[0006] A numerical control device according to one aspect of the present disclosure includes a command unit that generates a spindle speed command, and an acceleration unit that determines 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 calculates a speed command using the acceleration.
[0007] FIG. 1 is a block diagram of a numerical control device. FIG. 2 is a graph showing a relational expression between torque and spindle speed. FIG. 3 is a graph showing a relational expression between acceleration and spindle speed. FIG. 4 is a flowchart explaining a procedure for calculating a speed command. FIG. 5 is a motor characteristic table. FIG. 6 is an acceleration table. FIG. 7 is a graph showing a change in spindle speed. FIG. 8 is a graph showing a relational expression between acceleration and spindle speed in a modified example. FIG. 9 is a graph showing a relational expression between acceleration and spindle speed in a modified example. FIG. 10 is a graph showing a relationship between acceleration that changes in multiple stages and spindle speed. FIG. 11 is a hardware configuration diagram of a numerical control device.
[0008] The following describes the numerical control device 100. Fig. 1 is a block diagram of the 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 generates a speed command S, which is the product of the spindle rotation speed commanded by the machining program and the spindle override. cmd Calculate.
[0010] [Correction based on Rule 91 21.11.2025] Acceleration unit 2 accelerates and decelerates the spindle. 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 spindle speed S of the previous control cycle is last The acceleration unit 2 repeatedly adds the acceleration a to the acceleration a. The acceleration a changes depending on 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 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. 2 is the spindle speed when switching from the constant power region to the power reduction region. [Constant torque region (0≦S<S base ) ] Torque T = T 1 (Constant) ...(Formula 1) [Constant output region (S base ≦S<S 2 ) )] Torque T = Coefficient 1 / Spindle speed S ... (Equation 2) [Output reduction region (S 2 ≦S)] Torque T=Coefficient 2 / (Spindle speed S)^2...(Formula 3)
[0013] [Correction based on Rule 91 21.11.2025] Based on the relationship between torque and spindle speed, the relationship between acceleration and spindle speed can be calculated. [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 = T 1 / J ... (Equation 4) [Coefficient 1 in the constant power region] Base rotation speed S base and torque T 1 Coefficient 1 is calculated by substituting into (Equation 2). Coefficient 1 = T 1 ×S base ...(Equation 5) [Coefficient 2 in the output reduction region] Spindle speed S 2 By substituting the torque T at (Equation 2) and (Equation 3), the following equation is established: 2 )^2 = coefficient 1 / S 2 ...(Equation 6) Solving (Equation 6) for coefficient 2 gives (Equation 7). Coefficient 2 = Coefficient 1 × S 2 =T 1 ×S base ×S 2 ...(Formula 7)
[0014] From the above, the acceleration a in each region is expressed by the following formula: [Constant torque region (0≦S<S base )] a=A (constant) ... (Formula 8) [Constant output region (S base ≦S<S 2 ) a = A × S base / S ... (Equation 9) [output reduction region (S 2 ≦S)] a = A × S base ×S 2 / (S^2) ...(Formula 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 reduced power 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). After the base rotation speed, 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 an acceleration corresponding to the current or most recent spindle speed, and calculates a speed command for the current control cycle.
[0018] Specifically, the acceleration unit 2 accelerates the spindle speed S in the previous control cycle. last As described above, the method of calculating the acceleration differs depending on whether it is in the constant torque region, the constant power region, or the power reduction region. last If the torque is in the constant range, the rated acceleration is read out. last If the spindle speed S is in the constant output region, the acceleration a of the current control cycle is calculated according to (Equation 9). last If the spindle speed S is in the output reduction region, 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] [Correction based on Rule 91 21.11.2025] The acceleration section 2 is set to the spindle speed S last And the speed command S cmd The speed command S cmd is the spindle speed S of the previous control cycle last If it is greater than , the spindle speed S last The acceleration a is added to the speed command S to calculate the speed command s for the current control cycle. cmd is the spindle speed S of the previous control cyclelast If it is smaller, the spindle speed S of the previous control cycle last The acceleration a is subtracted from the speed command s to calculate the speed command s for the current control period. cmd If it exceeds S cmd Clamp (fix) at speed command S cmd and the spindle speed 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 Clamp with S cmd <S last In the case of (deceleration) s = S last -a...(Formula 12) (S cmd If it exceeds S cmd Clamp with S cmd = S last In the case of (constant speed) s = S cmd ...(Formula 13)
[0021] The speed command s is added or subtracted for each 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 unit 2 will be described with reference to the flowchart of FIG. cmd is created (step S1).
[0023] The acceleration unit 2 accelerates 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 Slast 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 of S is different (step S3; Yes), the acceleration unit 2 last (Step S4) The relational expression between the spindle speed and acceleration is stored in advance.
[0026] [Correction based on Rule 91 21.11.2025] The acceleration unit 2 is 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 the spindle speed S in the previous control cycle (step S5; deceleration), 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 spindle speed S last The acceleration a is added to calculate the speed command s (step S7).
[0027] [Correction based on Rule 91 21.11.2025] The acceleration unit 2 uses the speed command S created in step S1. cmd is compared with 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 to which the acceleration a is added exceeds the speed command S cmd In the case of deceleration, the speed command s obtained by subtracting the acceleration a is the speed command S cmd It means to be smaller.
[0028] The speed command s in 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. cmdSteps S4 to S8 are repeated until the value reaches .
[0029] In this way, during acceleration / deceleration, the speed command s of the current control cycle is the speed command S cmd The acceleration a is repeatedly added or subtracted until the acceleration a reaches the value a.
[0030] (Example) The calculation of the speed command s will be explained using specific figures. FIG. 5 is an example of a motor characteristic table. In FIG. 5, the acceleration A in the constant torque region is "2200 (min ‐1 / sec), base rotation speed S base is "1500 (min ‐1 ) ), the rotation speed S at which the constant power region switches to the power reduction region 2 is "7000 (min -1 ) and the control period is "8 (msec)".
[0031] FIG. 6 is a table of accelerations obtained by substituting the 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 of the 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 converted to one control cycle. ‐1 / (control period)) The range of the constant output region is "1500≦S<7000", and the acceleration is "3300000 / S (min -1 / sec)" which is converted to one control period. ‐1 / (control period)) The range of the output reduction region 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 Scmd “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] [Correction based on Rule 91 21.11.2025] (Constant torque region) Acceleration a in the constant torque region is A = 17.6 (min) as shown in (Equation 8). ‐1 The acceleration unit 2 is fixed at a speed command S cmd and spindle speed S last The speed command S cmd is the spindle speed S last Since it is larger than the previous spindle speed S last Acceleration a in the constant torque region is set to "0" at 17.6 (min ‐1 / (control cycle)" to calculate the speed command s for the current control cycle of "17.6". last is the base rotation speed S base The spindle speed is accelerated in each control cycle until it reaches
[0034] (Constant output area) 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. The spindle speed S when it enters the constant power region is last is "1513.6 (min -1 ")" Therefore, from (Equation 9), acceleration a = 26400 / 1513.6 = 17.442 (min -1 / (control period)).
[0035] [Amendment under Rule 91 21.11.2025] Speed command S cmd and spindle speed S last and the speed command S cmd If is large, it is acceleration. cmd “10000 (min. -1 ) is the spindle speed S of the previous control cycle last “1513.6 (min. -1 The acceleration section 2 is larger than the spindle speed S lastThe speed command for this control period is s = S last +a=1513.6+17.442=1531.042(min -1 )
[0036] [Amendment based on Rule 91 21.11.2025] (Power reduction area) When the spindle speed is S 2 = 7000 (min -1 ), the motor characteristics enter the output reduction region. The spindle speed S last is "7000.478 (min -1 ")" Therefore, from (Equation 10), the acceleration is a = 184800000 / 7000.478 / 7000.478 = 3.771 (min -1 / (control period)).
[0037] [Amendment under Rule 91 21.11.2025] 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. cmd “10000 (min. -1 ) is the spindle speed S of the previous control cycle last “7000.478 (min. -1 The acceleration section 2 accelerates the spindle speed S last The speed command for this control period is s = S last +a=7000.478+3.771=7004.249(min -1 )
[0038] The numerical control device 100 receives a speed command S cmd is "10000 (min -1 The addition of the acceleration a to the speed command s is repeated until the speed command s reaches the value (s = 0.05). The spindle speed changes as shown in FIG.
[0039] (Modification) In this modification, the motor is driven in advance and a table of spindle speed and torque is created. 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 FIG. 8. The relational expression changes continuously. It is also possible to connect the spindle speed and acceleration points with a curve. An example of the relational expression is shown in FIG. 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 this relational expression, selects an acceleration that is efficient according to the spindle speed of the motor, making maximum use of the motor's capabilities and improving acceleration responsiveness.
[0041] Some conventional numerical control devices change the acceleration stepwise (discontinuously) relative to the spindle speed. The numerical control device 100 of this embodiment has the following advantages over conventional numerical control devices. Figure 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 Figure 10, A 1 , A 2 , A 3 The spindle speed and acceleration at these three points are stored. 1 , A 2 , A 3 The spindle speed and acceleration of (s 1 , a 1 ), (s 2 , a 2 ), (s 3 , a 3 In multi-stage acceleration / deceleration, the spindle speed is A 1 and A 2 Between 2 Fixed to A 2 and A 3 Between 3 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. Figure 11 shows an example with an increased number of stages. With multiple stages of acceleration / deceleration, the number of spindle speeds and accelerations to be stored increases. Also, the frequency of switching the number of 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 supply 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 loaded 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 various data loaded into memory, data obtained as a result of executing programs, etc. The interface 119 is an interface for connecting the numerical control device 100 to an input unit 30 such as a keyboard or pointing device. 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 supplementary notes are further disclosed regarding the above-described embodiment and modified examples. (Supplementary Note 1) A 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. (Supplementary Note 2) The relational expression between the spindle speed and acceleration is calculated from the characteristics of the spindle speed and torque. (Supplementary Note 3) The relational expression between the spindle speed and acceleration is obtained by connecting the points of the spindle speed and torque obtained by measuring or predicting in advance. (Supplementary Note 4) The acceleration in the relational expression is the acceleration of the speed command. (Supplementary Note 5) The acceleration unit calculates the speed command for each control cycle. (Supplementary Note 6) The computer-readable storage medium (112, 113, 114) stores instructions to cause one or more processors (111) incorporated in the numerical control device (100) to execute processes of generating a spindle speed command, determining 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 calculating a speed command using the acceleration.
[0048] 100 Numerical control device 1 Command unit 2 Acceleration unit 3 Motor control unit 111 CPU 112 ROM 113 RAM 114 Non-volatile memory
Claims
1. A numerical control device comprising: a command unit that generates a spindle speed command; and an acceleration unit that determines 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 calculates the speed command using the acceleration.
2. The numerical control device according to claim 1, wherein the relational expression between the spindle speed and the acceleration is calculated from the characteristics of the spindle speed and torque.
3. The numerical control device according to claim 1, wherein the relational expression between the spindle speed and acceleration is obtained by connecting points of the spindle speed and torque obtained by measuring or predicting in advance.
4. The numerical control device according to claim 1, wherein the acceleration in said relational expression is the acceleration of a speed command.
5. The numerical control device according to claim 1, wherein the acceleration unit calculates a speed command for each control period.
6. A computer-readable storage medium that stores instructions to cause one or more processors incorporated in a numerical control device to execute the following processes: generate a spindle speed command, determine the acceleration corresponding to the current or most recent spindle speed using a relational expression in which acceleration changes continuously with respect to the spindle speed, and calculate a speed command using said acceleration.