Machining time prediction device
Patent Information
- Application Number
- PCT/JP2023/032794
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-08
- Publication Date
- 2025-03-13
Smart Images

Figure JP2023032794_13032025_PF_FP_ABST
Abstract
Description
Processing time prediction device
[0001] The present disclosure relates to a machining time prediction device that predicts a machining time required for machining performed by driving and controlling a numerically controlled machine tool.
[0002] Conventionally, there are various situations where it is necessary to estimate the machining time required for machining performed by driving and controlling a numerically controlled machine tool. For example, CAM operators desire accurate machining time estimates even if it takes a little longer to calculate. On the other hand, on-site workers desire high-speed machining time estimates even if it means slightly less accuracy. In this regard, CAM and machining simulation software are known to have techniques for calculating machining time from the movement distance and feed rate of the machining program. See, for example, Patent Document 1. Also, techniques are known for estimating accurate machining time through simulation processing by a numerical control device. See, for example, Patent Documents 2 and 3.
[0003] JP 2003-175439 A JP 2005-301440 A JP 2018-77778 A
[0004] However, in the conventional technology, it is only possible to estimate the processing time and / or calculation time with a predetermined calculation speed and prediction accuracy. Also, in the conventional technology, the exact processing time and / or calculation time cannot be known until the calculation is completed, and it is not possible to estimate the processing time and / or calculation time with an intermediate prediction accuracy and calculation speed.
[0005] Therefore, it is desirable to estimate the machining time and / or calculation time quickly using simple calculations, and update the machining time and / or calculation time with a high accuracy, although it requires more calculation time.
[0006] One aspect of the machining time prediction device disclosed herein is a machining time prediction device that calculates and outputs a machining time required for machining performed by driving and controlling a numerically controlled machine tool based on an NC command, and includes: a simple prediction unit that reads and interprets the NC command and calculates a first block movement time based on at least the distance and feed rate or time for each block; a parameter acquisition unit that acquires parameters used when driving and controlling the numerically controlled machine tool; a precise prediction unit that calculates a second block movement time based on at least the NC command and the parameters; a block movement time update unit that updates the first block movement time with the second block movement time to calculate the machining time; and a machining time output unit that outputs the machining time, and the machining time output unit outputs the machining time calculated by the block movement time update unit by updating the first block movement time with the second block movement time under predetermined conditions.
[0007] One aspect of the machining time prediction device disclosed herein is a machining time prediction device that calculates and outputs a machining time required for machining performed by driving and controlling a numerically controlled machine tool based on NC commands, and includes: a simple prediction unit that reads and interprets the NC commands and calculates a first block movement time based on at least the distance and feed rate or time for each block; a parameter acquisition unit that acquires parameters used when driving and controlling the numerically controlled machine tool; a precise prediction unit that calculates a second block movement time based on at least the NC commands and the parameters; an actual calculation time acquisition unit that acquires a first actual calculation time required for calculation in the simple prediction unit and a second actual calculation time required for calculation in the precise prediction unit; a remaining calculation time calculation unit that calculates a remaining calculation time based on the first actual calculation time and the second actual calculation time; and a remaining calculation time output unit that outputs the remaining calculation time.
[0008] 1 is a diagram showing an example of a functional block configuration of a machining time prediction device according to a first embodiment; FIG. 2 is a diagram showing an example of the relationship between the first block movement time of simple prediction and the second block movement time of precise prediction and the machining time; FIG. 3 is a flowchart explaining the prediction process of the machining time prediction device; FIG. 4 is a diagram showing an example of the relationship between the first block movement time of simple prediction and the second block movement time of precise prediction and the machining time; FIG. 5 is a diagram showing an example of the functional block configuration of a machining time prediction device according to a second embodiment; FIG. 6 is a diagram showing an example of the relationship between an acquired actual machining time and a calculated remaining machining time; FIG. 7 is a flowchart explaining the prediction process of the machining time prediction device; FIG. 8 is a diagram showing an example of the functional block configuration of a machining time prediction device according to a third embodiment; FIG. 9 is a diagram showing an example of a first actual calculation time of the first block movement time in the simple prediction unit and a second actual calculation time of the second block movement time in the precise prediction unit based on predetermined conditions;
[0009] First Embodiment A machining time prediction device according to a first embodiment will be described in detail below with reference to the drawings. FIG. 1 is a diagram illustrating an example of a functional block configuration of the machining time prediction device according to the first embodiment. As illustrated in FIG. 1, the machining time prediction device 1 is a computer, a tablet terminal, or the like, and is connected to a numerical control device (not shown) via a connection interface (not shown) via a wired or wireless connection. The machining time prediction device 1 may be connected to and communicate with the numerical control device (not shown) via a network (not shown) such as a local area network (LAN) or the Internet. In this case, the machining time prediction device 1 includes a communication unit (not shown) for mutual communication via such a connection. Although the machining time prediction device 1 is illustrated as a device separate from the numerical control device (not shown), as described below, the machining time prediction device 1 may be included in the numerical control device (not shown).
[0010] The machining time prediction device 1 can be configured as a computer, a tablet terminal, or the like, equipped with an arithmetic processing device such as a CPU (Central Processing Unit). The machining time prediction device 1 also includes an auxiliary storage device such as an HDD that stores various control programs such as application software and an OS (Operating System), and a main storage device such as a RAM (Random Access Memory) for storing data temporarily required for the arithmetic processing device to execute the programs.
[0011] In the machining time prediction device 1, the arithmetic processing device reads application software and an OS from the auxiliary storage device, and performs arithmetic processing based on the application software and the OS while expanding the read application software and the OS into the main storage device. Furthermore, based on the results of this calculation, various pieces of hardware included in the machining time prediction device 1 are controlled. This realizes the functional blocks of the simple prediction unit 10, the precise prediction unit 11, the parameter acquisition unit 12, the block movement time update unit 13, and the machining time output unit 14 included in the machining time prediction device 1 of this embodiment. That is, this embodiment can be realized by the cooperation of hardware and software.
[0012] The simple prediction unit 10 reads and interprets NC commands of a machining program executed by a numerical control device (not shown), and calculates a first block movement time based on at least the distance and feedrate or time for each block. Specifically, for example, if an NC command block contains an axis movement command, the simple prediction unit 10 acquires the axis movement amount (distance) and axis feedrate from the axis movement command. The simple prediction unit 10 predicts the block movement time for the block by dividing the acquired axis movement amount (distance) by the acquired axis feedrate. Note that if the movement time for one block is directly specified in the NC command block, the simple prediction unit 10 predicts the specified time as the block movement time for the block. Furthermore, if the axis feedrate is specified as a cutting feedrate for the block, the value of the axis feedrate may be used. In the case of a rapid-forward command, a rapid-forward speed obtained from parameters used to drive and control a numerically controlled machine tool (not shown) may be used. The simple prediction unit 10 calculates the first block movement time by summing block movement times calculated according to predetermined conditions. For example, as shown in FIG. 2, the simple prediction unit 10 sums up the block movement times every time the sequence number advances by 200 among the NC command sequence numbers N1 to N1000 as a predetermined condition, and calculates this as the first block movement time.
[0013] Although the predetermined condition is that the simple prediction unit 10 calculates the first block movement time every time the sequence number advances by 200, this is not limiting. For example, the predetermined condition may be that the simple prediction unit 10 calculates the first block movement time every time a predetermined number of blocks (e.g., 100 blocks), a predetermined time (e.g., 5 minutes), or a predetermined percentage of the total number of blocks (e.g., 10%). Furthermore, the predetermined condition may be that the simple prediction unit 10 calculates the first block movement time every time any of a program number (e.g., "O0001"), a G code, an S code, a T code, an M code, and a B code appears in an NC command.
[0014] The precision prediction unit 11 calculates the second block movement time based on at least the NC command and parameters acquired by the parameter acquisition unit 12 (described later). Specifically, the precision prediction unit 11 operates a numerically controlled machine tool (not shown) in a virtual space based on the NC command and the acquired parameters, similar to an interpolation algorithm executed by a numerical control device (not shown), using a known numerical control simulation technique, such as those described in Patent Documents 2 and 3. The precision prediction unit 11 accurately calculates the block movement time for each block of the NC command. The precision prediction unit 11 calculates the second block movement time by summing up the block movement times calculated according to predetermined conditions. As shown in FIG. 2 , the precision prediction unit 11 sums up the block movement times for the NC commands with sequence numbers N1 to N1000, for example, every time the sequence number advances by 200, as a predetermined condition, and calculates the sum as the second block movement time.
[0015] Although the predetermined condition is that the precise prediction unit 11 calculates the second block movement time every time the sequence number advances by 200, this is not limiting. For example, the predetermined condition may be that the precise prediction unit 11 calculates the first block movement time every time a predetermined number of blocks (e.g., 100 blocks), a predetermined time (e.g., 5 minutes), or a predetermined percentage of the total number of blocks (e.g., 10%). Furthermore, the predetermined condition may be that the precise prediction unit 11 calculates the second block movement time every time any of a program number (e.g., "O0001"), a G code, an S code, a T code, an M code, and a B code appears in an NC command.
[0016] The parameter acquisition unit 12 acquires parameters used for driving and controlling a numerically controlled machine tool (not shown) from a numerical control device (not shown). The parameter acquisition unit 12 outputs the acquired parameters to the precision prediction unit 11.
[0017] The block movement time update unit 13, for example, updates the first block movement time calculated by the simple prediction unit 10 with the second block movement time calculated by the precise prediction unit 11 to calculate the machining time of a numerically controlled machine tool (not shown) based on an NC command. Specifically, because the calculation time for the block movement time by the simple prediction unit 10 is shorter than that by the precise prediction unit 11, the block movement time update unit 13 calculates, as the machining time by the numerically controlled machine tool (not shown), the total time "60 minutes" obtained by summing up the first block movement times for each 200 increment of the NC command sequence numbers from "N1" to "N1000," as shown in FIG. 2 . When the precise prediction unit 11 calculates the second block movement time from "N1" to "N200," the block movement time update unit 13 updates the first block movement time of "10 minutes" of the simple prediction unit 10 for that block to the second block movement time of "12 minutes" of the precise prediction unit 11. Then, the block movement time update unit 13 updates the machining time from "60 minutes" to "62 minutes." Furthermore, when the block movement time to the block with NC command sequence number "N400" is calculated by the precise prediction unit 11, the block movement time update unit 13 updates the block movement time from the block with sequence number "N201" to "N400" from the first block movement time of "8 minutes" of the simple prediction unit 10 to the second block movement time of "10 minutes" of the precise prediction unit 11. The block movement time update unit 13 updates the machining time from "62 minutes" to "64 minutes."
[0018] Furthermore, when the precise prediction unit 11 calculates the block movement time to the block with NC command sequence number "N600," the block movement time update unit 13 updates the block movement time from the blocks with sequence numbers "N401" to "N600" from the first block movement time "15 minutes" of the simple prediction unit 10 to the second block movement time "18 minutes" of the precise prediction unit 11. The block movement time update unit 13 updates the machining time from "64 minutes" to "67 minutes." Furthermore, when the precise prediction unit 11 calculates the block movement time to the block with NC command sequence number "N800," the block movement time update unit 13 updates the block movement time from the blocks with sequence numbers "N601" to "N800" from the first block movement time "9 minutes" of the simple prediction unit 10 to the second block movement time "10 minutes" of the precise prediction unit 11. The block movement time update unit 13 updates the machining time from "67 minutes" to "68 minutes." Furthermore, when the precise prediction unit 11 calculates the block movement time to the block with NC command sequence number "N1000," the block movement time update unit 13 updates the block movement time from the block with sequence number "N801" to "N1000" from the first block movement time "18 minutes" of the simple prediction unit 10 to the second block movement time "20 minutes" of the precise prediction unit 11. The block movement time update unit 13 updates the machining time from "68 minutes" to "70 minutes." In this way, the machining time prediction device 1 can quickly estimate the machining time using simple calculations, and update it with a highly accurate machining time that requires more calculation time.
[0019] The machining time output unit 14 outputs and displays, for example, the machining time updated (calculated) by the block movement time update unit 13 on a display device (not shown) such as an LCD display included in the machining time prediction device 1 or a numerical control device (not shown).
[0020] <Prediction Process of Machining Time Prediction Device 1> Next, the flow of the prediction process of the machining time prediction device 1 will be described with reference to Fig. 3. Fig. 3 is a flowchart illustrating the prediction process of the machining time prediction device 1. The flow shown here is executed every time an NC command is received.
[0021] In step S11, the simple prediction unit 10 reads and interprets the received NC command and calculates a block movement time for each block based on at least the distance and feed rate or time for each block. The simple prediction unit 10 sums up the block movement times in accordance with predetermined conditions to calculate a first block movement time.
[0022] In step S12, the block movement time update unit 13 calculates the processing time from the first block movement time.
[0023] In step S13 , the precise prediction unit 11 calculates a second block movement time according to predetermined conditions, based on the NC command and the parameters acquired by the parameter acquisition unit 12 .
[0024] In step S14, the block movement time update unit 13 updates the first block movement time with the second block movement time, thereby updating the processing time.
[0025] In step S15, the processing time output unit 14 outputs the processing time updated in step S14.
[0026] In step S16, the precision prediction unit 11 determines whether or not calculation of the second block movement time for the received NC command has been completed. If calculation of the second block movement time has been completed, the machining time prediction device 1 ends the prediction process. On the other hand, if calculation of the second block movement time has not been completed, the process returns to step S13.
[0027] As described above, the machining time prediction device 1 according to the first embodiment can estimate machining time quickly using simple calculations, and update it with a highly accurate machining time that requires a long calculation time. Furthermore, the machining time prediction device 1 can estimate machining time at a calculation speed and prediction accuracy other than those determined in advance. Furthermore, the machining time prediction device 1 can know the accurate machining time even if the calculation is not complete, and can estimate machining time with intermediate prediction accuracy and calculation speed.
[0028] <Modification of First Embodiment> In the first embodiment, the precise prediction unit 11 accurately calculates the block movement time for each block from the NC command sequence number "N1" and calculates the second block movement time by summing up the block movement times calculated according to predetermined conditions. However, this is not limited to this. For example, the precise prediction unit 11 may accurately calculate the block movement time for each block from the NC command sequence number "N1000" and calculate the second block movement time by summing up the block movement times calculated according to predetermined conditions. In this case, for example, as shown in FIG. 4 , when the precise prediction unit 11 calculates the second block movement time from the block with the NC command sequence number "N801" to "N1000," the block movement time update unit 13 updates the first block movement time of the simple prediction unit 10 for that block from "18 minutes" to the second block movement time of the precise prediction unit 11 from "20 minutes." The block movement time update unit 13 updates the machining time from "60 minutes" to "62 minutes." Furthermore, when the precise prediction unit 11 calculates the block movement time to the block with NC command sequence number "N601," the block movement time update unit 13 updates the block movement time from the block with sequence number "N601" to "N800" from the first block movement time "9 minutes" of the simple prediction unit 10 to the second block movement time "10 minutes" of the precise prediction unit 11. The block movement time update unit 13 updates the machining time from "62 minutes" to "63 minutes."
[0029] Furthermore, when the precise prediction unit 11 calculates the block movement time to the block with NC command sequence number "N401," the block movement time update unit 13 updates the block movement time from the blocks with sequence numbers "N401" to "N600" from the first block movement time "15 minutes" of the simple prediction unit 10 to the second block movement time "18 minutes" of the precise prediction unit 11. The block movement time update unit 13 updates the machining time from "63 minutes" to "66 minutes." Furthermore, when the precise prediction unit 11 calculates the block movement time to the block with NC command sequence number "N201," the block movement time update unit 13 updates the block movement time from the blocks with sequence numbers "N201" to "N400" from the first block movement time "8 minutes" of the simple prediction unit 10 to the second block movement time "10 minutes" of the precise prediction unit 11. The block movement time update unit 13 updates the machining time from "66 minutes" to "68 minutes." Furthermore, when the precise prediction unit 11 calculates the block movement time to the block with NC command sequence number "N1", the block movement time update unit 13 updates the block movement time from the block with sequence number "N1" to "N200" from the first block movement time "10 minutes" of the simple prediction unit 10 to the second block movement time "12 minutes" of the precise prediction unit 11. The block movement time update unit 13 updates the machining time from "68 minutes" to "70 minutes".
[0030] Second Embodiment Next, a second embodiment will be described. In the first embodiment, the machining time prediction device 1 reads and interprets NC commands and updates the first block movement time calculated according to predetermined conditions based on at least the distance and feed rate or time for each block with a second block movement time calculated according to predetermined conditions based on the NC commands and parameters, thereby updating the machining time. In contrast, in the second embodiment, the machining time prediction device 1A acquires the actual machining time for which the numerically controlled machine tool actually performed machining after starting machining, and calculates the remaining machining time based on the acquired actual machining time and the calculated machining time. This differs from the first embodiment in that the machining time prediction device 1A according to the second embodiment can quickly estimate the machining time using simple calculations and update the estimated machining time with a highly accurate machining time, although it requires a long calculation time. The second embodiment will be described below.
[0031] Fig. 5 is a diagram showing an example of a functional block configuration of a machining time prediction device according to the second embodiment. Elements having the same functions as elements of the machining time prediction device 1 in Fig. 1 are given the same reference numerals, and detailed description thereof will be omitted.
[0032] The machining time prediction device 1A can be configured as a computer or a tablet terminal equipped with a processing unit such as a CPU, etc. The machining time prediction device 1A also includes an auxiliary storage device such as an HDD that stores various control programs such as application software and an OS, and a main storage device such as a RAM for storing data temporarily required for the processing unit to execute the programs.
[0033] In the machining time prediction device 1A, the arithmetic processing unit loads application software and an OS from the auxiliary storage device, and then executes calculations based on the application software and the OS while loading the loaded application software and the OS into the main storage device. Based on the calculation results, the arithmetic processing unit controls various hardware components included in the machining time prediction device 1A. This realizes the functional blocks of the machining time prediction device 1A of this embodiment, namely, the simple prediction unit 10, the precise prediction unit 11, the parameter acquisition unit 12, the block movement time update unit 13, the actual machining time acquisition unit 15, the remaining machining time calculation unit 16, and the machining time output unit 14. That is, this embodiment can be realized by the cooperation of hardware and software. The simple prediction unit 10, the precise prediction unit 11, the parameter acquisition unit 12, the block movement time update unit 13, and the machining time output unit 14 have the same functions as the simple prediction unit 10, the precise prediction unit 11, the parameter acquisition unit 12, the block movement time update unit 13, and the machining time output unit 14 of the first embodiment.
[0034] The actual machining time acquisition unit 15 acquires, for example, from a numerical control device (not shown), the actual machining time taken by a numerically controlled machine tool (not shown) to perform machining based on an NC command after the start of machining. Specifically, as shown in FIG. 6 , for each 10 increment of the NC command sequence number, the actual machining time acquisition unit 15 acquires, from the numerical control device (not shown), the actual machining time taken by the numerically controlled machine tool (not shown) to perform machining from the start of machining up to the corresponding sequence number. That is, in the case of FIG. 6 , the actual machining time acquisition unit 15 acquires, from the numerical control device (not shown), the actual machining time of "1 minute" actually performed by the numerically controlled machine tool (not shown) from NC command sequence numbers "N1" to "N10." The actual machining time acquisition unit 15 also acquires, from the numerical control device (not shown), the actual machining time of "1.4 minutes" actually performed by the numerically controlled machine tool (not shown) from NC command sequence numbers "N1" to "N20." The actual machining time acquisition unit 15 also acquires from the numerical control device (not shown) the actual machining time "12 minutes" that the numerically controlled machine tool (not shown) actually performed machining for the NC command sequence numbers "N1" to "N200". The actual machining time acquisition unit 15 also acquires from the numerical control device (not shown) the actual machining time "12.5 minutes" that the numerically controlled machine tool (not shown) actually performed machining for the NC command sequence numbers "N1" to "N210". The actual machining time acquisition unit 15 also acquires from the numerical control device (not shown) the actual machining time "12.9 minutes" that the numerically controlled machine tool (not shown) actually performed machining for the NC command sequence numbers "N1" to "N220".
[0035] Although the actual machining time acquisition unit 15 acquires the actual machining time of the numerically controlled machine tool (not shown) every time the sequence number of the NC command advances by 10, the present invention is not limited to this. For example, the actual machining time acquisition unit 15 may acquire the actual machining time of the numerically controlled machine tool (not shown) every time the sequence number of the NC command advances by a predetermined number other than 10 (e.g., 5 or 20), or may acquire the actual machining time of the numerically controlled machine tool (not shown) every predetermined number of blocks (e.g., 10 blocks), every predetermined time (e.g., 1 minute), or every predetermined percentage of the total number of blocks (e.g., 1%). Furthermore, the actual machining time acquisition unit 15 may acquire the actual machining time of the numerically controlled machine tool (not shown) every time any of a program number (e.g., "O0001"), a G code, an S code, a T code, an M code, and a B code appears in the NC command.
[0036] The remaining machining time calculation unit 16 calculates the remaining machining time based on the actual machining time acquired by the actual machining time acquisition unit 15 and the machining time calculated (updated) by the block movement time update unit 13. Specifically, for example, when machining from NC command sequence numbers "N1" to "N10" by a numerically controlled machine tool (not shown), the remaining machining time calculation unit 16 acquires the actual machining time of "1 minute" from the NC command sequence numbers "N1" to "N10" acquired by the actual machining time acquisition unit 15, as shown in Fig. 6. Furthermore, when machining up to NC command sequence number "N10" by a numerically controlled machine tool (not shown), as shown in Fig. 2, the remaining machining time calculation unit 16 acquires the machining time of "60 minutes" from the block movement time update unit 13 if the second block movement time up to sequence number "N200" has not been calculated by the precision prediction unit 11. The remaining machining time calculation unit 16 calculates the remaining machining time of "59 minutes" by subtracting the actual machining time of "1 minute" from the machining time of "60 minutes." Furthermore, when machining from NC command sequence numbers "N1" to "N20" using a numerically controlled machine tool (not shown), the remaining machining time calculation unit 16 acquires the actual machining time of "1.4 minutes" from the NC command sequence numbers "N1" to "N20" acquired by the actual machining time acquisition unit 15. Furthermore, when machining up to NC command sequence number "N20" using a numerically controlled machine tool (not shown) has been completed, the remaining machining time calculation unit 16 acquires the machining time of "62 minutes" from the block movement time update unit 13 if the precision prediction unit 11 has calculated the second block movement time up to sequence number "N200." The remaining machining time calculation unit 16 subtracts the actual machining time "1.4 minutes" from the machining time "62 minutes" to calculate the remaining machining time as "60.6 minutes".
[0037] Similarly, for example, when machining from NC command sequence numbers "N1" to "N200" using a numerically controlled machine tool (not shown), the remaining machining time calculation unit 16 acquires the actual machining time of "12 minutes" from the NC command sequence numbers "N1" to "N200" acquired by the actual machining time acquisition unit 15, as shown in FIG. 6. Furthermore, when the precision prediction unit 11 has calculated the second block movement time up to sequence number "N400" at the time when machining up to NC command sequence number "N200" using a numerically controlled machine tool (not shown), as shown in FIG. 2, the remaining machining time calculation unit 16 acquires the machining time of "64 minutes" from the block movement time update unit 13. The remaining machining time calculation unit 16 subtracts the actual machining time of "12 minutes" from the machining time of "64 minutes" to calculate the remaining machining time of "52 minutes." Furthermore, when a numerically controlled machine tool (not shown) performs machining from NC command sequence numbers "N1" to "N210," the remaining machining time calculation unit 16 acquires the actual machining time "12.5 minutes" from the NC command sequence numbers "N1" to "N210" acquired by the actual machining time acquisition unit 15, as shown in FIG. 6. Furthermore, when the numerically controlled machine tool (not shown) performs machining up to NC command sequence number "N210," as shown in FIG. 2, if the precision prediction unit 11 has not calculated the second block movement time up to sequence number "N600," the remaining machining time calculation unit 16 acquires the machining time "64 minutes" from the block movement time update unit 13. The remaining machining time calculation unit 16 calculates the remaining machining time "51.5 minutes" as the machining time by subtracting the actual machining time "12.5 minutes" from the machining time "64 minutes." Furthermore, when machining is performed using a numerically controlled machine tool (not shown) from NC command sequence numbers "N1" to "N220," the remaining machining time calculation unit 16 acquires the actual machining time of "12.9 minutes" from NC command sequence numbers "N1" to "N220" acquired by the actual machining time acquisition unit 15, as shown in FIG. 6.2, when the numerically controlled machine tool (not shown) has performed machining up to NC command sequence number "N220," if the precision prediction unit 11 has not calculated the second block movement time up to sequence number "N600," the remaining machining time calculation unit 16 acquires the machining time "64 minutes" from the block movement time update unit 13. The remaining machining time calculation unit 16 calculates the remaining machining time "51.1 minutes" as the machining time by subtracting the actual machining time "12.9 minutes" from the machining time "64 minutes." The remaining machining time calculation unit 16 performs the same process until the numerically controlled machine tool (not shown) finishes executing the block with NC command sequence number "N1000."
[0038] <Prediction Process of Machining Time Prediction Device 1A> Next, the flow of the prediction process of the machining time prediction device 1A will be described with reference to Fig. 7. Fig. 7 is a flowchart illustrating the prediction process of the machining time prediction device 1A. The flow shown here is executed every time an NC command is received. Note that the processes of steps S21 to S25 and steps S27 to S28 are the same as the processes of steps S11 to S16 in Fig. 3, and therefore their description will be omitted.
[0039] In step S25, the actual machining time acquisition unit 15 acquires, from a numerical control device (not shown), the actual machining time that the numerically controlled machine tool (not shown) has actually performed after starting machining based on an NC command.
[0040] In step S26, the remaining machining time calculation unit 16 subtracts the machining time updated in step S24 from the actual machining time acquired in step S25 to calculate the remaining machining time as the machining time.
[0041] As described above, the machining time prediction device 1A according to the second embodiment can estimate machining time quickly using simple calculations, and update it with a highly accurate machining time, although it requires a long calculation time. Furthermore, the machining time prediction device 1A can estimate machining time at a calculation speed and prediction accuracy other than those determined in advance. Furthermore, the machining time prediction device 1A can know the exact machining time even if the calculation is not complete, and can estimate machining time with intermediate prediction accuracy and calculation speed.
[0042] <Third Embodiment> Next, a third embodiment will be described. In the first embodiment, the machining time prediction device 1 reads and interprets NC commands and updates the first block movement time calculated according to predetermined conditions based on at least the distance and feed rate or time for each block with a second block movement time calculated according to predetermined conditions based on the NC commands and parameters, thereby updating the machining time. In the second embodiment, the machining time prediction device 1A acquires the actual machining time of the numerically controlled machine tool after the start of machining, and calculates the remaining machining time based on the acquired actual machining time and the calculated machining time. In contrast, the third embodiment differs from the first and second embodiments in that the machining time prediction device 1B updates the machining time and calculates the remaining calculation time required until the machining time update is completed. As a result, the machining time prediction device 1B according to the third embodiment can quickly estimate the machining time and / or calculation time using simple calculations, and then update the estimated machining time and / or calculation time with a highly accurate machining time that requires calculation time. The third embodiment will be described below.
[0043] Fig. 8 is a diagram showing an example of a functional block configuration of a machining time prediction device according to the third embodiment. Elements having the same functions as elements of the machining time prediction device 1 in Fig. 1 are given the same reference numerals, and detailed description thereof will be omitted.
[0044] The machining time prediction device 1B can be configured as a computer or a tablet terminal equipped with a processing unit such as a CPU, etc. The machining time prediction device 1B also includes an auxiliary storage device such as an HDD that stores various control programs such as application software and an OS, and a main storage device such as a RAM for storing data temporarily required for the processing unit to execute the programs.
[0045] In the machining time prediction device 1B, the arithmetic processing unit loads application software and an OS from the auxiliary storage device, and executes calculations based on the application software and the OS while loading the loaded application software and the OS into the main storage device. Based on the calculation results, the arithmetic processing unit controls various hardware components included in the machining time prediction device 1B. This realizes the functional blocks of the machining time prediction device 1B of this embodiment, namely, the simple prediction unit 10, the precise prediction unit 11, the parameter acquisition unit 12, the block movement time update unit 13, the machining time output unit 14, the actual calculation time acquisition unit 17, the remaining calculation time calculation unit 18, and the remaining calculation time output unit 19. That is, this embodiment can be realized by the cooperation of hardware and software. The simple prediction unit 10, the precise prediction unit 11, the parameter acquisition unit 12, the block movement time update unit 13, and the machining time output unit 14 have the same functions as the simple prediction unit 10, the precise prediction unit 11, the parameter acquisition unit 12, the block movement time update unit 13, and the machining time output unit 14 of the first embodiment.
[0046] The actual calculation time acquiring unit 17 acquires a first actual calculation time required for calculating the first block moving time in the simple prediction unit 10 and a second actual calculation time required for calculating the second block moving time in the precise prediction unit 11. Specifically, as shown in FIG. 9 , the actual calculation time acquiring unit 17 acquires the first actual calculation time required for calculating the first block moving time from the simple prediction unit 10 based on a predetermined condition (e.g., the sequence number advances by 200). The actual calculation time acquiring unit 17 also acquires the second actual calculation time required for calculating the second block moving time from the precise prediction unit 11 based on the predetermined condition. Note that FIG. 9 is a diagram showing an example of the first actual calculation time of the first block moving time in the simple prediction unit 10 and the second actual calculation time of the second block moving time in the precise prediction unit 11 based on the predetermined condition. 9 illustrates a case where the simple prediction unit 10 performs calculations from NC command sequence number "N1" to "N1000" indicated by a star in "5 seconds," while the precise prediction unit 11 performs calculations from NC command sequence number "N1" to "N200" indicated by a star. However, in FIG. 9, the second actual calculation times by the precise prediction unit 11 for NC command sequence numbers "N201" to "N400," "N401" to "N600," and "N601" to "N800," respectively, are indicated in parentheses as "2 seconds," "3 seconds," and "6 seconds."
[0047] The remaining calculation time calculation unit 18 calculates the remaining calculation time required for the precision prediction unit 11 to calculate all blocks of NC commands based on, for example, the first actual calculation time and the second actual calculation time. For example, in the case of FIG. 9, the first actual machining time for the NC command sequence numbers "N1" to "N200" calculated by the simple prediction unit 10 is "1 second," and the second actual machining time for the NC command sequence numbers "N1" to "N200" calculated by the precision prediction unit 11 is "5 seconds." In other words, this indicates that the second actual machining time is five times longer than the first actual machining time. Therefore, when the precision prediction unit 11 obtains the second actual machining time for the NC command sequence numbers "N1" to "N200," the remaining calculation time calculation unit 18 calculates the remaining calculation time required for the precision prediction unit 11 to perform calculations up to the NC command sequence number "N1000" using Equation 1. T r = (S e - C en ) × α (Equation 1) where T r indicates the remaining calculation time. e indicates the total calculation time for the simple prediction. en indicates the cumulative calculation time up to sequence number k of the NC command in the simple prediction. an indicates the cumulative calculation time up to sequence number k of the precise prediction. α indicates the scaling factor, and α=C an / C en k indicates a predetermined condition such as sequence numbers "N200", "N400", "N600", "N800", etc.
[0048] As shown in FIG. 9, for example, when the precise prediction unit 11 completes precise prediction for the NC command sequence numbers "N1" to "N200", the total calculation time for the simple prediction is S e is "5 seconds", and the cumulative calculation time C en is "1 second", and the cumulative calculation time C an is "5 seconds" and the magnification α is "5 times". As a result, the remaining calculation time calculation unit 18 calculates the remaining calculation time T rIn addition, when the precise prediction unit 11 completes precise prediction for the NC command sequence numbers "N1" to "N400", the total calculation time S for the simple prediction is calculated as "20 seconds". e is "5 seconds", and the cumulative calculation time C en is "1.5 seconds", and the cumulative calculation time C an is "7 seconds" and the magnification α is "4.67 times". As a result, the remaining calculation time calculation unit 18 calculates the remaining calculation time T r In addition, when the precise prediction unit 11 completes precise prediction for the NC command sequence numbers "N1" to "N600", the total calculation time for the simple prediction S e is "5 seconds", and the cumulative calculation time C en is "2 seconds", and the cumulative calculation time C an is "10 seconds" and the magnification α is "5 times". As a result, the remaining calculation time calculation unit 18 calculates the remaining calculation time T r In addition, when the precise prediction unit 11 has completed precise prediction for the NC command sequence numbers "N1" to "N800", the total calculation time S for the simple prediction is calculated as "15 seconds". e is "5 seconds", and the cumulative calculation time C en is "4 seconds", and the cumulative calculation time C an is "16 seconds" and the magnification α is "4 times". As a result, the remaining calculation time calculation unit 18 calculates the remaining calculation time T r is calculated as "4 seconds."
[0049] The remaining calculation time output unit 19 outputs and displays the remaining calculation time calculated by the remaining calculation time calculation unit 18 on a display device (not shown) such as an LCD display included in the machining time prediction device 1B or a numerical control device (not shown).
[0050] <Prediction Process of Machining Time Prediction Device 1B> Next, the flow of the prediction process of the machining time prediction device 1B will be described with reference to Fig. 10. Fig. 10 is a flowchart illustrating the prediction process of the machining time prediction device 1B. The flow shown here is executed every time an NC command is received. Note that the processes of steps S31 to S32, steps S34 to S35, and step S39 are similar to the processes of steps S11 to S14 and step S16 in Fig. 3, and therefore will not be described again.
[0051] In step S33, the actual calculation time acquisition unit 17 acquires the first actual calculation time required for the simple prediction unit 10 to calculate the first block movement time.
[0052] In step S36, the actual calculation time acquisition unit 17 acquires the second actual calculation time required for the precise prediction unit 11 to calculate the second block movement time.
[0053] In step S37, the remaining calculation time calculation unit 18 calculates the remaining calculation time required for the precision prediction unit 11 to calculate all blocks of the NC command based on the first actual calculation time and the second actual calculation time, using equation (1).
[0054] In step S38, the machining time output unit 14 outputs the machining time updated in step S35, and the remaining calculation time output unit 19 outputs the remaining calculation time calculated in step S37.
[0055] As described above, the machining time prediction device 1B according to the third embodiment can estimate machining time and / or calculation time quickly using simple calculations, and update the estimated machining time and / or calculation time with a high accuracy, although it requires calculation time. Furthermore, the machining time prediction device 1B can estimate machining time and / or calculation time at a calculation speed and prediction accuracy other than a predetermined calculation speed. Furthermore, the machining time prediction device 1B can know the exact machining time and / or calculation time even if the calculation is not completed, and can estimate machining time and / or calculation time with an intermediate prediction accuracy and calculation speed.
[0056] <Modification of Third Embodiment> In the third embodiment, the machining time prediction device 1B outputs the remaining calculation time calculated by the remaining calculation time calculation unit 18 together with the machining time updated by the block movement time update unit 13. However, this is not limited to this. For example, as shown in Fig. 11 , the machining time prediction device 1B may have functional blocks of a simple prediction unit 10, a precise prediction unit 11, a parameter acquisition unit 12, an actual calculation time acquisition unit 17, a remaining calculation time calculation unit 18, and a remaining calculation time output unit 19, and may output only the remaining calculation time calculated by the remaining calculation time calculation unit 18. The simple prediction unit 10, the precise prediction unit 11, the parameter acquisition unit 12, the block movement time update unit 13, the actual calculation time acquisition unit 17, the remaining calculation time calculation unit 18, and the remaining calculation time output unit 19 have functions similar to those of the simple prediction unit 10, the precise prediction unit 11, the parameter acquisition unit 12, the block movement time update unit 13, the actual calculation time acquisition unit 17, the remaining calculation time calculation unit 18, and the remaining calculation time output unit 19 of the third embodiment. As a result, the machining time prediction device 1B according to the modified example of the third embodiment can estimate the calculation time quickly using simple calculations, and update it with a calculation time that requires a long calculation time but is highly accurate. Also, the machining time prediction device 1B can estimate the calculation time at a calculation speed and prediction accuracy other than a predetermined calculation speed. Also, the machining time prediction device 1B can know the exact calculation time even if the calculation is not completed, and can estimate the calculation time with an intermediate prediction accuracy and calculation speed.
[0057] As described above, the machining time prediction devices 1, 1A, 1B according to the first embodiment, the modified example of the first embodiment, the second embodiment, the third embodiment, and the modified example of the third embodiment can quickly estimate the machining time and / or the calculation time using simple calculations, and can update the estimated machining time and / or the calculation time with high accuracy, although it requires more calculation time.
[0058] <Modifications> In the first embodiment, the modification of the first embodiment, the second embodiment, the third embodiment, and the modification of the third embodiment, the machining time prediction devices 1, 1A, and 1B are devices separate from the numerical control device (not shown), but are not limited to this. For example, the machining time prediction devices 1, 1A, and 1B may be included in the numerical control device (not shown).
[0059] Note that the functions included in the machining time prediction devices 1, 1A, and 1B in the first embodiment, the modified example of the first embodiment, the second embodiment, the third embodiment, and the modified example of the third embodiment can be realized by hardware, software, or a combination of these. Here, "realized by software" means that the functions are realized by a computer reading and executing a program.
[0060] The program can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory 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 memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs). The program may be provided to the computer by various types of transient computer-readable media. Examples of transient computer-readable media include electrical signals, optical signals, and electromagnetic waves. The transient computer-readable media can provide the program to the computer via a wired communication path such as an electrical wire or optical fiber, or via a wireless communication path.
[0061] The step of writing a program to be recorded on a recording medium includes not only processes that are performed in chronological order, but also processes that are not necessarily performed in chronological order but are executed in parallel or individually. The step of writing the program may also be performed by cloud computing.
[0062] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values or mathematical expressions are used in the description of the above-described embodiments.
[0063] The following supplementary note is further disclosed regarding the above embodiment and modified examples. (Supplementary Note 1) A machining time prediction device (1) is a machining time prediction device that calculates and outputs a machining time required for machining performed by driving and controlling a numerically controlled machine tool based on an NC command, and includes a simple prediction unit (10) that reads and interprets the NC command and calculates a first block movement time based on at least the distance and feed rate or time for each block, a parameter acquisition unit (12) that acquires parameters used in driving and controlling the numerically controlled machine tool, a precise prediction unit (11) that calculates a second block movement time based on at least the NC command and the parameters, a block movement time update unit (13) that updates the first block movement time with the second block movement time to calculate the machining time, and a machining time output unit (14) that outputs the machining time, and the machining time output unit (14) outputs the machining time calculated by the block movement time update unit (13) by updating the first block movement time with the second block movement time under predetermined conditions. (Supplementary Note 2) In the machining time prediction device (1) of Supplementary Note 1, the predetermined conditions include at least one of a predetermined number of blocks, a predetermined time, a predetermined ratio to the total number of blocks, a program number, a sequence number, a G code, an S code, a T code, an M code, and a B code. (Supplementary Note 3) The machining time prediction device (1A) of Supplementary Note 1 includes an actual machining time acquisition unit (15) that acquires an actual machining time during which the numerically controlled machine tool actually performs machining after starting machining, and a remaining machining time calculation unit (16) that calculates a remaining machining time based on the actual machining time and the machining time calculated by the block movement time update unit (13), and the remaining machining time calculation unit (16) calculates the remaining machining time by subtracting the actual machining time from the machining time, and sets the remaining machining time as the machining time. (Supplementary Note 4) The machining time prediction device (1B) of Supplementary Note 1 further includes an actual calculation time acquisition unit (17) that acquires a first actual calculation time required for calculation in the simple prediction unit (10) and a second actual calculation time required for calculation in the precise prediction unit (11), a remaining calculation time calculation unit (18) that calculates a remaining calculation time based on the first actual calculation time and the second actual calculation time, and a remaining calculation time output unit (19) that outputs the remaining calculation time.(Supplementary Note 5) The machining time prediction device (1B) is a machining time prediction device that calculates and outputs a machining time required for machining performed by driving and controlling a numerically controlled machine tool based on an NC command, and includes: a simple prediction unit (10) that reads and interprets the NC command and calculates a first block movement time based on at least the distance and feed rate or time for each block; a parameter acquisition unit (12) that acquires parameters used when driving and controlling the numerically controlled machine tool; a precise prediction unit (11) that calculates a second block movement time based on at least the NC command and the parameters; an actual calculation time acquisition unit (17) that acquires a first actual calculation time required for calculation in the simple prediction unit (10) and a second actual calculation time required for calculation in the precise prediction unit (11); a remaining calculation time calculation unit (18) that calculates the remaining calculation time based on the first actual calculation time and the second actual calculation time; and a remaining calculation time output unit (19) that outputs the remaining calculation time.
[0064] 1, 1A, 1B Machining time prediction device 10 Simple prediction unit 11 Precision prediction unit 12 Parameter acquisition unit 13 Block movement time update unit 14 Machining time output unit 15 Actual machining time acquisition unit 16 Remaining machining time calculation unit 17 Actual calculation time acquisition unit 18 Remaining calculation time calculation unit 19 Remaining calculation time output unit
Claims
1. 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 commands, comprising: a simple prediction unit which reads and interprets the NC commands and calculates a first block movement time based on at least the distance and feed rate or time for each block; a parameter acquisition unit which acquires parameters used when driving and controlling the numerically controlled machine tool; a precise prediction unit which calculates a second block movement time based on at least the NC commands and the parameters; a block movement time update unit which updates the first block movement time with the second block movement time to calculate the machining time; and a machining time output unit which outputs the machining time, wherein the machining time output unit outputs the machining time calculated by the block movement time update unit by updating the first block movement time with the second block movement time under predetermined conditions.
2. The machining time prediction device according to claim 1, wherein the predetermined conditions include at least one of a predetermined number of blocks, a predetermined time, a predetermined ratio to the total number of blocks, a program number, a sequence number, a G code, an S code, a T code, an M code, and a B code.
3. A machining time prediction device as described in claim 1, comprising: an actual machining time acquisition unit that acquires an actual machining time for which the numerically controlled machine tool has actually performed machining after starting machining; and a remaining machining time calculation unit that calculates a remaining machining time based on the actual machining time and the machining time calculated by the block movement time update unit, wherein the remaining machining time calculation unit calculates the remaining machining time by subtracting the actual machining time from the machining time and sets the remaining machining time as the machining time.
4. A machining time prediction device as described in claim 1, further comprising: an actual calculation time acquisition unit that acquires a first actual calculation time required for calculation in the simple prediction unit and a second actual calculation time required for calculation in the precise prediction unit; a remaining calculation time calculation unit that calculates a remaining calculation time based on the first actual calculation time and the second actual calculation time; and a remaining calculation time output unit that outputs the remaining calculation time.
5. A machining time prediction device which calculates and outputs a machining time required for machining performed by driving and controlling a numerically controlled machine tool based on an NC command, comprising: a simple prediction unit which reads and interprets the NC command and calculates a first block movement time based on at least the distance and feed rate or time for each block; a parameter acquisition unit which acquires parameters used when driving and controlling the numerically controlled machine tool; a precise prediction unit which calculates a second block movement time based on at least the NC command and the parameters; an actual calculation time acquisition unit which acquires a first actual calculation time required for calculation in the simple prediction unit and a second actual calculation time required for calculation in the precise prediction unit; a remaining calculation time calculation unit which calculates the remaining calculation time based on the first actual calculation time and the second actual calculation time; and a remaining calculation time output unit which outputs the remaining calculation time.
Citation Information
Patent Citations
Method for displaying situation of working progress
JP1986184609A
Machining time estimating apparatus for nc machine tool
JP2003175439A
Information display method and information extraction and display method
JP2004227028A
Machining time calculating device
JP2005301440A
Machining simulation method and machining simulation support device
JP2010277261A