Numerical controller and computer-readable storage medium

By employing a formula for the continuous variation of acceleration and spindle speed in the numerical control device, the problem of insufficient responsiveness in the prior art is solved, resulting in faster acceleration response and improved spindle acceleration efficiency.

CN121889240APending Publication Date: 2026-04-17FANUC LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
FANUC LTD
Filing Date
2023-09-26
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

Existing numerical control devices lack responsiveness when switching spindle acceleration, resulting in a long time required to reach the commanded speed.

Method used

By adopting the relationship between acceleration and continuous spindle speed, the spindle speed command is generated by the command unit, and the acceleration unit calculates the acceleration corresponding to the current or most recent spindle speed, thereby realizing continuous change of acceleration and improving the acceleration response of the spindle.

Benefits of technology

By using a continuously changing acceleration formula, the motor's capacity can be utilized efficiently, the time required to reach the commanded speed can be shortened, and the spindle's acceleration response can be improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121889240A_ABST
    Figure CN121889240A_ABST
Patent Text Reader

Abstract

The numerical controller generates a speed command for the spindle, obtains an acceleration corresponding to the current or nearest spindle speed using a relational expression in which the acceleration continuously changes with respect to the spindle speed, and calculates the speed command using the acceleration.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to numerical control devices and computer-readable storage media. Background Technology

[0002] In existing numerical control devices, the responsiveness of rotational speed is improved 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 high, resulting in relatively rapid acceleration; if the spindle rotational speed is high, the torque is low, resulting in relatively slow acceleration. By switching the acceleration in multiple stages, acceleration suitable for the speed range can be achieved, thereby improving the spindle speed responsiveness. For example, see Patent Document 1.

[0003] Existing technical documents

[0004] Patent documents

[0005] Patent Document 1: Japanese Patent Application Publication No. 2012-56066 Summary of the Invention

[0006] The problem that the invention aims to solve

[0007] Patent document 1 switches the acceleration in multiple levels according to the spindle speed. Switching the acceleration improves responsiveness and shortens the time to reach the commanded speed.

[0008] In the field of numerical control devices, it is desirable to shorten the time to reach the commanded speed.

[0009] Methods for solving problems

[0010] As one aspect of this disclosure, the numerical control device includes: a command unit that generates a speed command for the spindle; and an acceleration unit that uses a formula relating acceleration to spindle speed to calculate an acceleration corresponding to the current or most recent spindle speed, and uses the acceleration to calculate the speed command. Attached Figure Description

[0011] Figure 1 This is a block diagram of a numerical control device.

[0012] Figure 2 It is a graph showing the relationship between torque and spindle speed.

[0013] Figure 3 It is a graph showing the relationship between acceleration and spindle velocity.

[0014] Figure 4 This is a flowchart illustrating the steps involved in calculating the speed command.

[0015] Figure 5 This is the characteristic table of the motor.

[0016] Figure 6 It is a table of accelerations.

[0017] Figure 7 It is a graph showing the change in spindle speed.

[0018] Figure 8 It is a graph showing the relationship between acceleration and spindle velocity in the modified example.

[0019] Figure 9 It is a graph showing the relationship between acceleration and spindle velocity in the modified example.

[0020] Figure 10 It is a graph showing the relationship between multi-stage changing acceleration and spindle velocity.

[0021] Figure 11 It is a graph showing the relationship between multi-stage changing acceleration and spindle velocity.

[0022] Figure 12 This is a hardware structure diagram of a numerical control device. Detailed Implementation

[0023] The numerical control device 100 will be described below.

[0024] Figure 1 This 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.

[0025] Command unit 1 calculates the product of the spindle speed commanded by the machining program and the spindle speed multiplier, i.e., the speed command S. cmd .

[0026] Acceleration unit 2 accelerates and decelerates the spindle. Acceleration unit 2 repeatedly adjusts the spindle speed S from the previous control cycle. last Including the processing of acceleration 'a', until the speed command 's' of the current control cycle reaches the speed command S. cmd until.

[0027] The acceleration 'a' varies according to the spindle speed. Acceleration unit 2 stores the relationship between acceleration and spindle speed. The relationship changes continuously.

[0028] (The relationship between acceleration and spindle velocity)

[0029] The relationship between acceleration and spindle speed can be calculated based on the characteristics of torque and spindle speed. Figure 2 The graph shows the relationship between torque and spindle speed. This graph represents the torque limit that the motor can produce. If high torque is generated within the motor's allowable range, acceleration efficiency is improved.

[0030] Figure 2 The graph is divided into three regions based on spindle speed: constant torque region, constant output region, and output 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 S2 is the base rotational speed. S2 is the spindle speed when switching from the constant output region to the output reduction region.

[0031] [Constant torque region (0≤S<S)] base )]

[0032] Torque T = T1 (constant) … (Equation 1)

[0033] Constant output region (S) base ≤S<S2)]

[0034] Torque T = Coefficient 1 / Spindle speed S … (Equation 2)

[0035] [Output reduction region (S2≤S)]

[0036] Torque T = coefficient 2 / (spindle speed S)^2 … (Equation 3)

[0037] Based on the relationship between torque and spindle speed, the relationship between acceleration and spindle speed can be determined.

[0038] [Acceleration A in the constant torque region]

[0039] Torque is the product of moment of inertia J and acceleration a; therefore, in the constant torque region, acceleration is constant. If the acceleration in the constant torque region is denoted as A, then according to (Equation 1), the following relationship holds.

[0040] A = T1 / J … (Equation 4)

[0041] [Coefficient 1 in the constant output region]

[0042] The basic rotational speed S base Substituting the torque T1 into equation (2), we obtain the coefficient 1.

[0043] Coefficient 1 = T1 × S base …(Formula 5)

[0044] [Output the coefficient 2 in the reduced region]

[0045] When the torque T at the spindle speed S2 is substituted into equations (2) and (3), the following equations hold true.

[0046] Coefficient 2 / (S2)^2 = Coefficient 1 / S2… (Equation 6)

[0047] If we solve for coefficient 2 (Equation 6), it becomes (Equation 7).

[0048] Coefficient 2 = Coefficient 1 × S2 = T1 × S base ×S2…(Equation 7)

[0049] Based on the above, the acceleration 'a' in each region is represented by the following formula.

[0050] [Constant torque region (0≤S<S)] base )]

[0051] a = A (constant) … (Equation 8)

[0052] Constant output region (S) base ≤S<S2)]

[0053] a=A×S base / S … (Equation 9)

[0054] [Output reduction region (S2≤S)]

[0055] a=A×S base ×S2 / (S^2) …(Equation 10)

[0056] Figure 3 The graph shows the relationship between acceleration and spindle speed. Figure 3 The charts are also related to Figure 2 Similarly, it is divided into a constant torque region, a constant output region, and an output reduction region.

[0057] The constant torque region extends from torque "0" to the base rotational speed (base rotational speed). Within the constant torque region, the upper limit of the acceleration corresponding to the spindle speed is constant (see Equation 8). After the base rotational speed, the system is divided into a constant output region and an output reduction region. In the constant output region, acceleration is inversely proportional to the spindle speed (see Equation 9). In the output reduction region, acceleration is inversely proportional to the square of the spindle speed (see Equation 10).

[0058] The acceleration changes continuously relative to the principal axis velocity. Furthermore, this "continuous" refers to mathematical continuity, meaning the graphs are connected without interruption.

[0059] (Acceleration / deceleration processing)

[0060] 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.

[0061] Specifically, the acceleration unit 2 is based on the spindle speed S in the previous control cycle. last Calculate acceleration. As mentioned above, the method for calculating acceleration differs in the constant torque region, constant output region, and output reduction region. If the spindle speed S... lastIn the constant torque region, the acceleration unit 2 reads the rated acceleration. If the spindle speed S last For a constant output region, the acceleration 'a' for this control cycle is calculated according to equation (9). If the spindle speed S... last In the output reduction region, the acceleration 'a' for this control cycle is calculated according to (Equation 10). Additionally, the spindle speed S... last It can be a speed command or the actual speed of the motor.

[0062] Accelerator unit 2 will use the spindle speed S from the previous control cycle last And the speed command S this time cmd Comparison. In the speed command S... cmd Spindle speed S greater than the previous control cycle last At that time, the spindle speed S of the previous control cycle last Adding the acceleration 'a', calculate the speed command 's' for this control cycle. (The speed command S is then used.) cmd Spindle speed S less than the previous control cycle last At that time, from the spindle speed S of the last control cycle last Subtract the acceleration 'a' and calculate the speed command 's' for this control cycle. Additionally, the result of the addition or subtraction operation is that 's' exceeds 'S'. cmd In the case of S cmd Perform clamping (fixation).

[0063] If the speed command S cmd The spindle speed S in the previous control cycle last If they are equal, then the speed command s will be set to a constant speed.

[0064] The formula for calculating the speed command s is as follows.

[0065] S cmd >S last The situation (acceleration)

[0066] s = S last +a …(Equation 11)

[0067] (More than S) cmd In the case of S cmd Clamping)

[0068] S cmd <S last Situation (deceleration)

[0069] s = S last -a …(Equation 12)

[0070] (More than S) cmd In the case of S cmd Clamping)

[0071] S cmd =S last The situation (constant speed)

[0072] s = S cmd …(Equation 13)

[0073] The speed command s is added or subtracted in each control cycle to eventually reach the commanded speed S. cmd The motor control unit 3 controls the motor based on the speed command s calculated by the acceleration unit 2. It can perform speed control so that the motor speed follows the speed command, or position control so that the motor position follows the position command obtained by accumulating the speed command.

[0074] Reference Figure 4 The flowchart explains the calculation of the speed command in the acceleration unit 2.

[0075] Command Section 1 generates speed command S cmd (Step S1).

[0076] Accelerator unit 2 will use the spindle speed S from the previous control cycle last and speed command S cmd A comparison is made (step S2). Furthermore, the spindle speed S can be a speed command or the actual speed of the motor.

[0077] When the spindle speed S last With speed command S cmd When the values ​​are equal (step S3; no), the acceleration unit 2 neither accelerates nor decelerates.

[0078] When the spindle speed S last With speed command S cmd When the value is different (step S3; yes), the acceleration unit 2 adjusts the spindle speed S according to the previous value. last Calculate the acceleration a (step S4). Pre-store the relationship between the spindle velocity and acceleration.

[0079] Accelerator unit 2 will send speed command S cmd The spindle speed S in the previous control cycle last Compare, if the speed command S cmd Less than the spindle speed S last (Step S5; Deceleration), then the spindle speed S from the previous control cycle last Subtract the acceleration 'a' to calculate the velocity command 's' (step S6). If the velocity command S... cmd Greater than the spindle speed S last (Step S5; Acceleration), then the spindle speed S of the previous control cycle... last Add acceleration a, and calculate velocity command s (step S7).

[0080] Acceleration unit 2 will generate the speed command S in step S1 cmd Compare with speed command s. When speed command s exceeds speed command S. cmd In the case of (step S8; yes), with S cmd Clamping is performed (step S9). Additionally, the speed command s exceeds the speed command S. cmd This means that under acceleration, the speed command s obtained by adding acceleration a is greater than the speed command S. cmd In the case of deceleration, this means that the velocity command s after subtracting the acceleration 'a' is less than the velocity command S. cmd .

[0081] In this control cycle, the speed command s did not exceed the speed command S. cmd If the condition is not met (step S8; otherwise), proceed to step S4, and repeat steps S4 to S8 until the speed command S reaches the target speed command S. cmd .

[0082] In this way, during acceleration and deceleration, the addition or subtraction of acceleration 'a' is repeatedly performed until the speed command 's' of the current control cycle reaches the speed command S. cmd .

[0083] (Example)

[0084] Use specific numbers to illustrate the calculation of the speed command s.

[0085] Figure 5 This is an example of a motor characteristic table. In Figure 5 In the constant torque region, the acceleration A is 2200 (min) -1 / sec), base rotational speed S base For "1500 (min)" -1 The rotational speed S2 for switching from the constant output region to the output reduction region is 7000 (min). -1 The control cycle is "8 (msec)".

[0086] Figure 6 This is a table of accelerations obtained by substituting the characteristic values ​​into equations (8) to (10). The acceleration in the constant torque region can be calculated using equation (8), the acceleration in the constant output region can be calculated using equation (9), and the acceleration in the output reduction region can be calculated using equation (10). Figure 6 The column at the right end corresponds to the increment of the spindle speed in each control cycle, i.e., the acceleration 'a'.

[0087] The constant torque region is defined as "0 ≤ S < 1500", and the acceleration is defined as "2200 (min)". -1 / sec). If converted to each control cycle, it is "17.6 (min)". -1 / (control cycle)).

[0088] The constant output range is "1500≤S<7000", and the acceleration is "3300000 / S (min)". -1 / sec). If converted to each control cycle, it is "26400 / s (min)". -1 / (control cycle)).

[0089] The output reduction range is "7000≤S", and the acceleration is "23100000000 / S". 2 (min -1 / sec). If converted to each control cycle, it is "184,800,000 / s". 2 (min -1 / (control cycle)).

[0090] Use specific numerical values ​​to illustrate the calculation of the speed command s.

[0091] In this example, assume the spindle is accelerated from a stopped state (spindle speed = 0) to speed command S. cmd 10000 (min) -1 Since the spindle is stopped, the spindle speed S from the previous control cycle... last The value is "0". Constants are used... Figure 5 , Figure 6 The value of .

[0092] (Constant torque region)

[0093] The acceleration a in the constant torque region is shown in Equation 8, and is fixed at A = 17.6 (min). -1 / (control cycle)).

[0094] Accelerator unit 2 will send speed command S cmd With spindle speed S last Comparison. Due to the speed command S cmd Specific spindle speed S last Large, therefore, the previous spindle speed S last "0" plus the acceleration a in the constant torque region "17.6 (min) -1 / (control cycle)”, calculate the speed command s “17.6” for this control cycle.

[0095] Accelerator 2 accelerates the spindle speed in each control cycle until the spindle speed S... last Reaching the basic rotational speed S base .

[0096] (Constant output region)

[0097] When the spindle speed S last Reaching the basic rotational speed S base =1500 (min) -1 When the torque is constant, the characteristics of the motor change from the constant torque region to the constant output region.

[0098] Spindle speed S when it reaches constant output region last For "1513.6 (min)" -1 Therefore, according to Equation 9, the acceleration a = 26400 / 1513.6 = 17.442 (min). -1 / (control cycle)).

[0099] Speed ​​command S cmd With spindle speed S last Compare, if the speed command S cmd A larger value indicates acceleration. In this example, the speed command S... cmd 10000 (min) -1 The spindle speed S is greater than the previous control cycle. last 1513.6 (min) -1 The acceleration unit 2 adjusts the spindle speed S of the previous control cycle. last Adding acceleration 'a', the speed command for this control cycle is s = S. last +a=1513.6+17.442=1531.042(min -1 ).

[0100] (Output reduction area)

[0101] When the spindle speed reaches S2 = 7000 (min) -1 When the motor's characteristics are in the range of reduced output, the output becomes reduced.

[0102] Spindle speed S when the output decreases last For "7000.478 (min)" -1 Therefore, according to (Equation 10), the acceleration is a = 184800000 / 7000.478 / 7000.478 = 3.771 (min). -1 / (control cycle)).

[0103] Speed ​​command S cmd The spindle speed S in the previous control cycle last Compare, if the speed command S cmd A larger value indicates acceleration. In this example, the speed command S... cmd 10000 (min) -1The spindle speed S is greater than the previous control cycle. last 7000.478 (min) -1 The acceleration unit 2 adjusts the spindle speed S of the previous control cycle. last Adding acceleration 'a', the speed command for this control cycle is s = S. last +a=7000.478+3.771=7004.249(min -1 ).

[0104] The numerical control device 100 repeatedly applies acceleration a to the speed command s until the speed command S is reached. cmd Reaching 10000 (min) -1 Spindle speed as follows: Figure 7 That kind of change.

[0105] (Modified example)

[0106] In a modified example, the motor is driven beforehand, and a table of spindle speed and torque is created. The acceleration unit 2 uses a formula that connects the points of spindle speed and acceleration with a straight line to calculate an approximate value of acceleration based on the spindle speed. Figure 8 Examples of relational expressions. Relational expressions change continuously.

[0107] Alternatively, a curve can be used to connect the points of spindle velocity and acceleration. Figure 9 Examples of relational expressions. Relational expressions change continuously.

[0108] As explained above, the numerical control device 100 of this embodiment prepares a formula for the continuous change of spindle speed and acceleration. Referring to the formula, it selects an efficient acceleration corresponding to the spindle speed of the motor, maximizes the utilization of the motor's capabilities, and improves the acceleration responsiveness.

[0109] In existing numerical control devices, there are those that cause the acceleration to change in stages (discontinuously) relative to the spindle speed. The numerical control device 100 of this embodiment has the following advantages compared to existing numerical control devices. Figure 10 This is an example of multi-stage acceleration / deceleration. In multi-stage acceleration / deceleration, multiple combinations of spindle speeds and accelerations are stored. Figure 10 In the example, the spindle velocities and accelerations at points A1, A2, and A3 are stored. The spindle velocities and accelerations of A1, A2, and A3 are set to (s1, a1), (s2, a2), and (s3, a3), respectively. In multi-stage acceleration and deceleration, the spindle velocity between A1 and A2 is fixed at acceleration a2, and the acceleration between A2 and A3 is fixed at acceleration a3. In this case, the efficiency of acceleration and deceleration in the diagonal section below the graph becomes lower.

[0110] Increasing the number of stages can improve the efficiency of acceleration and deceleration. Figure 11 This is an example of increasing the number of stages. In multi-stage acceleration / deceleration, the number of stored spindle speeds and accelerations increases. Additionally, the frequency of stage switching increases. Increasing the number of stages improves acceleration / deceleration efficiency, but also increases the difficulty of adjustment.

[0111] In the numerical control device of this embodiment, by utilizing the relationship between continuously changing spindle speed and acceleration, the motor's capacity can be utilized efficiently, and the time to reach the commanded speed can be shortened.

[0112] The hardware structure of the numerical control device 100 using the present disclosure will be described below. Figure 12 This is a hardware structure diagram of the numerical control device 100. (For example...) Figure 12 As shown, the numerical control device 100 includes a CPU 111 for overall control of the numerical control device 100, a ROM 112 for recording programs and data, and a RAM 113 for temporarily expanding data. The CPU 111 executes the system program recorded in the ROM 112 via a bus.

[0113] The non-volatile memory 114 is backed up, for example by a battery (not shown), and maintains its storage state even when the power supply to the numerical control device 100 is disconnected. Various data, such as programs read from the external device 120 via interfaces 115, 118, and 119, and operation inputs input via the input unit 30, are stored in the non-volatile memory 114. The non-volatile memory 114 may also store programs and data used to execute the numerical control device 100 of this embodiment.

[0114] Interface 115 is used to connect the numerical control device 100 and external devices 120 such as adapters. Programs, various parameters, etc. are read from the external device 120.

[0115] Interface 118 is used to connect the numerical control device 100 and the display unit 70, such as a liquid crystal display. The display unit 70 displays various data read from the memory, data obtained as a result of executing programs, etc.

[0116] Interface 119 is used to connect the numerical control device 100 to the input unit 30, such as a keyboard and indicator devices. The input unit 30 transmits instructions and data based on the operator's operation to the CPU 111 via interface 119.

[0117] This disclosure has been described in detail, but it is not limited to the various embodiments described above. Various additions, substitutions, modifications, and partial deletions can be made to these embodiments without departing from the spirit of this disclosure or from the spirit of this disclosure derived from the content described in the claimed scope and its equivalents. Furthermore, these embodiments can also be implemented in combination. For example, in the embodiments described above, the order of each action and the order of each process are shown as an example and are not limited thereto.

[0118] The following notes are also disclosed regarding the above-described embodiments and variations.

[0119] (Note 1)

[0120] The numerical control device 100 includes: a command unit 1 that generates a speed command for the spindle; and an acceleration unit 2 that uses a formula for the continuous change of acceleration relative to the spindle speed to calculate the acceleration corresponding to the current or most recent spindle speed, and uses the acceleration to calculate the speed command.

[0121] (Note 2)

[0122] The relationship between the spindle speed and acceleration is calculated based on the characteristics of spindle speed and torque.

[0123] (Note 3)

[0124] The relationship between spindle speed and acceleration is obtained by connecting the points of spindle speed and torque obtained through prior measurement or prediction.

[0125] (Note 4)

[0126] The acceleration described in the relation is the acceleration of the speed command.

[0127] (Note 5)

[0128] The acceleration unit calculates the speed command in each control cycle.

[0129] (Note 6)

[0130] Computer-readable storage media 112, 113, 114 store commands that cause one or more processors 111 assembled in the numerical control device 100 to perform the following processes: generating a spindle speed command, using a formula for continuous change of acceleration relative to spindle speed to determine the acceleration corresponding to the current or most recent spindle speed, and using the acceleration to calculate the speed command.

[0131] Symbol Explanation

[0132] 100 numerical control device

[0133] 1. Command Unit

[0134] 2 Accelerator Unit

[0135] 3. Motor control unit

[0136] 111 CPU

[0137] 112 ROM

[0138] 113 RAM

[0139] 114 non-volatile memory.

Claims

1. A numerical control device, characterized in that, have: The command unit generates the spindle speed command; and The acceleration unit uses a formula that shows the continuous change of acceleration relative to the spindle speed to calculate the acceleration corresponding to the current or most recent spindle speed, and uses the acceleration to calculate the speed command.

2. The numerical control device according to claim 1, characterized in that, The relationship between the spindle speed and acceleration is calculated based on the characteristics of the spindle speed and torque.

3. The numerical control device according to claim 1, characterized in that, The relationship between spindle speed and acceleration is obtained by connecting the points of spindle speed and torque obtained through prior measurement or prediction.

4. The numerical control device according to claim 1, characterized in that, The acceleration described in the relation is the acceleration of the speed command.

5. The numerical control device according to claim 1, characterized in that, The acceleration unit calculates the speed command in each control cycle.

6. A computer-readable storage medium, characterized in that, Its storage enables one or more processors assembled in the numerical control device to execute commands for the following processes: Generate spindle speed commands. The acceleration corresponding to the current or most recent spindle speed is determined by using a formula that describes the continuous change of acceleration relative to the spindle speed, and the speed command is calculated using the acceleration.

Citation Information

Patent Citations

  • Thread cutting control method and device

    JP2012056066A