Numerical control device and computer-readable storage medium
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
- 2025-04-03
AI Technical Summary
In CNC equipment, the prior art is difficult to effectively shorten the time required for the spindle to reach the command speed, especially at low rotation speeds, which respond slowly.
Using a CNC device containing a command unit and an acceleration unit, the command unit generates a speed command for the spindle. The acceleration unit calculates the acceleration suitable for the current or nearest spindle velocity through a continuously changing acceleration equation and calculates the speed command based on this.
Through the continuous changing acceleration strategy, the spindle speed response capability is improved, the time required to reach the command speed is shortened, and the efficiency of CNC equipment is improved.
Smart Images

Figure JP2023035041_03042025_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] 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 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] Based on the relationship between torque and spindle speed, the relationship between acceleration and spindle speed can be found. [Acceleration A in 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 in the constant torque region, the constant power region, and 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] The acceleration unit 2 accelerates the spindle speed S in the previous control cycle. 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 speed command 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 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 the current control period. cmd If it exceeds S cmd Clamp (fix) at 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 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 S lastand 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] 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 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 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 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. cmd Steps 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 S cmd “10000 (min. -1Since 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) 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 speed command 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] 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 unit 2 is greater than the speed command S last The acceleration a is added to the speed command s of the current control cycle. last +a=1513.6+17.442=1531.042(min-1 )
[0036] (Power reduction area) 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), 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. cmd “10000 (min. -1 ) is the spindle speed S of the previous control cycle last “7000.478 (min. -1 The acceleration unit 2 is greater than the speed command S last The acceleration a is added to the speed command s of the current control cycle. 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, thereby 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 speed command for a spindle; and an acceleration unit that obtains an acceleration corresponding to the current or most recent spindle speed using a relational equation in which the acceleration changes continuously with respect to the spindle speed, and calculates a speed command using said 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 the 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 section calculates a speed command for each control period.
6. A computer-readable storage medium storing instructions for causing one or more processors incorporated in a numerical control device to execute the following processes: generate a spindle speed command, obtain an acceleration corresponding to the current or most recent spindle speed using a relational equation in which the acceleration changes continuously with respect to the spindle speed, and calculate a speed command using said acceleration.
Citation Information
Patent Citations
Speed change ratio selecting method and device for machine tool
JP1991164090A
Tapping device
JP2001287118A
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