Power simulation device, power simulation system, power simulation method, and power simulation program
The power simulation device accurately estimates drive mechanism power consumption by simulating control states and selecting appropriate power models, addressing inaccuracies in conventional estimation methods and enhancing system management.
Patent Information
- Application Number
- PCT/JP2024/000969
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-01-16
- Publication Date
- 2025-07-24
AI Technical Summary
Conventional power consumption estimation technologies for drive mechanisms, such as machine tools, fail to accurately model the feed axis and consider power losses, leading to inaccurate estimation of actual power consumption.
A power simulation device that simulates the behavior of a drive mechanism by generating control information, calculating simulated current and speed, and selecting a power model based on the operating state to estimate power consumption accurately.
The device can correctly estimate the actual power consumption of drive mechanisms, enabling effective management, maintenance, and diagnosis of systems like machine tools.
Smart Images

Figure JP2024000969_24072025_PF_FP_ABST
Abstract
Description
Power simulation device, power simulation system, power simulation method, and power simulation program
[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.
[0002] A simulation technology has been developed that can estimate the power consumption of drive mechanisms, such as machine tools, without actually operating the devices. Conventional power consumption estimation technology cannot accurately model the feed axes of machine tools and does not take power loss into account, making it impossible to accurately estimate power consumption.
[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.
[0004] JP 2014-219911 A
[0005] When the drive mechanisms are actually controlled, the operating state of the drive mechanisms may be changed depending on the operation, such as by stopping power supply to inactive drive mechanisms and applying brakes to reduce power consumption. However, the technology of Patent Document 1 estimates power consumption using a single power model without considering the operating state of the drive mechanisms, which causes a problem in that the actual power consumption of the drive mechanisms 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.
[0007] To solve the above-mentioned problems and achieve the object, a power simulation device disclosed herein includes an operating information generation unit that generates a speed command for driving a motor that moves a drive shaft connected to a driven object and control information representing the operating state of a control unit that drives the motor, and a drive shaft simulation unit that calculates a simulated current that simulates the current generated by the control unit and a simulated speed that simulates the motor speed by simulating the behavior of the control unit, the motor, and the driven object when the control unit executes operations corresponding to the speed command and the control information, and outputs the calculated simulated current and simulated speed as operating state information. The power simulation device disclosed herein also includes a power model storage unit that stores multiple power models that associate at least one of a simulated speed, a simulated current, and a simulated power, which is the product of the simulated speed and the simulated current, with power consumption 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 disclosed herein also includes a power calculation unit that calculates power consumption of a managed object based on the operating state information and the selected power model.
[0008] The power simulation device according to the present disclosure has the effect of being able to correctly estimate the actual power consumption of the drive mechanism.
[0009] FIG. 1 is a diagram showing a configuration of a power simulation system according to an embodiment; FIG. 1 is a diagram showing a configuration of a power simulation device according to an embodiment; FIG. 2 is a diagram for explaining a power model stored in a power simulation device according to an embodiment; FIG. 3 is a diagram for explaining a power model selected by a power simulation device according to an embodiment; FIG. 4 is a diagram showing an example configuration of a machine tool provided in a power simulation system according to an embodiment; FIG. 5 is a diagram showing a configuration of a numerical control device and a drive mechanism provided in a power simulation system according to an embodiment; FIG. 6 is a diagram showing a configuration of a servo control unit provided in a power simulation system according to an embodiment;
[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 in detail below with reference to the drawings. Note that although the following describes a case in which the power simulation device estimates power consumption for a machine tool equipped with a drive mechanism, the power simulation device may estimate power consumption for any device equipped with a drive mechanism. The power simulation device may also estimate power consumption for, for example, industrial machinery, industrial robots, etc. Note that in the embodiments, power consumption may sometimes be simply referred to as power.
[0011] 1 is a diagram showing the 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 drive mechanism 3. The drive mechanism 3 includes a motor having a drive shaft and a driven body. The driven body is a tool connected to the drive shaft, a workpiece connected to the drive 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 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 the numerical control device 2, and controls the operation of a motor equipped with a drive shaft, thereby controlling the operation of the drive shaft and 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 also 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 machining device such as a machine tool, the drive program is a machining program (a machining program 7 described later) for machining a workpiece. The drive program defines the operation of the drive mechanism 3. The following describes the case where the drive program is the machining program 7.
[0015] The power simulation device 1 generates control information that indicates 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, and information on the carrier frequency of the control unit 6.
[0016] The power simulation device 1 stores a plurality of power models, selects a power model from the plurality of power models that corresponds to the control information, 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 operating state information from the operating state information of the drive mechanism 3. The operating state information is information that indicates the operating state of the drive mechanism 3. The operating 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 rotational 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 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 referred to as the actual position, and a signal corresponding to the actual velocity FB is referred to as the actual velocity. Furthermore, in this embodiment, the position and velocity obtained by simulating these actual positions and velocities are referred to as the simulated position and simulated velocity. Furthermore, in this embodiment, the current supplied to the motor when the control unit 6 and the drive mechanism 3 actually operate is referred to as the actual current, and the current obtained by simulating the operation of the control unit 6 and the drive mechanism 3 is referred to as 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 in the operating state information. The power simulation device 1 may also estimate the power consumption of the drive mechanism 3 by using the actual speed of the drive mechanism 3 instead of the simulated speed in the operating 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 the 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. In other words, the drive shaft model storage unit 15 stores a plurality of drive shaft models that correspond to the control information. Note that 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 located 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 object, based on the machining program 7. The speed command is a command that specifies the operating speed (rotational 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 generator 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 at which each position passes. When the object to be controlled by the numerical control device 2 is a machine tool, the machining program 7 is a file describing G-code, M-code, etc. used as command values for the numerical control device 2.
[0029] The driving information generator 11 may generate a position command together with the speed command. In this case, the driving information generator 11 generates the position command based on, for example, a point cloud of positions arranged in chronological order and a command value describing the speed at which each position passes. The position command is a command that specifies the rotational position of the motor.
[0030] The operation information generating unit 11 generates multiple types of control information consisting of a combination of multiple 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 multiple types.
[0031] The control information items include at least one of information indicating whether or not there is motor current (servo current flow) (information indicating whether or not current is flowing to the motor), information indicating whether the motor brake is enabled or disabled, information indicating the type of motor winding, 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 winding 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 winding 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] The power simulation device 1 can calculate the power for, for example, the spindle of a machine tool using a speed command without using a position command, but the numerical control device 2 may control the position and speed like 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 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. The driving information generating unit 11 also 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) matches the command speed.
[0038] The drive shaft model used by the drive shaft simulation unit 12 is switched based on control information. That is, the drive shaft simulation unit 12 changes the drive shaft model to be used based on information on whether or not current is flowing 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 based on a speed command. The drive shaft simulation unit 12 may switch the model parameters used for the drive shaft model based on 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 using, for example, the Runge-Kutta method, and calculates a simulated speed and a simulated current from the response.
[0040] The drive shaft simulator 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 simulator 12 uses the drive shaft model to simulate 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, thereby calculating a simulated current used to drive the drive mechanism 3 and a simulated speed of the motor of the drive mechanism 3. The drive shaft simulator 12 transmits the simulated current and simulated speed to the power calculator 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] Next, 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 includes, for example, "motor current," "motor brake," "motor winding," and "amplifier carrier frequency."
[0045] "Motor current" is information on whether the motor is energized 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] To reduce power consumption, machine tools may be configured so that no current flows through the motor (motor current is off) until a speed command is input. "Motor current" indicates 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" indicates this state of the motor brake.
[0048] For example, if a drive shaft has a motor brake, when the drive shaft is operating, the motor state transitions in the following order: "input of speed command to motor → motor current on → motor brake release." Also, 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] A machine tool motor 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 winding to be used is switched. By having multiple types of motor windings, a single motor can achieve both low-speed, high torque and high-speed rotation. The "motor windings" indicates the type (state) of such motor windings. The operation information generation 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 specification" is set for "motor windings."
[0050] Motors in 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 the servo control unit 6X described below) controls the motor. Carrier frequency information may be included in the command values in the machining program 7, or may be determined from the speed command.
[0051] If 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 upon receiving this command. Furthermore, when determining the carrier frequency from the speed command, the driving information generating unit 11 increases the carrier frequency if the speed is equal to or greater than a predetermined reference speed, and decreases the carrier frequency if the speed is less than the reference speed. The reason why the driving information generating unit 11 increases the carrier frequency if the speed is equal to or greater than the reference speed is that, generally, the faster the motor rotation speed, the higher the carrier frequency needs to be, for control characteristics and noise prevention purposes. If any carrier frequency is acceptable, "No specification" is set for "Amplifier Carrier Frequency."
[0052] 4 is a diagram for explaining a power model selected by the power simulation apparatus 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 over 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 that the motor current is off, and information indicating that the motor brake is enabled, the model selection unit 13 selects the first power model as the power model corresponding to this control information.
[0054] Moreover, if, over time, 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, the model selection unit 13 selects the second power model as the power model corresponding to this control information. Furthermore, if, over time, the motor winding information included in the control information changes to information indicating the second motor winding, 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 in accordance with changes in the control information. The power model is expressed, for example, by a multivariate polynomial with speed (simulated speed or actual speed), current (simulated current or actual current), and simulated power as variables. The power calculation unit 14 calculates power using, for example, the power model shown in the following equation (1).
[0056]
[0057] In equation (1), P is the power consumed by the control unit 6 and the motor. In equation (1), W is power, V is speed, and I is current. In equation (1), K0 to K6 are coefficients. In the case of equation (1), the coefficients K0 to K6 are identified in advance so that they match the power consumption of the actual machine. W is the value obtained by multiplying the speed and torque. In other words, W = speed x torque. In addition, torque is the value obtained by multiplying the current and torque constant. Therefore, W = speed x current x torque constant.
[0058] The power calculation unit 14 may change the power model used to calculate power based on information about 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 enters a powering state when the speed and torque have the same sign, such as when the motor is accelerating. Regeneration is a state in which the rotational energy of the motor and the load flows into the control unit 6. The machine tool enters a regenerative state when the speed and torque have opposite signs, such as when the motor is decelerating. The following equation (2) is an example of a power model that can switch between powering and regeneration depending on the power.
[0059]
[0060] K0 to K6, K in formula (2) 10 ~K 16 is a coefficient. The upper equation in equation (2) is a power model for power running (W≧0), and the lower equation in equation (2) is a power model for regeneration (W<0). In equation (2), K0 to K6, K 10 ~K 16 The coefficients 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 the user (worker, operator, etc.) 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 an example of the configuration of a machine tool included in the power simulation system according to the embodiment. The machine tool 4 included 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 that are perpendicular to each other are referred to as the X-axis and Y-axis. Also, the axis perpendicular to the X-axis and 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 that drives the X-axis, a Y-axis drive mechanism 85Y that drives the Y-axis, a Z-axis drive mechanism 85Z that drives the Z-axis, and a spindle drive mechanism 85A that drives 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 work table 77 in the Y-axis direction, and rotates the tool 76 using the spindle 83, thereby machining the workpiece 78.
[0068] The machine tool 4 drives the axes in accordance with 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, and 71Z, which serve as actuators, is converted into linear motion in the drive direction of each axis by the feed screw 73. At this time, the rotational motion is supported by the guide mechanism 72, so the axes have a degree of freedom only in the feed direction of the feed screw 73. As a result, in the machine tool 4, movement in three-dimensional space of XYZ, i.e., three degrees of freedom, is realized by combining the linear motion of each axis to achieve two degrees of freedom of movement of the tool 76 in the XZ plane and one degree of freedom of movement of the workpiece 78 in the Y direction.
[0069] Machine tool 4 rotates motor 71A to rotate spindle 83. Machine tool 4 rotates tool 76 via spindle 83, and removes material from workpiece 78 at a location where tool 76 interferes, thereby forming a three-dimensional machined shape on workpiece 78. In the following description, when there is no need to distinguish between motors 71X, 71Y, 71Z, and 71A, motors 71X, 71Y, 71Z, and 71A may be referred to as motors 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 constitute 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, except 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 the numerical control device and the drive mechanism included in the power simulation system according to the embodiment. Fig. 6 explains the X-axis drive mechanism 85X and the spindle drive mechanism 85A. Fig. 6 shows a schematic diagram of the X-axis drive mechanism 85X and the spindle drive mechanism 85A.
[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 drive 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 that indicates the rotational position of the motor 71X calculated by the command value calculation unit 5 in accordance with the machining program 7.
[0074] Furthermore, the command value calculation unit 5 generates a position command Ac for the spindle drive mechanism 85A based on the machining program 7, and transmits the generated position command Ac to the spindle control unit 6A. The position command Ac is a command indicating the rotational position of the motor 71A calculated by the command value calculation unit 5 in accordance with the machining program 7. When the machine tool 4 is a cutting machine, the command value calculation unit 5 transmits a rotational speed command for the spindle 83 to the 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 drive mechanism 85A based on the position command Ac, and operates the motor 71A of the spindle drive mechanism 85A with the generated motor current Ia. The spindle control unit 6A performs feedback control of the spindle drive 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 drive mechanism 85X based on the position command Xc, and operates the motor 71X of the X-axis drive mechanism 85X using the generated motor current Ix. The servo control unit 6X performs feedback control of the X-axis drive 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 drive mechanism 85X.
[0080] The spindle drive 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 drive mechanism 85A may also rotate the workpiece 78.
[0081] The X-axis drive mechanism 85X converts rotational motion into linear motion to move the tool 76 in the X-axis direction. 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 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 bearings 75a and 75b. The linear motion of the nut 81 drives the tool 76 in the X-axis direction via the X-axis mechanical structure, which includes the Z-axis and support members interposed between the tool 76 and the nut 81. The scope of the mechanical structure varies depending on the axis. For example, the Z-axis drive mechanism 85Z is included in the X-axis mechanical structure because it does not have a role in converting the motion of the X-axis motor 71X from the X-axis perspective.
[0082] The servo control unit 6X performs feedback control 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 thread 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, we will explain the configurations of the spindle control unit 6A and the servo control unit 6X included in the power simulation system 100. Since the spindle control unit 6A and the servo control unit 6X have the same configuration, we will explain the configuration of the servo control unit 6X here.
[0085] 7 is a diagram showing the 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 the speed command Vc input from the command value calculation unit 5, and outputs the motor current Ix to the 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 the detected position Xd (actual position) output by the position detector 70. One example of the speed calculator 65 is a differential calculator. The adder-subtractor 61b calculates a speed deviation Vde=Vc-Vd, which is the difference between the speed command Vc and the detected speed Vd. This allows the servo control unit 6X to perform speed feedback control.
[0088] The speed controller 63 performs speed control in accordance with the speed deviation Vde and generates a current command Ic. An example of the speed controller 63 is a PI (Proportional Integral) controller. The adder-subtractor 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. This allows the servo control unit 6X to perform current feedback control.
[0089] The current controller 64 performs current control in accordance with 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 performs an operation according to the motor current Ix. The position detector 70 detects the detected position Xd of the motor 71 and outputs it to the speed calculator 65.
[0091] The servo control unit 6X may also include a position controller. In this case, an adder-subtractor calculates a position deviation (Xc-Xd), which is the difference between the position command Xc and the detected position Xd. The position controller performs position control according to the position deviation (Xc-Xd) and generates a speed command Vc. This allows the servo control unit 6X to perform position feedback control. An example of a position controller is a P (Proportional) controller.
[0092] Next, a description will be given of the simulation process performed by the drive axis simulator 12. The drive axis simulator 12 simulates the operation of the control unit 6 and the controlled object (the motor 71 equipped with the main shaft 83 and the feed shaft, the driven object, etc.). Here, a description will be given of the case where the drive axis 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 the targets of the simulation of power consumption. In other words, 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 an actual machine.
[0094] 8 shows a drive shaft model 40 in which the controlled object is modeled as a two-inertia model in which two inertias, consisting of the motor 71X and the driven body, are connected by a spring. Note that the drive shaft model 40 shown in FIG. 8 is just an example, and the drive shaft model 40 may be a model with a different 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, the control device model 41 performs speed control and current control. The speed control and current control in the control device model 41 are configured so that the functional processing and control cycle 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. Note that when the servo control unit 6X performs position control, the control device model 41 also 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 as to reduce the difference between the speed command Vc and the detected speed Vd. Therefore, the control device model 41 performs control using the same logic as the actual machine (servo control unit 6X) so as to reduce the difference between the speed command Vc and the simulated speed FB. 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 as to reduce the difference between the speed command Vc and the simulated speed FB, 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 simulating the driving of the motor 71X.
[0099] The controlled object model 42 is a model in which the feed axis is modeled in terms of inertia, rigidity, etc. In the controlled object model 42, the controlled object is modeled assuming 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 in terms of inertia, rigidity, etc.
[0100] The controlled object model 42 simulates the speed when current flows through the motor 71X of the actual machine and torque is generated, and outputs a simulated speed. Specifically, the controlled object model 42 receives, as force information, the difference between the force corresponding to the simulated current output by the control device model 41 and force feedback information (simulated power FB). 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, as position information, the difference between the calculated simulated position and the simulated position FB, which is feedback information of the simulated position of the motor 71X. 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 force feedback information. 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. Here, the simulated position of the driven body 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 axis simulation unit 12. Note that the drive axis 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 axis simulation unit 12 uses a control device model 41 that numerically simulates the control logic of the servo control unit 6Y, a control device model 41 that numerically simulates the control logic of the servo control unit 6Z, and a control device model 41 that numerically simulates the control logic of the spindle control unit 6A.
[0105] Furthermore, 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 of the X-axis, Y-axis, and Z-axis (predicted axis positions) 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, X-axis, Y-axis, and Z-axis, and the disturbances received by the X-axis, Y-axis, and Z-axis.
[0107] While the controlled object model 42 shown in FIG. 8 is modeled using a two-inertia model, the controlled object model 42 may also be modeled using a four-inertia model, which is a model of a high-precision drive 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 dampers. In the four-inertia model, motor torque and predicted disturbances 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. The drive axis model 40 may also include a friction model in which velocity is input and the friction force on the work table 77 is described by an equation.
[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 position control processing corresponding to the position controller, but the drive shaft model 40 may include position control processing. 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 simulator 12 simulates the position or current corresponding to the disturbance.
[0111] Here, the method for calculating the disturbance will be explained. There are two methods for inputting the disturbance: (Method 1) A method for modeling the disturbance and calculating the disturbance at each time (Method 2) A method for measuring the disturbance in advance and inputting the disturbance at each time.
[0112] In Method 1, the drive shaft simulator 12 includes a disturbance generator (not shown) that generates a disturbance. In the case of the machine tool 4, the disturbance generator has a cutting force model (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 mathematically expresses the geometric relationship between the tool 76 and the workpiece 78, 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 simulator 12 determines the contact point between the tool 76 and the workpiece 78 using a shape simulation such as a voxel model. The drive shaft simulator 12 inputs the cutting force at each time as a disturbance to the controlled object model 42.
[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 that has no 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 trained model, which serves as the power model, may be an actual speed (real speed) or a simulated speed. Furthermore, the current input to the trained model may be an actual current (real current) or a simulated current. Furthermore, the power input to the trained 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] The power input to the trained model is the power calculated by the power calculation unit 14. In the following, a case will be described in which the power simulation device 1 learns and infers information about power using information about simulated power.
[0118] 9 is a flowchart showing the 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 the 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 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 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 a simulated current and a 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] 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 71 (step S15). Specifically, the power calculation unit 14 inputs the simulated current and simulated speed included in the operating state information into the power model to calculate the power consumed by the control unit 6 and the motor 71.
[0122] 10 is a diagram showing the configuration of a learning device included in the power simulation apparatus according to the embodiment. The learning device 20 includes 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, actual current, or actual power, the data acquiring unit 21 acquires information on the actual speed, actual current, or actual power from the numerical control device 2. When learning power information using information on the simulated speed or simulated current, the data acquiring unit 21 acquires information on the simulated speed or simulated current from the drive shaft simulator 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 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 technique in which data sets (learning data) of inputs and results (labels) are provided to the learning device 20, and the learning device 20 learns the features contained in the learning data and infers the results from the inputs.
[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] 11 is a diagram illustrating a neural network used by a learning device according to an embodiment. For example, in a three-layer 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] The neural network used by the learning device 20 in Fig. 10 learns power information 24A corresponding to power information 23A by so-called supervised learning in accordance with learning data created based on a combination of power information 23A and power information 24A acquired by the data acquisition unit 21. In other words, the neural network used by the learning device 20 in Fig. 10 learns power information 24A corresponding to power information 23A by so-called supervised learning in accordance with power information 23A and power information 24A created based on a combination of a first input and a second input (correct answer) acquired by the data acquisition unit 21.
[0130] In other words, 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 into the input layer and adjusting weights W1 and W2 so that the result output from the output layer approaches power information 24A. By learning the correspondence between power information 23A and power information 24A, the neural network generates 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 a trained model 27 that can output power information 24A that is correct 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 performing the above-described 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 arranged outside the power simulation apparatus 1 or inside the power simulation apparatus 1. Furthermore, the learning device 20 may be arranged outside the power simulation apparatus 1 or inside the power simulation apparatus 1.
[0133] Next, a processing procedure of the 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 processing procedure of the 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 generation unit 22 executes a learning process using the power information 23A and the power information 24A (step S22). Specifically, the model generation unit 22 learns the power information 24A corresponding to the power information 23A by so-called supervised learning in accordance with learning data created based on a combination of the power information 23A and the power information 24A acquired by the data acquisition 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 the configuration of an inference device included in a power simulation apparatus according to an embodiment. The inference device 30 includes 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 acquisition unit 31 acquires the power information 23B in the same manner as the data acquisition unit 21. The data acquisition 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 uses the learned model 27 to infer the power information 24B corresponding to the power information 23B. That is, the inference unit 32 inputs the power information 23B acquired by the data acquisition unit 31 into the learned model 27, thereby being able to output the power information 24B inferred from the power information 23B.
[0141] Furthermore, in the present embodiment, the 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 processing 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 processing 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 into the trained model 27 (step S32) to obtain the electric 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 electric power information 24B obtained by the trained model 27 to a 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 undergone supervised learning to infer power when at least one of the actual speed, the actual current, and the actual power is input.
[0146] Here, we will explain 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 illustrating an example of the configuration of a processing circuit included in a power simulation apparatus according to an embodiment, where the processing circuit is realized by a processor and a memory. The processing circuit 90 illustrated 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 written 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 the memory 92 for storing a power simulation program that results in the processing of the power simulation apparatus 1 being executed. This power simulation program can also be considered a program that causes the power simulation apparatus 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 by other means such as a communication medium.
[0148] The power simulation program can also be considered 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 considered 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 unit, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor), etc. 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), or an EEPROM (Electrically EPROM), a magnetic disk, a flexible disk, an optical disk, a compact disk, a minidisk, or a DVD (Digital Versatile Disc).
[0150] 16 is a diagram illustrating an example of a processing circuit included in a power simulation apparatus according to an embodiment, configured with dedicated hardware. The processing circuit 93 illustrated 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 thereof. The processing circuit 93 may be partially implemented with dedicated hardware and partially implemented with software or firmware. In this manner, the processing circuit 93 can achieve the above-described functions with dedicated hardware, software, firmware, or a combination thereof.
[0151] As described above, 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, and parts of the configurations may be omitted or modified without departing from the spirit of the invention.
[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 axis simulation unit, 13 Model selection unit, 14 Power calculation unit, 15 Drive axis 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 axis model, 41 Control device model, 42 Control target 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 generation unit that generates a speed command for driving a motor that moves a drive shaft connected to a driven body, and control information representing an operating state of a control unit that drives the motor; a drive shaft simulation unit that calculates a simulated current obtained by simulating a current generated by the control unit and a simulated speed obtained by simulating 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 operation state information; a power model storage unit that stores a plurality of types of power models, which are models in which at least one of the simulated speed, the simulated current, and 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 unit that selects a power model corresponding to the control information from the power models stored in the power model storage unit; and a power calculation unit that calculates the power consumption to be managed based on the operation state information and the selected power model. A power simulation device characterized by comprising the above components.
2. The operation information generation unit generates a plurality of types of the control information according to a change in the operating state of the control unit, and the control information includes at least one of information indicating whether the simulated current is flowing through the motor, information indicating whether the brake of the motor is effective or ineffective, information indicating a type of winding of the motor, a carrier frequency of the control unit, and a reduction ratio between the motor and the driven body. The power simulation device according to claim 1, characterized by the above.
3. The power model storage unit stores the power model in association with the control information. The power simulation device according to claim 1 or 2, characterized by the above.
4. The power model is represented by a multivariate polynomial having the simulated speed, the simulated current, and the simulated power as variables. The power simulation device according to any one of claims 1 to 3, characterized by the above.
5. The power simulation device according to any one of claims 1 to 3, wherein the power model is a machine learning model learned 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.
6. A drive mechanism including a drive shaft connected to a driven body and a motor that moves the drive shaft, a control unit that drives the motor, and a power simulation device that calculates the power consumption of the control unit and the motor. The power simulation device includes an operation information generation unit that generates a speed command for driving the motor and control information representing the operation state of the control unit, and a drive shaft simulation unit that calculates a simulated current obtained by simulating the current generated by the control unit and a simulated speed obtained by simulating the speed of the motor 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 operation state information. The power simulation system further includes a power model storage unit that stores a plurality of types of power models in which at least one of the simulated speed, the simulated current, and the simulated power, which is the product of the simulated speed and the simulated current, is associated with the power consumption of 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, and a power calculation unit that calculates the power consumption to be managed based on the operation state information and the selected power model.
7. A power simulation system comprising a drive mechanism having a drive shaft connected to a driven body and a motor for moving the drive shaft, a control unit for driving the motor, and a power simulation device for calculating the power consumption of the control unit and the motor, includes an operation information generation step of generating a speed command for driving the motor and control information representing the operating state of the control unit; a drive shaft simulation step in which the power simulation system 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, calculates a simulated current simulating the current generated by the control unit and a simulated speed simulating the speed of the motor, and outputs the calculated simulated current and simulated speed as operation state information; a power model storage step in which the power simulation system stores a plurality of types of power models, which are models in which at least one of the simulated speed, the simulated current, and the simulated power, which is the product of the simulated speed and the simulated current, is associated with the power consumption of 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; and a power calculation step in which the power simulation system calculates the power consumption to be managed based on the operation state information and the selected power model. A power simulation method characterized by comprising the above steps.
8. An operation information generation step of generating a speed command for driving a motor that moves a drive shaft connected to a driven body, and control information representing an operating state of a control unit that drives the motor; a drive shaft simulation step of calculating a simulated current obtained by simulating a current generated by the control unit and a simulated speed obtained by simulating 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 operation state information; a model selection step of selecting a power model corresponding to the control information from power models in which at least one of the simulated speed, the simulated current, and 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; and a power calculation step of calculating the power consumption to be managed based on the operation state information and the selected power model. A power simulation program characterized by causing a computer to execute the above steps.
Citation Information
Patent Citations
Power consumption estimation apparatus
JP2011005623A
Motor controller
JP2012222890A
Simulation device and simulation program
JP2014219911A
Machine learning device, power consumption prediction device, and control device
JP2021086405A
Control device, imaging apparatus, lens device, control method, and program
JP2022151257A