Numerical control device, numerical control method, and numerical control system

The numerical control device addresses filter characteristic-induced vibrations by switching filter settings and correcting acceleration/deceleration speeds, ensuring smooth transitions and improved machining precision.

JP7837488B1Active Publication Date: 2026-03-30MITSUBISHI ELECTRIC CORP
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-07-24
Publication Date
2026-03-30

AI Technical Summary

Technical Problem

Existing numerical control systems experience increased vibrations and surface quality degradation due to sudden changes in filter characteristics during machining, particularly during acceleration or deceleration, leading to quality issues in machined surfaces.

Method used

A numerical control device that includes a filter changing unit to switch filter characteristics, a filter processing unit to calculate acceleration/deceleration speeds, and an adaptive processing unit to correct speed differences, ensuring smooth transitions and reducing vibrations by adjusting filter settings based on machining shape parts.

Benefits of technology

The device effectively suppresses vibrations and maintains surface quality by smoothly interpolating speed differences during filter characteristic changes, enhancing machining precision and reducing surface defects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007837488000004
    Figure 0007837488000004
  • Figure 0007837488000005
    Figure 0007837488000005
  • Figure 0007837488000006
    Figure 0007837488000006
Patent Text Reader

Abstract

The numerical control device (100) generates axis movement commands for controlling the axes of the machine tool based on the machining program (10). The numerical control device (100) includes a filter change unit (104) that switches the filter characteristics from a first filter characteristic to a second filter characteristic during axis movement, a filter processing unit (105) that calculates a first acceleration / deceleration speed based on the axis movement command and the first filter characteristic during axis movement, and calculates a second acceleration / deceleration speed based on the axis movement command and the second filter characteristic, and an adaptive processing unit (106) that, when the filter characteristics are switched by the filter change unit (104), corrects the second acceleration / deceleration speed so as to smoothly interpolate the speed difference between the first acceleration / deceleration speed calculated before the switch and the second acceleration / deceleration speed calculated after the switch.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to a numerical control device, a numerical control method, and a numerical control system for controlling machine tools. [Background technology]

[0002] The numerical control unit reads information about the machining shape and tool feed rate from the machining program, and calculates the tool path by performing coordinate transformations, tool length compensation, tool diameter compensation, and machine error compensation. Furthermore, the numerical control unit performs processes such as acceleration and deceleration, calculates interpolation points, which are command points on the tool movement path for each interpolation period, and creates axis movement commands that include a group of interpolation points for each unit time. At this time, filtering is widely used as a method to reduce vibrations transmitted to the servo motor, which is the drive device. By generating command values ​​with gradual speed changes or blocking frequency components of characteristics that lead to vibration errors, the vibration reduction effect of the drive device is obtained by using the characteristics of the filter used in filtering (hereinafter referred to as filter characteristics).

[0003] Patent Document 1 addresses the problem that increasing the time constant of the filter, one of the filter characteristics, increases the vibration reduction effect but also increases the cycle time. To solve this problem, the minimum necessary time constant that does not generate vibration is determined for each driven axis, and the optimal time constant is set according to the change in the direction of travel of the driven axis. In Patent Document 1, the time constant is changed in steps, and the output pulse (velocity pulse after filtering) for each interpolation period is calculated by accumulating the results of dividing the input pulse (velocity pulse before filtering) for each interpolation period by the time constant (converted to the interpolation period unit). [Prior art documents] [Patent Documents]

[0004] [Patent Document 1] Patent No. 6404863 [Overview of the Initiative] [Problems that the invention aims to solve]

[0005] However, Patent Document 1 states that in situations where the input pulse (velocity pulse before filtering) changes moment by moment, such as during acceleration or deceleration, a large velocity difference may occur between output pulses when the time constant changes. At this time, the acceleration and jerk between output pulses also increase, which can cause vibrations in the servo motor during the change in the time constant, affecting the quality of the machined surface.

[0006] This disclosure has been made in view of the above, and aims to provide a numerical control device that can suppress a decrease in the quality of the machined surface when the filter characteristics are switched during processing. [Means for solving the problem]

[0007] To solve the above-mentioned problems and achieve the objective, the numerical control device in this disclosure generates axis movement commands for controlling the axes of a machine tool based on a machining program. The numerical control device includes a filter changing unit that switches the filter characteristics from a first filter characteristic to a second filter characteristic during axis movement, a filter processing unit that calculates a first acceleration / deceleration speed based on the axis movement command and the first filter characteristic during axis movement, and calculates a second acceleration / deceleration speed based on the axis movement command and the second filter characteristic, and an adaptive processing unit that, when the filter characteristics are switched by the filter changing unit, corrects the second acceleration / deceleration speed so as to smoothly interpolate the speed difference between the first acceleration / deceleration speed calculated before the switch and the second acceleration / deceleration speed calculated after the switch. The adaptive processing unit stores the position droop, which is the difference between the position based on the axis movement command and the position based on the first acceleration / deceleration speed. Based on the allowable acceleration, the first acceleration / deceleration speed, and the second acceleration / deceleration speed, it calculates the required deceleration distance, which is the distance required to decelerate from the first acceleration / deceleration speed to the second acceleration / deceleration speed. It then corrects the position droop so that it is greater than the required deceleration distance, calculates a first correction value so that the cumulative value of the correction amount does not exceed the position droop, and adds the calculated first correction value to the second acceleration / deceleration speed. [Effects of the Invention]

[0008] The numerical control device of this disclosure has the effect of suppressing a decrease in the quality of the machined surface when the filter characteristics are switched during machining. [Brief explanation of the drawing]

[0009] [Figure 1] Block diagram showing the configuration of the numerical control device according to Embodiment 1 [Figure 2] Flowchart showing the operation of the numerical control device according to Embodiment 1 [Figure 3] Diagram showing an example of a machining shape in the numerical control device according to Embodiment 1 [Figure 4] Diagram showing an example of a machining shape in the numerical control device according to Embodiment 1 [Figure 5] Diagram showing an example of a machining shape in the numerical control device according to Embodiment 1[[ID=​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​Figure 1 is a block diagram showing the configuration of a numerical control device 100 according to Embodiment 1. The numerical control device 100 shown in Figure 1 comprises an analysis processing unit 101, an acceleration / deceleration processing unit 102, a shape analysis unit 103, a filter modification unit 104, a filter processing unit 105, an adaptive processing unit 106, and a filter setting unit 107. The numerical control device 100 generates axis movement commands for controlling the axes of the machine tool based on a machining program. The machine tool moves the tool and the workpiece relative to each other and processes the workpiece with the tool. The axis movement command includes a tool movement command to move the tool and a workpiece movement command to move the workpiece. The following description will focus on the case where the tool moves, but the workpiece may also be moved. The numerical control device 100 performs acceleration / deceleration processing and filtering processing on the axis movement command, and outputs the processed axis movement command to a servo amplifier 20, which is the drive device of the machine tool.

[0012] The analysis processing unit 101 reads tool coordinate commands, tool feed rates, etc. from the machining program 10, analyzes and outputs axis movement commands including the tool's movement path and feed rates along the movement path, and machining shape information indicating the machined shape of the workpiece. The acceleration / deceleration processing unit 102 generates acceleration / deceleration speed commands by executing acceleration / deceleration processing for each axis based on the axis movement commands. The shape analysis unit 103 analyzes the machined shape based on the machining shape information of the workpiece, creates shape part information that classifies the machined shape into multiple shape parts with different shapes, and sets a filter for each shape part in the filter setting unit 107. Shape parts include curved surfaces, edges, etc., as will be described later. The filter setting unit 107 stores the filters for each shape part set by the shape analysis unit 103. The filter change unit 104 determines the filter characteristics to be used from the filters for each shape part stored in the filter setting unit 107 based on the shape part information and the current axis movement commands, and sets the determined filter characteristics in the filter processing unit 105. The filter processing unit 105 performs filtering on the acceleration / deceleration speed command, which is an axis movement command processed by the acceleration / deceleration processing unit 102, based on the filter characteristics set by the filter change unit 104. If the filter characteristics have not been switched, the filter processing unit 105 generates a first acceleration / deceleration speed, which is the acceleration / deceleration speed based on the first filter characteristics before the switch. If the filter characteristics have been switched, the filter processing unit 105 generates a second acceleration / deceleration speed, which is the acceleration / deceleration speed based on the second filter characteristics after the switch. When the filter characteristics are switched, the adaptive processing unit 106 corrects the second acceleration / deceleration speed so as to smoothly interpolate the speed difference between the first acceleration / deceleration speed before the switch and the second acceleration / deceleration speed after the switch. The adaptive processing unit 106 outputs an axis movement command including the corrected second acceleration / deceleration speed to the servo amplifier 20.

[0013] The numerical control device 100 configured as described above operates according to the flowchart shown in Figure 2. Figure 2 is a flowchart showing the operation of the numerical control device 100 according to Embodiment 1.

[0014] <Step S10> In step S10, the analysis processing unit 101 outputs axis movement commands, including the tool's movement path and the feed rate along the tool's movement path, based on the machining program 10. The machining program 10 contains information indicating the coordinate position of the tool's movement path and information indicating the movement speed along the movement path. The analysis processing unit 101 outputs axis movement commands, including the tool's movement path and the feed rate along the tool's movement path, based on the information described in the machining program 10. The analysis processing unit 101 also outputs machining shape information, including angle information between axis movement commands and axis movement command types such as linear movement and circular arc movement, based on the information indicating the coordinate position of the movement path described in the machining program 10.

[0015] <Step S11> In step S11, the shape analysis unit 103 analyzes the machined shape based on the axis movement commands obtained by looking up the machining program 10 in step S10, the angle information between the axis movement commands, and the machined shape information.

[0016] Figures 3 to 5 show an example of a processed shape M1. Figure 3 is a perspective view of the processed shape M1 in the numerical control device 100 according to Embodiment 1, Figure 4 is a front view of the processed shape M1 in the numerical control device 100 according to Embodiment 1, and Figure 5 is a top view of the processed shape M1 in the numerical control device 100 according to Embodiment 1. The processed shape M1 has a hemispherical projection 41 on the upper surface 40a of a rectangular parallelepiped block 40, and one corner of the upper surface 40a is cut off by a plane 42. Focusing on the upper surface 40a, the processed shape M1 has a processed curved surface S1 that forms the hemispherical projection 41, a planar processed curved surface S2 that forms the area of ​​the upper surface 40a other than the processed curved surface S1, and a planar processed curved surface S3 at the position where the corner is cut off. Furthermore, an annular machining boundary E1 exists at the boundary between machined surface S1 and machined surface S2, and a linear machining boundary E2 exists at the boundary between machined surface S2 and machined surface S3.

[0017] When machining the machining shape M1 shown in Figures 3 to 5, focusing on the upper surface 40a of the machining shape M1, the shape analysis unit 103 divides the axis movement command into an axis movement command for machining the spherical machining surface S1 and an axis movement command for machining the planar machining surfaces S2 and S3, based on the axis movement command and machining shape information. Furthermore, the axis movement commands pass through machining boundaries E1 and E2 between the axis movement commands for machining surfaces S1 and S2, and between the axis movement commands for machining surfaces S2 and S3, respectively, and it can be seen that the axis movement commands pass through the corners at these machining boundaries E1 and E2.

[0018] In the numerical control device 100, the tool movement path is smoothed based on a preset allowable path error ε, resulting in a movement path error in the machining shape information in the machining program 10. Figure 6 is a diagram illustrating the smoothing of the tool movement path in the numerical control device 100 according to Embodiment 1. In Figure 6, the tool movement path (before smoothing) in the machining program 10 moves along the X axis and then along the Y axis, as shown by the dotted line. The smoothed movement path, shown by the solid line, has an edge portion 51 that causes a movement path error. The distance I of the section where the movement path error occurs can be expressed by equation (1) using the set allowable path error ε and the angle θ between the two axis movement commands that form a corner.

[0019]

number

[0020] In other words, the section with an occurrence interval distance I before and after the corner point becomes the section where the movement path error occurs, and this section is defined as the edge section. Furthermore, the section of each machining command excluding the section corresponding to the edge section is defined as the curved surface section. That is, the edge section corresponds to the machining boundary sections E1 and E2, and the curved surface section corresponds to the section of the machining curved surface S1, S2, and S3 excluding the edge section. In this manner, the shape analysis unit 103 classifies the machined shape into shape parts including curved surface sections (face sections) and edge sections based on the axis movement commands of the machining program 10, the angle information between axis movement commands, and the machined shape information. Note that the method of classifying shape parts is not limited to classifying into curved surface sections and edge sections; curved surface sections other than edge sections may also be classified according to the machining shape, such as concave sections, convex sections, spheres, and planes.

[0021] <Step S12> In step S12, the shape analysis unit 103 sets filter characteristics for each shape part. Filter settings include characteristics such as frequency characteristics and time constant characteristics. Filter characteristics settings include filter types such as high-pass filters, low-pass filters, and cutoff filters, and frequency characteristics based on the filter type. If multiple filter types are selected, they may be set as a filter structure combining multiple filter types. For example, if you want to control the cutoff frequency and the attenuation rate of a specific frequency component, you can set the filter characteristics as a filter structure. The shape analysis unit 103 pre-sets the filter characteristics to be used for each shape part and stores the set filter characteristics in the filter setting unit 107. For example, if high-frequency components are attenuated, the tool's movement path tends to curve inward, so for shape parts where you want to suppress the inward curvature of the tool's movement path, you set filter characteristics that do not easily attenuate high-frequency components.

[0022] Alternatively, for example, a filter characteristic with a cutoff frequency that blocks the natural vibration frequency may be set based on the natural vibration frequency of the machine tool. Or, a filter characteristic may be set based on the allowable jerk of the machine tool such that the jerk determined from the velocity pulse after filtering for each interpolation period is less than or equal to the allowable jerk.

[0023] <Step S13> In step S13, the acceleration / deceleration processing unit 102 performs acceleration / deceleration processing based on the allowable acceleration a. The acceleration / deceleration processing unit 102 generates a composite speed waveform based on the axis movement command, which includes the tool movement path and the feed rate along the tool movement path, acquired in step S10. Subsequently, the acceleration / deceleration processing unit 102 generates an acceleration / deceleration speed command corresponding to the acceleration / deceleration waveform obtained by adding acceleration / deceleration to the composite speed waveform according to a preset allowable acceleration a, and outputs an axis movement command per unit time based on the generated acceleration / deceleration speed command.

[0024] <Step S14> In step S14, the filter change unit 104 switches the filter characteristics when the shape of the part changes. Based on the axis movement command that has undergone acceleration and deceleration processing, which is the calculation result of step S13, the filter change unit 104 monitors the machining progress of the shape part during axis movement. Specifically, based on the axis movement command analyzed in step S10 and the distance I of the section in which movement path errors occur, the filter change unit 104 determines the switching position between the curved surface part and the edge part, and performs position monitoring by comparing the determined switching position with the position after moving by the axis movement command per unit time output in step S13, thereby determining whether or not a switch has occurred from the curved surface part to the edge part. A similar procedure can be used to monitor the switching from the edge part to the curved surface part. In Figure 6, Q1 is the switching position from the curved surface part to the edge part, and Q2 is the switching position from the edge part to the curved surface part.

[0025] Each time an axis movement command is output in step S13, the filter change unit 104 performs the position monitoring described above, and if the shape of the part changes at the position after moving according to the axis movement command in step S13, it switches the filter characteristics. Here, the filter characteristics before switching will be called the first filter characteristics, and the filter characteristics after switching will be called the second filter characteristics.

[0026] <Step S15> In step S15, if the filter characteristics were not switched in step S14, the filter processing unit 105 performs filtering on the axis movement command calculated in step S13 based on the first filter characteristics and outputs a speed pulse after filtering. If the filter characteristics were switched in step S14, the filter processing unit 105 performs filtering on the axis movement command based on the second filter characteristics and outputs a speed pulse after filtering. In this way, if the first filter characteristics are set, the filter processing unit 105 generates a first acceleration / deceleration speed, which is the acceleration / deceleration speed based on the first filter characteristics. If the second filter characteristics are set, the filter processing unit 105 generates a second acceleration / deceleration speed, which is the acceleration / deceleration speed based on the second filter characteristics.

[0027] <Step S16> In step S16, if the filter characteristics were switched in step S14, the adaptive processing unit 106 corrects the speed difference that occurs when the filter characteristics are switched. Figure 7 is a diagram showing the relationship between the axis movement command and the first acceleration / deceleration speed in the numerical control device 100 according to Embodiment 1. In Figure 7, the horizontal axis is time, the vertical axis is speed, and time t1 is the time of the filter characteristic switch. The axis movement command is the axis movement command calculated in step S13 and is shown by a dashed line. The first acceleration / deceleration speed is the speed pulse filtered based on the first filter characteristics and is shown by a solid line. V0 is the speed at time t1 with the axis movement command that has not been filtered, and V t1 This is the first acceleration / deceleration speed. As shown in Figure 7, there is a delay between the axis movement command and the first acceleration / deceleration speed based on the first filter characteristics.

[0028] When the filter characteristics are switched in step S14, the adaptation processing unit 106 stores the difference between the position based on the axis movement command and the position based on the first acceleration / deceleration speed as the position loop d. The position loop d corresponds to the area of the portion surrounded by the axis movement command indicated by the broken line and the first acceleration / deceleration speed indicated by the solid line in FIG. 7. The derivation formula of the position loop d varies depending on the first filter characteristics. As an example, the derivation formula when a moving average filter is used for the first filter characteristics is shown as Equation (2). T represents the time constant of the moving average filter, and x represents the speed pulse (speed pulse before filter processing) input for each interpolation period. The position loop d is obtained by summing the speed pulses traced back i periods when the current time is t.

[0029] [Number]

[0030] FIG. 8 is a diagram showing the relationship between the first acceleration / deceleration speed and the second acceleration / deceleration speed in the numerical control device 100 according to the first embodiment. The second acceleration / deceleration speed is the speed pulse based on the switched second filter characteristics. The horizontal axis in FIG. 8 is time, the vertical axis is speed, the time t1 is the filter characteristic switching time, V t1 is the first acceleration / deceleration speed, and V t2 is the second acceleration / deceleration speed. The first acceleration / deceleration speed V t1 is shown by the solid line, and the second acceleration / deceleration speed V t2 is shown by the broken line. According to FIG. 8, it can be seen that by switching the filter characteristics, the first acceleration / deceleration speed V t1 and the second acceleration / deceleration speed V t2 are not smoothly connected and a speed difference occurs.

[0031] The adaptation processing unit 106 calculates the deceleration required distance L, which is the distance required to decelerate from the first acceleration / deceleration speed V t1 to the second acceleration / deceleration speed V t2 . The deceleration required distance L is the allowable acceleration a of the machine tool, the first acceleration / deceleration speed V t1 , and the second acceleration / deceleration speed V t2Based on this, it can be expressed by equation (3).

[0032]

number

[0033] Next, the adaptive processing unit 106 determines the first acceleration / deceleration speed V t1 and the second acceleration / deceleration speed V t2 A first correction amount, the correction amount Δ, is calculated to compensate for the speed difference. The correction amount Δ is the first acceleration / deceleration speed V, which is the speed pulse of the previous interpolation period, when the position droop d exceeds the required deceleration distance L. t1 The velocity displacement from the machine tool is determined so as not to exceed the allowable acceleration a. Furthermore, the cumulative value of the correction amount Δ is controlled so as not to exceed the position droop d.

[0034] Figure 9 shows the numerical control device 100 according to Embodiment 1, where the first acceleration / deceleration speed V t1 and the second acceleration / deceleration speed V t2 This figure shows an example of correcting the speed difference to smoothly interpolate it. The upper part of Figure 9 shows the corrected second acceleration / deceleration speed V. t2 This shows things like '. The lower part of Figure 9 shows the position droop d and the deceleration distance L. The horizontal axis in Figure 9 is time, the vertical axis in the upper part of Figure 9 is velocity, the vertical axis in the lower part of Figure 9 is position droop d, time t1 is the filter characteristic switching time, V t1 This is the first acceleration / deceleration speed, V t2 This is the second acceleration / deceleration speed, V t2 ' represents the corrected second acceleration / deceleration speed.

[0035] As described above, the adaptive processing unit 106 determines the first acceleration / deceleration speed V, which is the velocity pulse of the previous interpolation period, when the position droop d exceeds the required deceleration distance L. t1 The correction amount Δ, calculated so that the velocity displacement from does not exceed the allowable acceleration a, and the cumulative value of the correction amount Δ does not exceed the position droop d, is used for the second acceleration / deceleration speed V. t2 By adding this, the corrected second acceleration / deceleration speed V t2The adaptive processing unit 106 obtains the corrected second acceleration / deceleration speed V. t2 The output is sent to the servo amplifier 20 as an axis movement command to drive the servo amplifier 20. This makes it possible to correct the speed difference that occurs before and after switching the filter characteristics so as not to exceed the allowable acceleration a of the machine tool. This makes it possible to generate speed pulses that suppress the impact on the quality of the machined surface when the filter characteristics are switched during machining.

[0036] Furthermore, when calculating the correction amount Δ, it is also acceptable to determine the correction amount Δ so as not to exceed the allowable acceleration a and allowable jerk of the machine tool.

[0037] Thus, Embodiment 1 includes a filter changing unit 104 that switches the filter characteristics from a first filter characteristic to a second filter characteristic while the axis is moving, a filter processing unit 105 that calculates a first acceleration / deceleration speed based on the axis movement command and the first filter characteristic, and calculates a second acceleration / deceleration speed based on the axis movement command and the second filter characteristic while the axis is moving, and an adaptive processing unit 106 that, when the filter characteristics are switched by the filter changing unit 104, corrects the second acceleration / deceleration speed so as to smoothly interpolate the speed difference between the first acceleration / deceleration speed calculated before the switch and the second acceleration / deceleration speed calculated after the switch. Therefore, Embodiment 1 can reduce vibrations to the drive unit when the filter characteristics are switched during machining and suppress a decrease in the quality of the machined surface.

[0038] Furthermore, in Embodiment 1, the adaptive processing unit 106 determines the position based on the axis movement command and the first acceleration / deceleration speed V t1 The position droop d, which is the difference from the position based on, is stored, along with the allowable acceleration a and the first acceleration / deceleration speed V. t1 , second acceleration / deceleration speed V t2 Based on the first acceleration / deceleration speed V t1 From the second acceleration / deceleration speed V t2The required deceleration distance L, which is the distance needed to decelerate to a certain point, is calculated. A correction is made so that the position droop d is greater than the required deceleration distance L. A first correction amount, correction amount Δ, is calculated so that the cumulative value of the correction amount does not exceed the position droop d. The calculated correction amount Δ is then used as the second acceleration / deceleration speed V. t2 The second acceleration / deceleration speed V after correction is obtained by adding it to the first one. t2 This generates axis movement commands that are '. Therefore, when the filter characteristics are switched during machining, it becomes possible to generate speed pulses that suppress the impact on the machined surface quality.

[0039] Furthermore, in Embodiment 1, since the filter characteristics can be set as a filter structure that combines multiple frequency characteristics, it becomes possible to flexibly adjust the frequency characteristics of the velocity pulse.

[0040] Embodiment 2. Figure 10 is a block diagram showing the configuration of the numerical control system according to Embodiment 2. In Embodiment 2, components that achieve the same functions as in Embodiment 1 are denoted by the same reference numerals as in Embodiment 1, and redundant explanations are omitted. The numerical control system of Embodiment 2 comprises a numerical control device 100a and a shape analysis device 200. In the numerical control device 100a of Embodiment 2, the shape analysis unit 103 is omitted from the numerical control device 100 of Embodiment 2.

[0041] The numerical control device 100a includes an analysis processing unit 101, an acceleration / deceleration processing unit 102, a filter change unit 104, a filter processing unit 105, an adaptive processing unit 106, and a filter setting unit 107.

[0042] The analysis processing unit 101 reads the tool coordinate command, tool feed rate, etc. from the machining program 10, analyzes and outputs axis movement commands including the tool movement path and feed rate along the movement path, and machining shape information indicating the machined shape of the workpiece. The acceleration / deceleration processing unit 102 performs acceleration / deceleration processing for each axis based on the axis movement command and generates acceleration / deceleration speed commands. The filter setting unit 107 stores filters for each shape part set by the shape analysis device 200. The filter change unit 104 determines the filter characteristics to be used from the filters for each shape part stored in the filter setting unit 107 based on the shape part information and the current axis movement command, and sets the determined filter characteristics in the filter processing unit 105. The filter processing unit 105 performs filtering on the acceleration / deceleration speed command, which is the axis movement command that has been processed by the acceleration / deceleration processing unit 102, based on the filter characteristics set by the filter change unit 104. If the filter characteristics have not been switched, the filter processing unit 105 sets the first acceleration / deceleration speed V to the acceleration / deceleration speed based on the first filter characteristics. t1 If a second acceleration / deceleration speed V is generated and the filter characteristics are switched, then the second acceleration / deceleration speed V is the acceleration / deceleration speed based on the second filter characteristics. t2 The adaptive processing unit 106 generates the first acceleration / deceleration speed V before the switch when the filter characteristics are switched. t1 And the second acceleration / deceleration speed V after switching t2 The second acceleration / deceleration speed V smoothly interpolates the speed difference between the two. t2 The adaptive processing unit 106 corrects the second acceleration / deceleration speed V after correction. t2 The axis movement command, including ', is output to the servo amplifier 20, which is the drive device of the machine tool.

[0043] The shape analysis device 200 also includes a feature calculation unit 201, an evaluation index calculation unit 202, and an optimal solution search unit 203. The feature calculation unit 201 acquires axis movement commands to drive the servo amplifier 20 from the adaptive processing unit 106. The feature calculation unit 201 associates the acquired axis movement commands with the target shape 60 and calculates machining features for each shape part. The evaluation index calculation unit 202 calculates evaluation index values ​​for each shape part to evaluate machining accuracy, surface quality, and machining time based on the features for each shape part. The optimal solution search unit 203 learns the relationship between the filter settings for each shape part in the numerical control device 100a and the evaluation index for each shape part, obtains the learning result, and searches for a filter setting for each shape part that simultaneously minimizes the evaluation index values ​​that are in a trade-off relationship.

[0044] Figure 11 is a flowchart showing the operation of the shape analysis device 200 of the numerical control system according to Embodiment 2.

[0045] <Step S20> In step S20, the shape analysis device 200 and the numerical control device 100a are initially configured. Specifically, the target shape of the workpiece, the target shape 60, is input to the shape analysis device 200. In addition, the filter settings for each shape part of the numerical control device 100a are initialized with unique filter characteristics.

[0046] <Step S21> In step S21, the numerical control device 100a outputs axis movement commands for each unit time according to the machining program 10. Specifically, the analysis processing unit 101 performs analysis processing based on the machining program 10 to output axis movement commands and feed rates along the movement path. The acceleration / deceleration processing unit 102 calculates an acceleration / deceleration waveform between the stopped state and the feed rate state based on a preset allowable acceleration a. The filter processing unit 105 filters the axis movement commands calculated by the acceleration / deceleration processing unit 102 based on the filter settings initially set in step S20, and outputs a speed pulse after filtering. The adaptive processing unit 106 outputs axis movement commands to the servo amplifier 20 for driving the servo amplifier 20 for each unit time. Here, each of the axis movement commands for each unit time is called an interpolation point.

[0047] <Step S22> In step S22, the feature calculation unit 201 calculates machining feature quantities, which are machining information at each interpolation point, for each interpolation point output from the numerical control device 100a in step S21, associating them with the shape parts of the target shape 60. The machining feature quantities include, for example, the machining error amount, which is the distance between the target shape 60 and the tool placed at the interpolation point, the velocity at the interpolation point, the acceleration at the interpolation point, and the jerk at the interpolation point. Here, the machining error amount is calculated, for example, as the shortest distance between the position of the cutting point corresponding to the interpolation point and the shape surface of the tool placed at the interpolation point in the tool direction. The machining feature quantities are associated with the shape parts of the target shape 60. For example, by pre-assigning an ID number to each piece of information such as curved surfaces and edges, which are shape parts of the target shape 60, it is possible to identify the ID number associated with the calculated machining feature quantities. The machining feature quantities calculated in this manner are output to the evaluation index calculation unit 202 for each shape part of the target shape 60.

[0048] <Step S23> In step S23, the evaluation index calculation unit 202 calculates evaluation index values ​​for evaluating machining time, machining accuracy, surface quality, etc., based on the machining characteristics calculated in step S22.

[0049] As an evaluation index value for machining time, for example, the deceleration rate of the interpolation point's velocity relative to the feed rate command described in the machining program 10 can be used, and the smaller the value of the machining time evaluation index, the more the interpolation point's velocity matches the feed rate command. In other words, the smaller the value of the evaluation index, the better the machining time can be considered. However, the evaluation index for machining time is not limited to the velocity decay rate, as long as it can evaluate the machining time.

[0050] As an evaluation index value for machining accuracy, for example, the average value of the machining error, which is the distance between the target shape 60 and the tool positioned at the interpolation point, can be used. The smaller the machining error, the smaller the value of the machining accuracy evaluation index. In other words, the smaller the value of the evaluation index, the better the machining accuracy. However, the evaluation index for machining accuracy is not limited to the average value of the machining error, as long as it can evaluate machining accuracy.

[0051] As an evaluation index value for surface quality, for example, the variance of the machining error, which is the distance between the target machining shape 60 and the tool positioned at the interpolation point, can be used. The smaller the variance of the machining error, the smaller the evaluation index value for surface quality. In other words, the smaller the evaluation index value, the better the surface quality. However, the evaluation index for surface quality is not limited to the variance of the machining error, as long as it can evaluate surface quality.

[0052] The evaluation indices for processing time, processing accuracy, and surface quality calculated in the manner described above are stored in the memory of the shape analysis device 200.

[0053] <Step S24> In step S24, the optimal solution search unit 203 takes evaluation index values ​​related to processing time, processing accuracy, and surface quality as input, learns the relationship between the filter settings and the evaluation index values ​​calculated by the evaluation index calculation unit 202, and outputs the learning results. Specifically, a neural network is constructed that takes the filter settings as input and outputs the evaluation index values, and the optimal solution search unit 203 updates the weight coefficients of the neural network to perform learning. By using the neural network to obtain a function that takes the filter settings as input and outputs the evaluation index values, the optimal solution search unit 203 obtains a relationship formula between the filter settings and the evaluation index values ​​as a learning result.

[0054] <Step S25> In step S25, the optimal solution search unit 203 determines a filter setting for each part of the target shape 60 that simultaneously minimizes (optimizes) the evaluation index values ​​related to machining time, machining accuracy, and surface quality, based on the relationship between the learned filter setting and the evaluation index value. For example, the optimal solution search unit 203 determines the filter setting using an optimization algorithm such as grid search, random search, or Newton's method.

[0055] As described above, the shape analysis device 200 can derive the optimal filter settings for each shape part in the target shape 60, using processing time, processing accuracy, and surface quality as evaluation indicators. The numerical control device 100a stores the derived optimal filter settings for each shape part in the filter setting unit 107 of the numerical control device 100a.

[0056] Figure 12 is a flowchart showing the operation of the numerical control device 100a of the numerical control system according to Embodiment 2. The operation of the numerical control device 100a according to Embodiment 2 will be explained in accordance with Figure 12.

[0057] <Step S30> In step S30, the analysis processing unit 101 outputs axis movement commands and feed rates along the tool movement path based on the machining program 10. The machining program 10 contains information indicating the coordinate position of the tool path and information indicating the movement speed along the movement path, and the axis movement commands and feed rates along the movement path are output based on these commands.

[0058] <Steps S31-S34> Steps S31 to S34 are the same as steps S13 to S16 in Embodiment 1 shown in Figure 2, and redundant explanations will be omitted. The filter change unit 104 switches the filter characteristics based on the optimal filter settings for each shape part stored in the filter setting unit 107. The above describes the operation of the shape analysis device 200 and numerical control device 100a according to Embodiment 2.

[0059] As described above, according to Embodiment 2, the shape analysis device 200 includes a feature quantity calculation unit 201 that calculates machining feature quantities for each shape part by associating the axis movement command including the corrected second acceleration / deceleration speed with the machining target shape 60; an evaluation index calculation unit 202 that calculates evaluation index values ​​for each shape part that evaluate machining accuracy, surface quality, and machining time based on the feature quantities for each shape part; and an optimal solution search unit 203 that learns the relationship between the filter settings for each shape part and the evaluation index values ​​for each shape part in the numerical control device 100a, obtains the learning result, searches for a filter setting for each shape part that simultaneously minimizes the evaluation index values ​​for each shape part that are in a trade-off relationship, and optimizes the filter settings for each shape part. The filter change unit 104 of the numerical control device 100a switches the filter characteristics based on the filter settings for each shape part optimized by the optimal solution search unit 203. As a result, it becomes possible to machine using the optimal filter setting for each shape part, further reducing vibration to the drive device and further suppressing the deterioration of the machined surface quality.

[0060] In Embodiment 2, interpolation points output from the numerical control device 100a were used to calculate the features of the feature quantity calculation unit 201, but positions based on the machine end fed back from the servo amplifier 20 of the machine tool may also be used. By adopting such a configuration, it is possible to calculate evaluation index values ​​that take into account changes in the state of the machine tool, such as aging and thermal displacement, and it is also possible to improve the search accuracy of the filter settings.

[0061] Figure 13 shows an example of the configuration of a computer system that realizes the numerical control devices 100, 100a according to Embodiments 1 and 2 and the shape analysis device 200 according to Embodiment 2. As shown in Figure 13, this computer system comprises a control unit 901, an input unit 902, a storage unit 903, a display unit 904, a communication unit 905, and an output unit 906, which are connected via a system bus 907.

[0062] In Figure 13, the control unit 901 is, in one example, a processor such as a CPU (Central Processing Unit), and executes a program describing the processing in the numerical control devices 100, 100a of Embodiments 1 and 2 or the shape analysis device 200 of Embodiment 2. The input unit 902 is, in one example, composed of a keyboard, mouse, etc., and is used by the user of the computer system to input various information. The storage unit 903 includes various types of memory such as RAM (Random Access Memory) and ROM (Read Only Memory), and storage devices such as a hard disk, and stores the program to be executed by the control unit 901, necessary data obtained during the processing, etc. The storage unit 903 is also used as a temporary storage area for the program. The display unit 904 is composed of a display, liquid crystal display panel, etc., and displays various screens to the user of the computer system. In one example, the input unit 902 and the display unit 904 may be configured as a touch panel in which the input unit 902 and the display unit 904 are integrally formed. The communication unit 905 is a receiver and transmitter that perform communication processing. The output unit 906 is a printer, speaker, etc. Note that Figure 13 is just one example, and the configuration of the computer system is not limited to the example shown in Figure 13.

[0063] Here, we will describe an example of the operation of the computer system until the program becomes executable. In a computer system with the above configuration, for example, the program is installed in the storage unit 903 from a CD-ROM or DVD-ROM set in a CD (Compact Disc)-ROM drive or DVD (Digital Versatile Disc)-ROM drive (not shown). When the program is executed, the program read from the storage unit 903 is stored in the main memory area of ​​the storage unit 903. In this state, the control unit 901 performs processing as the numerical control device 100, 100a of Embodiments 1 and 2 or the shape analysis device 200 of Embodiment 2, according to the program stored in the storage unit 903.

[0064] In the above description, a program describing the processing in the numerical control devices 100, 100a of Embodiments 1 and 2 or the shape analysis device 200 of Embodiment 2 is provided using a CD-ROM or DVD-ROM as the recording medium. However, the explanation is not limited to this, and depending on the configuration of the computer system, the capacity of the program to be provided, a program provided via a transmission medium such as the Internet via the communication unit 905 may be used, for example.

[0065] The analysis processing unit 101, acceleration / deceleration processing unit 102, shape analysis unit 103, filter modification unit 104, filter processing unit 105, and adaptive processing unit 106 shown in Figure 1, and the analysis processing unit 101, acceleration / deceleration processing unit 102, filter modification unit 104, filter processing unit 105, adaptive processing unit 106, feature quantity calculation unit 201, evaluation index calculation unit 202, and optimal solution search unit 203 shown in Figure 10 are realized by executing a program stored in the storage unit 903 shown in Figure 13 by the control unit 901 shown in Figure 13. The storage unit 903 shown in Figure 19 is used to realize the filter setting unit 107 shown in Figures 1 and 10.

[0066] The configurations shown in the embodiments described above are merely examples of the content of this disclosure, and can be combined with other known technologies, combined with each embodiment, and some parts of the configuration can be omitted or modified without departing from the gist of this disclosure. [Explanation of Symbols]

[0067] 10 Machining program, 20 Servo amplifier, 40 Block, 40a Top surface, 41 Protrusion, 42 Plane, 51 Edge, 60 Target machining shape, 100, 100a Numerical control device, 101 Analysis processing unit, 102 Acceleration / deceleration processing unit, 103 Shape analysis unit, 104 Filter change unit, 105 Filter processing unit, 106 Adaptive processing unit, 107 Filter setting unit, 200 Shape analysis device, 201 Feature calculation unit, 202 Evaluation index calculation unit, 203 Optimal solution search unit, 901 Control unit, 902 Input unit, 903 Memory unit, 904 Display unit, 905 Communication unit, 906 Output unit, 907 System bus, a Allowable acceleration, d Position droop, E1, E2 Machining boundary, I Occurrence section distance, L Deceleration required distance, M1 Machining shape, S1, S2, S3 Machining surface, V t1 First acceleration / deceleration speed, V t2 The second acceleration / deceleration speed, V t2 ' Second acceleration / deceleration speed after correction, Δ correction amount, ε allowable path error.

Claims

1. In a numerical control device that generates axis movement commands for controlling the axes of a machine tool based on a machining program, A filter changing unit that switches the filter characteristics from a first filter characteristic to a second filter characteristic while the aforementioned axis is moving, A filter processing unit calculates a first acceleration / deceleration speed based on the axis movement command and the first filter characteristics during the movement of the axis, and calculates a second acceleration / deceleration speed based on the axis movement command and the second filter characteristics. When the filter characteristics are switched by the filter changing unit, the system includes an adaptive processing unit that corrects the second acceleration / deceleration speed so as to smoothly interpolate the speed difference between the first acceleration / deceleration speed calculated before the switch and the second acceleration / deceleration speed calculated after the switch. The adaptive processing unit stores the position droop, which is the difference between the position based on the axis movement command and the position based on the first acceleration / deceleration speed. Based on the allowable acceleration, the first acceleration / deceleration speed, and the second acceleration / deceleration speed, it calculates the required deceleration distance, which is the distance required to decelerate from the first acceleration / deceleration speed to the second acceleration / deceleration speed. It corrects the position droop so that it is greater than the required deceleration distance. It calculates a first correction value so that the cumulative value of the correction amount does not exceed the position droop, and adds the calculated first correction value to the second acceleration / deceleration speed. A numerical control device characterized by the following features.

2. The filter changing unit switches the filter characteristics when it detects a change in the shape of a part based on the axis movement command and the machining shape information. The numerical control device according to feature 1.

3. The filter characteristics to be changed in the filter modification unit include frequency characteristics and time constant characteristics. The numerical control device according to feature 1.

4. The shape analysis unit, based on analysis data read in advance from the machining program, divides the machined shape into curved surfaces and edge parts, and sets a filter for each shape part. A numerical control device according to any one of claims 1 to 3.

5. A numerical control device that generates axis movement commands for controlling the axes of a machine tool based on a machining program, and a shape analysis device, The numerical control device is A filter changing unit that switches the filter characteristics from a first filter characteristic to a second filter characteristic while the aforementioned axis is moving, A filter processing unit calculates a first acceleration / deceleration speed based on the axis movement command and the first filter characteristics during the movement of the axis, and calculates a second acceleration / deceleration speed based on the axis movement command and the second filter characteristics. When the filter characteristics are switched by the filter changing unit, the system includes an adaptive processing unit that corrects the second acceleration / deceleration speed so as to smoothly interpolate the speed difference between the first acceleration / deceleration speed calculated before the switch and the second acceleration / deceleration speed calculated after the switch. The shape analysis device described above is A feature quantity calculation unit calculates machining feature quantities for each shape part by associating the axis movement command, which includes the corrected second acceleration / deceleration speed, with the machining target shape, An evaluation index calculation unit calculates evaluation index values ​​for each shape part, which evaluates machining accuracy, surface quality, and machining time based on the characteristic quantities of each shape part. The numerical control device includes an optimal solution search unit that learns the relationship between the filter settings for each shape part and the evaluation index values ​​for each shape part to obtain learning results, searches for a filter setting for each shape part that simultaneously minimizes the evaluation index values ​​that are in a trade-off relationship, and performs optimization of the filter settings for each shape part. The filter changing unit of the numerical control device switches the filter characteristics based on the filter settings for each shape part optimized by the optimal solution search unit. A numerical control system characterized by the following features.

6. In a numerical control method that generates axis movement commands for controlling the axes of a machine tool based on a machining program, A filter change step in which the filter characteristics are switched from a first filter characteristic to a second filter characteristic while the aforementioned axis is moving, A filtering step in which, during the movement of the shaft, a first acceleration / deceleration speed is calculated based on the shaft movement command and the first filter characteristics, and a second acceleration / deceleration speed is calculated based on the shaft movement command and the second filter characteristics, If the filter characteristics are switched by the filter changing step, the system includes an adaptive processing step that corrects the second acceleration / deceleration speed so as to smoothly interpolate the speed difference between the first acceleration / deceleration speed calculated before the switch and the second acceleration / deceleration speed calculated after the switch. The adaptive processing step involves storing the position droop, which is the difference between the position based on the axis movement command and the position based on the first acceleration / deceleration speed; calculating the required deceleration distance, which is the distance required to decelerate from the first acceleration / deceleration speed to the second acceleration / deceleration speed, based on the allowable acceleration, the first acceleration / deceleration speed, and the second acceleration / deceleration speed; correcting the position droop so that it is greater than the required deceleration distance; calculating a first correction value so that the cumulative value of the correction amount does not exceed the position droop; and adding the calculated first correction value to the second acceleration / deceleration speed. A numerical control method characterized by the following:

Citation Information

Patent Citations

  • Moving average time change method

    JP2000163113A

  • Numerical controller performing speed control by curvature and variation

    JP2017084239A

  • Electronic typewriter with spelling check function

    JP1989004863A