DE102012009461A1 - A numerical control device comprising a machine time prediction unit and a machine error prediction unit - Google Patents

A numerical control device comprising a machine time prediction unit and a machine error prediction unit Download PDF

Info

Publication number
DE102012009461A1
DE102012009461A1 DE102012009461A DE102012009461A DE102012009461A1 DE 102012009461 A1 DE102012009461 A1 DE 102012009461A1 DE 102012009461 A DE102012009461 A DE 102012009461A DE 102012009461 A DE102012009461 A DE 102012009461A DE 102012009461 A1 DE102012009461 A1 DE 102012009461A1
Authority
DE
Germany
Prior art keywords
machine
servo
error
sequence
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102012009461A
Other languages
German (de)
Inventor
Toshiaki Otsuki
Osamu Hanaoka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102012009461A1 publication Critical patent/DE102012009461A1/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4069Simulating machining process on screen
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35346VMMC: virtual machining measuring cell simulate machining process with modeled errors, error prediction
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36219Calculate machining information, like time, surface to be machined from program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36252Generate machining program based on a simulation to optimize a machine parameter
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

In Verbindung mit einem Maschinenprogramm, das bei einer maschinellen Verarbeitung eines Werkstücks mittels eines durch eine numerische Steuervorrichtung gesteuerten Werkzeugs maschinell verarbeitet wird, werden Interpolationsdaten, eine Befehlspositionspunktsequenz und eine Servopositionspunktsequenz für jede Verarbeitungsspanne per Simulation durch Ausweisen von Geschwindigkeitsdaten zum Angeben einer Maschinengeschwindigkeit und durch Genauigkeitsdaten zum Angeben einer Maschinengenauigkeit bestimmt. Eine vorhergesagte Maschinenzeit für die maschinelle Verarbeitung des Werkstücks wird auf der Grundlage der bestimmten Interpolationsdaten bestimmt, und es wird ein vorhergesagter Maschinenfehler für die maschinelle Verarbeitung des Werkstücks auf der Grundlage der bestimmten Befehls- und Servopositionspunktsequenzen bestimmt. Des Weiteren werden die Genauigkeitsdaten und die Geschwindigkeitsdaten für die kürzeste vorhergesagte Maschinenzeit innerhalb einer voreingestellten Maschinenfehlertoleranz bestimmt, auf der Grundlage einer Vielzahl von vorhergesagten Maschinenzeiten und einer Vielzahl von vorhergesagten Maschinenfehlern.In conjunction with a machine program which is machine-processed in a machining of a workpiece by a numerical control-controlled tool, interpolation data, a command position point sequence and a servo position point sequence for each processing span are simulated by designating speed data for indicating a machine speed and accuracy data Specifying a machine accuracy determined. A predicted machine time for the machining of the workpiece is determined based on the determined interpolation data, and a predicted machine error for the machining of the workpiece is determined based on the determined command and servo position point sequences. Furthermore, the accuracy data and the speed data for the shortest predicted machine time are determined within a preset machine error tolerance, based on a plurality of predicted machine times and a plurality of predicted machine errors.

Figure 00000001
Figure 00000001

Description

Hintergrund der ErfindungBackground of the invention

Gebiet der ErfindungField of the invention

Die vorliegende Erfindung betrifft eine numerische Steuervorrichtung mit einer Maschinenzeitvorhersageeinheit und einer Maschinenfehlervorhersageeinheit.The present invention relates to a numerical control apparatus having a machine time prediction unit and a machine error prediction unit.

Beschreibung des verwandten Stands der TechnikDescription of the Related Art

Bei einer maschinellen Verarbeitung eines Werkstücks unter Verwendung eines Maschinenwerkzeugs wird im Allgemeinen die Genauigkeit der Maschinenverarbeitung verringert, wenn die Maschinenzeit verringert wird oder wenn die Maschinengeschwindigkeit erhöht wird. Wird die Maschinenzeit erhöht oder wird die Maschinengeschwindigkeit verringert, dann wird demgegenüber die Genauigkeit der maschinellen Verarbeitung verbessert. In der maschinellen Verarbeitung des Werkstücks ist die Genauigkeit der maschinellen Verarbeitung wichtiger als die Maschinenzeit. Somit wünschen Benutzer, die das Maschinenwerkzeug verwenden, um das Werkzeug maschinell zu verarbeiten, in der Lage zu sein, das Werkstück in einer minimalen Maschinenzeit mit einer Genauigkeit der maschinellen Verarbeitung innerhalb einer voreingestellten Maschinenfehlertoleranz maschinell zu verarbeiten. Es ist jedoch nicht leicht, die geeignete Maschinenzeit und das Maschinenfehlerniveau für das Werkstück sicherzustellen.In machine processing of a workpiece using a machine tool, in general, the accuracy of machine processing is reduced as the machine time is reduced or as the machine speed is increased. If the machine time is increased or the machine speed is reduced, on the other hand, the accuracy of the machine processing is improved. In the machine processing of the workpiece, the accuracy of the machine processing is more important than the machine time. Thus, users who use the machine tool to machine the tool want to be able to machine the workpiece in a minimum machine time with a precision of machine processing within a preset machine error tolerance. However, it is not easy to ensure the appropriate machine time and machine error level for the workpiece.

Demgemäß wird die maschinelle Verarbeitung normalerweise bei einer Geschwindigkeit innerhalb eines zulässigen Genauigkeitsbereichs durchgeführt, nachdem eine maschinelle Probelaufverarbeitung mehrere Male mit etwas längerer Zeit durchgeführt wurde. Vor dem maschinellen Verarbeiten eines Werkstücks möchten Benutzer deshalb per Simulation wissen, wie genau das Werkstück mit der Maschinengeschwindigkeit und Maschinenbedingungen ohne eine maschinelle Probelaufverarbeitung maschinell verarbeitet werden wird. Des Weiteren möchten Benutzer per Simulation dringend die Maschinengeschwindigkeit und Maschinenbedingungen kennen, mit denen das Werkstück mit einer maschinellen Verarbeitungsgenauigkeit innerhalb einer Maschinenfehlertoleranz in einer minimalen Maschinenzeit ohne eine maschinelle Probelaufverarbeitung maschinell verarbeitet werden kann.Accordingly, the machine processing is normally performed at a speed within an allowable accuracy range after a machine trial processing has been performed several times with a somewhat longer time. Before machine processing a workpiece, therefore, users want to know by simulation how accurately the workpiece will be machined with machine speed and machine conditions without machine trial processing. Furthermore, users desirably want to know by simulation the machine speed and machine conditions with which the workpiece can be machined with machine processing accuracy within a machine error tolerance in a minimum machine time without machine trial processing.

Grundlegende Techniken gemäß dem Stand der Technik, die eine Maschinenzeitvorhersage betreffen, sind in den nachfolgenden Patentschriften offenbart.

  • (a) Die japanische Patentanmeldungsoffenlegung Nr. 2004-227028 (entsprechend der ungeprüften US-Patentanmeldung Nr. US 2005/0228533 A1) offenbart eine Technik, in der ein Maschinenprogramm per Simulation in Maschinenvorgänge unterteilt wird, eine Zykluszeit für jeden der unterteilten Maschinenvorgänge berechnet wird, und Informationen bezüglich des Ergebnisses der Simulation auf einer Anzeigeeinheit einer Endgeräteeinrichtung angezeigt werden. Des Weiteren offenbart die japanische Patentanmeldungsoffenlegung Nr. 2006-301440 eine Maschinenzeitberechnungseinrichtung, die eine genaue Achsenbewegungszeit selbst bei einer maschinellen Verarbeitung schnell berechnen kann, die eine numerische Steuereinrichtung mit einer Funktion zum optimalen Einstellen der Vorschubrate und der Beschleunigung/Abbremsung verwendet.
Basic prior art techniques relating to machine time prediction are disclosed in the following patents.
  • (a) The Japanese Patent Application Laid-Open No. 2004-227028 (according to Unexamined US Patent Application No. US 2005/0228533 A1) discloses a technique in which a machine program is divided into machine operations by simulation, a cycle time is calculated for each of the divided machine operations, and information regarding the result of the simulation on a display unit a terminal device are displayed. Furthermore, the Japanese Patent Application Laid-Open No. 2006-301440 an engine time calculator that can quickly calculate an accurate axle travel time even in a machine processing using a numerical controller having a function of optimally adjusting the feed rate and the acceleration / deceleration.

Obwohl die Maschinenzeit in den vorstehend beschriebenen zwei Patentdruckschriften vorhergesagt wird, werden Maschinenfehler nicht vorhergesagt. Deshalb können diese Techniken nicht die Benutzernachfrage befriedigen, per Simulation die Genauigkeit des Werkstücks mit der Maschinengeschwindigkeit ohne eine maschinelle Probelaufverarbeitung zu kennen oder per Simulation die Maschinengeschwindigkeit zu kennen, bei der das Werkstück mit einer Genauigkeit innerhalb einer Maschinenfehlertoleranz in einer minimalen Maschinenzeit ohne eine maschinelle Probelaufverarbeitung maschinell verarbeitet werden kann.

  • (b) Die japanische Patentanmeldungsoffenlegung Nr. 58-35607 (entsprechend dem US-Patent Nr. 4,543,625 ) offenbart eine numerische Steuervorrichtung, die in der Lage ist, einen Maschinenfehler beim Eckenschneiden und einen Kreisfehler im Kreisbogenschneiden auf Toleranzen einzuschränken.
Although machine time is predicted in the two patent documents described above, machine errors are not predicted. Therefore, these techniques can not satisfy the user demand to know by simulation the accuracy of the workpiece at the machine speed without a machine trial processing or by simulation to know the machine speed at which the workpiece with an accuracy within a machine error tolerance in a minimum machine time without a machine trial processing can be processed by machine.
  • (b) The Japanese Patent Application Laid-Open No. 58-35607 (according to the U.S. Patent No. 4,543,625 ) discloses a numerical control apparatus capable of limiting a machine error in corner cutting and a circular error in circular arc cutting to tolerances.

In der in dem vorstehend beschriebenen Patentdokument offenbarten Technik wird der Maschinenfehler auf der Grundlage der Voraussetzung berechnet, dass eine Beschleunigung/Abbremsung mit exponentiellen Eigenschaften durchgeführt wird. In modernen numerischen Steuervorrichtungen wird jedoch eine komplizierte Geschwindigkeitssteuerung für glatte Beschleunigungs-/Abbremseigenschaften durchgeführt, wie sowohl lineare und glockenförmige Beschleunigungs-/Abbremseigenschaften als auch die exponentiellen Beschleunigungs-/Abbremseigenschaften. Somit kann der Maschinenfehler nicht durch eine einfache computerisierte Formel vorhergesagt werden, die in diesem Patentdokument beschrieben ist.

  • (c) Die japanische Patentanmeldungsoffenlegung Nr. 2011-60016 (entsprechend der ungeprüften US-Patentanmeldung Nr. US2011/0057599 A1) offenbart eine Bahnkurvenanzeigevorrichtung, die eine Funktion zum genauen Quantifizieren eines Fehlers einer dreidimensionalen Bahnkurve eines Maschinenwerkzeugs und zum Anzeigen oder Ausgeben des Fehlers aufweist.
In the technique disclosed in the above-described patent document, the engine error is calculated on the assumption that acceleration / deceleration with exponential characteristics is performed. However, in modern numerical control devices, complicated speed control is performed for smooth acceleration / deceleration characteristics, such as both linear and bell-shaped acceleration / deceleration characteristics, and exponential acceleration / deceleration characteristics. Thus, the machine error can not be predicted by a simple computerized formula described in this patent document.
  • (c) The Japanese Patent Application Laid-Open No. 2011-60016 (corresponding to Unexamined US Patent Application No. US2011 / 0057599 A1) discloses a trajectory display device which has a function of accurately quantifying a fault of a three-dimensional trajectory of a machine tool and displaying or outputting the error.

Die Bahnkurvenanzeigevorrichtung, die in der vorstehend beschriebenen Patentdruckschrift offenbart ist, umfasst eine Befehlsliniensegmentsdefinitionseinheit und eine Fehlerberechnungseinheit. Die Befehlsliniensegmentsdefinitionseinheit definiert Befehlsliniensegmente, die jeweils zwei angrenzende Punkte für jeden Befehlspositionspunkt verbinden. Die Fehlerberechnungseinheit berechnet, als einen Fehler einer Ist-Position zu jedem Zeitpunkt relativ zu einem Befehlsweg, die Länge der kürzesten von lotrechten Linien, die von der Ist-Position zu den Befehlsliniensegmenten einzeln gezeichnet sind, oder die Länge eines Liniensegments, das die Ist-Position und die nächstgelegenen Befehlsposition verbindet, welche auch immer die kürzere ist. Daten bezüglich der Ist-Position werden durch tatsächliches Operieren einer Antriebswelle (Servo) bestimmt, nicht per Simulation.The trajectory display device disclosed in the above-described patent document comprises a command line segment definition unit and an error calculation unit. The command line segment definition unit defines command line segments that each connect two adjacent points for each command position point. The error calculation unit calculates, as an error of an actual position at each time point relative to a command path, the length of the shortest of vertical lines individually drawn from the actual position to the command line segments, or the length of a line segment representing the actual line position. Position and the closest command position, whichever is the shorter, connects. Data regarding the actual position are determined by actual operation of a drive shaft (servo), not by simulation.

Die in dem vorstehend beschriebenen Patentdokument offenbarte Technik wird nachstehend unter Bezugnahme auf 1 beschrieben. In dieser Technik wird eine Länge von einer Ist-Position Qm'' (m = 1, 2, ...) bis zu einer Befehlsposition Pn (n = 1, 2, ...) als ein Fehler betrachtet. In einem anderen Fall soll demgegenüber eine Länge von der Befehlsposition Pn zu der Ist-Position Qm'' als ein Fehler betrachtet werden. Bei der maschinellen Verarbeitung, beispielsweise einer rechtwinkligen Ecke durch die in diesem Patentdokument offenbarte Technik, wie in 1 gezeigt, werden Längen von Ist-Positionen zu Befehlspositionen (durch gestrichelte Linie angedeutet) als Fehler betrachtet. In diesem Fall ist jedoch die Länge einer lotrechten Linie (durch eine Strichpunktlinie angedeutet) größer, die von einer Befehlsposition P4 bei der Ecke zu einem Liniensegment gezeichnet wird, das Ist-Positionen Q4'' und Q5 '' verbindet. Deshalb soll die Länge dieser lotrechten Linie als ein Fehler betrachtet werden. Somit liegt ebenso ein Fall vor, in dem die Länge von der Befehlsposition zu der Ist-Position als ein Fehler betrachtet werden soll, so dass das Verfahren der Fehlerevaluierung, das in diesem Patentdokument offenbart ist, unbefriedigend ist.The technique disclosed in the above-described patent document will be described below with reference to FIG 1 described. In this technique, a length from an actual position Q m '' (m = 1, 2, ...) to a command position P n (n = 1, 2, ...) is regarded as an error. In another case, on the other hand, a length from the command position P n to the actual position Q m "should be regarded as an error. In machine processing, for example, a right-angled corner by the technique disclosed in this patent document, as in 1 shown, lengths from actual positions to command positions (indicated by dashed line) are considered as errors. In this case, however, the length of a vertical line (indicated by a dashed-dotted line) is larger, which is drawn from a command position P 4 at the corner to a line segment connecting actual positions Q 4 "and Q 5 " . Therefore, the length of this vertical line should be considered a mistake. Thus, there is also a case where the length from the command position to the actual position is to be regarded as an error, so that the method of error evaluation disclosed in this patent document is unsatisfactory.

Gemäß der in diesem Patentdokument offenbarten Technik wird des Weiteren der Fehler lediglich berechnet und angezeigt oder ausgegeben. Deshalb kann diese Technik nicht die Benutzernachfrage befriedigen, per Simulation die Genauigkeit des Werkstücks mit der Maschinengeschwindigkeit und den Maschinenbedingungen ohne eine maschinelle Probelaufverarbeitung zu kennen, oder per Simulation die Maschinengeschwindigkeit und Maschinenbedingungen zu bestimmen, mit denen das Werkstück mit einer Genauigkeit innerhalb einer Maschinenfehlertoleranz in einer minimalen Maschinenzeit ohne eine maschinelle Probelaufverarbeitung maschinell verarbeitet werden kann.Further, according to the technique disclosed in this patent document, the error is merely calculated and displayed or output. Therefore, this technique can not satisfy the user demand to know by simulation the accuracy of the workpiece with the machine speed and the machine conditions without a machine trial processing, or by simulation to determine the machine speed and machine conditions with which the workpiece with an accuracy within a machine error tolerance in one machine time can be machine-processed without a machine test-run processing.

Üblicherweise weist eine numerische Steuervorrichtung eine Maschinenbedingungsauswahlfunktion auf. Gemäß dieser Funktion werden Maschinenbedingungsdaten einschließlich einer zulässigen Beschleunigung und einer zulässigen Eckgeschwindigkeitsdifferenz, die in 2 gezeigt sind, vorab als Parameter gesetzt, und werden die Genauigkeitsdaten, die für die maschinelle Verarbeitung zu verwenden sind, als Rr (r = 1 bis 10) in dem Block G05.1 in dem in 3 gezeigten Programm ausgewiesen.Usually, a numerical control device has a machine condition selection function. According to this function, engine condition data including an allowable acceleration and a permissible corner speed difference are calculated in 2 are set in advance as parameters, and the accuracy data to be used for the machining will be expressed as Rr (r = 1 to 10) in the block G05.1 in the 3 shown program.

Gemäß dem in 2 gezeigten Verfahren werden die Maschinenbedingungsdaten (einschließlich einer zulässigen Beschleunigung und einer zulässigen Eckgeschwindigkeitsdifferenz) vorab für jeden der Fälle der geschwindigkeitsorientierten Daten (Präzisionsdaten 1) und genauigkeitsorientierten Daten (Präzisionsdaten 10) vorab gesetzt, und werden Maschinenbedingungsdaten für Genauigkeitsdaten 2 bis 9 zwischenliegend zwischen den Genauigkeitsdaten 1 und 10 durch eine proportionale Verteilung auf der Grundlage jener gesetzten Werte bestimmt. Obwohl lediglich die zwei typischen Maschinenbedingungsdaten hier beschrieben sind, können verschiedene andere Maschinenbedingungsdaten, wie ein Sprung (Beschleunigungsvariation), eine Nachinterpolationsbeschleunigungs-/Abbremszeitkonstante usw. auf die gleiche Art und Weise gesetzt werden.According to the in 2 As shown in FIG. 14, the engine condition data (including allowable acceleration and allowable corner speed difference) are previously set in advance for each of the speed-oriented data (precision data 1) and accuracy-oriented data (precision data 10), and machine condition data for accuracy data 2 to 9 is interposed between the accuracy data 1 and 10 determined by a proportional distribution based on those set values. Although only the two typical engine condition data are described herein, various other engine condition data such as a jump (acceleration variation), a post-interpolation acceleration / deceleration time constant, etc. may be set in the same manner.

3 zeigt Befehle für die Angabe von Genauigkeitsdaten, die unter den vorstehend beschriebenen Genauigkeitsdaten auszuweisen sind. 3 shows instructions for specifying accuracy data to be displayed among the accuracy data described above.

”G05.1Q1” in dem ersten Block stellt einen Block für einen Maschinenbedingungsauswahlbefehl dar, und ”r” und ”Rr” bezeichnen die Genauigkeitsdaten, die aus den in 2 gezeigten Genauigkeitsdaten 1 bis 10 auszuwählen sind. Beispielsweise wird ”r” auf einen kleinen Wert für eine grobe maschinelle Verarbeitung oder auf einen großen Wert für eine feine maschinelle Verarbeitung gesetzt. Es sei zu verstehen, dass hier die Maschinenbedingungsdaten einschließlich der zulässigen Beschleunigung, der zulässigen Eckgeschwindigkeitsdifferenz usw. direkt befohlen werden können oder parametergesetzte Werte für diese Bedingungsdaten gesetzt werden können, anstelle des Ausweisens der Genauigkeitsdaten unter Verwendung der Zahlen 1 bis 10."G05.1Q1" in the first block represents a block for a machine condition selection command, and "r" and "Rr" indicate the accuracy data consisting of the in 2 shown accuracy data 1 to 10 are selected. For example, "r" is set to a small value for coarse machine processing or a large value for fine machine processing. It should be understood that here, the machine condition data including the allowable acceleration, the allowable corner speed difference, etc., may be directly commanded or set parameter values for these condition data instead of the accuracy data using the numbers 1 to 10.

Während der F-Befehl in dem zweiten Block ein Geschwindigkeitsbefehl als ein Maschinenbefehl ist, kann eine Ist-Befehlsgeschwindigkeit unter Verwendung eines Außerkraftsetzens (1 bis 200%) in einen Wert (F-Befehl) × (Außerkraftsetzwert) geändert werden. Des Weiteren kann eine parametergesetzte Geschwindigkeit für eine Befehlsgeschwindigkeit verwendet werden, die den F-Befehl ignoriert. Des Weiteren kann der F-Befehl in dem Programm in einen Befehl für eine modifizierte Geschwindigkeit geändert werden.While the F command in the second block is a speed command as a machine command, an actual command speed may be changed to a value (F command) × (override value) using an override (1 to 200%). Furthermore, a parameter-substituted Speed can be used for a command speed that ignores the F command. Furthermore, the F command in the program can be changed to a modified speed command.

Wird ”G05. 1Q1R4” in dem in 2 gezeigten Parametersetzen angewiesen, dann wird zum Beispiel eine maschinelle Verarbeitung mit der zulässigen Beschleunigung von 1.533 (= (6 × 2.000 + 3 × 600)/9) mm/s2 und der zulässigen Eckgeschwindigkeitsdifferenz von 800 (= (6 × 1.000 + 3 × 600)/9) mm/min durchgeführt, die als Parameter für die Maschinenbedingungsdaten gesetzt sind. Alternativ können, wie vorstehend beschrieben, diese Daten direkt angewiesen werden oder können dementsprechende parametergesetzte Werte gesetzt werden. Obwohl die Genauigkeitsdaten durch diese Maschinenbedingungsauswahlfunktion leicht angewiesen werden können, kann jedoch nicht das geeignete Maschinenfehlerniveau und die Maschinenzeit für alle Genauigkeitsdaten sichergestellt werden.Will "G05. 1Q1R4 "in the in 2 For example, when instructed as shown in FIG. 14, then machining with the allowable acceleration of 1,533 (= (6 × 2,000 + 3 × 600) / 9) mm / s 2 and allowable corner speed difference of 800 (= (6 × 1,000 + 3 × 600) / 9) mm / min, which are set as parameters for the machine condition data. Alternatively, as described above, these data may be instructed directly, or corresponding parameter set values may be set. Although the accuracy data can be easily instructed by this engine condition selection function, however, the proper engine failure level and the engine time for all the accuracy data can not be ensured.

Kurzfassung der ErfindungSummary of the invention

Demgemäß besteht in Anbetracht der vorstehend beschriebenen Probleme des Standes der Technik eine Aufgabe der Erfindung in einem Bereitstellen einer numerischen Steuervorrichtung, die umfasst: eine Maschinenzeitvorhersageeinheit, die eine vorhergesagte Maschinenzeit per Simulation bestimmt, und eine Maschinenfehlervorhersageeinheit, die einen vorhergesagten Maschinenfehler per Simulation bestimmt, wobei Genauigkeitsdaten und Geschwindigkeitsdaten als Maschinenzeit-/Maschinenfehlervorhersagedaten ausgewiesen werden und ein Maschinenprogramm ausgewiesen wird. Eine weitere Aufgabe der Erfindung liegt in einem Bereitstellen einer numerischen Steuervorrichtung, in der eine Vielzahl von vorhergesagten Maschinenzeiten und eine Vielzahl von vorhergesagten Maschinenfehlern auf der Grundlage der ausgewiesenen Genauigkeitsdaten und Geschwindigkeitsdaten bestimmt werden, und die kürzeste vorhergesagte Maschinenzeit innerhalb einer voreingestellten Maschinenfehlertoleranz auf der Grundlage dieser vorhergesagten Maschinenzeiten und der vorhergesagten Maschinenfehler bestimmt wird.Accordingly, in view of the above-described problems of the prior art, an object of the invention is to provide a numerical control apparatus comprising: a machine time prediction unit that predicts a predicted machine time by simulation and a machine error prediction unit that simulates a predicted machine error; Accuracy data and speed data are displayed as machine time / machine error prediction data and a machine program is designated. Another object of the invention is to provide a numerical control apparatus in which a plurality of predicted machine times and a plurality of predicted machine errors are determined on the basis of the designated accuracy data and speed data, and the shortest predicted machine time within a preset engine error tolerance based thereon predicted machine times and the predicted machine error.

Eine erfindungsgemäße numerische Steuervorrichtung steuert ein Maschinenwerkzeug ansteuernd, das ein Werkstück auf der Grundlage eines Maschinenprogramms maschinell verarbeitet. Die numerische Steuervorrichtung umfasst eine Ausweisungseinheit zum Ausweisen von Geschwindigkeitsdaten zum Ausgeben einer Maschinengeschwindigkeit und von Genauigkeitsdaten zum Ausgeben einer Maschinengenauigkeit, eine Simulationseinheit, die eine Befehlspositionspunktsequenz und eine Servopositionspunktsequenz für jede Verarbeitungsspanne per Simulation bestimmt, unter Verwendung der Geschwindigkeitsdaten und der Genauigkeitsdaten, die für das Maschinenprogramm durch die Ausweisungseinheit ausgewiesen sind, eine Maschinenzeitvorhersageeinheit, die eine vorhergesagte Maschinenzeit bestimmt, während derer das Werkstück in der Simulationseinheit maschinell verarbeitet wird, und eine Maschinenfehlervorhersageeinheit, die einen vorhergesagten Maschinenfehler bestimmt, der verursacht wird, wenn das Werkstück unter Verwendung der Befehlspositionspunktsequenz und der Servopositionspunktsequenz maschinell verarbeitet wird, die durch die Simulationseinheit bestimmt sind.A numerical control device according to the invention controls a machine tool, which processes a workpiece on the basis of a machine program. The numerical control apparatus comprises an expelling unit for displaying speed data for outputting a machine speed and accuracy data for outputting an engine accuracy, a simulation unit for simulation-defining an instruction position point sequence and a servo position point sequence for each processing span, using the speed data and the accuracy data indicative of the engine program by the designation unit, a machine time prediction unit that determines a predicted machine time during which the workpiece is machined in the simulation unit, and a machine error prediction unit that determines a predicted machine error caused when the workpiece using the instruction position point sequence and the servo position point sequence is processed by the simulation unit.

Die Maschinenfehlervorhersageeinheit kann die Befehlspositionspunktsequenz und die Servopositionspunktsequenz für jede Verarbeitungsspanne der Simulation durch die Simulationseinheit erlangen, kann ein Abstand von einer spezifischen Befehlsposition in der Befehlspositionspunktsequenz zu der Servopositionspunktsequenz oder einer rechtwinkligen Linie, die von der spezifischen Befehlsposition zu einem Liniensegment gezeichnet wird, das benachbarte Punkte in jeder Servoposition verbindet, welcher auch immer kürzer ist, als ein Fehler in der spezifischen Befehlsposition bestimmt werden, und kann der größte der Fehler in den Befehlspositionen als ein Fehler zwischen der Befehlspositionspunktsequenz und der Servopositionspunktsequenz bestimmt werden.The machine error prediction unit may acquire the instruction position point sequence and the servo position point sequence for each processing period of simulation by the simulation unit, a distance from a specific instruction position in the instruction position point sequence to the servo position point sequence or a right angle line drawn from the specific instruction position to a line segment may be the adjacent points in any servo position, whichever is shorter than an error in the specific instruction position, and the largest of the errors in the instruction positions can be determined as an error between the instruction position point sequence and the servo position point sequence.

Die Maschinenfehlervorhersageeinheit kann die Befehlspositionspunktsequenz und die Servopositionspunktsequenz für jede Verarbeitungsspanne der Simulation durch die Simulationseinheit erlangen, kann einen Abstand von einer spezifischen Servoposition in der Servopositionspunktsequenz zu der Befehlspositionspunktsequenz oder einer lotrechten Linie, die von der spezifischen Servoposition zu einem Liniensegment gezeichnet ist, das benachbarte Punkte in jeder Befehlsposition verbindet, welcher auch immer kürzer ist, als ein Fehler in der spezifischen Servoposition bestimmt werden, und kann der größte der Fehler in den Servopositionen als ein Fehler zwischen der Befehlspositionspunktsequenz und der Servopositionspunktsequenz bestimmt werden.The engine error prediction unit may obtain the command position point sequence and the servo position point sequence for each processing span of simulation by the simulation unit, may include a distance from a specific servo position in the servo position point sequence to the command position point sequence or a vertical line drawn from the specific servo position to a line segment, the adjacent points in each instruction position, whichever is shorter than an error in the specific servo position, and the largest of the errors in the servo positions can be determined as an error between the instruction position point sequence and the servo position point sequence.

Die Maschinenfehlervorsageeinheit kann die Befehlspositionspunktsequenz und die Servopositionspunktsequenz für jede Verarbeitungsspanne der Simulation durch die Simulationseinheit erlangen, kann einen Abstand von einer spezifischen Befehlsposition in der Befehlspositionspunktsequenz zu der Servopositionspunktsequenz oder einer lotrechten Linie, die von der spezifischen Befehlsposition zu einem Liniensegment gezeichnet, das benachbarte Punkte in die der Servoposition verbindet, welcher auch immer die kürzere ist, als ein Fehler in der spezifischen Befehlsposition bestimmt werden, kann der größte der Fehler in den Befehlspositionen als ein Fehler von der Befehlspositionspunktsequenz zu der Servopositionspunktsequenz bestimmt werden, kann ein Abstand von einer spezifischen Servoposition in der Servopositionspunktsequenz zu der Befehlspositionspunktsequenz oder einer lotrechten Linie, die von der spezifischen Servoposition zu einem Liniensegment gezeichnet ist, das benachbarte Punkte in jeder Befehlsposition verbindet, welcher auch immer die kürzere ist, als ein Fehler in der spezifischen Servoposition bestimmt werden, kann der größte der Fehler in den Servopositionen als ein Fehler von der Servopositionspunktsequenz zu der Befehlspositionspunktsequenz bestimmt werden, und kann der größere des Fehlers von der Befehlspositionspunktsequenz zu der Servopositionspunktsequenz oder des Fehlers von der Servopositionspunktsequenz zu der Befehlspositionspunktsequenz als ein Fehler zwischen der Befehlspositionspunktsequenz und der Servopositionspunktsequenz bestimmt werden.The engine error prediction unit may acquire the command position point sequence and the servo position point sequence for each processing span of simulation by the simulation unit, may include a distance from a specific command position in the command position point sequence to the servo position point sequence or a perpendicular line drawn from the specific command position to a line segment having adjacent points in connecting the servo position, whichever is the shorter, than determining an error in the specific instruction position, the largest of the errors in the instruction positions may be as an error may be determined from the command position point sequence to the servo position point sequence, a distance from a specific servo position in the servo position point sequence to the command position point sequence or a perpendicular line drawn from the specific servo position to a line segment connecting adjacent points in each command position may as well always being shorter than an error in the specific servo position is determined, the largest of the errors in the servo positions may be determined as an error from the servo position sequence to the instruction position point sequence, and the greater of the error from the instruction position point sequence to the servo position point sequence or error from the servo position sequence to the instruction position point sequence are determined as an error between the instruction position point sequence and the servo position point sequence.

Die Maschinenzeitvorhersageeinheit kann eine Vielzahl von vorhergesagten Maschinenzeiten auf der Grundlage einer Vielzahl von ausgewiesenen Genauigkeitsdaten bestimmen, und die Maschinenfehlervorhersageeinheit kann eine Vielzahl von vorhergesagten Maschinenfehlern auf der Grundlage einer Vielzahl von ausgewiesenen Geschwindigkeitsdaten bestimmen. Die Genauigkeitsdaten und die Geschwindigkeitsdaten für die kürzeste vorhergesagte Maschinenzeit innerhalb einer voreingestellten Maschinenfehlertoleranz können auf der Grundlage der Vielzahl von vorhergesagten Maschinenzeiten und der Vielzahl von vorhergesagten Maschinenfehlern, die so bestimmt wurden, bestimmt werden.The machine time prediction unit may determine a plurality of predicted machine times based on a plurality of designated accuracy data, and the engine error prediction unit may determine a plurality of predicted engine errors based on a plurality of designated speed data. The accuracy data and the speed data for the shortest predicted engine time within a default engine error tolerance may be determined based on the plurality of engine predicted times and the plurality of engine predicted errors thus determined.

Die numerische Steuervorrichtung kann eine Mehrachsenmaschine mit einer Drehachse steuern, die Maschinenfehlervorhersageeinheit kann eine dreidimensionale Befehlspositionspunktsequenz und eine dreidimensionale Servopositionspunktsequenz einer Werkzeugmittelpunktsposition auf der Grundlage der Befehlspositionspunktsequenz und der Servopositionspunktsequenz bestimmen, und kann der Fehler zwischen der Befehlspositionspunktsequenz und der Servopositionspunktsequenz mit der dreidimensionalen Befehlspositionspunktsequenz und der dreidimensionalen Servopositionspunktsequenz bestimmt werden, die jeweils als die Befehlspositionspunktsequenz und die Servopositionspunktsequenz verwendet werden.The numerical control device may control a multi-axis machine having a rotation axis, the machine error prediction unit may determine a three-dimensional command position sequence and a three-dimensional servo position point sequence of a tool center point position based on the command position point sequence and the servo position point sequence, and the error between the command position point sequence and the servo position point sequence with the three-dimensional command position point sequence and the three-dimensional Servo position sequence, which are respectively used as the instruction position point sequence and the servo position point sequence.

Die Genauigkeitsdaten können durch die Maschinenbedingungsdaten auf der Grundlage einer zulässigen Beschleunigung oder einer zulässigen Eckgeschwindigkeitsdifferenz angegeben werden.The accuracy data may be given by the engine condition data based on an allowable acceleration or a permissible corner speed difference.

Gemäß der Erfindung kann eine numerische Steuervorrichtung bereitgestellt werden, die eine Maschinenzeitvorhersageeinheit, die eine vorhergesagte Maschinenzeit per Simulation bestimmt, und eine Maschinenfehlervorhersageeinheit umfassen, die einen vorhergesagten Maschinenfehler per Simulation bestimmt, wobei Genauigkeitsdaten und Geschwindigkeitsdaten als Maschinenzeit-/Maschinenfehlervorhersagedaten ausgewiesen werden und ein Maschinenprogramm ausgewiesen wird. In der numerischen Steuervorrichtung werden eine Vielzahl von vorhergesagten Maschinenzeiten und eine Vielzahl von vorhergesagten Maschinenfehlern auf der Grundlage dieser ausgewiesenen Genauigkeitsdaten und Geschwindigkeitsdaten bestimmt, und wird die kürzeste vorhergesagte Maschinenzeit innerhalb einer voreingestellten Maschinenfehlertoleranz auf der Grundlage einer Vielzahl von vorhergesagten Maschinenzeiten und einer Vielzahl von vorhergesagten Maschinenfehlern bestimmt.According to the invention, there can be provided a numerical control apparatus comprising a machine time prediction unit that predicts a predicted machine time by simulation and a machine error prediction unit that predicts a predicted machine error, wherein accuracy data and speed data are designated as machine time / machine error prediction data and a machine program becomes. In the numerical control apparatus, a plurality of predicted machine times and a plurality of predicted machine errors are determined on the basis of these designated accuracy data and speed data, and the shortest predicted machine time becomes within a preset machine error tolerance based on a plurality of predicted machine times and a plurality of predicted machine errors certainly.

Kurze Beschreibung der ZeichnungenBrief description of the drawings

Die vorstehend beschriebenen und weitere Aufgaben und Merkmale der Erfindung werden aus der nachfolgenden Beschreibung von Ausführungsbeispielen unter Bezugnahme auf die beiliegenden Zeichnungen offensichtlich. Es zeigen:The above-described and other objects and features of the invention will become apparent from the following description of embodiments with reference to the accompanying drawings. Show it:

1 ein Diagramm zur Beschreibung einer Technik, die einen Fehler einer Ist-Position relativ zu einem Befehlsweg betrifft, die in einer Druckschrift gemäß dem Stand der Technik offenbart ist; 1 Fig. 10 is a diagram for describing a technique relating to an error of an actual position relative to a command path disclosed in a prior art document;

2 ein Diagramm, das eine Maschinenbedingungsauswahlfunktion gemäß dem Stand der Technik beschreibt; 2 a diagram describing a machine condition selection function according to the prior art;

3 ein Diagramm, das Programmbefehle einschließlich eines Befehls für die Auswahl von auszuweisenden Genauigkeitsdaten beschreibt; 3 a diagram describing program instructions including a command for selecting accuracy data to be designated;

4 ein Diagramm, das Merkmale der vorliegenden Erfindung beschreibt; 4 a diagram describing features of the present invention;

5 ein Funktionsblockdiagramm einer numerischen Steuervorrichtung, die eine Simulationseinheit, eine Maschinenzeitvorhersageeinheit und eine Maschinenfehlervorhersageeinheit für ein Maschinenprogramm umfasst, gemäß der vorliegenden Erfindung; 5 5 is a functional block diagram of a numerical control device including a simulation unit, a machine time prediction unit, and a machine error predicting unit for a machine program according to the present invention;

6 ein Diagramm, das eine Servosimulationseinheit zum Simulieren einer Servooperation beschreibt; 6 a diagram describing a servo simulation unit for simulating a servo operation;

7 ein Diagramm, das eine Maschinenzeit für einen fraglichen Block beschreibt; 7 a diagram describing a machine time for a block in question;

8 ein Diagramm, das Interpolationsdaten für jede Verarbeitungsspanne beschreibt; 8th a diagram describing interpolation data for each processing span;

9 ein Ablaufdiagramm, das eine Verarbeitung in der Maschinenfehlervorhersageeinheit beschreibt; 9 a flowchart describing processing in the machine error prediction unit;

10 ein Diagramm, das den Vorgang von Schritt SA06 in dem Ablaufdiagramm gemäß 9 beschreibt; 10 a diagram illustrating the process of step SA06 in the flowchart according to 9 describes;

11 ein Ablaufdiagramm, das den Vorgang von Schritt SA03 in dem Ablaufdiagramm gemäß 9 ausführlicher beschreibt; 11 a flowchart illustrating the process of step SA03 in the flowchart according to 9 describes in more detail;

12 ein Diagramm, das beschreibt, wie ein Fehler einer Punktsequenz Pn zu bestimmen ist; 12 a diagram describing how to determine an error of a point sequence P n ;

13 ein Beispiel einer vorhergesagten Maschinenzeit und eines vorhergesagten Maschinenfehlers; 13 an example of a predicted machine time and a predicted machine error;

14 eine Tabelle, die vorhergesagte Maschinenzeiten und vorhergesagte Maschinenfehler beschreibt, die auf der Grundlage von Genauigkeitsdaten und Geschwindigkeitsdaten bestimmt werden; 14 a table describing predicted machine times and predicted machine errors determined based on accuracy data and speed data;

15 eine schematische Ansicht einer Fünfachsenmaschine mit einem drehbaren Werkzeugkopf; 15 a schematic view of a five-axis machine with a rotatable tool head;

16 ein Diagramm, das Beziehungen zwischen Pn und Qm und zwischen Pn' und Qm' in der Fünfachsenmaschine beschreibt; und 16 a diagram describing relationships between P n and Q m and between P n 'and Q m ' in the five-axis machine; and

17 ein Blockdiagramm, das einen Aufbau eines Ausführungsbeispiels der numerischen Steuervorrichtung schematisch beschreibt, die die Maschinenzeitvorhersageeinheit und die Maschinenfehlervorhersageeinheit umfasst, gemäß der vorliegenden Erfindung. 17 12 is a block diagram schematically describing a structure of an embodiment of the numerical control apparatus including the machine time prediction unit and the machine error prediction unit according to the present invention.

Ausführliche Beschreibung der bevorzugten AusführungsbeispieleDetailed Description of the Preferred Embodiments

Zuerst werden Merkmale der vorliegenden Erfindung unter Bezugnahme auf 4 beschrieben werden.First, features of the present invention will be described with reference to FIG 4 to be discribed.

Die vorliegende Erfindung beabsichtigt, Maschinenfehler und Maschinenzeiten zu simulieren, die für einen oder mehrere Sätze von Geschwindigkeitsdaten und Genauigkeitsdaten vorherzusagen sind, und um maschinelle Verarbeitungsgenauigkeiten (Maschinenfehler) und Maschinenzeiten für Werkstücke zu schätzen, die gemäß gegebenen Geschwindigkeitsdaten und Genauigkeitsdaten (vgl. (1) gemäß 4) und Maschinengeschwindigkeiten (Geschwindigkeitsdaten) und Maschinenbedingungen (Genauigkeitsdaten) maschinell zu verarbeiten sind, um ein maschinelles Verarbeiten von Werkstücken mit Genauigkeiten innerhalb einer Maschinenfehlertoleranz in einer kürzesten Maschinenzeit (vgl. (2) gemäß 4) zu ermöglichen.The present invention is intended to simulate machine and machine timing predictions for one or more sets of speed data and accuracy data, and to estimate machine processing accuracies (machine errors) and machine times for workpieces calculated according to given speed data and accuracy data (see (1) according to 4 ) and machine speeds (speed data) and machine conditions (accuracy data) are to be machine processed to machine workpieces with accuracies within a machine error tolerance in a shortest machine time (see (2) 4 ).

Gemäß der vorliegenden Erfindung beinhalten zu evaluierende Fehler simulierte Fehler von Servopositionen zu Befehlspositionen und von Befehlspositionen zu Servopositionen. Auf diese Weise können die Fehler genauer vorhergesagt werden.According to the present invention, errors to be evaluated include simulated errors from servo positions to instruction positions and from instruction positions to servo positions. In this way, the errors can be predicted more accurately.

Unter diesen Umständen können die vorhergesagten Maschinenfehler und -zeiten per Simulation vor der eigentlichen maschinellen Verarbeitung bestimmt werden, auf der Grundlage der Schätzung der Geschwindigkeitsdaten und Genauigkeitsdaten ((1) gemäß 4), so dass eine Produktionsplanung leichter getätigt werden kann. Des Weiteren kann ein Maschinenwerkzeug effizienter durch Minimieren der Maschinenzeit operiert werden, auf der Grundlage der Schätzung der Maschinengeschwindigkeiten (Geschwindigkeitsdaten) und der Maschinenbedingungen (Genauigkeitsdaten) ((2) gemäß 4). Folglich kann des Weiteren ein Effekt dahingehend erzielt werden, dass eine energiesparende maschinelle Verarbeitung erreicht werden kann.Under these circumstances, the predicted machine errors and times can be determined by simulation before the actual machining, based on the estimation of the speed data and accuracy data ((1) according to FIG 4 ), so that production planning can be made easier. Further, a machine tool can be operated more efficiently by minimizing the machine time, based on the estimation of the engine speeds (speed data) and the engine conditions (accuracy data) ((2) of FIG 4 ). Consequently, further, an effect can be obtained that energy-saving machining can be achieved.

Nachfolgend ist eine Beschreibung der Ausführungsbeispiele 1 bis 3 angegeben.Hereinafter, a description of the embodiments 1 to 3 is given.

[Ausführungsbeispiel 1][Embodiment 1]

5 zeigt ein Funktionsblockdiagramm einer numerischen Steuervorrichtung 1 gemäß der vorliegenden Erfindung, die eine Maschinenzeitvorhersageeinheit und eine Maschinenfehlervorhersageeinheit für ein Maschinenprogramm umfasst. 5 shows a functional block diagram of a numerical control device 1 according to the present invention, comprising a machine time prediction unit and a machine error prediction unit for a machine program.

Eine Programmanalyseeinheit 3 simuliert einen Programmanalysevorgang zum Lesen und Analysieren eines Maschinenprogramms 2 und zum Erstellen von Interpolationsdaten. Eine Interpolationseinheit 4 simuliert einen Interpolationsvorgang, so dass eine Interpolation gemäß den Interpolationsdaten durchgeführt wird, und Interpolationsdaten ΔPn erstellt werden, auf der Grundlage von Geschwindigkeitsdaten, die für Blöcke und Ecken zwischen Blöcken durch eine Präinterpolationsbeschleunigungs-/Abbremseinheit 5 erstellt wurden. Eine Postinterpolationsbeschleunigungs-/Abbremseinheit 7 simuliert einen Postinterpolationsbeschleunigungs-/Abbremsvorgang, so dass eine Postinterpolationsbeschleunigung/-abbremsung für die Interpolationsdaten ΔPn durchgeführt wird, und Servopositionsbefehlsdaten VCn durch Akkumulieren dieser Daten erstellt werden. Die Servopositionsbefehlsdaten VCn werden von der Postinterpolationsbeschleunigungs-/Abbremseinheit 7 einer Servosimulationseinheit 8 zugeführt, die Servopositionsdaten Qn (nachstehend einfach als die Servoposition Qn bezeichnet) als eine Simulation einer Ist-Servooperation auf der Grundlage der Servopositionsbefehlsdaten VCn erstellt. Eine Simulationseinheit umfasst die Programmanalyseeinheit, die Interpolationseinheit, die Postinterpolationsbeschleunigungs-/Abbremseinheit, die Servosimulationseinheit und eine (nachstehend beschriebene) Maschinenzeitvorhersageeinheit 6.A program analysis unit 3 simulates a program analysis process for reading and analyzing a machine program 2 and for creating interpolation data. An interpolation unit 4 simulates an interpolation process so that interpolation is performed according to the interpolation data, and interpolation data ΔP n is established based on velocity data for blocks and vertices between blocks by a pre-interpolation acceleration / deceleration unit 5 were created. A post interpolation acceleration / deceleration unit 7 simulates a post-interpolation acceleration / deceleration operation so that post-interpolation acceleration / deceleration is performed for the interpolation data ΔP n , and servo position command data VC n is created by accumulating these data. The servo position command data VC n are from the post-interpolation acceleration / deceleration unit 7 a servo simulation unit 8th supplied, the servo position data Q n (hereinafter simply referred to as the servo position Q n ) as a simulation of an actual servo operation based on the servo position command data VC n created. A simulation unit includes the program analysis unit, the interpolation unit, the post-interpolation acceleration / deceleration unit, the servo simulation unit, and a machine time prediction unit (described below) 6 ,

Die Servosimulationseinheit 8 zum Simulieren einer Servooperation wird nachstehend unter Bezugnahme auf 6 beschrieben werden.The servo simulation unit 8th for simulating a servo operation will be described below with reference to FIG 6 to be discribed.

Die Servopositionsbefehlsdaten VCn werden von der Postinterpolationsbeschleunigungs-/Abbremseinheit 7 in die Servosimulationseinheit 8 mit jeder Verarbeitungsspanne eingegeben. Die Servopositionsbefehlsdaten VCn, die in die Servosimulationseinheit 8 eingegeben sind, werden in eine Vorwärtssimulationseinheit 80 eingegeben. Die Vorwärtssimulationseinheit 80 differenziert die Servopositionsbefehlsdaten VCn und gibt das Ergebnis der Multiplikation mit einem Vorwärtskoeffizienten als ΔUn aus.The servo position command data VC n are from the post-interpolation acceleration / deceleration unit 7 in the servo simulation unit 8th entered with each processing span. The servo position command data VC n entering the servo simulation unit 8th are entered into a forward simulation unit 80 entered. The forward simulation unit 80 differentiates the servo position command data VC n and outputs the result of multiplication by a forward coefficient as ΔU n .

Die Differenz zwischen den Servopositionsbefehlsdaten VCn und einer Servoposition (Rückkopplungsdaten) Qn-1 für die nachfolgende Verarbeitungsspanne wird in eine Positionsschleifenzuwachssimulationseinheit 81 eingegeben. Die Simulationseinheit 81 gibt ΔRn aus, das durch Multiplizieren der Eingabedifferenz mit einem Positionsschleifenzuwachs erhalten wird. Dann wird die Summe aus ΔUn und ΔRn in eine Positionssimulationseinheit 82 eingegeben, und wird die Akkumulation der Summe als die Servoposition Qn erhalten.The difference between the servo position command data VC n and a servo position (feedback data) Q n-1 for the subsequent processing period becomes a position loop increment simulation unit 81 entered. The simulation unit 81 outputs ΔR n obtained by multiplying the input difference by a position loop gain. Then, the sum of ΔU n and ΔR n becomes a position simulation unit 82 is entered, and the accumulation of the sum is obtained as the servo position Q n .

Daten mit dem Index ”n” oder einem anderen Index ”m” (die nachstehend beschrieben sind) sind ein Vektor mit so vielen Dateneinträgen wie Vorschubachsen.Data with the index " n " or another index " m " (described below) is a vector with as many data entries as feed axes.

Die vorstehend beschriebenen Vorgänge werden unter Bezug auf verschiedene Maschinenzeit-/Maschinenfehlervorhersagedaten durchgeführt, wie Parameter, Makrovariablen, DI-Signale usw. In diesen Vorgängen werden des Weiteren Servooperation nicht tatsächlich durchgeführt, sondern werden alle simuliert.The operations described above are performed with reference to various machine time / machine error prediction data, such as parameters, macro variables, DI signals, etc. Further, in these operations, servo operation is not actually performed, but all are simulated.

Die Parameter, Makrovariablen, DI-Signale usw. der Maschinenzeit-/Maschinenfehlervorhersagedaten werden zusätzlich zu Maschinendaten der gleichen Art ausgebildet. In diesem Fall sind die DI-Signale deshalb Imaginärsignaldaten für eine Maschinenzeitvorhersage und eine Maschinenfehlervorhersage.The parameters, macro variables, DI signals, etc. of the machine time / machine error prediction data are formed in addition to machine data of the same kind. In this case, the DI signals are therefore imaginary signal data for machine time prediction and machine error prediction.

Wie vorstehend beschrieben, führt die Servosimulationseinheit 8 Simulationen einer Verzögerung auf der Grundlage des Positionsschleifenzuwachses und einer Servooperation auf der Grundlage einer Vorwärtsregelung durch. Somit wird die Servosimulationseinheit 8 zusätzlich zu einer Servoverarbeitungseinheit für die maschinelle Verarbeitung vorgesehen. Die Programmanalyseeinheit 3, die Interpolationseinheit 4, die Präinterpolationsbeschleunigungs-/Abbremseinheit 5 und die Postinterpolationsbeschleunigungs-/Abbremseinheit 7 können zusätzlich zu Verarbeitungseinheiten der gleichen Arten für die maschinelle Verarbeitung vorgesehen werden. Alternativ können die Verarbeitungseinheiten der gleichen Arten für die maschinelle Verarbeitung (Vordergrund) im Hintergrund verwendet werden. Der Aufbau der Servosimulationseinheit 8 gemäß 6 ist lediglich beispielhaft angegeben, und es kann eine Servosimulation durch eine Servosimulationseinheit eines anderen Aufbaus durchgeführt werden.As described above, the servo simulation unit performs 8th Simulations of a delay based on the position loop gain and a servo operation based on a feedforward control. Thus, the servo simulation unit becomes 8th in addition to a servo processing unit for machine processing. The program analysis unit 3 , the interpolation unit 4 , the pre-interpolation acceleration / deceleration unit 5 and the post-interpolation acceleration / deceleration unit 7 may be provided in addition to processing units of the same types for machine processing. Alternatively, the processing units of the same types of machine processing (foreground) may be used in the background. The structure of the servo simulation unit 8th according to 6 is merely exemplified, and a servo simulation may be performed by a servo simulation unit of another construction.

Simulationen für die Programmanalyseeinheit 3, die Interpolationseinheit 4, die Präinterpolationsbeschleunigungs-/Abbremseinheit 5 und die Postinterpolationsbeschleunigungs-/Abbremseinheit 7 werden durch ein herkömmliches Verfahren verarbeitet, das nicht ausführlich beschrieben werden wird. Es können jedoch die Verarbeitungsspannen für die Interpolationseinheit 4, die Präinterpolationsbeschleunigungs-/Abbremseinheit 5 und die Postinterpolationsbeschleunigungs-/Abbremseinheit 7 für die Simulation länger als jene für die maschinelle Verarbeitung sein. Selbst wenn die Verarbeitungsspannen der Interpolationseinheit, der Präinterpolationsbeschleunigungs-/Abbremseinheit und der Postinterpolationsbeschleunigungs-/Abbremseinheit für die maschinelle Verarbeitung zum Beispiel eine Millisekunde betragen, können jene für die Interpolationseinheit 4, die Präinterpolationsbeschleunigungs-/Abbremseinheit 5 und die Postinterpolationsbeschleunigungs-/Abbremseinheit 7 zur Maschinenzeitvorhersage und Maschinenfehlervorhersage für die Simulation als bis zu etwa 8 ms angenommen werden. Auf diese Weise kann die Maschinenzeitvorhersage und die Maschinenfehlervorhersage schneller durchgeführt werden. Dies gilt, da eine gröbere Berechnung für 8 ms als jene für 1 ms schnell für die Simulation durchgeführt werden kann.Simulations for the program analysis unit 3 , the interpolation unit 4 , the pre-interpolation acceleration / deceleration unit 5 and the post-interpolation acceleration / deceleration unit 7 are processed by a conventional method which will not be described in detail. However, the processing spans for the interpolation unit may be 4 , the pre-interpolation acceleration / deceleration unit 5 and the post-interpolation acceleration / deceleration unit 7 for the simulation to be longer than those for the machine processing. For example, even if the processing spans of the interpolation unit, the pre-interpolation acceleration / deceleration unit, and the post-interpolation acceleration / deceleration unit for machining are one millisecond, those for the interpolation unit 4 , the pre-interpolation acceleration / deceleration unit 5 and the post-interpolation acceleration / deceleration unit 7 for machine time prediction and machine error prediction for the simulation to be assumed to be up to about 8 ms. In this way, the machine time prediction and the machine error prediction can be performed faster. This is because a coarser calculation can be made for 8 ms than that for 1 ms fast for the simulation.

Die Maschinenzeitvorhersageeinheit 6 bestimmt eine vorhergesagte Maschinenzeit Te auf der Grundlage der Interpolationsdaten, die durch die Interpolationseinheit erstellt sind. Die Berechnung für die Maschinenzeitvorhersage kann zum Beispiel auf der Form der Interpolationsdaten basieren, oder es kann die Maschinenzeit durch Zählen der Anzahl von Interpolationen vorhergesagt werden. Im Fall von linearer Beschleunigung/Abbremsung ist zum Beispiel für die Interpolationsdatenform von jedem Block für die Berechnung derart, dass eine obere Grenze durch die Befehlsgeschwindigkeit des fraglichen Blocks und durch Beschleunigungen des fraglichen Blocks definiert ist, die durch die Präinterpolationsbeschleunigungs-/Abbremseinheit 5 erstellt sind, und werden durch durchgezogene Linien angegeben, wie in 7 gezeigt. Des Weiteren werden Geschwindigkeiten bei Mulden als Eckgeschwindigkeiten für den Block betrachtet, die durch die Präinterpolationsbeschleunigungs-/Abbremseinheit erstellt sind, und die Fläche als eine Befehlsblocklänge. Somit kann die vorhergesagte Maschinenzeit für den fraglichen Block berechnet werden.The machine time prediction unit 6 determines a predicted machine time Te based on the interpolation data created by the interpolation unit. For example, the calculation for the machine time prediction may be based on the form of the interpolation data, or the machine time may be predicted by counting the number of interpolations. In the case of linear acceleration / deceleration, for example, for the interpolation data shape of each block for the computation, an upper limit is defined by the command speed of the block in question and accelerations of the block in question by the pre-interpolation acceleration / deceleration unit 5 are created, and are indicated by solid lines, as in 7 shown. Further, trough speeds are regarded as corner speeds for the block created by the pre-interpolation acceleration / deceleration unit and the area as a command block length. Thus, the predicted machine time for the block in question can be calculated.

Im Einzelnen weisen alle Interpolationsdaten ΔPn eine rechteckige Form für jede Verarbeitungsspanne auf, wie in 8 gezeigt. Im Allgemeinen ist jedoch die Verarbeitungszeit des fraglichen Blocks hinreichend länger als die Verarbeitungsspanne, so dass 7 eine gesamte Form zeigt, die die einzelnen rechteckigen Formen umfasst, die miteinander verbunden sind. Die Vorhersage durch das Zählen der Anzahl von Interpolationen ist ein Verfahren, in dem die Maschinenzeit durch Multiplizieren der Frequenz (Anzahl von Interpolationsdaten ΔPn) der Erstellung der Interpolationsdaten ΔPn von der Interpolationseinheit 4 mit der Verarbeitungsspanne bestimmt wird. Alternativ kann die Maschinenzeit durch Multiplizieren der Zählanzahl der anderen Daten, die in der Simulationseinheit erstellt sind, wie die Servopositionsbefehlsdaten VCn, die durch die Postinterpolationsbeschleunigungs-/Abbremseinheit erstellt sind, die Servoposition Qn, die durch die Servosimulationseinheit erstellt ist usw., mit der Verarbeitungsspanne bestimmt werden. Da diese Verfahren zur Maschinenzeitvorhersage herkömmliche Technologien sind, werden sie nachstehend nicht ausführlich beschrieben werden.Specifically, all the interpolation data ΔP n have a rectangular shape for each processing span, as in FIG 8th shown. In general, however, the processing time of the block in question is sufficiently longer than the processing margin, so that 7 shows an entire shape that includes the individual rectangular shapes that are joined together. The prediction by counting the number of interpolations is a method in which the engine time is calculated by multiplying the frequency (number of interpolation data ΔP n ) by the generation of the interpolation data ΔP n from the interpolation unit 4 is determined with the processing margin. Alternatively, the engine time may be reported by multiplying the count number of the other data created in the simulation unit, such as the servo position command data VC n created by the post-interpolation acceleration / deceleration unit, the servo position Q n created by the servo simulation unit, and so forth the processing margin. Since these machine time prediction methods are conventional technologies, they will not be described in detail below.

Eine Maschinenfehlervorhersageeinheit 9 sagt, als einen Fehler, die Differenz zwischen einem Interpolationsweg auf der Grundlage der Interpolationsdaten ΔPn und einem Verzögerungsweg auf der Grundlage der Postinterpolationsbeschleunigung/-abbremsung und der Servooperationssimulation voraus. Wie vorstehend beschrieben, empfängt die Maschinenfehlervorhersageeinheit 9 die Servoposition Qn von der Servosimulationseinheit 8 und empfängt ebenso die Interpolationsdaten ΔPn als Ausgabedaten von der Interpolationseinheit 4. Die Maschinenfehlervorhersageeinheit 9 bestimmt eine Befehlsposition Pn = Pn – 1 + ΔPn durch Akkumulation. Auf diese Weise werden eine Befehlspositionspunktsequenz Pn und eine Servopositionspunktsequenz Qn erstellt. Die Punktsequenz Qn beinhaltet, um die Anzahl von Verarbeitungsspannen für die Verzögerung durch die Postinterpolationsbeschleunigungs-/Abbremsung und Servooperationssimulation, mehr Punkte als die Punktsequenz Pn. In der nachstehenden Beschreibung wird deshalb der alternative Index ”m” verwendet, um Qm (m = 0, 1, 2, ..., me) für Pn (n = 0, 1, 2, ..., ne) darzustellen. Die Symbole ne und me weisen die Anzahlen für die einzelnen finalen Punkte in den Punktsequenzen aus. Im Allgemeinen liegt eine Beziehung vor, in der gilt ne < me.A machine error prediction unit 9 , as an error, predicts the difference between an interpolation path based on the interpolation data ΔP n and a deceleration path based on the post-interpolation acceleration / deceleration and the servo operation simulation. As described above, the engine error predicting unit receives 9 the servo position Q n of the servo simulation unit 8th and also receives the interpolation data ΔP n as output data from the interpolation unit 4 , The machine error prediction unit 9 determines an instruction position P n = P n -1 + ΔP n by accumulation. In this way, a command position point sequence P n and a servo position point sequence Q n are created. The dot sequence Q n includes, by the number of processing intervals for the delay by the post interpolation acceleration / deceleration and servo operation simulation, more points than the dot sequence P n . In the following description, therefore, the alternative index " m " is used to obtain Q m (m = 0, 1, 2, ..., me) for P n (n = 0, 1, 2, ..., ne) display. The symbols ne and me show the numbers for the individual final points in the point sequences. In general, there is a relationship in which ne <me.

Die Verarbeitung der Maschinenfehlervorhersageeinheit 9 wird nachstehend unter Bezugnahme auf das Ablaufdiagramm gemäß 9 dargestellt werden.The processing of the machine error prediction unit 9 will be described below with reference to the flowchart according to 9 being represented.

[Schritt SA01] Es werden Bedingungen n = 0, m = 0, Maxep = 0 und Maxep = 0 angegeben.[Step SA01] Conditions n = 0, m = 0, maxep = 0, and maxep = 0 are specified.

[Schritt SA02] Die Punktsequenz Pn wird für (n – dn ≤ n ≤ + dn) gemäß einer Zahl dn ausgebildet, die zuvor gesetzt ist, um deren Bereich zu definieren. Wird ein Bereich (0 ≤ n ≤ ne) um (n – dn ≤ n ≤ + dn) überschritten, dann werden lediglich die Punktsequenzen innerhalb des Bereichs (0 ≤ n ≤ ne) bereitgestellt. In ähnlicher Weise wird die Punktsequenz Qm für (m – dm ≤ m ≤ m + dm) gemäß einer Zahl dm ausgebildet, die vorab abgesetzt ist, um deren Bereich zu definieren. Wird ein Bereich (0 ≤ m ≤ me) um (m – dm ≤ m ≤ m + dm) überschritten, dann werden lediglich die Punktsequenzen innerhalb des Bereichs (0 ≤ m ≤ ne) bereitgestellt.[Step SA02] The point sequence P n is formed for (n-dn ≦ n ≦ + dn) according to a number dn previously set to define its range. If a range (0 ≦ n ≦ ne) is exceeded by (n-dn ≦ n ≦ + dn), then only the dot sequences within the range (0 ≦ n ≦ ne) are provided. Similarly, the dot sequence Q m is formed for (m-dm ≦ m ≦ m + dm) according to a number dm that is pre-set to define its range. If a range (0 ≦ m ≦ me) is exceeded by (m-dm ≦ m ≦ m + dm), then only the dot sequences within the range (0 ≦ m ≦ ne) are provided.

[Schritt SA03] Es werden Fehlerberechnungen von einer spezifischen Befehlsposition Pn in der Befehlspositionspunktsequenz Pn zu der Punktsequenz Qm durchgeführt, um die Fehler Ep von der spezifischen Befehlsposition Pn zu der Punktsequenz Qm zu erhalten. Des Weiteren werden der Maximalwert Maxep des Fehlers Ep und m aktualisiert. Dieser Schritt wird nachstehend ausführlich und unter Bezugnahme auf das Ablaufdiagramm gemäß 11 beschrieben werden.[Step SA03] Error calculations are performed from a specific command position P n in the command position point sequence P n to the point sequence Q m to obtain the errors Ep from the specific command position P n to the point sequence Q m . Furthermore, the maximum value Maxep of the error Ep and m is updated. This step will be described in detail below with reference to the flowchart of FIG 11 to be discribed.

[Schritt SA04] Es werden Fehlerberechnungen von einer spezifischen Servoposition Qm in der Servopositionspunktsequenz Qm zu der Punktsequenz Pn durchgeführt, um die Fehler Eq von der spezifischen Servoposition Qm zu der Punktsequenz Pn zu erhalten. Des Weiteren werden der Maximalwert Maxeq des Fehlers Eq und n aktualisiert.[Step SA04] Error calculations are performed from a specific servo position Q m in the servo position point sequence Q m to the point sequence P n to obtain the errors Eq from the specific servo position Q m to the point sequence P n . Furthermore, the maximum value Maxeq of the error Eq and n is updated.

[Schritt SA05] Es wird bestimmt, ob n = ne und m = me erreicht werden oder nicht. Lautet die Entscheidung Nein, dann kehrt das Programm zu Schritt SA02 zurück. Lautet die Entscheidung Ja, dann geht das Programm zu Schritt SA06 über.[Step SA05] It is determined whether or not n = ne and m = me are reached. If the decision is No, then the program returns to step SA02. If the decision is yes, the program proceeds to step SA06.

[Schritt SA06] Der Maximalwert Maxep oder Maxeq, welcher auch immer der größere ist, wird als ein vorhergesagter Maschinenfehler Ee zwischen der Befehlspositionspunktsequenz Pn und der Servopositionspunktsequenz Qm bestimmt, woraufhin die Verarbeitung endet.[Step SA06] The maximum value Maxep or Maxeq, whichever is larger, is determined as a predicted machine error Ee between the command position point sequence P n and the servo position point sequence Q m , whereupon the processing ends.

Im Einzelnen werden hinsichtlich der Befehlspositionspunktsequenz Pn und der Servopositionspunktsequenz Qm die Fehler Ep von der spezifischen Befehlsposition Pn zu der Punktsequenz Qm und der Fehler Eq von der spezifischen Servoposition Qm zu der Punktsequenz Pn für die Bereiche (n – dn ≤ n ≤ + dn) und (m – dm ≤ m ≤ m + dm) berechnet. Die Zahlen n und m werden aktualisiert, wenn diese Berechnung durchgeführt wird. Der Maximalwert Maxep (= Max(Ep)) des Fehlers Ep und der Maximalwert Maxeq (= Max (Eq)) des Fehlers Eq werden erhalten, und der Maximalwert Maxep oder Maxeq, welcher auch immer der größere ist, wird als der vorhergesagte Maschinenfehler Ee (= Max (Maxep, Maxeq)) zwischen der Befehlspositionspunktsequenz Pn und der Servopositionspunktsequenz Qm bestimmt. Somit stellt Max(Ep) das Maximum einer Vielzahl von Fehlern Ep dar, stellt Max (Eq) das Maximum einer Vielzahl von Fehlern Eq dar, und stellt Max (Maxep, Maxeq) den größeren der Maximalwerte Maxep und Maxeq dar, wie in 10 gezeigt.More specifically, regarding the command position point sequence P n and the servo position point sequence Q m, the errors Ep from the specific command position P n to the point sequence Q m and the error Eq from the specific servo position Q m to the point sequence P n for the regions (n-dn ≦ n ≤ + dn) and (m-dm ≦ m ≦ m + dm). The numbers n and m are updated when this calculation is performed. The maximum value Maxep (= Max (Ep)) of the error Ep and the maximum value Maxeq (= Max (Eq)) of the error Eq are obtained, and the maximum value Maxep or Maxeq, whichever is larger, becomes the predicted machine error Ee (= Max (Maxep, Maxeq)) between the command position point sequence P n and the servo position point sequence Q m . Thus, Max (Ep) represents the maximum of a plurality of errors Ep, Max (Eq) represents the maximum of a plurality of errors Eq, and Max (Maxep, Maxeq) represents the larger of the maximum values Maxep and Maxeq, as in 10 shown.

In Schritt SA03 werden Fehlerberechnungen von einer spezifischen Befehlsposition Pn zu der Punktsequenz Qm durchgeführt, und wird der Maximalwert Maxep des Fehlers Ep erstellt. In ähnlicher Weise werden in Schritt SA04 Fehlerberechnungen von einer spezifischen Servoposition Qm zu der Punktsequenz Pn durchgeführt, und wird der Maximalwert Maxeq des Fehlers Eq erstellt. Lediglich einer der Schritte SA03 oder SA04 wird womöglich durchgeführt, anstelle der Ausführung beider dieser Schritte.In step SA03, error calculations are performed from a specific command position P n to the point sequence Q m , and the maximum value Maxep of the error Ep is established. Similarly, in step SA04, error calculations are performed from a specific servo position Q m to the point sequence P n , and the maximum value Maxeq of the error Eq is established. Only one of steps SA03 or SA04 may be performed instead of performing both of these steps.

In der vorstehend beschriebenen Technik, die in der japanischen Patentanmeldungsoffenbarung Nr. 2011-60016 offenbart ist, wird lediglich die Berechnung entsprechend Schritt SA04 durchgeführt. Wie zuvor beschrieben, ist jedoch darauf hinzuweisen, dass in dem Fall der Patentdruckschrift die Berechnung für die Ist-Position durchgeführt wird, die durch tatsächliches Operieren einer Antriebswelle (Servo) erhalten wird, wohingegen im Fall der vorliegenden Erfindung die Berechnung für die Position per Simulation durchgeführt wird.In the technique described above, described in the Japanese Patent Application Disclosure No. 2011-60016 is disclosed, only the calculation corresponding to step SA04 is performed. However, as described above, it should be noted that in the case of the patent document, the calculation is performed for the actual position obtained by actually operating a drive shaft (servo), whereas in the case of the present invention, the calculation for the position is by simulation is carried out.

Vorstehend wurde beschrieben, dass ein Fehler berechnet wird, nachdem die vollendete Befehlspositionspunktsequenz Pn (n = 0, 1, 2, ..., ne) und die Servopositionspunktsequenz Qm (m = 0, 1, 2, ..., me) erstellt sind. Alternativ kann jedoch eine ähnliche Berechnung durchgeführt werden durch Erhalten der notwendigen Befehlsposition Pn (n – dn ≤ n ≤ + dn) und der Servoposition Qm (m – dm ≤ m ≤ m + dm), während das Maschinenprogramm blockweise nach Bedarf gelesen wird. In diesem Fall müssen die gesamten Punktsequenzen Pn und Qm nicht vorab erstellt werden, so dass die Speicherkapazität eingespart werden kann.It has been described above that an error is calculated after the completed command position point sequence P n (n = 0, 1, 2, ..., ne) and the servo position point sequence Q m (m = 0, 1, 2,..., Me ) are created. Alternatively, however, a similar calculation can be performed by obtaining the necessary command position P n (n - dn ≤ n ≤ + dn) and the servo position Q m (m - dm ≤ m ≤ m + dm), while the machine program block by block is read as required , In this case, the entire point sequences P n and Q m need not be prepared in advance, so that the memory capacity can be saved.

Die Befehlsposition Pn, die spezifische Befehlsposition Pn, die Befehlspositionspunktsequenz Pn und die Punktsequenz Pn, die alle durch das Symbol Pn ausgewiesen sind, sind Ausdrücke, die leicht verschiedene Bedeutungen aufweisen. Die Befehlsposition Pn stellt eine einzelne Befehlsposition dar. Die spezifische Befehlsposition Pn stellt eine spezifische oder merkliche Befehlsposition dar. Die Befehlspositionspunktsequenz Pn und die Punktsequenz Pn stellen beide eine Befehlspunktsequenz Pn dar, die eine Vielzahl von Befehlspositionen beinhaltet. Dies trifft ebenso auf den Fall von Qm zu.The command position P n, the specific command position P n, the position command point sequence P n and P n point sequence, all of which are indicated by the symbol P n, are expressions that have slightly different meanings. The command position P n represents a single command position. The specific command position P n represents a specific or noticeable command position. The command position point sequence P n and both the point sequence P n represent a command point sequence P n represents that includes a plurality of command positions. This also applies to the case of Q m .

Schritt SA03 in dem Ablaufdiagramm gemäß 9 wird nachstehend unter Bezugnahme auf das Ablaufdiagramm gemäß 11 beschrieben werden.Step SA03 in the flowchart of FIG 9 will be described below with reference to the flowchart according to 11 to be discribed.

[Schritt SB01] Initialwerte von i, im und EP werden als i = m – dm, im = i und EP = |Pn – Qi| gesetzt. Hinsichtlich des Werts i ist allgemein i = m – dm angegeben, wird aber der Bereich von (0 ≤ m ≤ me) um (m – dm ≤ m ≤ + dm) für Qm überschritten, wie vorstehend in Verbindung mit der Beschreibung von Schritt SA02 in dem Ablaufdiagramm gemäß 9 beschrieben, dann wird jedoch i auf den kleinsten Wert innerhalb des Bereichs gesetzt, in dem (m – dm ≤ m ≤ + dm) und (0 ≤ m ≤ me) einander überlappen.[Step SB01] Initial values of i, im and EP are written as i = m-dm, im = i and EP = | P n -Q i | set. With respect to the value i, i = m-dm is generally indicated, but the range of (0 ≤ m ≤ me) is exceeded by (m-dm ≤ m ≤ + dm) for Q m as described above in connection with the description of step SA02 in the flowchart of FIG 9 however, i is set to the smallest value within the range in which (m-dm ≦ m ≦ + dm) and (0 ≦ m ≦ me) overlap each other.

[Schritt SB02] Eine Länge |Pn – Qi+1| zwischen Pn und Qi+1 wird berechnet. Ist |Pn – Qi+1| kleiner als Ep, dann werden Ep = |Pn – Qi+1| und im = i + 1 gesetzt, und wird dann der Wert i + 1 gespeichert.[Step SB02] A length | P n - Q i + 1 | between P n and Q i + 1 is calculated. Is | P n - Q i + 1 | less than Ep, then Ep = | P n - Q i + 1 | and im = i + 1, and then the value i + 1 is stored.

[Schritt SB03] Ein Liniensegment Lq, das Qi und Qi+1 verbindet, wird erstellt.[Step SB03] A line segment Lq connecting Q i and Q i + 1 is created.

[Schritt SB04] Es wird bestimmt, ob eine lotrechte Linie von Pn zu dem Liniensegment Lq gezeichnet werden kann oder nicht. Kann die lotrechte Linie nicht gezeichnet werden, dann geht das Programm zu Schritt SB07 über. Kann die lotrechte Linie gezeichnet werden, dann geht das Programm zu Schritt SB05 über.[Step SB04] It is determined whether or not a perpendicular line from P n to the line segment Lq can be drawn. If the vertical line can not be drawn, the program proceeds to step SB07. If the vertical line can be drawn, the program proceeds to step SB05.

[Schritt SB05] Eine Länge Lper der lotrechten Linie, die von Pn zu dem Liniensegment Lq gezeichnet ist, wird berechnet.[Step SB05] A length Lper of the vertical line drawn from P n to the line segment Lq is calculated.

[Schritt SB06] Ist Lper kleiner als Ep, dann werden Ep = Lper und im = i + 1 gesetzt, und wird dann der Wert i +1 gespeichert.[Step SB06] If Lper is smaller than Ep, then Ep = Lper and im = i + 1 are set, and then the value i + 1 is stored.

[Schritt SB07] Es wird bestimmt, ob i = m + dm – 1 erreicht wird oder nicht. Lautet die Entscheidung Ja, dann geht das Programm zu Schritt SB09 über. Lautet die Entscheidung Nein, dann kehrt das Programm zu Schritt SB08 zurück. Hier wird allgemein bestimmt, ob i = m + dm – 1 erreicht wird, oder nicht. Wird der Bereich (0 ≤ m ≤ me) um (m – dm ≤ m ≤ + dm) für Qm überschritten, wie vorstehend in Verbindung mit der Beschreibung von Schritt SA02 in dem Ablaufdiagramm gemäß 9 beschrieben, dann wird jedoch bestimmt, ob i gleich einem Wert ist oder nicht, der um eins kleiner als der größte Wert innerhalb des Bereichs ist, in dem (m – dm ≤ m ≤ + dm) und (0 ≤ m ≤ me) einander überlappen. Folglich kann die kürzere der lotrechten Linien, die von Pn zu Liniensegmenten gezeichnet ist, die benachbarte Punkte in der Punktsequenz Qm (m – dm ≤ m ≤ + dm) verbinden, als Ep erhalten werden. Somit wird, wie in 12 gezeigt, der Wert Ep als ein Fehler zwischen dem Wert Pn und der Punktsequenz Qm (m – dm ≤ m ≤ + dm) gesetzt.[Step SB07] It is determined whether or not i = m + dm-1 is reached. If the decision is yes, the program proceeds to step SB09. If the decision is No, then the program returns to step SB08. Here, it is generally determined whether or not i = m + dm-1 is achieved. When the range (0 ≦ m ≦ me) is exceeded by (m-dm ≦ m ≦ + dm) for Q m as described above in connection with the description of step SA02 in the flowchart of FIG 9 however, it is determined whether or not i is equal to or smaller than the largest value within one range by one (m - dm ≦ m ≦ + dm) and (0 ≤ m ≤ me) overlap each other. Thus, the shorter one of the vertical lines drawn from P n to line segments connecting adjacent points in the point sequence Q m (m-dm ≦ m ≦ + dm) can be obtained as Ep. Thus, as in 12 The value Ep is set as an error between the value P n and the point sequence Q m (m-dm ≦ m ≦ + dm).

[Schritt SB08] Es wird 1 zu i addiert, um i zu aktualisieren, woraufhin das Programm zu Schritt SB02 zurückkehrt und die Verarbeitung fortgesetzt wird.[Step SB08] 1 is added to i to update i, whereupon the program returns to step SB02 and the processing is continued.

[Schritt SB09] Ist Ep größer als Maxep, dann wird Maxep = Ep gesetzt, wodurch der Maximalwert Maxep von Ep aktualisiert wird.[Step SB09] If Ep is larger than Maxep, then Maxep = Ep is set, updating the maximum value Maxep of Ep.

[Schritt SB10] Ist im größer als m, dann wird m = im gesetzt. Ist im nicht größer als m, dann wird m = m + 1 gesetzt, um m zu aktualisieren. Überschreitet m den Maximalwert me, dann wird m jedoch als gleich zu me angesehen, woraufhin die Verarbeitung endet.[Step SB10] If greater than m, then m = im is set. If not greater than m, then m = m + 1 is set to update m. However, if m exceeds the maximum value me, m is regarded as equal to me, whereupon the processing ends.

Die vorhegesagte Maschinenzeit Te, während derer das Werkstück maschinell verarbeitet werden wird, und der vorhergesagte Maschinenfehler Ee, der verursacht wird, wenn das Werkstück maschinell verarbeitet werden wird, können bestimmt werden, falls das Maschinenprogramm durch Ausgeben der Genauigkeitsdaten und Geschwindigkeitsdaten ausgewiesen und ausgeführt wird, die in Verbindung mit der Maschinenbedingungsauswahlfunktion (vgl. 2) beschrieben sind, zu der numerischen Steuervorrichtung gemäß 5, die die Maschinenzeitvorhersageeinheit 6 und die Maschinenfehlervorhersageeinheit 9 umfasst. Die Geschwindigkeitsdaten können durch verschiedene Verfahren ausgegeben werden, zum Beispiel durch Anwenden eines Außerkraftsetzens als ein DI-Signal, ein Anwenden der parametergesetzten Geschwindigkeit auf der Grundlage eines Parameters, oder durch Ändern des F-Befehls in dem Programm in einen modifizierten Geschwindigkeitsbefehl.The predicted machine time Te during which the workpiece will be machined and the predicted machine error Ee that will be caused when the workpiece is machined may be determined if the machine program is identified and executed by outputting the accuracy data and speed data; which in conjunction with the machine condition selection function (cf. 2 ) are described to the numerical control device according to 5 indicating the machine time prediction unit 6 and the engine error prediction unit 9 includes. The speed data may be output by various methods, for example, by applying an override as a DI signal, applying the parameter set speed based on a parameter, or by changing the F command in the program to a modified speed command.

Es sei zu verstehen, dass lediglich ein Teil des Maschinenprogramms als ein Objekt der Maschinenzeitvorhersage und der Maschinenfehlervorhersage betrachtet werden kann. Zum Beispiel kann lediglich ein Betriebsartteil eines Schnittbefehls (G01, G02, G03, usw.) als ein vorherzusagendes Objekt verwendet werden. Alternativ kann lediglich ein Block des Maschinenprogramms, der durch ein bestimmtes Werkzeug zu schneiden ist, oder lediglich ein bestimmter Prozessteil als ein vorherzusagendes Objekt verwendet werden.It should be understood that only a portion of the machine program may be considered to be an object of machine time prediction and machine error prediction. For example, only a mode part of a slice command (G01, G02, G03, etc.) may be used as an object to be predicted. Alternatively, only a block of the machine program to be cut by a particular tool or only a specific process part may be used as an object to be predicted.

13 zeigt ein Beispiel, in dem die vorhergesagte Maschinenzeit Te und der vorhergesagte Maschinenfehler Ee mit den Präzisionsdaten bei 9 und den Geschwindigkeitsdaten (Außerkraftsetzen) bei 50% erhalten wird. Die vorhergesagte Maschinenzeit Te (Minuten) bzw. der vorhergesagte Maschinenfehler Ee (mm) werden in die oberen bzw. unteren Spalten eingetragen. Anhand der Präzisionsdaten und der Geschwindigkeitsdaten (Außerkraftsetzen), die auf diese Weise ausgewiesen sind, können die vorhergesagte Maschinenzeit und der vorhergesagte Maschinenfehler gleichzeitig per Simulation bestimmt werden. 13 FIG. 15 shows an example in which the predicted engine time Te and the predicted engine failure Ee are obtained with the precision data at 9 and the speed data (override) at 50%. The predicted machine time Te (minutes) or the predicted machine error Ee (mm) are entered in the upper and lower columns, respectively. Based on the precision data and the speed data (override) thus designated, the predicted machine time and the predicted machine error can be simultaneously determined by simulation.

[Ausführungsbeispiel 2][Embodiment 2]

Im Ausführungsbeispiel 2 werden Bedingungen für die kürzeste Maschinenzeit innerhalb der Maschinenfehlertoleranz bestimmt.In Embodiment 2, conditions for the shortest machine time within the machine error tolerance are determined.

Eine in 14 gezeigte Tabelle wird aus vorhergesagten Maschinenzeiten Te und vorhergesagten Maschinenfehlern Ee erstellt, die auf der Grundlage einiger der umgewandelten Genauigkeitsdaten und Geschwindigkeitsdaten bestimmt sind.An in 14 The table shown is made up of predicted machine times Te and predicted machine errors Ee determined based on some of the converted accuracy data and speed data.

In diesem Fall werden parametergesetzte Geschwindigkeiten als die Geschwindigkeitsdaten angegeben. 14 zeigt vorhergesagte Maschinenzeiten und vorhergesagte Maschinenfehler, die durch jene Daten in fünf umrandeten Bereichen dargestellt sind, d. h. (Präzisionsdaten: 1, Geschwindigkeitsdaten: 1.000 mm/min), (Vorhersagedaten 10, Geschwindigkeitsdaten 1.000 mm/min), (Genauigkeitsdaten: 5, Geschwindigkeitsdaten: 2.000 mm/min), (Genauigkeitsdaten: 1, Geschwindigkeitsdaten: 3.000 mm/min) und (Genauigkeitsdaten: 10, Geschwindigkeitsdaten: 3.000 mm/min). Die vorhergesagte Maschinenzeit Te (Minuten) und der vorhergesagte Maschinenfehler Ee (mm) werden jeweils in die oberen und unteren Spalten von jedem umrandeten Bereich eingetragen. Daten in den anderen Bereichen werden durch Interpolieren der umrandeten Daten durch proportionale Verteilung erhalten. Natürlich können Daten in einigen Bereichen, die sich von den fünf umrandeten Bereichen unterscheiden, oder in allen Bereichen simuliert werden.In this case, parameter-set speeds are given as the velocity data. 14 shows predicted machine times and predicted machine errors represented by those data in five rimmed areas, ie (precision data: 1, speed data: 1,000 mm / min), (prediction data 10, speed data 1,000 mm / min), (accuracy data: 5, speed data: 2,000 mm / min), (Accuracy data: 1, Velocity data: 3,000 mm / min) and (Accuracy data: 10, Velocity data: 3,000 mm / min). The predicted machine time Te (minutes) and the predicted machine error Ee (mm) are respectively plotted in the upper and lower columns of each framed area. Data in the other areas is obtained by interpolating the bordered data by proportional distribution. Of course, data can be simulated in some areas that are different from the five outlined areas, or in all areas.

Beträgt die voreingestellte Maschinenfehlertoleranz 0,05 mm, dann werden Daten in gestrichenen Bereichen ausgeschlossen, da sie die Toleranz überschreiten. Somit können Daten für die kürzeste vorhergesagte Maschinenzeit innerhalb der Maschinenfehlertoleranz leicht bestimmt werden als (Genauigkeitsdaten: 9, Geschwindigkeitsdaten: 3.000 mm/min).If the default machine error tolerance is 0.05 mm then data in painted areas will be excluded as they exceed the tolerance. Thus, data for the shortest predicted machine time within the machine error tolerance can be easily determined as (accuracy data: 9, speed data: 3,000 mm / min).

[Ausführungsbeispiel 3][Embodiment 3]

In dem Fall einer Mehrachsenmaschine mit Drehachsen (X-, Y-, Z-, B- und C-Achsen) in einem Werkzeugkopf und -tischen, kann eine Maschinenfehlervorhersageeinheit 9 eine dreidimensionale Befehlspositionspunktsequenz Pn' (PXn', PYn', PZn') und eine dreidimensionale Servopositionspunktsequenz Qm' (QXm', QYm', QZm') einer Werkzeugmittelpunktsposition bestimmen, auf der Grundlage von Befehlspositionspunktsequenzen Pn (PXn, PYn, PZn, PBn, PCn) und von Servopositionspunktsequenz Qm (QXm, QYm, QZm, QBm, QCm) und einer Werkzeuglänge, und einen Maschinenfehler durch Verwalten der bestimmten Befehlspositionspunktsequenzen und Servopositionspunktsequenzen auf die gleiche Art und Weise vorhersagen, wie die Befehlspositionspunktsequenzen und Servopositionspunktsequenzen gemäß dem ersten oder zweiten Ausführungsbeispiel.In the case of a multi-axis machine having axes of rotation (X, Y, Z, B, and C axes) in a tool head and tables, a machine error prediction unit 9 a three-dimensional command position sequence P n '(P Xn ', P Yn ', P Zn ') and determine a three-dimensional servo position point sequence Q m '(Q Xm ', Q Ym ', Q Zm ') of a tool center point position based on instruction position point sequences P n (P Xn , P Yn , P Zn , P Bn , P Cn ) and servo position point sequence Q m (Q Xm , Q Ym , Q Zm , Q Bm , Q Cm ) and a tool length, and predict a machine error by managing the particular instruction position point sequences and servo position point sequences in the same manner as the instruction position point sequences and servo position point sequences according to the first or second embodiment.

Obwohl die Indizes B und C zur Darstellung von Positionen der angenommen B- und C-Achsen der Mehrachsenmaschine verwendet werden, kann die Maschine andere Drehachsen aufweisen, A- und B-Achsen oder A- und C-Achsen. Des Weiteren beinhalten Mehrachsenmaschinen eine Fünfachsenmaschine mit einem drehbaren Werkzeugkopf, eine Mehrachsenmaschine mit einem drehbaren Tisch und eine Fünfachsenmaschine vom Mischtyp (mit einem drehbaren Werkzeugkopf und einem drehbaren Tisch). In jeder dieser Maschinen wird die Werkzeugmittelpunktsposition durch die dreidimensionalen Befehlspositionspunktsequenzen Pn' (PXn', PYn', PZn') und die dreidimensionalen Servopositionspunktsequenzen Qm' (QXm', QYm', QZm') einer Werkzeugmittelpunktsposition in einem Koordinatensystem eines Tisches angegeben, auf dem ein maschinell zu verarbeitendes Werkstück platziert ist. In dem Fall der Mehrachsenmaschine mit einem drehbaren Tisch ist das Koordinatensystem eines Tisches, auf dem ein maschinell zu verarbeitendes Werkstück platziert ist, ein Koordinatensystem, das sich auf und zusammen mit dem drehenden Tisch dreht.Although indices B and C are used to represent positions of the assumed B and C axes of the multi-axis machine, the machine may have other axes of rotation, A and B axes or A and C axes. Furthermore, multi-axis machines include a five-axis machine with a rotatable tool head, a multi-axis machine with a rotatable table, and a five-axis machine of the compound type (with a rotatable tool head and a rotatable table). In each of these machines, the tool center point position is determined by the three-dimensional command position point sequences P n '(P Xn ', P Yn ', P Zn ') and the three-dimensional servo position point sequences Q m '(Q Xm ', Q Ym ', Q Zm ') of a tool center point position a coordinate system of a table indicated on which a machined workpiece is placed. In the case of the multi-axis machine with a rotatable table, the coordinate system of a table on which a workpiece to be machined is placed is a coordinate system rotating on and together with the rotating table.

15 zeigt eine schematische Ansicht eines Werkzeugkopfabschnitts einer Fünfachsenmaschine mit einem drehbaren Werkzeugkopf, und 16 zeigt ein Diagramm, das Beziehungen zwischen Pn und Qm und zwischen Pn' und Qm' in der Fünfachsenmaschine beschreibt. 15 shows a schematic view of a tool head portion of a five-axis machine with a rotatable tool head, and 16 shows a diagram describing relationships between P n and Q m and between P n 'and Q m ' in the five-axis machine.

17 zeigt eine Blockdarstellung, die einen Aufbau eines Ausführungsbeispiels einer numerischen Steuervorrichtung schematisch beschreibt, die die Maschinenzeitvorhersageeinheit und die Maschinenfehlervorhersageeinheit umfasst, gemäß der vorliegenden Erfindung. 17 FIG. 12 is a block diagram schematically describing a structure of an embodiment of a numerical control apparatus including the machine time prediction unit and the machine error prediction unit according to the present invention. FIG.

Die numerische Steuervorrichtung 1 weist die Maschinenbedingungsauswahlfunktion auf, die unter Bezugnahme auf 2 beschrieben ist. Eine CPU 111 zur Verwendung als ein Prozessor steuert die gesamte numerische Steuervorrichtung 1 gemäß einem Systemprogramm, das in einem ROM 112 gespeichert ist. Ein RAM 113 ist mit verschiedenen Daten oder Eingabe- oder Ausgabesignalen geladen. Verschiedene Daten, die in einem nicht-flüchtigen Speicher 114 gespeichert sind, werden in ihrem aktuellen Zustand gespeichert, selbst nach einer Stromabschaltung. Eine Grafiksteuerschaltung 115 wandelt digitale Signale um, um Signale anzuzeigen, und führt diese einer Anzeigevorrichtung 116 zu. Eine Tastatur 117 ist eine Einrichtung mit numerischen Tasten und Zeichentasten zum Eingeben von verschieden Setzdaten.The numerical control device 1 has the machine condition selection function described with reference to FIG 2 is described. A CPU 111 for use as a processor controls the entire numerical control device 1 according to a system program stored in a ROM 112 is stored. A RAM 113 is loaded with various data or input or output signals. Different data stored in a non-volatile memory 114 are stored in their current state, even after a power cut. A graphics control circuit 115 converts digital signals to display signals and feeds them to a display device 116 to. A keyboard 117 is a device with numeric keys and character keys for entering various setting data.

Eine Achsensteuerschaltung 118 empfängt Bewegungsbefehle für die einzelnen Achsen von der CPU 111 und gibt diese zu einem Servoverstärker 119 aus. Bei Empfang der Bewegungsbefehle steuert der Verstärker 119 (nicht gezeigte) Servomotoren eines Maschinenwerkzeugs 20 an. Diese bildenden Elemente sind miteinander durch einen Bus 121 verbunden. Eine programmierbare Maschinensteuereinrichtung (PMC, programmable machine controller) 122 empfängt ein T-Funktionssignal (Werkzeugauswahlbefehl) und dergleichen durch den Bus 121 während der Ausführung des Maschinenprogramms. Dann verarbeitet die PMC 122 dieses Signal gemäß einem Sequenzprogramm und gibt dieses als einen Operationsbefehl aus, wodurch das Maschinenwerkzeug 20 gesteuert wird. Bei Empfang eines Zustandssignals von dem Maschinenwerkzeug 20 transferiert die PMC 122 des Weiteren ein erforderliches Eingabesignal zu der CPU 111. Des Weiteren ist der Bus 121 mit einer Softwaretaste 123 verbunden, deren Funktion sich gemäß dem Systemprogramm oder dergleichen ändert, und mit einer Schnittstelle 124, durch die NC-Daten zu einer externen Vorrichtung zugeführt werden, wie einer Speichervorrichtung. Die Softwaretaste 123, zusammen mit der Anzeigevorrichtung 116 und der Tastatur 117, ist auf einem Anzeige-/manuellem Dateneingabe-(MDI)-Paneel 125 angelegt.An axis control circuit 118 receives motion commands for each axis from the CPU 111 and gives this to a servo amplifier 119 out. Upon receipt of the motion commands, the amplifier controls 119 Servo motors of a machine tool (not shown) 20 at. These constituent elements are connected to each other by a bus 121 connected. A programmable machine controller (PMC) 122 receives a T-function signal (tool selection command) and the like through the bus 121 during the execution of the machine program. Then the PMC processes 122 this signal according to a sequence program and outputs this as an operation command, whereby the machine tool 20 is controlled. Upon receipt of a status signal from the machine tool 20 transfers the PMC 122 Furthermore, a required input signal to the CPU 111 , Furthermore, the bus 121 with a software key 123 whose function changes according to the system program or the like, and an interface 124 by which NC data is supplied to an external device, such as a memory device. The software button 123 , together with the display device 116 and the keyboard 117 , is on a display / manual data entry (MDI) panel 125 created.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • JP 2004-227028 [0004] JP 2004-227028 [0004]
  • JP 2006-301440 [0004] JP 2006-301440 [0004]
  • JP 58-35607 [0005] JP 58-35607 [0005]
  • US 4543625 [0005] US 4543625 [0005]
  • JP 2011-60016 [0006, 0070] JP 2011-60016 [0006, 0070]

Claims (7)

Numerische Steuervorrichtung zum ansteuernden Steuern eines Maschinenwerkzeugs, das ein Werkstück maschinell verarbeitet, auf der Grundlage eines Maschinenprogramms, wobei die numerische Steuervorrichtung umfasst: eine Ausweisungseinheit zum Ausweisen von Geschwindigkeitsdaten zum Angeben einer Maschinengeschwindigkeit und von Genauigkeitsdaten zum Angeben einer Maschinengenauigkeit; eine Simulationseinheit, die eine Befehlspositionspunktsequenz und eine Servopositionspunktsequenz für jede Verarbeitungsspanne durch Simulieren eines Programmanalysevorgangs, eines Interpolationsvorgangs, eines Postinterpolationsbeschleunigungs-/Abbremsvorgangs und einer Servooperation unter Verwendung der Geschwindigkeitsdaten und der Genauigkeitsdaten bestimmt, die für das Maschinenprogramm durch die Ausweisungseinheit ausgewiesen sind; eine Maschinenzeitvorhersageeinheit, die eine vorhergesagte Maschinenzeit bestimmt, während derer das Werkstück maschinell verarbeitet werden wird, in der Simulationseinheit; und eine Maschinenfehlervorhersageeinheit, die einen vorhergesagten Maschinenfehler bestimmt, der verursacht wird, wenn das Werkstück maschinell verarbeitet werden wird, unter Verwendung der Befehlspositionspunktsequenz und der Servopositionspunktsequenz, die durch die Simulationseinheit bestimmt sind.A numerical control apparatus for drivingly controlling a machine tool that machines a workpiece based on a machine program, the numerical control apparatus comprising: an expelling unit for displaying speed data for indicating an engine speed and accuracy data for indicating an engine accuracy; a simulation unit that determines an instruction position point sequence and a servo position point sequence for each processing span by simulating a program analysis operation, an interpolation operation, a post interpolation acceleration / deceleration operation, and a servo operation using the speed data and the accuracy data designated for the engine program by the designation unit; a machine time prediction unit that determines a predicted machine time during which the workpiece will be machined, in the simulation unit; and a machine error predicting unit that determines a predicted machine error caused when the workpiece will be machined using the command position point sequence and the servo position point sequence determined by the simulation unit. Numerische Steuervorrichtung gemäß Anspruch 1, wobei die Maschinenfehlervorhersageeinheit die Befehlspositionspunktsequenz und die Servopositionspunktsequenz für jede Verarbeitungsspanne der Simulation durch die Simulationseinheit erlangt, ein Abstand von einer spezifischen Befehlsposition in der Befehlspositionspunktsequenz zu der Servopositionspunktsequenz oder einer lotrechten Linie, die von der spezifischen Befehlsposition zu einem Liniensegment gezeichnet ist, das benachbarte Punkte in jeder Servoposition verbindet, welcher auch immer kürzer ist, als ein Fehler in der spezifischen Befehlsposition bestimmt wird, und der größte der Fehler in den Befehlspositionen als ein Fehler zwischen der Befehlspositionspunktsequenz und der Servopositionspunktsequenz bestimmt wird.A numerical control apparatus according to claim 1, wherein the engine error prediction unit obtains the command position sequence and the servo position sequence for each processing period of the simulation by the simulation unit, a distance from a specific command position in the command position point sequence to the servo position point sequence or a perpendicular line drawn from the specific command position to a line segment connecting adjacent points in each servo position whichever is shorter than an error in the specific command position will, and the largest of the errors in the command positions is determined as an error between the command position sequence and the servo position sequence. Numerische Steuervorrichtung gemäß Anspruch 1, wobei die Maschinenfehlervorhersageeinheit die Befehlspositionspunktsequenz und die Servopositionspunktsequenz für jede Verarbeitungsspanne der Simulation durch die Simulationseinheit erlangt, ein Abstand von einer spezifischen Servoposition in der Servopositionspunktsequenz zu der Befehlspositionspunktsequenz oder einer lotrechten Linie, die von der spezifischen Servoposition zu einem Liniensegment gezeichnet ist, das benachbarte Punkte in jeder Befehlsposition verbindet, welcher auch immer die kürzere ist, als ein Fehler in der spezifischen Servoposition bestimmt wird, und der größte der Fehler in den Servopositionen als ein Fehler zwischen der Befehlspositionspunktsequenz und der Servopositionspunktsequenz bestimmt wird.A numerical control apparatus according to claim 1, wherein the engine error prediction unit obtains the command position sequence and the servo position sequence for each processing period of the simulation by the simulation unit, a distance from a specific servo position in the servo position point sequence to the instruction position point sequence or a vertical line drawn from the specific servo position to a line segment connecting adjacent points in each instruction position, whichever is the shorter, than an error in the specific servo position is determined, and the largest of the errors in the servo positions is determined as an error between the command position sequence and the servo position sequence. Numerische Steuervorrichtung gemäß Anspruch 1, wobei die Maschinenfehlervorhersageeinheit die Befehlspositionspunktsequenz und die Servopositionspunktsequenz für jede Verarbeitungsspanne der Simulation durch die Simulationseinheit erlangt, ein Abstand von einer spezifischen Befehlsposition in der Befehlspositionspunktsequenz zu der Servopositionspunktsequenz oder einer lotrechten Linie, die von der spezifischen Befehlsposition zu einem Liniensegment gezeichnet ist, das benachbarte Punkte in jeder Servoposition verbindet, welcher auch immer kürzer ist, als ein Fehler in der spezifischen Befehlsposition bestimmt wird, der größte der Fehler in den Befehlspositionen als ein Fehler von der Befehlspositionspunktsequenz zu der Servopositionspunktsequenz bestimmt wird, ein Abstand von einer spezifischen Servoposition in der Servopositionspunktsequenz zu der Befehlspositionspunktsequenz oder einer lotrechten Linie, die von der spezifischen Servoposition zu einem Liniensegment gezeichnet ist, das benachbarte Punkte in jeder Befehlsposition verbindet, welcher auch immer kürzer ist, als ein Fehler in der spezifischen Servoposition bestimmt wird, der größte der Fehler in den Servopositionen als ein Fehler von der Servopositionspunktsequenz zu der Befehlspositionspunktsequenz bestimmt wird, und der größere des Fehlers von der Befehlspositionspunktsequenz zu der Servopositionspunktsequenz und des Fehlers von der Servopositionspunktsequenz zu der Befehlspositionspunktsequenz als ein Fehler zwischen der Befehlspositionspunktsequenz und der Servopositionspunktsequenz bestimmt wird.A numerical control apparatus according to claim 1, wherein the engine error prediction unit obtains the command position sequence and the servo position sequence for each processing period of the simulation by the simulation unit, a distance from a specific command position in the command position point sequence to the servo position point sequence or a perpendicular line drawn from the specific command position to a line segment connecting adjacent points in each servo position whichever is shorter than an error in the specific command position becomes, the largest of the errors in the command positions is determined as an error from the command position sequence to the servo position sequence, a distance from a specific servo position in the servo position point sequence to the instruction position point sequence or a vertical line drawn from the specific servo position to a line segment connecting adjacent points in each instruction position whichever is shorter than an error in the specific servo position becomes, the largest of the errors in the servo positions is determined as an error from the servo position sequence to the instruction position point sequence, and the greater of the error from the command position sequence to the servo position sequence and the error from the servo position sequence to the command position point sequence is determined as an error between the command position point sequence and the servo position point sequence. Numerische Steuervorrichtung gemäß Anspruch 1, wobei die Maschinenzeitvorhersageeinheit und die Maschinenfehlervorhersageeinheit eine Vielzahl von vorhergesagten Maschinenzeiten und eine Vielzahl von vorhergesagten Maschinenfehlern auf der Grundlage einer Vielzahl von ausgewiesenen Genauigkeitsdaten und einer Vielzahl von ausgewiesenen Geschwindigkeitsdaten bestimmen, und die Genauigkeitsdaten und die Geschwindigkeitsdaten für die kürzeste vorhergesagte Maschinenzeit innerhalb einer voreingestellten Maschinenfehlertoleranz bestimmen, auf der Grundlage der dadurch bestimmten Vielzahl von vorhergesagten Maschinenzeiten und der Vielzahl von vorhergesagten Maschinenfehlern. The numerical control apparatus according to claim 1, wherein the engine time prediction unit and the engine error prediction unit determine a plurality of predicted engine times and a plurality of predicted engine errors based on a plurality of designated accuracy data and a plurality of designated speed data, and the accuracy data and the speed data for the shortest predicted engine time within a preset machine error tolerance, based on the plurality of predicted machine times determined thereby and the plurality of predicted machine errors. Numerische Steuervorrichtung gemäß Anspruch 1, wobei die numerische Steuervorrichtung eine Mehrachsenmaschine mit einer Drehachse steuert, die Maschinenfehlervorhersageeinheit eine dreidimensionale Befehlspositionspunktsequenz und eine dreidimensionale Servopositionspunktsequenz einer Werkzeugmittelpunktposition auf der Grundlage der Befehlspositionspunktsequenz und der Servopositionspunktsequenz bestimmt, und der Fehler zwischen der Befehlspositionspunktsequenz und der Servopositionspunktsequenz mit der dreidimensionalen Befehlspositionspunktsequenz und der dreidimensionalen Servopositionspunktsequenz bestimmt wird, die jeweils als die Befehlspositionspunktsequenz und die Servopositionspunktsequenz verwendet werden.A numerical control apparatus according to claim 1, wherein the numerical control device controls a multi-axis machine having a rotation axis, the engine error prediction unit determines a three-dimensional command position sequence and a three-dimensional servo position point sequence of a tool center point position based on the command position point sequence and the servo position point sequence, and the error between the command position sequence and the servo position point sequence is determined with the three-dimensional command position sequence and the three-dimensional servo position point sequence respectively used as the command position point sequence and the servo position point sequence. Numerische Steuervorrichtung gemäß Anspruch 1, wobei die Genauigkeitsdaten durch Maschinenbedingungsdaten auf der Grundlage einer zulässigen Beschleunigung oder einer zulässigen Eckgeschwindigkeitsdifferenz angegeben sind.The numerical control apparatus according to claim 1, wherein the accuracy data is indicated by machine condition data based on an allowable acceleration or an allowable corner speed difference.
DE102012009461A 2011-05-20 2012-05-11 A numerical control device comprising a machine time prediction unit and a machine error prediction unit Ceased DE102012009461A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011113927A JP5149421B2 (en) 2011-05-20 2011-05-20 Numerical control device having machining time prediction unit and machining error prediction unit
JP2011-113927 2011-05-20

Publications (1)

Publication Number Publication Date
DE102012009461A1 true DE102012009461A1 (en) 2012-11-22

Family

ID=47088233

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102012009461A Ceased DE102012009461A1 (en) 2011-05-20 2012-05-11 A numerical control device comprising a machine time prediction unit and a machine error prediction unit

Country Status (4)

Country Link
US (1) US8938316B2 (en)
JP (1) JP5149421B2 (en)
CN (1) CN102789194B (en)
DE (1) DE102012009461A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017004591B4 (en) * 2016-05-16 2020-08-20 Fanuc Corporation Numerical control
DE102017219841B4 (en) 2016-11-11 2024-04-25 Fanuc Corporation Numerical control device

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5289601B1 (en) * 2012-03-19 2013-09-11 ファナック株式会社 Cutting distance calculator for multi-axis machines
CN104272205B (en) * 2012-05-09 2016-06-29 三菱电机株式会社 Numerical control device
CN103970073B (en) * 2013-01-24 2017-03-15 北京配天技术有限公司 A kind of deceleration planning method for digital control system, device and Digit Control Machine Tool
WO2014167636A1 (en) * 2013-04-08 2014-10-16 三菱電機株式会社 Numerical control apparatus
JP2014219911A (en) * 2013-05-10 2014-11-20 東芝機械株式会社 Simulation device and simulation program
ES2855179T3 (en) * 2013-08-02 2021-09-23 Icam Res Corporation Device, system and methods for the automatic optimization and development of positioning paths for numerically controlled multi-axis machining
US9465380B2 (en) 2013-08-02 2016-10-11 ICAM Research Corporation Device, system and methods for automatic development and optimization of positioning paths for multi-axis numerically controlled machining
JP5800885B2 (en) * 2013-12-11 2015-10-28 ファナック株式会社 Parameter adjustment support device having a function to support parameter adjustment
DE112014006119B4 (en) 2014-01-07 2023-09-14 Mitsubishi Electric Corporation Trajectory control device
JP5820000B2 (en) * 2014-02-21 2015-11-24 ファナック株式会社 Numerical control device that operates with tabular data
WO2015159390A1 (en) 2014-04-16 2015-10-22 三菱電機株式会社 Command value generating device
JP5902753B2 (en) 2014-05-28 2016-04-13 ファナック株式会社 Numerical control device with a function of rounding up / cutting in or circular motion
JP6333656B2 (en) * 2014-07-28 2018-05-30 ファナック株式会社 Machining time prediction device that predicts machining time after NC program modification
CN107077118B (en) * 2014-09-30 2019-12-31 株式会社牧野铣床制作所 Control device for machine tool, and machine tool
DE102015013283B4 (en) * 2014-10-17 2019-01-24 Fanuc Corporation Apparatus and method for controlling a machine tool to control synchronized operation of a spindle axis and feed axis
JP5956619B2 (en) * 2015-01-13 2016-07-27 ファナック株式会社 Automatic parameter adjustment device that adjusts parameters according to machining conditions
JP6435872B2 (en) * 2015-01-20 2018-12-12 ブラザー工業株式会社 Numerical control device and control method
DE102016001768B4 (en) * 2015-02-23 2020-06-18 Fanuc Corporation Laser processing system with timed delivery command circuit
FR3033655B1 (en) * 2015-03-10 2017-04-21 Spring Tech METHOD FOR GENERATING A MACHINING PROGRAM
JP6356658B2 (en) * 2015-12-25 2018-07-11 ファナック株式会社 Numerical control device with easy press adjustment
JP6346206B2 (en) 2016-01-14 2018-06-20 ファナック株式会社 Numerical control device having block time display means
JP6382865B2 (en) * 2016-02-04 2018-08-29 ファナック株式会社 Machining time prediction device
JP6189007B1 (en) * 2016-02-23 2017-08-30 三菱電機株式会社 Numerical control parameter adjusting device and numerical control parameter adjusting method
JP6706518B2 (en) * 2016-03-17 2020-06-10 ローランドディー.ジー.株式会社 Processing time prediction device, cutting processing system, and processing time prediction method
CN109643102B (en) * 2016-09-02 2021-10-01 三菱电机株式会社 Instruction value generating device
JP6179870B1 (en) * 2016-09-23 2017-08-16 大槻 俊明 Numerically controlled machine tool measuring device
JP6333915B2 (en) 2016-10-20 2018-05-30 ファナック株式会社 Numerical controller
JP6469065B2 (en) 2016-10-28 2019-02-13 ファナック株式会社 Machine learning device and machining time prediction device
JP6450734B2 (en) 2016-11-22 2019-01-09 ファナック株式会社 Numerical controller
CN108375957B (en) * 2017-01-31 2021-03-26 兄弟工业株式会社 Numerical controller and control method
JP6680731B2 (en) * 2017-08-23 2020-04-15 ファナック株式会社 Processing time prediction system
CN109839901A (en) * 2017-11-24 2019-06-04 友嘉实业股份有限公司 Process time Prediction System
US10310473B1 (en) * 2017-11-30 2019-06-04 Mitsubishi Electric Corporation Systems and methods for path command generation
JP6878378B2 (en) 2018-10-31 2021-05-26 ファナック株式会社 Numerical control device
JP2021002194A (en) * 2019-06-21 2021-01-07 ファナック株式会社 Numerical control apparatus, cnc machine tool, numerical control method, and numerical control program
JP7348013B2 (en) * 2019-09-30 2023-09-20 ファナック株式会社 simulation device
CN115735167A (en) 2020-07-03 2023-03-03 发那科株式会社 Post-processor, machining program generation method, CNC machining system, and machining program generation program
CN112698625B (en) * 2020-12-11 2022-03-22 西安交通大学 Five-axis machine tool digital twin modeling method for linkage trajectory error prediction
WO2022215178A1 (en) * 2021-04-06 2022-10-13 ファナック株式会社 Selection device, communication control device, simulation device, and recording medium
CN114355838B (en) * 2022-03-18 2022-09-20 北京精雕科技集团有限公司 Method and device for calculating working procedure processing time of workpiece
WO2023223471A1 (en) * 2022-05-18 2023-11-23 三菱電機株式会社 Machining result evaluation device, machining result evaluation method, machining condition determination device, and machining condition determination method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5835607A (en) 1981-08-27 1983-03-02 Fanuc Ltd Numerical controlling system
JP2004227028A (en) 2003-01-17 2004-08-12 Fuji Electric Systems Co Ltd Information display method and information extraction and display method
JP2006301440A (en) 2005-04-22 2006-11-02 Ricoh Co Ltd Image forming apparatus and process cartridge
JP2011060016A (en) 2009-09-10 2011-03-24 Fanuc Ltd Trajectory display device, and machine tool with the same

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3418549A (en) * 1962-03-19 1968-12-24 Rohr Corp Combined numerical and torque control for a work and feed machine tool
DE3408523A1 (en) 1984-03-08 1985-09-12 Siemens AG, 1000 Berlin und 8000 München METHOD FOR MONITORING THE TRAIN PRODUCED BY CONTROLLING THE DRIVES OF A COMPUTER-CONTROLLED MACHINE TOOL OR AN INDUSTRIAL ROBOT
JPS63273108A (en) * 1987-04-30 1988-11-10 Fanuc Ltd Speed controller
US4833617A (en) * 1987-08-14 1989-05-23 General Electric Company Solid modeling based adaptive feedrate control for NC machining
JP3673383B2 (en) * 1997-12-12 2005-07-20 ファナック株式会社 Robot control device
JP3399419B2 (en) * 1999-10-28 2003-04-21 三菱電機株式会社 Numerical control simulation device
US6865499B2 (en) * 2001-04-26 2005-03-08 Siemens Energy & Automation, Inc. Method and apparatus for tuning compensation parameters in a motion control system associated with a mechanical member
US6859747B2 (en) * 2001-04-26 2005-02-22 Siemens Energy & Automation, Inc. Method and apparatus for self-calibrating a motion control system
JP4891528B2 (en) * 2004-04-07 2012-03-07 オークマ株式会社 Machining time calculation device
DE102007045593A1 (en) 2007-09-14 2009-03-26 Index-Werke Gmbh & Co. Kg Hahn & Tessky Virtual machine tool for displaying actions of machining units of a real machine tool
JP5139230B2 (en) * 2008-10-06 2013-02-06 オークマ株式会社 Collision prevention device in numerical control device
WO2010134199A1 (en) * 2009-05-22 2010-11-25 三菱電機株式会社 Simulation apparatus and simulation program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5835607A (en) 1981-08-27 1983-03-02 Fanuc Ltd Numerical controlling system
US4543625A (en) 1981-08-27 1985-09-24 Fanuc Ltd. Method for compensating for servo delay caused at an arc or corner
JP2004227028A (en) 2003-01-17 2004-08-12 Fuji Electric Systems Co Ltd Information display method and information extraction and display method
JP2006301440A (en) 2005-04-22 2006-11-02 Ricoh Co Ltd Image forming apparatus and process cartridge
JP2011060016A (en) 2009-09-10 2011-03-24 Fanuc Ltd Trajectory display device, and machine tool with the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017004591B4 (en) * 2016-05-16 2020-08-20 Fanuc Corporation Numerical control
DE102017219841B4 (en) 2016-11-11 2024-04-25 Fanuc Corporation Numerical control device

Also Published As

Publication number Publication date
US20120296462A1 (en) 2012-11-22
US8938316B2 (en) 2015-01-20
JP5149421B2 (en) 2013-02-20
JP2012243152A (en) 2012-12-10
CN102789194A (en) 2012-11-21
CN102789194B (en) 2014-06-18

Similar Documents

Publication Publication Date Title
DE102012009461A1 (en) A numerical control device comprising a machine time prediction unit and a machine error prediction unit
DE102016008994B4 (en) MACHINE TOOL, SIMULATION DEVICE AND MACHINE LEARNING DEVICE
DE102005015810B4 (en) Processing time calculator
DE102016117560B4 (en) TOOL MACHINE FOR PRODUCING A SPEED DISTRIBUTION
DE102016010064B4 (en) Numerical control with machining condition adjustment function to reduce the occurrence of chatter or tool wear / breakage
DE102013002516B4 (en) Numerical control with machining curve generation function
DE102013110060B4 (en) Device for compensating the thermal offset in a machine tool
DE102013011684B4 (en) A numerical control device comprising an inserter for corners with multiple curves
DE102017219841B4 (en) Numerical control device
DE102012010408B4 (en) A numerical control device having a function of correcting the travel of a machine program
DE102017005811B4 (en) Numerical control device that dynamically changes a time constant for an acceleration/deceleration filter
DE102018007630A1 (en) NUMERICAL CONTROL SYSTEM
DE102014118741B4 (en) Engine control device
DE102017002373B4 (en) Numerical control with acceleration function for the canned cycle
DE102012021045A1 (en) A numerical control device for speed control according to a speed condition of a commanded path
DE102017003904A1 (en) Numerical control
DE102011051392A1 (en) TOOL DISPLAY DEVICE WITH DELAY FACTOR IDENTIFIER FOR TOOLING MACHINES
DE102019106729A1 (en) Drive device and machine learning device
DE102018005378A1 (en) Control device and learning device
DE102020124734A1 (en) SIMULATION DEVICE
DE112009004583B4 (en) Numerical control device, method for controlling the same and system program therefor
DE112017004424T5 (en) Command value generation device
DE102013102656A1 (en) CUTTING CALCULATION DEVICE FOR A MULTI-AXIS TOOL MACHINE
DE102012001840B4 (en) Numerical control to run a final positioning test
DE102015010654B4 (en) Numerical control to shorten the cycle time of a machine program

Legal Events

Date Code Title Description
R012 Request for examination validly filed

Effective date: 20130708

R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final