Numerical control device

The numerical control device addresses inaccuracies in processing time prediction by analyzing program commands and correcting for machine delays, enhancing processing time estimation accuracy.

DE102017009751B4Active Publication Date: 2025-01-30FANUC LTD
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
DE102017009751
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2016-10-20
Filing Date
2017-10-18
Publication Date
2025-01-30
Estimated Expiration
2037-10-18

AI Technical Summary

Technical Problem

Existing numerical control devices struggle to accurately predict processing time due to neglecting machine delays, such as those caused by frictional forces, feedback systems, and inertia, leading to inaccuracies in processing time estimation.

Method used

A numerical control device that calculates processing time by analyzing program command combinations, measuring actual servo control and machine movement delays, and correcting predicted times using collected data to account for these delays.

Benefits of technology

Enables precise processing time prediction by incorporating machine-specific delays, improving accuracy in processing time estimation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Numerical control device (1) for machining a workpiece by controlling a machine comprising at least one axis, based on a machining program, wherein the numerical control device comprises: - a reference machining time prediction unit (111) configured to predict a reference machining time that corresponds to a machining time excluding servo control and machine motion delay time, based on the machining program, - a program analysis unit (112) configured to extract a combination of at least one program instruction contained in the processing program by analyzing the processing program, - a data storage unit (210) configured to store information relating to actual servo control and machine motion delay time measured during actual machining by the machine for each combination of program instruction types, - a correction time calculation unit (113) configured to calculate a correction time for correcting the reference processing time based on the combination of program instructions extracted by the program analysis unit and information stored in the data storage unit (210) relating to an actual servo control and machine motion delay time for each of the combinations of program instruction types, and - a processing time prediction unit (110) which is set up to calculate a predicted processing time obtained by correcting the reference processing time using the correction time.
Need to check novelty before this filing date? Find Prior Art

Description

Background of the invention 1. Field of the invention

[0001] The present invention relates to a numerical control device, and more particularly to a numerical control device having a machining time prediction function that takes into account servo control and machine movement delay. 2. Description of the related prior art

[0002] In a case where a workpiece is machined using a machine tool, machining accuracy generally becomes poor when the machining speed is increased to shorten the machining time. Conversely, machining accuracy becomes excellent when the machining speed is decreased to extend the machining time. For this reason, a user who machines the workpiece using the machine tool aims to "machine the workpiece with a machining accuracy within a preset allowable machining error in the shortest possible machining time." However, it is not easy to determine the range of machining time in which the workpiece can be machined and the range of machining error with which the workpiece can be machined at this time.

[0003] In this context, various trials and errors have been repeated in an attempt to shorten a machining time while maintaining the machining accuracy by performing trial machining and simultaneously changing the setting of a parameter, etc., or by predicting the machining accuracy and a machining time by performing simulation without performing trial machining.

[0004] Examples of a conventional main technique related to predicting machining time include techniques disclosed in JP 2003-175439 A, JP 2012-243152 A, JP H11-028643 A, JP 2014-038482 A, and Journal of Technical Disclosure No. 2012-502270. JP 2003-175439 A discloses a technique for accurately predicting machining time by collecting a time duration of an auxiliary function for each auxiliary code and reflecting its average value in a predicted machining time. JP 2012-243152 A discloses a technique enabling more accurate machining time and machining error prediction by simulating servo operation.JP 11-028643 A discloses a technique for predicting a more accurate machining time than merely a predicted machining time by measuring a period of time corresponding to an actual machining time during machining and adding a predicted machining time to the actual machining time. Furthermore, JP 2014-038482 A discloses a technique for accurately predicting machining time by taking into account an acceleration and deceleration time and a program execution order by dividing a tool path into units smaller than a block called a segment, and increasing and setting a segment movement time to a machining time while taking into account the machining capability of the numerical control device. Furthermore, in a technique disclosed in Journal of Technical Disclosure No.2012-502270, a machining time is predicted by calculating a delay due to acceleration and deceleration, a delay due to servo control, and a machine movement delay.

[0005] Generally, in the operation of a machine, an operation delay based on a friction force generated in each part, a delay of a feedback system, an operation delay caused by inertia, etc., cause what is called a machine delay, such as a delay due to acceleration and deceleration, a delay due to servo control, a machine movement delay, etc. ( Fig. 6). However, the techniques disclosed in JP 2003-175439 A and JP 2012-243152 A do not consider such a machine delay, and therefore there is a problem that an error occurs in a machining time prediction result. Furthermore, in the technique disclosed in JP H11-028643 A, the prediction accuracy is high near the end of machining. However, in the early stage of machining, a machine delay is not sufficiently reflected in a prediction result, and therefore an error occurs in a machining time prediction result. Furthermore, in the techniques disclosed in JP 2014-038482 A and Journal of Technical Disclosure No. 2012-502270, although it is suggested to calculate a machine delay time, no scheme for calculating a specific machine delay time is disclosed.Furthermore, since a characteristic of a machine delay is different for each machine even if a calculation scheme is revealed, it is difficult to respond to all kinds of machine delays and accurate prediction is not possible.

[0006] Further prior art is known from DE 692 29 309 T2 and US 6 728 657 B2.

[0007] Generally, a machine delay increases when a control object is accelerated or decelerated. Therefore, a machining time is considered to be accurately predicted if a method is used to measure a time gap between a predicted machining time and an actual machining time, which is generated in advance as a result of a machine delay through an experiment, etc., and to correct the predicted machining time based on the measured time gap and the number of accelerations and decelerations in machining. In practice, however, a machine delay generated between two consecutive program instructions included in a machining program (e.g.,The machine delay (a machine delay generated between a G00 command and a G01 command when the G01 command is executed after the G00 command) varies according to a combination of two types of program commands (a combination that includes a sequence). Therefore, there is a problem in that there are limitations to improving the prediction accuracy of a machining time even if the time gap is merely measured and used. Summary of the invention

[0008] In this context, an object of the invention is to provide a numerical control device which enables prediction of a machining time with greater accuracy by taking into account a machine delay generated in a machine.

[0009] In the invention, the above-mentioned problem is solved by providing a numerical control device having a configuration for calculating a more accurate machining time by sampling a movement amount and an error amount (position deviation amount) for each control period per unit time, and simultaneously performing actual machining with various combinations of program command types (combinations including sequences) to obtain an actual servo control and machine movement delay time at each of the combinations of program command types, and collecting the obtained actual delay time as data reflected in a simulation result of the machining time prediction.

[0010] Furthermore, a numerical control device according to the invention machines a workpiece by controlling a machine including at least one axis based on a machining program, and comprises a reference machining time prediction unit for predicting a reference machining time corresponding to a machining time in which a servo control and machine movement delay time is not taken into account based on the machining program, a program analysis unit for extracting a combination of at least one program command included in the machining program by analyzing the machining program, a data storage unit for storing information concerning an actual servo control and machine movement delay time measured during actual machining by the machine for each combination of program command types,a correction time calculation unit for calculating a correction time for correcting the reference machining time based on the combination of program instructions extracted by the program analysis unit and information stored in the data storage unit concerning an actual servo control and machine movement delay time for each of the combinations of program instruction types, and a machining time prediction unit for calculating a predicted machining time obtained by correcting the reference machining time using the correction time.

[0011] The above numerical control device according to the invention further comprises an actual machining delay time measuring unit for measuring an actual servo control and machine movement delay time for each combination of program instructions and for updating the information stored in the data storage unit concerning an actual servo control and machine movement delay time for each combination of program instructions based on the measured actual servo control and machine movement delay time for each combination of program instructions.

[0012] In the above numerical control device according to the invention, the correction time calculation unit calculates the correction time by estimating a servo control and machine movement delay time with respect to each combination of program instructions extracted by the program analysis unit based on the information stored in the data storage unit concerning the actual servo control and machine movement delay time for each combination of program instruction types, and integrating each estimated servo control and machine movement delay time.

[0013] According to the present invention, it is possible to predict a machining time with greater accuracy by taking into account a characteristic of a machine tool such as a servo control and machine movement delay. Brief description of the drawings

[0014] The above-described object and feature of the invention, as well as other objects and features, will become apparent from the following description of the embodiments with reference to the accompanying drawings. In the drawings: Fig. 1 is a hardware configuration diagram showing a main part of a numerical control device according to an embodiment of the invention; Fig. 2 is a schematic functional block diagram of the numerical control device according to an embodiment of the invention; Fig. 3 is a diagram for describing a method of measuring an actual servo control and machine movement delay time by an actual machining delay time measuring unit; Fig. 4A is a diagram showing an example of actual servo control and machine movement delay time for each combination of program instruction types stored in a data storage unit; Fig. 4B is a diagram showing an example of actual servo control and machine movement delay time for each combination of program command types stored in the data storage unit for each workpiece weight; Fig. 5 is a diagram showing an example of a combination of program instructions extracted from a machining program by a program analysis unit; and Fig. 6 a representation to describe a machine delay. Detailed description of the preferred embodiments

[0015] Embodiments of the invention are described below with reference to the drawings.

[0016] A numerical control device according to the present invention samples in advance a movement amount and an error amount (position deviation amount) for each control period per unit time, and simultaneously performs actual machining with various combinations of program command types (combinations including sequences) to store an actual servo control and machine movement delay time at each of the combinations of program command types as data in a data storage unit.Then, when a period of time related to machining by a machining program is predicted, a servo control and machine movement delay time generated between respective program instructions is estimated based on data stored in the data storage unit for each combination of the respective program instructions included in the machining program by analyzing the machining program, and a predicted machining time is corrected based on the estimated servo control and machine movement delay time for each combination of the respective program instructions.

[0017] Fig. 1 is a hardware configuration diagram showing a main part of a numerical control device and a machine tool driven and controlled by the numerical control device according to an embodiment of the invention. A central processing unit (CPU) 11 included in the numerical control device 1 is a processor that generally controls the numerical control device 1. The CPU 11 reads a system program stored in a read-only memory (ROM) 12 via a bus 20 and controls the entire numerical control device 1 according to the system program. A random access memory (RAM) 13 stores temporary calculation data, display data, various data input by an operator via a cathode ray tube (CRT) / manual data input (MDI) unit 70, etc.

[0018] A non-volatile memory 14 is configured as a memory that is maintained in a storage state even when the power of the numerical control device 1 is turned off, for example, by being backed up by a battery (not shown). The non-volatile memory 14 stores a machining program read in via an interface 15 and a machining program input via the CRT / MDI unit 70, as described below. The non-volatile memory 14 also stores a machining program operation processing program used to operate the machining program, a machining time prediction processing program, etc., which are generated in the RAM 13 upon execution. In addition, various system programs for executing editing mode processing, etc., required for creating and editing a machining program are written in advance in the ROM 12.

[0019] The interface 15 is an interface for connecting the numerical control device 1 to an external device 72, such as an adapter. A machining program, various parameters, etc. are read from the external device 72. Furthermore, the machining program edited in the numerical control device 1 can be stored in an external storage device via the external device 72. A programmable machine controller (PMC) 16 outputs a signal to a peripheral device of the machine tool (e.g., an actuator such as a robot hand for tool exchange) via an input / output (I / O) unit 17 to perform a control operation by a sequence program built into the numerical control device 1.In addition, the PMC 16 receives signals from various switches of an operation panel provided on a main body of the machine tool, performs necessary signal processing, and then transmits the signals to the CPU 11.

[0020] The CRT / MDI unit 70 is a manual data input device that includes a display, a keyboard, etc. An interface 18 receives commands and data from the keyboard of the CRT / MDI unit 70 and transmits the commands and data to the CPU 11. An interface 19 is connected to an operation panel 71 that includes a manual pulse generator, etc.

[0021] An axis control circuit 30 for controlling an axis included in the machine tool receives a movement command amount of the axis from the CPU 11 and outputs a command for the axis to a servo amplifier 40. In response to receiving this command, the servo amplifier 40 drives a servo motor 50 that moves the axis included in the machine tool. The servo motor 50 of the axis includes a position / speed detector, feeds a position / speed feedback signal from the position / speed detector back to the axis control circuit 30, and performs position / speed feedback control.

[0022] In the hardware configuration display of Fig. 1, an axis control circuit 30, a servo amplifier 40, and a servo motor 50 are shown. In practice, however, axis control circuits 30, servo amplifiers 40, and servo motors 50 are provided in a number corresponding to the number of axes included in the machine tool.

[0023] A spindle control circuit 60 receives a spindle rotation command for the machine tool and outputs a spindle speed signal to a spindle amplifier 61. In response to receiving this spindle speed signal, the spindle amplifier 61 rotates a spindle motor 62 of the machine tool at a commanded speed to drive the tool.

[0024] A position encoder 63 is connected to the spindle motor 62 through a gear, a belt, etc., the position encoder 63 outputs a feedback pulse in synchronization with the rotation of a spindle, and the feedback pulse is read by the CPU 11.

[0025] Fig. Fig. 2 is a schematic functional block diagram according to an embodiment in a case where a machining time prediction function provided by the invention is implemented according to a machining performed based on a machining program by a system program in the manner shown in Fig. 1 shown numerical control device 1. Each in Fig. 2 shown functional device is implemented when the Fig. The CPU 11 shown in Figure 1 executes the system program to provide each function. The numerical control device 1 of the present embodiment includes a controller 100, a machining time prediction unit 110, and a data collection unit 120.

[0026] The control device 100 sequentially reads and analyzes a machining program 200 from a memory (not shown), generates command data for driving each servo motor or spindle motor included in the machine based on the analysis result, and performs machining control to control the machine based on the command data. The control device 100 is a functional device implemented by the CPU 11, which includes a Fig. 1, which executes each axis controlling axis control circuit 30, servo amplifier 40, spindle control circuit 60, spindle amplifier 61, etc.

[0027] The data collection unit 120 is a functional device that collects information related to machining by machining control of the machine in the data storage unit 210 when the machining control is performed by the numerical control device 1. The data collection unit 120 can automatically collect the machining-related information in the data storage unit 210 whenever the machining control of the machine is performed by the numerical control device 1, or collect the machining-related information in the data storage unit 210 only when the operator instructs collection. The data collection unit 120 includes an actual machining delay time measurement unit 121.

[0028] The actual machining delay time measuring unit 121 measures an actual servo control and machine movement delay time for each combination of respective program commands included in the machining program 200 and stores the measured actual delay time in the data storage unit 210 when machining control of the machine is performed by the controller 100 based on the machining program 200.

[0029] Fig. 3 is a diagram for describing a method for measuring the actual servo control and machine movement delay time by the actual machining delay time measuring unit 121. When a program command for axis control included in a machining program is executed, the program command is analyzed in the numerical control device 1, and a movement amount output to the servo motor for each control period is generated based on the analysis result. The generated movement amount for each control period is output to the servo motor via the axis control circuit and the servo amplifier for each control period. The servo motor moves by the movement amount for each control period, and a position / speed feedback is fed back from the servo motor to the axis control circuit. For various reasons (a movement delay, a transitional movement during acceleration and deceleration, etc.), the actual machining delay time may be measured.), however, a distance is generated between a position to which the servo motor is originally supposed to move in its control period and an actual position of the servo motor, and a movement amount corresponding to the distance amount is generated and output as an error amount for each control period in order to correct a shift in the position in a subsequent control period.

[0030] The actual machining delay time measuring unit 121 monitors an output status of a movement amount and an output status of an error amount for each control period for each program instruction to measure a period in which only the error amount is output without outputting the movement amount for each control period, and stores the measured period in the data storage unit 210 as an actual servo control and machine movement delay time with respect to a combination of program instructions executed before and after the period.

[0031] The actual machining delay time measuring unit 121 uses, for example, a real-time clock (RTC) included in the numerical control device 1, etc. (not shown) to measure a period of time.

[0032] Fig. 4A and Fig. 4B are diagrams showing examples of the actual servo control and machine motion delay time for each combination of program instruction types stored in the data storage unit 210. In the Fig. In the example shown in Figure 4A, the actual machining delay time measuring unit 121 stores a value obtained by collecting actual servo control and machine movement delay times measured with respect to each combination of program commands for each combination of program command types, along with the number of measurements. In this way, for example, it is possible to estimate a servo control and machine movement delay time generated between a G00 command and a G01 command as the cumulative delay time / number of measurements. With respect to a combination of program command types other than those shown in Fig. 4 types of program commands can measure and store actual servo control and machine motion delay time.

[0033] In addition, since a servo control and machine movement delay time depends on the weight of a moving axis, the weight of a workpiece can be obtained at the same time that the actual machining delay time measuring unit 121 measures an actual servo control and machine movement delay time, wherein an actual servo control and machine movement delay time is determined for each weight (weight range) of the workpiece as shown in Fig. 4B can be saved.

[0034] The weight of the workpiece can be obtained from drawing data, etc., used for machining, or input by the operator when performing machining.

[0035] The machining time prediction unit 110 is a functional device that predicts a machining time based on an actual servo control and machine movement delay time for each combination of program command types stored in the data storage unit 210. The machining time can be predicted by the machining time prediction unit 110 with respect to all blocks included in the machining program 200 before machining control is started by the control device 100 based on the machining program 200. The machining time prediction unit 110 includes a reference machining time prediction unit 111, a program analysis unit 112, and a correction time calculation unit 113.

[0036] The reference machining time prediction unit 111 analyzes the machining program 200 according to a machining time prediction target and predicts a machining time without considering servo control and machine movement delay times associated with machining based on the machining program 200. For example, the conventional techniques disclosed in JP 2003-175439 A and JP 2012-243152 A can be used to predict the machining time without considering the servo control and machine movement delay times.

[0037] The program analysis unit 112 analyzes the machining program 200 according to a machining time prediction target and extracts all combinations of program commands contained in the machining program 200. As shown in Fig. 5, the program analysis unit 112 sequentially extracts two consecutive program instructions in order from a header of the machining program 200 as a set of program instructions.

[0038] The correction time calculation unit 113 estimates a servo control and machine movement delay time generated between combinations of the respective program commands based on an actual servo control and machine movement delay time for each combination of program command types stored in the data storage unit with respect to each combination of program commands extracted by the program analysis unit 112. For example, if an actual servo control and machine movement delay time for each Fig. 4A, the correction time calculation unit 113 estimates a servo control and machine movement delay time generated between a block N0004 and a block N0005, which is shown in Fig. 5, with reference to a column of a combination of program command types (G00, G01) from Fig.4A to 21425 / 105 ≈ 204.0 [ms]. If a combination of program instruction types corresponding to the combination of program instructions extracted by the program analysis unit 112 is not stored in the data storage unit 210, the correction time calculation unit 113 estimates that no servo control and machine movement delay time is generated in the combination of the program instructions. Then, the correction time calculation unit 113 calculates a correction time by integrating the servo control and machine movement delay time estimated with respect to each combination of program instructions extracted by the program analysis unit 112.

[0039] Then, the machining time prediction unit 110 calculates a predicted machining time taking into account a servo control and machine movement delay time by adding the correction time calculated by the correction time calculation unit 113 to a machining time calculated by the reference machining time prediction unit 111, in which a delay time due to a machine delay accompanying machining based on the machining program 200 is not taken into account.

[0040] In the numerical control device 1 having such a configuration, an actual servo control and machine movement delay time for each combination of program command types, measured in an actual machining performed in the past by the machining controller of the machine, is stored in the data storage unit 210, and a machining time incorporating a servo control and machine movement delay time can be predicted in a subsequent machining operation by referring to the data storage unit 210. Therefore, it is possible to predict a machining time with high accuracy compared to a conventional technique.If, during an initial operation of the numerical control device, the actual servo control and machine movement delay time for each combination of program command types is not stored in the data storage unit 210, there is a problem that a machining time cannot be predicted with high accuracy. However, it is possible to easily overcome such a problem by sending and using the actual servo control and machine movement delay time for each combination of program command types from the data storage unit 210 included in another numerical control device of the same type, or by providing data of the actual servo control and machine movement delay time for each combination of program commands created by a manufacturer of the numerical control device.

[0041] Although the embodiments of the invention have been described so far, the invention is not limited only to the examples of the embodiments described above and can be implemented in various ways by making appropriate changes.

[0042] For example, although the above-described embodiments describe an example of predicting machining time using the blocks of the entire machining program, machining time may be predicted only for some block groups including acceleration and deceleration. Although the above-described embodiments describe a configuration in which the data storage unit 210 is included in the numerical control device, it is also possible to employ a configuration in which the data storage unit 210 is provided in a host computer in a factory and shared by respective numerical control devices, and the respective numerical control devices refer to or update data stored in the data storage unit provided in the host computer via a network.Furthermore, it is possible to use a configuration in which the data storage unit is provided in a server installed by the numerical control device manufacturer and can be shared by numerical control devices of clients.

[0043] Among the embodiments described above, an embodiment in which both the machining time prediction unit 110 and the data collection unit 120 are included is described. However, for example, if sufficiently reliable data is collected in advance in the data storage unit 210, the configuration of the data collection unit 120 is omitted, and only the machining time prediction unit 110 (each functional device included in the machining time prediction unit 110) and the data storage unit 210 are installed in the numerical control device 1, the numerical control device 1 can be used as a numerical control device 1 that predicts a machining time with high accuracy.In this case, even if the data storage unit 210 is not newly updated when performing machining using the same machine, it is possible to predict a machining time with sufficiently high accuracy without updating the data storage unit 210 (setting data according to an environment).

[0044] Furthermore, the above-described embodiments describe a configuration in which the machining time prediction unit 110 and the data collection unit 120 have different functional devices. However, such an inclusion relationship is not necessary, and the function and effect of the invention do not change even if each functional device is installed as an independent functional device.

[0045] Although the embodiments of the invention have been described above, the invention is not limited only to the examples of the embodiments described above and can be implemented in various ways by making appropriate changes.

Claims

[1] Numerical control device (1) for machining a workpiece by controlling a machine comprising at least one axis based on a machining program, the numerical control device comprising: - a reference machining time prediction unit (111) configured to predict a reference machining time corresponding to a machining time in which a servo control and machine movement delay time is not taken into account, based on the machining program, - a program analysis unit (112) configured to extract a combination of at least one program instruction contained in the machining program by analyzing the machining program, - a data storage unit (210) configured to store information relating to an actual servo control and machine movement delay time measured during actual machining by the machine for each combination of program command types, - a correction time calculation unit (113) configured to calculate a correction time for correcting the reference machining time based on the combination of program commands extracted by the program analysis unit and information stored in the data storage unit (210) concerning an actual servo control and machine movement delay time for each of the combinations of program command types, and - a machining time prediction unit (110) configured to calculate a predicted machining time obtained by correcting the reference machining time using the correction time. [2] Numerical control device (1) according to claim 1, further comprising: - an actual machining delay time measuring unit (121) configured to measure an actual servo control and machine movement delay time for each combination of program commands and to update the information stored in the data storage unit (210) concerning an actual servo control and machine movement delay time for each combination of program command types based on the measured actual servo control and machine movement delay time for each combination of program commands. [3] The numerical control device according to claim 1 or 2, wherein the correction time calculation unit (113) calculates the correction time by estimating a servo control and machine movement delay time with respect to each combination of program instructions extracted by the program analysis unit based on the information stored in the data storage unit (210) concerning the actual servo control and machine movement delay time for each combination of program instruction types, and integrating each estimated servo control and machine movement delay time.

Citation Information

Patent Citations

  • Process and device for monitoring the feed in numerically controlled systems

    DE69229309T2

  • Method and device for predicting machining completion time of nc cutting machine

    JP1999028643A

  • Machining time estimating apparatus for nc machine tool

    JP2003175439A

  • Working time prediction part and numerical control device with working error prediction part

    JP2012243152A

  • Working time prediction device in view of processing capacity of numerical control device

    JP2014038482A