POWER SIMULATION DEVICE, POWER SIMULATION SYSTEM, POWER SIMULATION METHOD, AND POWER SIMULATION PROGRAM
Patent Information
- Application Number
- JP2024523804
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-01-16
- Publication Date
- 2025-12-16
- Estimated Expiration
- 2044-01-16
AI Technical Summary
Conventional power consumption estimation methods for drive mechanisms in machine tools do not accurately model the feed axis and do not account for power loss, leading to incorrect estimation of actual power consumption, especially when the operating state of the drive mechanism changes.
A power simulation device that simulates the behavior of a drive mechanism by generating speed commands for motors, calculating simulated current and speed, and using a power model to estimate power consumption based on the operating state, incorporating a power model storage section and a model selection mechanism to adapt to different operating conditions.
The power simulation device accurately estimates the actual power consumption of drive mechanisms by considering their operating states, including changes such as stopping power supply and applying brakes, thereby improving estimation accuracy.
Smart Images

Figure 00000022_0000 
Figure 00000022_0001 
Figure 00000022_0002
Abstract
Description
[Technical field]
[0001] The present disclosure relates to a power simulation device, a power simulation system, a power simulation method, and a power simulation program that simulate the power consumption of a drive mechanism. [Background technology]
[0002] A simulation technology has been developed that can estimate the power consumption of a drive mechanism, such as a machine tool, without actually operating the device. Conventional power consumption estimation technology cannot accurately estimate power consumption because it is not possible to accurately model the feed axis of the machine tool and does not take into account power loss.
[0003] The simulation device described in Patent Document 1 estimates the torque and speed of a machine tool, and estimates power consumption by multiplying the product of the torque and speed by a loss coefficient. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2014-219911 A Summary of the Invention [Problem to be solved by the invention]
[0005] When the drive mechanism is actually controlled, the operating state of the drive mechanism may be changed depending on the operation, such as stopping the power supply to the drive mechanism that is not in operation and applying the brakes to reduce power consumption. However, the technology of Patent Document 1 above estimates power consumption using one power model without considering the operating state of the drive mechanism, so there is a problem that the actual power consumption of the drive mechanism cannot be accurately estimated.
[0006] The present disclosure has been made in view of the above, and has an object to provide a power simulation device that can accurately estimate the actual power consumption of a drive mechanism. [Means for solving the problem]
[0007] In order to solve the above-mentioned problems and achieve the object, the power simulation device of the present disclosure provides a speed command for driving a motor that moves a drive shaft connected to a driven body, and a speed command for driving the motor. The control unit controls the operation of the drive shaft to control the drive mechanism having the motor, and corresponds to the operating state of the drive mechanism when the control unit controls the drive mechanism. Control unit In control The power simulation device of the present disclosure includes a driving information generating unit that generates control information representing a driving state, and a drive shaft simulating unit that calculates a simulated current that simulates a current generated by the control unit and a simulated speed that simulates a motor speed by simulating the behavior of the control unit, the motor, and the driven body when the control unit executes an operation corresponding to the speed command and the control information, and outputs the calculated simulated current and simulated speed as driving state information. The power simulation device of the present disclosure also includes a power model storage unit that stores multiple types of power models that are models in which at least one of the simulated speed, the simulated current, and the simulated power that is the product of the simulated speed and the simulated current is associated with the power consumption consumed by the control unit and the motor, and a model selection unit that selects a power model corresponding to the control information from the power models stored in the power model storage unit. The power simulation device of the present disclosure also includes a power calculation unit that calculates the power consumption to be managed based on the driving state information and the selected power model. Effect of the Invention
[0008] The power simulation device according to the present disclosure has an effect of being able to correctly estimate the actual power consumption of a drive mechanism. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram showing a configuration of a power simulation system according to an embodiment; [Diagram 2] FIG. 1 is a diagram showing a configuration of a power simulation device according to an embodiment; [Diagram 3]FIG. 1 is a diagram for explaining a power model stored in a power simulation device according to an embodiment; [Figure 4] FIG. 1 is a diagram for explaining a power model selected by a power simulation apparatus according to an embodiment; [Diagram 5] FIG. 1 is a diagram showing an example of the configuration of a machine tool equipped with a power simulation system according to an embodiment; [Figure 6] FIG. 1 is a diagram showing a configuration of a numerical control device and a driving mechanism included in a power simulation system according to an embodiment; [Figure 7] FIG. 2 is a diagram showing a configuration of a servo control unit included in the power simulation system according to the embodiment; [Figure 8] FIG. 1 is a diagram for explaining a process simulated by a power simulation system according to an embodiment; [Figure 9] 1 is a flowchart showing a procedure of a simulation process executed by a power simulation system according to an embodiment; [Figure 10] FIG. 1 is a diagram showing a configuration of a learning device included in a power simulation apparatus according to an embodiment; [Figure 11] FIG. 1 is a diagram for explaining a neural network used by a learning device according to an embodiment. [Figure 12] 1 is a flowchart showing a procedure of a learning process executed by a learning device according to an embodiment; [Figure 13] FIG. 1 is a diagram showing a configuration of an inference device included in a power simulation apparatus according to an embodiment; [Figure 14] 1 is a flowchart showing a procedure of an inference process executed by an inference device according to an embodiment; [Figure 15] FIG. 2 is a diagram showing an example of the configuration of a processing circuit included in the power simulation apparatus according to the embodiment when the processing circuit is realized by a processor and a memory; [Figure 16] FIG. 1 is a diagram showing an example of a processing circuit in a case where the processing circuit included in the power simulation device according to the embodiment is configured with dedicated hardware; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] A power simulation device, a power simulation system, a power simulation method, and a power simulation program according to embodiments of the present disclosure will be described below in detail with reference to the drawings. Note that, although a case where the power simulation device estimates power consumption for a machine tool equipped with a drive mechanism will be described below, the power simulation device may estimate power consumption for any device equipped with a drive mechanism. The power simulation device may estimate power consumption for, for example, industrial machinery, industrial robots, etc. Note that, in the embodiments, power consumption may be simply referred to as power.
[0011] Embodiment Fig. 1 is a diagram showing a configuration of a power simulation system according to an embodiment. The power simulation system 100 includes a power simulation device 1, a numerical control device 2, and a driving mechanism 3. The driving mechanism 3 includes a motor having a driving shaft, and a driven body. The driven body is a tool connected to the driving shaft, a workpiece connected to the driving shaft, or the like.
[0012] The power simulation device 1 is a computer that estimates power consumption. The power simulation device 1 estimates power consumption consumed by a control device (a control unit 6 described later) that controls the operation of a motor and by the motor. In the embodiment, the power consumption of the control unit 6 and the motor are objects of management by the power simulation system 100. The control unit 6 is disposed in a numerical control device 2, and controls a motor equipped with a drive shaft to control the operation of the drive shaft, thereby controlling the operation of the driven body.
[0013] The power simulation device 1 may be disposed within the numerical control device 2. The power simulation device 1 may be connected to the numerical control device 2 via a network or the like.
[0014] The power simulation device 1 may estimate the power consumption using a drive program that drives the drive mechanism 3, or may estimate the power consumption using information acquired from the numerical control device 2 when the drive mechanism 3 is actually operated. For example, when the drive mechanism 3 is applied to a processing device such as a machine tool, the drive program is a processing program (processing program 7 described later) for processing a workpiece. The operation of the drive mechanism 3 is specified in the drive program. The case where the drive program is the processing program 7 will be described below.
[0015] The power simulation device 1 generates control information representing the operating state of the control unit 6, and estimates the power consumption of the drive mechanism 3 based on the control information. The control information is information on the operating state (control state) of the control unit 6 when the control unit 6 controls the drive mechanism 3. The control information corresponds to the operating state of the controlled drive mechanism 3. The control information includes, for example, information on the motor current, information on the motor brake, information on the motor windings, information on the carrier frequency of the control unit 6, and the like.
[0016] The power simulation device 1 stores a plurality of power models, selects a power model corresponding to the control information from the plurality of power models, and estimates the power consumption of the drive mechanism 3 using the selected power model. The power model is a model for estimating the power consumption corresponding to the operation state information from the operation state information of the drive mechanism 3. The operation state information is information indicating the operation state of the drive mechanism 3. The operation state information includes information on the current used to drive the drive mechanism 3 (simulated current described later) calculated by simulating the operation of the drive mechanism 3, and information on the rotation speed of the motor of the drive mechanism 3 (simulated speed described later). The simulated current is the power consumed by the control unit 6 and the motor.
[0017] The control unit 6 of the actual machine detects position feedback information and speed feedback information using an encoder (a position detector 70 described later). The position feedback information is feedback information of the rotational position of the motor, and the speed feedback information is feedback information of the rotational speed of the motor.
[0018] The rotational position of the motor is the rotational angle of the motor (0 degrees to 360 degrees), and is the same as the rotational position of the drive shaft and the driven body. The rotational speed of the motor is the speed at which the motor rotates per unit time, and is the same as the rotational speed of the drive shaft and the driven body. Hereinafter, position feedback information may be referred to as position FB (FeedBack). Also, speed feedback information may be referred to as speed FB.
[0019] In this embodiment, a signal corresponding to the actual position FB is called the actual position, and a signal corresponding to the actual velocity FB is called the actual velocity. In this embodiment, the position and velocity obtained by simulating the actual position and actual velocity are called the simulated position and simulated velocity. In this embodiment, the current supplied to the motor when the control unit 6 and the drive mechanism 3 actually operate is called the actual current, and the current obtained by simulating the operation of the control unit 6 and the drive mechanism 3 is called the simulated current.
[0020] The power simulation device 1 calculates operating state information of the drive mechanism 3 based on the control information, and estimates the power consumption of the drive mechanism 3 using the calculated operating state information and a power model corresponding to the control information. The power simulation device 1 estimates the power consumption of the drive mechanism 3 by inputting the operating state information into the power model.
[0021] The power simulation device 1 may estimate the power consumption of the drive mechanism 3 by using the actual current of the drive mechanism 3 instead of the simulated current of the operation state information. The power simulation device 1 may estimate the power consumption of the drive mechanism 3 by using the actual speed of the drive mechanism 3 instead of the simulated speed of the operation state information.
[0022] The numerical control device 2 is a computer that uses a drive program to control the drive mechanism 3. The drive mechanism 3 drives a driven body (object to be driven) using a drive shaft. When the power simulation device 1 estimates power consumption based on the operating state of the drive mechanism 3 when the drive mechanism 3 actually operates, the numerical control device 2 transmits information indicating the actual operating state of the drive mechanism 3 to the power simulation device 1.
[0023] 2 is a diagram showing a configuration of a power simulation device according to an embodiment. The power simulation device 1 includes an operation information generating unit 11, a drive shaft simulating unit 12, a model selecting unit 13, a power calculating unit 14, a drive shaft model storing unit 15, and a power model storing unit 16.
[0024] The drive shaft model storage unit 15 stores a plurality of drive shaft models. The drive shaft models are models that simulate the behavior (operation) of the control unit 6, the motor including the drive shaft, and the driven body. The drive shaft models are associated with control information that corresponds to the operating state of the control unit 6. That is, the drive shaft model storage unit 15 stores a plurality of drive shaft models that correspond to the control information. The drive shaft model storage unit 15 may be disposed outside the power simulation device 1.
[0025] The power model storage unit 16 stores a plurality of power models. The power models are associated with control information that represents the operating state of the control unit 6. That is, the power model storage unit 16 stores a plurality of power models that correspond to the control information. The power model is a model in which at least one of a simulated speed, a simulated current, and a simulated power is associated with the power consumed by the control unit 6 and the motor. The simulated power is the product of the simulated speed and the simulated current.
[0026] When at least one of the simulated speed, the simulated current, and the simulated power is input to the power model, the power model outputs the power consumed by the control unit 6 and the motor. Note that the power model storage unit 16 may be disposed outside the power simulation device 1.
[0027] The operation information generating unit 11 generates a speed command for driving a motor that moves a drive shaft connected to a driven body, based on the machining program 7. The speed command is a command that specifies the operating speed (rotation speed) of a motor equipped with a drive shaft. The operation information generating unit 11 also generates control information that indicates the operating state of an amplifier (control unit 6) that drives the motor, based on the machining program 7.
[0028] The operation information generating unit 11 generates a speed command based on, for example, a point cloud of positions arranged in chronological order and a command value describing the speed passing through each position. When the object to be controlled by the numerical control device 2 is a machine tool, a file describing the G code, M code, etc. used as a command value to the numerical control device 2 is the machining program 7.
[0029] The driving information generating unit 11 may generate a position command together with the speed command. In this case, the driving information generating unit 11 generates a position command based on, for example, a point group of positions arranged in time series and a command value describing the speed passing through each position. The position command is a command that specifies the rotational position of the motor.
[0030] The operation information generating unit 11 generates a plurality of types of control information each consisting of a combination of a plurality of items according to the state of the drive mechanism 3. Note that although the control information may include only one type of item, the control information is of a plurality of types.
[0031] The control information items include at least one of the following: information indicating the presence or absence of motor current (servo current) (information as to whether current is flowing to the motor), information indicating whether the motor brake is enabled or disabled, information indicating the type of motor windings, information on the carrier frequency of the control unit 6, and information on the reduction ratio between the motor and the driven body.
[0032] The operation information generating unit 11 may generate the control information based on the machining program 7, or may generate the control information based on information sent from the numerical control device 2. For example, the operation information generating unit 11 determines the type of motor windings and the carrier frequency based on information sent from the numerical control device 2. In this case, the numerical control device 2 determines the type of motor windings and the carrier frequency based on the control state.
[0033] In addition, the operation information generating unit 11 may determine the motor current based on information sent from a PLC (Programmable Logic Controller) provided in the numerical control device 2, for example. In this case, the PLC determines the motor current based on the control state.
[0034] It should be noted that while the power simulation device 1 can calculate the power for, for example, the spindle of a machine tool by using a speed command without using a position command, the numerical control device 2 may control the position and speed like a servo control.
[0035] The operation information generating unit 11 generates new control information when reading a command to switch control information from the machining program 7. The operation information generating unit 11 may also determine whether or not to switch control information based on a position command or a speed command, and generate new control information when it determines to switch control information.
[0036] The driving information generating unit 11 transmits the generated speed command and control information to the drive shaft simulation unit 12. In addition, the driving information generating unit 11 transmits the generated control information to the model selecting unit 13.
[0037] The drive shaft simulation unit 12 reads out a drive shaft model corresponding to the control information from the drive shaft model storage unit 15. The drive shaft model is an operation model of the drive mechanism 3 including inertia, springs, damping elements, etc. The drive shaft model simulates the operation of the control unit 6, a motor mounted on an actual machine such as a machine tool, and a driven body such as a tool. The drive shaft simulation unit 12 performs feedback control of the simulated speed and feedback control of the simulated current so that the simulated speed represented by the drive shaft model (simulated speed FB) coincides with the command speed.
[0038] The drive shaft model used by the drive shaft simulation unit 12 is switched by control information. That is, the drive shaft simulation unit 12 changes the drive shaft model to be used according to information on whether or not a current flows through the motor, information on whether the motor brake is enabled or disabled, information on the type of motor windings, information on the carrier frequency of the control unit 6, and information on the reduction ratio between the motor and the driven body. The drive shaft model used by the drive shaft simulation unit 12 is also switched by a speed command. The drive shaft simulation unit 12 may switch the model parameters to be used for the drive shaft model according to the control information or the speed command.
[0039] The drive shaft model can be defined by a combination of state space representation, differential equations, etc. When the drive shaft simulation unit 12 receives a speed command of time series data, it calculates a response for each time step by, for example, the Runge-Kutta method, and calculates a simulated speed and a simulated current from the response.
[0040] The drive shaft simulation unit 12 calculates a simulated current and a simulated speed based on the control information, the speed command, and the drive shaft model. That is, the drive shaft simulation unit 12 calculates a simulated current used to drive the drive mechanism 3 and a simulated speed of the motor of the drive mechanism 3 by simulating the behavior of the control unit 6, the motor, and the driven body when the control information and the speed command are given to the control unit 6, using the drive shaft model. The drive shaft simulation unit 12 transmits the simulated current and the simulated speed to the power calculation unit 14 as operating state information.
[0041] The model selection unit 13 reads out a power model corresponding to the control information from the power model storage unit 16. The model selection unit 13 selects a power model based on the motor current information, motor brake information, motor winding information, and carrier frequency information of the control unit 6, which are included in the control information. The model selection unit 13 transmits the selected power model to the power calculation unit 14.
[0042] The power calculation unit 14 calculates the power consumed by the control unit 6 and the motor based on the operating state information and the power model. The power calculation unit 14 calculates the power consumed by the control unit 6 and the motor by inputting the simulated current and simulated speed included in the operating state information into the power model.
[0043] Here, the control information and the power model will be described. Fig. 3 is a diagram for explaining the power model stored in the power simulation device according to the embodiment. The power model storage unit 16 stores a plurality of power models. Fig. 3 shows a case where the power model storage unit 16 stores a first power model, a second power model, and a third power model.
[0044] Each power model is associated with control information, which may include, for example, "motor current," "motor brake," "motor winding," and "amplifier carrier frequency."
[0045] "Motor current" is information on whether current is flowing through the motor or not (information indicating whether the motor current is on or off). "Motor brake" is information on whether the motor brake is enabled or disabled. "Motor winding" is information on the type of motor winding. "Amplifier carrier frequency" is information on the carrier frequency of the control unit 6.
[0046] In order to reduce power consumption, machine tools may be in a state where no current flows through the motor (motor current is off) until a speed command is input. "Motor current" shows such a motor state.
[0047] When no current is flowing through the motor, the drive shaft may fall under the influence of gravity due to its own weight, so the motor brake may be activated. "Motor brake" shows such a motor brake state.
[0048] For example, if a drive shaft has a motor brake, when the drive shaft is in operation, the motor state transitions in the following order: "Input of speed command to motor → Motor current ON → Motor brake release." When the drive shaft is stopped, the motor state transitions in the following order: "Speed command to motor 0 → Motor brake enabled → Motor current OFF."
[0049] The motor of a machine tool may have multiple types of motor windings. In this case, when a speed command equal to or higher than a predetermined speed is input, the motor windings to be used are switched. By having multiple types of motor windings, a single motor can achieve both low-speed high torque and high-speed rotation. The type (state) of such motor windings is indicated in "motor windings." The operation information generating unit 11 determines the state of the motor windings based on, for example, the speed command. Note that if any motor winding is acceptable, "no designation" is set in "motor windings."
[0050] Motors of machine tools operate at various carrier frequencies. "Amplifier carrier frequency" indicates the state of the carrier frequency used when a servo control device (such as a servo control unit 6X described later) controls the motor. Information on the carrier frequency may be included in the command values in the machining program 7, or may be determined from the speed command.
[0051] When the command value includes a command to switch the carrier frequency, the driving information generating unit 11 switches the carrier frequency included in the control information when it receives this command. When determining the carrier frequency from the speed command, the driving information generating unit 11 increases the carrier frequency when the speed is equal to or higher than a predetermined reference speed, and decreases the carrier frequency when the speed is lower than the reference speed. The reason why the driving information generating unit 11 increases the carrier frequency when the speed is equal to or higher than the reference speed is that the faster the motor rotation speed, the higher the carrier frequency needs to be, generally, for control characteristics and noise prevention. When any carrier frequency is acceptable, no specification is set in "Amplifier carrier frequency".
[0052] Fig. 4 is a diagram for explaining a power model selected by the power simulation device according to the embodiment. In Fig. 4, a case is explained in which the model selection unit 13 selects one of the first power model, the second power model, and the third power model shown in Fig. 3 with the passage of time.
[0053] The model selection unit 13 determines the type of power model to select based on a combination of items included in the control information. For example, if the control information includes information indicating a first motor winding, information indicating motor current off, and information indicating motor brake enabled, the model selection unit 13 selects the first power model as the power model corresponding to this control information.
[0054] Moreover, if the motor current information included in the control information changes to motor current on information and the motor brake information changes to motor brake disabled information over time, the model selection unit 13 selects the second power model as the power model corresponding to this control information. Furthermore, if the motor winding information included in the control information changes to information indicating the second motor winding over time, the model selection unit 13 selects the third power model as the power model corresponding to this control information.
[0055] In this way, the model selection unit 13 changes the selected power model according to the change in the control information. The power model is expressed by a multivariate polynomial with the speed (simulated speed or actual speed), current (simulated current or actual current), and simulated power as variables, for example. The power calculation unit 14 calculates the power using the power model shown in the following formula (1), for example.
[0056]
number
[0057] In formula (1), P is the power consumed by the control unit 6 and the motor. In formula (1), W is the power, V is the speed, and I is the current. In formula (1), K0 to K6 are coefficients. In the case of formula (1), the coefficients K0 to K6 are identified in advance so as to match the power consumption of the actual device. W is the product of the speed and the torque. That is, W = speed x torque. In addition, torque is the product of the current and the torque constant. Therefore, W = speed x current x torque constant.
[0058] The power calculation unit 14 may change the power model that calculates the power based on the information on powering and regeneration. Powering is a state in which power is supplied from the control unit 6 to the motor when the motor drives a load. The machine tool is in a powering state when the speed and torque have the same sign, such as when the motor accelerates. Regeneration is a state in which the rotational energy of the motor and the load flows into the control unit 6. The machine tool is in a regenerative state when the speed and torque have opposite signs, such as when the motor decelerates. The following equation (2) is an example of a power model that can switch between powering and regeneration depending on the power.
[0059]
number
[0060] K0 to K6, K in formula (2) 10 ~K 16is a coefficient. The upper equation in equation (2) is the power model in the case of power running (W≧0), and the lower equation in equation (2) is the power model in the case of regeneration (W<0). In equation (2), K0 to K6, K 10 ~K 16 The coefficients of are identified in advance so as to match the power consumption of the actual device.
[0061] The power calculation unit 14 uses the selected power model to calculate the power consumed by the drive mechanism 3. The power calculation unit 14 transmits the calculated power to an external device such as a display device (not shown).
[0062] This allows the power simulation device 1 to provide the power consumption of the control unit 6 and the motor to a user (such as an operator or worker) of the power simulation system 100. The user of the power simulation system 100 can easily manage, maintain, inspect, repair, or diagnose the numerical control device 2 or the machine tool based on the power consumption.
[0063] 5 is a diagram showing a configuration example of a machine tool provided in the power simulation system according to the embodiment. The machine tool 4 provided in the power simulation system 100 is a device controlled by the numerical control device 2, and processes a workpiece (object to be machined) 78.
[0064] In the following description, two axes in a plane parallel to the upper surface of the work table 77 of the machine tool 4 and perpendicular to each other are referred to as the X-axis and the Y-axis, and an axis perpendicular to the X-axis and the Y-axis is referred to as the Z-axis.
[0065] The machine tool 4 according to the embodiment is, for example, an orthogonal three-axis vertical cutting machine. The machine tool 4 has an X-axis drive mechanism 85X for driving the X-axis, a Y-axis drive mechanism 85Y for driving the Y-axis, a Z-axis drive mechanism 85Z for driving the Z-axis, and a spindle drive mechanism 85A for driving the spindle 83. That is, the drive mechanism 3 according to the embodiment is the X-axis drive mechanism 85X, the Y-axis drive mechanism 85Y, the Z-axis drive mechanism 85Z, and the spindle drive mechanism 85A. The X-axis drive mechanism 85X, the Y-axis drive mechanism 85Y, the Z-axis drive mechanism 85Z, and the spindle drive mechanism 85A are controlled by the control unit 6.
[0066] The control unit 6 uses a position detector (rotation angle detector) 70 that detects the position of the controlled object, and performs feedback control using electric motors such as rotary motors, linear motors, and voice coil motors, and actuators such as hydraulic cylinders, pneumatic cylinders, and piezoelectric elements so that the position of the controlled object coincides with the command position.
[0067] The machine tool 4 drives the tool 76 in the X-axis and Z-axis directions, drives the workpiece 78 placed on the worktable 77 in the Y-axis direction, and rotates the tool 76 using the main shaft 83, thereby machining the workpiece 78.
[0068] The machine tool 4 drives the axes according to the machining program 7, and realizes the shape of a part (machined shape) formed from the workpiece 78 by cutting. In the machine tool 4, the rotational motion of the motors 71X, 71Y, 71Z, which are actuators, is converted into linear motion in the drive direction of each axis by the feed screw 73. At this time, since the rotational motion is supported by the guide mechanism 72, the axis has a degree of freedom only in the feed direction of the feed screw 73. As a result, in the machine tool 4, movement in the three-dimensional space of XYZ, i.e., three degrees of freedom, is realized by the two degrees of freedom movement of the tool 76 in the XZ plane and the one degree of freedom movement of the workpiece 78 in the Y direction, which are achieved by combining the linear motion of each axis.
[0069] The machine tool 4 rotates the spindle 83 by rotating the motor 71A. The machine tool 4 rotates the tool 76 via the spindle 83 and removes material from the workpiece 78 that interferes with the tool 76, thereby forming a three-dimensional machined shape on the workpiece 78. In the following description, when there is no need to distinguish between the motors 71X, 71Y, 71Z, and 71A, the motors 71X, 71Y, 71Z, and 71A may be referred to as motor 71.
[0070] Next, a description will be given of the X-axis drive mechanism 85X, the Y-axis drive mechanism 85Y, the Z-axis drive mechanism 85Z, and the spindle drive mechanism 85A that configure the machine tool 4. The X-axis drive mechanism 85X, the Y-axis drive mechanism 85Y, and the Z-axis drive mechanism 85Z have the same configuration. However, they differ in that the controlled object of the X-axis and Z-axis is the tool 76, whereas the controlled object of the Y-axis is the workpiece 78.
[0071] Fig. 6 is a diagram showing the configuration of a numerical control device and a drive mechanism included in the power simulation system according to the embodiment. In Fig. 6, an X-axis drive mechanism 85X and a spindle drive mechanism 85A will be described. In Fig. 6, the X-axis drive mechanism 85X and the spindle drive mechanism 85A are illustrated in a schematic manner.
[0072] The numerical control device 2 has a command value calculation unit 5 and a control unit 6. The numerical control device 2 is connected to a drive mechanism 3 of the machine tool 4, and drives the drive mechanism 3. The control unit 6 has a spindle control unit 6A and a servo control unit 6X.
[0073] The command value calculation unit 5 generates a position command Xc for the X-axis driving mechanism 85X based on the machining program 7, and transmits the generated position command Xc to the servo control unit 6X. The position command Xc is a command indicating the rotational position of the motor 71X calculated by the command value calculation unit 5 according to the machining program 7.
[0074] Furthermore, command value calculation unit 5 generates a position command Ac for spindle drive mechanism 85A based on the machining program 7, and transmits the generated position command Ac to spindle control unit 6A. The position command Ac is a command indicating the rotational position of motor 71A calculated by command value calculation unit 5 in accordance with the machining program 7. When machine tool 4 is a cutting machine, command value calculation unit 5 transmits a rotational speed command for spindle 83 to spindle control unit 6A.
[0075] The spindle control unit 6A controls the spindle drive mechanism 85A of the drive mechanism 3, and the servo control unit 6X controls the X-axis drive mechanism 85X of the drive mechanism 3. That is, the spindle control unit 6A controls the spindle 83 provided in the spindle drive mechanism 85A, and the servo control unit 6X controls the feed axis (feed screw 73) provided in the X-axis drive mechanism 85X. Here, a case will be described in which the control unit 6 includes the servo control unit 6X, but the control unit 6 also includes a servo control unit 6Y (not shown) that controls the Y-axis drive mechanism 85Y and a servo control unit 6Z (not shown) that controls the Z-axis drive mechanism 85Z.
[0076] The spindle control unit 6A generates a motor current Ia for driving the spindle driving mechanism 85A based on the position command Ac, and operates the motor 71A of the spindle driving mechanism 85A with the generated motor current Ia. The spindle control unit 6A feedback-controls the spindle driving mechanism 85A using the detected position Ad (position FB) detected by the position detector 70.
[0077] The spindle control unit 6A performs feedback control so as to reduce the error between the detected position Ad and the position command Ac, and outputs a motor current Ia to the motor 71A to drive the spindle drive mechanism 85A.
[0078] The servo control unit 6X generates a motor current Ix for driving the X-axis driving mechanism 85X based on the position command Xc, and operates the motor 71X of the X-axis driving mechanism 85X with the generated motor current Ix. The servo control unit 6X performs feedback control of the X-axis driving mechanism 85X using the detected position Xd (position FB) detected by the position detector 70.
[0079] The servo control unit 6X performs feedback control so as to reduce the error between the detected position Xd and the position command Xc, and outputs a motor current Ix to the motor 71X to drive the X-axis driving mechanism 85X.
[0080] The spindle driving mechanism 85A rotates the spindle 83, which is a drive shaft, by the motor 71A, and rotates the tool 76 connected to the spindle 83. The spindle driving mechanism 85A may also rotate the workpiece 78.
[0081] Also, the X-axis drive mechanism 85X moves the tool 76 in the X-axis direction by converting the rotational motion into linear motion. Specifically, the X-axis drive mechanism 85X converts the rotational motion of the X-axis motor 71X into linear motion. In the X-axis drive mechanism 85X, the rotational motion of the motor 71 is transmitted to the feed screw 73 via the coupling 74, and is converted into linear motion via the nut 81 and the reducer 79. The linear motion of the feed screw 73 is constrained by the support bearing 75a and the support bearing 75b. The linear motion of the nut 81 drives the tool 76 in the X-axis direction via the mechanical structure of the X-axis including the Z-axis, the support member, etc., interposed between the tool 76 and the nut 81. Also, the scope of the mechanical structure differs depending on the axis. For example, the Z-axis drive mechanism 85Z is included in the mechanical structure of the X-axis because it does not have a role of converting the motion of the X-axis motor 71X when viewed from the X-axis.
[0082] The servo control unit 6X performs feedback control so as to reduce the error between the detected position Xd, obtained by multiplying the rotation angle of the motor 71X detected by the position detector 70 attached to the motor 71X by the screw pitch of the feed screw 73, and the position command Xc, and outputs a motor current Ix to the motor 71X to drive the X-axis drive mechanism 85X.
[0083] An X-axis mechanical structure including a tool 76 to be controlled is connected to the X-axis drive mechanism 85X. Here, the position detector 70 detects only the rotation angle of the motor 71X, but as described above, rotational motion and linear motion can be easily converted. Therefore, the position detector 70 may multiply the motor rotation angle by the thread pitch of the feed screw 73 and output a detected position Xd converted into linear motion on the X-axis. The position detector 70 is an example of a position detector that is attached to the motor 71X, i.e., the detection point, and outputs the detected position Xd.
[0084] Next, there will be described the configurations of the spindle control unit 6A and the servo control unit 6X included in the power simulation system 100. Note that since the spindle control unit 6A and the servo control unit 6X have the same configuration, here, the configuration of the servo control unit 6X will be described.
[0085] 7 is a diagram showing a configuration of a servo control unit included in the power simulation system according to the embodiment. The servo control unit 6X of the present embodiment calculates a motor current Ix, which is an actual current, based on a speed command Vc input from a command value calculation unit 5, and outputs the motor current Ix to a motor 71.
[0086] The servo control unit 6X has an adder-subtractor 61 b, a speed controller 63, an adder-subtractor 61 c, a current controller 64, and a speed calculator 65.
[0087] The speed calculator 65 generates a detected speed Vd (actual speed) from a detected position Xd (actual position) output by the position detector 70. One example of the speed calculator 65 is a differential calculator. The adder / subtracter 61b calculates a speed deviation Vde=Vc-Vd, which is the difference between a speed command Vc and the detected speed Vd. As a result, the servo control unit 6X executes speed FB control.
[0088] The speed controller 63 performs speed control according to the speed deviation Vde, and generates a current command Ic. An example of the speed controller 63 is a proportional integral (PI) controller. The adder / subtracter 61c calculates a current deviation (Ic-Ix) which is the difference between the current command Ic and the motor current Ix output by the current controller 64. As a result, the servo control unit 6X executes a current FB control.
[0089] The current controller 64 performs current control in response to the current deviation (Ic-Ix), and outputs the motor current Ix to the motor 71 and the adder / subtractor 61c. An example of the current controller 64 is a PI controller.
[0090] As a result, the motor 71 executes an operation according to the motor current Ix. The position detector 70 detects a detected position Xd from the motor 71 and outputs it to the speed calculator 65.
[0091] The servo control unit 6X may include a position controller. In this case, an adder / subtractor calculates a position deviation (Xc-Xd) that is a difference between a position command Xc and a detected position Xd. The position controller performs position control according to the position deviation (Xc-Xd) and generates a speed command Vc. As a result, the servo control unit 6X executes position FB control. An example of the position controller is a P (Proportional) controller.
[0092] Next, a description will be given of the simulation process by the drive shaft simulator 12. The drive shaft simulator 12 simulates the operation of the control unit 6 and the controlled object (motor 71 equipped with a main shaft 83 and a feed shaft, a driven object, etc.). Here, a case will be described in which the drive shaft simulator 12 simulates the operation of the servo control unit 6X and the controlled object in the X-axis direction.
[0093] 8 is a diagram for explaining the process simulated by the power simulation system according to the embodiment. The drive shaft simulation unit 12 included in the power simulation device 1 of the power simulation system 100 uses a drive shaft model 40 that models the servo control unit 6X and the controlled object, which are targets for simulating consumed power. That is, the drive shaft simulation unit 12 simulates the operation of the drive shaft and the like using the drive shaft model 40 that models the drive shaft of the actual machine.
[0094] Fig. 8 shows a drive shaft model 40 in the case where the controlled object is modeled as a two-inertia model in which two inertias, consisting of a motor 71X and a driven object, are connected by a spring. Note that the drive shaft model 40 shown in Fig. 8 is only an example, and the drive shaft model 40 may be a model having another configuration.
[0095] The drive axis model 40 includes a control device model 41 that models the servo control unit 6X, and a controlled object model 42 that models the X-axis drive mechanism 85X that is the controlled object.
[0096] The control device model 41 is a model that models speed control and current control. That is, in the control device model 41, speed control and current control are performed. The speed control and current control in the control device model 41 are configured so that the processing of functions and the control period are the same as those of the actual device. Specifically, the control device model 41 simulates the operation of the servo control unit 6X. That is, the control device model 41 simulates the operation of the speed controller 63, the current controller 64, etc. It should be noted that when the servo control unit 6X performs position control, the control device model 41 performs position control.
[0097] When the servo control unit 6X of the actual machine receives the speed command Vc and the detected speed Vd, which is a feedback value of the actual speed, it generates a motor current Ix by speed feedback control so that the difference between the speed command Vc and the detected speed Vd becomes small. Therefore, the control device model 41 performs control using the same logic as the actual machine (servo control unit 6X) so that the difference between the speed command Vc and the simulated speed FB becomes small. The simulated speed FB is a feedback value when the operation of the servo control unit 6X and the controlled object is simulated using the speed command Vc, and corresponds to the detected speed Vd in the servo control unit 6X.
[0098] The control device model 41 generates a current command so that the difference between the speed command Vc and the simulated speed FB becomes small, and performs current control based on the current command. Specifically, the control device model 41 calculates the difference between the speed command Vc and the simulated speed FB, which is feedback information of the simulated speed, as a speed difference Ve. The control device model 41 generates a current command based on the speed difference Ve. The control device model 41 generates a simulated current corresponding to the current command and transmits it to the controlled object model 42. This simulated current is a current for driving the motor 71X in a simulated manner.
[0099] The controlled object model 42 is a model in which the feed axis is modeled based on inertia, rigidity, etc. In the controlled object model 42, the controlled object is modeled on the assumption that the inertia of the motor 71X and the inertia of the driven body are connected by the rigidity (spring element) of the driving body. Note that when the controlled object model 42 simulates the operation of the spindle control unit 6A and the controlled object (motor 71A, spindle 83, driven body, etc.), the controlled object model 42 is a model in which the spindle 83 is modeled based on inertia, rigidity, etc.
[0100] The controlled object model 42 simulates the speed when a current flows through the motor 71X of the actual machine and a torque is generated, and outputs a simulated speed. Specifically, the controlled object model 42 receives the difference between the force corresponding to the simulated current output by the control device model 41 and the force feedback information (simulated power FB) as force information. The controlled object model 42 calculates the acceleration of the motor 71X by dividing the force information by the inertia J of the motor 71X (1 / J), and calculates the simulated speed FB of the motor 71X by integrating this acceleration over time (1 / s). That is, the controlled object model 42 calculates the simulated speed FB of the motor 71X by dividing the force information by J and integrating (1 / Js). The simulated speed FB of the motor 71X is sent to the control device model 41.
[0101] The controlled object model 42 calculates the simulated position of the motor 71X by integrating the simulated speed FB over time (1 / s). The controlled object model 42 receives the difference between the calculated simulated position and the simulated position FB, which is feedback information of the simulated position of the motor 71X, as position information. The controlled object model 42 calculates the simulated power of the drive shaft by multiplying the position information by the stiffness K of the drive shaft. This simulated power becomes the simulated power FB, which is feedback information of the force. In the controlled object model 42, disturbances such as cutting force are input to the driven body, so the disturbance Fdt is subtracted from the simulated power of the drive shaft. The method of calculating the disturbance will be described later.
[0102] The controlled object model 42 calculates the acceleration of the driven body by dividing (1 / m) the difference between the simulated power and the disturbance Fdt by the inertia m of the driven body. The controlled object model 42 calculates the simulated speed FB of the driven body by integrating (1 / s) this acceleration over time. That is, the controlled object model 42 calculates the simulated speed FB of the driven body by dividing the difference between the simulated power and the disturbance Fdt by m and integrating (1 / ms). The controlled object model 42 calculates the simulated position of the driven body by integrating (1 / s) the simulated speed FB over time. The simulated position of the driven body here corresponds to the rotational position of the motor. The controlled object model 42 outputs the simulated position, which is the rotational position of the motor, to the power calculation unit 14. The calculated simulated position of the driven body becomes the simulated position FB.
[0103] In this way, the drive shaft model 40 used by the drive shaft simulation unit 12 includes a control device model 41 that simulates the operation of the servo control unit 6X, and a controlled object model 42 that simulates the operation of the motor 71X and the driven body.
[0104] A control device model 41 that numerically simulates the control logic of the servo control unit 6X and model parameters of the control device model 41 are set in the drive shaft simulation unit 12. The drive shaft simulation unit 12 uses control device models 41 of the servo control unit 6Y, the servo control unit 6Z, and the spindle control unit 6A in addition to the control device model 41 that numerically simulates the control logic of the servo control unit 6X. That is, the drive shaft simulation unit 12 uses the control device model 41 that numerically simulates the control logic of the servo control unit 6Y, the control device model 41 that numerically simulates the control logic of the servo control unit 6Z, and the control device model 41 that numerically simulates the control logic of the spindle control unit 6A.
[0105] Further, a controlled object model 42 that numerically simulates the behavior of the driven object and model parameters of the controlled object model 42 are set in the drive shaft simulation unit 12. Note that the parameters of the physical model in the controlled object model 42 are identified in advance so as to match the behavior of the actual machine.
[0106] The controlled object model 42 calculates the positions (predicted axis positions) of the X-axis, Y-axis, and Z-axis corresponding to the rotational position of the motor 71 based on the simulated positions (actuator commands) of the motor 71 predicted for the spindle 83, the X-axis, the Y-axis, and the Z-axis, and on the disturbances received by the X-axis, the Y-axis, and the Z-axis.
[0107] In FIG. 8, the controlled object model 42 is described as being modeled using a two-inertia model, but the controlled object model 42 may be modeled using a four-inertia model, which is a model of a highly accurate driving mechanism. In this case, the controlled object model 42 is a dynamic model in which, for example, four inertias, namely, motor inertia, coupling inertia, ball screw inertia, and table mass, are connected by springs and damping. In the four-inertia model, the motor torque and predicted disturbance are input, the position of the motor 71 is output as predicted axis feedback, and the position of the work table 77 is output as predicted axis position. In addition, a friction model in which the speed is input and the frictional force on the work table 77 is described by an equation may be included in the driving axis model 40.
[0108] The drive shaft model 40 has a physical model of the drive shaft expressed by, for example, a spring-mass-damper (spring, mass, damper) or a state equation, and can simulate the actual position, actual speed, and actual current. In this way, the drive shaft simulation unit 12 can simulate the control logic of the actual machine by using the drive shaft model 40.
[0109] 8 shows a configuration in which the drive shaft model 40 does not include a position control process corresponding to the position controller, but the drive shaft model 40 may include a position control process. In this case, the control device model 41 performs position feedback control based on a position command input to the control device model 41 and a position FB input to the control device model 41 from the controlled object model 42. The position FB here is a simulated position calculated by the controlled object model 42, and corresponds to the detected position Xd detected by the position detector 70.
[0110] In actual cutting, the cutting load acts on the drive shaft as a disturbance. Therefore, when a disturbance is input to the machine end (work table 77, spindle head, etc.), the drive shaft simulation unit 12 simulates the position or current according to the disturbance.
[0111] Here, we will explain how to calculate the disturbance. There are two types of methods for inputting the disturbance: (Method 1) Modeling the disturbance and calculating the disturbance at each time (Method 2) Measure the disturbance in advance and input the disturbance at each time
[0112] In the case of method 1, the drive shaft simulation unit 12 includes a disturbance generation unit (not shown) that generates a disturbance. In the case of the machine tool 4, the disturbance generation unit has a model of the cutting force (cutting force model), and calculates the cutting force at each time using this cutting force model. The cutting force model calculates the cutting force from the contact point between the tool 76 and the workpiece 78 and the feed rate based on, for example, an instantaneous cutting force model. The instantaneous cutting force model is a model that expresses the geometric relationship between the tool 76 and the workpiece 78 in a mathematical formula, and can calculate the instantaneous cutting force according to the rotation angle of the tool 76. When using the instantaneous cutting force model, the drive shaft simulation unit 12 determines the contact point between the tool 76 and the workpiece 78 by shape simulation such as a voxel model. The drive shaft simulation unit 12 inputs the cutting force at each time to the control target model 42 as a disturbance.
[0113] In the case of method 2, the disturbance is measured in advance. The drive shaft simulator 12 inputs the disturbance at each time as time-series data to the controlled object model 42. In the case of method 2, the drive shaft simulator 12 does not need to include a disturbance generator.
[0114] Note that the disturbance is not an essential component, and there may be no disturbance input to the controlled object model 42. In other words, the controlled object model 42 may be a model for a controlled object without a disturbance.
[0115] The power model used by the power simulation device 1 may be a trained model (machine learning model) for each piece of control information that has been trained to infer power when at least one of speed, current, and power is input. The trained model is a model for inferring power corresponding to at least one of speed, current, and power. The power simulation device 1 generates a trained model for each piece of control information using a learning device 20 described later, and infers power for each piece of control information using an inference device 30 described later and the trained model. The trained model is, for example, a learning model generated by supervised learning.
[0116] The speed input to the learned model, which is the power model, may be an actual speed (real speed) or a simulated speed. Furthermore, the current input to the learned model may be an actual current (real current) or a simulated current. Furthermore, the power input to the learned model may be an actual power (real power) or a simulated power. Note that the actual speed and the simulated speed are the same speed, the actual current and the simulated current are the same current, and the actual power and the simulated power are the same power.
[0117] Moreover, the power input to the learned model is the power calculated by the power calculation unit 14. Note that, hereinafter, a case will be described in which the power simulation device 1 learns and infers information about power using information about the simulated power.
[0118] 9 is a flowchart showing a procedure of a simulation process executed by the power simulation system according to the embodiment. The operation information generating unit 11 generates control information representing an operation state of the control unit 6 (step S11). The operation information generating unit 11 may generate the control information based on the machining program 7, or may generate the control information based on information sent from the numerical control device 2. The operation information generating unit 11 also generates a speed command Vc for driving the motor 71 based on the machining program 7.
[0119] The model selection unit 13 selects a power model corresponding to the control information (step S12). The model selection unit 13 reads out the selected power model from the power model storage unit 16.
[0120] The drive shaft simulation unit 12 selects the drive shaft model 40 corresponding to the control information (step S13). The drive shaft simulation unit 12 reads out the selected drive shaft model 40 from the drive shaft model storage unit 15. The drive shaft simulation unit 12 generates operating state information based on the control information, the speed command Vc, and the drive shaft model 40 (step S14). Specifically, the drive shaft simulation unit 12 inputs the control information and the speed command Vc to the drive shaft model 40 to calculate the simulated current and the simulated speed. The drive shaft simulation unit 12 transmits the simulated current and the simulated speed as operating state information to the power calculation unit 14. Note that the process of step S12 and the processes of steps S13 and S14 may be executed first.
[0121] The power calculation unit 14 calculates the power consumed by the control unit 6 and the motor 71 based on the operating state information and the power model (step S15). Specifically, the power calculation unit 14 calculates the power consumed by the control unit 6 and the motor 71 by inputting the simulated current and simulated speed included in the operating state information into the power model.
[0122] 10 is a diagram showing a configuration of a learning device provided in the power simulation device according to the embodiment. The learning device 20 has a data acquisition unit 21 and a model generation unit 22. The data acquisition unit 21 acquires power information 23A, which is information on simulated power, from the drive shaft simulation unit 12. The data acquisition unit 21 also acquires power information 24A, which is information on power consumption, from the power calculation unit 14.
[0123] When learning power information using information on the actual speed, the actual current, or the actual power, the data acquiring unit 21 acquires information on the actual speed, the actual current, or the actual power from the numerical control device 2. When learning power information using information on the simulated speed or the simulated current, the data acquiring unit 21 acquires information on the simulated speed or the simulated current from the drive shaft simulation unit 12. The data acquiring unit 21 sends the acquired power information 24A and power information 23A to the model generating unit 22.
[0124] The model generation unit 22 learns the power information 24A corresponding to the power information 23A based on learning data created based on a combination of the power information 23A and the power information 24A sent from the data acquisition unit 21. That is, the model generation unit 22 generates a learned model 27 that infers the power information 24A from the power information 23A. Here, the learning data is data in which the power information 23A and the power information 24A are associated with each other.
[0125] The model generation unit 22 can use known algorithms such as supervised learning, reinforcement learning, etc., as a learning algorithm. As an example, a case where a neural network is applied to the learning algorithm used by the model generation unit 22 will be described.
[0126] The model generation unit 22 learns the power information 24A corresponding to the power information 23A by so-called supervised learning, for example, according to a neural network model. Here, supervised learning refers to a method of providing a set of data (learning data) of input and result (label) to the learning device 20, learning the features contained in the learning data, and inferring the result from the input.
[0127] A neural network is composed of an input layer consisting of multiple neurons, an intermediate layer (hidden layer) consisting of multiple neurons, and an output layer consisting of multiple neurons. The intermediate layer may be one layer or two or more layers.
[0128] Fig. 11 is a diagram for explaining a neural network used by the learning device according to the embodiment. For example, in the case of a three-layered neural network as shown in Fig. 11, when multiple inputs are input to the input layer (X1 to X3), the values are multiplied by weights W1 (w11 to w16) and input to the intermediate layer (Y1 to Y2). The results are then further multiplied by weights W2 (w21 to w26) and output from the output layer (Z1 to Z3). This output result varies depending on the values of weights W1 and W2.
[0129] 10 learns power information 24A corresponding to power information 23A by so-called supervised learning according to learning data created based on a combination of power information 23A and power information 24A acquired by data acquisition unit 21. In other words, the neural network used by learning device 20 in Fig. 10 learns power information 24A corresponding to power information 23A by so-called supervised learning according to power information 23A and power information 24A created based on a combination of a first input and a second input (correct answer) acquired by data acquisition unit 21.
[0130] That is, the neural network learns by adjusting the weights W1 and W2 so that the result output from the output layer after inputting the first input, power information 23A, approaches the second input (correct answer), power information 24A.
[0131] In this way, the neural network learns by inputting power information 23A to the input layer and adjusting weights W1 and W2 so that the result output from the output layer approaches power information 24A. The neural network learns the correspondence between power information 23A and power information 24A, thereby generating a trained model 27 that can output appropriate power information 24A when power information 23A is input. In this way, the learning device 20 learns trained model 27 that can output power information 24A that is the correct answer when power information 23A is input.
[0132] The model generation unit 22 generates and outputs a trained model 27 for each piece of control information by executing the above-mentioned learning. The trained model storage unit 25 stores the trained model 27 output from the model generation unit 22. The trained model storage unit 25 may be disposed outside the power simulation apparatus 1 or inside the power simulation apparatus 1. Furthermore, the learning device 20 may be disposed outside the power simulation apparatus 1 or inside the power simulation apparatus 1.
[0133] Next, a procedure of a process in which the learning device 20 learns the trained model 27 will be described with reference to Fig. 12. Fig. 12 is a flowchart showing the procedure of a learning process executed by the learning device according to the embodiment.
[0134] The data acquiring unit 21 acquires learning data to be used for learning (step S21). Specifically, the data acquiring unit 21 acquires power information 23A and electric power information 24A.
[0135] The data acquiring unit 21 acquires the power information 23A and the power information 24A simultaneously, but the power information 23A and the power information 24A may be input in association with each other. Therefore, the data acquiring unit 21 may acquire the power information 23A and the power information 24A at different times. The data acquiring unit 21 sends the power information 23A and the power information 24A to the model generating unit 22.
[0136] The model generating unit 22 executes a learning process using the power information 23A and the power information 24A (step S22). Specifically, the model generating unit 22 learns the power information 24A corresponding to the power information 23A by so-called supervised learning according to learning data created based on a combination of the power information 23A and the power information 24A acquired by the data acquiring unit 21, and generates a learned model 27.
[0137] After generating the trained model 27, the model generation unit 22 outputs the trained model 27 to the trained model storage unit 25 (step S23). The trained model storage unit 25 stores the trained model 27 generated by the model generation unit 22.
[0138] 13 is a diagram showing a configuration of an inference device included in a power simulation apparatus according to an embodiment. The inference device 30 has a data acquisition unit 31 and an inference unit 32. The data acquisition unit 31 acquires power information 23B from outside the inference device 30. The power information 23B is the same information as the power information 23A.
[0139] The data acquiring unit 31 acquires the power information 23B in the same manner as the data acquiring unit 21. The data acquiring unit 31 sends the acquired power information 23B to the inference unit 32.
[0140] The inference unit 32 receives the power information 23B sent from the data acquisition unit 31. The inference unit 32 also reads out the learned model 27 corresponding to the control information from the learned model storage unit 25. The inference unit 32 infers the power information 24B corresponding to the power information 23B using the learned model 27. That is, the inference unit 32 can input the power information 23B acquired by the data acquisition unit 31 to the learned model 27, thereby outputting the power information 24B inferred from the power information 23B.
[0141] In addition, in the present embodiment, a case has been described in which the inference device 30 outputs appropriate power information 24B using the trained model 27 trained by the model generation unit 22 of the learning device 20, but the inference device 30 may acquire the trained model 27 from another device (such as another power simulation device). In this case, the inference device 30 outputs appropriate power information 24B based on the trained model 27 acquired from the other device. Note that the inference device 30 may be disposed outside the power simulation device 1 or inside the power simulation device 1.
[0142] Next, a process procedure of the inference device 30 inferring the power information 24B using the trained model 27 will be described with reference to Fig. 14. Fig. 14 is a flowchart showing the process procedure of the inference process executed by the inference device according to the embodiment.
[0143] The data acquisition unit 31 acquires inference data used to infer the power information 24B (step S31). The data acquisition unit 31 sends the power information 23B to the inference unit 32. The inference unit 32 acquires the power information 23B from the data acquisition unit 31, and acquires the learned model 27 corresponding to the control information from the learned model storage unit 25.
[0144] The inference unit 32 inputs the power information 23B to the trained model 27 (step S32) to obtain the power information 24B. The inference unit 32 outputs data inferred using the trained model 27 and the power information 23B (step S33). Specifically, the inference unit 32 outputs the appropriate power information 24B obtained by the trained model 27 to the display device.
[0145] The display device displays the power information 24B corresponding to the power information 23B (step S34). This allows the user to refer to the power information 24B corresponding to the power information 23B. In this manner, the power model of the embodiment may be a machine learning model that has been supervised and learned to infer power when at least one of the actual speed, the actual current, and the actual power is input.
[0146] Here, a description will be given of the hardware configuration of the power simulation device 1. The power simulation device 1 is realized by a processing circuit. The processing circuit may be a processor and memory that executes a program stored in a memory, or may be dedicated hardware.
[0147] FIG. 15 is a diagram showing an example of the configuration of a processing circuit in the case where the processing circuit included in the power simulation device according to the embodiment is realized by a processor and a memory. The processing circuit 90 shown in FIG. 15 includes a processor 91 and a memory 92. When the processing circuit 90 is configured with the processor 91 and the memory 92, each function of the processing circuit 90 is realized by software, firmware, or a combination of software and firmware. The software or firmware is described as a power simulation program and stored in the memory 92. In the processing circuit 90, each function is realized by the processor 91 reading and executing the power simulation program stored in the memory 92. That is, the processing circuit 90 includes a memory 92 for storing a power simulation program that results in the processing of the power simulation device 1 being executed. This power simulation program can also be said to be a program for causing the power simulation device 1 to execute each function realized by the processing circuit 90. This power simulation program may be provided by a computer-readable recording medium on which the power simulation program is recorded, or may be provided by other means such as a communication medium.
[0148] The power simulation program can also be said to be a program that causes the power simulation device 1 to execute the processes of steps S11 to S15 in Fig. 9. In other words, the power simulation program can also be said to be a program that causes the power simulation device 1 to execute the steps of generating control information, selecting a power model corresponding to the control information, selecting a drive shaft model 40 corresponding to the control information, generating operating state information, and calculating power.
[0149] Here, the processor 91 is, for example, a CPU (Central Processing Unit), a processing device, an arithmetic device, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor), etc. Also, the memory 92 is, for example, a non-volatile or volatile semiconductor memory such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EPROM (Erasable Programmable ROM), an EEPROM (Electrically EPROM), a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, or a DVD (Digital Versatile Disc), etc.
[0150] Fig. 16 is a diagram showing an example of a processing circuit in the case where the processing circuit included in the power simulation device according to the embodiment is configured with dedicated hardware. The processing circuit 93 shown in Fig. 16 corresponds to, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination of these. The processing circuit 93 may be partially realized by dedicated hardware and partially realized by software or firmware. In this way, the processing circuit 93 can realize each of the above-mentioned functions by dedicated hardware, software, firmware, or a combination of these.
[0151] Thus, in this embodiment, the power simulation device 1 selects from a plurality of power models a power model that corresponds to the control information (operating state) of the control unit 6 that drives the motor 71, and calculates the power consumption to be managed based on the selected power model and the operating state information of the motor 71. This allows the power simulation device 1 to calculate the power consumption using a power model that corresponds to changes in the operating state. Therefore, the power simulation device 1 can correctly estimate the actual power consumption of the drive mechanism 3 equipped with the motor 71 in accordance with changes in the operating state.
[0152] The configurations shown in the above embodiments are merely examples, and may be combined with other known technologies. Parts of the configurations may be omitted or modified without departing from the spirit of the invention. [Explanation of symbols]
[0153] 1 power simulation device, 2 numerical control device, 3 drive mechanism, 4 machine tool, 5 command value calculation unit, 6 control unit, 6A spindle control unit, 6X, 6Y, 6Z servo control unit, 7 machining program, 11 operation information generation unit, 12 drive shaft simulation unit, 13 model selection unit, 14 power calculation unit, 15 drive shaft model storage unit, 16 power model storage unit, 20 learning device, 21, 31 data acquisition unit, 22 model generation unit, 23A, 23B power information, 24A, 24B power information, 25 learned model storage unit, 27 learned model, 30 inference device, 32 inference unit, 40 drive shaft model, 41 control device model, 42 controlled object model, 61b, 61c adder / subtractor, 63 speed controller, 64 current controller, 65 speed calculator, 70 Position detector, 71, 71A, 71X, 71Y, 71Z motor, 72 guide mechanism, 73 feed screw, 74 coupling, 75a, 75b support bearing, 76 tool, 77 work table, 78 workpiece, 79 reducer, 81 nut, 83 spindle, 85A spindle drive mechanism, 85X X-axis drive mechanism, 85Y Y-axis drive mechanism, 85Z Z-axis drive mechanism, 90, 93 processing circuit, 91 processor, 92 memory, 100 power simulation system, Ac, Xc position command, Ad, Xd detected position, Ia, Ix motor current, Ic current command, Vc speed command, Vd detected speed, Vde speed deviation, Ve speed difference, W1, W2 weight.
Claims
1. an operation information generating unit that generates a speed command for driving a motor that moves a drive shaft connected to a driven body, and control information that represents an operation state of a control unit that drives the motor; a drive shaft simulation unit that simulates the behavior of the control unit, the motor, and the driven body when the control unit executes an operation corresponding to the speed command and the control information, thereby calculating a simulated current that simulates the current generated by the control unit and a simulated speed that simulates the speed of the motor, and outputs the calculated simulated current and simulated speed as operating state information; a power model storage unit that stores a plurality of types of power models that correspond to at least one of the simulated speed, the simulated current, and a simulated power that is a product of the simulated speed and the simulated current, and power consumption consumed by the control unit and the motor; a model selection unit that selects a power model corresponding to the control information from the power models stored in the power model storage unit; a power calculation unit that calculates the power consumption of the managed device based on the operating state information and the selected power model; A power simulation device comprising:
2. the operating information generation unit generates a plurality of types of the control information in response to a change in the operating state of the control unit, The control information includes at least one of information indicating whether the simulated current is flowing through the motor, information indicating whether a brake of the motor is enabled or disabled, information indicating the type of winding of the motor, a carrier frequency of the control unit, and a reduction ratio between the motor and the driven body.
2. The power simulation device according to claim 1.
3. the power model storage unit stores the power model and the control information in association with each other; 2. The power simulation device according to claim 1.
4. The power model is expressed by a multivariable polynomial with the simulated speed, the simulated current, and the simulated power as variables.
4. The power simulation device according to claim 1, wherein the power simulation device is a power simulation device.
5. the power model is a machine learning model trained by supervised learning to infer the power consumption when at least one of the simulated speed, the simulated current, and the simulated power is input; 4. The power simulation device according to claim 1, wherein the power simulation device is a power simulation device.
6. a drive mechanism including a drive shaft connected to a driven body and a motor for moving the drive shaft; a control unit that drives the motor; a power simulation device that calculates the power consumption of the control unit and the motor; Equipped with The power simulation device includes: an operation information generating unit that generates a speed command for driving the motor and control information that represents an operation state of the control unit; a drive shaft simulation unit that simulates the behavior of the control unit, the motor, and the driven body when the control unit executes an operation corresponding to the speed command and the control information, thereby calculating a simulated current that simulates the current generated by the control unit and a simulated speed that simulates the speed of the motor, and outputs the calculated simulated current and simulated speed as operating state information; a power model storage unit that stores a plurality of types of power models that correspond to at least one of the simulated speed, the simulated current, and a simulated power that is a product of the simulated speed and the simulated current, and power consumption consumed by the control unit and the motor; a model selection unit that selects a power model corresponding to the control information from the power models stored in the power model storage unit; a power calculation unit that calculates the power consumption of the managed device based on the operating state information and the selected power model; A power simulation system comprising:
7. an operation information generating step in which a power simulation system including a drive mechanism including a drive shaft connected to a driven body and a motor that drives the drive shaft, a control unit that drives the motor, and a power simulation device that calculates power consumption consumed by the control unit and the motor generates a speed command for driving the motor and control information that represents an operation state of the control unit; a drive shaft simulation step in which the power simulation system calculates a simulated current that simulates a current generated by the control unit and a simulated speed that simulates a speed of the motor by simulating behaviors of the control unit, the motor, and the driven body when the control unit executes an operation corresponding to the speed command and the control information, and outputs the calculated simulated current and simulated speed as operating state information; a power model storage step in which the power simulation system stores a plurality of types of power models in which at least one of the simulated speed, the simulated current, and a simulated power which is a product of the simulated speed and the simulated current is associated with power consumption consumed by the control unit and the motor; a model selection step in which the power simulation system selects a power model corresponding to the control information from the stored power models; a power calculation step in which the power simulation system calculates the power consumption to be managed based on the operating state information and the selected power model; 1. A power simulation method comprising:
8. an operation information generating step of generating a speed command for driving a motor that moves a drive shaft connected to a driven body, and control information that represents an operation state of a control unit that drives the motor; a drive shaft simulation step of calculating a simulated current that simulates a current generated by the control unit and a simulated speed that simulates a speed of the motor by simulating behaviors of the control unit, the motor, and the driven body when the control unit executes an operation corresponding to the speed command and the control information, and outputting the calculated simulated current and simulated speed as operating state information; a model selection step of selecting an electric power model corresponding to the control information from electric power models in which at least one of the simulated speed, the simulated current, and a simulated power which is a product of the simulated speed and the simulated current is associated with power consumption consumed by the control unit and the motor; a power calculation step of calculating the power consumption to be managed based on the operating state information and the selected power model; A power simulation program that causes a computer to execute the above.