Axis movement completion determination device and axis movement completion determination method
The machining time prediction device analyzes and simulates CNC machine tool operations to predict machining time accurately, addressing the challenges of axis stop commands and high inertia axes without requiring actual data collection.
Patent Information
- Application Number
- JP2024168579
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-09-27
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2042-02-18
AI Technical Summary
Existing methods struggle to accurately predict machining time in CNC machine tools due to frequent axis stop commands or high inertia axes, requiring actual machining data that is time-consuming to collect.
A machining time prediction device that analyzes the machining program, generates motion commands, simulates axis motion, and determines operation completion without actual data, using an analysis unit, execution control, axis control, and motion simulation units to predict machining time.
Accurately predicts machining time without using actual machining data, even with frequent axis stop commands or high inertia axes, enhancing processing efficiency.
Smart Images

Figure 0007610069000009 
Figure 0007610069000010 
Figure 0007610069000011
Abstract
Description
[Technical field]
[0001] The present invention relates to a machining time prediction device and machining time prediction method for a machine tool, and in particular to a machining time prediction device and machining time prediction method for predicting the machining time of a machine tool that controls at least one axis to machine a workpiece based on a machining program. [Background technology]
[0002] To perform machining efficiently, it is necessary to know the time required for each process before machining. It is especially important to know the time required to execute the machining program of the CNC machine tool.
[0003] Patent Document 1 describes a numerical control device that determines the shortest predicted machining time within an allowable machining error. Specifically, Patent Document 1 describes that speed data that gives the machining speed when machining a workpiece and accuracy data that gives the machining accuracy are specified, a program analysis unit creates interpolation data for a machining program, an interpolation unit performs interpolation according to the interpolation data based on the speed created by the pre-interpolation acceleration / deceleration unit to create interpolation data (ΔPn), and a post-interpolation acceleration / deceleration unit performs post-interpolation acceleration / deceleration on the interpolation data (ΔPn) to create servo position command data (VCn). Patent Document 1 also describes that a servo simulation unit receives the servo position command data (VCn) and creates servo position data (Qn) that simulates an actual servo operation, a machining time prediction unit can measure the machining time using the interpolation data or by counting the number of interpolations, and a machining error prediction unit uses the interpolation data (ΔPn) and the servo position data (Qn) to obtain a predicted machining error.
[0004] Patent Document 2 describes a numerical control device that enables highly accurate prediction of machining time taking into account machine delays that occur in the machine. Specifically, Patent Document 2 describes that a numerical control device includes a reference machining time prediction unit that predicts a reference machining time, which is the machining time without considering acceleration and deceleration of the axes, based on a machining program; an acceleration / deceleration count prediction unit that predicts the number of accelerations and decelerations of the axes during machining based on the machining program; a data storage unit that stores information related to a deviation time, which is the difference between an actual machining time, which is the machining time required for actual machining by a machine, and a reference machining time predicted for the machining; a correction time calculation unit that calculates a correction time for correcting the reference machining time based on the number of accelerations and decelerations predicted by the acceleration / deceleration count prediction unit and the information related to the deviation time stored in the data storage unit; and a machining time prediction unit that calculates a predicted machining time by correcting the reference machining time by the correction time.
[0005] Patent Document 3 describes a processing time calculation device that can accurately calculate a required processing time before processing. Specifically, Patent Document 3 describes that a divided path calculation means obtains divided paths by dividing a designated tool path at large intervals where the curvature is small and dividing the designated tool path at smaller intervals as the curvature of the designated tool path increases, and an axis control data calculation means obtains an arbitrary position on the divided path when a workpiece is machined by moving a tool on each divided path at a speed according to a designated tool moving speed and a time change in the tool moving speed in each axial direction obtained at a predetermined time interval, as axis control data A. Patent Document 3 also describes that a required machining time calculation means calculates a machining time for machining a designated range. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] JP 2012-243152 A [Patent Document 2] JP 2017-207823 A [Patent Document 3] JP 2009-098981 A Summary of the Invention [Problem to be solved by the invention]
[0007] When axis stop commands appear frequently in the machining program of a CNC machine tool, or when the machine tool is equipped with an axis with large inertia (large response time constant), it is difficult to accurately predict the machining time. Furthermore, if data on actual machining is used to predict the machining time, it takes time and effort to collect the data. Therefore, there is a demand for a machining time prediction device for a machine tool that can accurately predict machining times without using actual machining data, even when axis stop commands are frequent in the machining program and when the machine tool is equipped with an axis of large inertia. [Means for solving the problem]
[0008] A first representative aspect of the present disclosure is a machining time prediction device that predicts a machining time of a machine tool that controls at least one axis to machine a workpiece based on a machining program, an analysis unit that analyzes the machining program and generates operation commands for the axes; an execution control unit that controls the execution of the operation command and includes an interpolation unit that instructs the operation of the axis based on a result of analyzing the machining program, and an operation completion determination unit that determines when the operation of the axis is completed; an axis control unit that generates a control command based on an operation instruction of the axis from the interpolation unit; a processing time prediction unit that measures a time required for executing the processing program and predicts the processing time; an axis operation simulation unit that simulates the operation of the axis based on the control command and outputs a virtual actual result; Equipped with The operation completion determination unit determines completion of the operation of the axis based on the virtual actual result. This is a processing time prediction device.
[0009] A second representative aspect of the present disclosure is a processing time prediction device that predicts a processing time of a machine tool that controls at least one axis to process a workpiece based on a processing program, comprising: A process of analyzing the machining program and generating an operation command for the axis; Controlling the execution of the motion command and instructing the motion of the axis based on the result of analyzing the machining program; determining when the motion of the axis is complete; A process of generating a control command based on an operation command of the axis; A process of measuring a time required for executing the machining program and predicting the machining time; an axis operation simulation process for simulating the operation of the axis based on the control command and outputting a virtual actual result; Run In the process of determining whether the operation of the axis is completed, the completion of the operation of the axis is determined based on the virtual actual result. This is a method for predicting processing time. Effect of the Invention
[0010] According to each aspect of the present disclosure, it is possible to accurately predict machining time without using actual machining data, even when axis stop commands are frequently issued in the machining program and when a machine tool is equipped with an axis of large inertia. [Brief description of the drawings]
[0011] [Figure 1] 1 is a block diagram showing a configuration of a machining time prediction device according to a first embodiment of the present disclosure. [Diagram 2] FIG. 11 is a block diagram of a transfer function of the axis operation simulation unit when the axis of the axis operation simulation unit is a feed axis. [Diagram 3] FIG. 11 is a block diagram of a transfer function of the axis operation simulation unit when the axis of the axis operation simulation unit is a main shaft. [Figure 4] 13 is a block diagram showing the configuration of the axis operation simulation unit when the axis of the axis operation simulation unit is a main shaft. FIG. [Diagram 5] FIG. 2 is a diagram showing a drive system including a motor, a coupling, and a ball screw. [Figure 6]FIG. 4 is a characteristic diagram showing the relationship between friction torque and the angular velocity of the motor. [Figure 7] FIG. 2 is a diagram showing the configuration of a machining center for machining a turbine blade W. [Figure 8] FIG. 11 is a characteristic diagram for explaining an in-position check. [Figure 9] FIG. 11 is a characteristic diagram for explaining a stop determination speed range. [Figure 10] 10 is a characteristic diagram for explaining a speed arrival range and a waiting time until the speed enters the arrival range. FIG. [Figure 11] 13 is a characteristic diagram showing an X-axis command speed, an X-axis speed output from an axis operation simulation unit, and a waiting time. FIG. [Figure 12] 4 is a flowchart showing a machining time predicting operation of the machining time predicting device. [Figure 13] FIG. 11 is a block diagram showing a configuration of a machining time prediction device according to a second embodiment of the present disclosure. [Figure 14] FIG. 11 is a block diagram showing a configuration in which a Z-axis motion simulation unit operates in accordance with the operation of a spindle motion simulation unit. [Figure 15] FIG. 13 is a diagram illustrating an example of a configuration in which an X-axis motion simulation unit and a Z-axis motion simulation unit are connected to the same DC bus. [Figure 16] FIG. 4 is a characteristic diagram showing the relationship between the maximum torque and the rotation speed of a motor. [Figure 17] FIG. 13 is a characteristic diagram showing a predicted waiting time and a waiting time taking into account NT characteristics, assuming that τmax in region R1 is also applied to region R2. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0012] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings.
[0013] (First embodiment) FIG. 1 is a block diagram showing a configuration of a machining time prediction device according to a first embodiment of the present disclosure. The machining time prediction device 10 includes an analysis unit 100, an execution control unit 200, an axis control unit 300, an axis operation simulation unit 400, and a machining time prediction unit 500. The execution control unit 200 includes an interpolation unit 201 and an operation completion determination unit 202. The machining time prediction device 10 predicts the machining time (execution time of the machining program) of a machine tool that controls at least one axis to machine a workpiece, based on a machining program. The analysis unit 100, the interpolation unit 201, and the axis control unit 300 constitute a numerical control device (hereinafter, referred to as an NC device). The operation completion determination unit 202 may be provided in the NC device together with the interpolation unit 201, or may be provided outside the NC device. The processing time prediction unit 500 may be provided in the NC device. Each component of the machining time prediction device 10 will be described below.
[0014] The analysis unit 100 interprets an NC (Numerical Control) program, which is a machining program that specifies the positioning of the feed axis and the speed control of the main axis, breaks down the NC program into each code and value, and determines the travel distance, travel path, and command speed (which become the axis operation command).
[0015] The execution control unit 200 includes an interpolation unit 201 and an operation completion determination unit 202 . The interpolation unit 201 controls the execution of motion commands and instructs axis motion based on the results of analyzing the NC program. Specifically, based on the moving distance, moving path such as a straight line or a circular arc, and command speed obtained by the analysis unit 100, it generates interpolation data (axis motion instructions) by performing an interpolation calculation of points on the moving path at an interpolation period, and outputs the interpolation data to the axis control unit 300.
[0016] The operation completion determination unit 202 determines the completion of the axis operation based on the control command output from the axis control unit 300 or the axis operation simulation unit 400 and the virtual actual results output from the axis operation simulation unit 400. The virtual actual results are, for example, the position, position deviation, speed or speed deviation, and spindle rotation speed of the feed axis output from the axis operation simulation unit 400. The operation completion determination unit 202 performs, for example, operation completion confirmation for a movement command (positioning) for the feed axis and operation completion confirmation for a change in the rotation speed of the spindle (speed change) based on the virtual actual results. The operation completion confirmation operation by the operation completion determination unit 202 will be described in detail later.
[0017] The axis control unit 300 generates a control command based on the axis operation instruction from the interpolation unit 201 and outputs the control command to the axis operation simulation unit 400. Specifically, the axis control unit 300 generates an acceleration / deceleration profile based on the interpolation data, and further distributes the acceleration / deceleration profile to each control axis, thereby providing the axis operation simulation unit 400 with a position command value or a speed command value for each control cycle of the servo motor serving as the feed axis motor and the spindle motor serving as the spindle motor.
[0018] The axis operation simulation unit 400 performs servo control for making the drive of the electric motors that drive the feed axis and spindle follow the position command value or the speed command value, and simulates the operation of the machine tool, and outputs the virtual actual results to the operation completion determination unit 202. The axis operation simulation unit 400 also outputs control commands such as the position command value and the speed command value to the operation completion determination unit 202. Details of the axis operation simulation by the axis operation simulation unit 400 will be described later.
[0019] The machining time prediction unit 500 calculates a command time of the machining program using the moving distance, moving path, command speed, etc. calculated by the analysis unit 100, and predicts the machining time (execution time of the machining program) from the calculated command time, the control command output from the axis control unit 300 or the operation completion determination unit 202, and the waiting time calculated from the notification of completion confirmation from the operation completion determination unit 202. The control command input to the machining time prediction unit 500 may be output from the axis control unit 300 or the axis operation simulation unit 400. The details of the machining time prediction operation by the machining time prediction unit 500 will be described later. The waiting time means, for example, the time from when the speed command value is set to a speed of "0" (stop) until the speed decelerates to a position range of a specified width or to a stop judgment width range where the speed is judged to be stopped at "0". Also, the waiting time means, for example, the time from when the speed command value is set to a target speed until the speed increases to reach the range of the target speed. When commands to accelerate and stop an axis are repeated in a machining program, the machining time prediction unit 500 predicts the machining time by adding together the total command time and the total waiting time.
[0020] Next, the axis operation simulation unit 400, the operation completion determination unit 202, and the machining time prediction unit 500 will be further explained. (Axis movement simulation unit 400) The axis operation simulation unit 400 simulates the operation of a feed axis that traces a trajectory based on a machining program and a spindle that rotates a tool or a workpiece. For example, when the axis is a feed axis, the axis operation simulation unit 400 is shown by a block diagram of a transfer function in Fig. 2. A block diagram of a configuration similar to that of Fig. 2 is described in Japanese Patent Laid-Open Publication No. 3-110607. The transfer function of the axis operation simulation unit 400 is formed by combining transfer functions 401 to 407 .
[0021] In FIG. 2, a transfer function 401 is a transfer function of a position loop, and Kp indicates a position gain. A transfer function 402 is a transfer function of a speed loop, and k1 indicates an integral gain and k2 indicates a proportional gain. Transfer functions 403 and 404 are transfer functions of the motor. K t is the torque constant, J m indicates the motor inertia (moment of inertia). Transfer function 405 indicates the ball screw, which is the connection between the servo motor and the machine. Transfer function 406 is the transfer function of the machine, J L indicates the inertia of the machine. A transfer function 407 is a transfer function of an integral element that obtains the position of the machine by integrating the speed of the moving part of the machine.
[0022] The position loop represented by transfer function 401 and the speed loop represented by transfer function 402 form a servo control model, and the motor, ball screw, etc. and integral elements represented by transfer functions 403, 404, 405, 406 and 407 form a plant model. The angular velocity of the servo motor can be calculated using the differential equation shown in Equation 1 (Equation 1 below). The numerical solution using this differential equation is included in the plant model. In formula 1, ω is the angular velocity, τ is the torque, and J m indicates the motor inertia.
number
[0023] The axis operation simulation unit 400 is shown by a block diagram of a transfer function in FIG. 3 when the axis is a main axis. The block diagram shown in FIG. 3 is a block diagram of a transfer function in which the feedback signal P f 4 corresponds to a block diagram in which the transfer functions 401 and 407 related to the loop are removed.
[0024] The transfer functions 402, 403, and 404 shown in Fig. 3 are the same as the transfer functions 402, 403, and 404 shown in Fig. 2. The motors represented by the transfer functions 403 and 404 in Fig. 3 are servo motors or induction motors. Transfer function 406 in Fig. 3 is the transfer function of the spindle. Transfer function 405 in Fig. 3 is the joint between the motor and the spindle, and in some cases the motor shaft and the spindle are directly connected by a coupling, and in other cases the motor rotation speed is reduced or increased by a gear mechanism or a belt and pulley mechanism and transmitted to the spindle. Transfer function 404 of the motor outputs a value Vf obtained by converting the angular velocity of the motor into the spindle rotation speed, and transfer function 402 of the speed loop performs speed control so that the spindle rotation speed command Vc and the output Vf of transfer function 404 match.
[0025] Also, even if the output of the transfer function 406 is configured as Vf, the spindle operation simulation unit in FIG. Furthermore, even if transfer function 405 and transfer function 406 are removed, FIG. 3 still functions as a spindle operation simulation section if Jm is taken as the sum of the motor inertia and the spindle inertia.
[0026] The axis operation simulation unit 400 is shown in the block diagram of FIG. 4, for example, when the axis is a spindle and the motor is an induction motor. A block diagram of a configuration similar to that of FIG. 4 is described in JP 2020-5406 A. The block diagram shown in FIG. 4 is obtained by removing the proximity switch, the rotation speed calculation unit using the number of detected pulses of the proximity switch, and the speed command correction unit shown in the block diagram described in JP 2020-5406 A. The configuration and operation of the axis operation simulation unit 400, excluding the proximity switch, the rotation speed calculation unit using the number of detected pulses of the proximity switch, and the speed command correction unit, are the same as those described in JP 2020-5406 A, so detailed description will be omitted.
[0027] As shown in FIG. 4, the axis operation simulation unit 400 includes a subtractor 411, a speed control unit 412, a current control unit 413, a primary frequency control unit 414, a slip frequency calculation unit 415, a subtractor 416, a two-phase to three-phase conversion unit 417, and an induction motor 418.
[0028] A subtractor 411 obtains the difference between a speed command value output from the axis control unit 300 and a rotation speed estimated value output from a subtractor 416 described below, and outputs a speed deviation. A speed control unit 412 performs, for example, PI (proportional, integral) control on the speed deviation calculated by the subtractor 411 to generate a current command value (torque command value).
[0029] Current control unit 413 generates voltage command values (d-phase voltage command value and q-phase voltage command value) based on the current command value (torque command value) generated by speed control unit 412 and a drive current value of induction motor 418 described later.
[0030] The primary frequency control unit 414 generates a primary frequency command value based on the current command value (torque command value) generated by the speed control unit 412.
[0031] The slip frequency calculation unit 415 calculates a slip frequency estimate based on the current command value (torque command value) generated by the speed control unit 412.
[0032] A subtractor 416 obtains the difference between the primary frequency command value from the primary frequency control section 414 and the slip frequency estimated value obtained by the slip frequency calculation section 415 , and outputs the result as a calculated value of the rotation speed of the induction motor 418 .
[0033] A two-phase to three-phase conversion unit 417 converts the d-phase voltage command value and the q-phase voltage command value generated by the current control unit 413 into voltage command values for each of the UVW phases based on the primary frequency command value from the primary frequency control unit 414, thereby generating a voltage command value for driving an induction motor 418.
[0034] The drive current value of induction motor 418 can be calculated, for example, by applying the previously generated voltage command value as a voltage to the state equation of induction motor 418. The state equation of an induction motor and a method of calculating a current are described, for example, in non-patent literature, Murata, Tsuchitani, and Takeda, "Primary Interlinkage Magnetic Flux Vector Control of an Induction Motor," Transactions of the Society of Instrument and Control Engineers, Vol. 25, No. 11, pp. 1194-1201 (1989).
[0035] When friction is taken into consideration, the angular velocity of the motor can be calculated as follows. As shown in FIG. 5, considering a drive system consisting of a motor 4001, a coupling 4002, a ball screw 4003, and a table 4004, a friction torque f acting on the motor 4001 is m is expressed by Equation 2 (Equation 2 below), and the friction torque f m and the motor angular velocity ω m The relationship between these is shown in the characteristic diagram of FIG. In formula 2, J m is the sum of the inertia moments of the motor rotor, coupling, and ball screw, and ω m indicates the angular velocity of the motor. Angular velocity ω m A simulation is performed to update the number of updates by k, and the angular velocity at time kΔt is ω m It is written as [k].
number
[0036] The torque τm[k] applied to the motor and the torque τL[k] applied to the table are calculated using Equation 3, where τin is the input torque supplied to the motor and Ks is the torsional stiffness between the motor and the table.
number
number
[0037] For example, when the axis is a contour control rotary axis, the axis operation simulation unit can change whether the axis operation simulation is for the feed axis or the main axis according to a command in the machining program. The definition of the contour control rotary axis is, for example, in "9. About the concept of contour control rotary axis and index axis (2018.7.24)" at https: / / www.jmtba.or.jp / exportcontrol, "An axis that has an axis name, is controlled by a numerical control device (NC) on the machine tool body, and is intended for turning, milling, and grinding (hereinafter referred to as "cutting") and meets all of the following criteria is a rotary axis capable of contour control. (1) An axis that can use rotational motion as cutting feed (2) An axis that can be commanded to perform cutting feed simultaneously with other linear and rotary axes (3) An axis that performs interpolation along a specified path when commanded simultaneously with other linear axes or rotary axes.
[0038] An example of a contour-controlled rotary axis is a machining center that machines a turbine blade W, as described in JP 2014-121746 A. FIG. 7 is a diagram showing the configuration of a machining center for machining the turbine blade W. 7 has a pair of stages 421a, 421b equipped with clamping mechanisms 424a, 424b capable of gripping a turbine blade W, and a stage 423 on which a tool T can be mounted, and each stage 421a, 421b incorporates a servo motor 422a, 422b for rotating a shaft (not shown). The stage 421a is installed in a position that allows the shaft to rotate around an A1 axis parallel to the horizontal axis. On the other hand, the stage 421b is installed in a position in which the clamping mechanisms 424a, 424b face each other and allow the main shaft to rotate around an A2 axis coaxial with the A1 axis.
[0039] The base 421b is slidable in the U-axis direction parallel to the A1 and A2 axes (also the X-axis in FIG. 1). The base 423 is rotatable around the B-axis parallel to the front-to-back direction (Y-axis direction) in FIG. 7. The tool T is attached to a spindle (not shown) inside the base 423 and can be rotated together with the spindle by a servo motor (not shown).
[0040] Assume that a machining program is being executed in the machining center of FIG. 7 to machine a workpiece W into a turbine blade. When machining the blade portion, the A1 and A2 axes operate as feed axes. A rotating tool T such as an end mill is used to machine the blade shape at the center of the workpiece. On the other hand, when machining a cylindrical shape at the end of the workpiece, the A1 and A2 axes operate as main axes. A turning process is performed on the rotating workpiece W using a tool T such as a cutting tool. In other words, the A1 and A2 axes are rotating axes driven by servo motors 422a and 422b, and become feed axes or main axes during the machining program according to commands of the machining program.
[0041] (Operation completion determination unit 202) As already explained, the operation completion judgment unit 202 judges the completion of the operation based on the control command output from the axis control unit 300 or the axis operation simulation unit 400 and the virtual actual results output from the axis operation simulation unit 400.
[0042] (1) Operation completion judgment behavior when stopped When the speed command value is set to a speed of "0" (stop), the operation completion judgment unit 202 judges whether the operation is complete based on whether the feed axis or the main axis has decelerated and entered a positional range of a specified width, or entered within a stop judgment width range in which the speed is judged to be "0" and the operation is complete. Whether the feed axis or spindle has been decelerated and entered the positional range of the specified width is determined by the operation completion determination unit 202, which determines the positioning of the feed axis or spindle by an in-position check. When the speed command value is set to a speed of "0" (stop), the operation completion determination unit 202 performs an in-position check, and determines that the operation is complete if it is in-position. "In-position" means that the motor has arrived within the width of the commanded position.
[0043] Fig. 8 is a characteristic diagram for explaining the in-position check. The characteristic diagram shown in Fig. 8 shows the relationship between time T and the X-axis speed command and the amount of position deviation at time T. The amount of position deviation is a virtual actual result. The operation completion determination unit 202 sequentially acquires the X-axis speed command value at time T from the axis control unit 300 or the axis operation simulation unit 400, and also sequentially acquires the position deviation amount at time T from the axis operation simulation unit 400. Then, the operation completion determination unit 202 performs an in-position check when the X-axis speed command value becomes a speed of "0" (stop) in block Nxx of the machining program, and when the position deviation amount becomes equal to or less than a preset in-position width, it determines that the operation is completed and notifies the interpolation unit 201 of the operation completion confirmation. When the interpolation unit 201 receives the operation completion confirmation, it starts the operation of the next block Nyy. In FIG. 8, the period from when the X-axis speed command value becomes a speed of "0" (stop) in block Nxx of the machining program to when the operation of the next block Nyy starts is shown as the in-position check. Moreover, the operation completion determination unit 202 notifies the operation completion confirmation to the machining time prediction unit 500. Upon receiving the operation completion confirmation, the machining time prediction unit 500 recognizes the end of the block Nxx and measures the machining time.
[0044] The operation completion determination unit 202 may determine the completion of an operation during deceleration by checking whether the speed has entered a stop determination range, without checking in position. FIG. 9 is a characteristic diagram for explaining the speed stop determination width. The operation completion determination unit 202 sequentially acquires the X-axis speed at time T from the axis operation simulation unit 400. Then, when the X-axis speed enters a preset stop determination width and the speed vibration falls within the stop determination width a predetermined number of times, the operation completion determination unit 202 determines that the operation is complete and notifies the interpolation unit 201 of the operation completion confirmation. When the interpolation unit 201 receives the operation completion confirmation, it starts the operation of the next block. Moreover, the operation completion determination unit 202 notifies the operation completion confirmation to the machining time prediction unit 500. Upon receiving the operation completion confirmation, the machining time prediction unit 500 recognizes the end of the block and measures the machining time.
[0045] (2) Operation completion judgment during acceleration or deceleration When the speed or the spindle rotation speed is changed, the operation completion determination unit 202 checks whether the speed has been reached and determines whether the operation is complete. FIG. 10 is a characteristic diagram for explaining the speed range during acceleration and the waiting time until the speed enters the range. The operation completion determination unit 202 sequentially acquires the feed axis speed or the spindle rotation speed at time T from the axis operation simulation unit 400. Then, the operation completion determination unit 202 determines that the operation is completed when the feed axis speed or the spindle rotation speed enters a preset reachable range, and notifies the interpolation unit 201 of the operation completion confirmation. Moreover, the operation completion determination unit 202 notifies the operation completion confirmation to the machining time prediction unit 500. Upon receiving the operation completion confirmation, the machining time prediction unit 500 measures the machining time. Even during deceleration, the operation completion determination unit 202 can determine that the operation is complete when the feed axis speed or the spindle rotation speed enters a preset reachable range.
[0046] (Processing time prediction unit 500) The machining time prediction unit 500 measures the time required to execute the machining program and predicts the machining time. For example, as already described, the machining time prediction unit 500 calculates the command time of the machining program using the moving distance, moving path, command speed, etc. calculated by the analysis unit 100, and measures the time required to execute the machining program from the calculated command time, the control command output from the axis control unit 300 or the operation completion judgment unit 202, and the waiting time calculated from the completion confirmation notification from the operation completion judgment unit 202, and predicts the machining time. The machining time can be calculated by adding up the command time and the waiting time. FIG. 11 is a characteristic diagram showing the X-axis command speed, the X-axis speed output from the axis operation simulation unit, and the waiting time.
[0047] A method of calculating the command time of a machining program using the analysis result in the analysis unit 100 can be performed using a known technique, for example, a technique related to a machining time prediction device disclosed in Japanese Patent Application Laid-Open No. 2012-093975. Japanese Patent Application Laid-Open No. 2012-093975 describes a machining time prediction device that includes an NC command decoding unit that decodes NC commands, a segment data generating unit that divides a tool path into segments that are fine pieces, an intermediate memory that stores segment data, a speed constraint processing unit that calculates the tangential speed of the segment, a segment movement time calculation unit that calculates the time required for the tool to move through each segment based on the speed calculated by the speed constraint processing unit, and a total movement time calculation unit that calculates the tool movement time as the sum of the times for moving through each segment, and calculates the time required for the tool to move through a path specified by an NC command.
[0048] The waiting time during stopping can be calculated by taking the difference between the time t2 when the operation is completed as determined by the operation completion determination unit 202 and the time t1 when the X-axis command speed becomes "0" (stopped), as shown in Fig. 11. The waiting time during acceleration can be calculated in a similar manner. When commands to accelerate and stop an axis are repeated in a machining program, the machining time prediction unit 500 adds the total command time and the total waiting time (aggregates the command time and the waiting time) to predict the machining time.
[0049] The time required to execute a machining program refers to, for example, from when the analysis of the machining program is started to when it is determined that the operation of the last block of the machining program is completed. Regarding how to set the timing of the start and completion of execution of the machining program, several implementation means can be envisioned in addition to the above example in which the machining time is calculated as the sum of the command time and the waiting time. Considering that the present invention is made with a focus on the command time of an axis operation or the operation completion waiting time, the gist of the invention is not affected in any way whether the execution start is set to a time before the command start time of the first axis operation, or whether the execution completion is set to a time after the operation completion determination of the last axis operation.
[0050] The above describes the configuration of the machining time prediction device 10. Next, the machining time prediction operation of the machining time prediction device 10 will be described with reference to a flowchart, taking as an example a case where commands to accelerate and stop an axis are repeated in a machining program. FIG. 12 is a flowchart showing the operation of the machining time prediction device 10. In step S11, the analysis unit 100 interprets the NC program to determine the movement distance, the movement path, and the command speed. Then, the interpolation unit 201 generates interpolation data, and the axis control unit 300 generates a position command value or a speed command value based on the interpolation data.
[0051] In step S12, the axis operation simulation unit 400 performs servo control to cause the motors that drive the feed axes and spindles to follow the position command value or the speed command value, and simulates the operation of the machine tool, and outputs the virtual actual results to the operation completion judgment unit 202.
[0052] In step S13, based on the command output from the interpolation unit 201 and the virtual result output from the axis operation simulation unit 400, the completion of the operation is determined.
[0053] In step S14, the machining time prediction unit 500 uses the interpolation data obtained by the interpolation unit 201 to obtain a command time for the machining program, and also obtains a waiting time from a completion confirmation notification from the operation completion determination unit 202.
[0054] In step S15, the machining time prediction unit 500 adds the total command time and the total waiting time (aggregates the command time and the waiting time) to predict the machining time.
[0055] Second embodiment FIG. 13 is a block diagram showing a configuration of a machining time prediction device according to the second embodiment of the present disclosure. 1, in a machining time prediction device 10A shown in Fig. 13, the axis control unit 300 is divided into an X-axis control unit 300A, a Z-axis control unit 300B, and a spindle control unit 300C, the axis operation simulation unit 400 is divided into an X-axis operation simulation unit 400A, a Z-axis operation simulation unit 400B, and a spindle operation simulation unit 400C, and a model setting unit 600 is added. Also, in the machining time prediction device 10A, the interpolation unit 201 is divided into a feed axis interpolation unit 201A and a spindle command unit 203, and the functions are separated. The model setting unit 600 sets constants for the simulation models of the X-axis motion simulation unit 400A, the Z-axis motion simulation unit 400B, and the spindle motion simulation unit 400C. For example, when the simulation models of the X-axis motion simulation unit 400A and the Z-axis motion simulation unit 400B are shown in the block diagram of the transfer function in FIG. 2, the integral gain k1, the proportional gain k2, the torque constant K t , motor inertia J m , machine inertia J L Set constants such as:
[0056] The feed axis interpolation unit 201A and the spindle command unit 203 can operate by mutually referring to the virtual actual results. For example, the spindle command unit 203 refers to the virtual actual results output from the Z-axis operation simulation unit 400B when performing constant peripheral speed control in lathe machining, where the rotation speed is increased the closer to the center. The feed axis interpolation unit 201A refers to the virtual actual results output from the spindle operation simulation unit 400C in rigid tapping control, where the spindle and feed axes are simultaneously interpolated to precisely synchronize the rotation of the tool with the movement of the Z axis.
[0057] (First Modification) In machine tools, the servo control unit of the feed axis is sometimes required to control the feed axis's feed motion so that it follows the motion of the spindle. For example, this is the case when controlling synchronous operation (so-called master-slave synchronization method) in which the feed axis operates to follow the rotational motion of the spindle while taking into account the thread pitch specified in the tapping program. The configuration of an axis operation simulation in the case where the feed operation of the feed axis is controlled so as to follow the operation of the main axis will be described with reference to FIG.
[0058] Fig. 14 is a block diagram showing the configuration of a modified example in which the Z-axis motion simulation unit 400B operates following the operation of the spindle motion simulation unit 400C. The Z-axis motion simulation unit 400B has the same configuration as shown in Fig. 2, and the spindle motion simulation unit 400C has the same configuration as shown in Fig. 3. As shown in Fig. 14, the rotation speed calculation unit 421 of the spindle operation simulation unit 400C outputs the calculated rotation speed of the spindle (which becomes the virtual actual result of the other axes) to the Z-axis control unit 300B. The Z-axis control unit 300B calculates the movement amount of the feed axis that follows the movement of the spindle from the calculated rotation speed of the spindle, and outputs the position command P c (which serves as a control command for the spindle). The Z-axis control unit 300B integrates the calculated values of the rotation speed of the spindle to obtain the rotation amount of the spindle, and multiplies the rotation amount of the spindle by the thread pitch to calculate the feed operation amount of the feed axis that follows the operation of the spindle.
[0059] (Second Modification) In this modified example, an example will be described in which an X-axis operation simulation section 400A and a Z-axis operation simulation section 400B of a machining time prediction device 10A shown in FIG. 13 are connected to the same DC bus.
[0060] 15 is a diagram showing a configuration example in which an X-axis motion simulation unit and a Z-axis motion simulation unit are connected to the same DC bus. Here, the X-axis motion simulation unit and the Z-axis motion simulation unit are connected to the same DC bus, but the X-axis motion simulation unit and the Z-axis motion simulation unit may each be connected to a DC bus. The axis operation simulation unit shown in FIG. 15 includes a plurality of machines driven by motors.
[0061] The X-axis motion simulation unit 400A includes a servo control unit 441, an inverter 442, a motor 443, a coupling 444, a ball screw 445, and a table 446. The servo control unit 441 serves as a servo control model. The inverter 442, the motor 443, the coupling 444, the ball screw 445, and the table 446 serve as a plant model. The Z-axis motion simulation unit 400B includes a servo control unit 451, an inverter 452, a motor 453, a coupling 454, a ball screw 455, and a table 456. The servo control unit 451 serves as a servo control model. The inverter 452, the motor 453, the coupling 454, the ball screw 455, and the table 456 serve as a plant model. Servo control section 441 and servo control section 451 are respectively represented by position loop transfer function 401 and velocity loop transfer function 402 in Fig. 2. Motor 443 and motor 453 are respectively represented by motor transfer functions 403 and 404 in Fig. 2. Coupling 444 and ball screw 445, and coupling 444 and ball screw 445 are respectively represented by transfer function 405 in Fig. 2. Table 446 and table 456 are respectively represented by transfer function 406 in Fig. 2. If the inverters 442 and 452 are not modeled, the delay element (1 / (T s +1)) or as direct (torque command = motor applied torque).
[0062] The AC voltage supplied from the AC power supply 431 is rectified by the rectifier 432, and the rectified voltage is smoothed by the smoothing capacitor 433. The regenerative resistor 434 is connected to the DC bus voltage (bus voltage) V D When the bus voltage reaches a specified value, the regenerative transistor 435 is turned on and causes the power stored in the smoothing capacitor 433 to be consumed by the regenerative resistor 434. The DC bus is connected to the inverter 442 and the inverter 452, and the DC bus voltage V Dis applied to inverter 442 and inverter 452. Model setting unit 600 shown in FIG. The DC bus voltage can be calculated from the AC voltage of the AC power supply 431, the capacitance value of the smoothing capacitor 433, the resistance value of the regenerative resistor 434, and the like. Servo control unit 441 provides a voltage command to inverter 442 based on a position command value or a speed command value output from X-axis control unit 300A. Servo control unit 451 provides a voltage command to inverter 452 based on a position command value or a speed command value output from Z-axis control unit 300B. The inverters 442 and 452 each generate a DC bus voltage V D A PWM (Pulse Width Modulation) operation is performed on the motors 443 and 453 , and power conversion is performed so that a voltage command is applied to the motors 443 and 453 , thereby supplying a current to the motors 443 and 453 .
[0063] The maximum torque Tor of the motor changes according to the rotation speed N, as shown in the characteristic diagram of FIG. The NT characteristic also changes depending on the DC link voltage. When the DC link voltage decreases, the region R1 shown in Figure 16 becomes narrower. DC link voltage V D The relationship between the region R1 and the region R2 is as follows: The R1 region is a region where the following formula 5 holds true. In formula 5, τ LIM is the electrical and mechanical allowable torque of the motor, Kt is the torque constant, and Rm is the winding resistance.
number
number
number
[0064] In Equation 4, if the torsional rigidity, table inertia, and friction are ignored, the relational expression of the angular velocity ωm shown in Equation 8 is obtained. The relational expression of the angular velocity ωm shown in Equation 8 can be obtained using the differential equation shown in Equation 1.
number
[0065] According to each of the embodiments described above, it is possible to accurately predict the machining time without using actual machining data, even when axis stop commands are frequently issued in the machining program and when a machine tool is equipped with an axis of large inertia. Furthermore, according to each embodiment, if a movement amount or a sequence of command points is given for a peripheral axis that is responsible for the operation of an auxiliary mechanism such as an automatic tool changer, it becomes possible to predict the operation time of the peripheral axis.
[0066] In order to realize the functional blocks included in the machining time prediction device in the present embodiment, the machining time prediction device can be realized by hardware, software, or a combination of these. Here, being realized by software means being realized by a computer reading and executing a program.
[0067] In order to realize the functional blocks included in the machining time prediction device in this embodiment by software or a combination of these, specifically, the machining time prediction device includes a processor such as a CPU (Central Processing Unit), etc. The machining time prediction device also includes an auxiliary storage device such as a HDD (Hard Disk Drive) that stores various control programs such as application software or an OS (Operating System), and a main storage device such as a RAM (Random Access Memory) for storing data temporarily required for the processor to execute the programs.
[0068] In the machining time prediction device, the arithmetic processing unit reads the application software or OS from the auxiliary storage device, and while loading the read application software or OS into the main storage device, performs arithmetic processing based on the application software or OS. Also, based on the calculation results, various hardware devices provided in each device are controlled. In this way, the functional blocks of this embodiment are realized.
[0069] Each component included in the machining time prediction device can be realized by hardware including electronic circuits, etc. When the machining time prediction device is configured by hardware, some or all of the functions of each component included in the machining time prediction device can be configured by an integrated circuit (IC) such as an ASIC (Application Specific Integrated Circuit), a gate array, an FPGA (Field Programmable Gate Array), or a CPLD (Complex Programmable Logic Device).
[0070] The program can be stored and provided to the computer using various types of non-transitory computer readable media. The non-transitory computer readable media includes various types of tangible storage media. Examples of the non-transitory computer readable media include magnetic recording media (e.g., hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROM (Read Only Memory), CD-R, CD-R / W, and semiconductor memory (e.g., mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, and RAM (random access memory)). The program may also be provided to the computer by various types of transitory computer readable media.
[0071] The above-described embodiment is a preferred embodiment of the present invention, but the scope of the present invention is not limited to the above-described embodiment, and the present invention can be implemented in various modified forms without departing from the gist of the present invention.
[0072] The machining time prediction device and machining time prediction method according to the present disclosure can take various forms including the above-mentioned embodiment, having the following configurations.
[0073] (1) A machining time prediction device (e.g., machining time prediction device 10, 10A) that predicts a machining time of a machine tool that controls at least one axis to machine a workpiece based on a machining program, An analysis unit (e.g., analysis unit 100) that analyzes the machining program and generates motion commands for the axes; an execution control unit (e.g., execution control unit 200) that includes an interpolation unit (e.g., interpolation unit 201) that controls the execution of the operation command and instructs the operation of the axis based on the result of analyzing the machining program, and an operation completion determination unit (e.g., operation completion determination unit 202) that determines that the operation of the axis has been completed; An axis control unit (e.g., an axis control unit 300) that generates a control command based on an operation instruction of the axis from the interpolation unit; A processing time prediction unit (e.g., a processing time prediction unit 500) that measures the time required for executing the processing program and predicts the processing time; an axis operation simulation unit (e.g., an axis operation simulation unit 400) that simulates the operation of the axis based on the control command and outputs a virtual actual result; Equipped with The operation completion determination unit determines completion of the operation of the axis based on the virtual actual result. Processing time prediction device. This machining time prediction device makes it possible to accurately predict machining times without using actual machining data, even when axis stop commands are frequent in the machining program and when the machine tool is equipped with an axis of large inertia.
[0074] (2) The machining time prediction device according to (1) above, wherein the axis operation simulation unit simulates the operation of a feed axis that traces a trajectory based on the machining program and a spindle that rotates a tool or a workpiece.
[0075] (3) The machining time prediction device according to (2) above, wherein the axis operation simulation unit operates to follow the operation of the other axis based on virtual actual results of the other axis.
[0076] (4) A machining time prediction device as described in (2) or (3) above, wherein whether the axis operation simulation unit performs axis operation simulation on the feed axis or the main spindle can be changed by a command in the machining program.
[0077] (5) A model setting unit capable of changing the characteristics of the shaft operation simulation unit, The axis operation simulation unit a servo control model for making the virtual actual result follow the control command; a plant model that includes a numerical solution of one or more differential equations and calculates the virtual actual result when an operation amount that is an output of a servo control model is input; The processing time prediction device according to any one of (1) to (4) above, comprising:
[0078] (6) The plant model includes an electric motor driven by an inverter as a power source of the shaft, The machining time prediction device according to (5) above, wherein a DC bus voltage to which the inverter is connected is calculable.
[0079] (7) The machining time prediction device according to (6) above, wherein the axis operation simulation unit is provided for each of two or more axes, and the inverter of each axis operation simulation unit is connected to the same DC bus.
[0080] (8) A computer as a machining time prediction device for predicting a machining time of a machine tool that controls at least one axis to machine a workpiece based on a machining program, A process of analyzing the machining program and generating an operation command for the axis; Controlling the execution of the motion command and instructing the motion of the axis based on the result of analyzing the machining program; determining when the motion of the axis is complete; A process of generating a control command based on an operation command of the axis; A process of measuring a time required for executing the machining program and predicting the machining time; an axis operation simulation process for simulating the operation of the axis based on the control command and outputting a virtual actual result; Run In the process of determining whether the operation of the axis is completed, the completion of the operation of the axis is determined based on the virtual actual result. Machining time prediction method. This machining time prediction method makes it possible to accurately predict machining times without using actual machining data, even when axis stop commands are frequent in the machining program and when the machine tool is equipped with an axis of large inertia. [Explanation of symbols]
[0081] 10, 10A Processing time prediction device 100 Analysis Department 200 Execution control section 201 Interpolation section 202 Operation completion judgment unit 300 Axis control section 400 Axis Motion Simulation Section 500 Machining time prediction section 600 Model Setting Section
Claims
1. An axis operation completion determination device that determines completion of an axis operation of a machine tool that controls at least one axis to machine a workpiece based on a machining program, comprising: an analysis unit that analyzes the machining program and generates operation commands for the axes; an execution control unit that controls the execution of the operation command and includes an interpolation unit that instructs the operation of the axis based on a result of analyzing the machining program, and an operation completion determination unit that determines when the operation of the axis is completed; an axis control unit that generates a control command based on an operation instruction of the axis from the interpolation unit; an axis operation simulation unit that simulates feedback control using a servo control model and a plant model based on the control command to calculate a virtual actual result of the axis operation; Equipped with The operation completion determination unit determines completion of the operation of the axis based on the virtual actual result. Axis operation completion judgment device.
2. 2. The axis movement completion determination device according to claim 1, wherein the axis movement simulation unit performs a simulation of the movements of a feed axis that describes a trajectory based on the machining program and a spindle that rotates a tool or a workpiece.
3. 3. The axis movement completion determination device according to claim 2, wherein the axis movement simulation unit operates so as to follow the movement of the other axis based on a virtual actual result of the other axis.
4. 4. The axis movement completion determination device according to claim 2, wherein whether the axis movement simulation unit performs axis movement simulation on the feed axis or the main axis can be changed by a command of the machining program.
5. a model setting unit capable of changing characteristics of the shaft operation simulation unit, The plant model includes a numerical solution of one or more differential equations. The axis movement completion determination device according to any one of claims 1 to 4.
6. the plant model includes an electric motor driven by an inverter as a power source of the shaft, 6. The axis motion completion determination device according to claim 5, wherein the DC bus voltage to which the inverter is connected is calculable.
7. 7. The axis operation completion determination device according to claim 6, wherein the axis operation simulation unit is provided for each of two or more axes, and the inverters of the axis operation simulation units are connected to the same DC bus.
8. A computer as an axis operation completion determination device that determines completion of an axis operation of a machine tool that controls at least one axis to machine a workpiece based on a machining program, A process of analyzing the machining program and generating an operation command for the axis; Controlling the execution of the motion command and instructing the motion of the axis based on the result of analyzing the machining program; determining when the motion of the axis is complete; A process of generating a control command based on an operation command of the axis; an axis operation simulation process for simulating feedback control using a servo control model and a plant model based on the control command to calculate a virtual actual result of the axis operation; Run In the process of determining whether the operation of the axis is completed, the completion of the operation of the axis is determined based on the virtual actual result. How to determine when axis movement is complete.
Citation Information
Patent Citations
Numerical control machine
JP2004126956A
Cycle time simulation device
JP2007011680A
Machining time prediction method, machining time predictor, and NC data editor with machining time prediction function
JP2007025945A
Working time calculation device and its program
JP2009098981A
Working time prediction part and numerical control device with working error prediction part
JP2012243152A