Control system, control method, design processing method, and program

WO2026163876A1PCT designated stage Publication Date: 2026-08-06PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
Filing Date
2026-01-19
Publication Date
2026-08-06

Smart Images

  • Figure JP2026001430_06082026_PF_FP_ABST
    Figure JP2026001430_06082026_PF_FP_ABST
Patent Text Reader

Abstract

An objective of the present disclosure is to make it easier to improve the processing quality of an object. A control system (1) comprises a position control unit (233), a speed control unit (234), a torque control unit (235), a filter unit (3), a compensation unit (4), a determination function unit (J1), and a parameter setting unit (J2). The filter unit (3) has at least one filter (F1) for extracting periodic vibration components of the motor. On the basis of the periodic vibration components, the compensation unit 4 outputs a compensation command for compensating for the torque of the motor. The determination function unit (J1) identifies a periodic vibration component on the basis of machining data obtained by cutting and shape data relating to a machined surface shape, and determines whether or not vibration in the cutting machine (X1) can be suppressed, on the basis of the identification result. The parameter setting unit (J2) sets the parameter of the filter (F1) on the basis of the determination result from the determination function unit (J1).
Need to check novelty before this filing date? Find Prior Art

Description

Control System, Control Method, Design Processing Method, and Program

[0001] The present disclosure generally relates to a control system, a control method, a design processing method, and a program. More specifically, the present disclosure relates to a control system for controlling a machining tool, a control method for the control system, a design processing method for a filter applied to the control system, and a program.

[0002] Patent Document 1 discloses a technique of a numerical control device having a configuration for moving a worktable to a predetermined position and suppressing vibration of the worktable. In this numerical control device, an estimator of an estimation compensation unit estimates the worktable speed based on a vibration model, the estimation compensation unit calculates a relative speed by subtracting the worktable speed from a speed command, and generates a compensation command based on the relative speed. Then, a torque command generated by a speed control unit is compensated by a compensation command output by the estimation compensation unit.

[0003] Japanese Patent Application Laid-Open No. 2023-122980

[0004] By considering the problem of vibration that may occur during machining of an object due to inappropriate machining conditions in a machining tool or wear / deterioration of the tool of the machining tool, etc., further improvement in the machining quality of the object (for example, the quality of the machined surface shape) may be desired. Patent Document 1 discloses a technique for suppressing vibration of a worktable, but this technique may take time to create a vibration model, and a more easily realizable means is desired.

[0005] In view of the above reasons, the present disclosure is made, and an object thereof is to provide a control system, a control method, a design processing method, and a program that can more easily realize improvement in the machining quality of an object.

[0006] A control system according to one aspect of the present disclosure controls a cutting machine that performs cutting of an object using the power of a motor. The control system comprises a position control unit, a speed control unit, a torque control unit, a filter unit, a compensation unit, a determination function unit, and a parameter setting unit. The position control unit controls the position of the motor based on a motor position command. The speed control unit controls the speed of the motor based on the output of the position control unit. The torque control unit controls the torque of the motor based on the output of the speed control unit. The filter unit has at least one filter that extracts periodic vibration components of the motor. The compensation unit outputs a compensation command to compensate for the torque of the motor based on the periodic vibration components extracted by the filter. The periodic vibration components are components in a frequency band lower than the cutting frequency related to the cutting of the object. The determination function unit identifies the periodic vibration components based on processing data obtained by the cutting of the object and shape data related to the shape of the processed surface of the object, and determines whether or not vibration in the cutting machine can be suppressed based on the identification result. The parameter setting unit sets the parameters of the filter based on the determination result by the determination function unit.

[0007] A control method according to one aspect of the present disclosure is a control method for the control system described above. The control method includes a position control step, a speed control step, a torque control step, an extraction step, and a compensation step. In the position control step, the position of the motor is controlled based on a motor position command. In the speed control step, the speed of the motor is controlled based on the output of the position control step. In the torque control step, the torque of the motor is controlled based on the output of the speed control step. In the extraction step, the periodic oscillation component of the motor is extracted using at least one filter of the filter unit. In the compensation step, a compensation command is output to compensate for the torque of the motor based on the periodic oscillation component extracted in the extraction step.

[0008] A program according to one aspect of this disclosure is a program that causes one or more processors to execute the control method described above.

[0009] A design processing method according to one aspect of the present disclosure is a design processing method for a filter applied to the control system described above. The design processing method includes an acquisition processing step, a identification processing step, a determination processing step, and a setting processing step. In the acquisition processing step, the machining data and the shape data are acquired. In the identification processing step, the periodic vibration components of the motor are identified based on the machining data and the shape data. In the determination processing step, a determination is made based on the identification result from the identification processing step whether or not vibrations in the cutting machine can be suppressed. In the setting processing step, the parameters of the filter are set based on the determination result from the determination processing step.

[0010] A program according to one aspect of this disclosure is a program that causes one or more processors to execute the design processing method described above.

[0011] Figure 1 is a block diagram of a machining system including a control system according to one embodiment. Figure 2 is a block diagram of a motor controller equipped with the functions of the above control system. Figure 3 is a block diagram of a PC equipped with the functions of the above control system. Figure 4 is a block diagram of the above control system and cutting machine. Figure 5 is a conceptual diagram for explaining the feed direction during uniaxial machining. Figure 6 is a conceptual diagram for explaining the feed direction during biaxial machining. Figure 7 is a block diagram of a milling model in the above control system. Figure 8 is a conceptual diagram of a tool and object for explaining the above milling model. Figure 9 is a waveform diagram of the machining simulation results (motor rotation speed) in the above control system with a filter ("compensated") and without a filter ("uncompensated"). Figure 10 is a characteristic diagram of motor rotation speed and machined surface shape obtained by frequency analysis in the above control system. Figure 11 is a characteristic diagram of machined surface shape obtained by frequency analysis in the above control system, showing the characteristics in the case of test machining (no compensation by filter), filter gain "large", and filter gain "optimal". Figure 12 is a block diagram of the control system for test machining (without filter compensation) in the above control system. Figure 13 is a block diagram of the control system for machining in the above control system under vibration suppression (with filter compensation). Figure 14 is a characteristic diagram of the velocity deviation obtained by frequency analysis in the above control system, and is a diagram to explain the method for determining the suppression gain. Figure 15 is a characteristic diagram of the torque output obtained by frequency analysis in the above control system, and is a diagram to explain the method for determining the suppression gain. Figure 16 is a characteristic diagram of the machined surface shape obtained by frequency analysis in the above control system, showing the characteristics for test machining (without filter compensation) and when the filter gain is "optimal". Figure 17 is a gain diagram in the characteristic diagram (Bode plot) of the above control system regarding "oscillation possibility" when using each of the three types of filters and when there is "no filter". Figure 18 is a phase diagram in the characteristic diagram (Bode plot) of the above.Figure 19 is a gain diagram in a characteristic diagram (Bode plot) relating to the "degree of undulation suppression" in the above control system, both with and without filters. Figure 20 is a phase diagram in the same characteristic diagram (Bode plot). Figure 21 is a flowchart explaining the operation of the vibration suppression feasibility determination function in the above control system. Figure 22 is a conceptual diagram of an example of the first screen displayed by the screen display unit of the above control system. Figure 23 is a flowchart explaining the operation of the gain maximization process (automatic filter design) in the above control system. Figure 24 is a conceptual diagram of an example of the second screen related to the gain maximization process displayed by the screen display unit of the above control system. Figure 25 is a flowchart explaining the operation of the gain optimization process (automatic filter design) in the above control system. Figure 26 is a conceptual diagram of an example of the third screen related to the gain optimization process displayed by the screen display unit of the above control system. Figure 27 is a flowchart explaining the overall operation of the above control system in offline mode. Figure 28 is a flowchart illustrating the overall operation of the control system in online mode. Figure 29 is a block diagram of a motor controller equipped with the functions of Modification Example 1 of the control system. Figure 30 is a block diagram of a motor controller equipped with the functions of Modification Example 2 of the control system. Figure 31 is a block diagram of a motor controller equipped with the functions of Modification Example 3 of the control system. Figure 32 is a block diagram of a motor controller equipped with the functions of Modification Example 4 of the control system. Figure 33 is a block diagram of a motor controller equipped with the functions of Modification Example 5 of the control system.

[0012] (Summary) The following describes the control system, control method, design processing method, and program relating to the embodiments and modifications, with reference to the drawings. Note that the embodiments and modifications described below are only one of the various embodiments of this disclosure. Furthermore, the embodiments and modifications described below can be modified in various ways depending on the design, etc., as long as the objectives of this disclosure are achieved. In addition, the configuration of each of the modifications described below can be appropriately combined with the embodiments or other modifications described below.

[0013] Furthermore, the numerical values, shapes, materials, components, arrangement and connection configurations of components, steps, and the order of steps shown in the following embodiments and modifications are examples only and are not intended to limit the scope of this disclosure. Note that "rotation" as used below refers to rotation.

[0014] One embodiment of the control system 1 (see Figures 1 to 4) is applied to a machining system. The machining system is a system that includes a cutting machine X1 (see Figure 4) for cutting an object (workpiece W1: see Figures 5, 6, and 8). The control system 1 has the function of controlling the cutting machine X1. That is, the control system 1 controls the cutting machine X1 which performs cutting on the object (workpiece W1) using the power of a motor (for example, the servo motor 330 shown in Figure 1).

[0015] The cutting machine X1 is a machine tool that cuts an object using a tool T1 such as an end mill (see Figures 5, 6, and 8).

[0016] As shown in Figures 2 and 4, the control system 1 comprises a position control unit 233, a speed control unit 234, a torque control unit 235, a filter unit 3, a compensation unit 4, a determination function unit J1, and a parameter setting unit J2. In the following embodiment, as shown in Figure 2, it is assumed that the compensation unit 4 also has the function of the filter unit 3, but the compensation unit 4 may be provided separately from the filter unit 3, in which case it may be placed, for example, after the filter unit 3. Also, the function of the compensation unit 4 may be implemented in the torque control unit 235.

[0017] The position control unit 233 controls the motor's position based on the motor's position command. The speed control unit 234 controls the motor's speed based on the output of the position control unit 233. The torque control unit 235 controls the motor's torque based on the output of the speed control unit 234. The filter unit 3 has at least one filter F1 that extracts the motor's periodic oscillation components. The compensation unit 4 outputs a compensation command to compensate for the motor's torque based on the periodic oscillation components extracted by the filter F1. The periodic oscillation components are components in a frequency band lower than the cutting frequency related to the cutting of the workpiece.

[0018] The judgment function unit J1 identifies periodic vibration components based on machining data obtained from the cutting process of the workpiece (work W1) and shape data relating to the machined surface shape of the workpiece (work W1). Based on the identification result, the judgment function unit J1 determines whether or not vibration in the cutting machine X1 can be suppressed. The parameter setting unit J2 sets the parameters of the filter F1 based on the judgment result from the judgment function unit J1.

[0019] The term "motor" here may refer to a tool T1 or a feed motor (servo motor 330: see Figure 1) used to move an object.

[0020] Furthermore, the term "cutting frequency" used here is also called "intermittent cutting frequency," "cutting edge passing frequency," or "cutting vibration frequency." The "cutting frequency" refers to the frequency per cutting edge, calculated from the rotational speed of the spindle drive motor used to rotate the tool T1 of the cutting machine X1 and the number of cutting edges of the tool T1 attached to the spindle.

[0021] According to the above configuration of the control system 1, the compensation unit 4 outputs a compensation command to compensate for the motor torque based on the periodic vibration component extracted by the filter F1. Therefore, for example, vibrations that may occur during the cutting process of the workpiece (work W1) are made easier to suppress. Furthermore, with the above configuration of the control system 1, there is no need to create a vibration model as in the technology disclosed in Patent Document 1, making it easier to implement compared to the technology disclosed in Patent Document 1. In addition, the judgment function unit J1 determines whether or not vibrations in the cutting machine X1 can be suppressed based on the processing data and shape data, and the parameter setting unit J2 (automatically) sets the parameters of the filter F1 based on the judgment result of the judgment function unit J1. Therefore, by applying the filter F1 with the automatically set parameters in this way, vibrations that may occur during the cutting process of the workpiece are made easier to suppress. As a result, the control system 1 has the advantage of making it easier to improve the processing quality of the workpiece.

[0022] Another control method according to one embodiment is the control method for the control system 1 described above. The control method includes a position control step, a speed control step, a torque control step, an extraction step, and a compensation step. In the position control step, the position of the motor is controlled based on a motor position command. In the speed control step, the speed of the motor is controlled based on the output of the position control step. In the torque control step, the torque of the motor is controlled based on the output of the speed control step. In the extraction step, the periodic oscillation component of the motor is extracted by at least one filter F1 of the filter unit 3 of the control system 1. In the compensation step, a compensation command is output to compensate for the torque of the motor based on the periodic oscillation component extracted in the extraction step. The above control method has the advantage that it makes it easier to improve the processing quality of the workpiece.

[0023] This control method is used on a computer system (control system 1). In other words, this control method can also be implemented as a computer program. A program according to one embodiment is a program that causes one or more processors to execute the above control method. The program may be recorded on a computer-readable non-temporary recording medium.

[0024] Another design processing method relating to one embodiment is a design processing method for a filter F1 applied to the control system 1 described above. The design processing method includes an acquisition processing step, a identification processing step, a judgment processing step, and a setting processing step. In the acquisition processing step, machining data and shape data are acquired. In the identification processing step, the periodic vibration components of the motor are identified based on the machining data and shape data. In the judgment processing step, it is determined whether or not vibrations in the cutting machine X1 can be suppressed based on the identification result from the identification processing step. In the setting processing step, the parameters of the filter F1 are set based on the judgment result from the judgment processing step. The above design processing method has the advantage that it makes it easier to achieve improvements in the machining quality of the object.

[0025] This design processing method is used on a computer system (control system 1). In other words, this design processing method can also be implemented as a computer program. A program according to one embodiment is a program that causes one or more processors to execute the above design processing method. The program may be recorded on a computer-readable non-temporary recording medium.

[0026] (Details) (1) Overall Configuration Below, the control system 1 and the processing system according to this embodiment will be described.

[0027] Figure 1 is a block diagram showing an example of a processing system according to this embodiment.

[0028] The machining system is a system for cutting a workpiece W1, and comprises a control system 1 and a cutting machine X1 (see Figure 4). The control system 1 is applied to such a machining system and has the function of controlling the cutting machine X1.

[0029] The control system 1 includes a computer system having one or more processors and memory. At least some of the functions of the control system 1 are realized by the execution of a program recorded in the memory of the computer system by the processor of the computer system. The program may be recorded in memory, provided via a telecommunication line such as the Internet, or provided on a non-temporary recording medium such as a memory card.

[0030] The control system 1 also has a function to calculate the machined shape of an object machined by the cutting machine X1, an analysis function to perform signal analysis on the machined data and shape data, a vibration suppression feasibility determination function to determine whether vibration in the cutting machine X1 can be suppressed, an automatic parameter setting function for filter F1 (automatic parameter design function), and a function to calculate oscillation possibility / undulation suppression degree, a screen display function, etc. In the following embodiment, the "machined shape" of the object is assumed to be the shape of the machined surface of the workpiece W1 (the surface along the imaginary line S1 shown in Figures 5 and 6), and may also be called the "machined surface shape".

[0031] In this embodiment, as an example, multiple functions of the control system 1 are distributed between the motor controllers 230 of each servo amplifier 200 shown in Figures 1 and 2, and the PC 100 shown in Figures 1 and 3. In particular, among the multiple functions of the control system 1, the control system functions are provided in the motor controllers 230, while the analysis function, vibration suppression feasibility determination function, and automatic parameter setting function are provided in the PC 100.

[0032] PC100 is assumed to be a laptop computer, for example, but it may also be a desktop computer. PC100 has software installed that displays a user interface (UI) for operating the servo amplifier 200 (indicated as "UI software 110" in Figures 1 and 3), and the UI software 110 includes some of the functions of the control system 1.

[0033] The cutting machine X1 is a machine tool that cuts a workpiece W1, which is an object fixed to a stage B1 (see Figure 2), using a tool T1 such as an end mill (see Figures 5, 6, and 8). The cutting machine X1 is equipped with a servo amplifier 200, a linear encoder 310, a motor encoder 320, and a servo motor 330 (see Figure 1). Figure 1 shows a machine capable of biaxial machining, and two sets of servo amplifiers 200, linear encoders 310, motor encoders 320, and servo motors 330 are shown. The two sets of servo amplifiers 200, linear encoders 310, motor encoders 320, and servo motors 330 have basically the same function, differing only in their feed direction, so the same reference numerals are used for each set.

[0034] The servo amplifier 200 is a device for controlling the servo motor 330. The servo motor 330 is an example of a feed motor for moving the tool T1 or the object. The servo motor 330 is, for example, a rotary motor, but it may also be a linear motor. The servo motor 330 moves the tool T1 and the object relative to each other by, for example, moving the stage B1 on which the object is fixed.

[0035] Each set of servo amplifiers 200 includes a communication IF 210, a communication control unit 220, a motor controller 230, AD converters 240, 250, and 260, and a PWM controller 270, as shown in Figure 1.

[0036] The communication IF 210 is a communication interface for communication devices such as communication equipment for communicating with the PC 100. The communication control unit 220 controls communication with the PC 100 via the communication IF 210. For example, the communication control unit 220 transmits data (motor control information) necessary to calculate the processed shape of an object processed by the cutting machine X1 to the PC 100. The motor controller 230 controls the rotational speed of the servo motor 330. The motor controller 230 controls the PWM controller 270 to transmit a control signal from the PWM controller 270 to the servo motor 330 to rotate the servo motor 330. The motor controller 230 can also receive information indicating the rotational position and rotational speed of the servo motor 330 as feedback from the linear encoder 310, motor encoder 320, and servo motor 330 via the AD converters 240, 250, and 260. The motor controller 230 can further adjust the rotational position and rotational speed of the servo motor 330 using this feedback. In other words, as shown in Figure 2, the motor controller 230 has the function of feedback control (FB control) for the rotational position and rotational speed of the servo motor 330.

[0037] (2) Configuration of the motor controller Below, the motor controller 230 will be described in more detail with reference to Figures 2 and 4.

[0038] As described above, among the multiple functions of the control system 1, the control system functions are provided in the motor controller 230. Specifically, the motor controller 230 includes a position control unit 233, a speed control unit 234, a torque control unit 235, a filter unit 3, and a compensation unit 4, which are part of the functions of the control system 1. The motor controller 230 also includes a position command generation unit 231, a feedforward (FF) control unit 232, and a differentiator 236. Furthermore, the motor controller 230 includes three adders C1, C2, and C3.

[0039] The position command generation unit 231 receives, for example, a "position command" regarding the position (angle) of the servo motor 330 from an external device such as a host controller, performs filter processing on the position command, generates a position command signal, and outputs it to the FF control unit 232 and the position control unit 233. The position command signal is input to the adder C1 before being input to the position control unit 233.

[0040] The adder C1 outputs a signal indicating the position deviation between the position command from the position command generation unit 231 and the "feedback (FB) position", which is the position (angle) of the servo motor 330 detected by the motor encoder 320 (denoted as "encoder" in FIG. 2), to the position control unit 233.

[0041] The position control unit 233 controls the position of the motor based on the position command of the servo motor 330. Specifically, the position control unit 233 determines a speed command (for example, the rotational speed of the servo motor 330) such that the position deviation, which is the addition result from the adder C1, becomes zero. The position control unit 233 outputs a speed command signal to the speed control unit 234. The speed command signal is input to the adder C2 before being input to the speed control unit 234.

[0042] The FF control unit 232 uses a feedforward (FF) control model to generate a feedforward (FF) speed command based on the position command from the position command generation unit 231, and outputs an FF speed command signal to the adder C2. The responsiveness of the servo motor 330 is improved by the FF speed command from the FF control unit 232.

[0043] The differentiator 236 differentiates the position (angle) of the servo motor 330 detected by the motor encoder 320, and outputs a signal of the "feedback (FB) speed", which is the differentiation result, to the adder C2.

[0044] The adder C2 outputs a signal indicating the speed deviation between the speed command from the position control unit 233, the FF speed command from the FF control unit 232, and the "FB speed", which is the differentiation result of the differentiator 236, to the speed control unit 234 and the compensation unit 4.

[0045] The filter unit 3 has at least one (one in the example of FIG. 2) filter F1 that extracts the periodic vibration component of the servo motor 330. In the example of FIG. 2, the filter unit 3 is arranged in parallel with the speed control unit 234. The periodic vibration component is a component in a frequency band lower than the cutting frequency related to the cutting of the object (workpiece W1). As an example, it is assumed that the filter F1 is a band-pass filter that allows only the frequency band of the periodic vibration component to pass through. The filter F1 is not limited to a band-pass filter and may be, for example, a low-pass filter.

[0046] The filter unit 3 extracts the periodic vibration component based on the parameters of the filter F1 set by the parameter setting unit J2. In the present embodiment, regarding the automatic setting of the parameters of the filter F1, the determination function unit J1 (details will be described later) identifies the periodic vibration component based on the processing data obtained by the cutting of the object (workpiece W1) and the shape data regarding the processed surface shape of the object. The determination function unit J1 determines whether it is possible to suppress the vibration in the cutting machine X1 based on the identification result. Then, the parameter setting unit J2 (details will be described later) sets the parameters of the filter F1 (automatically) based on the determination result by the determination function unit J1. In other words, the parameters of the filter F1 are automatically set based on the processing data and the shape data.

[0047] The processing data includes at least one of the speed of the motor (servo motor 330), the speed deviation of the motor, and the torque of the motor. Hereinafter, as an example, it is assumed that the processing data includes the speed of the motor, the speed deviation of the motor, and the torque of the motor. Note that the processing data may include, as the "speed of the motor", for example, the rotational speed of the tool T1 or the feed motor (servo motor 330) for moving the object. Further, the processing data may further include, as the "speed of the motor", for example, the rotational speed of the main shaft drive motor for rotating the tool T1.

[0048] The filter F1 can be defined, for example, by the transfer function of the following formula (1). The "parameters" of the filter F1 referred to here are the central angular frequency ω in the formula (1). BIt is assumed that (rad / s), damping ratio ζ, and suppression gain K are at least one of these three control parameters. Note that s in equation (1) is the Laplace operator.

[0049]

[0050] The judgment function unit J1 identifies "periodic vibration components" based on the processing data and the shape of the processed surface of the object, and determines whether vibrations in the cutting machine X1 can be suppressed based on the identified periodic vibration components. Then, the parameter setting unit J2 sets the parameters of the filter F1 based on the judgment result of the judgment function unit J1, so that the filter F1 allows only the frequency band of the periodic vibration components to pass through during cutting. Details on the identification of "periodic vibration components" will be described later.

[0051] The compensation unit 4 outputs a compensation command (torque compensation command) to compensate for the motor torque based on the periodic oscillation component extracted by the filter F1 of the filter unit 3. In this example, the compensation unit 4 has a filter unit 3. In the example in Figure 2, the compensation unit 4, which has a filter unit 3, is arranged in parallel with the speed control unit 234. The compensation unit 4 outputs a signal indicating the torque compensation command to the adder C3.

[0052] The speed control unit 234 controls the motor speed based on the output of the position control unit 233. Specifically, the speed control unit 234 determines the torque command (for example, the torque of the servo motor 330) so that the speed deviation, which is the sum result from the adder C2, becomes zero. The speed control unit 234 outputs the torque command signal to the torque control unit 235. The torque command signal is input to the adder C3 before it is input to the torque control unit 235.

[0053] The adder C3 outputs a signal to the torque control unit 235 indicating the summation result (i.e., the compensated torque command) obtained by adding the torque compensation command from the compensation unit 4 to the torque command from the speed control unit 234.

[0054] The torque control unit 235 controls the motor torque based on the output of the speed control unit 234. Specifically, the torque control unit 235 generates a command signal based on the compensated torque command, which is the summation result of the adder C3, and outputs it to the PWM controller 270 (see Figure 1; not shown in Figure 2). The PWM controller 270 then transmits a control signal to the servo motor 330 to rotate the servo motor 330 based on the command signal.

[0055] (3) PC Configuration Below, PC 100 will be described in more detail with reference to Figures 1 and 3.

[0056] The PC 100 is equipped with UI software 110 and a communication interface 120.

[0057] The communication IF120 is a communication interface, such as a communication device, for communicating with the servo amplifier 200. The communication IF120 receives machining data obtained from the servo amplifier 200 during the machining of an object by the tool T1 of the cutting machine X1. The communication IF120 also transmits operation information to the servo amplifier 200 according to the operation content obtained via the UI for operating the servo amplifier 200.

[0058] As shown in Figures 1 and 3, the UI software 110 includes a screen display unit 111, a data storage unit 112, a processing shape calculation unit 10, an analysis function unit 12, a judgment function unit J1, and a parameter setting unit J2. Furthermore, as shown in Figure 3, the UI software 110 also includes an acquisition unit 11 and a transmission unit 13 (not shown in Figure 1).

[0059] The screen display unit 111 is a functional component that displays a UI for operating the servo amplifier 200 on the display. The screen display unit 111 also displays setting information (for example, setting information such as attenuation ratio and suppression gain) related to the parameters set in the filter F1 of the filter unit 3 (described later), and information related to at least one of the analysis results based on the filter unit 3 with those parameters set. The screen display unit 111 also displays the oscillation possibility and undulation suppression degree, which are the analysis results from the analysis function unit 12 (described later). The screen display unit 111 also displays the judgment result from the judgment function unit J1 (described later).

[0060] The data storage unit 112 stores information (motor control information) received from the servo amplifier 200. The data storage unit 112 also stores setting information and analysis results of the filter unit 3, judgment results from the judgment function unit J1, and analysis results from the analysis function unit 12, such as oscillation possibility and degree of undulation suppression.

[0061] The acquisition unit 11 is a functional component that acquires machining data included in the information (motor control information) received from the servo amplifier 200 via the communication IF 120. In other words, the acquisition unit 11 acquires machining data obtained during the machining of an object (workpiece W1) by the tool T1 of the cutting machine X1. The motor control information also includes information on the frequency characteristics of the control system obtained from the servo amplifier 200 (for example, the frequency characteristics when filter F1 is not set). In the following, the machining data and the frequency characteristics information may be referred to as "servo data".

[0062] The machining shape calculation unit 10 is a functional component that calculates the machining shape of an object that has been machined by the cutting machine X1. In other words, the machining shape calculation unit 10 calculates shape data related to the machining shape of the object based on the machining data acquired by the acquisition unit 11.

[0063] The analysis function unit 12 is a functional component that performs signal analysis on processing data and shape data. As shown in Figure 3, the analysis function unit 12 includes a processing surface shape / servo data analysis function unit 120 and an oscillation possibility undulation suppression degree calculation function unit 122. Details of each function of the analysis function unit 12 will be described later.

[0064] The judgment function unit J1 identifies periodic vibration components based on the processing data and the shape data calculated by the processing shape calculation unit 10. Based on the identification result, the judgment function unit J1 determines whether or not vibration in the cutting machine X1 can be suppressed.

[0065] The parameter setting unit J2 sets the parameters of filter F1 based on the judgment result from the judgment function unit J1. The parameter setting unit J2 generates parameter design information (setting information) for filter F1.

[0066] The transmitting unit 13 transmits the parameter design information (setting information) generated by the parameter setting unit J2 to the servo amplifier 200 via the communication IF 120. The motor controller 230 (control system 1) of the servo amplifier 200 changes the parameter settings of the filter F1 of the filter unit 3 based on the received parameter design information.

[0067] The PC100 is a computer that includes a processor (microprocessor) and memory. The memory includes ROM (Read Only Memory) and RAM (Random Access Memory), and can store programs executed by the processor. Functions such as the screen display unit 111, processing shape calculation unit 10, acquisition unit 11, analysis function unit 12, judgment function unit J1, parameter setting unit J2, and transmission unit 13 are realized by the processor that executes programs stored in memory.

[0068] (3.1) Processing Shape Calculation Unit The functions of the processing shape calculation unit 10 will be explained in more detail below.

[0069] The machining shape calculation unit 10 calculates shape data relating to the machined shape of the object based on the machining data obtained during the machining of the object. As described above, the machining data includes rotational speed data of the feed motor (servo motor 330). The machining data may further include rotational speed data of the spindle drive motor. The machining data may further include motor speed deviation data and torque data of the servo motor 330 (which may be torque command data or torque output data).

[0070] The screen display unit 111 may also display shape data calculated by the processing shape calculation unit 10. In this case, the screen display unit 111 is an example of a display unit that displays shape data.

[0071] Here, we will explain the feed direction D1 during uniaxial machining and the feed direction D2 during biaxial machining when cutting an object with tool T1.

[0072] Figure 5 shows an example of the feed direction D1 during single-axis machining. Figure 6 shows an example of the feed direction D2 during bi-axis machining. The workpiece W1 shown in Figures 5 and 6 is the object to be machined, fixed to the stage B1. The material of the workpiece W1 is assumed to be metal as an example, but it is not limited to metal and may be resin or wood.

[0073] For example, during single-axis machining, the stage B1 is moved in the x-direction by one servo motor 330. During dual-axis machining, the stage B1 is moved in the x-direction by one of the two servo motors 330, and the stage B1 is moved in the y-direction by the other servo motor 330.

[0074] As shown in Figure 5, during single-axis machining, the workpiece W1 can be fed in only one direction (for example, the x-direction), so the workpiece W1 can be cut in a fixed direction. As shown in Figure 6, during bi-axis machining, the workpiece W1 can be fed in any direction, so the workpiece W1 can be cut in any direction. Figure 1 shows the components of a cutting machine X1 capable of bi-axis machining, but the cutting machine X1 may only be capable of single-axis machining. In other words, the cutting machine X1 may be equipped with only one set of servo amplifier 200, linear encoder 310, motor encoder 320, and servo motor 330, etc. Alternatively, the cutting machine X1 may be equipped with three or more sets of servo amplifier 200, linear encoder 310, motor encoder 320, and servo motor 330, etc., so that it may be capable of three-axis or more machining. Note that the imaginary line S1 in Figures 5 and 6 is a line along the machining surface of the workpiece W1.

[0075] Next, we will explain the details of the operation of the processing shape calculation unit 10.

[0076] For example, the machining shape calculation unit 10 calculates shape data based on machining data and the milling model 400. In other words, the machining shape calculation unit 10 has a milling model 400. Figure 7 is a block diagram of the milling model 400. Figure 8 is a conceptual diagram of a tool T1 and a workpiece W1 to explain the milling model 400.

[0077] As shown in Figure 7, the milling model 400 includes, for example, a cutting thickness calculation unit 410, a process gain 420, a compliance 430, and a difference calculation unit 440.

[0078] The cutting thickness calculation unit 410 calculates the cutting thickness H1 (see Figure 8) that is cut off the workpiece W1 by the tool T1. Specifically, the cutting thickness calculation unit 410 calculates the cutting thickness H1 by adding the cutting thickness set by machining conditions such as tool diameter, number of teeth, or radial cutting depth (referred to as static cutting thickness) and the cutting thickness corresponding to the relative displacement between the machined surface S11 and the tool T1 and the workpiece W1 from the previous cycle (referred to as dynamic cutting thickness). The dynamic cutting thickness is calculated by the difference calculation unit 440, which will be described later. As shown in Figure 8, since the machined surface S11 formed in the previous cycle is cut in the current cycle, the cutting thickness H1 for each cycle is affected by the dynamic cutting thickness from the previous cycle. The reference numeral S12 in Figure 8 indicates the machined surface for the current cycle.

[0079] The process gain 420 calculates the cutting resistance according to the cutting thickness H1 calculated by the cutting thickness calculation unit 410. The cutting resistance is generated at the cutting edge point P1 shown in Figure 8, and the direction of force application rotates with the rotation of the tool T1. The symbol R1 in Figure 8 indicates the rotation direction of the tool T1. The process gain 420 converts the cutting resistance in the tangential direction E1 and normal direction E2 of the rotation of the cutting edge at the cutting edge point P1 into cutting resistance in the feed direction (e.g., the x direction in Figure 5) and the perpendicular direction (e.g., the y direction in Figure 5).

[0080] Compliance 430 calculates the relative displacement between the tool T1 and the workpiece W1 generated by the cutting resistance in the feed direction and perpendicular direction calculated by the process gain 420. It is assumed that the workpiece W1 is a rigid body.

[0081] The difference calculation unit 440 calculates the difference between the machined surface S11 from the previous cycle and the relative displacement calculated by the compliance 430 as the dynamic cutting thickness. The dynamic cutting thickness is used to calculate the cutting thickness for the next cycle.

[0082] In this way, cutting resistance causes a relative displacement between the tool T1 and the workpiece W1, and this relative displacement changes the cutting thickness.

[0083] The machining shape calculation unit 10 can calculate the trajectory of the tool T1, that is, the change in the coordinates of the cutting edge position of the tool T1, from the relative displacement calculated in the milling model 400. In addition, the machining shape calculation unit 10 can calculate the coordinates of the machined surface of the cut workpiece W1, that is, the shape data of the machined shape, in accordance with the change in the coordinates of the cutting edge position.

[0084] The processing shape calculation unit 10 inputs the processing data and the calculated shape data into the analysis function unit 12 and also saves them in the data storage unit 112.

[0085] The machining data and shape data may each include information about the same time when the workpiece W1 was machined. It is preferable that the machining shape calculation unit 10 outputs machining data and shape data associated with the time. As an example, the machining data includes the rotational speed data of the spindle speed (rotational speed of the spindle drive motor), the x-axis feed motor (servo motor 330), and the y-axis feed motor (servo motor 330). The machining data also includes the speed deviation data of the spindle drive motor, the x-axis feed motor, and the y-axis feed motor. It also includes the torque data of the spindle drive motor, the x-axis feed motor, and the y-axis feed motor. The shape data includes the machining surface coordinates of the x-axis and the machining surface coordinates of the y-axis calculated from the machining data.

[0086] The "rotational speed" referred to here is, for example, the rotational speed ω calculated (estimated) by the servo amplifier 200 based on the position (angle) of the servo motor 330 (or spindle drive motor) detected by the motor encoder 320 (see Figures 12 and 13). In Figure 2, the rotational speed ω corresponds to the "FB speed," which is the derivative of the differentiator 236.

[0087] Furthermore, the "speed deviation" referred to here is the speed deviation Δω between the rotational speed command ωref, which is a speed command from the position control unit 233, and the aforementioned rotational speed ω (see Figures 12 and 13), and is input to the speed control unit 234.

[0088] Furthermore, the "torque" referred to here is the torque command Tref (see Figures 12 and 13) of the servo motor 330 (or spindle drive motor) determined by position and speed feedback control in the motor controller 230 of the servo amplifier 200. A control signal is transmitted from the PWM controller 270 so that a drive current based on the torque command Tref flows to the servo motor 330 (or spindle drive motor). Note that the "torque" referred to here is not limited to the torque command Tref, but may also be the torque output Tact output from the torque control unit 235. In short, in the machining data used by the control system 1, the data related to motor torque may be the torque output Tact data, not just the torque command Tref data.

[0089] Figure 12 is a block diagram of the control system for test machining (without compensation by filter F1) in control system 1. In Figure 12, the speed deviation Δω is input to the speed control unit 234, the torque command Tref output from the speed control unit 234 is input to the torque control unit 235, and the torque output Tact output from the torque control unit 235 is input to the servo motor 330. In contrast, Figure 13 is a block diagram of the control system for machining in a vibration suppression state (with compensation by filter F1) in control system 1, similar to Figure 2. In Figure 13, the speed deviation Δω is input not only to the speed control unit 234 but also to filter F1 (bandpass filter), the torque command output from the speed control unit 234 and the torque compensation command output from the compensation unit 4 are added together and the compensated torque command Tref is input to the torque control unit 235, and the torque output Tact output from the torque control unit 235 is input to the servo motor 330.

[0090] The motor control information includes information on rotational speed ω, speed deviation Δω, and torque (torque command Tref or torque output Tact). In other words, the motor control information in this embodiment includes information on motor control commands and information on motor control results. Note that motor control information other than rotational speed ω, speed deviation Δω, and torque may also be added to the data output from the machining shape calculation unit 10.

[0091] The processing data and shape data, which are associated with the time, may be displayed on the UI display via the screen display unit 111. By linking (associating) the shape data with the processing data, the behavior of the motor when the processed surface is formed can be understood.

[0092] (3.2) Analysis Function Unit, Judgment Function Unit, Parameter Setting Unit The functions of the analysis function unit 12, judgment function unit J1, and parameter setting unit J2 will be explained in more detail below.

[0093] The analysis function unit 12 performs signal analysis on the processing data and shape data input from the processing shape calculation unit 10, as well as the frequency characteristic information of the control system obtained from the servo amplifier 200. In particular, the analysis function unit 12 has a function to calculate the oscillation possibility of the control system when using a filter F1 with predetermined parameters, and a function to calculate the degree of wobble suppression.

[0094] Specifically, as shown in Figure 3, the analysis function unit 12 includes a machined surface shape / servo data analysis function unit 120 and an oscillation possibility / swell suppression degree calculation function unit 122. The screen display unit 111 displays the analysis results from the analysis function unit 12 (calculation results for oscillation possibility and swell suppression degree). In other words, the analysis results from the analysis function unit 12 are displayed on the UI display via the screen display unit 111.

[0095] In the following, the machined surface shape / servo data analysis function unit 120 may be abbreviated as "analysis unit 120". Also, the oscillation possibility undulation suppression degree calculation function unit 122 may be abbreviated as "calculation unit 122".

[0096] In cutting processes, the so-called "roughing," "intermediate machining," and "finishing" processes may be performed on the machined surface of the same object in this order. The various functions of the processing data acquisition, shape data calculation, and analysis function unit 12 in this embodiment may be performed in a test machining process conducted in advance, or in each of the actual "roughing," "intermediate machining," and "finishing" processes. In the test machining or in each of the actual "roughing," "intermediate machining," and "finishing" processes, cutting may be performed while adjusting the machining conditions (cutting thickness, feed rate, etc.) and the parameters of the filter F1.

[0097] The analysis unit 120 acquires shape data of the machined surface shape and servo data (machining data, information on the frequency characteristics of the control system) from the machined shape calculation unit 10 and performs analysis. In other words, the design processing method for the filter F1 applied to the control system 1 according to this embodiment includes an acquisition processing step. In the acquisition processing step, the cutting machine X1 acquires machining data obtained during the cutting of the object, and shape data relating to the machined surface shape of the object. The analysis unit 120 performs frequency analysis on the machining data and the shape data, respectively.

[0098] In machining, vibrations can occur in the cutting machine X1 due to factors such as inappropriate machining conditions, tool wear / deterioration, or machine wear, leading to unstable cutting and deterioration of the machined surface quality. Specifically, the occurrence of vibrations can cause stripes or scratches to appear on the machined surface, resulting in machining defects.

[0099] For example, Figure 9 is a waveform diagram showing an example of the fluctuation in the rotational speed of the servo motor 330 during cutting (machining simulation result). In particular, Figure 9 shows the speed fluctuation in the case of "compensation enabled" with filter F1 in the control system 1 as a solid line waveform, and the speed fluctuation in the case of "no compensation" without filter F1 as a dashed line waveform. The machining conditions for this machining simulation are, as an example, a spindle drive motor rotational speed of 2000 rpm (cutting frequency: 33 Hz).

[0100] In Figure 9, the rotational speed fluctuation interval Δh1 corresponds to the cutting frequency (33 Hz). In the example in Figure 9, the interval Δh2 corresponds to the low-frequency vibration (7 Hz), i.e., the periodic vibration component, which is the cause of the wobble (striped pattern). By extracting this periodic vibration component with the filter F1 on the motor controller 230 side and compensating for it with the compensation unit 4, the wobble can be suppressed.

[0101] In the enlarged view on the right side of Figure 9, the peak fluctuation range ΔW1 for "no compensation" is, for example, 1.14 rpm, and the peak fluctuation range ΔW2 for "with compensation" is, for example, 0.33 rpm. With "compensation," the unevenness of the rotational speed of the servo motor 330 is suppressed.

[0102] The control system 1 has the function of identifying "periodic vibration components" lower than the cutting frequency, automatically determining whether vibrations in the cutting machine X1 can be suppressed, automatically setting the parameters of filter F1, and compensating for the periodic vibration components using filter F1.

[0103] The screen display unit 111 preferably displays the analysis results information (based on the filter unit 3 with set parameters) on the UI display, as shown in Figure 9.

[0104] The "frequency analysis" in the analysis unit 120 is an analysis to identify the frequency components (periodic vibration components) that are affecting the processed surface.

[0105] The analysis unit 120 performs frequency analysis on the processing data and shape data within the same time range, and outputs the shape data, servo data, and the analysis results of the frequency analysis to the judgment function unit J1 and the calculation unit 122 (see Figure 3).

[0106] Here, the analysis unit 120 performs frequency analysis, for example, using FFT (Fast Fourier Transform). Figure 10 is a characteristic diagram obtained by frequency analysis for the motor rotation speed ω (machining data, in other words, motor control information) and the machined surface shape (shape data), with the horizontal axis representing frequency and the vertical axis representing amplitude. The upper part of Figure 10 shows the characteristic FT1 of the motor rotation speed ω, and the lower part shows the characteristic FT2 of the machined surface shape. As an example, the machining conditions applied to obtain the characteristics FT1 and FT2 in Figure 10 are a spindle drive motor rotation speed of 10,000 rpm (cutting frequency: 167 Hz).

[0107] In the example shown in Figure 10, there are two regions (frequency bands) (regions N11 and N12, indicated by dashed-dotted lines) that contain frequencies (frequency components) where the amplitude peaks are common to both the motor rotation speed characteristic FT1 and the machined surface shape characteristic FT2. Here, "peak" refers to a frequency whose amplitude is larger than the preceding and following frequencies, and is assumed to be a frequency with an amplitude greater than or equal to a specified value. The specified value used for comparison with the amplitude of the motor rotation speed ω may differ from the specified value used for comparison with the amplitude of the machined surface shape.

[0108] In the example shown in Figure 10, there are multiple regions (such as region N22, indicated by the dashed-dotted frame) that contain frequency components with a peak only in the characteristic FT1 of the motor's rotational speed ω. Also, in the example shown in Figure 10, there are multiple regions (such as regions N21 and N23, indicated by the dashed-dotted frame) that contain frequency components with a peak only in the characteristic FT2 of the machined surface shape.

[0109] The frequency bands in regions N11 and N12 are lower than the cutting frequency (the frequency at which the cutting edge of tool T1 strikes the workpiece W1, which in this example of machining conditions is 167 Hz).

[0110] Because the processing data and shape data are linked (corresponded) along the time axis, frequency analysis makes it easy to identify frequencies where amplitude peaks commonly exist (frequencies within regions N11 and N12 in Figure 10, hereinafter sometimes referred to as "peak frequencies"). In other words, it is thought that the peak frequencies within regions N11 and N12 at the motor rotation speed ω form the peak frequencies within regions N11 and N12 caused by the roughness of the processed surface. To put it another way, it can be said that there is a "correlation" between the motor rotation speed ω and the processed surface shape in terms of peak frequencies within regions N11 and N12. Conversely, it can be said that there is "no correlation" between the motor rotation speed ω and the processed surface shape in terms of frequencies within regions N21, N22, N23, etc. By determining the "presence or absence of correlation," it becomes easy to identify the periodic vibration components on the cutting machine X1 side (e.g., servo motor 330) that are affecting the processed surface.

[0111] In the example above, the presence or absence of correlation is determined from the characteristics FT1 and FT2 obtained by frequency analysis of the motor control information, namely the motor rotation speed ω, and the machined surface shape (shape data). However, the data used to determine the presence or absence of correlation with the machined surface shape (shape data) is not limited to the motor rotation speed ω, as long as it is motor control information. For example, the presence or absence of correlation may be determined from the characteristics obtained by frequency analysis of the motor control information, namely the motor torque data (torque command Tref or torque output Tact data), and the machined surface shape (shape data).

[0112] The judgment function unit J1 acquires the analysis results of the frequency analysis performed by the analysis unit 120. Based on the results of the frequency analysis performed by the analysis unit 120, the judgment function unit J1 identifies periodic oscillation components by determining whether or not there is a correlation between the processing data and the shape data. The judgment function unit J1 determines whether or not there is a correlation by extracting frequencies in which amplitude peaks are common (peak frequencies in regions N11 and N12 in Figure 10). Specifically, the judgment function unit J1 performs filtering processing such as a bandpass filter on the analysis results of the frequency analysis to extract frequencies. If there is one or more frequencies in which amplitude peaks are common to both the processing data (rotation speed ω in Figure 10) and the shape data, the judgment function unit J1 determines that there is a "correlation" for those one or more frequencies. On the other hand, for one or more frequencies in which peaks are common to both the processing data and the shape data, the judgment function unit J1 determines that there is "no correlation". The judgment function unit J1 considers the one or more frequencies determined to have a "correlation" as one or more periodic oscillation components. Furthermore, the judgment function unit J1 determines that vibrations in the cutting machine X1 can be suppressed if there is at least one frequency with a "correlation." On the other hand, if there are no frequencies with a "correlation," that is, if there is "no correlation" for all frequencies, the judgment function unit J1 determines that vibrations in the cutting machine X1 cannot be suppressed.

[0113] In other words, the design processing method for the filter F1 applied to the control system 1 according to this embodiment further includes a specific processing step and a judgment processing step. In the specific processing step, the periodic vibration components of the motor are identified (extracted) based on the processing data and shape data. In the judgment processing step, a determination is made as to whether or not vibrations in the cutting machine X1 can be suppressed based on the identification result from the specific processing step. In the example shown in Figure 10, the judgment function unit J1 will extract two periodic vibration components, one around 29 Hz and the other around 31 Hz.

[0114] The judgment function unit J1 outputs shape data of the machined surface shape, servo data (machining data, information on the frequency characteristics of the control system), and information on one or more periodic vibration components that have been determined to be "correlated" (data related to vibration factors) to the parameter setting unit J2. In addition, the results of the frequency analysis of the analysis unit 120 and the judgment results of the judgment function unit J1 are output to the screen display unit 111 and displayed on the UI display via the screen display unit 111. In particular, information on one or more periodic vibration components that have been determined to be "correlated" by the judgment function unit J1 (for example, a characteristic diagram as shown in Figure 10) is output to the screen display unit 111 and displayed on the UI display via the screen display unit 111.

[0115] The analysis unit 120 may have a "time-frequency analysis" function instead of (or in addition to) the "frequency analysis" function described above. If the control system 1 has both the "frequency analysis" function and the "time-frequency analysis" function, the user may be able to select which function to execute via the UI. As a signal analysis, the analysis unit 120 can perform time-frequency analysis on the processing data and shape data within the same time range. As a time-frequency analysis, the analysis unit 120 can perform analysis using, for example, CWT (Continuous Wavelet Transform). Performing time-frequency analysis (CWT) also makes it easier to identify frequencies (peak frequencies) where amplitude peaks commonly exist. In particular, with time-frequency analysis (CWT), it is easier to identify the timing (in other words, the location) of the occurrence of frequencies where amplitude peaks commonly exist compared to the case of frequency analysis (FFT).

[0116] The parameter setting unit J2 automatically sets (automatically designs) the parameters of the filter F1 based on the results of the frequency analysis from the analysis unit 120 and information on one or more periodic oscillation components that have been determined to be "correlated". In other words, the design processing method for the filter F1 applied to the control system 1 according to this embodiment further includes a setting processing step. In the setting processing step, the parameters of the filter F1 are set based on the determination result from the determination processing step.

[0117] The parameter setting unit J2 automatically sets the three control parameters in equation (1) described above, for example. Specifically, the parameter setting unit J2 sets the periodic oscillation component that the judgment function unit J1 has determined to be "correlated" to be the central angular frequency. The parameter setting unit J2 also sets the damping ratio (damping coefficient). The parameter setting unit J2 also sets the suppression gain (filter gain).

[0118] If the judgment function unit J1 determines that there is a correlation between one and more periodic vibration components, the parameter setting unit J2 can automatically design the same number of filters F1 as the number of periodic vibration components determined to be correlated. For example, suppose the judgment function unit J1 identifies three periodic vibration components (let's call them the first, second, and third periodic vibration components). The parameter setting unit J2 can design three filters F1, each having a central angular frequency corresponding to the first to third periodic vibration components. However, the number of identified periodic vibration components and the number of filters F1 automatically designed do not have to be the same. For example, the parameter setting unit J2 may design only one filter F1 having a central angular frequency corresponding to one of the multiple periodic vibration components based on a predetermined constraint (for example, the periodic vibration component with the largest amplitude). Alternatively, the screen display unit 111 may display the multiple periodic vibration components determined to be correlated by the judgment function unit J1 on the UI display, allowing the user to select which of the multiple periodic vibration components to set as the central angular frequency via the UI. In that case, the parameter setting unit J2 may design only one filter F1 having a central angular frequency corresponding to one periodic oscillation component selected by the user.

[0119] [Setting the suppression gain] Incidentally, vibrations can be divided into two types: vibrations caused by the motor (servo motor 330) itself (hereinafter also referred to as "motor-induced vibrations") and vibrations caused by the structure of the cutting machine X1 (hereinafter also referred to as "structure-induced vibrations"). Structure-induced vibrations are vibrations that can occur due to structural factors related to the shaft body to which the motor's output shaft is connected, the support columns and bases that support the shaft body, or the stage B1, etc. (for example, slight displacement of members or gaps between members). In particular, structure-induced vibrations are more likely to occur as the device configuration of the cutting machine X1 becomes more complex or lighter.

[0120] Motor-induced vibrations are relatively easy to suppress by setting a high suppression gain. However, structural vibrations are difficult to suppress even with a high suppression gain.

[0121] Specifically, if, for example, a large compensation torque is applied by simply increasing the suppression gain to suppress structurally caused vibrations, the vibrations of the upper components such as the shaft of the cutting machine X1 may be suppressed, but the vibrations of the lower components such as the base and stage B1 may be amplified. As a result, the undulation of the machined surface may worsen.

[0122] To suppress structurally-induced vibrations, instead of simply increasing the suppression gain, setting an optimal suppression gain allows for the suppression of vibrations in the upper member without exciting vibrations in the lower member. As a result, surface waviness can be eliminated.

[0123] Figure 11 is a characteristic diagram showing the FFT results for the shape data of the machined surface. In Figure 11, the thick line shows the result for test machining (no compensation by filter F1), the dashed line shows the result when the suppression gain of filter F1 is relatively large, and the thin line shows the result when the suppression gain is set to "optimal". In the example in Figure 11, a peak in amplitude due to structural vibration appears at a frequency of around 29 Hz (see the dashed-dotted box). As can be seen from Figure 11, when the suppression gain is large, the amplitude peak increases compared to when there is no compensation by filter F1, and the waviness of the machined surface worsens. When the suppression gain is set to "optimal", the amplitude peak decreases compared to when there is no compensation by filter F1, and the waviness of the machined surface is eliminated.

[0124] Therefore, in this embodiment, the judgment function unit J1 performs a vibration determination process to automatically determine whether the periodic vibration component determined to be "correlated" is a motor-induced vibration or a structure-induced vibration. If the judgment function unit J1 determines that the vibration is motor-induced, the parameter setting unit J2 performs a gain maximization process to maximize the suppression gain. If the judgment function unit J1 determines that the vibration is structure-induced, the parameter setting unit J2 performs a gain optimization process to optimize the suppression gain. The vibration determination process, gain maximization process, and gain optimization process will be described in detail below.

[0125] [Vibration Determination Processing] In the vibration determination processing, the determination function unit J1 automatically determines, based on torque ripple, whether the vibration is motor-induced or structurally induced.

[0126] Torque ripple is a torque pulsation phenomenon that occurs in a servo motor 330 due to the interaction of magnetic flux between the stator and rotor (permanent magnets) when current is passed through the coil. The waveform that appears after one rotation of the motor is taken as the fundamental wave, and its multiple-order components can appear as torque ripple in the shape data of the machined surface and the servo data (machining data). If the servo motor 330 is a PM motor, for example, with "f" as the number of pole pairs, the 1st f-order, 2nd f-order, and 6th f-order components can appear as torque ripple in the shape data and servo data due to motor shaft eccentricity, current variations, or manufacturing variations of the stator, etc.

[0127] The judgment function unit J1 determines whether the shape data and servo data (machining data) contain components (frequencies) that match the torque ripple order described above (for example, if f=5, then 5th, 10th, and 30th orders, etc.). If components that match the torque ripple order exist, the judgment function unit J1 determines that the vibration is motor-induced. The parameter setting unit J2 receives this determination result and performs gain maximization processing to automatically design (automatically set) the parameters.

[0128] On the other hand, the judgment function unit J1 determines that the vibration is structure-induced if there is no component that matches the torque ripple order. The parameter setting unit J2 receives this determination result and performs gain optimization processing to automatically design (automatically set) the parameters.

[0129] [Gain Maximization Process] In the gain maximization process, the parameter setting unit J2 sets the suppression gain in a region where the gain of the closed loop (sometimes abbreviated as CL) of the control system does not exceed 0 dB. In the gain maximization process, the fringe suppression intensity (oscillation limit gain) can be changed by the user in 10 steps (default value is "6") (see Figure 24), and the parameter setting unit J2 sets the suppression gain based on the fringe suppression intensity in a region where the gain of CL does not exceed 0 dB. Further details about Figure 24 will be described later.

[0130] [Gain Optimization Process] The parameter setting unit J2 calculates the optimal suppression gain in the gain optimization process. In this embodiment, the optimal suppression gain is calculated by Tact(FFT) / Δω(FFT). Tact(FFT) is the amplitude obtained from the FFT of the torque output data Tact. Δω(FFT) is the amplitude obtained from the FFT of the velocity deviation data Δω. In other words, the parameter setting unit J2 uses the ratio of the vibration components of the torque output Tact and the velocity deviation Δω as the optimal suppression gain. Note that in the above equation Tact(FFT) / Δω(FFT), Tact(FFT) may be replaced with Tref(FFT), which is the amplitude obtained from the FFT of the torque command data Tref.

[0131] The vibration components of torque output Tact and velocity deviation Δω will be explained in more detail below with reference to Figures 14 and 15.

[0132] Figure 14 is a characteristic graph showing characteristic Ve1 obtained by frequency analysis (FFT) of the velocity deviation Δω data, with frequency on the horizontal axis and amplitude on the vertical axis. Similarly, Figure 15 is a characteristic graph showing characteristic Tq1 obtained by frequency analysis (FFT) of the torque output Tact data, with frequency on the horizontal axis and amplitude on the vertical axis. In both characteristic Ve1 in Figure 14 and characteristic Tq1 in Figure 15, a peak in amplitude (vibration component) due to structural vibration appears at a frequency of around 29 Hz (peak location indicated by a circle in Figures 14 and 15). The frequency around 29 Hz in Figures 14 and 15 coincides with the periodic vibration component around 29 Hz extracted by the judgment function unit J1 as described above. The amplitude value of the peak location indicated by a circle in Figure 14 is Δω (FFT), and the amplitude value of the peak location indicated by a circle in Figure 15 is Tact (FFT).

[0133] When vibrations are structurally caused, compensation using filter F1 with an optimally set suppression gain makes it possible to suppress low-frequency vibrations (around 29 Hz) that occur during actual cutting, as shown in Figure 16. Figure 16 is a characteristic diagram showing the results of FFT for the shape data of the machined surface. In Figure 16, the thick line shows the results for test machining (without compensation by filter F1), and the thin line shows the results when the suppression gain of filter F1 is set to "optimal" (with compensation by filter F1). In the example in Figure 16, when there is no compensation by filter F1, a peak in amplitude due to structurally caused vibration appears at a frequency around 29 Hz. As can be seen from Figure 16, by providing compensation by filter F1 and further setting the suppression gain to "optimal", the amplitude peak is significantly reduced, and as a result, the waviness of the machined surface is eliminated. The machining conditions in Figure 16 are, as an example, a spindle drive motor rotation speed of 10,000 rpm (cutting frequency of 167 Hz).

[0134] [Saving and Displaying Setting Information] Setting information for one or more filters F1 automatically designed (set) by the parameter setting unit J2 (for example, parameter design information for filter F1) is stored in the data storage unit 112. The setting information is also output to the calculation unit 122. Preferably, the screen display unit 111 displays the setting information (i.e., setting information for the parameters set in filter F1 of the filter unit 3) on the UI display. The parameter setting unit J2 also transmits the parameter design information to the servo amplifier 200 via the transmission unit 13.

[0135] [Functions of the Calculation Unit] The calculation unit 122 has a function (hereinafter also referred to as the "first function") to calculate the possibility of oscillation based on servo data (processing data, information on the frequency characteristics of the control system), the results of frequency analysis by the analysis unit 120, the judgment results of the judgment function unit J1, and the setting information by the parameter setting unit J2. The calculation unit 122 also has a function (hereinafter also referred to as the "second function") to calculate the degree of undulation (striped pattern) suppression based on servo data, the results of frequency analysis, the judgment results of the judgment function unit J1, and the setting information by the parameter setting unit J2. The calculation unit 122 is not limited to having both the first function and the second function, and may have only one of the functions.

[0136] The calculation unit 122 executes the first and second functions according to the information specified by the user via the UI (for example, the "stripe suppression intensity" in 0 to 10 levels shown in Figure 24) and calculates the oscillation possibility (%) and the degree of swell suppression (%).

[0137] [First Function] The first function will be explained below with reference to Figures 17 and 18. Figures 17 and 18 are characteristic diagrams (Bode plots) regarding the "oscillation possibility" when using each of the three types of filters F1 and when there is "no filter". Figure 17 is a gain diagram, and Figure 18 is a phase diagram. Figures 17 and 18 show the frequency characteristics of the output signal (motor rotation speed) with respect to the input signal (target value).

[0138] Hereafter, the three types of filters F1 will be referred to as "Filter 1," "Filter 2," and "Filter 3." Filters 1, 2, and 3 have their control parameters, specifically the attenuation ratios, altered relative to each other. As an example, the attenuation ratios are set to gradually increase in the order of Filter 1, Filter 2, and Filter 3 (Filter 3 having the largest attenuation ratio). For convenience, Figures 17 and 18 show a combined illustration of the characteristics of the three types of filters F1.

[0139] The characteristics G0 and Ph0 in Figures 17 and 18 represent the characteristics without a filter. In other words, characteristics G0 and Ph0 are the frequency characteristics obtained from the servo amplifier 200, without the filter F1 being set.

[0140] Characteristics G1 and Ph1 in Figures 17 and 18 show the characteristics of "Filter 1". Characteristics G2 and Ph2 in Figures 17 and 18 show the characteristics of "Filter 2". Characteristics G3 and Ph3 in Figures 17 and 18 show the characteristics of "Filter 3". Characteristics G1 to G3 and Ph1 to Ph3 show the frequency characteristics when "Filter 1" to "Filter 3" are inserted, based on the frequency characteristics obtained from the servo amplifier 200.

[0141] The calculation unit 122 determines the frequency characteristics of the filter of interest as shown in Figures 17 and 18, and determines the frequency at which the phase inverts (in Figure 18, 10 2 The oscillation probability (%) of the filter is calculated (estimated) from the magnitude of the gain (around Hz), that is, by what percentage the cutting machine X1 will be more prone to vibration when the filter is applied. Note that if the gain is 0 dB or higher, the oscillation probability of the filter is estimated to be 100%. If the vibration is motor-induced, it is preferable to apply a filter with a higher gain within the range where the gain does not exceed 0 dB (threshold).

[0142] [Second Function] The second function will be explained below with reference to Figures 19 and 20. Figures 19 and 20 are characteristic diagrams (Bode plots) relating to the "degree of undulation suppression" when using the same "filter 1," "filter 2," and "filter 3" as in Figures 17 and 18, and when there is "no filter." Figure 19 is a gain diagram, and Figure 20 is a phase diagram. Figures 19 and 20 show the frequency characteristics of the output signal (motor rotation speed) in response to the input signal (vibration disturbance).

[0143] The characteristics G10 and Ph10 in Figures 19 and 20 represent the characteristics without a filter. In other words, characteristics G10 and Ph10 are the frequency characteristics obtained from the servo amplifier 200, without the filter F1 being set.

[0144] Characteristics G11 and Ph11 in Figures 19 and 20 represent the characteristics of "Filter 1". Characteristics G12 and Ph12 in Figures 19 and 20 represent the characteristics of "Filter 2". Characteristics G13 and Ph13 in Figures 19 and 20 represent the characteristics of "Filter 3". Characteristics G11 to G13 and Ph11 to Ph13 show the frequency characteristics when "Filter 1" to "Filter 3" are inserted, based on the frequency characteristics obtained from the servo amplifier 200.

[0145] The calculation unit 122 determines the frequency characteristics of the filter of interest as shown in Figures 19 and 20, and calculates (estimates) the degree of wave suppression (%) of the filter, that is, how much wave (striping) is suppressed by applying the filter, from the magnitude of the gain at low-frequency disturbances (frequency at the position of arrow K1). The larger the difference (arrow K1) compared to the characteristic G10 without the filter, the higher the degree of wave suppression.

[0146] If the vibration is motor-induced, it is preferable to adjust the filter parameters (attenuation ratio, central angular frequency, and suppression gain) so that the undulation is suppressed while maintaining a higher gain at the limit of the range where the gain described in the first function (oscillation capability) does not exceed 0 dB.

[0147] (4) Operation of the control system (4.1) Operation of the vibration suppression feasibility determination function Below, a series of operations of the vibration suppression feasibility determination function in the determination function unit J1 of the control system 1 will be explained with reference to Figures 21 and 22. The flowchart shown in Figure 21 is merely one example of an operation flow, and the order of processing may be changed as appropriate, and processing may be added or omitted as appropriate.

[0148] [UI Screen] Before explaining the flowchart of the operation example (see Figure 21), let's first explain Figure 22. Figure 22 is a conceptual diagram of the correlation analysis mode screen (hereinafter also referred to as the first screen Sr1), which is a UI screen. The first screen Sr1 is displayed on the display by the screen display unit 111 in response to predetermined operation inputs from the user via the UI.

[0149] The first screen Sr1 includes an operation area Gr0 corresponding to "Start Calculation", an operation area GrA for accepting mode selection, a display area Gr1 for displaying generated vibration (servo), a display area Gr2 for displaying generated vibration (machined surface), and a display area Gr3 for displaying torque ripple frequency. The first screen Sr1 also includes multiple display areas Gr4 and Gr5 for displaying suppressable frequencies. These multiple display areas Gr4 and Gr5 are also operation areas that can accept selection operations from the user. Furthermore, the first screen Sr1 includes a display area Gr6 for displaying "Speed / Torque (Measured)", a display area Gr7 for displaying "Machine Surface Shape (Estimated)", and a display area Gr8 for displaying "FFT (Measured)".

[0150] In the operation area GrA, clicking the triangle mark with the mouse pointer or similar will display a dropdown menu with two mode options: "Online" and "Offline," allowing the user to select one of the modes.

[0151] The control system 1, with one of two modes, "online" or "offline," selected in the operation area GrA, starts the correlation analysis mode processing, i.e., the vibration suppression feasibility determination function processing, when the operation area Gr0 is pressed by the user using a mouse pointer or the like. Here, as an example, it is assumed that this correlation analysis mode processing is performed in "offline" mode, but it may also be performed in "online" mode. In offline mode, the correlation analysis mode processing and the automatic design of filter F1, described later, are performed (in offline state) after cutting (test machining). On the other hand, in online mode, the correlation analysis mode processing and the automatic design of filter F1 are performed simultaneously (in online state) in parallel with the cutting (assuming it is machining during actual operation, but test machining is also acceptable).

[0152] [Flowchart] The following describes an example of the operation of the vibration suppression feasibility determination function (correlation analysis mode) with reference to the flowchart in Figure 21. As mentioned above, here, as an example, the correlation analysis mode processing will be performed offline after the completion of the cutting process (test machining).

[0153] First, it is assumed that PC100 acquires information on the frequency characteristics of the control system from servo amplifier 200. PC100, in response to user input via UI, instructs servo amplifier 200 to perform a test machining operation as an experimental cutting operation. When the cutting operation is completed, PC100 acquires the machining data obtained from the cutting operation (such as the rotation speed of servo motor 330) from servo amplifier 200. This acquisition of machining data is started, for example, when the user presses "Start Calculation" (operation area Gr0) on the first screen Sr1. This "Start Calculation" operation is performed after the completion of the cutting operation (test machining).

[0154] PC100 calculates the machined surface shape based on the machining data (step ST101). PC100 (analysis unit 120) also analyzes the machining data and the calculated machined surface shape (shape data) (step ST102). The analysis results are displayed in display areas Gr1, Gr2, Gr6, and Gr7 of the first screen Sr1. Specifically, the frequencies and number of peaks with amplitudes above a specified value obtained from the FFT results for the machining data (such as the rotational speed of the servo motor 330) are displayed in display area Gr1. The frequencies and number of peaks with amplitudes above a specified value obtained from the FFT results for the machined surface shape (shape data) are displayed in display area Gr2. In addition, the measured values ​​of the rotational speed and torque of the servo motor 330 included in the machining data obtained by cutting are graphed and displayed in display area Gr6, and the calculation results (shape data) by the machining shape calculation unit 10 are graphed and displayed in display area Gr7.

[0155] Then, the PC100 (judgment function unit J1) determines whether there is a correlation by extracting one or more frequencies in the processing data and shape data where amplitude peaks appear in common (step ST103). If there is a correlation (step ST103: Yes), the PC100 determines that the one or more frequencies determined to be correlated are one or more periodic vibration components and that vibration can be suppressed, and proceeds to step ST104.

[0156] On the other hand, if there is "no correlation" (step ST103: No), the PC100 determines that it is impossible to suppress the vibration (step ST105), and the process ends. The first screen Sr1 displays a message indicating that it has been determined that it is impossible to suppress the vibration (the judgment result of the judgment function unit J1).

[0157] In step ST104, the PC100 (decision function unit J1) determines whether or not there are components (frequencies) in the shape data and servo data (machining data) that match the torque ripple order (5th, 10th, and 30th order, etc.). If there are components that match the torque ripple order (step ST104: Yes), the PC100 determines that the vibration is motor-induced and proceeds to gain maximization processing (automatic parameter design) (step ST106). On the other hand, if there are no components that match the torque ripple order (step ST104: No), the PC100 determines that the vibration is structure-induced and proceeds to gain optimization processing (automatic parameter design) (step ST107).

[0158] In other words, in this embodiment, the automatic parameter design processing route executed by the parameter setting unit J2 branches into a gain maximization route and a gain optimization route depending on the determination of the torque ripple order. The operation of the gain maximization process and the gain optimization process will be explained in the next section.

[0159] If a component (frequency) matching the torque ripple order exists in step ST104, that component (frequency) is displayed in display area Gr3 of the first screen Sr1. Also, if "correlation exists" is determined in step ST103, that is, if it is determined that vibration can be suppressed, one or more periodic vibration components that have been determined to have a "correlation" are displayed in display areas Gr4 and Gr5 of the first screen Sr1. If the vibration is motor-induced, its periodic vibration component is displayed in display area Gr4 (upper area), and if the vibration is structurally induced, its periodic vibration component is displayed in display area Gr5 (lower area).

[0160] Furthermore, in the display area Gr8 of the first screen Sr1, the results of the frequency analysis (FFT) of the processing data (motor rotation speed) and the shape data of the processed surface shape by the analysis unit 120 are displayed as graphs. In particular, in the display area Gr8, periodic oscillation components that have been determined to be "correlated" are displayed surrounded by a dashed frame so that the user can easily visually confirm them (see Figure 22).

[0161] In this way, the display areas Gr3 to Gr5 and Gr8 of the first screen Sr1 show the result of the judgment function unit J1 indicating that it has been determined that vibration can be suppressed.

[0162] (4.2) Operation related to gain maximization process Below, a series of operations related to the gain maximization process (automatic parameter design) in step ST106 of Figure 21 will be explained with reference to Figures 23 and 24. The flowchart shown in Figure 23 is merely one example of an operation flow, and the order of processing may be changed as appropriate, or processing may be added or omitted as appropriate.

[0163] [UI Screen] Before explaining the flowchart of the operation example (see Figure 23), let's first explain Figure 24. Figure 24 is a conceptual diagram of the UI screen, the swell suppression mode screen for torque ripple suppression (hereinafter also referred to as the second screen Sr2).

[0164] The second screen Sr2 is displayed, for example, by pressing the display area Gr4 (see Figure 22) of the first screen Sr1. Specifically, in the first screen Sr1, if the vibration is motor-induced, one or more periodic vibration components are displayed in the display area Gr4 (upper area), and the user transitions from the first screen Sr1 to the second screen Sr2 by selecting one or more periodic vibration components from among them. In other words, the first screen Sr1 is a higher-level screen, and the second screen Sr2 is a lower-level screen.

[0165] The second screen Sr2 includes an operation area Gr10 corresponding to "Start Calculation" and an operation area Gr12 that accepts the fringe suppression intensity (levels 0 to 10).

[0166] The control system 1 starts the gain maximization process (automatic filter design process) when the operation area Gr10 is pressed by the user using a mouse pointer or the like. In other words, the control system 1 does not immediately execute the gain maximization process when it proceeds to step ST106 in Figure 21, but rather executes the gain maximization process after the operation area Gr10 is pressed by the user on the second screen Sr2. As mentioned above, in this example, it is assumed that the "offline" mode is selected in the operation area GrA of the first screen Sr1, so pressing the operation area Gr10 to start the calculation will perform the gain maximization process in offline mode.

[0167] In the operation area Gr12, pressing the triangle mark displays a dropdown menu with 10 levels of suppression intensity from "0" to "10," allowing the user to select one of the suppression intensity levels. In the example in Figure 24, "6" is set as the default suppression intensity. By selecting one of the suppression intensity levels and pressing the operation area Gr10 to start the calculation, the corresponding gain maximization process is performed. This corresponds to the suppression gain (filter gain), which is one of the control parameters of the filter F1. The higher the selected level, the greater the suppression gain (i.e., the stronger the fringe suppression).

[0168] Furthermore, the second screen Sr2 further includes a display area Gr13 for displaying the "attenuation coefficient," a display area Gr14 for displaying the "degree of undulation suppression," and a display area Gr15 for displaying the "possibility of oscillation."

[0169] Display area Gr14 displays the degree of swell suppression (%) calculated by executing the second function using the automatically designed filter F1. Display area Gr15 displays the oscillation probability (%) calculated by executing the first function using the automatically designed filter F1.

[0170] Furthermore, the second screen Sr2 includes a display area Gr16 for displaying "speed / torque (measured)", a display area Gr17 for displaying "machined surface shape (estimated)", and a display area Gr18 for displaying "FFT (measured)". Since display areas Gr16 to Gr18 are generally the same as display areas Gr6 to Gr8 of the first screen Sr1, a detailed explanation is omitted.

[0171] However, unlike the display area Gr8 of the first screen Sr1, the display area Gr18 of the second screen Sr2 displays data hints related to torque ripple. In the example in Figure 24, the periodic oscillation component selected by the user in the display area Gr4 (see Figure 22) is displayed in the display area Gr18 surrounded by a dashed frame for easy visual confirmation by the user. Furthermore, in the example in Figure 24, the matching torque ripple order "6f" is indicated next to the frame as a data hint so that the user can see that the periodic oscillation component is related to torque ripple. Therefore, the user can recognize through the display in the display area Gr18 that the filter parameters are set to suppress torque ripple.

[0172] [Flowchart] Below, an example of the operation of the gain maximization process (automatic parameter design) will be explained with reference to the flowchart in Figure 23.

[0173] As part of the automatic parameter design for filter F1, PC100 sets the central angular frequency of filter F1 based on the extracted periodic oscillation components, and sets the damping coefficient (damping ratio) and suppression gain (filter gain) of filter F1. The flowchart in Figure 23 shows the processing flow for setting the damping coefficient and suppression gain.

[0174] The flowchart in Figure 23 is divided into left and right sides depending on whether there are multiple (extracted) periodic oscillation components (i.e., one) filter F1 to design. Here, we assume that there is one (extracted) periodic oscillation component, and that there is also one filter F1 to design to match the number of periodic oscillation components. Therefore, we will only explain the right-hand side of the flowchart in Figure 23.

[0175] The number of filters F1 in the filter unit 3 may be multiple, as will be explained in Modification Example 3 below. The left side of the flow chart, which corresponds to the case where there are multiple (extracted) periodic oscillation components and multiple filters F1 designed to match that number, will be explained in Modification Example 3.

[0176] PC100 determines whether the number of periodic oscillation components "n" (extracted) is multiple (whether n > 1) (step ST10). As mentioned above, n = 1 here (step ST10: No), so the process proceeds to step ST20 on the right.

[0177] PC100 (temporarily) sets the attenuation coefficient (attenuation ratio) of filter F1 to "0.5" (initial value) (step ST20).

[0178] PC100 (provisionally) sets the filter gain in a region where the gain of CL (Closed Loop) does not exceed 0 dB (step ST21). Specifically, in step ST21, PC100 sets the filter gain in a region where the gain of CL does not exceed 0 dB, based on the suppression intensity selected by the user in the operating region Gr12. For example, the filter gain at which the gain of CL becomes 0 dB when using an initial attenuation coefficient of "0.5" is set to "10 (steps)" of the suppression intensity in the operating region Gr12, and the filter gain is divided into 10 steps, from 0 to 10, and the filter gain is set based on the suppression intensity in the operating region Gr12. Then, PC100 calculates the gain of CL when using filter F1 with the provisionally set attenuation coefficient and filter gain, and determines whether the gain of CL is 0 dB (threshold) or less (step ST22). Note that if oscillation is significant, PC100 may set the threshold for comparison with the gain of CL to 0 dB or less.

[0179] If the gain of CL is 0 dB or less (step ST22: Yes), the attenuation coefficient and filter gain of filter F1 are determined, and the process ends.

[0180] On the other hand, if the gain of CL is not 0 dB or less (step ST22: No), the damping coefficient is set to a smaller value than the current value (step ST23), and step ST21 is performed again. The damping coefficient is reduced until the gain of CL becomes 0 dB or less in step ST22.

[0181] The PC100 then displays the adjusted damping coefficient in the display area Gr13 of the second screen Sr2. The PC100 also uses the automatically designed filter F1 to calculate the degree of swell suppression and the possibility of oscillation, and displays the calculation results in the display areas Gr14 and Gr15 of the second screen Sr2.

[0182] When the user applies the automatically designed filter F1, they input an operation command via the UI to apply the filter F1, and parameter design information is transmitted from the PC 100 to the servo amplifier 200. As a result, the servo amplifier 200 sets the filter F1 of the filter unit 3 based on the received parameter design information.

[0183] (4.3) Operation related to gain optimization processing Below, a series of operations related to the gain optimization processing (automatic parameter design) in step ST107 of Figure 21 will be explained with reference to Figures 25 and 26. The flowchart shown in Figure 25 is merely one example of the operation flow, and the order of processing may be changed as appropriate, and processing may be added or omitted as appropriate.

[0184] [UI Screen] Before explaining the flowchart of the operation example (see Figure 25), let's first explain Figure 26. Figure 26 is a conceptual diagram of the UI screen, which is the undulation suppression mode screen for other vibration suppression (hereinafter also called the third screen Sr3).

[0185] The third screen, Sr3, is displayed, for example, by pressing the display area Gr5 (see Figure 22) of the first screen, Sr1. Specifically, in the first screen, Sr1, if the vibration is structurally caused, one or more periodic vibration components are displayed in the display area Gr5 (the lower area). The user can then select one or more periodic vibration components from among them to transition from the first screen, Sr1, to the third screen, Sr3. In other words, the third screen, Sr3, is a lower-level screen, similar to the second screen, Sr2.

[0186] The third screen, Sr3, includes an operation area Gr20 corresponding to "Start Calculation".

[0187] The control system 1 starts the gain optimization process (automatic filter design process) when the operation area Gr20 is pressed by the user using a mouse pointer or the like. In other words, the control system 1 does not immediately execute the gain optimization process when the user proceeds to step ST107 in Figure 21, but rather executes the gain optimization process only after the user presses the operation area Gr20 on the third screen Sr3. As mentioned above, in this example, it is assumed that the "offline" mode is selected in the operation area GrA on the first screen Sr1, so pressing the operation area Gr20 to start the calculation will perform the gain optimization process in offline mode.

[0188] Furthermore, the third screen Sr3 includes a display area Gr22 for displaying the "optimal gain," a display area Gr23 for displaying the "attenuation coefficient," a display area Gr24 for displaying the "degree of wave suppression," and a display area Gr25 for displaying the "possibility of oscillation." However, since the display areas Gr23 to Gr25 are generally the same as the display areas Gr13 to Gr15 of the second screen Sr2, a detailed explanation is omitted.

[0189] Furthermore, the third screen Sr3 includes a display area Gr26 for displaying "speed / torque (measured)", a display area Gr27 for displaying "machined surface shape (estimated)", and a display area Gr28 for displaying "FFT (measured)". Since display areas Gr26 to Gr28 are generally the same as display areas Gr6 to Gr8 of the first screen Sr1, a detailed explanation is omitted. In the example in Figure 26, the periodic vibration component selected by the user in display area Gr5 (see Figure 22) is displayed in display area Gr28 surrounded by a dashed frame so that it can be easily confirmed by the user visually.

[0190] [Flowchart] Below, an example of the operation of the gain optimization process (automatic parameter design) will be explained with reference to the flowchart in Figure 25.

[0191] As part of the automatic parameter design for filter F1, PC100 sets the central angular frequency of filter F1 based on the extracted periodic oscillation components, and sets the damping coefficient (damping ratio) and suppression gain (filter gain) of filter F1. The flowchart in Figure 25 shows the processing flow for setting the damping coefficient and suppression gain.

[0192] Note that the flowchart in Figure 25 for the gain optimization process has many steps in common with the flowchart in Figure 23 for the gain maximization process. The same reference numerals are used for the common steps, and their explanations are omitted as appropriate. In the flowchart in Figure 25, the processing content of steps ST14 and ST21 in the flowchart in Figure 23 is different, so in Figure 25, the steps are labeled ST14A and ST21A.

[0193] The flowchart in Figure 25, like the flowchart in Figure 23, is divided into left and right sides depending on whether the number of (extracted) periodic oscillation components (i.e., the number of filters F1 to be designed) is multiple or one. Here, we assume that the number of (extracted) periodic oscillation components is one, and that the number of filters F1 to be designed to match the number of periodic oscillation components is also one. Therefore, only the right side of the flowchart in Figure 25 will be explained here, and the left side of the flowchart will be explained in Modification Example 3.

[0194] In the gain optimization process, PC100 sets the damping coefficient (damping ratio) of filter F1 to "0.5" (initial value) (step ST20). Then, PC100 calculates the FFT ratio of the speed deviation Δω and the torque output Tact (or torque command Tref), i.e., Tact(FFT) / Δω(FFT), and sets it to the optimal filter gain (optimal suppression gain) (step ST21A). Then, PC100 calculates the gain of CL when using filter F1 with the set damping coefficient and filter gain, and determines whether the gain of CL is 0 dB or less (threshold) (step ST22). Note that if oscillation is significant, PC100 may set the threshold for comparison with the gain of CL to 0 dB or less. If the gain of CL is 0 dB or less (step ST22: Yes), the damping coefficient and filter gain of filter F1 are determined, and the process ends. On the other hand, if the gain of CL is not 0 dB or less (step ST22: No), the damping coefficient is set to a smaller value than the current value (step ST23), and the process returns to step ST21A. The damping coefficient is reduced until the gain of CL becomes 0 dB or less in step ST22.

[0195] The PC100 then displays the set optimal filter gain (optimal suppression gain) in the display area Gr22 of the third screen Sr3. The PC100 also displays the adjusted damping coefficient in the display area Gr23 of the third screen Sr3. Furthermore, the PC100 calculates the degree of swell suppression and oscillation possibility using the automatically designed filter F1, and displays the calculation results in the display areas Gr24 and Gr25 of the third screen Sr3.

[0196] When the user applies the automatically designed filter F1, they input an operation command via the UI to apply the filter F1, and parameter design information is transmitted from the PC 100 to the servo amplifier 200. As a result, the servo amplifier 200 sets the filter F1 of the filter unit 3 based on the received parameter design information.

[0197] (4.4) Overall Operation of the Control System (Offline Mode) The overall operation flow of the control system 1 in offline mode will be briefly explained below with reference to the flowchart in Figure 27.

[0198] First, the PC100 acquires information on the frequency characteristics of the control system from the servo amplifier 200 (step ST0).

[0199] The PC 100, in response to user input via a UI, instructs the servo amplifier 200 to perform a test machining operation as an experimental cutting operation (Step ST1: Start of machining).

[0200] When the cutting process is complete, the PC100 acquires the processing data obtained from the cutting process (such as the rotational speed of the servo motor 330) from the servo amplifier 200 (step ST2). This acquisition of processing data is started when the user presses the "Start Calculation" button (operation area Gr0) on the first screen Sr1.

[0201] PC100 calculates the machined surface shape based on the machining data (step ST3). PC100 also analyzes the machining data and the calculated machined surface shape (shape data) (step ST4). PC100 also extracts one or more frequencies in the machining data and shape data where amplitude peaks appear in common to identify (extract) periodic vibration components (step ST5), and determines whether vibration suppression is possible. PC100 also determines whether the vibration is motor-induced or structurally induced.

[0202] PC100 performs automatic design of filter F1 (step ST6). Specifically, PC100 sets the center angular frequency of filter F1, and sets the damping ratio and filter gain of filter F1 based on the extracted periodic oscillation components.

[0203] Then, the PC 100 uses the automatically designed filter F1 to calculate the oscillation possibility and the degree of swell suppression (step ST7), and displays the calculation results on the second screen Sr2 or the third screen Sr3.

[0204] The user, via the UI, inputs an operation command to apply the automatically designed filter F1, and parameter design information is transmitted from the PC 100 to the servo amplifier 200. As a result, the servo amplifier 200 sets the filter F1 of the filter unit 3 based on the received parameter design information.

[0205] Steps ST1 to ST7 can be repeated multiple times. By adjusting the parameters of filter F1 while repeatedly performing steps ST1 to ST7, the vibration compensation accuracy of the filter unit 3 and compensation unit 4 can be further improved.

[0206] (4.5) Overall Operation of the Control System (Online Mode) The overall operation flow of the control system 1 in online mode will be briefly explained below with reference to the flowchart in Figure 28. In online mode, this is an example of operation in which the automatic design of filter F1 is performed simultaneously in an online state in parallel with the cutting process (assuming it is the process during actual operation, but test processing is also acceptable).

[0207] First, the PC100 acquires information on the frequency characteristics of the control system from the servo amplifier 200 (step ST30).

[0208] The PC 100, in response to user input via a UI, instructs the servo amplifier 200 to perform cutting operations (Step ST31: Start of machining).

[0209] Since the online mode is selected, PC100 performs parallel processing (step ST32). Specifically, PC100 acquires machining data (such as the rotational speed of the servo motor 330) obtained in real time from the servo amplifier 200 while the cutting machine X1 is cutting the workpiece (step ST321). This acquisition of machining data is started when the operation area Gr0 of the first screen Sr1 is pressed after the start of the cutting process. In the online mode, pressing the operation area Gr0 of the first screen Sr1 may start both the start of the cutting process and the acquisition of machining data.

[0210] During the cutting process, PC100 calculates the machined surface shape based on the machining data in real time (step ST322). PC100 also analyzes the machining data and the calculated machined surface shape (shape data) in real time during the cutting process (step ST323). Furthermore, during the cutting process, PC100 extracts one or more frequencies in the machining data and shape data where amplitude peaks are common to each other, thereby identifying (extracting) periodic vibration components (step ST324), and determines whether vibration suppression is possible. PC100 also determines whether the vibration is motor-induced or structurally induced.

[0211] PC100 performs real-time automatic design of filter F1 during the cutting process (step ST325).

[0212] Then, during the cutting process, the PC100 uses the automatically designed filter F1 to calculate the oscillation possibility and the degree of waviness suppression (step ST326), and displays the calculation results on the second screen Sr2 or the third screen Sr3. Then, the cutting process is completed. In other words, the parallel processing is completed.

[0213] In online mode operation, unlike offline mode operation, the parameter design information of the automatically designed filter F1 is automatically transmitted from the PC 100 to the servo amplifier 200 during parallel processing. During parallel processing, the servo amplifier 200 changes the settings of the filter F1 in the filter unit 3 in real time based on the received parameter design information. In other words, the filter unit 3 uses the processing data obtained by the cutting machine X1 while cutting the workpiece to change the parameters of the filter F1 in real time while the workpiece is being cut. As a result, vibrations generated during the cutting of the workpiece are compensated and suppressed in real time.

[0214] In addition, even in online mode operation, parameter design information may be transmitted to the servo amplifier 200 by the user inputting an operation command to apply the automatically designed filter F1 after the completion of the cutting process (parallel processing), similar to the operation in offline mode. For example, if parameter design information is transmitted to the servo amplifier 200 after the "rough machining" process is completed, the filter F1 to which that parameter design information has been applied can be used in the next process, "intermediate machining".

[0215] Steps ST31 and ST32 can be repeated multiple times. By adjusting the parameters of filter F1 while repeatedly performing steps ST31 and ST32, the vibration compensation accuracy of the filter unit 3 and compensation unit 4 can be further improved.

[0216] (5) Advantages As described above, according to the control system 1 (servo amplifier 200) of this embodiment, the compensation unit 4 outputs a compensation command to compensate for the torque of the servo motor 330 based on the periodic vibration component extracted by the filter F1. Therefore, for example, it becomes easier to suppress vibrations that may occur when cutting an object (workpiece W1). Also, because the configuration utilizes the filter F1, there is no need to create a vibration model as in the technology disclosed in Patent Document 1, and it is easier to implement compared to the technology disclosed in Patent Document 1. Furthermore, the judgment function unit J1 determines whether or not vibrations in the cutting machine X1 can be suppressed based on the processing data and shape data, and the parameter setting unit J2 (automatically) sets the parameters of the filter F1 based on the judgment result of the judgment function unit J1. Therefore, by applying the filter F1 with the automatically set parameters in this way, it becomes easier to suppress vibrations that may occur when cutting an object. As a result, the control system 1 has the advantage of making it easier to improve the processing quality of the object.

[0217] Furthermore, the judgment function unit J1 automatically determines whether the vibration is motor-induced or structurally induced, and the suppression gain is automatically determined according to the judgment result. In particular, when the vibration is structurally induced, the optimal suppression gain is automatically determined more easily. Therefore, the user is saved from the trouble of adjusting the suppression gain value through trial and error to determine the correct suppression gain.

[0218] Furthermore, the control system 1 (PC100) according to this embodiment has an automatic design function for the filter F1 applied to the motor controller 230, a function for calculating the possibility of oscillation (first function), a function for calculating the degree of wobble suppression (second function), and a function for displaying this information on a screen. As a result, the control system 1 makes it easier for the user to design the filter F1 and also allows for adjustment of the parameters of the highly reliable filter F1. Consequently, the control system 1 has the advantage of making it easier to improve the processing quality of the workpiece.

[0219] (6) Modifications Below are some modifications of the above embodiment. The configuration of each of the following modifications can be appropriately combined with the above embodiment or other modifications.

[0220] Functions similar to those of the control system 1 according to the above embodiment may be implemented by a control method, a filter design processing method, a computer program, or a non-temporary recording medium on which a computer program is stored.

[0221] The control system 1 in this disclosure includes a computer system. The computer system mainly consists of a processor and memory as hardware. The functions of the control system 1 in this disclosure are realized by the processor executing a program recorded in the memory of the computer system. The program may be pre-recorded in the memory of the computer system, provided via a telecommunications line, or provided on a non-temporary recording medium such as a memory card, optical disk, or hard disk drive that can be read by the computer system. The processor of the computer system consists of one or more electronic circuits including semiconductor integrated circuits (ICs) or large-scale integrated circuits (LSIs). The integrated circuits such as ICs and LSIs referred to here are named differently depending on the degree of integration, and include integrated circuits called system LSIs, VLSIs (Very Large Scale Integrations), or ULSIs (Ultra Large Scale Integrations). Furthermore, FPGAs (Field-Programmable Gate Arrays) that are programmed after the manufacture of the LSI, or logic devices that allow for the reconfiguration of junction relationships or circuit compartments within the LSI, can also be used as processors. Multiple electronic circuits may be integrated onto a single chip or distributed across multiple chips. Multiple chips may be integrated onto a single device or distributed across multiple devices. The computer system referred to here includes a microcontroller having one or more processors and one or more memories. Therefore, the microcontroller also consists of one or more electronic circuits, including semiconductor integrated circuits or large-scale integrated circuits.

[0222] Furthermore, it is not essential that the multiple functions of the control system 1 be integrated into a single housing. For example, the components of the control system 1 may be distributed across multiple housings.

[0223] Conversely, multiple functions in the control system 1 may be integrated into a single housing. Furthermore, at least some of the functions of the control system 1, for example, some of the functions of the control system 1, may be implemented by the cloud (cloud computing), etc.

[0224] (6.1) Modification 1 Hereinafter, the control system 1 (motor controller 230A) according to Modification 1 will be described with reference to Figure 29. In addition, for the control system 1 (motor controller 230A) according to Modification 1, components that are similar to those of the control system 1 (motor controller 230) according to the above embodiment may be given the same reference numerals and their detailed descriptions may be omitted.

[0225] In the motor controller 230 of the above embodiment, as shown in Figure 2, a filter unit 3 having a filter F1 is arranged in parallel with the speed control unit 234. Also, a compensation unit 4 having a filter unit 3 is arranged in parallel with the speed control unit 234. However, the arrangement of the filter unit 3 and the compensation unit 4 is not limited to the arrangement shown in Figure 2.

[0226] In the motor controller 230A according to Modification 1, as shown in Figure 29, a filter unit 3 having a filter F1 is arranged in parallel with the position control unit 233. In addition, a compensation unit 4 having a filter unit 3 is arranged in parallel with the position control unit 233.

[0227] In the modified example 1, a signal indicating the position deviation from the adder C1 (i.e., the position deviation between the position command from the position command generation unit 231 and the "FB position" detected by the motor encoder 320) is output not only to the position control unit 233 but also to the compensation unit 4.

[0228] In Modification 1, the filter unit 3 may have a differentiator. The result of differentiating the position deviation from the adder C1 using the differentiator may be input to the filter F1. The compensation unit 4 outputs a compensation command (speed compensation command) to compensate for the speed of the motor (e.g., servo motor 330) based on the periodic oscillation component extracted by the filter F1 of the filter unit 3. The compensation unit 4 outputs a signal indicating the speed compensation command to the adder C3. In other words, the compensation unit 4 in Modification 1 compensates for the motor speed in order to compensate for the motor torque based on the periodic oscillation component extracted by the filter F1.

[0229] In the modified example 1, the speed compensation command from the compensation unit 4 is added to the speed command from the position control unit 233 in the adder C3, and the summation result from the adder C3 is output to the adder C2.

[0230] In the modified example 1, the adder C2 outputs a signal to the speed control unit 234 that shows the speed difference between the summation result from the adder C3, the FF speed command from the FF control unit 232, and the "FB speed" which is the differentiation result from the differentiator 236.

[0231] Even in the configuration of Modification 1, there is the advantage that improvements in the processing quality of the object can be more easily achieved.

[0232] (6.2) Modification 2 Hereinafter, the control system 1 (motor controller 230B) according to Modification 2 will be described with reference to Figure 30. In addition, for the control system 1 (motor controller 230B) according to Modification 2, components similar to those of the control system 1 (motor controller 230) according to the above embodiment may be given the same reference numerals and their detailed descriptions may be omitted.

[0233] In the motor controller 230 of the above embodiment, as shown in Figure 2, a filter unit 3 having a filter F1 is arranged in parallel with the speed control unit 234. Also, a compensation unit 4 having a filter unit 3 is arranged in parallel with the speed control unit 234. However, the arrangement of the filter unit 3 and the compensation unit 4 is not limited to the arrangement shown in Figure 2.

[0234] In the motor controller 230B according to the modified example 2, as shown in Figure 30, a filter unit 3 having a filter F1 is arranged in parallel with the position control unit 233 and the speed control unit 234. In addition, a compensation unit 4 having a filter unit 3 is arranged in parallel with the position control unit 233 and the speed control unit 234.

[0235] In Modification 2, a signal indicating the position deviation from the adder C1 (i.e., the position deviation between the position command from the position command generation unit 231 and the "FB position" detected by the motor encoder 320) is output not only to the position control unit 233 but also to the compensation unit 4. In this respect, it is the same as in Modification 1.

[0236] In Modification 2, the filter unit 3 may have a differentiator. The result of differentiating the position deviation from the adder C1 using the differentiator may be input to the filter F1. The compensation unit 4 outputs a torque compensation command to compensate for the torque of the motor (e.g., servo motor 330) based on the periodic oscillation component extracted by the filter F1. The compensation unit 4 outputs a signal indicating the torque compensation command to the adder C3. In other words, the compensation unit 4 in Modification 2 outputs a torque compensation command to compensate for the torque of the motor based on the periodic oscillation component extracted by the filter F1, similar to the embodiment described above.

[0237] In the modified example 2, the torque compensation command from the compensation unit 4 is added to the torque command from the speed control unit 234 in the adder C3, and the summation result from the adder C3 is output to the torque control unit 235.

[0238] The configuration of the modified example 2 also has the advantage of making it easier to improve the processing quality of the object.

[0239] (6.3) Modification 3 Hereinafter, the control system 1 (motor controller 230C) according to Modification 3 will be described with reference to Figure 31. In addition, for the control system 1 (motor controller 230C) according to Modification 3, components similar to those of the control system 1 (motor controller 230) according to the above embodiment may be given the same reference numerals and their detailed descriptions may be omitted.

[0240] In the motor controller 230 of the above embodiment, as shown in Figure 2, there is one filter F1 in the filter section 3. However, the number of filters F1 is not limited to one, and there may be multiple filters F1.

[0241] In the motor controller 230C according to the third modified example, as shown in Figure 31, the filter unit 3 has, for example, three filters F1 (first filter F11, second filter F12, and third filter F13) arranged in parallel with each other. That is, the filter unit 3 has multiple (in this case, three) filters F1. The multiple filters F1 each extract multiple periodic oscillation components that are different from each other.

[0242] In the third modified example, a signal indicating the velocity deviation from the adder C2 is input to the first filter F11, the second filter F12, and the third filter F13, respectively. Each of the first filter F11, the second filter F12, and the third filter F13 extracts the corresponding periodic oscillation component from the velocity deviation from the adder C2.

[0243] In the modified example 3, the compensation unit 4 outputs three torque compensation commands to compensate for the torque of the motor (e.g., servo motor 330) based on the three periodic oscillation components extracted by the first filter F11, the second filter F12, and the third filter F13, respectively. The three torque compensation commands are then added together and output to the adder C3.

[0244] In Modification 3, as shown in Figure 31, adders C4 and C5 are provided. In Modification 3, the (combined) torque compensation commands from the compensation unit 4 are added by adders C4 and C5, the summation result is added to the torque command from the speed control unit 234 by adder C3, and the summation result from adder C3 is output to the torque control unit 235.

[0245] The configuration of Modified Example 3 also has the advantage of making it easier to improve the processing quality of the workpiece. Furthermore, in the configuration of Modified Example 3, multiple filters F1 can be used to extract multiple different periodic vibration components, thereby further improving the processing quality of the workpiece.

[0246] Incidentally, multiple filters F1 as in the modified example 3 can be applied in the automatic filter design on the PC 100 side when multiple periodic oscillation components are extracted by the analysis unit 120.

[0247] The following describes the operation of automatic filter design when multiple (in this case, three) periodic oscillation components are extracted by the analysis unit 120, referring to the flowcharts in Figures 23 and 25. Note that the right side of the flowcharts in Figures 23 and 25 has already been explained, so only the left side of the flowchart will be explained here.

[0248] PC100 determines whether the number of periodic oscillation components "n" (extracted) is multiple (whether n > 1) (step ST10). As mentioned above, n = 3 here (step ST10: Yes), so the process proceeds to step ST11 on the left.

[0249] PC100 sets "i = 1" (as an initial setting) (step ST11) and determines whether "n + 1 > i" (step ST12).

[0250] If PC100 does not satisfy "n+1 > i" (step ST12: No), then processing will terminate there. Note that on the first run, "n+1 > i" is always true.

[0251] If "n+1 > i" (step ST12: Yes), PC100 (temporarily) sets the attenuation coefficient (attenuation ratio) of the i-th filter F1 to "0.1" (initial value) (step ST13).

[0252] In the flowchart of Figure 23, PC100 (provisionally) sets the filter gain of the i-th filter F1 in a region where the gain of CL (Closed Loop) does not exceed 0 dB (step ST14). Specifically, in step ST14, PC100 sets the filter gain based on the suppression intensity selected by the user in the operating region Gr12, in a region where the gain of CL does not exceed 0 dB. The filter gain at which the gain of CL becomes 0 dB when using the initial value of the attenuation coefficient "0.1" is set to "10 (steps)" of the suppression intensity in the operating region Gr12, and the filter gain is divided into 10 steps, with the filter gain set in the range of 0 to 10 steps based on the suppression intensity in the operating region Gr12. Then, PC100 calculates the gain of CL when using the i-th filter F1, for which the attenuation coefficient and filter gain have been provisionally set, and determines whether the gain of CL is 0 dB (threshold) or less (step ST15). Furthermore, if oscillation is significant, the PC100 may set the threshold for comparison with the gain of CL to 0 dB or less.

[0253] Note that in the flowchart of Figure 25, step ST14A is applied instead of step ST14 in Figure 23. PC100 calculates the FFT ratio of the speed deviation Δω and the torque output Tact (or torque command Tref), i.e., Tact(FFT) / Δω(FFT), and sets it to the optimal filter gain (optimal suppression gain) (step ST14A).

[0254] If the gain of CL is not 0 dB or less (step ST15: No), the attenuation coefficient of the i-th filter F1 is set to a smaller value than the current value (step ST16), and step ST14 (step ST14A in Figure 25) is performed again. The attenuation coefficient of the i-th filter F1 is reduced until the gain of CL becomes 0 dB or less in step ST15.

[0255] On the other hand, if the gain of CL is 0 dB or less (step ST15: Yes), the damping coefficient and filter gain of the i-th filter F1 are determined. Then, PC100 sets "i = i + 1" (step ST17), and the process returns to step ST12 to determine the damping coefficient and filter gain of the next filter F1. In this way, PC100 automatically designs the same number of filters F1 as the number of (extracted) periodic vibration components. That is, if three periodic vibration components are extracted by the analysis unit 120, three filters F1 are automatically designed as shown in Figure 31.

[0256] (6.4) Modification 4 Hereinafter, the control system 1 (motor controller 230D) according to Modification 4 will be described with reference to Figure 32. In addition, for the control system 1 (motor controller 230D) according to Modification 4, components similar to those of the control system 1 (motor controller 230) according to the above embodiment may be given the same reference numerals and their detailed descriptions may be omitted.

[0257] In modified example 4, for instance, a sensor V1 is installed on the stage B1 of the cutting machine X1 as an acceleration sensor. Sensor V1 is an external sensor that measures the acceleration of the stage B1. Sensor V1 transmits the measurement result (sensor information) to the motor controller 230D.

[0258] In this modified example 4, the motor controller 230D of the control system 1 has the function of changing the parameters of filter F1 in real time while the cutting machine X1 is cutting the workpiece (work W1). In the motor controller 230D, the filter unit 3 uses sensor information from an acceleration sensor (sensor V1) installed on the cutting machine X1 to change the parameters of filter F1 in real time while the cutting machine X1 is cutting the workpiece. For example, the filter unit 3 changes the central angular frequency of filter F1 based on sensor information from sensor V1 (i.e., the acceleration of stage B1). If the filter unit 3 has multiple filters F1 as in modified example 3, the filter unit 3 changes the central angular frequencies of the multiple filters F1 based on sensor information from sensor V1.

[0259] The configuration of Modified Example 4 also has the advantage of making it easier to improve the processing quality of the object. Furthermore, in the configuration of Modified Example 4, the parameters of filter F1 are changed in real time using sensor information from sensor V1. Therefore, compared to cases where the parameters of filter F1 are changed after test processing, for example, the effort of performing test processing can be reduced.

[0260] (6.5) Modification 5 Hereinafter, the control system 1 (motor controller 230E) according to Modification 5 will be described with reference to Figure 33. In addition, for the control system 1 (motor controller 230E) according to Modification 5, components similar to those of the control system 1 (motor controller 230) according to the above embodiment may be given the same reference numerals and their detailed descriptions may be omitted.

[0261] Here, the motor controller 230E of the control system 1 according to Modification 5 has the function of changing the parameters of filter F1 in real time while the cutting machine X1 is cutting the workpiece (work W1), similar to Modification 4. However, in the motor controller 230E, the filter unit 3 differs from Modification 4 in that it uses the processing data obtained while the cutting machine X1 is cutting the workpiece to change the parameters of filter F1 in real time while the workpiece is being cut. For example, the filter unit 3 changes the central angular frequency of filter F1 based on the processing data (rotational speed and position, etc.) from the servo motor 330. In Figure 33, it is shown that a signal indicating processing data is input directly from the servo motor 330 to the filter unit 3, but for example, the signal indicating processing data may be input from the motor encoder 320 to the filter unit 3. When the filter unit 3 has multiple filters F1 as in Modification 3, the filter unit 3 changes the central angular frequencies of the multiple filters F1 based on the processing data from the servo motor 330.

[0262] The configuration of Modified Example 5 also has the advantage of making it easier to improve the machining quality of the workpiece. Furthermore, in the configuration of Modified Example 5, the parameters of filter F1 are changed in real time using machining data obtained during the cutting of the workpiece. Therefore, compared to cases where the parameters of filter F1 are changed after a test machining is performed, for example, the effort of performing a test machining can be reduced.

[0263] (6.6) Other Modifications In the above embodiment, as shown in Figure 1, the PC 100, on which software for displaying a UI for operating the servo amplifier 200 is installed, is provided with the functions of the control system 1: the analysis function unit 12, the processing shape calculation unit 10, the judgment function unit J1, the parameter setting unit J2, and the screen display unit 111.

[0264] However, at least some of the functions of the analysis function unit 12, the processing shape calculation unit 10, the judgment function unit J1, the parameter setting unit J2, and the screen display unit 111 in the control system 1 may be provided in each servo amplifier 200.

[0265] Alternatively, at least some of the functions of the analysis function unit 12, the processing shape calculation unit 10, the judgment function unit J1, the parameter setting unit J2, and the screen display unit 111 in the control system 1 may be provided in a higher-level controller. The higher-level controller has software installed for controlling the servo amplifier 200. The higher-level controller is, for example, a motion controller (programmable logic controller (PLC), or industrial PC (IPC), etc.).

[0266] The machining data is not limited to including both the rotational speed of the feed motor (servo motor 330) and the rotational speed of the spindle drive motor. The machining data may include only the rotational speed of the feed motor.

[0267] In the above embodiment, an example was described in which the processed shape calculation unit 10 calculates shape data based on processing data and a milling model 400. However, the shape data can be calculated using processing data obtained during the processing of the object, and the milling model 400 does not necessarily have to be used.

[0268] In the above embodiment, an example was described in which the stage B1 on which the object is fixed is moved by a feed motor (servo motor 330), but the tool T1 may be moved, causing the tool T1 and the object to move relative to each other.

[0269] In the above embodiment, an example was described in which the cutting machine X1 is equipped with a linear encoder 310, but the cutting machine X1 does not necessarily have to be equipped with a linear encoder 310.

[0270] (Summary) Based on the embodiments described above, the following embodiments are disclosed.

[0271] The control system (1) according to the first embodiment controls a cutting machine (X1) that performs cutting on an object (workpiece W1) using the power of a motor (e.g., a servo motor 330). The control system (1) comprises a position control unit (233), a speed control unit (234), a torque control unit (235), a filter unit (3), a compensation unit (4), a determination function unit (J1), and a parameter setting unit (J2). The position control unit (233) controls the position of the motor based on a motor position command. The speed control unit (234) controls the speed of the motor based on the output of the position control unit (233). The torque control unit (235) controls the torque of the motor based on the output of the speed control unit (234). The filter unit (3) has at least one filter (F1) that extracts the periodic oscillation component of the motor. The compensation unit (4) outputs a compensation command to compensate for the torque of the motor based on the periodic oscillation component extracted by the filter (F1). The periodic vibration component is a component in the frequency band lower than the cutting frequency related to the cutting of the workpiece. The judgment function unit (J1) identifies the periodic vibration component based on the machining data obtained by the cutting of the workpiece (work W1) and the shape data related to the machined surface shape of the workpiece (work W1). Based on the identification result, the judgment function unit (J1) determines whether or not vibration in the cutting machine (X1) can be suppressed. The parameter setting unit (J2) sets the parameters of the filter (F1) based on the judgment result by the judgment function unit (J1).

[0272] According to the above embodiment, it becomes easier to achieve improvements in the processing quality of the object (workpiece W1).

[0273] With respect to the control system (1) according to the second embodiment, in the first embodiment, the filter unit (3) extracts periodic oscillation components based on the parameters of the filter (F1) set in the parameter setting unit (J2).

[0274] According to the above embodiment, the accuracy of the extracted periodic vibration components is improved, and the processing quality of the object (workpiece W1) can be further improved.

[0275] With respect to the control system (1) according to the third embodiment, in the first or second embodiment, the filter unit (3) uses processing data obtained while the cutting machine (X1) is cutting the workpiece (work W1) to change the parameters of the filter (F1) in real time during the cutting of the workpiece.

[0276] According to the above embodiment, the effort required for test machining can be reduced compared to, for example, a case where the parameters of the filter (F1) are changed after test machining.

[0277] With respect to the control system (1) according to the fourth embodiment, in any one of the first to third embodiments, the processing data includes at least one of the speed of the motor (e.g., servo motor 330), the speed deviation of the motor, and the torque of the motor.

[0278] According to the above embodiment, the accuracy of the extracted periodic vibration components is improved, and the processing quality of the object (workpiece W1) can be further improved.

[0279] With respect to the control system (1) according to the fifth embodiment, in any one of the first to fourth embodiments, the filter unit (3) uses sensor information from an acceleration sensor (sensor V1) installed on the cutting machine (X1) to change the parameters of the filter (F1) in real time while the cutting machine (X1) is cutting the object (workpiece W1).

[0280] According to the above embodiment, the effort required for test machining can be reduced compared to, for example, a case where the parameters of the filter (F1) are changed after test machining.

[0281] With respect to the control system (1) according to the sixth embodiment, in any one of the first to fifth embodiments, the filter unit (3) has a plurality of filters (F1). The plurality of filters (F1) each extract a plurality of periodic oscillation components that are different from each other.

[0282] According to the above embodiment, it becomes possible to extract multiple different periodic vibration components, thereby further improving the processing quality of the object (workpiece W1).

[0283] The control system (1) according to the seventh embodiment further includes a screen display unit (111) that displays information relating to setting information for a parameter set in the filter (F1) of the filter unit (3) and information relating to at least one of the analysis results based on the filter unit (3) in which the parameter is set, in any one of the first to sixth embodiments.

[0284] According to the above embodiment, the user can check information regarding the settings of the parameters set in the filter (F1) of the displayed filter unit (3) (for example, setting information such as the damping ratio and suppression gain), and information regarding at least one of the analysis results based on the filter unit (3), thereby improving user convenience.

[0285] The control system (1) according to the eighth embodiment further comprises an analysis function unit (12) which has a function to calculate the oscillation possibility of the control system and a function to calculate the degree of swell suppression when using a filter (F1) with predetermined parameters set in any one of the first to seventh embodiments.

[0286] According to the above embodiment, for example, it becomes easier to determine the suitability of the filter (F1) parameters by utilizing the analysis results of the analysis function unit (12).

[0287] The control system (1) according to the ninth embodiment further comprises a screen display unit (111) for displaying the analysis results from the analysis function unit (12), as in the eighth embodiment.

[0288] According to the above embodiment, the user can more easily determine the appropriateness of the filter (F1) parameters by checking the analysis results displayed by the analysis function unit (12), thereby improving user convenience.

[0289] The control system (1) according to the tenth embodiment further comprises an analysis function unit (12) that performs frequency analysis on processing data and shape data, respectively, in any one of the first to ninth embodiments. The judgment function unit (J1) identifies periodic oscillation components by determining whether or not there is a correlation between the processing data and shape data based on the results of the frequency analysis by the analysis function unit (12).

[0290] According to the above embodiment, the periodic oscillation component can be identified with greater accuracy by the judgment function unit (J1).

[0291] The control system (1) according to the eleventh embodiment further comprises a screen display unit (111) that displays the judgment result of the judgment function unit (J1) in any one of the first to tenth embodiments.

[0292] According to the above embodiment, the user can check the judgment result made by the displayed judgment function unit (J1), thereby improving user convenience.

[0293] The control method according to the twelfth embodiment is a control method for a control system (1) in any one of the first to eleventh embodiments. The control method includes a position control step, a speed control step, a torque control step, an extraction step, and a compensation step. In the position control step, the position of the motor is controlled based on a motor position command. In the speed control step, the speed of the motor is controlled based on the output of the position control step. In the torque control step, the torque of the motor is controlled based on the output of the speed control step. In the extraction step, the periodic oscillation component of the motor is extracted by at least one filter (F1) of the filter unit (3). In the compensation step, a compensation command is output to compensate for the torque of the motor based on the periodic oscillation component extracted in the extraction step.

[0294] According to the above embodiment, a control method is provided that makes it easier to improve the machining quality of the object (workpiece W1).

[0295] The program according to the 13th embodiment is a program that causes one or more processors to execute the control method according to the 12th embodiment.

[0296] According to the above embodiment, a function can be provided that makes it easier to improve the processing quality of the object (workpiece W1).

[0297] The design processing method according to the 14th embodiment is a design processing method for a filter (F1) applied to a control system (1) in any one of the first to 11 embodiments. The design processing method includes an acquisition processing step, a identification processing step, a judgment processing step, and a setting processing step. In the acquisition processing step, machining data and shape data are acquired. In the identification processing step, the periodic vibration components of the motor are identified based on the machining data and shape data. In the judgment processing step, a determination is made as to whether or not vibrations in the cutting machine (X1) can be suppressed based on the identification result from the identification processing step. In the setting processing step, the parameters of the filter (F1) are set based on the judgment result from the judgment processing step.

[0298] According to the above embodiment, a method for designing a filter (F1) that makes it easier to improve the processing quality of the object (workpiece W1) can be provided.

[0299] The program according to the 15th embodiment is a program that causes one or more processors to execute the design processing method according to the 14th embodiment.

[0300] According to the above embodiment, a function can be provided that makes it easier to improve the processing quality of the object (workpiece W1).

[0301] The configurations relating to the second to eleventh aspects are not essential to the control system (1) and may be omitted as appropriate.

[0302] 1 Control system 3 Filter unit 4 Compensation unit 12 Analysis function unit 111 Screen display unit 233 Position control unit 234 Speed ​​control unit 235 Torque control unit 330 Servo motor (motor) F1 Filter J1 Judgment function unit J2 Parameter setting unit V1 Sensor (accelerometer) W1 Workpiece (object) X1 Cutting machine

Claims

1. A control system for controlling a cutting machine that uses the power of a motor to cut an object, comprising: a position control unit that controls the position of the motor based on a motor position command; a speed control unit that controls the speed of the motor based on the output of the position control unit; a torque control unit that controls the torque of the motor based on the output of the speed control unit; a filter unit having at least one filter for extracting periodic vibration components of the motor; a compensation unit that outputs a compensation command for compensating the torque of the motor based on the periodic vibration components extracted by the filter; a judgment function unit; and a parameter setting unit, wherein the periodic vibration components are components in a frequency band lower than the cutting frequency related to the cutting of the object; the judgment function unit identifies the periodic vibration components based on processing data obtained by the cutting of the object and shape data related to the processed surface shape of the object, and determines whether or not vibration in the cutting machine can be suppressed based on the identification result; and the parameter setting unit sets the parameters of the filter based on the determination result by the judgment function unit.

2. The control system according to claim 1, wherein the filter unit extracts the periodic oscillation component based on the filter parameters set in the parameter setting unit.

3. The control system according to claim 1 or 2, wherein the filter unit changes the parameters of the filter in real time during the cutting process of the workpiece, using the processing data obtained by the cutting machine during the cutting process of the workpiece.

4. The control system according to any one of claims 1 to 3, wherein the processing data includes at least one of the motor speed, the motor speed deviation, and the motor torque.

5. The control system according to any one of claims 1 to 4, wherein the filter unit uses sensor information from an acceleration sensor installed on the cutting machine to change the parameters of the filter in real time while the cutting machine is cutting the object.

6. The control system according to any one of claims 1 to 5, wherein the filter unit has a plurality of filters, and each of the plurality of filters extracts a plurality of periodic oscillation components that are different from each other.

7. The control system according to any one of claims 1 to 6, further comprising a screen display unit that displays information relating to setting information for parameters set in the filter unit, and information relating to at least one of the analysis results based on the filter unit in which the parameters have been set.

8. The control system according to any one of claims 1 to 7, further comprising an analysis function unit having a function for calculating the oscillation possibility of the control system and a function for calculating the degree of swell suppression when using the filter with predetermined parameters set.

9. The control system according to claim 8, further comprising a screen display unit for displaying the analysis results from the analysis function unit.

10. The control system according to any one of claims 1 to 9, further comprising an analysis function unit that performs frequency analysis on the processing data and the shape data, wherein the determination function unit identifies the periodic vibration component by determining whether or not there is a correlation between the processing data and the shape data based on the results of the frequency analysis by the analysis function unit.

11. The control system according to any one of claims 1 to 10, further comprising a screen display unit for displaying the judgment result of the judgment function unit.

12. A control method for a control system according to any one of claims 1 to 11, comprising: a position control step of controlling the position of the motor based on a motor position command; a speed control step of controlling the speed of the motor based on the output of the position control step; a torque control step of controlling the torque of the motor based on the output of the speed control step; an extraction step of extracting the periodic oscillation component of the motor using at least one filter of the filter unit; and a compensation step of outputting a compensation command for compensating the torque of the motor based on the periodic oscillation component extracted in the extraction step.

13. A program for causing one or more processors to execute the control method described in claim 12.

14. A design processing method for a filter applied to a control system according to any one of claims 1 to 11, comprising: an acquisition processing step of acquiring machining data and shape data; a identification processing step of identifying the periodic vibration component of the motor based on the machining data and shape data; a determination processing step of determining whether or not vibration in the cutting machine can be suppressed based on the determination result of the identification processing step; and a setting processing step of setting the parameters of the filter based on the determination result of the determination processing step.

15. A program for causing one or more processors to execute the design processing method described in claim 14.