Machining time prediction device, computer program, and method

WO2026159865A1PCT designated stage Publication Date: 2026-07-30FANUC LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
FANUC LTD
Filing Date
2025-01-24
Publication Date
2026-07-30

Smart Images

  • Figure JP2025002320_30072026_PF_FP_ABST
    Figure JP2025002320_30072026_PF_FP_ABST
Patent Text Reader

Abstract

The purpose of the present invention is to provide a feature that makes it possible to accurately ascertain the machining time even when an operation for changing the operation speed occurs during operation. This machining time prediction device 1 calculates and outputs a machining time required for machining performed by driving and controlling a numerical control machine tool 3 on the basis of a numerical control (NC) command of a machining program, and comprises: an NC command acquisition unit 10 that acquires the NC command; a parameter acquisition unit 11 that acquires a parameter used when driving and controlling the numerical control machine tool 3; an operation information acquisition unit 12 that acquires operation information reflecting an operator operation including an element for changing the operation speed of the numerical control machine tool 3 during operation; a machining time calculation unit 13 that calculates the machining time after the operation speed is changed on the basis of the NC command, the parameter, and the operation information; and a machining time output unit 14 that outputs the machining time.
Need to check novelty before this filing date? Find Prior Art

Description

Machining Time Prediction Device, Computer Program, and Method

[0001] The present disclosure relates to a machining time prediction device, a computer program, and a method for predicting the machining time required for machining performed by driving and controlling a numerically controlled machine tool.

[0002] In machining, it is important to accurately grasp the machining time. Conventionally, there is a technique for predicting the machining time with high accuracy using simulation. Also, there is a technique for changing the operating speed by operator operation during machining.

[0003] Japanese Patent Application Laid-Open No. 2024-113382, Japanese Patent Application Laid-Open No. 2020-038571, Japanese Patent Application Laid-Open No. 2019-168804

[0004] However, when an operation for changing the operating speed is performed during operation of the machine tool, the previously calculated machining time changes, so the machining time after the change cannot be accurately grasped, which is inconvenient. It is desired to accurately grasp the machining time even when an operation for changing the operating speed occurs.

[0005] An object of the present disclosure is to provide a device that enables accurate grasping of the machining time even when an operation for changing the operating speed occurs.

[0006] The present disclosure is a machining time prediction device that calculates and outputs the machining time required for machining performed by driving and controlling a numerically controlled machine tool based on NC (Numerical Control) commands of a machining program, including an NC command acquisition unit that acquires the NC commands, a parameter acquisition unit that acquires parameters used when driving and controlling the numerically controlled machine tool, an operation information acquisition unit that acquires operation information reflecting an operator operation including an element for changing the operating speed of the numerically controlled machine tool during operation, a machining time calculation unit that calculates the machining time after the operating speed is changed based on the NC commands, the parameters, and the operation information, and a machining time output unit that outputs the machining time.

[0007] This figure shows an example of the functional block configuration of the machining time prediction device according to the first embodiment. This is a flowchart illustrating the prediction process of the machining time prediction device according to the first embodiment. This figure shows the machining time after changing the operating speed according to the first embodiment. This figure shows an example of the functional block configuration of the machining time prediction device according to a modified example of the first embodiment. This figure shows an example of the functional block configuration of the machining time prediction device according to the second embodiment. This is a flowchart illustrating the prediction process of the machining time prediction device according to the second embodiment. This figure shows the machining time after changing the operating speed according to the second embodiment. This figure shows an example of the functional block configuration of the machining time prediction device according to a modified example of the second embodiment.

[0008] <First Embodiment> The processing time prediction device according to the first embodiment will be described in detail below with reference to the figures.

[0009] (Device Configuration) Figure 1 is a diagram showing an example of the functional block configuration of the machining time prediction device according to the first embodiment. As shown in Figure 1, the machining time prediction device 1 is a computer or tablet terminal, and is connected to the numerical control (NC) device 2 by wire or wireless connection via a connection interface (not shown). The machining time prediction device 1 may also be connected to and communicate with the NC device 2 via a network (not shown), such as a LAN (Local Area Network) or the Internet. In this case, the machining time prediction device 1 is equipped with a communication unit (not shown) for mutual communication via such connection. The NC device 2 is a device capable of controlling the numerically controlled machine tool 3. The NC device 2 is connected to the numerically controlled machine tool 3 by wire or wireless connection.

[0010] Furthermore, although the processing time prediction device 1 is a separate device from the NC device 2, the processing time prediction device 1 may be included in the NC device 2.

[0011] The machining time prediction device 1 can be configured as a computer or tablet terminal equipped with a processing unit such as a CPU (Central Processing Unit). The machining time prediction device 1 also includes auxiliary storage devices such as an HDD that store application software and various control programs such as an OS (Operating System), and main memory such as RAM (Random Access Memory) for storing data temporarily required for the processing unit to execute programs.

[0012] In the machining time prediction device 1, the processing unit reads application software and the OS from the auxiliary storage device, expands the read application software and OS into the main storage device, and performs calculations based on this application software and OS. Based on these calculation results, it also controls various hardware components of the machining time prediction device 1. This realizes the functional blocks of the machining time prediction device 1 of the first embodiment: the NC command acquisition unit 10, the parameter acquisition unit 11, the operation information acquisition unit 12, the machining time calculation unit 13, and the machining time output unit 14. These functions will be described later. Thus, the first embodiment can be realized through the cooperation of hardware and software.

[0013] (Example of operation) Next, the flow of the prediction process of the machining time prediction device 1 will be explained with reference to Figures 2 and 3. Figure 2 is a flowchart explaining the prediction process of the machining time prediction device 1. The flow shown here is executed each time an NC command is received.

[0014] [Step S101] The NC command acquisition unit 10 acquires NC commands for the machining program from the NC device 2.

[0015] An NC command is a machining command program for the numerically controlled machine tool 3. The NC command is also transmitted to the machining time prediction device 1 and analyzed by the machining time prediction device 1. For example, an NC command includes at least one of the following: the program number of the machining program, the sequence number, the G code, the S code, the T code, the M code, and the B code. However, the NC command is not limited to these.

[0016] [Step S102] The parameter acquisition unit 11 acquires parameters used when driving and controlling the numerically controlled machine tool 3.

[0017] The parameters are any parameters set to drive and control the numerically controlled machine tool 3, such as speed loop gain and current loop gain. The parameters are not limited to these parameters.

[0018] For example, the parameter acquisition unit 11 acquires parameters from the NC device 2. Alternatively, the parameter acquisition unit 11 may acquire parameters by referring to a storage device provided in the processing time prediction device 1 and reading parameters that have been previously stored in the storage device.

[0019] [Step S103] The machining time calculation unit 13 obtains the initial machining time Tinit. The initial machining time Tinit is the machining time initially predicted when executing the machining program. The initial machining time Tinit is calculated by the machining time prediction device 1 before the operating speed is changed during operation.

[0020] For example, the processing time calculation unit 13 obtains the initial processing time Tint by calculating the initial processing time Tint based on the acquired NC command and acquired parameters.

[0021] Specifically, the machining time calculation unit 13 calculates the initial machining time Tint based on the distance and feed rate (or time per block) for each block obtained by interpreting the NC command, and the acquired parameters. Here, blocks are generated when the machining program is divided based on the command content of the machining program.

[0022] More specifically, the machining time calculation unit 13, for example, if an NC command block includes an axis movement command, obtains the axis movement amount (distance) and axis feed rate from the axis movement command. The machining time calculation unit 13 predicts the block movement time of the block by dividing the obtained axis movement amount (distance) by the obtained axis feed rate. Here, the block movement time is the time it takes for the tool to move from the start point to the end point based on the command data corresponding to each block. If the axis feed rate is commanded as the cutting feed rate for the block, that value is used, and in the case of a rapid traverse command, the rapid traverse rate obtained from the parameters used when driving and controlling the numerically controlled machine tool 3 may be used. Furthermore, if the movement time of one block is directly specified in the NC command block, the machining time calculation unit 13 predicts the specified time as the block movement time of that block.

[0023] The machining time calculation unit 13 calculates the initial machining time Tint by summing the calculated block movement times. For example, as shown in Figure 3, the machining time calculation unit 13 calculates the initial machining time Tint by summing the block movement times for each block included in the sequence numbers N1 to N15 of the NC command.

[0024] In the above description, the processing time calculation unit 13 calculated the block movement time for each block, but it is not limited to this. For example, the processing time calculation unit 13 may calculate the block movement time every predetermined number of blocks (e.g., 100 blocks), every predetermined time (e.g., 5 minutes), or every predetermined percentage of the total number of blocks (e.g., 10%). Alternatively, the processing time calculation unit 13 may calculate the block movement time every time a program number (e.g., "O0001"), G code, S code, T code, M code, or B code appears in the NC command.

[0025] As another example, the machining time calculation unit 13 may calculate the initial machining time Tint by operating the numerically controlled machine tool 3 in a virtual space based on the NC command and acquired parameters using a numerical control simulation method.

[0026] As yet another example, the initial machining time Tint may be calculated in advance by the NC device 2 and transmitted to the machining time prediction device 1. In this way, the machining time calculation unit 13 may obtain the initial machining time Tint.

[0027] [Step S104] The machining time output unit 14 outputs the acquired initial machining time Tinit. The output destination of the initial machining time Tinit may be any device. For example, the initial machining time Tinit may be output to and displayed on a display device provided in the machining time prediction device 1, a display device provided in the NC device 2, or a display device provided in any other device. The display device may be, for example, a liquid crystal display.

[0028] [Step S105] The machining time prediction device 1 determines whether there is an operator operation to change the operating speed of the numerically controlled machine tool 3 during operation. For example, the operator operation is at least one of rapid traverse override, feed rate override, and dry run. The operator operation is not limited to these.

[0029] [Step S106] If there is an operator operation to change the operating speed (Step S105: YES), the operation information acquisition unit 12 acquires operation information that reflects the operator operation, which includes elements that determine the operating speed of the numerically controlled machine tool 3.

[0030] The operation information acquisition unit 12 may acquire the operation information by connecting to a numerically controlled machine tool 3 equipped with means for transmitting operation information. The means for transmitting operation information is, for example, an override signal from a machining center. The means for transmitting operation information is not limited to this.

[0031] If the operator operation is a feed rate override, the operation information includes, for example, a speed specified between 0% and 200% as a factor determining the operating speed. The operation information may further include a sequence number (i.e., an N number) or line number as the timing of the change.

[0032] Alternatively, the operation information may include elements that determine the operating speed and a time t [s] (0 < t) as the timing of the change.

[0033] As an example, let's assume there is an operator operation, which is a first operation to change the operating speed, as shown in Figure 3. The first operation is a feed rate override. The speed included in the operation information is 80%. The sequence number included in the operation information is N7.

[0034] [Step S107] The processing time calculation unit 13 calculates the first processing time T1.

[0035] For example, the machining time calculation unit 13 calculates the block movement time for each block included in the machining program based on the NC command, parameters, and operation information, and calculates the first machining time T1 by summing up all block movement times.

[0036] Furthermore, the processing time calculation unit 13 may use the time already calculated in the calculation of the initial processing time Tinit[s] for the block movement time of the block prior to the timing when the operation information was acquired. In other words, the processing time calculation unit 13 may calculate the first processing time T1 by recalculating the processing time from the timing when the operation information was acquired onward.

[0037] In the example shown in Figure 3, the first operation changes the operating speed to 80% at sequence number N7. For the block movement time of the blocks prior to N7, the time already calculated in the calculation of the initial processing time Tinit[s] is used. That is, the block movement time of the blocks shown in sequence numbers N1 to N3 (100[s]) and the block movement time of the blocks shown in sequence numbers N4 to N6 (600[s]), which were used in the calculation of the initial processing time Tinit[s], are used.

[0038] The machining time from the moment the operation information is acquired (N7) onward is calculated based on the distance and feed rate (or time per block) obtained by interpreting the program from N7 to N15 in the NC command, and the acquired parameters.

[0039] In Figure 3, the recalculated block movement times for N7 to N9 (1500 s), the recalculated block movement times for N10 to N12 (375 s), and the recalculated block movement times for N13 to N15 (3000 s) are obtained.

[0040] The processing time calculation unit 13 adds the block movement times for N1 to N6 (100 [s] + 600 [s]) and the recalculated block movement times for N7 to N15 (1500 [s] + 375 [s] + 3000 [s]) to calculate the first processing time T1 (= 5575 [s]).

[0041] [Step S108] The processing time output unit 14 outputs the acquired first processing time T1. The output destination of the first processing time T1 may be any device, similar to the output destination of the initial processing time Tinit. The first processing time T1 may be displayed in a format that updates the display of the initial processing time Tinit. Alternatively, the first processing time T1 may be displayed on the same screen as the initial processing time Tinit display, so that it can be compared with the initial processing time Tinit display. When the processing in step S108 is completed, the process returns to step S105.

[0042] Again, in step S105, the machining time prediction device 1 determines whether or not there is an operator operation to change the operating speed of the numerically controlled machine tool 3 during operation. Assume that there was a second operation to change the operating speed (step S105: YES). At this time, in step S106, the operation information acquisition unit 12 acquires operation information that reflects the operator operation including an element that determines the operating speed of the numerically controlled machine tool 3. As shown in Figure 3, the second operation is a feed rate override. The speed included in the operation information is 120%. The sequence number included in the operation information is N13.

[0043] In step S107, the processing time calculation unit 13 calculates the second processing time T2.

[0044] For example, based on the NC command, parameters, and operation information, the machining time calculation unit 13 calculates the block movement time for each block included in the machining program and calculates the second machining time T2 by summing up all the block movement times.

[0045] Regarding the block movement time of blocks before the timing when the operation information is acquired, the machining time calculation unit 13 may use the time already calculated in the calculation of the first machining time T1. That is, the machining time calculation unit 13 may calculate the second machining time T2 by recalculating the machining time after the timing when the operation information is acquired.

[0046] In the example shown in FIG. 3, by the second operation, the operating speed is changed to 120% at the sequence number N13. Regarding the block movement time of blocks before N13, the time already calculated in the calculation of the first machining time T1 is used. That is, the block movement times (100 [s]) of the blocks indicated by the sequence numbers N1 - N3, the block movement times (600 [s]) of the blocks indicated by the sequence numbers N4 - N6, the block movement times (1500 [s]) of the blocks indicated by the sequence numbers N7 - N9, and the block movement times (375 [s]) of the blocks indicated by the sequence numbers N10 - N12, which were used in the calculation of the first machining time T1, are used.

[0047] The machining time after the timing (N13) when the operation information is acquired is calculated based on the distance and feed rate (or time for each block) for each block obtained by interpreting the program from N13 to N15 in the NC command and the acquired parameters.

[0048] In FIG. 3, the recalculated block movement time (2000 [s]) for N13 - N15 is obtained.

[0049] The processing time calculation unit 13 adds the block movement time for N1 to N12 (100 [s] + 600 [s] + 1500 [s] + 375 [s]) and the recalculated block movement time for N13 to N15 (2000 [s]) to calculate the second processing time T2 (= 4575 [s]).

[0050] In step S108, the processing time output unit 14 outputs the acquired second processing time T2. The output destination of the second processing time T2 can be any device, similar to the output destination of the initial processing time Tinit. The second processing time T2 may be displayed in a format that updates the display of the initial processing time Tinit or the first processing time T1. Alternatively, the second processing time T2 may be displayed on the same screen as the initial processing time Tinit so that it can be compared with the display of the initial processing time Tinit. After the processing of step S108 is completed, the execution returns to step S105.

[0051] [Step S109] If there is no operator action to change the operating speed (Step S105: NO), the processing time prediction device 1 determines whether or not the processing program has finished.

[0052] If the machining program has not finished (step S109: NO), the machining time prediction device 1 continues to execute step S105. If the machining program has finished (step S109: YES), the machining time prediction device 1 terminates the processing flow.

[0053] In the example described above, the sequence number included in the operation information indicated the timing of the change in operating speed. Alternatively, the operation information may include the time [s] during which the operation to change the operating speed occurred, and this time may indicate the timing of the change in operating speed.

[0054] The processing time prediction device 1 according to the first embodiment described above provides the following effects.

[0055] The machining time prediction device 1 according to the first embodiment is a machining time prediction device 1 that calculates and outputs the machining time required for machining performed by driving and controlling a numerically controlled machine tool 3 based on NC (Numerical Control) commands of a machining program, and comprises an NC command acquisition unit 10 that acquires NC commands, a parameter acquisition unit 11 that acquires parameters used when driving and controlling the numerically controlled machine tool 3, an operation information acquisition unit 12 that acquires operation information that reflects operator operations including elements that change the operating speed of the numerically controlled machine tool 3 during operation, a machining time calculation unit 13 that calculates the machining time after the operating speed has been changed based on the NC commands, parameters and operation information, and a machining time output unit 14 that outputs the machining time. As a result, the machining time can be accurately grasped even when an operation to change the operating speed occurs during operation.

[0056] <Modifications of the First Embodiment> Next, modifications of the first embodiment described above will be explained. The differences from the first embodiment will be explained in detail.

[0057] Figure 4 shows an example of the functional block configuration of the processing time prediction device 1 according to a modified example of the first embodiment. As shown in Figure 4, the processing time prediction device 1 according to a modified example of the first embodiment further comprises an actual processing time acquisition unit 15, a remaining processing time calculation unit 16, and a remaining processing time output unit 17.

[0058] The actual machining time acquisition unit 15 acquires the actual machining time performed by the numerically controlled machine tool 3 after the start of machining. The actual machining time may be measured by the NC device 2 and notified to the machining time prediction device 1. Alternatively, the actual machining time may be acquired by measurement by the machining time prediction device 1.

[0059] The remaining processing time calculation unit 16 calculates the remaining processing time based on the actual processing time and the processing time calculated by the processing time calculation unit 13. For example, the remaining processing time calculation unit 16 calculates the remaining processing time by subtracting the actual processing time from the processing time.

[0060] Now, let's assume that the first operation has been performed. At this time, as shown in Figure 3, the actual machining time of the machining program up to the sequence number (N7) indicated by the operation information of the first operation is the machining time from N1 to N6, which is 700 [s] (= 100 [s] + 600 [s]). Also, the first machining time T1 calculated by the machining time calculation unit 13 is 5575 [s].

[0061] The remaining processing time calculation unit 16 calculates the first remaining processing time Tr1 (4875 [s]) by subtracting the actual processing time (700 [s]) from the first processing time T1 (5575 [s]).

[0062] The remaining machining time output unit 17 outputs the acquired first remaining machining time Tr1. The output destination of the first remaining machining time Tr1 may be any device. For example, the first remaining machining time Tr1 may be output to and displayed on a display device provided in the machining time prediction device 1, a display device provided in the NC device 2, or a display device provided in any other device. The display device may be, for example, a liquid crystal display.

[0063] Let's assume that the second operation is then performed. At this time, as shown in Figure 3, the actual machining time of the machining program up to the sequence number (N13) indicated by the operation information of the second operation is the machining time from N1 to N12, which is 2675 [s] (= 100 [s] + 600 [s] + 1500 [s] + 375 [s]). Also, the second machining time T2 calculated by the machining time calculation unit 13 is 4575 [s].

[0064] The remaining processing time calculation unit 16 calculates the second remaining processing time Tr2 (2000 [s]) by subtracting the actual processing time (2675 [s]) from the second processing time T2 (4575 [s]).

[0065] The following effects are achieved with the processing time prediction device 1 according to the modified version of the first embodiment described above.

[0066] The machining time prediction device 1 according to a modified version of the first embodiment includes an actual machining time acquisition unit 15 that acquires the actual machining time performed by the numerically controlled machine tool 3 after the start of machining, a remaining machining time calculation unit 16 that calculates the remaining machining time based on the actual machining time and the machining time calculated by the machining time calculation unit 13, and a remaining machining time output unit 17 that outputs the remaining machining time. The remaining machining time calculation unit 16 calculates the remaining machining time by subtracting the actual machining time from the machining time. This makes it possible to accurately determine the time until the machining program is completed with high precision, even if the operating speed is changed during operation.

[0067] <Second Embodiment> Next, a second embodiment will be described. In the first embodiment, when the operating speed was changed, the machining time calculation unit 13 of the machining time prediction device 1 recalculated the machining times T1 and T2 based on the remaining machining program, parameters, and operation information of the NC command. In contrast, in the second embodiment, the machining times T1 and T2 are calculated using a different method.

[0068] (Device Configuration) Figure 5 shows an example of the functional block configuration of the processing time prediction device 1 according to the second embodiment. Elements having the same functions as the elements of the processing time prediction device 1 in Figure 1 are denoted by the same reference numerals, and detailed explanations are omitted.

[0069] The processing time calculation unit 13 includes a block movement time calculation unit 130, a block movement time update unit 131, and a total time calculation unit 132. These functions will be described later.

[0070] (Example of operation) Next, the flow of the prediction process of the machining time prediction device 1 will be explained with reference to Figure 6. Figure 6 is a flowchart explaining the prediction process of the machining time prediction device 1. The flow shown here is executed each time an NC command is received.

[0071] The processing in steps S201 to S202 is the same as the processing in steps S101 to S102 of the first embodiment, so the explanation will be omitted.

[0072] [Step S203] The block movement time calculation unit 130 obtains the first block movement time. The first block movement time indicates the movement time of each block included in the machining program before a predetermined operation to change the operating speed is performed. The time in the left column of Figure 7 shows the first block movement time before the first operation, which is an operation to change the operating speed, is performed.

[0073] Specifically, the block movement time calculation unit 130 calculates a first block movement time for each block based on the acquired NC command and acquired parameters.

[0074] For example, the block movement time calculation unit 130 calculates a first block movement time for each block based on the distance and feed rate (or time for each block) obtained by interpreting the NC command, and the acquired parameters.

[0075] Specifically, the block movement time calculation unit 130, for example, if an NC command block includes an axis movement command, obtains the axis movement amount (distance) and axis feed rate from the axis movement command. The block movement time calculation unit 130 predicts the block movement time of the block by dividing the obtained axis movement amount (distance) by the obtained axis feed rate. Furthermore, if the axis feed rate is commanded as the cutting feed rate for the block, that value is used, and in the case of a rapid traverse command, the rapid traverse rate obtained from the parameters used when driving and controlling the numerically controlled machine tool 3 may be used. In addition, if the movement time of one block is directly specified in the NC command block, the block movement time calculation unit 130 predicts the specified time as the block movement time of the block.

[0076] [Step S204] The total time calculation unit 132 sums up the calculated first block movement times. In the example shown in Figure 7, the first block movement times of each block from N1 to N15 are summed up to calculate an initial processing time Tint of 4600 [s].

[0077] [Steps S205 to S207] The processing in steps S205 to S207 is the same as the processing in steps S104 to S106 of the first embodiment.

[0078] For example, as shown in Figure 7, the speed included in the operation information of the first operation acquired in step S207 is 80%. The sequence number included in the operation information is N7.

[0079] [Step S208] The block movement time update unit 131 updates the first block movement time based on the operation information and calculates the second block movement time. Here, the second block movement time indicates the movement time of each block included in the machining program after a predetermined operation to change the operating speed has been performed.

[0080] For example, the block movement time update unit 131 updates the first block movement time after the change timing included in the operation information. Specifically, the block movement time update unit 131 updates the first block movement time corresponding to the block with sequence number N7 or later included in the operation information, from among a plurality of first block movement times, based on the speed included in the operation information.

[0081] The timing of the change is determined by the sequence number of the NC command at the time the operating speed was changed, or by the time the change was performed. However, the timing of the change is not limited to these.

[0082] As shown in Figure 7, among the multiple first block movement times, the first block movement times corresponding to the blocks from the sequence number after the operation (N7 to N15) are 1200 [s], 300 [s], and 2400 [s]. The block movement time update unit 131 divides the first block movement times corresponding to the blocks from the sequence number after the operation by the velocity value included in the operation information. Since the velocity included in the operation information is 80%, the block movement time update unit 131 divides the first block movement times corresponding to blocks N7 to N15 by 0.8. By dividing 1200 [s], 300 [s], and 2400 [s] by 0.8, 1500 [s], 375 [s], and 3000 [s] are obtained. Therefore, the second block movement times corresponding to blocks N7 to N15 are 1500 [s], 375 [s], and 3000 [s]. For the second block movement times corresponding to blocks N1 to N6, the movement times for the blocks corresponding to N1 to N6 in the first block movement time, i.e., 100 [s] and 600 [s], are used.

[0083] [Step S209] The total time calculation unit 132 sums up the calculated second block movement times. In the example shown in Figure 7, the second block movement times of each block from N1 to N15 are summed up to calculate a first processing time T1 of 5575 [s].

[0084] Alternatively, the total time calculation unit 132 may calculate the processing time by adding the total time of the first block movement before the change timing included in the operation information and the total time of the second block movement after the change timing.

[0085] [Step S210] Similar to step S108 of the first embodiment, the processing time output unit 14 outputs the acquired first processing time T1. When the processing of step S210 is completed, the process returns to the execution of step S206.

[0086] Again, in step S206, the machining time prediction device 1 determines whether or not there is an operator operation to change the operating speed of the numerically controlled machine tool 3 during operation. As in the first embodiment, it is assumed that there was a second operation to change the operating speed (step S206: YES). At this time, in step S207, the operation information acquisition unit 12 acquires operation information that reflects the operator operation including an element that determines the operating speed of the numerically controlled machine tool 3. As shown in Figure 7, the second operation is a feed rate override. The speed included in the operation information is 120%. The sequence number included in the operation information is N13.

[0087] In step S208, the block movement time update unit 131 updates the first block movement time based on the operation information and calculates the second block movement time.

[0088] For example, the block movement time update unit 131 updates the first block movement time corresponding to the blocks with sequence numbers N13 and later included in the operation information, from among a plurality of first block movement times, based on the speed included in the operation information.

[0089] As shown in Figure 7, among the multiple first block movement times, the first block movement time corresponding to the blocks from the sequence number onward (N13 to N15) where the operation occurred is 3000 [s]. The block movement time update unit 131 updates this time to a value obtained by dividing the time corresponding to the blocks from the sequence number onward where the operation occurred within the initial processing time Tint by the speed value included in the operation information. Since the speed included in the operation information is 120%, the block movement time update unit 131 divides the time corresponding to the blocks from the sequence number onward where the operation occurred within the initial processing time Tint (i.e., 2400 [s]) by 1.2 to obtain 2000 [s]. Therefore, the second block movement time corresponding to blocks N13 to N15 is 2000 [s]. For the second block movement time corresponding to blocks N1 to N12, the movement times of the blocks corresponding to N1 to N12 in the first block movement time (i.e., 100 [s], 600 [s], 1500 [s], and 375 [s]) are used.

[0090] The total time calculation unit 132 sums up the calculated second block movement times. In the example shown in Figure 7, the second block movement times of each block from N1 to N15 are summed up to calculate a second processing time T2 of 4575 [s].

[0091] Similar to step S108 of the first embodiment, in step S210, the processing time output unit 14 outputs the acquired second processing time T2. After the processing of step S210 is completed, the process returns to the execution of step S206.

[0092] [Step S211] If there is no operator action to change the operating speed (Step S206: NO), the processing time prediction device 1 determines whether the processing program has finished or not.

[0093] If the machining program has not finished (step S211: NO), the machining time prediction device 1 continues to execute step S206. If the machining program has finished (step S211: YES), the machining time prediction device 1 terminates the processing flow.

[0094] In the example described above, the sequence number included in the operation information indicated the timing of the change in operating speed. Alternatively, the operation information may include the time [s] during which the operation to change the operating speed occurred, and this time may indicate the timing of the change in operating speed.

[0095] The processing time prediction device 1 according to the second embodiment described above provides the following effects.

[0096] In the machining time prediction device 1 according to the second embodiment, the operation information further includes the timing of changes to the elements that determine the operating speed. The machining time calculation unit 13 includes a block movement time calculation unit 130 that calculates a first block movement time for each block included in the machining program based on NC commands and parameters, a block movement time update unit 131 that updates the first block movement time based on operation information and calculates a second block movement time, and a total time calculation unit 132 that calculates the machining time by summing up all the first block movement times or second block movement times included in the machining program. This makes it possible to accurately grasp the machining time even when an operation to change the operating speed occurs during operation.

[0097] <Modification of the Second Embodiment> Next, a modification of the second embodiment described above will be explained. The differences from the second embodiment will be explained in detail.

[0098] Figure 8 shows an example of the functional block configuration of the processing time prediction device 1 according to a modified example of the second embodiment. As shown in Figure 8, the processing time prediction device 1 according to a modified example of the first embodiment further comprises an actual processing time acquisition unit 15, a remaining processing time calculation unit 16, and a remaining processing time output unit 17. The actual processing time acquisition unit 15, the remaining processing time calculation unit 16, and the remaining processing time output unit 17 operate in the same manner as the modified example of the first embodiment.

[0099] The following effects are achieved with the processing time prediction device 1 according to the modified version of the second embodiment described above.

[0100] The machining time prediction device 1 according to a modified version of the second embodiment includes an actual machining time acquisition unit 15 that acquires the actual machining time performed by the numerically controlled machine tool 3 after the start of machining, a remaining machining time calculation unit 16 that calculates the remaining machining time based on the actual machining time and the machining time calculated by the machining time calculation unit 13, and a remaining machining time output unit 17 that outputs the remaining machining time. This makes it possible to accurately determine the time until the machining program is completed with high precision, even if the operating speed is changed during operation.

[0101] <Modifications> In the first embodiment, the modification of the first embodiment, the second embodiment, and the modification of the second embodiment, the processing time prediction device 1 is a different device from the NC device 2, but this is not limited to this. For example, the processing time prediction device 1 may be included in the NC device 2.

[0102] In the first embodiment, the modified version of the first embodiment, the second embodiment, and the modified version of the second embodiment, each function included in the processing time prediction device 1 can be implemented by hardware, software, or a combination thereof. Here, implementation by software means that it is implemented by a computer reading and executing a program.

[0103] Programs can be stored and supplied to a computer using various types of non-transitor computer-readable media. Non-transitor computer-readable media include various types of tangible storage media. Examples of non-transitor computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memory (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, RAMs). Furthermore, programs may be supplied to the computer by various types of temporary computer-readable media. Examples of temporary computer-readable media include electrical signals, optical signals, and electromagnetic waves. Temporary computer-readable media can be supplied to the computer via wired communication channels such as electric wires and optical fibers, or via wireless communication channels.

[0104] The step of writing the program to be recorded on the recording medium includes not only processes that are performed chronologically in that order, but also processes that are not necessarily performed chronologically, but are executed in parallel or individually. Furthermore, the step of writing the program may be performed using cloud computing.

[0105] While this disclosure has been described in detail, it is not limited to the individual embodiments described above. These embodiments can be added, replaced, modified, partially deleted, etc., in any way that does not depart from the gist of this disclosure or from the spirit of this disclosure derived from the claims and their equivalents. Furthermore, these embodiments can be implemented in combination. For example, the order of operations and processes in the embodiments described above are shown as examples only and are not limited thereto. The same applies when numerical values ​​or mathematical formulas are used in the description of the embodiments described above.

[0106] The following additional information is disclosed regarding the above embodiments and modifications.

[0107] (Note 1) A machining time prediction device (1) that calculates and outputs the machining time required for machining performed by driving and controlling a numerically controlled machine tool (3) based on an NC (Numerical Control) command of a machining program, comprising: an NC command acquisition unit (10) that acquires the NC command; a parameter acquisition unit (11) that acquires parameters used when driving and controlling the numerically controlled machine tool (3); an operation information acquisition unit (12) that acquires operation information that reflects operator operations including elements that change the operating speed of the numerically controlled machine tool (3) during operation; a machining time calculation unit (13) that calculates the machining time after the operating speed has been changed based on the NC command, the parameters and the operation information; and a machining time output unit (14) that outputs the machining time.

[0108] (Note 2) In the above-described processing time prediction device (1), the processing time calculation unit (13) calculates the block movement time for each block included in the processing program based on the NC command, the parameters, and the operation information, calculates the processing time by summing up all block movement times included in the processing program, and calculates the processing time by recalculating the processing time from the timing after the operation information was acquired.

[0109] (Note 3) The above operation information further includes the timing of changes to the elements that determine the operating speed, and the above processing time calculation unit (13) comprises: a block movement time calculation unit (130) that calculates a first block movement time for each block included in the processing program based on the NC command and the parameters; a block movement time update unit (131) that updates the first block movement time based on the operation information and calculates a second block movement time; and a total time calculation unit (132) that calculates the processing time by summing up all the first block movement times or the second block movement times included in the processing program.

[0110] (Note 4) The above-described processing time prediction device (1) includes: an actual processing time acquisition unit (15) that acquires the actual processing time performed by the numerically controlled machine tool (3) after the start of processing; a remaining processing time calculation unit (16) that calculates the remaining processing time based on the actual processing time and the processing time calculated by the processing time calculation unit (13); and a remaining processing time output unit (17) that outputs the remaining processing time. The remaining processing time calculation unit (16) calculates the remaining processing time by subtracting the actual processing time from the processing time.

[0111] (Note 5) The operation information acquisition unit (12) described above acquires the operation information by connecting to a numerically controlled machine tool (3) that is equipped with means for transmitting the operation information.

[0112] (Note 6) The block movement time update unit (131) described above updates the first block movement time after the change timing included in the operation information.

[0113] (Note 7) The total time calculation unit (132) described above calculates the processing time by adding the total time of the first block movement before the change timing included in the operation information and the total time of the second block movement after the change timing.

[0114] (Note 8) A computer program that causes the processor of a machining time prediction device (1), which calculates and outputs the machining time required for machining performed by driving and controlling a numerically controlled machine tool (3) based on NC (Numerical Control) commands of a machining program, to function as follows: an NC command acquisition unit (10) that acquires the NC commands; a parameter acquisition unit (11) that acquires parameters used when driving and controlling the numerically controlled machine tool (3); an operation information acquisition unit (12) that acquires operation information that reflects operator operations including elements that change the operating speed of the numerically controlled machine tool (3) during operation; a machining time calculation unit (13) that calculates the machining time after the operating speed has been changed based on the NC commands, the parameters, and the operation information; and a machining time output unit (14) that outputs the machining time.

[0115] (Note 9) A method comprising: obtaining NC (Numerical Control) commands of a machining program; obtaining parameters used when driving and controlling a numerically controlled machine tool (3); obtaining operation information that reflects operator operations including elements that change the operating speed of the numerically controlled machine tool (3) during operation; calculating the machining time after the operating speed has been changed based on the NC commands, the parameters, and the operation information; and outputting the machining time.

[0116] 1. Machining time prediction device 10. NC command acquisition unit 11. Parameter acquisition unit 12. Operation information acquisition unit 13. Machining time calculation unit 130. Block movement time calculation unit 131. Block movement time update unit 132. Total time calculation unit 14. Machining time output unit 15. Actual machining time acquisition unit 16. Remaining machining time calculation unit 17. Remaining machining time output unit 2. NC device 3. Numerical controlled machine tool

Claims

1. A machining time prediction device that calculates and outputs the machining time required for machining performed by driving and controlling a numerically controlled machine tool based on NC (Numerical Control) commands of a machining program, comprising: an NC command acquisition unit that acquires the NC commands; a parameter acquisition unit that acquires parameters used when driving and controlling the numerically controlled machine tool; an operation information acquisition unit that acquires operation information that reflects operator operations, including elements that change the operating speed of the numerically controlled machine tool, during operation; a machining time calculation unit that calculates the machining time after the operating speed has been changed based on the NC commands, the parameters, and the operation information; and a machining time output unit that outputs the machining time.

2. The machining time calculation unit calculates the block movement time for each block included in the machining program based on the NC command, the parameters, and the operation information, calculates the machining time by summing up all block movement times included in the machining program, and the machining time calculation unit calculates the machining time by recalculating the machining time from the timing after the operation information was acquired, the machining time prediction device according to claim 1.

3. The machining time prediction device according to claim 1, wherein the operation information further includes the timing of changes to the elements that determine the operating speed, and the machining time calculation unit comprises: a block movement time calculation unit that calculates a first block movement time for each block included in the machining program based on the NC command and the parameters; a block movement time update unit that updates the first block movement time based on the operation information and calculates a second block movement time; and a total time calculation unit that calculates the machining time by summing up all the first block movement times or the second block movement times included in the machining program.

4. A machining time prediction device according to claim 2 or 3, comprising: an actual machining time acquisition unit that acquires the actual machining time performed by the numerically controlled machine tool after the start of machining; a remaining machining time calculation unit that calculates the remaining machining time based on the actual machining time and the machining time calculated by the machining time calculation unit; and a remaining machining time output unit that outputs the remaining machining time, wherein the remaining machining time calculation unit calculates the remaining machining time by subtracting the actual machining time from the machining time.

5. The machining time prediction device according to claim 2 or 3, wherein the operation information acquisition unit acquires the operation information by connecting to the numerically controlled machine tool equipped with means for transmitting the operation information.

6. The processing time prediction device according to claim 3, wherein the block movement time update unit updates the first block movement time after the change timing included in the operation information.

7. The processing time prediction device according to claim 3, wherein the total time calculation unit calculates the processing time by adding the total time of the first block movement before the change timing included in the operation information and the total time of the second block movement after the change timing.

8. A computer program that causes the processor of a machining time prediction device, which calculates and outputs the machining time required for machining performed by driving and controlling a numerically controlled machine tool based on NC (Numerical Control) commands of a machining program, to function as follows: an NC command acquisition unit that acquires the NC commands; a parameter acquisition unit that acquires parameters used when driving and controlling the numerically controlled machine tool; an operation information acquisition unit that acquires operation information that reflects operator operations, including elements that change the operating speed of the numerically controlled machine tool during operation; a machining time calculation unit that calculates the machining time after the operating speed has been changed based on the NC commands, the parameters, and the operation information; and a machining time output unit that outputs the machining time.

9. A method comprising: obtaining NC (Numerical Control) commands of a machining program; obtaining parameters used when driving and controlling a numerically controlled machine tool; obtaining operation information that reflects operator operations including elements that change the operating speed of the numerically controlled machine tool during operation; calculating the machining time after the operating speed has been changed based on the NC commands, the parameters, and the operation information; and outputting the machining time.