Control system, control method, design processing method, and program
The control system for cutting machines addresses vibration issues by extracting and compensating for periodic vibration components, improving machining quality without the need for a vibration model, thus enhancing machining precision.
Patent Information
- Application Number
- PCT/JP2024/039264
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-28
- Filing Date
- 2024-11-05
- Publication Date
- 2025-10-02
AI Technical Summary
Existing cutting machine technologies struggle with vibrations during machining, leading to suboptimal machining quality, particularly in machining conditions that require significant effort to create a vibration model.
A control system for cutting machines that includes a position control unit, speed control unit, torque control unit, filter unit, and compensation unit, which extracts periodic vibration components and compensates for motor torque to suppress vibrations, eliminating the need for a vibration model.
The system effectively suppresses vibrations, improving machining quality by enhancing the control method and design processing, making it easier to achieve better surface finishes.
Smart Images

Figure JP2024039264_02102025_PF_FP_ABST
Abstract
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 particularly, the present disclosure relates to a control system for controlling a cutting machine, a control method for a control system, a design processing method for a filter applied to the control system, and a program.
[0002] Patent Document 1 discloses a technology for a numerical control device that can suppress vibrations of a work table by moving the work table to a predetermined position. In this numerical control device, an estimating section of an estimating / compensating unit estimates the work table speed based on a vibration model, and the estimating / compensating section calculates a relative speed by subtracting the work table speed from a speed command and generates a compensation command based on the relative speed. The torque command generated by the speed control unit is then compensated for by the compensation command output by the estimating / compensating section.
[0003] JP 2023-122980 A
[0004] Considering the problem of vibrations that may occur during machining of an object due to inappropriate machining conditions in a cutting machine or wear / deterioration of the tools of the cutting machine, there are cases where further improvement in the machining quality of the object (for example, the quality of the machined surface shape) is desired. Patent Document 1 discloses a technology that can suppress vibrations of a work table, but this technology may require a lot of work to create a vibration model, and therefore a more easily realized means is desired.
[0005] A control system according to one aspect of the present disclosure controls a cutting machine that uses the power of a motor to cut an object. The control system includes a position control unit, a speed control unit, a torque control unit, a filter unit, and a compensation unit. The position control unit controls the position of the motor based on a position command of the motor. The speed control unit controls the speed of the motor based on an output of the position control unit. The torque control unit controls the torque of the motor based on an 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 a cutting frequency related to cutting of the object.
[0006] A control method according to one aspect of the present disclosure is a control method for a control system that controls a cutting machine that uses the power of a motor to cut an object. 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 position command of the motor. In the speed control step, the speed of the motor is controlled based on an output of the position control step. In the torque control step, the torque of the motor is controlled based on an output of the speed control step. In the extraction step, a periodic vibration component of the motor is extracted using at least one filter included in a filter unit of the control system. In the compensation step, a compensation command for compensating for the torque of the motor is output based on the periodic vibration component extracted in the extraction step. The periodic vibration component is a component in a frequency band lower than a cutting frequency related to cutting of the object.
[0007] A program according to one aspect of the present disclosure is a program for causing one or more processors to execute the above-described control method.
[0008] A design processing method according to one aspect of the present disclosure is a design processing method for the filter applied to the above-mentioned control system. The design processing method includes an acquisition processing step, a specification processing step, and a setting processing step. In the acquisition processing step, the cutting machine acquires machining data obtained during cutting of the object and shape data related to the machined surface shape of the object. In the specification processing step, the periodic vibration component of the motor is identified based on the machining data and the shape data. In the setting processing step, parameters of the filter are set based on the identification results obtained in the specification processing step.
[0009] A program according to one aspect of the present disclosure is a program for causing one or more processors to execute the above-described design processing method.
[0010] The present disclosure has the advantage of making it easier to achieve improvements in the processing quality of objects.
[0011] FIG. 1 is a block diagram of a machining system including a control system according to an embodiment. FIG. 2 is a block diagram of a motor controller having the functions of the control system. FIG. 3 is a block diagram of a personal computer (PC) having the functions of the control system. FIG. 4 is a block diagram of the control system and a cutting machine. FIG. 5A is a conceptual diagram illustrating the feed direction during single-axis machining. FIG. 5B is a conceptual diagram illustrating the feed direction during two-axis machining. FIG. 6 is a block diagram of a milling model in the control system. FIG. 7 is a conceptual diagram of a tool and an object for explaining the milling model. FIG. 8 is a waveform diagram illustrating machining simulation results (motor rotation speed) for the case of "compensation" with a filter and the case of "no compensation" without a filter in the control system. FIG. 9 is a characteristic diagram illustrating the motor torque command and the machined surface shape obtained by frequency analysis in the control system. FIG. 10A is a gain diagram of a characteristic diagram (Bode plot) illustrating the "oscillation possibility" when using three types of filters and when "no filter" is used in the control system. FIG. 10B is a phase diagram of a characteristic diagram (Bode plot) relating to the "oscillation possibility" when each of the three types of filters is used and when "no filter" is used in the control system of the same. FIG. 11A is a gain diagram of a characteristic diagram (Bode plot) relating to the "degree of swell suppression" when each of the three types of filters is used and when "no filter" is used in the control system of the same. FIG. 11B is a phase diagram of a characteristic diagram (Bode plot) relating to the "degree of swell suppression" when each of the three types of filters is used and when "no filter" is used in the control system of the same. FIG. 12 is a conceptual diagram of an example of a screen displayed by a screen display unit in the control system of the same. FIG. 13 is a flowchart for explaining operation example 1 in the control system of the same. FIG. 14 is a flowchart for explaining details of the automatic filter design in FIG. 13. FIG. 15 is a flowchart for explaining operation example 2 in the control system of the same. FIG. 16 is a block diagram of a motor controller having the function of modification 1 related to the control system of the same.Fig. 17 is a block diagram of a motor controller having the functions of Modification 2 of the control system of the same. Fig. 18 is a block diagram of a motor controller having the functions of Modification 3 of the control system of the same. Fig. 19 is a block diagram of a motor controller having the functions of Modification 4 of the control system of the same. Fig. 20 is a block diagram of a motor controller having the functions of Modification 5 of the control system of the same.
[0012] (Summary) Below, a control system, a control method, a design processing method, and a program according to embodiments and modifications will be described with reference to the drawings. Note that the following embodiments and modifications are merely examples of various embodiments of the present disclosure. Furthermore, the following embodiments and modifications can be modified in various ways depending on the design, etc., as long as the object of the present disclosure can be achieved. Furthermore, the configuration of each of the modifications can be appropriately combined with the following embodiments or other modifications.
[0013] Furthermore, the numerical values, shapes, materials, components, the arrangement and connection of the components, steps, the order of steps, and the like shown in the following embodiments and modified examples are merely examples and are not intended to limit the present disclosure. Note that "rotation" described below means rotation on one's own axis.
[0014] A control system 1 (see FIGS. 1 to 4) according to one embodiment is applied to a machining system. The machining system is a system including a cutting machine X1 (see FIG. 4) for cutting an object (workpiece W1: see FIGS. 5A, 5B, and 7). The control system 1 has a function of controlling the cutting machine X1. That is, the control system 1 controls the cutting machine X1, which cuts the object (workpiece W1) by utilizing the power of a motor (for example, the servo motor 330 shown in FIG. 1).
[0015] The cutting machine X1 is a machine tool that cuts an object with a tool T1 (see FIGS. 5A, 5B, and 7) such as an end mill.
[0016] 2 and 4, the control system 1 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. In the following embodiment, it is assumed that the compensation unit 4 also includes the functions of the filter unit 3 as shown in FIG. 2, but the compensation unit 4 may be provided separately from the filter unit 3, and in that case, may be arranged, for example, at a stage subsequent to the filter unit 3. Furthermore, the functions of the compensation unit 4 may be implemented in the torque control unit 235.
[0017] The position control unit 233 controls the position of the motor based on a motor position command. The motor has a fixed stator and a rotor that rotates relative to the stator. The motor position is the angular position of the rotating rotor, i.e., the rotational position. The speed control unit 234 controls the motor speed based on the motor speed command output from the position control unit 233. The motor speed is the rotational speed of the rotor. The torque control unit 235 controls the motor torque based on the motor torque command output from the speed control unit 234. The filter unit 3 has at least one filter F1 that extracts periodic vibration components of the motor. The compensation unit 4 outputs a compensation command to compensate for the motor torque based on the periodic vibration components extracted by the filter F1. The periodic vibration components are components in a frequency band lower than the cutting frequency related to cutting of the object.
[0018] The "motor" referred to here may be the tool T1 or a feed motor (servo motor 330: see FIG. 1) for moving an object.
[0019] The "cutting frequency" referred to here is also called the "intermittent cutting frequency," "cutting edge passing frequency," "cutting vibration frequency," etc., and refers to the frequency per tooth calculated from the rotational speed of the spindle drive motor for rotating the tool T1 of the cutting machine X1 and the number of teeth of the tool T1 attached to the spindle.
[0020] According to the above-described configuration of the control system 1, the compensation unit 4 outputs a compensation command for compensating for the motor torque based on the periodic vibration component extracted by the filter F1. This makes it easier to suppress vibrations that may occur during cutting of the target object (workpiece W1). Furthermore, the above-described configuration of the control system 1 eliminates the need for the time and effort required to create a vibration model, as in the technology disclosed in Patent Document 1, and is easier to implement than the technology disclosed in Patent Document 1. As a result, the control system 1 has the advantage of making it easier to improve the machining quality of the target object.
[0021] Another aspect of the control method is a control method for a control system 1 that controls a cutting machine X1 that cuts an object (workpiece W1) using the power of a motor (e.g., a servo motor 330). 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 motor speed is controlled based on the motor speed command output from the position control step. Specifically, in the speed control step, a torque command is output for controlling the motor speed based on the motor speed command output from the position control step. In the torque control step, the torque of the motor is controlled based on the compensated motor torque command output from the speed control step, i.e., based on the torque command. In the extraction step, at least one filter F1 included in a filter unit 3 of the control system 1 extracts a periodic vibration component of the motor. In the compensation step, a compensation command is output for compensating for the motor torque based on the periodic vibration component extracted in the extraction step. The periodic vibration component is a component in a frequency band lower than the cutting frequency related to cutting the object. The above control method has the advantage that it is easier to achieve improvements in the processing quality of the object.
[0022] This control method is used on a computer system (control system 1). That is, this control method can also be embodied as a computer program. A program according to one aspect is a program for causing one or more processors to execute the above control method. The program may be recorded on a computer-readable non-transitory recording medium.
[0023] A design processing method according to one aspect is a design processing method for a filter F1 applied to the above-described control system 1. The design processing method includes an acquisition processing step, a specification processing step, and a setting processing step. In the acquisition processing step, machining data obtained by the cutting machine X1 during cutting of the object (workpiece W1) and shape data related to the machined surface shape of the object are acquired. In the specification processing step, periodic vibration components of the motor are identified based on the machining data and the shape data. In the setting processing step, parameters of the filter F1 are set based on the identification results from the specification processing step. The above-described design processing method has the advantage of making it easier to achieve improvements in the machining quality of the object.
[0024] This design processing method is used on a computer system (control system 1). That is, this design processing method can also be embodied as a computer program. A program according to one aspect is a program for causing one or more processors to execute the above-described design processing method. The program may be recorded on a computer-readable non-transitory recording medium.
[0025] (Details) (1) Overall Configuration The control system 1 and the machining system according to this embodiment will be described below.
[0026] FIG. 1 is a block diagram showing an example of a machining system according to this embodiment.
[0027] The machining system is a system for cutting a workpiece W1, which is an object, and includes a control system 1 and a cutting machine X1 (see FIG. 4). The control system 1 is applied to such a machining system and has a function of controlling the cutting machine X1.
[0028] The control system 1 includes a computer system having one or more processors and a memory. At least some of the functions of the control system 1 are realized by the processor of the computer system executing a program recorded in the memory of the computer system. The program may be recorded in the memory, or may be provided via a telecommunications line such as the Internet, or may be provided by being recorded on a non-transitory recording medium such as a memory card.
[0029] The control system 1 also has a function of calculating the machined shape of an object machined by the cutting machine X1, an analysis function of performing signal analysis on machining data and shape data, an automatic filter parameter design function, an oscillation possibility / waviness suppression degree calculation function, a screen display function, etc. In the following embodiments, the "machined shape" of the object is assumed to be the shape of the machined surface of the workpiece W1 (the surface along the virtual line S1 shown in FIGS. 5A and 5B ), and may also be called the "machined surface shape."
[0030] In this embodiment, as an example, a plurality of functions of the control system 1 are distributed among the motor controllers 230 of the servo amplifiers 200 shown in Figures 1 and 2, and the personal computer (PC) 100 shown in Figures 1 and 3. In particular, among the plurality of functions of the control system 1, the control system functions are provided in the motor controllers 230, and the analysis function, the filter parameter automatic design function, etc. are provided in the PC 100.
[0031] The PC 100 is assumed to be, for example, a notebook computer, but may also be a desktop computer. Software (referred to as "UI software 110" in FIGS. 1 and 3) that displays a user interface (UI) for operating the servo amplifier 200 is installed on the PC 100, and the UI software 110 includes some of the functions of the control system 1.
[0032] The cutting machine X1 is a machine tool that cuts a workpiece W1, which is an object fixed to a stage B1 (see FIG. 2), using a tool T1 such as an end mill (see FIGS. 5A, 5B, and 7). The cutting machine X1 includes a servo amplifier 200, a linear encoder 310, a motor encoder 320, and a servo motor 330 (see FIG. 1). Note that FIG. 1 shows a machine capable of two-axis machining, and two sets of servo amplifier 200, linear encoder 310, motor encoder 320, and servo motor 330 are shown. The two sets of servo amplifier 200, linear encoder 310, motor encoder 320, and servo motor 330 basically have the same functions except for the feed direction, and therefore the same reference numerals are used for each set.
[0033] 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 an object. The servo motor 330 is, for example, a rotary motor, but may also be a linear motor. The servo motor 330 moves the tool T1 and the object relatively by, for example, moving a stage B1 to which the object is fixed.
[0034] As shown in FIG. 1, each set of servo amplifiers 200 includes a communication IF 210, a communication control section 220, a motor controller 230, analog-to-digital (AD) converters 240, 250 and 260, and a PWM controller 270.
[0035] The communication IF 210 is a communication interface such as a communication device 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 for calculating the machining shape of an object machined 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 cause the PWM controller 270 to transmit a control signal for rotating the servo motor 330 to 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, the motor encoder 320, and the 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 the feedback. That is, the motor controller 230 has a function of feedback control (FB control) for the rotational position and rotational speed of the servo motor 330 as shown in FIG.
[0036] (2) Configuration of the Motor Controller The motor controller 230 will be described in more detail below with reference to FIGS.
[0037] As described above, of 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. The motor controller 230 also includes three adders C1, C2, and C3.
[0038] The position command generation unit 231 receives a "position command" regarding the position (angle) of the servo motor 330 from an external device such as a higher-level controller, performs filtering 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 an adder C1 before being input to the position control unit 233.
[0039] The adder C1 outputs to the position control unit 233 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).
[0040] The position control unit 233 controls the position of the servo motor 330 based on the position command of the servo motor 330. Specifically, the position control unit 233 determines a speed command (e.g., the rotational speed of the servo motor 330) so 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.
[0041] 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 FF speed command from the FF control unit 232 improves the responsiveness of the servo motor 330.
[0042] The differentiator 236 differentiates the position (angle) of the servo motor 330 detected by the motor encoder 320, and outputs the result of the differentiation, a "feedback (FB) speed" signal, to the adder C2.
[0043] 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.
[0044] The filter unit 3 has at least one filter F1 (one in the example of FIG. 2) that extracts periodic vibration components 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 components are components in a frequency band lower than the cutting frequency related to cutting of the target object (workpiece W1). As an example, it is assumed that the filter F1 is a band-pass filter that passes only the frequency band of the periodic vibration components. The filter F1 is not limited to a band-pass filter and may be, for example, a low-pass filter.
[0045] The filter unit 3 extracts periodic vibration components based on machining data obtained by cutting the object (workpiece W1) and the machined surface shape of the object. For example, parameters of the filter F1 are set in advance based on the machining data and the machined surface shape of the object. The machining data includes the motor speed. Specifically, the machining data includes, for example, the rotational speed of the tool T1 or the feed motor (servo motor 330) for moving the object. The machining data may also include the rotational speed of the spindle drive motor for rotating the tool T1.
[0046] The filter F1 can be defined by the transfer function of the following equation (1), for example: B It is assumed that the parameter is at least one of three control parameters: (rad / s), damping ratio ζ, and suppression gain K. Note that s in equation (1) is a Laplace operator.
[0047]
[0048] The "periodic vibration component" is identified based on the machining data and the machining surface shape of the object, and a parameter (central angular frequency ω B ) is set, the filter F1 passes only the frequency band of the periodic vibration component during cutting. Details of how to specify the "periodic vibration component" will be described later.
[0049] The compensator 4 outputs a compensation command (torque compensation command) for compensating for the torque of the motor based on the periodic vibration component extracted by the filter F1 included in the filter unit 3. Here, as an example, the compensator 4 includes the filter unit 3. In the example of FIG. 2 , the compensator 4 including the filter unit 3 is arranged in parallel with the speed control unit 234. The compensator 4 outputs a signal indicating the torque compensation command to the adder C3.
[0050] The speed control unit 234 controls the motor speed based on the position command output from the position control unit 233. Specifically, the speed control unit 234 determines a torque command (e.g., 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 a torque command signal to the torque control unit 235. The torque command signal is input to the adder C3 before being input to the torque control unit 235.
[0051] The adder C3 outputs to the torque control section 235 a signal indicating the result of adding the torque compensation command from the compensation section 4 to the torque command from the speed control section 234 (i.e., the compensated torque command).
[0052] The torque control unit 235 controls the torque of the motor based on the torque command that is the output of the speed control unit 234, more specifically, based on the compensated torque command. Specifically, the torque control unit 235 generates a command signal based on the compensated torque command that is the addition result of the adder C3, and outputs it to the PWM controller 270 (see FIG. 1, not shown in FIG. 2). Then, the PWM controller 270 transmits a control signal to the servo motor 330 to rotate the servo motor 330 based on the command signal.
[0053] (3) PC Configuration The PC 100 will be described in more detail below with reference to FIGS.
[0054] The PC 100 includes a UI software 110 and a communication IF 120 .
[0055] The communication IF 120 is a communication interface such as a communication device for communicating with the servo amplifier 200. The communication IF 120 receives machining data obtained during machining of an object by the tool T1 of the cutting machine X1 from the servo amplifier 200. The communication IF 120 also transmits operation information corresponding to the operation content obtained via a UI for operating the servo amplifier 200 to the servo amplifier 200.
[0056] 1 and 3, the UI software 110 includes a screen display unit 111, a data storage unit 112, a machining shape calculation unit 10, and an analysis function unit 12. The UI software 110 further includes an acquisition unit 11 and a transmission unit 13 (not shown in FIG. 1) as shown in FIG.
[0057] The screen display unit 111 is a functional component that displays on a display a UI for operating the servo amplifier 200. The screen display unit 111 also displays setting information (e.g., setting information such as damping ratio and suppression gain) related to 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 in which the parameters are set. The screen display unit 111 also displays the possibility of oscillation and the degree of swell suppression, which are analysis results by the analysis function unit 12 (described later).
[0058] 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, as well as information such as the possibility of oscillation and the degree of swell suppression, which are analysis results by the analysis function unit 12.
[0059] The acquisition unit 11 is a functional component that acquires machining data included in information (motor control information) received from the servo amplifier 200 via the communication IF 120. That is, the acquisition unit 11 acquires machining data obtained while a target object (workpiece W1) is being machined by a 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, frequency characteristics when the filter F1 is not set). Note that, hereinafter, the machining data and information on the frequency characteristics may also be referred to as "servo data."
[0060] The machining shape calculation unit 10 is a functional component that calculates the machining shape of the object cut by the cutting machine X1. That is, the machining shape calculation unit 10 calculates shape data relating to the machining shape of the object based on the machining data acquired by the acquisition unit 11.
[0061] The analysis function unit 12 is a functional component that performs signal analysis on the machining data and shape data. As shown in Fig. 3, the analysis function unit 12 has a machined surface shape / servo data analysis function unit 120, a filter parameter automatic design unit 121, and an oscillation possibility waviness suppression degree calculation function unit 122. Details of each function of the analysis function unit 12 will be described later.
[0062] The transmitter 13 transmits the parameter design information generated by the filter parameter automatic design unit 121 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.
[0063] The PC 100 is a computer including a processor (microprocessor), a memory, etc. The memory is a ROM (Read Only Memory), a RAM (Random Access Memory), etc., and can store programs executed by the processor. The functions of the screen display unit 111, the machining shape calculation unit 10, the acquisition unit 11, the analysis function unit 12, the transmission unit 13, etc. are realized by the processor, etc., which executes programs stored in the memory.
[0064] (3.1) Machining Shape Calculation Unit The function of the machining shape calculation unit 10 will be described in more detail below.
[0065] The machining shape calculation unit 10 calculates shape data relating to the machining shape of the object based on machining data obtained during machining of the object. As described above, the machining data includes the rotation speed of the feed motor (servo motor 330). The machining data may further include the rotation speed of the spindle drive motor. Furthermore, the machining data may further include torque data (motor torque command) of the servo motor 330.
[0066] The screen display unit 111 may display the shape data calculated by the machining shape calculation unit 10. In this case, the screen display unit 111 is an example of a display unit that displays the shape data.
[0067] Here, the feed direction D1 during single-axis machining and the feed direction D2 during two-axis machining when cutting an object with the tool T1 will be described.
[0068] Fig. 5A is a diagram showing an example of a feed direction D1 during single-axis machining. Fig. 5B is a diagram showing an example of a feed direction D2 during two-axis machining. The workpiece W1 shown in Figs. 5A and 5B is an object to be machined that is fixed to the stage B1. The material of the workpiece W1 is assumed to be metal, for example, but is not limited to metal and may be resin or wood.
[0069] For example, during single-axis machining, the stage B1 is moved in the x direction by one servo motor 330. During two-axis machining, the stage B1 is moved in the x direction by one of the two servo motors 330, and moved in the y direction by the other servo motor 330.
[0070] As shown in FIG. 5A , during single-axis machining, the workpiece W1 can be fed only in a fixed direction (e.g., the x-direction), allowing the workpiece W1 to be cut in a fixed direction. As shown in FIG. 5B , during two-axis machining, the workpiece W1 can be fed in any direction, allowing the workpiece W1 to be cut in any direction. While FIG. 1 shows the components of a cutting machine X1 capable of two-axis machining, the cutting machine X1 may be capable of only single-axis machining. That is, the cutting machine X1 may include only one set of the servo amplifier 200, linear encoder 310, motor encoder 320, and servo motor 330. Furthermore, the cutting machine X1 may include three or more sets of the servo amplifier 200, linear encoder 310, motor encoder 320, and servo motor 330, allowing for three- or more-axis machining. The virtual line S1 in FIGS. 5A and 5B is a line along the machining surface of the workpiece W1.
[0071] Next, the operation of the machining shape calculation unit 10 will be described in detail.
[0072] For example, the machining shape calculation unit 10 calculates shape data based on machining data and a milling model 400. That is, the machining shape calculation unit 10 has the milling model 400. Fig. 6 is a block configuration diagram of the milling model 400. Fig. 7 is a conceptual diagram of a tool T1 and a workpiece W1 for explaining the milling model 400.
[0073] As shown in FIG. 6, 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.
[0074] The cutting thickness calculation unit 410 calculates the cutting thickness H1 (see FIG. 7 ) of the workpiece W1 cut by the tool T1. Specifically, the cutting thickness calculation unit 410 calculates the cutting thickness H1 by adding the cutting thickness (called the static cutting thickness) set by machining conditions such as the tool diameter, number of blades, or radial cutting depth to the cutting thickness (called the dynamic cutting thickness) corresponding to the machining surface S11 of the previous cycle and the relative displacement between the tool T1 and the workpiece W1. The dynamic cutting thickness is calculated by the difference calculation unit 440, which will be described later. As shown in FIG. 7 , because the machining surface S11 formed in the previous cycle is cut in the current cycle, the cutting thickness H1 of each cycle is affected by the dynamic cutting thickness of the previous cycle. Symbol S12 in FIG. 7 indicates the machining surface of the current cycle.
[0075] The process gain 420 calculates the cutting resistance according to the chip thickness H1 calculated by the chip thickness calculation unit 410. The cutting resistance occurs at the cutting edge action point P1 shown in FIG. 7, and the direction of force action rotates with the rotation of the tool T1. The symbol R1 in FIG. 7 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 action point P1 into cutting resistance in the feed direction (e.g., the x direction in FIG. 5A) and the vertical direction (e.g., the y direction in FIG. 5A).
[0076] The compliance 430 calculates the relative displacement between the tool T1 and the workpiece W1 that occurs due to the cutting resistance in the feed direction and the vertical direction calculated by the process gain 420. It is assumed that the workpiece W1 is a rigid body.
[0077] The difference calculation unit 440 calculates, as the dynamic cutting thickness, the difference between the machining surface S11 in the previous cycle and the relative displacement calculated by the compliance 430. The dynamic cutting thickness is used to calculate the cutting thickness in the next cycle.
[0078] In this way, the cutting resistance causes a relative displacement between the tool T1 and the workpiece W1, and the relative displacement changes the cutting thickness.
[0079] The machining shape calculation unit 10 can calculate the trajectory of the tool T1, i.e., the change in coordinate of the cutting edge position of the tool T1, from the relative displacement calculated in the milling model 400. The machining shape calculation unit 10 can also calculate the coordinate of the machining surface of the workpiece W1 cut in accordance with the change in coordinate of the cutting edge position, i.e., the shape data of the machining shape.
[0080] The machining shape calculation unit 10 inputs the machining data and the calculated shape data to the analysis function unit 12 and also stores them in the data storage unit 112 .
[0081] The machining data and shape data may each include information on 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 time. As an example, the machining data may include the spindle speed (rotational speed of the spindle drive motor), the rotational speed and torque command of the x-axis feed axis motor (servo motor 330), and the rotational speed and torque command of the y-axis feed axis motor (servo motor 330). The shape data may include the x-axis machining surface coordinates and the y-axis machining surface coordinates calculated from the machining data.
[0082] The "rotational speed" referred to here is, for example, a 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. The "torque command" is a torque command for the servo motor 330 (or spindle drive motor) determined by position / speed feedback control in the motor controller 230 in the servo amplifier 200. A control signal is transmitted from the PWM controller 270 so that a drive current based on the torque command flows through the servo motor 330 (or spindle drive motor). Information on the rotational speed and torque command are included in the motor control information. In other words, the motor control information in this embodiment includes information on the motor control command and information on the motor control result. Motor control information other than the rotational speed and torque command may also be added to the data output from the machining shape calculation unit 10.
[0083] The machining data and shape data associated with time may be displayed on the UI display via the screen display unit 111. By linking (associating) the shape data with the machining data, it is possible to understand the behavior of the motor when forming the machining surface.
[0084] (3.2) Analysis Function Unit The function of the analysis function unit 12 will now be described in more detail.
[0085] The analysis function unit 12 performs signal analysis on the machining data and shape data input from the machining shape calculation unit 10 and information on the frequency characteristics of the control system obtained from the servo amplifier 200. In particular, the analysis function unit 12 has a function to calculate the possibility of oscillation of the control system when using a filter F1 set with predetermined parameters, and a function to calculate the degree of waviness suppression.
[0086] 3, the analysis function unit 12 has a machined surface shape / servo data analysis function unit 120, a filter parameter automatic design unit 121, and an oscillation possibility / waviness suppression degree calculation function unit 122. The screen display unit 111 displays the analysis results (calculation results of the oscillation possibility and the waviness suppression degree) by the analysis function unit 12. That is, the analysis results by the analysis function unit 12 are displayed on the display of the UI via the screen display unit 111.
[0087] In the following, the machined surface shape / servo data analysis function unit 120 may be abbreviated to "analysis unit 120." The filter parameter automatic design unit 121 may be abbreviated to "design unit 121." The oscillation possibility undulation suppression degree calculation function unit 122 may be abbreviated to "calculation unit 122."
[0088] In cutting, for example, so-called "rough cutting," "intermediate cutting," and "finishing" processes may be performed on the machining surface of the same object in this order. In this embodiment, the acquisition of machining data, calculation of shape data, and various functions by the analysis function unit 12 may be performed in a test machining process carried out in advance, or may be performed in each of the actual "rough cutting," "intermediate cutting," and "finishing" processes. In the test machining and each of the actual "rough cutting," "intermediate cutting," and "finishing" processes, cutting can be performed while adjusting the machining conditions (cutting thickness, feed rate, etc.) and the parameters of the filter F1.
[0089] The analysis unit 120 acquires and analyzes shape data of the machined surface shape and servo data (machining data, information on frequency characteristics of the control system) from the machining shape calculation unit 10. 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, machining data obtained by the cutting machine X1 during cutting of the object and shape data related to the machined surface shape of the object are acquired. The analysis unit 120 performs "frequency analysis" on the shape data and machining data.
[0090] In cutting, "vibrations" may occur on the cutting machine X1 side due to factors such as inappropriate cutting conditions, blade wear / deterioration of the tool T1, or machine wear, resulting in unstable cutting and a deterioration in the quality of the machined surface. Specifically, the occurrence of "vibrations" may cause stripes or scratches to appear on the machined surface, resulting in processing defects.
[0091] For example, Fig. 8 is a waveform diagram showing an example of fluctuations in the rotational speed of the servo motor 330 during cutting (a result of a cutting simulation). In particular, Fig. 8 shows the speed fluctuations in the case of "compensation" when the filter F1 in the control system 1 is provided as a solid waveform, and shows the speed fluctuations in the case of "no compensation" when the filter F1 is not provided as a dashed waveform. Note that the cutting conditions for this cutting simulation are, as an example, a spindle drive motor rotation speed of 2000 rpm (cutting frequency: 33 Hz).
[0092] The fluctuation interval Δh1 of the rotational speed in Fig. 8 corresponds to the cutting frequency (33 Hz). In the example in Fig. 8, the interval Δh2 corresponds to the low-frequency vibration (7 Hz) that causes the waviness (striped pattern), i.e., the periodic vibration component. The waviness can be suppressed by extracting this periodic vibration component using the filter F1 on the motor controller 230 side and compensating for it using the compensation unit 4.
[0093] In the enlarged view on the right side of FIG. 8, the peak fluctuation width ΔW1 without compensation is, for example, 1.14 rpm, and the peak fluctuation width ΔW2 with compensation is, for example, 0.33 rpm, and with compensation, fluctuations in the rotation speed of the servo motor 330 are suppressed.
[0094] The control system 1 has a function of identifying this "periodic vibration component," automatically designing the parameters of the filter F1, and compensating for the periodic vibration component using the filter F1.
[0095] The screen display unit 111 preferably displays information on the analysis results (based on the filter unit 3 with set parameters) as shown in FIG. 8 on the UI display.
[0096] The "frequency analysis" of the analysis unit 120 is an analysis for identifying frequency components (periodic vibration components) that affect the machined surface.
[0097] The analysis unit 120 performs frequency analysis on the processed data and shape data in the same time range, and outputs the analysis results.
[0098] Here, the analysis unit 120 performs frequency analysis using, for example, FFT (Fast Fourier Transform). Fig. 9 is a characteristic diagram obtained by frequency analysis of the motor torque command (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 intensity. The upper part of Fig. 9 shows characteristic Q1 of the motor torque command, and the lower part shows characteristic Q2 of the machined surface shape.
[0099] In the example of Figure 9, there are two regions (frequency bands) (dot-hatched regions Fr1 and Fr2) containing frequencies (frequency components) where intensity peaks are present in both the motor torque command characteristic Q1 and the machined surface shape characteristic Q2. The "peak" here refers to a frequency whose intensity is greater than the preceding and following frequencies and whose intensity is equal to or greater than a specified value. The specified value used to compare the motor torque command intensity and the specified value used to compare the machined surface shape intensity may be different.
[0100] In the example of Fig. 9, there are multiple regions (regions Fm1, Fm2, Fm3, ...) that contain frequency components whose peaks exist only in the characteristic Q1 of the motor torque command. Region Fm1 is a region that contains the cutting frequency (the frequency at which the blade of the tool T1 contacts the workpiece W1, which is 33 Hz in the example of Fig. 9). Regions Fm2, Fm3, ... are regions that contain frequencies that are n times the cutting frequency. Regions that contain frequencies that are four or more times the cutting frequency are not shown in Fig. 9.
[0101] Because the machining data and shape data are linked (corresponded) on the time axis, frequency analysis makes it easy to identify frequencies where intensity peaks exist in common (frequencies within regions Fr1 and Fr2 in FIG. 9 , hereinafter also referred to as "peak frequencies"). In other words, it is thought that the peak frequencies within regions Fr1 and Fr2 in the motor torque command form the peak frequencies within regions Fr1 and Fr2 that are caused by the roughness of the machined surface. As a result, it becomes easy to identify the periodic vibration components of the cutting machine X1 (e.g., servo motor 330) that affect the machined surface.
[0102] The analysis unit 120 extracts frequencies at which intensity peaks are common (peak frequencies within regions Fr1 and Fr2 in FIG. 9 ). Based on the analysis results, the analysis unit 120 extracts one or more frequencies at which intensity peaks appear in common between the processing data and the shape data, and defines the one or more frequencies as one or more periodic vibration components. The analysis unit 120 extracts the one or more frequencies through filtering using a band-pass filter or the like. In other words, the design processing method for the filter F1 applied to the control system 1 according to this embodiment further includes an identification processing step. In the identification processing step, periodic vibration components of the motor are identified (extracted) based on the processing data and the shape data. This extraction processing may be performed by the design unit 121. In the example of FIG. 9 , two periodic vibration components are extracted by the analysis unit 120.
[0103] The analysis unit 120 outputs the servo data, the result of the frequency analysis, and information on the one or more identified periodic vibration components to the design unit 121 and the calculation unit 122. Furthermore, the result of the frequency analysis by the analysis unit 120 and information on the one or more identified periodic vibration components (for example, a characteristic diagram as shown in FIG. 9 ) are output to the screen display unit 111 and displayed on the display of the UI via the screen display unit 111.
[0104] The analysis unit 120 may have a "time-frequency analysis" function instead of (or in addition to) the above-described "frequency analysis" function. When 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 a UI. The analysis unit 120 may perform time-frequency analysis on processed data and shape data in the same time range as signal analysis. The analysis unit 120 may perform analysis using, for example, CWT (continuous wavelet transform) as time-frequency analysis. Performing time-frequency analysis (CWT) also makes it easier to identify frequencies (peak frequencies) at which intensity peaks are commonly present. In particular, time-frequency analysis (CWT) makes it easier to identify the occurrence timing (or, in other words, the occurrence position) of frequencies at which intensity peaks are commonly present compared to frequency analysis (FFT).
[0105] The design unit 121 automatically designs the parameters of the filter F1 based on the results of the frequency analysis from the analysis unit 120 and information on the one or more identified periodic oscillation components. 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 identification results from the identification processing step.
[0106] The design unit 121 automatically sets, for example, the three control parameters in the above-described formula (1). Specifically, the design unit 121 sets the periodic oscillation component identified by the analysis unit 120 as the central angular frequency. The design unit 121 also sets a damping ratio (damping coefficient). The design unit 121 also sets a suppression gain (filter gain) in a region where the gain of the closed loop (sometimes abbreviated as CL) of the control system does not exceed 0 dB.
[0107] If the analysis unit 120 identifies one or more periodic oscillation components, the design unit 121 may automatically design filters F1 in the same number as the identified periodic oscillation components. For example, suppose the analysis unit 120 identifies three periodic oscillation components (first, second, and third periodic oscillation components). The design unit 121 may design three filters F1 having center angular frequencies corresponding to the first, second, and third periodic oscillation components, respectively. However, the number of identified periodic oscillation components does not have to be the same as the number of automatically designed filters F1. For example, the design unit 121 may design only one filter F1 having a center angular frequency corresponding to one of the multiple periodic oscillation components based on a predetermined constraint (e.g., the periodic oscillation component with the strongest intensity). Alternatively, the screen display unit 111 may display the multiple periodic oscillation components identified by the analysis unit 120 on a UI display, allowing the user to select, via the UI, which of the multiple periodic oscillation components to set as the center angular frequency. In this case, the design unit 121 may design only one filter F1 having a center angular frequency corresponding to one periodic oscillation component selected by the user.
[0108] Setting information (e.g., parameter design information of the filter F1) related to one or more filters F1 automatically designed (set) by the design unit 121 is stored in the data storage unit 112. The setting information is also output to the calculation unit 122. The screen display unit 111 preferably displays the setting information (i.e., setting information related to the parameters set for the filter F1 of the filter unit 3) on the display of the UI. The design unit 121 also transmits the parameter design information to the servo amplifier 200 via the transmission unit 13.
[0109] The calculation unit 122 has a function (hereinafter also referred to as a "first function") of calculating the possibility of oscillation based on the servo data (processing data, information on frequency characteristics of the control system), the results of frequency analysis by the analysis unit 120, and the setting information by the design unit 121. The calculation unit 122 also has a function (hereinafter also referred to as a "second function") of calculating the degree of waviness (stripe pattern) suppression based on the servo data, the setting information, and the results of frequency analysis. 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.
[0110] The calculation unit 122 executes the first function and the second function according to information specified by the user via the UI (for example, the "stripe suppression strength" on a scale of 0 to 10 as shown in FIG. 12), and calculates the oscillation possibility (%) and the degree of undulation suppression (%).
[0111] [First Function] The first function will be described below with reference to Figs. 10A and 10B. Figs. 10A and 10B are characteristic diagrams (Bode plots) relating to the "oscillation probability" when using each of the three types of filter F1 and when "no filter" is used, with Fig. 10A being a gain diagram and Fig. 10B being a phase diagram. Figs. 10A and 10B show the frequency characteristics of the output signal (motor rotation speed) relative to the input signal (target value).
[0112] Hereinafter, the three types of filters F1 will be referred to as "Filter 1," "Filter 2," and "Filter 3." "Filter 1," "Filter 2," and "Filter 3" have mutually different control parameters: damping ratios. As an example, the damping ratios are set to gradually increase in the order of "Filter 1," "Filter 2," and "Filter 3" ("Filter 3" has the largest damping ratio). Note that, for convenience, the characteristics of the three types of filters F1 are shown together in Figures 10A and 10B.
[0113] 10A and 10B show the characteristics "without a filter." In other words, the characteristics G0 and Ph0 are frequency characteristics based on the frequency characteristics obtained from the servo amplifier 200, without the filter F1 being set.
[0114] Characteristics G1 and Ph1 in Figures 10A and 10B indicate the characteristics of "Filter 1." Characteristics G2 and Ph2 in Figures 10A and 10B indicate the characteristics of "Filter 2." Characteristics G3 and Ph3 in Figures 10A and 10B indicate the characteristics of "Filter 3." Characteristics G1 to G3 and Ph1 to Ph3 indicate the frequency characteristics when "Filter 1" to "Filter 3" are inserted, based on the frequency characteristics obtained from servo amplifier 200.
[0115] The calculation unit 122 calculates the frequency characteristics of the filter of interest as shown in FIGS. 10A and 10B, and calculates the frequency at which the phase is inverted (10 2 From the magnitude of the gain in the frequency range (around 100 Hz), the oscillation probability (%) of the filter, that is, the percentage by which the cutting machine X1 is likely to vibrate when the filter is applied, is calculated (estimated). Note that if the gain is 0 dB or higher, the oscillation probability of the filter is estimated to be 100%. It is preferable to apply a filter with a higher gain within a range in which the gain does not exceed 0 dB (threshold value).
[0116] [Second Function] The second function will be described below with reference to Figs. 11A and 11B. Figs. 11A and 11B are characteristic diagrams (Bode plots) relating to the "degree of undulation suppression" when using the same "Filter 1," "Filter 2," and "Filter 3" as Figs. 10A and 10B, respectively, and when "no filter is used," with Fig. 11A being a gain diagram and Fig. 11B being a phase diagram. Figs. 11A and 11B show the frequency characteristics of the output signal (motor rotation speed) relative to the input signal (vibration disturbance).
[0117] 11A and 11B show characteristics without a filter. That is, the characteristics G10 and Ph10 are frequency characteristics based on the frequency characteristics obtained from the servo amplifier 200, without the filter F1 being set.
[0118] 11A and 11B, characteristics G11 and Ph11 indicate the characteristics of "Filter 1." Characteristics G12 and Ph12 in FIGS. 11A and 11B indicate the characteristics of "Filter 2." Characteristics G13 and Ph13 in FIGS. 11A and 11B indicate the characteristics of "Filter 3." Characteristics G11 to G13 and Ph11 to Ph13 indicate the frequency characteristics when "Filter 1" to "Filter 3" are inserted, based on the frequency characteristics obtained from servo amplifier 200.
[0119] 11A and 11B for the filter of interest, and calculates (estimates) the undulation suppression degree (%) of the filter, i.e., the degree to which undulations (stripes) are suppressed by applying the filter, from the magnitude of the gain in the low-frequency disturbance (the frequency at the position of the arrow K1). It can be said that the greater the difference (arrow K1) from the characteristic G11 of "without filter," the higher the undulation suppression degree.
[0120] It is preferable to adjust the filter parameters (attenuation ratio, central angular frequency, suppression gain) so that undulations are suppressed while setting the gain as high as possible within the range where the gain described in the first function (oscillation possibility) does not exceed 0 dB.
[0121] (4) Operation of the Control System (4.1) Operation Example 1 A series of flows of "Operation Example 1" of processing related to automatic filter design in the control system 1 will be described below with reference to Figures 12 to 14. The flowcharts shown in Figures 13 and 14 are merely examples of the operation flow, and the order of processing may be changed as appropriate, and processing may be added or omitted as appropriate.
[0122] [UI Screen] Before describing the flowchart of Operation Example 1 ( FIG. 13 ), FIG. 12 will be described first. FIG. 12 is a conceptual diagram of a wave suppression mode screen Sr1 (UI screen). The wave suppression mode screen Sr1 is displayed on the display by the screen display unit 111 in response to a predetermined operation input from the user via the UI.
[0123] The undulation suppression mode screen Sr1 includes an operation area Gr0 corresponding to "start calculation," an operation area Gr1 for accepting mode selection, and an operation area Gr2 for accepting fringe suppression strength (0 to 10 levels).
[0124] The control system 1 starts processing related to automatic filter design when the user presses the operation area Gr0 with a mouse pointer or the like.
[0125] In the operation area Gr1, by pressing a triangle mark with a mouse pointer or the like, a selection list of two modes, "online" and "offline," is displayed in a pull-down format, and the user can select either mode. In the example of FIG. 12, the offline mode is selected. The offline mode corresponds to Operation Example 1, in which automatic design of the filter F1 is performed (offline state) after cutting (test cutting). On the other hand, the online mode corresponds to Operation Example 2 described below, in which automatic design of the filter F1 is performed simultaneously (online state) with cutting (assuming that this is actual cutting during operation, but test cutting is also acceptable). By selecting either mode and pressing the calculation start operation area Gr0, the corresponding processing is performed.
[0126] In the operation area Gr2, pressing the triangle mark displays a pull-down list of 10 suppression strength levels from "0" to "10," allowing the user to select one of the suppression strength levels. In the example of FIG. 12, a suppression strength of "5" is selected. By selecting one of the suppression strength levels and pressing the operation area Gr0 for starting calculation, the corresponding processing is performed. Note that this corresponds to the suppression gain (filter gain), which is one of the control parameters of the filter F1, and the higher the numerical level selected, the greater the suppression gain (i.e., the stronger the banding suppression).
[0127] The swell suppression mode screen Sr1 further includes a display area Gr3 that displays the "swell suppression degree," a display area Gr4 that displays the "oscillation possibility," and a display area Gr5 that displays the "occurring vibration."
[0128] Display area Gr3 is an area for displaying the undulation suppression degree (%) calculated by executing the second function using filter F1 whose parameters have been automatically designed. Display area Gr4 is an area for displaying the oscillation possibility (%) calculated by executing function 1 using filter F1 whose parameters have been automatically designed. Display area Gr5 shows the "generated vibration" obtained using filter F1 whose parameters have been automatically designed, i.e., the number of generated vibration peaks and the frequency corresponding to each vibration peak (actual measured value).
[0129] The waviness suppression mode screen Sr1 further includes a display area Gr6 that displays "Speed / Torque (Actual Measurement)", a display area Gr7 that displays "Machine Surface Shape (Estimated)", and a display area Gr8 that displays "FFT (Actual Measurement)". In the display area Gr6, the actual measurement values of the rotation speed and torque of the servo motor included in the machining data obtained by cutting are displayed in a graph. In the display area Gr7, the calculation results (shape data) by the machining shape calculation unit 10 are displayed in a graph. In the display area Gr8, the results of frequency analysis (FFT) by the analysis unit 120 are displayed in a graph.
[0130] [Flowchart 1] The entire operation example 1 will be described below with reference to the flowchart in Fig. 13. Operation example 1 is an operation example in which automatic design of the filter F1 is performed in an offline state after cutting work is completed. As described above, automatic design of the filter F1 is performed in an offline state by selecting the offline mode in the operation area Gr1 of the waviness suppression mode screen Sr1.
[0131] First, the PC 100 acquires information on the frequency characteristics of the control system from the servo amplifier 200 (step ST0).
[0132] In response to an operation input from the user via the UI, the PC 100 causes the servo amplifier 200 to perform test machining as a test cutting process (step ST1: start machining).
[0133] When the cutting process is completed, the PC 100 acquires the cutting data (such as the rotation speed of the servo motor 330) obtained by the cutting process from the servo amplifier 200 (step ST2). The acquisition of this cutting data is started when the user presses "Start calculation" (operation area Gr0) on the waviness suppression mode screen Sr1. This "Start calculation" is executed by pressing the button after the cutting process (test processing) is completed.
[0134] The PC 100 calculates the shape of the machined surface based on the machining data (step ST3). The PC 100 also analyzes the machining data and the calculated shape of the machined surface (shape data) (step ST4). The PC 100 also extracts one or more frequencies at which intensity peaks appear in common between the machining data and the shape data, thereby identifying (extracting) the (periodic) vibration components (step ST5).
[0135] The PC 100 automatically designs the filter F1 (step ST6). That is, the PC 100 sets the central angular frequency of the filter F1 based on the extracted periodic vibration component, and sets the damping ratio and filter gain of the filter F1.
[0136] Then, the PC 100 calculates the oscillation possibility and the swell suppression degree, etc., using the automatically designed filter F1 (step ST7), and displays the calculation results on the swell suppression mode screen Sr1.
[0137] When applying the automatically designed filter F1, the user performs an operation input to command application of the filter F1 via the UI, whereby 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.
[0138] Steps ST1 to ST7 can be repeated multiple times. The user can adjust the parameters of the filter F1 while repeatedly performing steps ST1 to ST7 multiple times, thereby further improving the accuracy of vibration compensation by the filter unit 3 and the compensation unit 4.
[0139] [Flowchart 2] Next, the process (steps ST6 and ST7) for automatically designing the filter F1 in Fig. 13 will be described in more detail with reference to the flowchart in Fig. 14. The flowchart in Fig. 14 is divided into left and right halves depending on whether the number of (extracted) periodic vibration components (i.e., the number of filters F1 to be designed) is one or multiple. Here, it is assumed that the number of (extracted) periodic vibration components is one, and that the number of filters F1 to be designed in accordance with the number of periodic vibration components is also one. Therefore, only the flow on the right side of Fig. 14 will be described here.
[0140] The number of filters F1 included in the filter unit 3 may be multiple, as will be described later in Modification 3. The left side of the flow corresponding to the case where there are multiple (extracted) periodic oscillation components and multiple filters F1 designed to match that number will be described in Modification 3.
[0141] The PC 100 determines whether the number "n" of (extracted) periodic vibration components is plural (whether n>1) (step ST10). As described above, since n=1 in this example (step ST10: No), the process proceeds to step ST20 on the right.
[0142] The PC 100 (temporarily) sets an initial value (large value) as the attenuation coefficient (attenuation ratio) of the filter F1 (step ST20). The "initial value" in step ST20 may be, for example, "0.5."
[0143] The PC 100 (provisionally) sets a filter gain in a range where the CL (Closed Loop) gain does not exceed 0 dB (step ST21). Specifically, in step ST21, the PC 100 sets the filter gain based on the suppression intensity selected by the user in the operation area Gr2 in a range where the CL gain does not exceed 0 dB. For example, the filter gain that results in a CL gain of 0 dB when the initial attenuation coefficient value "0.5" is used is set to "10 (steps)" of the suppression intensity in the operation area Gr2, and the filter gain is divided by 10 to set the filter gain based on the suppression intensity in the operation area Gr2 in a range from 0 to 10. The PC 100 then calculates the CL gain when using the filter F1 with the provisionally set attenuation coefficient and filter gain, and determines whether the CL gain is equal to or less than 0 dB (threshold value) (step ST22). Note that if oscillation is significant, the PC 100 may set the threshold value for comparison with the CL gain to equal to or less than 0 dB.
[0144] If the gain of CL is 0 dB or less (step ST22: Yes), the attenuation coefficient and filter gain of the filter F1 are determined, and the process ends.
[0145] On the other hand, if the CL gain is not 0 dB or less (step ST22: No), the attenuation coefficient is set to a value smaller than the current value (step ST23), and step ST21 is performed again. The attenuation coefficient is decreased until the CL gain becomes 0 dB or less in step ST22.
[0146] (4.2) Operation Example 2 A series of flows in "Operation Example 2" of processing related to the automatic design of filter F1 in control system 1 will be described below with reference to Fig. 15. The flowchart shown in Fig. 15 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. Note that in the following description, explanations of processing similar to Operation Example 1 may be omitted as appropriate.
[0147] Operation example 2 is an example of operation in which the online mode is selected on the swell suppression mode screen Sr1, and automatic design of the filter F1 is performed online in parallel with cutting processing (assuming that this is processing during actual operation, but test processing is also acceptable).
[0148] First, the PC 100 acquires information on the frequency characteristics of the control system from the servo amplifier 200 (step ST30).
[0149] The PC 100 causes the servo amplifier 200 to perform cutting processing in response to an operation input from the user via the UI (step ST31: start processing).
[0150] Because the online mode has been selected, the PC 100 executes parallel processing (step ST32). Specifically, the PC 100 acquires from the servo amplifier 200 machining data (such as the rotational speed of the servo motor 330) obtained in real time while the cutting machine X1 is cutting the workpiece (step ST321). This acquisition of machining data is started by pressing the operation area Gr0 on the waviness suppression mode screen Sr1 after cutting has started. In the online mode, pressing the operation area Gr0 on the waviness suppression mode screen Sr1 may start both the start of cutting and the acquisition of machining data.
[0151] The PC 100 calculates the machined surface shape based on the machining data in real time during the cutting process (step ST322).The PC 100 also analyzes the machining data and the calculated machined surface shape (shape data) in real time during the cutting process (step ST323).The PC 100 also extracts one or more frequencies at which intensity peaks appear in common between the machining data and the shape data in real time during the cutting process, and identifies (extracts) the (periodic) vibration components (step ST324).
[0152] The PC 100 automatically designs the filter F1 in real time during the cutting process (step ST325).
[0153] Then, the PC 100 calculates the oscillation possibility, the swell suppression degree, etc. in real time during the cutting process using the automatically designed filter F1 (step ST326), and displays the calculation results on the swell suppression mode screen Sr1. Then, the cutting process ends. In other words, the parallel processing ends.
[0154] Here, in Operation Example 2, unlike Operation Example 1, parameter design information for the automatically designed filter F1 is automatically sent 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 changes the parameters of the filter F1 in real time while the object is being cut, using machining data obtained by the cutting machine X1 while the object is being cut. As a result, vibrations occurring during the cutting of the object are compensated for and suppressed in real time.
[0155] In addition, in the operation example 2, similarly to the operation example 1, the parameter design information may be transmitted to the servo amplifier 200 by the user performing an operation input to instruct application of the automatically designed filter F1 after the cutting process (parallel processing) is completed. For example, by transmitting the parameter design information to the servo amplifier 200 after the "rough machining" process is completed, the filter F1 to which the parameter design information is applied can be used in the next process, "intermediate machining."
[0156] Note that steps ST31 and ST32 may be repeated multiple times. The user may adjust the parameters of the filter F1 while repeatedly performing steps ST31 and ST32 multiple times, thereby further improving the accuracy of vibration compensation by the filter unit 3 and the compensation unit 4.
[0157] (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 for compensating for the torque of the servo motor 330 based on the periodic vibration component extracted by the filter F1. This makes it easier to suppress vibrations that may occur during cutting of an object (workpiece W1), for example. Furthermore, because the filter F1 is used, there is no need to create a vibration model as in the technology disclosed in Patent Document 1, making this technology easier to implement than the technology disclosed in Patent Document 1. As a result, the control system 1 has the advantage of making it easier to improve the processing quality of the object.
[0158] Furthermore, the control system 1 (PC 100) according to this embodiment has a function for automatically designing 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 undulation suppression (second function), and a function for displaying this information on a screen. Therefore, the control system 1 reduces the user's effort in designing the filter F1, and may also enable adjustment of the parameters of the filter F1 with high reliability. As a result, the control system 1 has the advantage of making it easier to achieve improvements in the processing quality of the target object.
[0159] (6) Modifications Modifications of the above embodiment are listed below. The configuration of each of the following modifications can be appropriately combined with the above embodiment or other modifications.
[0160] The same functions as those of the control system 1 according to the above embodiment may be embodied as a control method, a filter design processing method, a computer program, or a non-transitory recording medium on which a computer program is recorded.
[0161] The control system 1 in the present disclosure includes a computer system. The computer system is primarily composed of a processor and memory as hardware. The processor executes a program stored in the memory of the computer system to realize the functions of the control system 1 in the present disclosure. The program may be pre-recorded in the memory of the computer system, provided via a telecommunications line, or provided in a non-transitory recording medium such as a memory card, optical disk, or hard disk drive that is readable by the computer system. The processor of the computer system is composed of one or more electronic circuits including a semiconductor integrated circuit (IC) or a large-scale integrated circuit (LSI). The integrated circuits, such as ICs or LSIs, are referred to by different names depending on the degree of integration, and include integrated circuits called system LSIs, very large-scale integrations (VLSIs), or ultra-large-scale integrations (ULSIs). Furthermore, field-programmable gate arrays (FPGAs), which are programmed after the LSI is manufactured, or logic devices that allow the reconfiguration of internal connections or internal circuit partitions of the LSI, can also be used as processors. The electronic circuits may be integrated into one chip or distributed across multiple chips. The chips may be integrated into one 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 is also composed of one or more electronic circuits including a semiconductor integrated circuit or a large-scale integrated circuit.
[0162] Furthermore, it is not essential that the multiple functions of the control system 1 be concentrated in one housing. For example, the components of the control system 1 may be distributed across multiple housings.
[0163] Conversely, multiple functions of the control system 1 may be integrated into one 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 realized by the cloud (cloud computing) or the like.
[0164] (6.1) Modification 1 A control system 1 (motor controller 230A) according to Modification 1 will be described below with reference to Fig. 16. Note that, in the control system 1 (motor controller 230A) according to Modification 1, components similar to those of the control system 1 (motor controller 230) according to the above embodiment will be assigned the same reference numerals, and detailed descriptions thereof may be omitted.
[0165] In the motor controller 230 of the above embodiment, as shown in Fig. 2, a filter unit 3 having a filter F1 is arranged in parallel with a speed control unit 234. In addition, 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 Fig. 2.
[0166] 16 , in motor controller 230A according to Modification 1, filter unit 3 having filter F1 is arranged in parallel with position control unit 233. In addition, compensation unit 4 having filter unit 3 is arranged in parallel with position control unit 233.
[0167] In variant 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 generating 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.
[0168] In Modification 1, the filter unit 3 may include a differentiator. The result of differentiating the position deviation from the adder C1 using the differentiator may be input to the filter F1. The compensator 4 outputs a compensation command (speed compensation command) for compensating for the speed of a motor (e.g., servo motor 330) based on the periodic vibration component extracted by the filter F1 included in the filter unit 3. The compensator 4 outputs a signal indicating the speed compensation command to the adder C3. In other words, the compensator 4 according to Modification 1 compensates for the motor speed in order to compensate for the motor torque based on the periodic vibration component extracted by the filter F1.
[0169] In the first modification, the adder C3 adds the speed compensation command from the compensation unit 4 to the speed command from the position control unit 233, and the result of the addition by the adder C3 is output to the adder C2.
[0170] In variant 1, adder C2 outputs to speed control unit 234 a signal indicating the speed deviation between the addition result by adder C3, the FF speed command from FF control unit 232, and the "FB speed" which is the differentiation result of differentiator 236.
[0171] The configuration of the first modified example also has the advantage of making it easier to improve the processing quality of the object.
[0172] (6.2) Modification 2 A control system 1 (motor controller 230B) according to Modification 2 will be described below with reference to Fig. 17. Note that, in 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 will be assigned the same reference numerals, and detailed descriptions thereof may be omitted.
[0173] In the motor controller 230 of the above embodiment, as shown in Fig. 2, a filter unit 3 having a filter F1 is arranged in parallel with a speed control unit 234. In addition, 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 Fig. 2.
[0174] 17 , in a motor controller 230B according to the second modification, a filter unit 3 having a filter F1 is arranged in parallel with a position control unit 233 and a speed control unit 234. In addition, a compensation unit 4 having a filter 3 is arranged in parallel with the position control unit 233 and the speed control unit 234.
[0175] In the second modification, 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. This point is the same as in the first modification.
[0176] In Modification 2, the filter unit 3 may include 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 for compensating for the torque of a motor (e.g., servo motor 330) based on the periodic vibration 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 according to Modification 2 outputs a torque compensation command for compensating for the torque of the motor based on the periodic vibration component extracted by the filter F1, as in the above embodiment.
[0177] In the second modification, the torque compensation command from the compensation unit 4 is added to the torque command from the speed control unit 234 by the adder C 3 , and the result of the addition by the adder C 3 is output to the torque control unit 235 .
[0178] The configuration of the second modification also has the advantage of making it easier to improve the processing quality of the object.
[0179] (6.3) Modification 3 A control system 1 (motor controller 230C) according to Modification 3 will be described below with reference to Fig. 18. Note that, in 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 will be assigned the same reference numerals, and detailed description thereof may be omitted.
[0180] 2, in the motor controller 230 of the above embodiment, the number of filters F1 in the filter unit 3 is one. However, the number of filters F1 is not limited to one, and may be multiple.
[0181] 18 , in the motor controller 230C according to the third modification, the filter unit 3 includes, as an example, three filters F1 (a first filter F11, a second filter F12, and a third filter F13) arranged in parallel. That is, the filter unit 3 includes a plurality of filters F1 (three in this example). The plurality of filters F1 each extract a plurality of periodic vibration components that are different from one another.
[0182] In Modification 3, the signal indicating the speed deviation from the adder C2 is input to each of a first filter F11, a second filter F12, and a third filter F13. Each of the first filter F11, the second filter F12, and the third filter F13 extracts a corresponding periodic vibration component from the speed deviation from the adder C2.
[0183] In the third modification, the compensator 4 outputs three torque compensation commands for compensating for the torque of a motor (e.g., the servo motor 330) based on the three periodic vibration components extracted by the first filter F11, the second filter F12, and the third filter F13. The three torque compensation commands are added together and output to the adder C3.
[0184] 18, adders C4 and C5 are provided in the third modification. In the third modification, the (summed) torque compensation commands from the compensation unit 4 are added by the adders C4 and C5, and the result of this addition is added by the adder C3 to the torque command from the speed control unit 234. The result of the addition by the adder C3 is output to the torque control unit 235.
[0185] The configuration of Modification 3 also has the advantage of making it easier to improve the processing quality of the object. Furthermore, in the configuration of Modification 3, multiple different periodic vibration components can be extracted using multiple filters F1, which can further improve the processing quality of the object.
[0186] Incidentally, the plurality of filters F1 as in the third modification can be applied when a plurality of periodic vibration components are extracted by the analysis unit 120 in the automatic filter design on the PC 100 side.
[0187] The operation related to the automatic filter design when multiple (here, three) periodic oscillation components are extracted by the analysis unit 120 will be described below with reference to the flowchart in Fig. 14. As described above, the flowchart in Fig. 14 shows details of the process (steps ST6 and ST7) related to the automatic design of the filter F1 in Fig. 13. Note that the right side of the flow in the flowchart in Fig. 14 has already been described, so only the left side of the flow will be described here.
[0188] The PC 100 determines whether the number "n" of (extracted) periodic vibration components is plural (whether n>1) (step ST10). In this case, as described above, n=3 (step ST10: Yes), so the process proceeds to step ST11 on the left side.
[0189] The PC 100 sets "i=1" (as an initial setting) (step ST11), and determines whether "n+1>i" holds (step ST12).
[0190] If "n+1>i" is not true (step ST12: No), the PC 100 ends the process. Note that "n+1>i" is always true the first time.
[0191] If "n+1>i" (step ST12: Yes), the PC 100 (temporarily) sets an initial value (small value) as the attenuation coefficient (attenuation ratio) of the i-th filter F1 (step ST13). The "initial value" in step ST13 may be, for example, "0.1."
[0192] The PC 100 (provisionally) sets the filter gain of the i-th filter F1 in a region where the CL (Closed Loop) gain does not exceed 0 dB (step ST14). Specifically, in step ST14, the PC 100 sets the filter gain based on the suppression intensity selected by the user in the operation area Gr2 in a region where the CL gain does not exceed 0 dB. The filter gain at which the CL gain becomes 0 dB when the initial attenuation coefficient value "0.1" is used is set to "10 (steps)" of the suppression intensity in the operation area Gr2, and the filter gain is divided by 10 to set the filter gain based on the suppression intensity in the operation area Gr2 in a range of 0 to 10 steps. The PC 100 then calculates the CL gain when using the i-th filter F1 for which the attenuation coefficient and filter gain have been provisionally set, and determines whether the CL gain is equal to or less than 0 dB (threshold value) (step ST15). If the oscillation is significant, the PC 100 can set the threshold value for comparison with the CL gain to 0 dB or less.
[0193] 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 value smaller than the current value (step ST16), and step ST14 is performed again. The attenuation coefficient of the i-th filter F1 is decreased until the gain of CL becomes 0 dB or less in step ST15.
[0194] On the other hand, if the gain of CL is 0 dB or less (step ST15: Yes), the attenuation coefficient and filter gain of the i-th filter F1 are determined. Then, the PC 100 sets "i = i + 1" (step ST17), and the process returns to step ST12 to determine the attenuation coefficient and filter gain of the next filter F1. In this way, the PC 100 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 FIG. 18.
[0195] (6.4) Modification 4 A control system 1 (motor controller 230D) according to Modification 4 will now be described with reference to Fig. 19. Note that, in 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 will be assigned the same reference numerals, and detailed description thereof may be omitted.
[0196] In the fourth modification, for example, a sensor V1 is provided on the stage B1 of the cutting machine X1 as an acceleration sensor. The sensor V1 is an external sensor that measures the acceleration of the stage B1. The sensor V1 transmits the measurement results (sensor information) to the motor controller 230D.
[0197] Here, the motor controller 230D of the control system 1 according to Modification 4 has a function of changing the parameters of the filter F1 in real time while the cutting machine X1 is cutting the object (workpiece W1). In the motor controller 230D, the filter unit 3 uses sensor information from an acceleration sensor (sensor V1) installed in the cutting machine X1 to change the parameters of the filter F1 in real time while the cutting machine X1 is cutting the object. For example, the filter unit 3 changes the central angular frequency of the filter F1 based on the sensor information from the sensor V1 (i.e., the acceleration of the stage B1). 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 sensor information from the sensor V1.
[0198] The configuration of Modification 4 also has the advantage of making it easier to improve the processing quality of the target object. Furthermore, in the configuration of Modification 4, the parameters of filter F1 are changed in real time using sensor information from sensor V1. Therefore, the effort required for test processing can be reduced compared to when the parameters of filter F1 are changed after test processing, for example.
[0199] (6.5) Modification 5 A control system 1 (motor controller 230E) according to Modification 5 will be described below with reference to Fig. 20. Note that, in 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 will be assigned the same reference numerals, and detailed description thereof may be omitted.
[0200] Here, the motor controller 230E of the control system 1 according to Modification 5 has the function of changing the parameters of the filter F1 in real time while the cutting machine X1 is cutting the object (workpiece W1), similar to Modification 4. However, the motor controller 230E differs from Modification 4 in that the filter unit 3 changes the parameters of the filter F1 in real time while the cutting machine X1 is cutting the object, using machining data obtained while the cutting machine X1 is cutting the object. For example, the filter unit 3 changes the central angular frequency of the filter F1 based on machining data (such as rotational speed and position) from the servo motor 330. While FIG. 20 illustrates a signal indicating the machining data being input directly from the servo motor 330 to the filter unit 3, for example, the signal indicating the machining data may be input to the filter unit 3 from the motor encoder 320. 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 machining data from the servo motor 330.
[0201] The configuration of Modification 5 also has the advantage of making it easier to improve the machining quality of the object. Furthermore, in the configuration of Modification 5, the parameters of filter F1 are changed in real time using machining data obtained during cutting of the object. Therefore, the effort required for test machining can be reduced compared to when the parameters of filter F1 are changed after test machining, for example.
[0202] (6.6) Other Modifications In the above embodiment, as shown in FIG. 1, the functions of the analysis function unit 12, the machining shape calculation unit 10, and the screen display unit 111 in the control system 1 are provided to the PC 100 on which software for displaying a UI for operating the servo amplifier 200 is installed.
[0203] However, at least some of the functions of the analysis function unit 12 , the machining shape calculation unit 10 , and the screen display unit 111 in the control system 1 may be provided in each servo amplifier 200 .
[0204] Alternatively, at least some of the functions of the analysis function unit 12, the machining shape calculation unit 10, and the screen display unit 111 in the control system 1 may be provided in a host controller. Software for controlling the servo amplifier 200 is installed in the host controller. The host controller is, for example, a motion controller (such as a programmable logic controller (PLC) or an industrial PC (IPC)).
[0205] The machining data is not limited to including both the rotation speed of the feed motor (servo motor 330) and the rotation speed of the spindle drive motor, but may include only the rotation speed of the feed motor.
[0206] In the above embodiment, an example has been described in which the machining shape calculation unit 10 calculates shape data based on machining data and the milling model 400, but it is sufficient to calculate shape data using machining data obtained during machining of the object, and it is not necessary to use the milling model 400.
[0207] In the above embodiment, an example was described in which the stage B1 to which the object is fixed is moved by a feed motor (servo motor 330), but the tool T1 and the object may also be moved relative to each other by moving the tool T1.
[0208] In the above embodiment, an example has been described in which the cutting machine X1 is provided with the linear encoder 310 , but the cutting machine X1 does not necessarily have to be provided with the linear encoder 310 .
[0209] (Summary) The above-described embodiments and the like disclose the following aspects.
[0210] A control system (1) according to a first aspect controls a cutting machine (X1) that uses the power of a motor (e.g., a servo motor 330) to cut an object (workpiece W1). The control system (1) 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). The position control unit (233) controls the position of the motor based on a motor position command. The speed control unit (234) controls the motor speed based on the output of the position control unit (233). The torque control unit (235) controls the motor torque based on the output of the speed control unit (234). The filter unit (3) has at least one filter (F1) that extracts periodic vibration components of the motor. The compensation unit (4) outputs a compensation command for compensating for the motor torque based on the periodic vibration components extracted by the filter (F1). The periodic vibration components are components in a frequency band lower than a cutting frequency related to cutting of the object.
[0211] According to the above aspect, it is possible to more easily achieve improvements in the processing quality of the target object (workpiece W1).
[0212] Regarding the control system (1) according to the second aspect, in the first aspect, the filter unit (3) extracts periodic vibration components based on processing data obtained by cutting the object (workpiece W1) and the processed surface shape of the object.
[0213] According to the above aspect, the accuracy of the extracted periodic vibration component is improved, and the processing quality of the target object (workpiece W1) can be further improved.
[0214] Regarding the control system (1) according to the third aspect, in the first or second aspect, the filter section (3) changes the parameters of the filter (F1) in real time during cutting of the object (workpiece W1) by utilizing processing data obtained while the cutting machine (X1) is cutting the object.
[0215] According to the above aspect, it is possible to save the effort of performing test processing, compared to when the parameters of the filter (F1) are changed after test processing, for example.
[0216] Regarding the control system (1) according to the fourth aspect, in the second or third aspect, the processing data includes the speed of the motor (for example, the servo motor 330).
[0217] According to the above aspect, the accuracy of the extracted periodic vibration component is improved, and the processing quality of the target object (workpiece W1) can be further improved.
[0218] With respect to the control system (1) according to the fifth aspect, in any one of the first to fourth aspects, the filter section (3) uses sensor information from an acceleration sensor (sensor V1) installed in the cutting machine (X1) to change the parameters of the filter (F1) in real time while the cutting machine (X1) is cutting the target object (workpiece W1).
[0219] According to the above aspect, it is possible to save the effort of performing test processing, compared to when the parameters of the filter (F1) are changed after test processing, for example.
[0220] In the control system (1) according to the sixth aspect, in any one of the first to fifth aspects, the filter unit (3) has a plurality of filters (F1). The plurality of filters (F1) respectively extract a plurality of periodic vibration components different from one another.
[0221] According to the above aspect, it is possible to extract a plurality of different periodic vibration components, thereby further improving the processing quality of the target object (workpiece W1).
[0222] The control system (1) according to the seventh aspect is any one of the first to sixth aspects, and further includes a screen display unit (111) that displays setting information on parameters set in the filter (F1) of the filter unit (3) and information on at least one of the analysis results based on the filter unit (3) to which the parameters are set.
[0223] According to the above aspect, the user can check information on at least one of setting information (e.g., setting information such as damping ratio and suppression gain) on parameters set in the filter (F1) of the displayed filter unit (3) and information on the analysis results based on the filter unit (3), thereby improving user convenience.
[0224] The control system (1) according to the eighth aspect is any one of the first to seventh aspects, and further includes an analysis function unit (12) having a function of calculating the possibility of oscillation of the control system when using a filter (F1) having predetermined parameters set therein and a function of calculating the degree of swell suppression.
[0225] According to the above aspect, for example, it becomes easier to determine the suitability of the parameters of the filter (F1) by utilizing the analysis results of the analysis function unit (12).
[0226] The control system (1) according to a ninth aspect is the eighth aspect, further comprising a screen display unit (111) that displays the analysis results by the analysis function unit (12).
[0227] According to the above aspect, the user can easily check the analysis results of the analysis function unit (12) displayed and determine the suitability of the parameters of the filter (F1), thereby improving user convenience.
[0228] A control method according to a tenth aspect is a control method for a control system (1) that controls a cutting machine (X1) that cuts an object (workpiece W1) using the power of a motor (e.g., a servo motor 330). 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 motor speed is controlled based on the output of the position control step, i.e., the motor speed command. In the torque control step, the motor torque is controlled based on the output of the speed control step, i.e., the motor's compensated torque command, i.e., the torque command. In the extraction step, at least one filter (F1) included in a filter unit (3) of the control system (1) extracts a periodic vibration component of the motor. In the compensation step, a compensation command for compensating for the motor torque is output based on the periodic vibration component extracted in the extraction step. The periodic vibration component is a component in a frequency band lower than the cutting frequency related to cutting the object.
[0229] According to the above aspect, a control method can be provided that makes it easier to achieve improvements in the processing quality of the target object (workpiece W1).
[0230] A program according to an eleventh aspect is a program for causing one or more processors to execute the control method according to the tenth aspect.
[0231] According to the above aspect, it is possible to provide a function that makes it easier to improve the processing quality of the target object (workpiece W1).
[0232] A design processing method according to a twelfth aspect is a design processing method for a filter (F1) applied to the control system (1) according to any one of the first to ninth aspects. The design processing method includes an acquisition processing step, a specification processing step, and a setting processing step. In the acquisition processing step, a cutting machine (X1) acquires machining data obtained during cutting of an object (workpiece W1) and shape data related to the machined surface shape of the object. In the specification processing step, periodic vibration components of the motor are identified based on the machining data and the shape data. In the setting processing step, parameters of the filter (F1) are set based on the identification results obtained in the specification processing step.
[0233] According to the above aspect, it is possible to provide a design processing method for a filter (F1) that makes it easier to realize improvements in the processing quality of an object (workpiece W1).
[0234] A program according to a thirteenth aspect is a program for causing one or more processors to execute the design processing method according to the twelfth aspect.
[0235] According to the above aspect, it is possible to provide a function that makes it easier to improve the processing quality of the target object (workpiece W1).
[0236] The configurations according to the second to ninth aspects are not essential for the control system (1) and may be omitted as appropriate.
[0237] REFERENCE SIGNS LIST 1 control system 3 filter section 4 compensation section 12 analysis function section 111 screen display section 233 position control section 234 speed control section 235 torque control section 330 servo motor (motor) F1 filter V1 sensor (acceleration sensor) 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 position command of the motor; 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 that extracts periodic vibration components of the motor; and a compensation unit that outputs a compensation command to compensate for the torque of the motor based on the periodic vibration components extracted by the filter, wherein the periodic vibration components are components in a frequency band lower than a cutting frequency related to cutting of the object.
2. The control system according to claim 1, wherein the filter unit extracts the periodic vibration component based on machining data obtained by cutting the object and the shape of the machined surface of the object.
3. A control system according to claim 1 or 2, wherein the filter unit changes the parameters of the filter in real time while the cutting machine is cutting the object, by utilizing processing data obtained while the cutting machine is cutting the object.
4. The control system according to claim 2 or 3, wherein the processing data includes a speed of the motor.
5. A control system according to any one of claims 1 to 4, wherein the filter unit uses sensor information from an acceleration sensor installed in 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 section has a plurality of the filters, and the plurality of filters respectively extract a plurality of the periodic vibration components that are different from one another.
7. A control system according to any one of claims 1 to 6, further comprising a screen display unit that displays information relating to at least one of setting information relating to parameters set in the filter of the filter unit and information relating to analysis results based on the filter unit to which the parameters have been set.
8. A control system according to any one of claims 1 to 7, further comprising an analysis function unit having a function for calculating the possibility of oscillation of the control system when using the filter with predetermined parameters set, and a function for calculating the degree of undulation suppression.
9. The control system according to claim 8, further comprising a screen display unit that displays the analysis results obtained by said analysis function unit.
10. A control method for a control system that controls a cutting machine that uses the power of a motor to cut an object, comprising: a position control step that controls the position of the motor based on a position command of the motor; a speed control step that controls the speed of the motor based on the output of the position control step; a torque control step that controls the torque of the motor based on the output of the speed control step; an extraction step that extracts periodic vibration components of the motor using at least one filter included in a filter section of the control system; and a compensation step that outputs a compensation command to compensate for the torque of the motor based on the periodic vibration components extracted in the extraction step, wherein the periodic vibration components are components in a frequency band lower than a cutting frequency related to cutting of the object.
11. A program for causing one or more processors to execute the control method according to claim 10.
12. A design processing method for the filter applied to the control system according to any one of claims 1 to 9, comprising: an acquisition processing step of acquiring machining data obtained by the cutting machine while cutting the object and shape data relating to the machined surface shape of the object; an identification processing step of identifying the periodic vibration component of the motor based on the machining data and the shape data; and a setting processing step of setting the parameters of the filter based on the identification results of the identification processing step.
13. A program for causing one or more processors to execute the design processing method according to claim 12.
Citation Information
Patent Citations
Positioning device
JP1995110716A
Drilling machine
JP2006321033A
Inertial moment estimating unit
JP2009131022A
Motor control device and motor control system
JP2011036061A
Motor control device
JP2019179312A
Cited By
Control system, control method, design processing method, and program
WO2026163876A1