Numerical Control Device

The numerical control device adjusts pre-interpolation speeds and accelerations to ensure the tool passes through corners at a constant allowable speed, addressing residual movement issues in block overlap processing and enhancing machining efficiency and quality.

JP7614235B2Active Publication Date: 2025-01-15FANUC LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2022576676
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2021-01-20
Filing Date
2022-01-17
Publication Date
2025-01-15
Estimated Expiration
2042-01-17

AI Technical Summary

Technical Problem

In block overlap processing, the tool speed is decelerated to an allowable speed in the current block, but the time of deceleration does not always coincide with the end point, leading to residual movement and inconsistent machining paths, especially at corners, affecting machining time and quality.

Method used

A numerical control device that adjusts the pre-interpolation speed and acceleration/deceleration of tool movements to ensure the tool passes through corners at a constant allowable speed by correcting the pre-interpolation speeds and accelerations based on machining program analysis, using correction units to adjust the number of interpolation processes as needed to maintain machining quality and reduce residual movement.

Benefits of technology

This approach allows for shorter machining times while maintaining consistent machining quality by ensuring the tool follows the intended path through corners, reducing residual movement and potential tool damage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007614235000010
    Figure 0007614235000010
  • Figure 0007614235000011
    Figure 0007614235000011
  • Figure 0007614235000012
    Figure 0007614235000012
Patent Text Reader

Abstract

This numerical control device controls the relative speed between a tool and a workpiece on the basis of a machining program. If a corner portion exists between a current block and a next block in the machining program, the next block is pre-read, and a corner portion permitted speed at the end point of the current block is calculated. At least one of a pre-interpolation acceleration in an accelerating portion of the relative speed between the tool and the workpiece, a pre-interpolation speed in a constant-speed portion, and a pre-interpolation deceleration in a decelerating portion is adjusted in such a way that a corner portion is passed through while the relative speed between the tool and the workpiece is maintained at a preset permitted speed.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a numerical control device for controlling a machine tool. [Background technology]

[0002] Conventionally, a method called block overlap has been used to shorten the machining time of machine tools. For example, Patent Document 1 discloses that after the interpolation of the current block is completed, a command for the next block is started before the deceleration speed becomes zero, so that machining can be performed without decelerating to zero at the connection between the blocks when moving from the current block to the next block. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 2-40701 Summary of the Invention [Problem to be solved by the invention]

[0004] In block overlap processing, the tool is decelerated to a sufficient speed (called the allowable speed) in the current block before the next block is started. When block overlap processing is used, the machining time is shorter than when the speed is set to zero at the end point of the current block before the next block is started, and the impact on the workpiece and tool can be kept within an allowable range. The tool speed is decelerated for each interpolation cycle, but the point at which the tool has decelerated to the allowable speed does not necessarily coincide with the point at which the tool has reached the end point, and a remainder of the remaining travel distance is generated. blockIn overlap processing, the remaining movement amount R is added to the overlap amount S to start the next block without causing a speed difference with the allowable speed. In this case, since the next block starts the remaining movement amount R before the end point of the block, it does not pass through the corner where the current block and the next block join, but passes inside the corner. In block overlap processing, even if the corner is the same angle, the remaining movement amount R changes and is not constant depending on how the current block and the next block are combined.

[0005] In the field of numerical control devices, there is a demand for technology that can shorten the machining time while maintaining the machining quality in machining of corner portions. [Means for solving the problem]

[0006] A numerical control device according to one aspect of the present disclosure is a numerical control device that controls a relative speed between a tool and a workpiece based on a machining program, The above Analyze a first block, which is a movement command included in the machining program, and a second block, which is the next movement command, The above If there is a corner between the first block and the second block, The above Calculate the allowable speed when passing through the corner, The above Calculate a block command movement amount, which is the distance between the start point and the end point of the first block; The above a pre-interpolation velocity at the start point of the first block; The above Corner allowable speed, The above Based on the block command movement amount of the first block, The above At the beginning of the first block The above Pre-interpolated speed The above an acceleration unit that accelerates the machining process up to a command speed of the machining program; The above a constant speed section that maintains a command speed of a machining program; The above From the command speed of the machining program The above A movement amount in a deceleration section where the speed is decelerated to an allowable speed at a corner section between the second block and the deceleration section is calculated, The above An acceleration section; The above A constant speed section; The above The amount of movement of the reduction gear, The above From the block command movement amount, The above Machining program analysis section that calculates the remaining movement amount of the first block a pre-interpolation speed correction unit that corrects a command speed of the constant speed section; and a pre-interpolation acceleration correction unit that corrects a pre-interpolation acceleration of the acceleration section. Equipped with The above Acceleration before interpolation of the acceleration section, The above Command speed of the constant speed section, The above At least one of the pre-interpolation accelerations of the deceleration section is corrected, The above Amount of movement of the acceleration section, The above Amount of movement of the constant speed section, The above Adjust the travel distance of the reduction gear. The above The amount of movement of the acceleration section, The above The amount of movement of the constant speed section, The above The sum of the travel distance of the deceleration section and the travel distance of the block command is made closer to the travel distance of the block command. When a correction amount of the command speed of the constant speed section exceeds a preset threshold, the pre-interpolation speed correction unit increases the number of times of the interpolation process of the constant speed section to adjust the correction amount of the command speed of the constant speed section, and when a correction amount of the pre-interpolation acceleration of the acceleration section exceeds a preset threshold, the pre-interpolation acceleration correction unit increases or decreases the number of times of the interpolation process of the acceleration section to adjust the pre-interpolation acceleration. . A computer-readable storage medium according to one aspect of the present disclosure, when executed by one or more processors, analyzes a first block and a second block which is the next movement command included in a machining program, and if a corner portion exists between the first block and the second block, calculates a corner portion permissible speed when passing through the corner portion, calculates a block command movement amount which is a distance between a start point and an end point of the first block, and calculates the pre-interpolation speed at the start point of the first block as a machining program based on the pre-interpolation speed at the start point of the first block, the corner portion permissible speed, and the block command movement amount of the first block. a movement amount in an acceleration section which accelerates to a command speed of the machining program, a constant speed section which maintains the command speed of the machining program, and a deceleration section which decelerates from the command speed of the machining program to a corner allowable speed for the second block; a remaining movement amount of the first block is obtained from the movement amounts of the acceleration section, the constant speed section, and the deceleration section, and a block command movement amount; at least one of the pre-interpolation acceleration of the acceleration section, the command speed of the constant speed section, and the pre-interpolation acceleration of the deceleration section is corrected to adjust the movement amount of the acceleration section, the movement amount of the constant speed section, and the movement amount of the deceleration section; and a sum of the movement amount of the acceleration section, the movement amount of the constant speed section, and the movement amount of the deceleration section is made to approach the block command movement amount. and when a correction amount of the command speed of the constant speed section exceeds a threshold value, the number of times of the interpolation process of the pulse of the constant speed section is increased to adjust the correction amount of the command speed of the constant speed section, and when a correction amount of the pre-interpolation acceleration of the acceleration section exceeds a threshold value, the number of times of the interpolation process of the acceleration section is increased or decreased to correct the pre-interpolation acceleration. Stores computer readable instructions. Effect of the Invention

[0007] According to one aspect of the present invention, it is possible to reduce the machining time while maintaining the machining quality in machining having a corner portion. [Brief description of the drawings]

[0008] [Figure 1] FIG. 2 is a hardware configuration diagram of a numerical control device. [Diagram 2] FIG. 2 is a block diagram of a numerical control device. [Diagram 3] 4 is an example of a machining program. [Figure 4] FIG. 13 is a diagram showing a change in pre-interpolation speed in conventional block overlap processing. [Diagram 5] FIG. 13 is a diagram showing a moving path of a tool in conventional block overlap processing. [Figure 6] FIG. 11 is a diagram showing a change in pre-interpolation velocity in the first disclosure. [Figure 7] FIG. 11 is a diagram showing a change in pre-correction speed when the correction amount exceeds a threshold in the first disclosure. [Figure 8] FIG. 13 is a diagram showing a change in pre-interpolation velocity in the second disclosure. [Figure 9] FIG. 13 is a diagram showing a change in pre-interpolation velocity in the third disclosure. [Figure 10] FIG. 13 is a diagram showing a change in pre-interpolation velocity when the second disclosure and the third disclosure are combined. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] [First Disclosure] FIG. 1 is a schematic diagram of a numerical control device 100. The numerical control device 100 controls the relative speed between a tool attached to a machine tool and a workpiece in accordance with a machining program. For simplicity of explanation, in this disclosure, it is assumed that the workpiece is fixed and only the speed of the tool is considered. A numerical control device 100 in Fig. 1 is connected to a machine tool 200. In Fig. 1, the numerical control device 100 and the machine tool 200 are separate, but may be integrated. A workpiece is attached to the table of machine tool 200. A tool 50 is attached to the spindle of machine tool 200. Tool 50 moves in three axial directions, the X-axis, the Y-axis, and the Z-axis. An example of movement in only the X-axis and the Y-axis will be described here, but the present disclosure may also be applied to a multi-axis machine tool having three or more axes.

[0010] The numerical control device 100 will be described below. The CPU 111 included in the numerical control device 100 in Fig. 1 is a processor that controls the entire numerical control device 100. The CPU 111 reads out a system program stored in a ROM 112 via a bus 122, and controls the entire numerical control device 100 in accordance with the system program. The RAM 113 temporarily stores temporary calculation data, display data, various data input by the user via the input unit 71, etc.

[0011] The display unit 70 is a monitor or the like attached to the numerical control device 100, and displays a setup support screen, a setup procedure manual, and the like.

[0012] The input unit 71 is a keyboard, a touch panel, or the like, which is integrated with the display unit 70 or is separate from the display unit 70. A user operates the input unit 71 to input data to the screen displayed on the display unit 70.

[0013] Non-volatile memory 114 is a memory that retains its stored state even when the power supply of numerical control device 100 is turned off, for example, by being backed up by a battery (not shown). Non-volatile memory 114 stores programs read from an external device via an interface (not shown), programs input via input unit 71, and various data acquired from each unit of numerical control device 100, machine tool 200, etc. (for example, setting parameters acquired from machine tool 200, etc.). The programs and various data stored in non-volatile memory 114 may be expanded in RAM 113 when executed / used. In addition, various system programs are written in ROM 112 in advance.

[0014] Controller 40, which controls each axis of machine tool 200, converts an axis movement command from CPU 111 into a pulse signal and outputs it to driver 41. Driver 41 converts the pulse signal into a current to drive a servo motor.

[0015] The tool 50 is moved by the power of a servo motor. Alternatively, the tool 50 and the workpiece may be moved relatively by moving a table. In this disclosure, for the sake of simplicity, an example will be shown in which the table is fixed and only the tool 50 is moved.

[0016] FIG. 2 is a block diagram of the numerical control device 100. The numerical control device 100 includes a machining program memory unit 11, a machining program analysis unit 12, a block buffer 13 for temporarily storing the analyzed machining program, a command speed correction unit 14 for correcting a command speed F of a current block described in the machining program, a pre-interpolation acceleration / deceleration processing unit 15 for performing acceleration / deceleration processing of the pre-interpolation speed based on pre-interpolation acceleration / deceleration A, an acceleration correction unit 16 for correcting the pre-interpolation acceleration / deceleration A, and an interpolation processing unit 17 for converting the calculated pre-interpolation speed into distribution pulses for servo motors such as the X-axis, Y-axis, and Z-axis. In the following disclosure, a method for adjusting the pre-interpolation velocity in two dimensions will be described, but the present disclosure can also be applied to control in three or more dimensions.

[0017] The machining program storage unit 11 stores the machining program. Fig. 3 shows an example of the machining program. The numerical control device 100 processes the machining program one line at a time. Each line is called a block. The first block of the machining program in Fig. 3 is "G91G01 X20 F1000;", and the next block is "Y50;". Machining programs include movement commands and basic operation commands. Movement commands include "G00: fast forward (positioning)", "G01: linear interpolation (cutting feed)", "G02-G03: circular interpolation", etc. Movement commands include the destination and movement speed. The block in Figure 3 is a movement command, which instructs tool 50 to move "20" in the X direction at a movement speed of "F1000", and then move "50" in the Y direction.

[0018] The machining program analysis unit 12 calculates the moving direction and pre-interpolation speed of the tool 50 based on the machining program. The corner movement allowable speed D is the speed of the tool at which the tool can move through the corner while maintaining the machining quality and avoiding impacts to the machine, and is determined by the speed of the tool 50, the material of the workpiece, the angle of the corner, etc. The method of determining the corner movement allowable speed is an existing technology, so a description thereof will be omitted. The pre-interpolation speed is the speed of the tool 50 before it is distributed in the X-axis, Y-axis, and Z-axis directions by the interpolation processing unit 17, and is the composite speed of the speeds distributed in the X-axis, Y-axis, and Z-axis directions.

[0019] A conventional pre-interpolation velocity calculation method will be described with reference to FIG. The machining program analysis unit 12 reads ahead the blocks of the machining program, and if a corner exists at the boundary between the block to be analyzed (called the current block) and the next block (called the next block), calculates the corner movement allowable speed D.

[0020] Next, the machining program analysis unit 12 calculates pre-interpolation speeds for the acceleration portion, the constant speed portion, and the deceleration portion.

[0021] The corner allowable speed Da with respect to the previous block has already been calculated when the previous block was analyzed. In the acceleration section, acceleration is performed from the corner allowable speed Da to a command speed F. The pre-interpolation acceleration A is a value that takes into consideration machining quality and safety, and is set to an appropriate value in advance. In the present disclosure, deceleration is also performed at a pre-interpolation acceleration that has an absolute value equal to the pre-interpolation acceleration A. The number of times of interpolation processing in the acceleration section when accelerating the corner permissible speed Da to the command speed F is m. The number of times of interpolation processing in the acceleration section, m, is the integer part of (F-Da) / A, which is the difference between the command speed F and the corner permissible speed Da divided by the pre-interpolation acceleration / deceleration A. In the example of FIG. 4, the number of times of interpolation processing in the acceleration section, m, is 5. The movement amount La of the tool 50 in the acceleration portion is obtained by adding up the pre-interpolation velocities of the tool 50 in the acceleration portion. The movement amount La of the tool 50 in the acceleration portion can be expressed by the following formula 1.

[0022]

number

[0023] In the deceleration section, the command speed F is decelerated to the corner permissible speed Db. The number of times the interpolation process is performed in the deceleration section is n. The number of times n the interpolation process is performed in the deceleration section is the integer part of (F-Db) / A, which is the difference between the command speed F and the corner permissible speed Db divided by the pre-interpolation acceleration / deceleration A. In the example of Figure 4, the number of times n the deceleration section outputs a pulse is 3. The movement amount Lc of the tool 50 in the deceleration section is calculated by adding up the pre-interpolation speeds of the tool 50 in the deceleration section. The movement amount Lc of the tool 50 in the deceleration section can be expressed by the following formula 2.

[0024]

number

[0025] The ideal value of the constant speed section movement amount Lb is obtained by subtracting the acceleration section movement amount La and the deceleration section movement amount Lc from the block command movement amount L. The block command movement amount L can be calculated from the coordinates of the start point and end point of the tool 50 described in the machining program. The number of times t of the constant speed section interpolation processing is obtained by dividing the ideal value of the movement amount Lb by the command speed F. In the example of FIG. 4, the number of times t of the constant speed section interpolation processing is 7. The following formula 3 is the number of times t of the interpolation process in the constant speed part, the command speed F, amount of movement The relationship between L and b is shown.

[0026]

number

[0027] Here, if L = (La + Lb + Lc) is true, block overlap processing is not necessary. However, in reality, a remaining movement amount R occurs. The following formula 4 shows the relationship between the movement amount La of the acceleration section, the movement amount Lb of the constant speed section, the movement amount Lc of the deceleration section, and the remaining movement amount R, and its variants. The total travel distance of the acceleration section La, the constant speed section Lb, and the deceleration section Lc is less than the block command travel distance L written in the machining program by the remaining travel distance R. Less become.

[0028]

number

[0029] In conventional block overlap processing, the command for the next block is started while leaving the remaining movement amount R for the current block. At this time, the remaining movement amount R and the block overlap amount S are added in the first interpolation period of the next block so that the pre-interpolation speed becomes the corner section permissible speed Db.

[0030] FIG. 5 shows an example of a tool movement path in conventional block overlap processing. When moving in the direction of arrow a in the current block and moving in the direction of arrow b in the next block, a corner occurs between the current block and the next block. In conventional block overlap processing, a remaining movement amount R occurs, and this remaining movement amount R is output in the first command of the next block. The movement direction of the remaining movement amount R is the direction of arrow a, and the movement direction of the block overlap amount is the direction of arrow b, so in the first interpolation cycle of the next block, it becomes the direction of arrow c, which is the sum of these two vectors. The first command of the next block moves in the direction of arrow c at the corner permissible speed Db. In block overlap processing, a command pulse is generated to go inside the corner without passing through it.

[0031] In the example of Fig. 5, the remaining movement amount R in the left diagram is different from the remaining movement amount R in the right diagram. The remaining movement amount R varies depending on conditions such as pre-interpolation acceleration A, corner allowable speed Da of the previous block, and command speed F, so there is variation even for corners with the same angle. The path commanded by the numerical control device 100 changes even for corners with the same angle.

[0032] [Description of the Disclosure] In the present disclosure, the pre-interpolation acceleration of the acceleration section, the pre-interpolation speed of the constant speed section, and the pre-interpolation acceleration of the deceleration section, which are calculated by the conventional block overlap process, are corrected to set the remaining movement amount R to zero. As a result, the numerical control device outputs a command for the tool to pass through the corner while maintaining the corner permissible speed Db.

[0033] [First Disclosure] The command speed correction unit 14 corrects the pre-interpolation speed of the constant speed portion. The correction amount r is the quotient obtained by dividing the remaining movement amount R by the number of times t of the interpolation process of the constant speed portion. The following formula 5 is a formula for calculating the correction amount r and the corrected command speed F'.

[0034]

number

[0035] The command speed F of the constant speed section is After correction By correcting to the command speed F', the movement amount Lb' of the constant speed section after correction becomes Lb' = La + R. Lb´ becomes longer by the same distance as the remaining movement amount R, so the remaining movement amount R becomes zero.

[0036] When the pre-interpolation speed of the constant speed section is corrected to the corrected command speed F', the corrected movement amount Lb' is obtained by adding the remaining movement amount R to the constant speed section movement amount Lb before correction, as shown in FIG. 6. Therefore, the block command movement amount L, the movement amount La of the acceleration section, the movement amount Lb' of the constant speed section, and the movement amount Lc of the deceleration section satisfy the following formula 6. 、 The remaining movement amount R becomes zero.

[0037]

number

[0038] A threshold value is set for the correction amount r. The threshold value is set to guarantee machining quality and safety. If the correction amount r of the above-mentioned corrected command speed F' (called the first corrected command speed F') exceeds the threshold value, the machined surface may become rough or the tool may be damaged. If the correction amount r exceeds the threshold value, the machining program analysis unit 12 adds one to the number of times t of the interpolation process of the constant speed part. At this time, the constant speed part's movement amount Lb' is divided by the number of pulse outputs (t+1) so that the constant speed part's movement amount becomes Lb', and the constant speed part's pre-interpolation speed is calculated. The speed calculated in this way is called the second corrected command speed F". Since the second corrected command speed F" is slower than the command speed F of the current program, there is no risk of deterioration of machining quality or damage to the tool. The following formula 7 is a formula for calculating the second corrected command speed F".

[0039]

number

[0040] FIG. 7 shows the change in the pre-interpolation speed when corrected with the second corrected command speed F″. The number of outputs of the constant speed section increases from 7 to 8. The second corrected command speed F" is slower than the command speed F, but since the number of outputs of the constant speed section is increased by one, the movement amount of the constant speed section becomes Lb'. As a result, formula 6 is satisfied and the remaining movement amount R becomes zero.

[0041] [Second Disclosure] In the second disclosure, the acceleration correction unit 16 corrects the pre-interpolation acceleration A to the pre-interpolation acceleration A'. The equation for calculating the pre-interpolation acceleration A' will be described with reference to FIG. To correct the pre-interpolation acceleration A and make the remaining movement amount R zero, the movement amount of the acceleration section needs to be corrected to La' (=La+R). If the threshold of the correction amount is ±B, the range of the pre-interpolation acceleration / deceleration A' after correction is AB≦A'≦A+B. The following formula 8 is a formula for calculating the movement amount La' of the acceleration section when accelerating with the pre-interpolation acceleration / deceleration A'. The corrected movement amount La' and the corner section allowable speed Da are both known, and the range of the pre-interpolation acceleration / deceleration A' is also known. Therefore, the lower limit value of A' (AB) and the upper limit value of A' (A+B) are input into formula 8 to calculate the lower limit value mb and the upper limit value ma of m. If the number of output times m of the acceleration section calculated by formula 1 satisfies the condition ma≦m≦mb, the number of output times m of the pulse calculated by formula 1 is adopted. This m is substituted into formula 8 to calculate the corrected pre-interpolation acceleration / deceleration A'. If m does not satisfy the condition ma≦m≦mb, the corrected pre-interpolation acceleration A' is calculated by substituting either mb or ma, whichever is closer to the value of m, into Equation 8. In this way, the remaining movement amount R The post-correction pre-interpolation acceleration A' at which the acceleration becomes zero is determined.

[0042]

number

[0043] [Third Disclosure] In the third disclosure, the acceleration correction unit 16 corrects the pre-interpolation acceleration A of the deceleration unit to a pre-interpolation acceleration A''. The equation for calculating the pre-interpolation acceleration A'' will be described with reference to FIG. In order to correct the pre-interpolation acceleration A in the deceleration section and set the remaining movement amount R to zero, the movement amount of the deceleration section must be corrected to Lc' (=Lc+R). If the threshold of the correction amount is ±B, the range of the pre-interpolation acceleration / deceleration A" after the correction satisfies the condition AB≦A"≦A+B. The following formula 9 is a formula for calculating the movement amount Lc' of the deceleration section when decelerating at the pre-interpolation acceleration / deceleration A". The corrected movement amount Lc' and the corner section allowable speed Db are known, and the range of the pre-interpolation acceleration / deceleration A" is also known. Therefore, the lower limit value of A" (AB) and the upper limit value of A" (A+B) are input into formula 9 to calculate the lower limit value na and the upper limit value nb of n. If the output number n of the deceleration section calculated by formula 2 satisfies the condition na≦n≦nb, the output number n calculated by formula 2 is used. The corrected pre-interpolation acceleration / deceleration A" can be calculated by substituting this n into formula 9. Note that n is na≦n≦ nb If the condition above is not satisfied, the corrected pre-interpolation acceleration A″ can be obtained by substituting nb or na, whichever is closer to the value of n, into Equation 9. In this way, the remaining movement amount R The post-correction pre-interpolation acceleration A″ at which the acceleration becomes zero is determined.

[0044]

number

[0045] The interpolation processing unit 17 performs an interpolation process on the pre-interpolation speed corrected by the above-mentioned first, second, and third disclosure methods. 、 The interpolation unit outputs the distribution pulse amounts of the X-axis speed, Y-axis speed, and Z-axis speed to the corresponding servo motors. The servo motors rotate in accordance with the distribution pulse amounts output from the interpolation unit, and move the tool 50. Note that although this disclosure describes controlling only the movement of the tool 50, in reality, the table on which the workpiece is placed may also move, and this case is also included in the present disclosure since it is a relative movement between the tool and the workpiece.

[0046] [Example of actual calculation] Here is an example of calculation using actual values. The values ​​of the variables used in this example are as follows: ·Interpolation cycle: 1.0[msec] ·Command speed: 30000.0[mm / min] (Command speed in one interpolation cycle F = 30000.0 / 60000 = 0.5 [mm / msec]) Block command movement amount (L): 50.0 [mm] Acceleration before interpolation: 40.0 [mm / sec 2 ] (Acceleration in one interpolation period (A): 40.0 / 1000 = 0.04 [mm / msec 2 ]) Allowable speed at corner with front block: 6000.0 [mm / min] (Permissible corner speed in one interpolation cycle Da = 6000.0 / 60000 = 0.1 [mm / msec]) - Allowable speed at corner with next block: 9000.0 [mm / min] (Permissible corner speed in one interpolation cycle Db = 9000.0 / 60000 = 0.15 [mm / msec])

[0047] [Operation common to the first disclosure, the second disclosure, and the third disclosure] [Calculation of pre-interpolation speed, movement amount, remaining movement amount, and number of pulse outputs] First, the pre-interpolation speeds in the acceleration section, constant speed section, and deceleration section, the number of interpolation processes m, t, and n, the movement amounts La, Lb, and Lc, and the remaining movement amount R are calculated. By substituting the above values ​​into Equation 1, the number of times m of the interpolation process in the acceleration portion and the movement amount La of the acceleration portion can be calculated. m is the integer part of (0.5-0.1) / 0.04=10.0, that is, m=10. La=0.1+0.1×10+0.04×(1+2+3+…+10)=3.3[mm]

[0048] By substituting the above values ​​into Equation 2, the number of times n the interpolation process is performed in the deceleration section and the movement amount Lc of the deceleration section can be calculated. n is the integer part of (0.5-0.15) / 0.04=8.75, that is, n=8. Lc=0.5×8-0.04×(1+2+3+…+8)+0.15=2.71[mm]

[0049] From Equation 3, the number of times t that the interpolation process is performed in the constant speed portion and the movement amount Lb of the constant speed portion can be calculated. t is the integer part of (50.0-3.3-2.71) / 0.5=87.98, that is, t=87. Lb = 0.5 × 87 = 43.5 [mm]

[0050] When the movement amount La of the acceleration section, the movement amount Lb of the constant speed section, and the movement amount Lc of the deceleration section are calculated as described above, the remaining movement amount R can be calculated from Equation 4. R = 50 - (3.3 + 43.5 + 2.71) = 0.49 [mm]

[0051] [First Disclosure Calculation] In the first disclosure, directive The speed is corrected. The correction amount r is the remaining movement amount R divided by the number of pulses output t in the constant speed section. directive The corrected command speed F' can be calculated by adding the correction amount r to the speed F. The correction amount r and the corrected command speed F' can be calculated from Equation 5. r=0.49 / 87=0.005632183... F´=0.5+0.005632183=0.505632183[mm / msec] If you convert F' to speed per minute using the formula below, you will get the actual command speed in the machining program. F´×60000=30337.93103[mm / min] However, the correction amount r has a threshold value. If the threshold value of the correction amount r is ±100.0 [min / msec], the above correction amount r is 0.005632 [mm / msec] × 60000 ≒ 336 [min / msec], which exceeds the threshold value. In this case, one additional interpolation process is performed for the constant speed portion. Equation 7 is used to calculate the corrected command speed F" when one additional interpolation process is performed. Lb´=43.5+0.49=44.39 F″=44.39 / (87+1)=0.499886363[mm / msec2 ] In the first disclosure, by increasing the command speed of the constant speed section by the correction amount r, the movement amount Lb of the constant speed section increases by the same distance as the remaining movement amount R, so that the remaining movement amount R becomes zero. When the correction amount r exceeds a threshold, an additional interpolation process is performed to calculate a new correction amount r.

[0052] [Second Disclosure Calculation] In the second disclosure, the travel distance La of the acceleration unit is corrected to make the remaining travel distance R zero. The threshold for the acceleration correction amount is set to ±10.0 [mm / sec 2 If we convert this threshold into units of the interpolation period, it becomes as follows: ±10.0 / 1000=±0.01[mm / msec 2 ] The upper and lower limits of the corrected acceleration A' are determined from the above threshold values ​​as follows. A-0.01≦A´≦A+0.01 In the above inequality, A = 0.04 [mm / msec 2 ], the range of A' becomes 0.03≦A'≦0.05. When the corner allowable speed Da with respect to the previous block and the corrected movement amount La' (=La+R) are substituted into Equation 8, the result is as follows: La´=3.3+0.49=0.1+0.1×m+A´×(1+2+3+…+m) In the above formula, substituting the lower limit value 0.03 for A' gives m = 13, while substituting the upper limit value 0.05 for A' gives m = 8. This gives 8 ≦ m ≦ 10, and the number of times the interpolation is performed in the acceleration section, m = 10, satisfies the condition on the left. Therefore, substituting m = 10 into formula 8 gives the following: La´=3.3+0.49=0.1+0.1×10+A´×(1+2+3+…+10) From the above formula, A´ = 0.04890909 [mm / msec 2 If this value is converted to speed per second, the corrected acceleration is 48.90909091 [mm / sec 2If m does not satisfy the condition in this calculation, the acceleration A' is calculated by selecting the upper and lower limit values ​​of m that are closest to the number of pulses m output from the acceleration section.

[0053] [Third Disclosure Calculation] In the third disclosure, the travel distance Lc of the deceleration unit is corrected to make the remaining travel distance R zero. The threshold value of the acceleration correction amount is set to ±10.0 [mm / sec 2 If we convert this threshold into units of the interpolation period, it becomes as follows: ±10.0 / 1000=±0.01[mm / msec 2 ] The upper and lower limits of the corrected acceleration A'' are determined as follows. A-0.01≦A″≦A+0.01 In the above inequality, A=0.04[mm / msec 2 ], the range of A″ becomes 0.03≦A″≦0.05. When the corner allowable speed Db to the next block and the corrected movement amount Lc' (=Lc+R) are substituted into Equation 9, the result is as follows: Lc´=2.71+0.49=0.5×nA″×(1+2+3+…+n)+0.15 In the above formula, if the lower limit value of 0.03 is substituted for A″, n = 9 becomes, while if the upper limit value of 0.05 is substituted for A″, n = 13 becomes. As a result, 9≦n≦13, and n = 9, which is close to the number of interpolation processes in the deceleration section = 8, is used. Therefore, if n = 9 is substituted into formula 9, the result is as follows. Lc´=2.71+0.49=0.5×9-A″×(1+2+3+…+9)+0.15 From the above formula, A″=0.032222222″mm / msec 2 If we convert this value to speed per second, the corrected acceleration is 32.222222 mm / sec 2 "

[0054] As described above, when a corner exists between the current block and the next block, the numerical control device 100 calculates the corner allowable speed Db from the machining programs of the current block and the next block and the speed at the start point of the current block (in this disclosure, the corner allowable speed Da). The numerical control device 100 calculates the number of pulses to be output in the acceleration section, the constant speed section, and the deceleration section so that the corner section permissible speed Db is reached at the end point of the current block. Then, the movement amount La of the acceleration section, the movement amount Lb of the constant speed section, and the movement amount Lc of the deceleration section are calculated, and the remaining movement amount R is calculated. The numerical control device 100 of the present disclosure corrects the pre-interpolation acceleration A of the acceleration section or the deceleration section and the command speed F of the constant speed section to set the remaining movement amount R to zero. In the above-mentioned first disclosure, the command speed F of the constant speed section is corrected, in the second disclosure, the pre-interpolation acceleration A of the acceleration section is corrected, and in the third disclosure, the pre-interpolation acceleration A of the deceleration section is corrected, but not only one correction method is used, but also these correction methods may be combined.

[0055] In addition, in the first disclosure, the pre-interpolation acceleration of the acceleration section is corrected, in the second disclosure the pre-interpolation speed of the constant speed section is corrected, and in the third disclosure the pre-interpolation acceleration of the deceleration section is corrected, but as shown in Figure 10, the second and third disclosures may be combined to correct the pre-interpolation acceleration of the acceleration section to A' and the pre-interpolation acceleration of the deceleration section to A". As a result of the correction, the corrected movement amount La' of the acceleration section and the corrected movement amount Lc' of the deceleration section satisfy La'+Lc'=La+Lc+R. As a result, the condition L=La'+Lb+Lc' is established and the remaining movement amount R becomes zero.

[0056] Although an example of setting the remaining travel amount R to zero has been disclosed so far, the present disclosure also includes adjustment of the remaining travel amount R to a value other than zero. In order to make the remaining travel amount R as small as possible, the sum of the travel amount La of the acceleration section, the travel amount Lb of the constant speed section, and the travel amount Lc of the deceleration section may be made closer to the block command travel amount L.

[0057] 2, the present disclosure is configured such that the machining program analyzed by the machining program analysis unit 12 is stored in the block buffer 13, and the analysis result stored in the block buffer 13 is corrected by the command speed correction unit 14, but the command speed correction unit 14 may be arranged after the pre-interpolation acceleration / deceleration processing unit 15, inside the interpolation processing unit 17, or after the interpolation processing unit 17, taking into account the speed override. Similarly, the acceleration correction unit 16 may be arranged after the pre-interpolation acceleration / deceleration processing unit 15, inside the interpolation processing unit 17, or after the interpolation processing unit 17.

[0058] In addition, in the present disclosure, the pre-interpolation acceleration / deceleration A is a constant, and acceleration (or deceleration) is performed linearly at a constant speed, but the pre-interpolation acceleration / deceleration A does not necessarily have to be a constant. The technology of the present disclosure can also be applied to an exponential acceleration section (or deceleration section) or a bell-shaped acceleration section (or deceleration section).

[0059] The numerical control device 100 of the present disclosure is a current block and a next block. Between When a corner occurs in a machining process, a command to pass through the corner can be generated, so that the machine tool can be controlled with the same command as the machining program. In actual machining, errors occur due to inertia and overshoot, but by generating a command to always pass through the corner, machining of uniform quality with the same error can be performed. Furthermore, with conventional block overlap processing, there is a problem that the data obtained when adjusting the machine is not stable because the commands vary. The numerical control device of the present disclosure outputs commands for the same path, so that the data used for adjusting the machine is stable. [Explanation of symbols]

[0060] 100 Numerical control device 11 Machining program storage section 12 Machining program analysis section 13 Block Buffer 14 Command speed correction section 15 Pre-interpolation acceleration / deceleration processing unit 16 Acceleration correction section 17 Interpolation processing section 111 CPU 112 ROM 113 RAM 114 Non-volatile memory

Claims

1. A numerical control device that controls a relative speed between a tool and a workpiece based on a machining program, Analyzing a first block which is a movement command and a second block which is a next movement command included in the machining program; When a corner portion is present between the first block and the second block, a corner portion allowable speed when passing through the corner portion is calculated; Calculating a block command movement amount which is a distance between a start point and an end point of the first block; calculating a movement amount in an acceleration section that accelerates the pre-interpolation speed at the start point of the first block to a command speed of the machining program, a constant speed section that maintains the command speed of the machining program, and a deceleration section that decelerates from the command speed of the machining program to a corner permissible speed for the second block, based on the pre-interpolation speed at the start point of the first block, the corner permissible speed, and a block command movement amount of the first block; a machining program analysis unit that calculates a remaining movement amount of the first block from movement amounts of the acceleration unit, the constant speed unit, and the deceleration unit and the block command movement amount; a pre-interpolation speed correction unit that corrects a command speed of the constant speed portion; a pre-interpolation acceleration correction unit that corrects a pre-interpolation acceleration of the acceleration unit, correcting at least one of the pre-interpolation acceleration of the acceleration section, the command speed of the constant speed section, and the pre-interpolation acceleration of the deceleration section to adjust the movement amount of the acceleration section, the movement amount of the constant speed section, and the movement amount of the deceleration section, and making the sum of the movement amount of the acceleration section, the movement amount of the constant speed section, and the movement amount of the deceleration section closer to the block command movement amount; the pre-interpolation speed correction unit, when a correction amount of the command speed of the constant speed portion exceeds a preset threshold value, increases the number of times of the interpolation process of the constant speed portion to adjust the correction amount of the command speed of the constant speed portion; The pre-interpolation acceleration correction unit adjusts the pre-interpolation acceleration by increasing or decreasing the number of times the acceleration unit performs interpolation processing when a correction amount of the pre-interpolation acceleration of the acceleration unit exceeds a preset threshold value.

2. A numerical control device that controls the relative speed between a tool and a workpiece based on a machining program, Analyzing a first block which is a movement command and a second block which is a next movement command included in the machining program; When a corner portion is present between the first block and the second block, a corner portion allowable speed when passing through the corner portion is calculated; Calculating a block command movement amount which is a distance between a start point and an end point of the first block; calculating a movement amount in an acceleration section that accelerates the pre-interpolation speed at the start point of the first block to a command speed of the machining program, a constant speed section that maintains the command speed of the machining program, and a deceleration section that decelerates from the command speed of the machining program to a corner permissible speed for the second block, based on the pre-interpolation speed at the start point of the first block, the corner permissible speed, and a block command movement amount of the first block; a machining program analysis unit that calculates a remaining movement amount of the first block from movement amounts of the acceleration unit, the constant speed unit, and the deceleration unit and the block command movement amount; a pre-interpolation speed correction unit that corrects a command speed of the constant speed portion; a pre-interpolation acceleration correction unit that corrects a pre-interpolation acceleration of the acceleration unit, correcting at least one of the pre-interpolation acceleration of the acceleration section, the command speed of the constant speed section, and the pre-interpolation acceleration of the deceleration section to adjust the movement amount of the acceleration section, the movement amount of the constant speed section, and the movement amount of the deceleration section, and making the sum of the movement amount of the acceleration section, the movement amount of the constant speed section, and the movement amount of the deceleration section closer to the block command movement amount; the pre-interpolation speed correction unit, when a correction amount of the command speed of the constant speed portion exceeds a preset threshold value, increases the number of times of the interpolation process of the constant speed portion to adjust the correction amount of the command speed of the constant speed portion; The pre-interpolation acceleration correction unit adjusts the pre-interpolation acceleration by increasing or decreasing the number of times the acceleration unit performs interpolation processing when a correction amount of the pre-interpolation acceleration of the deceleration unit exceeds a preset threshold value.

3. When executed by one or more processors, Analyzing a first block which is a movement command included in a machining program and a second block which is a next movement command; When a corner portion is present between the first block and the second block, a corner portion allowable speed when passing through the corner portion is calculated; Calculating a block command movement amount which is a distance between a start point and an end point of the first block; based on the pre-interpolation speed at the start point of the first block, the corner portion permissible speed, and a block command movement amount of the first block, calculate movement amounts in an acceleration section which accelerates the pre-interpolation speed at the start point of the first block to a command speed of the machining program, a constant speed section which maintains the command speed of the machining program, and a deceleration section which decelerates from the command speed of the machining program to the corner portion permissible speed of the second block; determining a remaining movement amount of the first block from the movement amounts of the acceleration section, the constant speed section, and the deceleration section and the block command movement amount; correcting at least one of the pre-interpolation acceleration of the acceleration section, the command speed of the constant speed section, and the pre-interpolation acceleration of the deceleration section to adjust the movement amount of the acceleration section, the movement amount of the constant speed section, and the movement amount of the deceleration section, and making the sum of the movement amount of the acceleration section, the movement amount of the constant speed section, and the movement amount of the deceleration section closer to the block command movement amount; When the correction amount of the command speed of the constant speed section exceeds a threshold value, the number of times of the interpolation process of the pulse of the constant speed section is increased to adjust the correction amount of the command speed of the constant speed section; A storage medium storing computer-readable instructions for correcting the pre-interpolation acceleration by increasing or decreasing the number of times the acceleration unit performs interpolation processing when a correction amount of the pre-interpolation acceleration of the acceleration unit exceeds a threshold value.

4. When executed by one or more processors, Analyzing a first block which is a movement command included in a machining program and a second block which is a next movement command; When a corner portion is present between the first block and the second block, a corner portion allowable speed when passing through the corner portion is calculated; Calculating a block command movement amount which is a distance between a start point and an end point of the first block; based on the pre-interpolation speed at the start point of the first block, the corner portion permissible speed, and a block command movement amount of the first block, calculate movement amounts in an acceleration section which accelerates the pre-interpolation speed at the start point of the first block to a command speed of the machining program, a constant speed section which maintains the command speed of the machining program, and a deceleration section which decelerates from the command speed of the machining program to the corner portion permissible speed of the second block; determining a remaining movement amount of the first block from the movement amounts of the acceleration section, the constant speed section, and the deceleration section and the block command movement amount; correcting at least one of the pre-interpolation acceleration of the acceleration section, the command speed of the constant speed section, and the pre-interpolation acceleration of the deceleration section to adjust the movement amount of the acceleration section, the movement amount of the constant speed section, and the movement amount of the deceleration section, and making the sum of the movement amount of the acceleration section, the movement amount of the constant speed section, and the movement amount of the deceleration section closer to the block command movement amount; When the correction amount of the command speed of the constant speed section exceeds a threshold value, the number of times of the interpolation process of the pulse of the constant speed section is increased to adjust the correction amount of the command speed of the constant speed section; A storage medium storing computer-readable instructions for correcting the pre-interpolation acceleration by increasing or decreasing the number of times the deceleration unit performs interpolation processing when a correction amount of the pre-interpolation acceleration of the deceleration unit exceeds a threshold value.

Citation Information

Patent Citations

  • Block overlap system

    JP1990040701A

  • Speed controller

    JP1990137006A

  • Method for controlling feeding speed of numerical controller

    JP1990195409A

  • Device and method for acceleration and deceleration pattern generation, and solution of inverse kinematical problem and time base correcting method used for the same

    JP1994019528A

  • Locus controller

    JP1994187028A