Control device, CNC device and control method

DE102019213431B4Active Publication Date: 2025-02-06FANUC LTD
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
DE102019213431
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2018-09-11
Filing Date
2019-09-04
Publication Date
2025-02-06
Estimated Expiration
2039-09-04

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Control device (500), comprising: a machine learning unit (550) that machine learns a control parameter that determines the operating characteristics of a drive unit of a machine (400), which is a drive target of a motor (300), and sets the control parameter for a motor control unit (200) controlling the motor; a functional test operation command unit (510) that issues a command for a functional test operation to operate the motor control unit (200) to obtain operating characteristics of the drive unit; an operating evaluation unit (520) that receives information specifying the operating characteristics of the drive unit from the motor control unit or the machine that is operated based on the command for the functional test operation.a rating value is calculated based on a rating function using the information and the rating value is stored in a memory unit (530) in association with operating information of the motor or time information during the execution of the functional test operation, and a deterioration estimation operating unit (540) is used that estimates deterioration in the operating characteristics of the drive unit of the machine (400) based on the rating value stored in the memory unit (530) and the rating value calculated by the operating rating unit (520) during the execution of the functional test operation.
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND OF THE INVENTIONField of the InventionThe present invention relates to a control device that performs a function checking operation for operating a motor control device controlling a motor to estimate deterioration in operating characteristics of a drive unit of a machine that is a drive target of a motor, and further relates to a computerized numerical control (CNC) device using the control device and a control method for the control device.Prior ArtAn apparatus that detects errors or abnormalities in a machine such as a machine tool or an industrial machine is disclosed in, for example, Patent Documents 1 to 3.Patent Document 1 discloses a machine learning device that can detect an indication of a failure before the spindle of a machine tool or a motor driving the spindle causes a failure. Specifically, the machine learning device is a machine learning device that learns predicting a failure of a spindle of a machine tool or a motor driving the spindle, and includes: a state observation unit that monitors state variables including output data of a motor controller that controls the motor, output data of a detector that detects a state of the motor, and output data of a measurement device that detects a state of the spindle or the motor; a determination data acquisition unit that acquires determination data and determines the presence of a failure in the spindle or the motor or the degree of failure; and a learning unit that learns prediction of an error of the spindle or the motor from a data set generated based on a combination of the state variables and the determination data.Patent Document 2 discloses an error prediction system that can accurately predict errors from a situation. In particular, the fault prediction system includes a machine learning device that learns conditions associated with faults in an industrial machine. The machine learning device includes: a state observation unit that observes state variables including output data of a sensor, internal data of control software, or calculation data obtained based on the output data and the internal data during operation or stop of an industrial machine; a determination data acquisition unit that acquires determination data indicating the presence of a fault in the industrial machine or the degree of fault; and a learning unit that learns learning conditions associated with faults in the industrial machine by supervised learning from a training dataset generated based on a combination of the state variables and the determination data.Patent Document 3 discloses an abnormality detection device for detecting abnormalities in a tool of a machine tool with improved diagnostic accuracy. Specifically, the abnormality detection device includes: an acquisition unit that acquires a plurality of measurement values associated with the tool as measurement data (vibration information, cutting force information, noise information, a spindle load, a motor current, a power value, etc.); a normal model unit that learns the measurement data obtained during machining in a normal state by a machine learning class to generate a normal model; an abnormality diagnosis unit that diagnoses whether the measurement data is normal or abnormal based on the normal model while the measurement data is obtained during machining after the generation of the normal model; and a re-diagnosis unit that re-diagnoses the measurement data diagnosed as abnormal by the abnormality diagnosis unit using a method other than that used by the abnormality diagnosis unit.Patent Document 1: Japanese Unexamined Patent Application Publication No. 2017-188 030 A.Patent Document 2: Japanese Unexamined Patent Application Publication No. 2017-120 649 A.Patent Document 3: Japanese Unexamined Patent Application Publication No. 2018-24 055 A.DE 10 2017 005 349 A1 discloses a machine learning method for learning a threshold value for detecting an abnormal load in a machine tool, comprising a state observation unit and a learning unit. The state observation unit monitors a state variable based on at least one of information on a tool, a main spindle rotation rate, and an amount of coolant of the machine tool, material of a workpiece, and a moving direction, a cutting speed, and a cutting depth of the tool; and the learning unit learns the abnormal load detection threshold value based on training data prepared from an output of the state observation unit and data related to detection of an abnormal load in the machine tool.SUMMARY OF THE INVENTIONPatent Documents 1 to 3 disclose apparatuses for detecting errors or abnormalities in a machine tool or an industrial machine by machine learning, but the machine learning involves a great amount of information processing, so that a certain learning time is required and machine operation efficiency due to the machine learning is lowered.It is an object of the present invention to provide a control device that can estimate deterioration in operating characteristics of a drive unit of a machine such as a machine tool or an industrial machine without performing machine learning, and further to provide a CNC device using the control device and a control method for the control device.The object is achieved by a control device having the features of claim 1 and by a CNC device having the features of claim 6.(1) A control device according to the present invention is a control device (for example, the control device 500 described below) including: a machine learning unit (for example, the machine learning unit 550 described below) that machine-learns a control parameter that determines operation characteristics of a drive unit of a machine (for example, the machine 400) described below that is a drive target of a motor (for example, the servomotor 300) described below and sets the control parameter for a motor control device (for example, the servo control device 200) described below; a function checking operation command unit (for example, the function checking operation command unit 510) that outputs a command for a function checking operation for operating the motor control device to obtain operation characteristics of the drive unit; an operation judging unit (for example, the operation judging unit 520 described below) that acquires information indicating the operation characteristics of the drive unit from the motor controller or the machine operated based on the command for the function checking operation, calculates an evaluation value based on an evaluation function using the information, and stores the evaluation value in a storage unit (for example, in the storage unit 530 described below) in association with operation information of the motor or time information during execution of the function checking operation; and a deterioration estimation operation unit (for example, deterioration estimation operation unit 540 described below) that estimates deterioration in the operating characteristics of the drive unit of the engine based on the evaluation value stored in the storage unit and the evaluation value calculated by the operation evaluation unit during execution of the function test operation.(2) In the control device according to (1), the deterioration estimation operation unit may instruct the machine learning unit to machine-learn the control parameter based on an estimation result on the deterioration in the operating characteristics of the drive unit of the machine.(3) In the control device according to (1) or (2), the deterioration estimation operation unit may instruct a notification unit (for example, the notification unit 560 described later) to notify deterioration in the operation characteristics of the drive unit of the engine based on an estimation result on the deterioration in the operation characteristics of the drive unit of the engine.(4) In the control device according to any one of (1) to (3), the function checking operation command unit may output a command for the function checking operation according to a predetermined schedule or upon input of a predetermined signal.(5) In the control device according to any one of (1) to (4), the function checking operation command unit may transmit the command for the function checking operation to a numerical controller that outputs a control command to the motor controller.(6) A CNC apparatus according to the present invention is a CNC apparatus including: the control apparatus according to (5); a motor controller that controls a motor; and a numerical controller that outputs a control command to the motor controller based on a command for a function checking operation output from the control apparatus.(7) A control method according to the present invention is a control method that causes a control device including a storage unit (for example, the storage unit 530 described below) and a machine learning unit (for example, the machine learning unit 550 described below) that determines a control parameter that determines operation characteristics of a drive unit of a machine (for example, the machine 400) described below that is a drive target of a motor (for example, the servomotor 300) described below and sets the control parameter for a motor control device controlling the motor to execute: a function test operation command step of outputting a command for a function test operation for operating the motor control device for obtaining operation characteristics of the drive unit; an operation evaluation step of obtaining information indicating the operation characteristics of the drive unit from the motor controller or the engine operated based on the command for the function test operation, calculating an evaluation value based on an evaluation function using the information and storing the evaluation value in the storage unit in association with operation information of the motor or time information during execution of the function test operation; and a deterioration estimation step of estimating deterioration in the operation characteristics of the drive unit of the engine based on the evaluation value stored in the storage unit and the evaluation value calculated in the operation evaluation step during execution of the function test operation.(8) In the control method according to (7), the deterioration estimation step may further include: a machine learning step for instructing the machine learning unit to learn the control parameter to the deterioration in the operating characteristics of the drive unit of the machine based on the estimation result estimated in the deterioration estimation step.(9) In the control method according to (7), the deterioration estimating step may further include: a notifying step of notifying deterioration in the operating characteristics of the driving unit of the engine based on the estimation result obtained in the deterioration estimating step of deterioration in the operating characteristics of the driving unit of the engine.According to the present invention, deterioration in the operating characteristics of a drive unit of a machine such as a machine tool or an industrial machine can be estimated without performing machine learning.BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a block diagram showing an engine control system including a control device for an engine according to a first embodiment of the present invention. FIG. 2 is a block diagram showing a configuration of a numerical controller, a servo controller, and a machine of the machine control system. FIG. 3 is a diagram showing a trajectory for a square having rounded corners. FIG. 4 is a diagram showing a trajectory for a square having rounded corners when the coefficients ω, τ, and σ of a transfer function of a filter of a servo controller are adjusted by machine learning and aging deterioration of a machine occurs after the adjustment. FIG. 5 is a characteristic diagram showing an example of a position error e used by an evaluation function of Equation 3. FIG. 6 is a characteristic diagram showing an example of a position error e used by an evaluation function of Equation 4. FIG. 7 is a characteristic diagram showing a state in which an evaluation value during machine learning before shipping becomes larger due to aging deterioration and a state in which an evaluation value during re-learning becomes larger again due to aging deterioration. FIG. 8 is a flowchart showing an operation of a control device according to the embodiment. FIG. 9 is a diagram describing a circular trajectory. FIG. 10 is a diagram describing a trajectory for a square. FIG. 11 is a diagram describing an octagonal trajectory. FIG. 12 is a diagram describing a star-shaped movement path. FIG. 13 is a block diagram describing a machine learning unit according to the first embodiment of the present invention. FIG. 14 is a block diagram showing a configuration of a numerical controller, a servo controller, and a machine of a machine control system according to a second embodiment of the present invention. FIG. 15 is a block diagram showing another configuration example of an engine control system.DETAILED DESCRIPTION OF THE INVENTIONHereinafter, embodiments of the present invention will be described with reference to the drawings.(First Embodiment)FIG. 1 is a block diagram showing an engine control system including a control device for an engine according to the first embodiment of the present invention. FIG. 2 is a block diagram showing a configuration of a numerical controller, a servo controller, and a machine of the machine control system. As shown in FIG. 1, a machine control system 10 includes a numerical controller 100, a servo controller 200, a servo motor 300, a machine 400, and a control device 500. The servo controller 200 is a motor controller. The numerical controller 100, the servo controller 200, and the servo motor 300 constitute a CNC apparatus 20. The machine 400 is a drive target of the servomotor 300.In the following, before describing the control device 500, first, the numerical controller 100, the servo controller 200, and the machine 400 will be described. The numerical controller 100 includes a numerical control processing unit 101 and a storage unit 102. The storage unit 102 stores a machining program for function checking, a machining program for machine learning, and a machining program for actual machining processing. The numerical control processing unit 101 receives a function check operation command from a function check operation command unit 510 of the control device 500, reads a machining program for function check from the storage unit 102, generates a position command serving as a control command, and outputs the position command to the servo controller 200. Further, during the machine learning or the actual machining processing, the numerical control processing unit 101 receives a machine learning execution command from the machine learning unit 550 of the control device 500 or receives a machining execution command from an operator, reads a machining program for machine learning or a machining program for actual machining processing from the storage unit 102, generates a position command, and outputs the position command to the servo controller 200. The numerical control processing unit 101 may also receive a machine learning execution command from the deterioration estimation operation unit 540 instead of the machine learning unit 550.As shown in FIG. 2, the servo controller 200 includes a filter 201, a subtractor 202, a position control unit 203, an adder 204, a differentiator 205, a position feedforward processing unit 206, a subtractor 207, a velocity control unit 208, and an integrator 209. The subtractor 202, the position control unit 203, the adder 204, the subtractor 207, the speed control unit 208, the servo motor 300, a rotary encoder 310, and the integrator 209 form a position feedback loop. Further, the subtracter 207, the speed control unit 208, the servo motor 300 and the rotary encoder 310 constitute a speed feedback loop. The filter 201 is a damping filter that attenuates vibration of the engine 400, for example, using a band stop filter represented by the following Equation 1.In Equation 1, the coefficient s is a time coefficient that is an argument of an exemplary function of a Laplace transform, the coefficient ω is a limit center frequency, a coefficient τ is a normalized bandwidth, and a coefficient g=στ. When a limit center frequency fc is and a limit bandwidth fw is, the coefficient ω is represented by ω=2πfc, and the coefficient τ is represented by τ=fw / fc. The coefficient σ is an attenuation coefficient (0<σ≤1). The coefficients ω, τ, and σ of the transfer function of the filter 201 are control parameters used when the servo controller serving as a motor controller determines the operation characteristics of a drive unit of the engine 400.A position command is input from the numerical control processing unit 101 to the filter 201. In this example, the filter 201 is provided outside a position feedback loop and a velocity feedback loop, but the filter 201 may be provided inside the position feedback loop and the velocity feedback loop. For example, the filter 201 may be connected to an output side of the speed control unit 208 described below or an output side of the adder 204. Here, no particular requirements are imposed on the configuration of the filter 201, and a second- or higher-order IIR filter is preferably used.The subtracter 202 calculates a difference between a position command after shaping an output from the filter 201 and a position feedback detection position, and outputs the difference to the position control unit 203, a machine learning unit 550, and an operation evaluation unit described later as a position error. The operation evaluation unit 520 performs a function check operation using the position error, and the machine learning unit 550 performs machine learning using the position error.The position control unit 203 outputs a value obtained by multiplying the position error by a position gain Kp to the adder 204 as a speed command value. The differentiator 205 outputs a value obtained by differentiating the position command values and multiplying them by a constant α to the position feedforward processing unit 206. The position feedforward processing unit 206 performs a position feedforward process represented by a transfer function G(s) in Equation 2 on the output from the differentiator 205, and outputs the processing result to the adder 204 as a position feedforward term. The coefficients a i and b j( x≥i, j≥0, and X is a natural number) of Equation 2 are coefficients of the transfer function G(s).The adder 204 adds the speed command value and an output value (the position feedforward term) of the position feedforward processing unit 206, and outputs an addition result to the subtractor 207 as a feedforward-controlled speed command value. The subtracter 207 calculates a difference between the output of the adder 204 and a feedback speed detection value, and outputs the difference to the speed control unit 208 as a speed error.The speed control unit 208 adds a value obtained by multiplying and integrating the speed error by an integral gain K 1 vand a value obtained by multiplying the speed error by a proportional gain K 2 v, and outputs the addition result to the servo motor 300 as a torque command.A rotational angle position of the servo motor 300 is detected by the rotary encoder 310, and the speed detection value is input by the subtracter 207 as a speed feedback (speed FB). The speed detection value is integrated into a position detection value by the integrator 209, and the position detection value is input to the subtracter 202 as a position feedback (position FB). The servo controller 200 is configured in this manner.The servo motor 300 is rotated and controlled by the servo controller 200 to drive the machine 400. The machine 400 is a machine tool, an industrial machine, or the like. The servomotor 300 may be included in the machine 400, such as a machine tool or an industrial machine. In FIG. 2, machine 400 is shown as a machine tool, with a portion of a machine tool shown. As shown in FIG. 2, the machine 400 includes a ball screw 401 connected to a rotation axis of the servomotor 300, a nut 402 screwed on the ball screw 401, and a table 403 connected to the nut 402. The ball screw 401, the nut 402, and the table 403 constitute the driving unit. Upon rotation of the servomotor 300, the nut 402 screwed on the ball screw 401 moves in an axial direction of the ball screw 410.When the table 403 with a workpiece mounted thereon is moved in an X-axis direction and a Y-axis direction, the servo controller 200 and the servo motor 300 of FIG. 2 are respectively provided in the machine 400. When the table is moved in the directions of three or more axes, the servo controller 200 and the servo motor 300 are provided in the respective axis directions.Next, the control device 500 will be described. First, the purpose of the function checking operation performed by the control device 500 will be described. A function check operation is an operation of operating a servo controller using a machining program for function check, obtaining information indicating the operating characteristics of a drive unit of the machine, obtaining an evaluation value based on an evaluation function using this information, and estimating deterioration of the machine due to aging based on the evaluation value. Here, deterioration due to aging resulting from use of the engine is described as an example of deterioration in the operating characteristics, but the deterioration is not limited thereto and may also be deterioration in the operating characteristics occurring due to a change in the environment such as temperature, humidity, or vibration. The machining program for function checking stored in the storage unit 102 of the numerical controller 100 is a machining program with which the servo controller 200 controls the servo motor 300 such that a movement path ML of characteristic points on the table 403 is a square with rounded corners as shown in FIG. 3. In the movement path ML of FIG. 3, at the position P 1, the rotational speed of the servo motor that moves the table in the Y-axis direction decreases as it leaves the position P 1 and stops the rotation at the position P 2. Further, the servo motor that moves the table in the X-axis direction starts rotating at the position P 1, and the rotation speed becomes constant at the position P 2. The machining program for function inspection is executed in a state where no workpiece is mounted on the table 403 and no machining of the workpiece is performed.FIG. 4 is a diagram showing a trajectory of a square having rounded corners when the coefficients ω, τ, and σ of the transfer function of the filter 201 of the servo controller 200 are adjusted by machine learning and aging deterioration of the machine 400 occurs after the adjustment. As shown in FIG. 4, in a state where the coefficients ω, τ, and σ of the transfer function of the filter 201 of the servo controller 200 are not set, when the servo controller 200 is operated using the machining program for function checking, protrusions referred to as quadrant errors are generated in the rounded corners of the square of a trajectory ML 1 of the characteristic points on the table 403. Before shipping the machine 400, the machine learning unit 550 (described later) of the control device 500 learns the optimum values of the coefficients ω, τ, and σ of the transfer function of the filter 201 of the servo controller 200 and sets the coefficients ω, τ, and σ of the transfer function to optimum values, so that a trajectory ML 2 without quadrant errors is obtained, while the servo controller 200 is operated using a machine learning program including the machining program for function checking so that the quadrant errors are not generated in the trajectory. Due to aging deterioration resulting from use of the machine 400, vibration or the like occurs in the state of the coefficients ω, τ, and σ of the transfer function of the filter 201 set during shipping, and quadrant errors occur as in a trajectory ML 3.Therefore, the control device 500 estimates deterioration of the engine due to aging through a function checking operation. In addition, machine learning (referred to as re-learning) is performed again based on the estimation result of the aging deterioration to set the coefficients ω, τ, and σ of the transfer function of the filter 201. The control device 500 may perform a process of sending a notification to an operator or an administrator instead of or in conjunction with setting the coefficients of the filter 201 by machine learning based on the estimation result of the aging deterioration. Because the machine learning involves a large amount of information processing and a corresponding learning time is required when the re-learning is frequently performed, the machine operation efficiency decreases due to the re-learning. And, when reporting is frequently performed, the workload increases for the operator or administrator monitoring the notifications. Therefore, the control device 500 performs a function checking operation to perform re-learning or notification as needed.The configuration and operation of the control device 500 will be described below. As shown in FIG. 1, the control device 500 includes a function checking operation command unit 510, an operation evaluation unit 520, a storage unit 530, a deterioration estimation operation unit 540, a machine learning unit 550, and a notification unit 560.The function checking operation command unit 510 sends a command for a function checking operation to the numerical control processing unit 101 of the numerical controller 100 during activation of the machine 400 or according to an execution command from an operator. An activation signal is input to the function checking operation instructing unit 510 during activation; or an execution instruction signal is input to the function checking operation instructing unit 510 when an execution instruction is issued by an operator. The activation signal and the execution command signal correspond to a predetermined signal. The function checking operation command unit 510 may transmit the command for the function checking operation to the numerical control processing unit 101 according to a predetermined schedule set by an operator.When receiving the command for the function checking operation, the numerical control processing unit 101 reads the machining program for function checking from the storage unit 102, generates a position command, and outputs the position command to the servo controller 200. The servo controller 200 rotates and controls the servo motor 300 based on the position command.The operation evaluation unit 520 obtains a position error e, which is the output of the subtractor 202 of the servo controller 200, and calculates an evaluation value E A using an evaluation function. For example, an evaluation function of Equation 3 or 4 given below may be used as the evaluation function. The coefficients Ca and Cb in the equation 3 and the coefficients Cc and Cd in the equation 4 are weighting factors. A coefficient t 0 in Equation 4 is a time elapsed until the position error e falls within a predetermined range after the speed command value of the servo motor 300 is changed. The evaluation function is not limited to the evaluation function shown in Equation 3 or 4. For example, a time integration of an absolute value of the position error e in Equations 3 and 4 may be a time integration of the square of the absolute value of the position error e or a largest value of a set of absolute values of the position error e.FIG. 5 is a characteristic diagram showing an example of the position error e used by the evaluation function of Equation 3. FIG. 6 is a characteristic diagram showing an example of the position error e used by the evaluation function of Equation 4. In the evaluation function of Equation 3, vibration of a position error indicated by a broken line is smaller than that of a position error indicated by the solid line in FIG. 5, a time integration value of |de / dt| decreases, and an evaluation value decreases. Therefore, the evaluation function is evaluated as a more satisfactory result. In the evaluation function of Equation 4, although an instantaneous error of the position error indicated by a broken line is larger than that of a position error indicated by the solid line in FIG. 6, a steady-state error decreases, a time integration value of t 0 decreases, and an evaluation value decreases. Therefore, the evaluation function is evaluated as a more satisfactory result. The evaluation value E A obtained based on the equation 3 or 4 is output to the deterioration estimation operation unit 540 and the storage unit 530.After machine learning is performed before shipping, the operation evaluation unit 520 stores an evaluation value E B based on the position error e obtained by operating the servo controller 200 using the machining program for function checking, and time information during execution of the function checking operation or operation information of the servo motor 300 in the storage unit 530 in correlation. And after shipping is performed, the operation evaluation unit 520 stores the evaluation value E A based on the position error e obtained whenever the servo controller 200 is operated using the machining program for function inspection, and the time information during execution of the function inspection operation or the operation information of the servo motor 300 in the storage unit 530 in correlation. And also after re-learning is performed, the operation evaluation unit 520 stores the evaluation value E A based on the position error e obtained whenever the servo controller 200 is operated using the machining program for function checking, and the time information during execution of the function checking operation or the operation information of the servo motor 300 in the storage unit 530 in correlation.The deterioration estimation operation unit 540 acquires the time information during execution of the function test operation and the evaluation value EA calculated by the operation evaluation unit 520, the time information and the evaluation value E B during execution of the function test operation after machine learning before shipping, and a set of the time information and the evaluation value E A during execution of the function test operation after shipping from the storage unit 530, and generates a deterioration estimation characteristic as shown in FIG. 7 by, for example, a linear approximation from the evaluation values E B and E A and the time information. Accordingly, the deterioration estimation operation unit 540 generates a deterioration estimation characteristic after the re-learning is performed. FIG. 7 is a characteristic diagram showing a state in which an evaluation value after machine learning before shipping increases and a state in which an evaluation value during re-learning again increases due to aging deterioration. When a deterioration estimation characteristic is obtained, an n-th order curve may be assumed and the coefficients thereof may be determined using the least squares method to obtain a deterioration estimation characteristic. Operation information such as a movement amount of the servo motor 300 may be used instead of the time information during execution of the health check operation.The deterioration estimation operation unit 540 estimates deterioration in the operation characteristics of the drive unit of the engine 400 using a deterioration estimation characteristic, and instructs the machine learning unit 550 to perform re-learning of the control parameters based on the estimation result. Specifically, for example, as shown in FIG. 7, the deterioration estimation operation unit 540 estimates a learning period based on the deterioration estimation characteristic, and sends a machine learning command to the machine learning unit 550. Specifically, the deterioration estimation operation unit 540 transmits a machine learning command (a re-learning command) to the machine learning unit 550 before a set deterioration determination level is reached (for example, several weeks before a deterioration determination level is reached) based on the deterioration estimation characteristic of the evaluation value obtained by the function checking operation after shipping. The machine learning unit 550 performs re-learning at a time when the machine 400 does not perform machining. The deterioration determination level may be set correspondingly based on a machining state of a workpiece, a change in an evaluation value, or the like. The deterioration estimation operation unit 540 calculates a deterioration estimation characteristic also after re-learning is performed, estimates the next learning period based on the deterioration estimation characteristic, and sends a machine learning command to the machine learning unit 550. The deterioration estimation operation unit 540 may transmit a notification command to the notification unit 560 instead of or along with the transmission of the machine learning command. The deterioration estimation operation unit 540 may transmit a machine learning command to the machine learning unit 550 and may transmit a machine learning execution command to the numerical control processing unit 101 of the numerical controller 100. In this case, the machine learning unit 550 cannot send the machine learning execution command to the numerical control processing unit 101.After receiving a notification command, the notification unit 560 sends a notification to an operator or administrator by displaying a recommendation for a check or a warning regarding deterioration on a liquid crystal display or by sending it to a mobile terminal via a communication unit. When the machine learning unit 550 performs re-learning and does not transmit a notification to an operator or administrator, the notification unit 560 may be omitted. An operator who has received a notification may send a machine learning command to the machine learning unit 550 at a time when a machine does not perform machining.After receiving the machine learning command, the machine learning unit 550 transmits a machine learning execution command to the numerical control processing unit 101 of the numerical controller 100. After receiving the machine learning execution command, the numerical control processing unit 101 reads the machine learning machining program from the storage unit 102, generates a position command, and outputs the position command to the servo controller 200. The servo controller 200 rotates and controls the servo motor 300 based on the position command. The machine learning unit 550 obtains the position error e, which is the output of the subtractor 202 of the servo controller 200, machine learns the optimum values of the coefficients ω, τ, and σ of the transfer function of the filter 201 of the servo controller 200, and sets the coefficients ω, τ, and σ of the transfer function to the optimum values. Details of machine learning will be described below.FIG. 8 is a flowchart showing a function checking operation of the control device 500 according to the present invention. First, in step S 11, the operation checking unit 520 obtains the position error e, which is the output of the subtractor 202 of the servo controller 200 operated according to a command for the function checking operation, and calculates the evaluation value E A using the evaluation function. Subsequently, in step S 12, the deterioration estimation operation unit 540 generates deterioration estimation characteristics (a deterioration estimation characteristic) using the evaluation value obtained after the machine learning before shipping. In step S 13, the deterioration estimation operation unit 540 estimates a learning period based on the deterioration estimation characteristic, and sends a machine learning command to the machine learning unit 550. In step S 14, the machine learning unit 550 performs machine learning based on the machine learning command. In step S 15, the control device 500 determines whether to continue estimation of deterioration due to aging according to an operator's command or the like. When the estimation is to be continued (step S 15: YES), the flow returns to step S 11, and the operation evaluation unit 520 waits until the position error e is obtained according to a command for a following function checking operation. When the estimation of the deterioration due to aging is not to be continued (step S 15: NO), the function checking operation of the control device 500 is ended.Next, the machine learning unit 550 of the control device 500 will be described.< Learning Unit 550>The machine learning unit 550 executes the machine learning machining program and machine-learns (hereinafter, simply referred to as learning) the coefficients ω, τ, and σ of the transfer function of the filter 201 so that the position error decreases using the position error obtained from the subtractor 202. The machine learning unit 550 is a machine learning device. Although the learning is performed by the machine learning unit 550 before shipping, re-learning is performed after shipping. The trajectory designated by the machining program during learning is, for example, a circle, a rectangle, an octagon, or a star shape as in FIGS. 9 to 12, or a square with rounded corners as in FIG. 3. Vibration generated when the rotation direction of the servomotor moving the table in the X-axis direction and / or the Y-axis direction is reversed according to a movement path designated by such a learning machining program and the servomotor stops from a rotation state can be evaluated, and the influence on the position error can be checked.When the learning machining programs shown in FIGS. 3 and 9 to 12 are executed during learning, the numerical control processing unit 101 sequentially outputs position command values so that, for example, the moving trajectories of a square having rounded corners, a circle, a rectangle, an octagon, and a star shape are obtained.The machine learning unit 550 performs Q learning in which an action A for setting the coefficients ω, τ, and σ associated with a servo state S is selected, which may be, for example, commands and feedback including the values of the coefficients ω, τ, and σ of the transfer function of the filter 201 and the position error information of the servo controller 200 obtained by executing the learning machining program. As is well known to those skilled in the art, an objective of Q-learning is to select an action A having the highest value Q(S,A) as an optimal action within the actions A performable in a particular state S.Specifically, an agent (a machine learning device) learns the correct value Q(S,A) by selecting various actions A in a certain state S and making a better selection of the action based on the rewards obtained for the selected actions A.And because the agent wants to maximize an overall reward obtained in the future, Q learning tries to finally obtain a relationship of Q(S,A)=E[Σ(y t) r t]. Here, E[ ] indicates an expected value, t indicates a time, γ is a parameter referred to as a discount factor and described later, r is t a reward at the time t, and Σ is the sum at the time t. In this equation, the expected value is a value expected upon a change in the state according to an optimal action. An update equation of such a value Q(S,A) can be represented by the following equation 5.In Equation 5, St indicates an environmental state at time t, and A t indicates an action at time t. By the action A t the state changes to S t+1. Further, r t+1 indicates a reward obtained by the change in the state. Also, a term with max is a multiplication of the Q value by γ when an action A having the highest Q value known at that time has been selected in the state S t+1. Here, γ is a parameter of 0<γ≤1, and is referred to as a decay rate. Further, α is a learning coefficient in the range of 0<α≤1. Equation 5 indicates a method of updating a value Q(St, At) of an action At in a state St based on a reward r t+1 obtained when the action A t is performed.The machine learning unit 550 monitors state information S including a servo state such as commands or feedback including the position error information of the servo controller 200 obtained by executing the learning machine program based on the coefficients ω, τ, and σ of the transfer function of the filter 201. The state information corresponds to the feedback information. The machine learning unit 505 outputs a reward each time the action A is executed. Here, the reward r is set as follows. The reward value is set to a negative value when the state information S is corrected to the state information S' by action information A, and the value of the evaluation function of the position error e of the servo controller 200 operated based on the coefficients ω, τ, and σ after the correction associated with the state information S' is larger than the value of the evaluation function of the position error e of the servo controller 200 operated based on the coefficients ω, τ, and σ before the correction associated with the state information S before the correction by the action information A. For example, an evaluation function of Equation 3 or 4 used by the operation evaluation unit 520 may be used as the evaluation function. The evaluation function used by the machine learning may also be an evaluation function different from the evaluation function used by the operation evaluation unit 520.On the other hand, the reward value is set to a positive value when the value of the evaluation function of the position error e of the servo controller 200 operated based on the coefficients ω, τ, and σ after the correction associated with the state information S' corrected by the action information A is smaller than the value of the evaluation function of the position error e of the servo controller 200 operated based on the coefficients ω, τ, and σ before the correction associated with the state information S before the correction by the action information A. In Q-learning, the machine learning unit 505 searches for the optimal action A in an attempt-and-error manner so that the sum of the rewards r is maximized in the future. Thereby, the machine learning unit 505 can select an optimal action A (i.e., the values of the optimal coefficients ω, τ, and σ of the transfer function of the filter 201) with respect to the state S including a servo state, such as errors and feedbacks including the position error information of the servo controller 200 obtained by executing the learning machining program based on the coefficients ω, τ, and σ.FIG. 13 is a block diagram showing the machine learning unit. As shown in FIG. 13, in order to perform reinforcement learning, the machine learning unit 505 includes a state information obtaining unit 551, a learning unit 552, an action information output unit 553, a value function storage unit 554, and an optimization action information output unit 555.The state information acquisition unit 551 acquires, from the servo controller 200, the state information S serving as feedback information including commands and feedback including the position error information of the servo controller 200 obtained by executing the learning machining program based on the coefficients ω, τ, and σ of the transfer function of the filter 201. The state information S corresponds to an environmental state S in the Q-learning. The state information acquisition unit 551 outputs the acquired state information S to the learning unit 552. The coefficients ω, τ, and σ at the time when the Q learning starts are previously generated by a user.The learning unit 552 is a learning unit that learns the value Q(S,A) when a specific action A is selected under a specific environmental state S. Specifically, the learning unit 552 includes a reward output unit 5521, a value function update unit 5522, and an action information generation unit 5523.The reward output unit 5521 is a unit that calculates a reward when the action A is selected under a certain state S. Here, a position error that is a state variable in the state S is indicated by e(S), and a position error that is a state variable associated with the state information S' changed from the state S by the action information A (the correction of the coefficients ω, τ, and σ of the transfer function of the filter 201) is indicated by e(S').For example, the evaluation function of Equation 3 or 4 that is the same as the evaluation function used by the operation evaluation unit 520 is used as the evaluation function f.In this case, the reward output unit 5521 sets the reward value to a negative value when the value f(e(S')) of the evaluation function f when the servo controller 200 is operated based on the filter 201 after the correction associated with the state information S' corrected by the action information A is larger than the value f(e(S)) of the evaluation function f when the servo controller 200 is operated based on the filter 201 before a correction associated with the state information S before the correction by the action information A.On the other hand, the reward output unit 5521 sets the reward value to a positive value when the value f(e(S')) of the evaluation function f when the servo controller 200 is operated based on the filter 201 after the state information S' corrected by the action information A is smaller than the value f(e(S)) of the evaluation function f when the servo controller 200 is operated based on the filter 201 before the correction associated with the state information S before the correction by the action information A. Further, the reward output unit 5521 sets the reward value to zero when the value f(e(S')) of the evaluation function f when the servo controller 200 is operated based on the filter 201 after the correction associated with the state information S' corrected by the action information A is equal to the value f(e(S)) of the evaluation function f when the servo controller 200 is operated based on the filter 201 before the correction associated with the state information S before the correction by the action information A.Further, the negative value may be increased proportionally in correspondence, when the value f(e(S') of the evaluation function f of the state S' after the execution of the action A is larger than the value f(e(S)) of the evaluation function f in the previous state S. That is, the negative value may increase in correspondence with the degree of increase of the value f(e(S')) of the evaluation function f of the state S'. In contrast, the positive value may increase in accordance with a proportion when the value f(e(S')) of the evaluation function f of the state S' after the execution of the action A is smaller than the value f(eS)) of the evaluation function f in the previous state s. That is, the positive value may increase in accordance with the degree of decrease of the value f(e(S')).The value function update unit 5522 updates the value function Q stored in the value function storage unit 554 by performing Q learning based on the state S, the action A, the state S' when the action A has been applied to the state S, and the value of the reward r calculated in this manner. The update of the value function Q can be performed by online learning, batch learning, or mini-batch learning. Online learning is a learning method for applying a certain action A to a current state S and updating the value function Q immediately when the current state S transitions to a new state S'. Batch learning is a learning method for applying a certain action A to a current state S and repeatedly achieving a transition from the state S to a new state S', collecting learning data, and updating the value function Q using all the collected learning data. Mini-batch learning is a learning method that lies between the online learning and the batch learning and provides for updating the value function Q whenever a specific amount of learning data has been collected.The action information generation unit 5523 selects the action A in the process of Q-learning with respect to the current state S. The action information generation unit 5523 generates the action information A and outputs the generated action information A to the action information output unit 553 to perform an operation (corresponding to the action A in the Q learning) for correcting the coefficients ω, τ, and σ in the process of the Q learning. Specifically, for example, the action information generation unit 5523 outputs the action information A for incrementally increasing or decreasing the coefficients ω, τ, and σ in the state S. The action information A is correction information of the coefficients ω, τ, and σ.When the coefficients ω, τ, and σ are increased or decreased, the state S shifts to the state S' and a plus reward (a positive reward) is offered, and the action information generation unit 5523 may select a procedure for selecting such an action A' that further decreases the value of the position error, such as incrementally increasing or decreasing the coefficients ω, τ, and σ as the next action A', similarly to the previous action.On the other hand, when a minus reward (a negative reward) is offered, the action information generation unit 5523 may select a procedure for selecting such an action A' that the position error is decreased too smaller than the previous value by, for example, incrementally decreasing or increasing the coefficients ω, τ, and σ opposite to the previous action as the next action A'.The action information output unit 553 is a unit that outputs the correction information of the coefficients serving as the action information A output from the learning unit 552 to the filter 201. As described above, the filter 201 finely sets the current state S (i.e., the currently set coefficients ω, τ, and σ of the transfer function) based on the action information, thereby to transition to the next state S' (i.e., the corrected coefficients ω, τ, and σ).The value function storage unit 554 is a storage device that stores the value function Q. The value function Q may be stored as, for example, a table (hereinafter, referred to as an action value table) for each state S and each action A. The value function Q stored in the value function storage unit 554 is updated by the value function updating unit 5522.The optimization action information output unit 555 generates the action information A (hereinafter, referred to as "optimization action information") to cause the filter 201 to perform an operation for maximizing the value function Q(S,A) based on the value function Q updated by the value function updating unit 5522 performing the Q-learning. The optimization action information includes information that corrects the coefficients ω, τ, and σ of the transfer function of the filter 201, similarly to the action information that the action information output unit 553 outputs in the process of Q-learning.The servo controller 200 may be operated such that the coefficients ω, τ, and σ are corrected based on the coefficient correction information and the position error value is reduced. As described above, by using the machine learning unit 550, the setting of the coefficients ω, τ, and σ of the transfer function of the filter 201 of the servo controller 200 can be simplified.The above describes the functional blocks in the numerical controller 100, the servo controller 200, and the control device 500. To realize these functional blocks, the numerical controller 100, the servo controller 200, and the control device 500 each include an arithmetic processing device such as a central processing unit (CPU). Further, the servo controller 200 also includes a sub storage device such as a hard disk drive (HDD) for storing various control programs such as application software and an operating system, and a main storage device such as a RAM for storing data temporarily required for execution of the program by the arithmetic processing device.In the numerical controller 100, the servo controller 200, and the control device 500, the arithmetic processing device reads an application and an operating system from the auxiliary storage device, and develops the read application software and the operating system in the main storage device to perform arithmetic processing based on the read application software and the operating system. The arithmetic processing device also controls various types of hardware in each device based on the calculation result. In this way, the functional blocks of the present embodiment are realized. Thus, the present embodiment can be realized by cooperation of hardware and software.Because the machine learning unit 550 needs to perform a large amount of computation associated with machine learning, graphic processing units (GPUs) may be provided on a PC and used for arithmetic processing associated with machine learning using a technique called general purpose computing on graphics processing units (GPGPUs). In this way, high-speed processing can be performed. And, in order to realize processing at a higher speed, a cluster of computers may be formed with a plurality of computers equipped with such GPUs, and the plurality of computers included in the cluster of computers may perform parallel processing.(Second Embodiment)FIG. 14 is a block diagram showing a configuration of a numerical controller, a servo controller, and a machine of a machine control system according to a second embodiment of the present invention. The engine control system of the present invention has the same configuration as the engine control system 10 of FIGS. 1 and 2 except for the configuration of the servo controller.A servo controller 200A of the present embodiment includes not the filter 201 but a double differentiator 210, a velocity feedforward processing unit 211, and an adder 213, unlike the servo controller 200 of FIG. 2.The double differentiator 210 outputs a value obtained by differentiating a position command value and multiplying it by a constant β to the velocity feedforward processing unit 211. The velocity feedforward processing unit 211 performs a velocity feedforward process represented by a transfer function H(s) indicated by the equation 6 with respect to the output from the double differentiator 210, and outputs the processing result to the adder 213 as a velocity feedforward term. The coefficients c i and d j( x≥i, j≥0, and X is a natural number) in the equation 6 are coefficients of the transfer function H(s).The machine learning unit 550 executes a learning processing program for learning the values of the coefficients c i and d j( i, and j≥0) of the transfer function H(s) of the velocity feedforward processing unit 211 so that a position error decreases, using the position error obtained from the subtractor 202. Specifically, as described in detail in the first embodiment, the machine learning unit 550 learns a value Q for selecting an action A for setting the values of the coefficients c i and d j of the transfer function of the velocity feedforward processing unit 211 associated with a servo state S, such as commands and feedbacks including the values of the coefficients c i and d j( i, and j≥0) of the transfer function of the velocity feedforward processing unit 211 of the servo controller 200, and the position error information and position error of the servo controller 200 obtained by executing the learning processing program.The shape of the trajectory designated by the learning machining program is, for example, an octagon as shown in FIG. 11. The learning of the coefficients associated with the transfer function H(s) is performed by evaluating vibration when the rotation speed of the linear controller is changed at the positions P 3 and P 4 of the trajectory shown in FIG. 11, and checking the influence on position error.In this example, the machine learning unit 550 learns the values of the coefficients c i and d j( i, and j≥0) of the transfer function H(s) of the velocity feedforward processing unit 211, but the machine learning unit 550 can also learn the values of coefficients a i and b j( i, and j≥0) of the transfer function G(s) of the position feedforward processing unit 206, and can learn both the coefficients of the transfer function H(s) and the coefficients of the transfer function G(s). The coefficients c i and d j( i and j≥0) of the transfer function H(s) of the velocity feedforward processing unit 211, and the coefficients a i and b i( i and j≥0) of the transfer function G(s) of the position feedforward processing unit 206 are control parameters used when a servo controller serving as a motor control device determines the operating characteristics of the drive unit of the machine 400.When both the coefficients of the transfer function H(s) and the coefficients of the transfer function G(s) are learned, the machine learning unit 550 preferably performs the learning of the coefficients of the transfer function of the velocity feedforward processing unit 211 separately from the learning of the coefficients of the transfer function of the position feedforward processing unit 206, and performs the learning of the coefficients of the transfer function of the velocity feedforward processing unit 211 on a more inner side (in a more inner loop) than the position feedforward processing unit 206 and earlier than the learning of the coefficients of the transfer function of the position feedforward processing unit 206. Specifically, the machine learning unit 505 fixes the coefficients of the transfer function of the position feedforward processing unit 206 and learns the optimum values of the coefficients of the transfer function of the velocity feedforward processing unit 211. Thereafter, the machine learning unit 505 fixes the coefficients of the transfer function of the velocity feedforward processing unit 211 at the optimum values obtained by the learning, and learns the coefficients of the transfer function of the position feedforward processing unit 206.In this way, learning for optimizing the coefficients of the transfer function of the position feedforward processing unit 206 can be performed under the condition of the velocity feedforward term optimized by the learning, and variation in the position error can be suppressed.A machining program in which the movement path is an octagon as shown in FIG. 11 may be used as the machining program for function inspection according to the present embodiment, but another shape may be used as long as vibration can be evaluated with a change in the rotational speed of the linear controller. The operation of the control device 500 of this embodiment is the same as the operation described in the first embodiment.The components included in the numerical controller, the servo controller, and the control device may be realized by hardware, software, or a combination thereof. A servo control method and a control method performed by the cooperation of the components included in the servo controller and the control device may be realized by hardware, software, or a combination thereof. Here, a realization by software is to be understood as meaning that a computer reads and executes a program.The programs may be stored on various types of non-transitory computer readable media and may be provided to a computer. The non-transitory computer readable media may be various types of tangible storage media. Examples of the non-transitory computer readable media include a magnetic recording medium (for example, a flexible disk, a hard disk drive), a magneto-optical recording medium (for example, a magneto-optical disk), a CD-ROM, a CD-R, a CD-R / W, a semiconductor memory (for example, a mask ROM, a PROM (a programmable ROM), an EPROM (an erasable PROM), a flash ROM, and a RAM (random access memory)). Further, the programs may be supplied to a computer via various types of transitory computer readable media.The above-described embodiment is a preferred embodiment of the present invention. However, the scope of the invention is not limited to the embodiment described here, which can also be modified in various ways without departing from the scope of the invention. In the above-described embodiment, a servo motor is used as the motor and a servo controller is used as the motor controller, but the invention is not limited thereto, and for example, a stepping motor may be used as the motor and a controller that does not perform servo control may be used as the motor controller. In the above-described embodiment, a controller obtains a position error serving as information on the operating characteristics of the drive unit of a machine from a servo controller, but when the information is acceleration information of a drive unit of a machine, the information may also be obtained from an acceleration sensor provided on the machine. That is, the information indicating the operation characteristics of the drive unit of a machine may also be obtained from a servo controller or the machine. In the above-described embodiment, the control command output from the numerical controller to the motor controller is a position command, but the control command is not limited to the position command, and may be, for example, a speed command.The engine control system may have the following configuration in addition to the configuration shown in FIG. 1.<Modifikation in which the control device is provided outside the CNC device>FIG. 15 is a block diagram showing another configuration example of an engine control system. An engine control system 10A shown in FIG. 15 is different from the engine control system 10 shown in FIG. 1 in that n (n is a natural number of 2 or more) control devices 500- 1 to 500- nare connected to n CNC devices 20A- 1 to 20A- nvia a network 600. The CNC devices 20A- 1 to 20A- nare connected to machines 400- 1 to 400- n. The CNC devices 20A- 1 to 20A- neach have the same configuration as the CNC device 20 of FIG. 1. the control devices 500- 1 to 500- neach have the same configuration as the control device 500 of FIG. 1. the machines 400- 1 to 400- neach have the same configuration as the machine 400 of FIG. 2.Here, the CNC device 20A- 1 and the control device 500- 1 are paired in a one-to-one relationship and communicatively connected to each other. The CNC devices 20A- 2 to 20A- nand the control devices 500- 2 to 500- nare connected to the CNC control device 20A- 1 and the control device 500- 1, respectively. In FIG. 15, n pairs of CNC devices 20A- 1 to 20A- nand the control devices 500- 1 to 500- nare connected via the network 600 in FIG. 15, but the n pairs of the CNC devices 20A- 1 to 20A- nand the control devices 500- 1 to 500- nmay also be directly connected to one another via connection interfaces. A plurality of n pairs of the CNC devices 20A- 1 to 20A- nand the control devices 500- 1 to 500- nmay be provided in the same facility or may be provided in different facilities, for example.The network 600 is, for example, a local area network (LAN) in a plant, the Internet, a public telephone network, or a combination thereof. No particular restrictions are made here on the specific communication scheme of the network 600, whether the network uses a wired connection or a wireless connection, or the like.<Freiheit of System Configuration>In the modification described above, the CNC apparatuses 20A- 1 to 20A- nand the control devices 500- 1 to 500- nare communicatively connected in a one-to-one relationship, and a controller may be communicatively connected to a plurality of CNC devices via the network 600 to perform a function checking operation and machine learning of each CNC device. In this case, a distributed processing system in which respective functions of a single control device are distributed to a plurality of servers may be used. Further, the functions of a single control device may be realized using a virtual server function or the like in a cloud.When n control devices 500- 1 to 500- nof the same type name, specification, or series are respectively provided in correspondence with the CNC devices 20A- 1 to 20A- n, the results of the function checking operation and / or the machine learning of the respective control devices 500- 1 to 500- nmay be shared. Thereby, a better model can be produced.LIST OF REFERENCE NUMERALS10, 10A: Machine control system 20, 20- 1 to 20- n: The CNC apparatus 100: Numerical controller 200: Servo controller 300: Servo motor 400, 400- 1 to 400- n: Machine 500, 500- 1 to 500- n: Control apparatus 510: Function checking operation command unit 520: Operation evaluation unit 530: Storage unit 540: Deterioration estimation operation unit 550: Machine learning unit 560: Notification unit

Claims

A control device (500) comprising: a machine learning unit (550) that machine-learns a control parameter that determines operation characteristics of a drive unit of a machine (400) that is a drive target of a motor (300) and sets the control parameter for a motor controller (200) controlling the motor; a function checking operation command unit (510) that outputs a command for a function checking operation for operating the motor controller (200) for obtaining operation characteristics of the drive unit; an operation evaluation unit (520) that obtains information indicating the operation characteristics of the drive unit from the motor controller or the machine operated based on the command for the function checking operation, an evaluation value based on an evaluation function using the information and storing the evaluation value in a storage unit (530) in association with operation information of the engine or time information during execution of the function test operation, and a deterioration estimation operation unit (540) that estimates deterioration in the operation characteristics of the drive unit of the machine (400) based on the evaluation value stored in the storage unit (530) and the evaluation value calculated by the operation evaluation unit (520) during execution of the function test operation.The control device (500) according to claim 1, wherein: the deterioration estimation operation unit (540) instructs the machine learning unit (550) to machine-learn the control parameter based on an estimation result on the deterioration in the operation characteristics of the drive unit of the machine (400).The control device (500) according to claim 1 or 2, wherein: the deterioration estimation operation unit (540) instructs a notification unit to notify deterioration in the operation characteristic of the drive unit of the engine (400) based on an estimation result on the deterioration in the operation characteristics of the drive unit of the engine (400).The control device (500) according to any one of claims 1 to 3, wherein: the function checking operation instructing unit (510) outputs an instruction for the function checking operation according to a predetermined schedule or upon input of a predetermined signal.The control device (500) according to any one of claims 1 to 4, wherein: the function checking operation command unit (510) sends the command for the function checking operation to a numerical controller (100) that outputs a control command to the motor controller (200).A CNC apparatus (20) comprising: the control apparatus (500) according to claim 5; a motor controller (200) that controls a motor (300); and a numerical controller (100) that outputs a control command to the motor controller (200) based on a command for a function checking operation output from the control apparatus (500).A control method for causing a control device (500) including a storage unit (530) and a machine learning unit (550) that determines a control parameter that determines operation characteristics of a drive unit of a machine (400) that is a drive target of a motor (300) and sets the control parameter for a motor controller (200) controlling the motor (300), causing: a function checking operation command step of outputting a function checking operation command for operating the motor controller (200) for obtaining the operation characteristics of the drive unit; an operation evaluation step of obtaining information indicating the operation characteristics of the drive unit from the motor controller (200) or the machine (400) operated based on the function checking operation command, calculating an evaluation value based on an evaluation function using the information and storing the evaluation value in the storage unit (530) in association with operation information of the engine or time information during execution of the function test operation, and a deterioration estimating step of estimating deterioration in the operation characteristics of the drive unit of the machine (400) based on the evaluation value stored in the storage unit (530) and the evaluation value calculated in the operation evaluating step during execution of the function test operation.The control method according to claim 7, wherein the deterioration estimation step further comprises: a machine learning command step for instructing the machine learning unit (550) to learn the control parameter to the deterioration in the operating characteristics of the drive unit of the machine (400) based on the estimation result estimated in the deterioration estimation step.The control method according to claim 7, wherein the deterioration estimation step further comprises: a notification step of notifying deterioration in the operating characteristics of the driving unit of the engine (400) to the deterioration of the operating characteristics of the driving unit of the engine (400) based on the estimation result obtained in the deterioration estimation step.

Citation Information

Patent Citations

  • machine learning apparatus and machine learning method for learning failure prediction of a main shaft or a motor that drives the main shaft, and failure prediction device and failure prediction system comprising a machine learning device

    DE102017003165A1

  • MACHINE LEARNING DEVICE, NUMERICAL CONTROL DEVICE AND MACHINE LEARNING METHOD FOR LEARNING A THRESHOLD FOR DETECTING AN ABNORMAL LOAD

    DE102017005349A1

  • Machine learning method and machine learning device for learning fault condition, and fault prediction device and fault prediction system including machine learning device

    JP2017120649A

  • Machine learning device for learning failure prediction of main axis or motor driving main axis and machine learning method, and failure prediction device having machine learning device and failure prediction system

    JP2017188030A

  • Abnormality detection device and method for tool of machine tool

    JP2018024055A