-
Gebiet
-
Die vorliegende Erfindung betrifft eine numerische Steuervorrichtung zur Steuerung von industriellen Anlagen wie beispielsweise Werkzeugmaschinen.
-
Hintergrund
-
Bei Maschinen für den industriellen Einsatz wie beispielsweise Werkzeugmaschinen erfolgt die Ansteuerung so, dass die Werkzeuge oder Maschinentische entlang von Vorgabewerten geführt werden. Namentlich wird eine Steuerung zum Ansteuern einer Maschine so, dass die Werkzeugposition relativ zu einem Werkstück, das das zu bearbeitende Objekt darstellt, präzise entlang einer angewiesenen Bahn geführt wird, bei der es sich um eine mit Hilfe einer Anweisung bestimmte Bahn eines Werkzeugs handelt, als Bahnsteuerung oder Konturbewegungssteuerung bezeichnet. Die präzise Steuerung erfolgt mit einer numerischen Steuervorrichtung und einer daran befestigten Servosteuervorrichtung. Eine zu steuernde Maschine weist mehrere Bewegungsachsen auf, wobei der Antrieb durch die Servosteuervorrichtung in Richtungen entlang der Bewegungsachsen erfolgt.
-
Die numerische Steuervorrichtung führt unter Verwendung der Servosteuervorrichtung eine Positionssteuerung in Richtung der Bewegungsachsen der Maschine aus. Eine Positionsrückkopplung erfolgt grundsätzlich so, dass auf eine Vorgabeposition eine von einem Motorenddrehgeber oder von einem linearen Maßstab zur Messung der Position des Endes eines Werkzeugs erfasste Rückführung der Position folgt. Zwischen der rückgeführten Position und der Position des Werkzeugendes gibt es bei einem mechanischen System jedoch Fehlerfaktoren wie Spiel und Totgang, sodass die Position des Werkzeugendes aufgrund der Fehlerfaktoren in Bezug auf die rückgeführte Position fehlerhaft ist. Das Spiel bezieht sich auf das Lagerspiel von Kugelgewindetrieben oder dergleichen. Unter Totgang versteht man die elastische Verformung von Kugelgewindetrieben aufgrund der Reibung an Führungsflächen. Die in Bezug auf die rückgeführte Position mit einem Fehler behaftete Position des Werkzeugendes bedeutet, dass die Position des Werkzeugendes fehlerhaft ist, wenn ausschließlich eine Rückkopplungsregelung vorgenommen wird.
-
Spiel bzw. Totgang führen vor allem bei einer Richtungsumkehr an einer Bewegungsachse einer Vorschubwelle zu einer erheblichen Beeinträchtigung der Bewegungsbahn der Werkzeugposition. Ein typisches Beispiel ist der nach einer Anweisung für eine bogenförmige Bahn auftretende Bahnstufenfehler an den Quadrantengrenzen der bogenförmigen Bahn. Dies liegt daran, dass die Bahn aufgrund des Spiels bzw. Totgangs bei einem Verfahren in positiver Richtung eine Abweichung in negativer Richtung und bei einem Verfahren in negativer Richtung eine Abweichung in positiver Richtung aufweist. Das Auftreten eines solchen Fehlers bei einer Führung entlang einer Bahn führt zu einer unerwünschten Linie bzw. einem Kratzer auf einer bearbeiteten Oberfläche.
-
Um bei einem mechanischen System den Einfluss von solchen Fehlerfaktoren wie Spiel und Totgang zu reduzieren, weist die numerische Steuervorrichtung daher eine Funktion zum Prognostizieren des durch die Fehlerfaktoren des mechanischen Systems verursachten Fehlers einer Bahn und zum Korrigieren des prognostizierten Fehlers zusätzlich zur Rückkopplungsregelung auf. Konkret wird zur Verringerung des Einflusses von Spiel und Totgang eine so genannte Spielkompensation vorgenommen, bei der ein Korrekturwert zu einer Vorgabeposition addiert wird, wenn sich die Richtung zur Vorgabeposition umkehrt, d. h. wenn sich das positive/negative Vorzeichen der Geschwindigkeit umkehrt (siehe z. B. Patentdokument 1).
-
Liste der Zitate
-
Patentliteratur
-
Patentdokument 1: Japanische Offenlegungsschrift
JP 2014 - 54 001 A
-
Kurzbeschreibung
-
Technische Problemstellung
-
Bei dem Verfahren gemäß der technischen Lehre des Patentdokuments 1, bei dem ein Spielkorrekturwert zu einer Vorgabeposition addiert wird, um einen bei einer Umkehrung der Bewegungsrichtung einer Vorschubwelle durch Spiel oder Totgang verursachten Schleppfehler eines Werkzeugendes zu korrigieren, handelt es sich jedoch um ein Verfahren, bei dem bei einer Umkehrung der Bewegungsrichtung zur Vorgabeposition ein Korrekturwert verwendet wird. Daher erfolgt die Korrektur auch bei einer geringfügigen Richtungsumkehr. Dies kann dazu führen, dass sich die Genauigkeit, statt zu verbessern, verschlechtert. Insbesondere, wenn aufgrund eines Berechnungsfehlers bei der rechnergestützten Fertigung (CAM) am Übergang zwischen einem Bogen und einer Geraden eine Anweisung für einen geringfügigen Verfahrweg eingefügt wird und es zu einer geringfügigen Umkehr kommt, die der Weite des Spiels entspricht oder kleiner ist, erfolgt am Ausgang des Bogens eine unnütze Kompensation des Spiels. Darüber hinaus erfolgt die Korrektur, wenn eine der benachbarten Bahnen einen Block mit minimaler Umkehr enthält und die andere der benachbarten Bahnen keinen Block mit minimaler Umkehr enthält, bei der einen Bahn, nicht aber bei der anderen Bahn, wodurch es zu einem Bearbeitungskratzer kommt. Zur Vermeidung einer unnützen Spielkompensation kann eine korrekturfreie Zone vorgesehen werden; in diesem Fall wird jedoch z. B. bei einer Bogenformanweisung, bei der eine Korrektur erfolgen sollte, der Zeitpunkt der Korrektur verzögert.
-
In der
JP 2014 - 191 520 A wird ein Kompensator für eine numerische Steuerung beschrieben, der eine Kompensation der bei einer Umkehrbewegung an einem Maschinentisch auftretenden elastischen Deformation ermöglicht. Die Kompensation erfolgt durch Berechnen von Kompensationswerten auf Basis einer aktuellen Bewegung und auf Basis des beim Stoppen der Bewegung auftretenden Drehmoments und durch Addieren der Kompensationswerte zu den Positionieranweisungen.
-
In der
JP 2013 - 191 186 A wird eine Quadrantenüberstands-Messvorrichtung beschrieben, mit der die Messzeit verkürzt werden kann, die erforderlich ist, um Fehler bei einer Kreisbewegung eines Werkzeugs an einer Werkzeugmaschine zu erfassen, die auftreten, wenn sich die Drehrichtung einer der Spindeln beim Übergang von einem Quadranten zu einem benachbarten Quadranten umkehrt.
-
Die vorliegende Erfindung entstand angesichts des oben Dargelegten, wobei eine Aufgabe der Erfindung in der Angabe einer numerischen Steuervorrichtung besteht, bei der eine unnütze Spielkompensation vermieden werden kann.
-
Lösung der Problemstellung
-
Um die oben genannten Probleme zu lösen und die Aufgabe zu erfüllen, wird bei der vorliegenden Erfindung ein Servomotor einem Bearbeitungsprogramm gemäß gesteuert. Bei der vorliegenden Erfindung wird auf Basis des Bearbeitungsprogramms, das eine eine Bewegungsrichtungsumkehr eines mechanischen Systems bewirkende Anweisung und eine nach der Anweisung durchzuführende weitere Anweisung umfasst, bestimmt, ob bei einer Umkehrung einer Bewegungsrichtung des mechanischen Systems, das vom Servomotor in einer Bewegungsachsenrichtung angetrieben wird, eine Korrektur durchgeführt werden soll oder nicht.
-
Vorteilhafte Wirkungen der Erfindung
-
Mit einer numerischen Steuervorrichtung gemäß der vorliegenden Erfindung wird eine unnütze Spielkompensation vermieden.
-
Figurenliste
-
- 1 zeigt ein Blockschaltbild zur Veranschaulichung einer Konfiguration einer numerischen Steuervorrichtung gemäß einer ersten Ausführungsform der vorliegenden Erfindung.
- 2 zeigt eine Darstellung zur Veranschaulichung eines Aufbaus aus einem Servomotor und einem mechanischen System, die von der numerischen Steuervorrichtung gemäß der ersten Ausführungsform gesteuert werden.
- 3 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für ein Bearbeitungsprogramm gemäß der ersten Ausführungsform.
- 4 zeigt eine Darstellung zur Erläuterung der Bewegungsrichtungsumkehr bei einer Bewegungsachse gemäß der ersten Ausführungsform.
- 5 zeigt ein Blockschaltbild zur Veranschaulichung einer Konfiguration einer Servosteuereinheit gemäß der ersten Ausführungsform.
- 6 zeigt eine Darstellung zur Veranschaulichung von mehreren parallelen Verfahrwegen bei der zeilenweisen Bearbeitung gemäß der ersten Ausführungsform.
- 7 zeigt eine Darstellung zur Veranschaulichung eines Beispiels für ein Bearbeitungsprogramm zur Durchführung der zeilenweisen Bearbeitung gemäß der ersten Ausführungsform.
- 8 zeigt eine Darstellung zur Veranschaulichung einer Konfiguration zur Implementierung von Funktionen der numerischen Steuervorrichtung gemäß der ersten Ausführungsform durch einen Computer.
-
Beschreibung von Ausführungsformen
-
Nachfolgend wird eine numerische Steuervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die Figuren ausführlich beschrieben. Es wird darauf hingewiesen, dass die vorliegende Erfindung nicht auf die Ausführungsform beschränkt ist.
-
Erste Ausführungsform
-
Das Blockschaltbild von 1 veranschaulicht eine Konfiguration einer numerischen Steuervorrichtung 10 gemäß einer ersten Ausführungsform der vorliegenden Erfindung. Die Darstellung von 2 veranschaulicht einen Aufbau aus einem Servomotor 16 und einem mechanischen System 6, die von der numerischen Steuervorrichtung 10 gemäß der ersten Ausführungsform gesteuert werden. Das mechanische System 6 stellt einen allgemeinen Ausdruck für Teile wie beispielsweise ein Bearbeitungswerkzeug dar, die bei Industriemaschinen wie Werkzeugmaschinen in Richtung der Bewegungsachsen verfahren werden können. Eine Bewegungsachse gibt also eine Richtung an, in die das mechanische System 6 bewegt werden kann. Jede der Bewegungsachsen weist einen Aufbau gemäß 2 auf, wobei die numerische Steuervorrichtung 10 ein oder mehrere mechanische Systeme 6 steuert, die einer oder mehreren Bewegungsachsen zugeordnet sind.
-
Wie in 1 dargestellt ist steuert die numerische Steuereinrichtung 10 den Servomotor 16 auf Basis eines eingegebenen Bearbeitungsprogramms 11. Das Bearbeitungsprogramm 11 umfasst eine Bahninformation, d. h. Informationen über einen zur Bearbeitung erforderlichen Verfahrweg eines Werkzeugs, die in Form von Anweisungen unter Verwendung sogenannter G-Codes bezeichnet ist. G-Codes werden auch als EIA-Codes (Electronic Industries Association; USA) bezeichnet. Das Bearbeitungsprogramm 11 ist aus Textdaten aufgebaut, wobei eine Zeile im Wesentlichen einer Anweisung entspricht.
-
Wie aus 2 ersichtlich ist am Servomotor 16 ein Positionsdetektor 17 zum Erfassen der Position des Servomotors 16 angebracht. Als Positionsdetektor 17 wird typischerweise ein Drehgeber oder dergleichen verwendet. Das mechanische System 6 ist mit dem Servomotor 16 über einen Kugelgewindetrieb 61 verbunden, wobei der Servomotor 16 den Kugelgewindetrieb 61 dreht. Es wird darauf hingewiesen, dass das mechanische System 6 eine Mutter 62 zum Umwandeln der Drehung des Kugelgewindetriebs 61 in eine Linearverschiebung in Richtung der Bewegungsachse und einen an der Mutter 62 befestigten Maschinentisch 63 aufweist. Eine Linearführung 64 trägt den Maschinentisch 63 und begrenzt die Bewegungsrichtung des Maschinentisches 63 auf die Richtung der Bewegungsachse. Dadurch kann der Servomotor 16 das mechanische System 6 entlang der Bewegungsachse verfahren.
-
Es wird darauf hingewiesen, dass die vom Positionsdetektor 17 direkt erfasste Motorposition einen Wert für den Drehwinkel des Servomotors 16 darstellt. Durch Multiplikation des Winkelwerts mit der Steigung der Kugelgewindespindel kann der der Motorposition entsprechende Winkelwert daher in eine Strecke in Bewegungsrichtung des Maschinentisches 63 konvertiert werden, die der Wegstrecke entspricht, die der Maschinentisch 63 pro Umdrehung des Servomotors 16 zurücklegt, wobei das Ergebnis der Multiplikation durch den Winkel 2π (rad) einer Umdrehung des Servomotors 16 dividiert wird. Im Folgenden wird als Motorposition ein durch die Konvertierung in eine Weglänge in Bewegungsrichtung des Maschinentisches 63 erhaltener Wert verwendet.
-
Die numerische Steuervorrichtung 10 umfasst eine Vorgabepositionserzeugungseinheit 12, die eine Vorgabeposition auf Basis einer Bahninformation berechnet, die anhand von in einem Bearbeitungsprogramm 11 enthaltenen Anweisungen bezeichnet ist, eine Bahninformationsanalyseeinheit 13, die die mittels der in dem Bearbeitungsprogramm 11 enthaltenen Anweisungen angegebene Bahninformation analysiert, eine Korrekturwertbestimmungseinheit 14, die bestimmt, ob eine Bewegungsrichtungsumkehr korrigiert werden soll oder nicht und den Korrekturwert bei der Umkehr bestimmt, eine Servosteuereinheit 15, die eine Drehmomentanweisung ausgibt, und einen Addierer 18.
-
Die Vorgabepositionserzeugungseinheit 12 liest die Anweisungen des Bearbeitungsprogramms 11 ab der obersten nacheinander ein, verarbeitet von Beginn an die über die im Bearbeitungsprogramm 11 enthaltenen Anweisungen angegebene Bahninformation zur Durchführung der Interpolation und der Berechnung der Beschleunigung/Verzögerung, berechnet bei jeder Steuerperiode eine Vorgabeposition und gibt diese aus. Da die im Bearbeitungsprogramm 11 enthaltenen Anweisungen in einer vorgegebenen Reihenfolge ausgeführt werden, ist die durch eine andere im Bearbeitungsprogramm 11 enthaltene Anweisung bezeichnete Bahninformation zeitlich nach der Bahninformation auszuführen, die durch eine Anweisung bezeichnet ist, die vor der Anweisung ausgeführt wird.
-
Die Bahninformationsanalyseeinheit 13 analysiert die mittels der im Bearbeitungsprogramm 11 enthaltenen Anweisungen bezeichnete Bahninformation, extrahiert den im Bearbeitungsprogramm 11 enthaltenen Anweisungstext, der eine Umkehrung der Bewegungsrichtung bewirkt, d. h. eine Bewegungsrichtungsumkehr des mechanischen Systems 6 entlang der Bewegungsachse, erzeugt Richtungsumkehrinformationen und gibt diese aus.
-
Die Darstellung von 3 veranschaulicht ein Beispiel eines Bearbeitungsprogramms 11 gemäß der ersten Ausführungsform. Bei dem Bearbeitungsprogramm 11 handelt es sich um ein Bearbeitungsprogramm für eine Maschine mit zwei Bewegungsachsen, bei von einer X-Achse und einer Y-Achse gebildet werden. Die den durch die Anweisungen bezeichneten Positionskoordinaten zugrundeliegende Einheit ist „mm“. Die Anweisungen in der ersten bis dritten Zeile des Bearbeitungsprogramms 11 geben keine Positionskoordinaten an, so dass deren Erläuterung entfallen kann. Der Befehl „G0X0.Y0.“ in der zweiten Zeile weist eine Positionierung an einem Punkt (0,0) an, der den Ursprung bildet. Nachfolgend werden Punkte in gleicher Weise im Format (X-Achsenkoordinate, Y-Achsenkoordinate) dargestellt. Die Anweisung „X10.“ in der vierten Zeile stellt eine Anweisung zum Verfahren zu einer Position mit der X-Achsenkoordinate 10,0 mm ohne die Y-Achsenkoordinate zu ändern dar. Die Anweisung in der vierten Zeile stellt daher eine Anweisung zum Verfahren zum Punkt (10,0) dar. Die Anweisung „Y10.“ in der fünften Zeile stellt eine Anweisung zum Verfahren zu einer Position mit der Y-Achsenkoordinate 10,0 mm ohne die X-Achsenkoordinate ändern dar. Die Anweisung in der fünften Zeile stellt daher eine Anweisung zum Verfahren zum Punkt (10,10) dar. In gleicher Weise dienen die nachfolgenden Anweisungen des Bearbeitungsprogramms 11 dazu, um in der angegebenen Reihenfolge zum dem durch die Anweisung in der sechsten Zeile angegebenen Punkt (-10,10), zu dem durch die Anweisung in der siebten Zeile angegebenen Punkt (-10,0) und zu dem durch die Anweisung in der achten Zeile angegebenen Punkt (0,0) zu gelangen. Somit handelt es sich bei den Anweisungen in der sechsten und achten Zeile um Anweisungen, die eine Umkehrung der Bewegungsrichtung entlang der X-Achse anzeigen.
-
4 zeigt eine Darstellung zur Erläuterung der Bewegungsrichtungsumkehr an einer Bewegungsachse gemäß der ersten Ausführungsform. 4 veranschaulicht die Bewegungsrichtungsumkehr an der der X-Achse, die eine der Bewegungsachsen darstellt, für das in 3 dargestellte Bearbeitungsprogramm 11. Die Umkehrungen der Bewegungsrichtung an der X-Achse erfolgen so, dass die Bewegung in positiver Richtung am Punkt 41 in eine Bewegung in negativer Richtung umgekehrt wird, und die Bewegung in negativer Richtung am Punkt 42 in eine Bewegung in positiver Richtung umgekehrt wird. Unter der Annahme, dass in 2 das mechanische System 6 dargestellt ist, bei dem die X-Achse die Bewegungsachse bildet, erfolgt die Umkehr der Bewegungsrichtung des mechanischen Systems 6 an den Punkten 41 und 42 von 4.
-
Somit umfassen die von der Bahninformationsanalyseeinheit 13 erzeugten Richtungsumkehrinformationen zumindest Informationen über den Teil einer in dem Bearbeitungsprogramms 11 enthaltenen Anweisung, die zu einer Umkehrung der Bewegungsrichtung des mechanischen Systems 6 führt. Ein konkretes Beispiel für die Informationen über den Teil einer in dem Bearbeitungsprogramms 11 enthaltenen Anweisung, die zu einer Bewegungsrichtungsumkehrung des mechanischen Systems 6 führt, stellen die Informationen über die von der obersten Zeile des Bearbeitungsprogramms 11 gezählte Nummer der Zeile dar, in der sich die Anweisung befindet, die zu einer Umkehr der Bewegungsrichtung des mechanischen Systems 6 führt.
-
Nachfolgend wird das in 3 dargestellte Beispiel für ein Bearbeitungsprogramms 11 erläutert. Wenn zum ersten Mal eine Anweisung erhalten wird, die eine Positionskoordinate angibt, erhält die Bahninformationsanalyseeinheit 13 die Koordinate eines durch die Anweisung angegebenen Ziels und speichert die erhaltene Koordinate in einen Speicherbereich. Wenn danach zum zweiten Mal eine Anweisung erhalten wird, die eine Positionskoordinate angibt, erhält die Bahninformationsanalyseeinheit 13 die Koordinate eines durch die Anweisung angegebenen Ziels, speichert die erhaltene Koordinate in einen Speicherbereich und ermittelt Informationen, die einem Bewegungsvektor entsprechen, der seinen Ursprung in der Koordinate des durch die erste Anweisung angegebenen Ziels hat. Die Bahninformationsanalyseeinheit 13 ermittelt für jede Achse ein Vorzeichen der Bewegungsrichtung auf Basis des Bewegungsvektors und speichert das ermittelte Vorzeichen in den Speicherbereich. Es wird darauf hingewiesen, dass für eine Achse, bei der die Verfahrstrecke 0 ist, kein Vorzeichen ermittelt und somit auch nicht gespeichert wird. Wenn danach zum dritten Mal eine Anweisung erhalten wird, die eine Positionskoordinate angibt, erhält die Bahninformationsanalyseeinheit 13 die Koordinate eines durch die Anweisung angegebenen Ziels, speichert die erhaltene Koordinate in den Speicherbereich und ermittelt Informationen, die einem Bewegungsvektor entsprechen, der seinen Ursprung in der Koordinate des durch die zweite Anweisung angegebenen Ziels hat. Die Bahninformationsanalyseeinheit 13 ermittelt für jede Achse ein Vorzeichen der Bewegungsrichtung auf Basis des Bewegungsvektors und speichert das ermittelte Vorzeichen in den Speicherbereich. Es wird darauf hingewiesen, dass für eine Achse, bei der die Verfahrstrecke 0 ist, kein Vorzeichen ermittelt und somit auch nicht gespeichert wird. Anschließend wiederholt die Bahninformationsanalyseeinheit 13 diese Prozedur. Im Ergebnis kann die Bahninformationsanalyseeinheit 13 das Auftreten einer Bewegungsrichtungsumkehr, da im Speicherbereich das Vorzeichen der Bewegungsrichtung für jede Achse, bei der die Verfahrstrecke ungleich Null ist, gespeichert ist, aus der Umkehr des Vorzeichens durch eine neue Anweisung bestimmen.
-
Bei dem in 3 dargestellten Beispiel eines Bearbeitungsprogramms 11 wird „+“, bei dem es sich um das Vorzeichen für die X-Achse handelt, das von der Bahninformationsanalyseeinheit 13 infolge der Anweisung „X10.“ in der vierten Zeile ermittelt wurde, in das Vorzeichen „-“ für die X-Achse umgekehrt, das infolge der Anweisung „X-10.“ in der sechsten Zeile ermittelt wurde. Die Bahninformationsanalyseeinheit 13 kann somit bestimmen, dass die Anweisung „X-10.“ in der sechsten Zeile am Punkt 41 von 4 zu eine Umkehrung der Bewegungsrichtung führen wird. Zusätzlich wird das Vorzeichen „-“ für die X-Achse, das von der Bahninformationsanalyseeinheit 13 infolge der Anweisung „X-10.“ in der sechsten Zeile ermittelt wurde, in das Vorzeichen „+“ für die X-Achse umgekehrt, das infolge der Anweisung „X0.“ in der achten Zeile ermittelt wurde. Die Bahninformationsanalyseeinheit 13 kann somit bestimmen, dass infolge der Anweisung „X0.“ in der achten Zeile am Punkt 42 von 4 eine Umkehrung der Bewegungsrichtung erfolgen wird. Somit umfassen die von der Bahninformationsanalyseeinheit 13 erzeugten Richtungsumkehrinformationen für die X-Achse „sechste Zeile“ und „achte Zeile“, bei denen es sich um die Zeilennummern der Anweisungen des Bearbeitungsprogramms 11 handelt, die zu einer Umkehrung der Bewegungsrichtung an der X-Achse führen.
-
Da die Bahninformationsanalyseeinheit 13 das Bearbeitungsprogramm 11 ferner vor der Vorgabepositionserzeugungseinheit 12 liest, kann die Bahninformationsanalyseeinheit 13 in die Richtungsumkehrinformationen eine Bahninformation aufnehmen. Die Bahninformation wird durch eine Anweisung bezeichnet, die später ausgeführt wird als die Anweisung des Bearbeitungsprogramms 11, die zu einer Bewegungsrichtungsumkehr des mechanischen Systems 6 führt. Dass die Bahninformationsanalyseeinheit 13 das Bearbeitungsprogramms 11 vor der Vorgabepositionserzeugungseinheit 12 liest, bedeutet, dass die Bahninformationsanalyseeinheit 13 eine Anweisung liest, die später als eine andere Anweisung auszuführen ist, wobei die andere Anweisung eine Bahninformation angibt, die von der Vorgabepositionserzeugungseinheit 12 zum Berechnen einer Vorgabeposition verwendet wird. Die Bahninformationsanalyseeinheit 13 versorgt die Korrekturwertbestimmungseinheit 14 mit den erzeugten Richtungsumkehrinformationen. Die Korrekturwertbestimmungseinheit 14 kann auf Basis der Richtungsumkehrinformationen, die aus den vorher von der Bahninformationsanalyseeinheit 13 gelesenen Anweisungen des Bearbeitungsprogramms 11 erzeugt wurden, bestimmen, ob an der Position der Bewegungsrichtungsumkehr des Verfahrwegs eine Spielkompensation vorgenommen werden muss oder nicht.
-
Durch das vorhergehende Lesen ermittelt die Bahninformationsanalyseeinheit 13 in einem auf die Position der Bewegungsrichtungsumkehr folgenden vorgegebenen Abschnitt des Verfahrwegs die Verfahrstrecke des mechanischen Systems 6 entlang der Bewegungsachse aus der Position der Bewegungsrichtungsumkehr, an der die Bewegungsrichtungsumkehr stattgefunden hat. Die Bahninformationsanalyseeinheit 13 kann die ermittelte Verfahrstrecke des mechanischen Systems 6 in die Richtungsumkehrinformationen aufnehmen und die Korrekturwertbestimmungseinheit 14 mit den Richtungsumkehrinformationen versorgen. Ein konkretes Beispiel für eine Verfahrstrecke entlang der Bewegungsachse stellt eine Verfahrstrecke entlang der Bewegungsachse dar, bei der eine Bewegungsrichtungsumkehr des Maschinentisches 63 stattgefunden hat.
-
Bei dem Beispiel des in 3 dargestellten Bearbeitungsprogramm 11 wird das mechanische System 6 infolge der Anweisung „X-10.“ in der sechsten Zeile vom Punkt (10,10) zum Punkt (-10,10) verfahren. Dies bedeutet, dass sich das mechanische System 6 von dem Punkt (10,10), der die Position der Bewegungsrichtungsumkehr darstellt, 20 mm in Richtung der X-Achse bewegt. Die Richtungsumkehrinformation können daher zusätzlich zu „Zeile sechs“, die sich auf die Position der Umkehrung der Bewegungsrichtung bezieht, „20 mm“ enthalten, die die Verfahrstrecke von der Position der Bewegungsrichtungsumkehr angeben. Ferner wird das mechanische System 6 infolge der Anweisung „X0.“ in der achten Zeile vom Punkt (-10,0) zum Punkt (0,0) verfahren. Dies bedeutet, dass sich das mechanische System 6 vom Punkt (-10,0), d. h. der Position der Bewegungsrichtungsumkehr, 10 mm in Richtung der X-Achse bewegt. Daher können die Richtungsumkehrinformation zusätzlich zu „Zeile 8“, die sich auf die Position der Umkehrung der Bewegungsrichtung bezieht, „10 mm“ enthalten, die die Verfahrstrecke ausgehend von der Position der Bewegungsrichtungsumkehr angeben.
-
Die Bahninformationsanalyseeinheit 13 ermittelt die Werte der Koordinaten der Position der Bewegungsrichtungsumkehr an der Bewegungsachse des mechanischen Systems 6 durch vorheriges Lesen. Die Bahninformationsanalyseeinheit 13 kann in die Richtungsumkehrinformationen ferner die Werte der Koordinaten der Position der Bewegungsrichtungsumkehr an der Bewegungsachse des mechanischen Systems 6 aufnehmen und die Korrekturwertbestimmungseinheit 14 mit den Richtungsumkehrinformationen versorgen. Bei den Werten der Koordinaten an der Bewegungsachse des mechanischen Systems 6 handelt es sich konkret um die Koordinatenwerte in Bewegungsrichtung des Maschinentisches 63, die der Bewegungsachse entspricht. Wenn das mechanische System 6 mehrere Bewegungsachsen aufweist, umfassen die Werte der Koordinaten der Position der Bewegungsrichtungsumkehr an den Bewegungsachsen des mechanischen Systems 6 die Werte der Koordinaten der Position der Bewegungsrichtungsumkehr an allen Bewegungsachsen.
-
Bei dem in 3 dargestellten Beispiel eines Bearbeitungsprogramms 11 sind die Werte der Koordinaten der Position der Bewegungsrichtungsumkehr infolge der Anweisung „X-10.“ in der sechsten Zeile wie oben beschrieben (10,10). Die „Zeile sechs“ enthaltenden Richtungsumkehrinformationen können als Werte der Koordinaten für die Position der Bewegungsrichtungsumkehr daher (10, 10) enthalten. Außerdem sind die Werte der Koordinaten der Position der Bewegungsrichtungsumkehr infolge der Anweisung „X0.“ in der achten Zeile wie oben beschrieben (-10,0). Daher können die „Zeile acht“ enthaltenden Richtungsumkehrinformationen als Werte der Koordinaten für die Position der Bewegungsrichtungsumkehr (-10,0) enthalten.
-
Die Korrekturwertbestimmungseinheit 14 bestimmt einen Korrekturwert bei der Umkehrung, d. h. den Korrekturwert für die Bewegungsrichtungsumkehr, auf Basis der Richtungsumkehrinformationen und einer Vorgabeposition. Konkret wird bestimmt, ob der Korrekturwert bei der Umkehrung auf 0 gesetzt werden soll oder nicht. Wenn der Korrekturwert bei der Umkehrung nicht auf 0 gesetzt wird, d. h. wenn keine Spielkompensation erfolgen soll, wird der Korrekturwert bei der Umkehrung auf einen von 0 verschiedenen Wert gesetzt.
-
Der Korrekturwert bei der Umkehrung ist, wenn die Korrekturwertbestimmungseinheit 14 einen Korrekturwert bei der Umkehrung mit einem von 0 verschiedenen Wert ausgibt und eine Spielkompensation vornimmt, ein für die Spielkompensation voreingestellter Parameter. Insbesondere wird als Korrekturwert bei der Umkehrung ein Wert eingestellt, der dasselbe Vorzeichen besitzt wie die Bewegungsrichtung nach Umkehrung der Bewegungsrichtung entlang der Bewegungsachse des mechanischen Systems 6, bei dem die Bewegungsrichtungsumkehr stattgefunden hat, und der eine Größe besitzt, die einem für das mechanische System 6 spezifischen Umkehrspiel auf der Bewegungsachse entspricht, bei der die Bewegungsrichtungsumkehr stattgefunden hat.
-
Am Addierer 18 werden die Vorgabeposition und der Korrekturwert bei der Umkehrung addiert, und der aus der Addition der Vorgabeposition und des Korrekturwerts bei der Umkehrung resultierende Wert wird in die Servosteuereinheit 15 als korrigierte Vorgabeposition eingegeben. Anders ausgedrückt wird die mit dem Korrekturwert bei der Umkehrung korrigierte Vorgabeposition in die Servosteuereinheit 15 eingegeben.
-
Die korrigierte Vorgabeposition wird in die Servosteuereinheit 15 eingegeben, und ferner wird eine Motorposition, d. h. der vom Positionsdetektor 17 erfasste Drehwinkel des Servomotors 16, als in die Servosteuereinheit 15 als rückgeführte Position eingegeben. Die Servosteuereinheit 15 führt die Servosteuerung anschließend so durch, dass die rückgeführte Position auf die korrigierte Vorgabeposition folgt. Konkret wird das Motordrehmoment, das sich aus der von der Servosteuereinheit 15 unter Verwendung der rückgeführten Position und der korrigierten Vorgabeposition vorgenommenen Berechnung ergibt, als Drehmomentanweisung ausgegeben und der Servomotor 16 wird gemäß der Drehmomentanweisung angesteuert.
-
Das Blockschaltbild von 5 veranschaulicht eine Konfiguration einer Servosteuereinheit 15 gemäß der ersten Ausführungsform.
-
Die Servosteuereinheit 15 umfasst eine Positionssteuereinheit 31, die einen Positionssteuerungsprozess ausführt, eine Geschwindigkeitssteuereinheit 32, die einen Geschwindigkeitssteuerungsprozess ausführt, eine Differentialberechnungseinheit 33, die eine Differentialberechnung ausführt, und Subtrahierer 34 und 35.
-
Der Subtrahierer 34 erstellt die Differenz zwischen der korrigierten Vorgabeposition und der rückgeführten Position die als Positionsabweichung in die Positionssteuereinheit 31 eingegeben wird. Die Positionssteuereinheit 31 führt zur Berechnung einer Vorgabegeschwindigkeit einen Positionssteuerungsprozess, beispielsweise eine proportionale Steuerung, mit der Positionsabweichung aus und gibt die Vorgabegeschwindigkeit aus.
-
Die Differentialberechnungseinheit 33 erstellt eine Ableitung der rückgeführten Position und gibt die Ableitung aus. Es wird darauf hingewiesen, dass der Ableitungsprozess durch einen Differentialprozess in einem zeitdiskreten System vorgenommen wird. Genauer gesagt wird von der Differentialberechnungseinheit 33 als angenäherte Ableitung ein Wert erstellt und ausgegeben, der sich aus der Division der Differenz zwischen einer aktuellen rückgeführten Position und einer vorhergehenden rückgeführten Position durch eine Verarbeitungsperiode ergibt.
-
Der Subtrahierer 35 erstellt die Differenz zwischen der von der Positionssteuereinheit 31 ausgegebenen Vorgabegeschwindigkeit und der von der Differentialberechnungseinheit 33 ausgegebenen Ableitung und gibt die erstellte Differenz in die Geschwindigkeitssteuereinheit 32 ein.
-
Die Geschwindigkeitssteuereinheit 32 führt zum Erhalt einer Drehmomentanweisung einen Geschwindigkeitssteuerungsprozess, beispielsweise eine proportional-integrale Steuerung, mit der Ausgabe des Subtrahierers 35 aus, und gibt die Drehmomentanweisung aus.
-
Das Bearbeitungsprogramm 11 wird üblicherweise aus einer rechnergestützt konstruierten (CAD) Form unter Verwendung einer CAM erzeugt. Die CAM ersetzt Forminformationen des CAD durch Punktgruppendaten, verbindet die Punkte zu Bahnen wie beispielsweise zeilenförmigen Bahnen und Konturbahnen, um eine Bahninformation für die Bearbeitung zu erzeugen, und gibt die in Form von G-Codes beschriebene Bahninformation als Bearbeitungsprogramm 11 aus. Wenn die ursprüngliche CAD-Form eine Freiformflächenform ist, besteht das ausgegebene Bearbeitungsprogramm 11 aus einer Abfolge kleinster Liniensegmente. Ein solches Bearbeitungsprogramm 11 wird als Kleinstsegmentprogramm bezeichnet. Wenn es sich bei dem Bearbeitungsprogramm 11 um ein Kleinstsegmentprogramm handelt, kann das Bearbeitungsprogramm 11 ein Muster aufweisen, bei dem auf eine Bewegung in eine Richtung der Bewegungsachse eine geringfüge Umkehr bis zum Stillstand folgt. Darüber hinaus kann, wenn mit Hilfe eines Kleinstsegmentprogramm eine zeilenförmige Bearbeitung vorgenommen wird, die Bewegungsrichtungsumkehr des mechanischen Systems 6 bei nur einer bestimmten Bewegungsbahn von den mehreren parallelen Bewegungsbahnen auftreten, wobei die Bewegungsrichtungsumkehr des mechanischen Systems 6 bei den anderen der parallelen Bewegungsbahnen der zeilenförmigem Bearbeitung nicht auftritt.
-
Die Darstellung von 6 veranschaulicht mehrere parallele Verfahrwege einer zeilenförmigen Bearbeitung gemäß der ersten Ausführungsform. Die Darstellung von 7 veranschaulicht ein Beispiel für ein Bearbeitungsprogramm 11 zur Durchführung einer zeilenförmigen Bearbeitung gemäß der ersten Ausführungsform. 6 zeigt eine Projektion eines Verfahrweges, der durch Verbinden von mehreren parallelen zeilenförmigen Verfahrwegen 51, 52, 53, 54 und 55 gebildet wird, auf eine X-Y-Achsenebene, für eine Maschine mit drei Bewegungsachsen, bei denen es sich um eine X-Achse, Y-Achse und Z-Achse handelt, die senkrecht zueinander angeordnet sind. Die Richtung senkrecht zur Blattoberfläche von 6 entspricht der Z-Achse. 7 veranschaulicht ein Bearbeitungsprogramm 11, das die Durchführung der in 6 dargestellten zeilenförmigen Bearbeitung an einer Maschine mit drei Bewegungsachsen, der X-Achse, der Y-Achse und der Z-Achse, anweist. Die Einheit der von den Anweisungen im Bearbeitungsprogramm 11 von 7 angegeben Positionskoordinaten ist „mm“. Es wird darauf hingewiesen, dass die Anweisungen in der ersten bis dritten Zeile des Bearbeitungsprogramms 11 von 7 keine Positionskoordinaten angeben.
-
Das Bearbeitungsprogramm 11 von 7 enthält Anweisungen, die ein Verfahren zu jedem in Form von (X-Achsenkoordinate, Y-Achsenkoordinate, Z-Achsenkoordinate) bezeichneten Punkte von 6 angeben. Genauer definiert das Bearbeitungsprogramm 11 von 7 ein von (0, 0, 0), d. h. einem Punkt, der durch eine Positionsanweisung in der zweiten Zeile bezeichnet wird, ausgehendes in der angegebenen Reihenfolge sequentielles Verfahren zu einem Punkt (5, 0, 0), der durch eine Anweisung in der vierten Zeile bezeichnet wird, zu einem Punkt (10, 0, 0), der durch eine Anweisung in der fünften Zeile bezeichnet wird, zu einem Punkt (10, 1, 1), der durch eine Anweisung in der sechsten Zeile bezeichnet wird, zu einem Punkt (5, 1, 1), der durch eine Anweisung in der siebten Zeile bezeichnet wird, zu einem Punkt (0, 1, 1), der durch eine Anweisung in der achten Zeile bezeichnet wird, zu einem Punkt (0, 2, 2), der durch eine Anweisung in der neunten Zeile bezeichnet wird, zu einem Punkt (5, 2,001, 2), durch eine Anweisung in der zehnten Zeile bezeichnet wird, zu einem Punkt (10, 2, 2), der durch eine Anweisung in der elften Zeile bezeichnet wird, zu einem Punkt (10, 3, 3), der durch eine Anweisung in der zwölften Zeile bezeichnet wird, zu einem Punkt (5, 3, 3), der durch eine Anweisung in der dreizehnten Zeile bezeichnet wird, zu einem Punkt (0, 3, 3), der durch eine Anweisung in der vierzehnten Zeile bezeichnet wird, zu einem Punkt (0, 4, 4), der durch eine Anweisung in der fünfzehnten Zeile bezeichnet wird, zu einem Punkt (5, 4, 4), der durch eine Anweisung in der sechzehnten Zeile bezeichnet wird, und zu einem Punkt (10, 4, 4), der durch eine Anweisung in der siebzehnten Zeile bezeichnet wird.
-
Bei den Anweisungen für den zeilenförmigen Verfahrweg 53 in der zehnten Zeile und der elften Zeile des Bearbeitungsprogramms 11 von 7 erfolgt eine Umkehrung der Bewegungsrichtung auf der Y-Achse infolge der Anweisung „X10.Y2.“ in der elften Zeile. Konkret sind die Werte der Koordinaten an der Position der Umkehrung der Bewegungsrichtung gemäß der Anweisung in der elften Zeile (5, 2,001, 2). Außerdem beträgt die Verfahrstrecke des mechanischen Systems 6 in Richtung der Y-Achse auf Grund der Anweisung in der elften Zeile, bei der es sich um die Bewegung vom Punkt (5, 2,001, 2) zum Punkt (10, 2, 2) handelt, d = 0,001 mm.
-
Zudem erfolgt infolge der Anweisung „Y3.Z3.“ in der zwölften Zeile auch an der Y-Achse eine Bewegungsrichtungsumkehr. Die Werte der Koordinaten der Position der durch die Anweisung in der zwölften Zeile bedingten Bewegungsrichtungsumkehr sind (10, 2, 2). Außerdem beträgt die Verfahrstrecke des mechanischen Systems 6 in Richtung der Y-Achse infolge der Anweisung in der zwölften Zeile, d. h. die Bewegung vom Punkt (10, 2, 2) zum Punkt (10, 3, 3), 1 mm.
-
Bei einer CAM kann das Bearbeitungsprogramm 11 Verfahrwege enthalten, bei denen aufgrund von Berechnungsfehlern eine Bewegungsrichtungsumkehr mit minimaler Wegstrecke auftritt, obwohl sich aus der ursprünglichen CAD-Form keine entsprechende Umkehrung der Bewegungsrichtung ergibt. Eine solche durch einen Berechnungsfehler der CAM bedingte Umkehrung der Bewegungsrichtung bei einem Verfahrweg kann am Übergang von Flächen einer CAD-Form vorkommen, bei der die Flächen geradlinig verbunden sein sollten.
-
Wie aus 6 konkret ersichtlich sind auf dem zeilenförmigen Verfahrweg 53 aufgrund von CAM-Berechnungsfehlern zwei winzige Liniensegmente an der Verbindung der Liniensegmente leicht gekrümmt, wobei die Umkehrung der Bewegungsrichtung des mechanischen Systems 6 an der Y-Achse, die in der Figur die Bewegungsachse in vertikaler Richtung ist, an der Verbindungsstelle (5, 2,001, 2) erfolgt, die die Bewegungsumkehrposition darstellt. Auf den zeilenförmigen Verfahrwegen 51, 52, 54 und 55, bei denen es sich um die anderen Verfahrwege parallel zum zeilenförmigen Verfahrweg 53 handelt, werden die Verfahrwege jedoch von Liniensegmenten ohne Krümmung gebildet, sodass bei diesen keine Umkehrung der Bewegungsrichtung des mechanischen Systems 6 an der Y-Achse stattfindet.
-
Ferner führt, wenn der Verfahrweg ab dem Auftreten der Umkehrung der Bewegungsrichtung bis zum Ende der Bewegung in der umgekehrten Richtung kleiner ist als das für das mechanische System 6 spezifische Spiel, eine dem Spiel entsprechende Spielkompensation bei der Umkehrung der Bewegungsrichtung zu einer Spielkompensation an einer Position, an der eine Spielkompensation nicht wirklich erforderlich ist, sodass eine Linie auf einer bearbeiteten Oberfläche verursacht wird. Somit führt im Falle des in 6 dargestellten Verfahrwegs eine Spielkompensation an der Position der Bewegungsrichtungsumkehr des zeilenförmigen Verfahrwegs 53, bei dem die Umkehrung der Bewegungsrichtung auftritt, in Richtung der Y-Achse lediglich zu einer Spielkompensation des zeilenförmigen Verfahrwegs 53. In diesem Fall tritt an der Stelle, bei der an dem zeilenförmigen Verfahrweg 53 die Spielkompensation erfolgt, ein Kratzer auf der bearbeiteten Oberfläche auf.
-
Die Korrekturwertbestimmungseinheit 14 bestimmt daher aus einer umfassenden Betrachtung der Verfahrwege, ob eine Spielkompensation durchzuführen ist oder nicht, und nimmt an einer Position der Bewegungsrichtungsumkehr des Verfahrwegs, bei der die Spielkompensation als unnötig bestimmt wurde, keine Spielkompensation vor. Zur Bestimmung liest die Bahninformationsanalyseeinheit 13 das Bearbeitungsprogramm 11, ermittelt die Richtungsumkehrinformationen und gibt die erhaltenen Richtungsumkehrinformationen aus, bevor die Vorgabepositionserzeugungseinheit 12 die Bahninformation aus dem Bearbeitungsprogramm 11 ausliest. Eine Bestimmung, ob eine Spielkompensation auf Grund einer umfassenden Betrachtung der Verfahrwege vorgenommen werden soll oder nicht, bedeutet, dass die Korrekturwertbestimmungseinheit 14 bestimmt, ob eine Spielkompensation auf Basis von Richtungsumkehrinformationen erfolgen soll oder nicht, die von der Bahninformationsanalyseeinheit 13 durch Lesen des Bearbeitungsprogramms 11 vor der Vorgabepositionserzeugungseinheit 12 ermittelt werden.
-
Bei der numerischen Steuervorrichtung 10 gemäß der ersten Ausführungsform liest die Bahninformationsanalyseeinheit 13 das Bearbeitungsprogramm 11 vor der Vorgabepositionserzeugungseinheit 12, ermittelt eine bestimmte Menge an Richtungsumkehrinformationen und gibt die erhaltenen Richtungsumkehrinformationen aus, bevor die Vorgabepositionserzeugungseinheit 12 das Bearbeitungsprogramm 11 liest und Vorgabepositionen ausgibt. Konkret bestimmt die Korrekturwertbestimmungseinheit 14 auf Basis der Richtungsumkehrinformationen der Bahninformationsanalyseeinheit 13, die das Bearbeitungsprogramm 11 zuvor gelesen hat, ob an den von der Vorgabepositionserzeugungseinheit 12 ausgegebenen Vorgabepositionen eine Spielkompensation durchgeführt werden soll oder nicht, wobei die Vorgabepositionserzeugungseinheit 12 die Bahninformationen ab Beginn des Bearbeitungsprogramms 11 sequentiell gelesen hat. Es wird darauf hingewiesen, dass der Umfang des von der Bahninformationsanalyseeinheit 13 vor der Vorgabepositionserzeugungseinheit 12 zu lesenden Bearbeitungsprogramms 11 vorab als Parameter für die Anzahl der Zeilen oder die Anzahl der Zeichen des Bearbeitungsprogramms 11 festgelegt wird. Ein konkretes Beispiel für einen vorab festgelegten Parametersatz umfasst 1000 Zeilen als Anzahl der Zeilen des Bearbeitungsprogramms 11, die von der Bahninformationsanalyseeinheit 13 vorab gelesen werden, und 10000 Zeichen als Anzahl der Zeichen des vorab zu lesenden Bearbeitungsprogramms 11.
-
Die Korrekturwertbestimmungseinheit 14 muss lediglich bestimmen, ob an der von der Vorgabepositionserzeugungseinheit 12, die die im Bearbeitungsprogramm 11 enthaltene Bahninformation gelesen hat, ausgegebenen Vorgabeposition eine Spielkompensation durchgeführt werden soll oder nicht. Die Bestimmung erfolgt auf Basis der Richtungsumkehrinformationen, die die Bahninformation enthalten, die durch eine Anweisung bezeichnet ist, die später auszuführen ist als die Anweisung, die die Bahninformation bezeichnet, die der Vorgabeposition in dem Bearbeitungsprogramm 11 entspricht. Dass die Bahninformationsanalyseeinheit 13 das Bearbeitungsprogramm 11 vor der Vorgabepositionserzeugungseinheit 12 liest, bedeutet also nicht unbedingt, dass das Bearbeitungsprogramm 11 zeitlich früher gelesen wird.
-
Wie vorstehend beschrieben umfassen die von der Bahninformationsanalyseeinheit 13 ausgegebenen Richtungsumkehrinformationen Informationen über den Teil einer im Bearbeitungsprogramm 11 enthaltenen Anweisung, der zu einer Umkehrung der Bewegungsrichtung des mechanischen Systems 6 führt. Dadurch kann die Korrekturwertbestimmungseinheit 14 bei Erhalt der Richtungsumkehrinformationen bestimmen, ob es sich bei der aktuell von der Vorgabepositionserzeugungseinheit 12 ausgegebenen Vorgabeposition um eine Vorgabeposition handelt, bei der eine Umkehr der Bewegungsrichtung stattfindet, indem die Informationen über den Teil der im Bearbeitungsprogramm 11 enthaltenen Anweisung des verwendet werden, die eine Umkehr der Bewegungsrichtung des mechanischen Systems 6 veranlassen. Darüber hinaus umfassen die Richtungsumkehrinformationen auch eine Bahninformation, die im Bearbeitungsprogramm 11 durch eine Anweisung bezeichnet ist, die später ausgeführt werden soll als eine Anweisung, die eine Umkehrung der Bewegungsrichtung des mechanischen Systems 6 bewirkt. Dadurch kann die Korrekturwertbestimmungseinheit 14 bestimmen, ob an der Vorgabeposition, die mit der Anweisung des von der Vorgabepositionserzeugungseinheit 12 aktuell verarbeiteten Bearbeitungsprogramms 11 verknüpft ist, eine Spielkompensation vorgenommen werden soll oder nicht, indem sie die Bahninformation verwendet, die durch die Anweisung des Bearbeitungsprogramms 11 bezeichnet wird, die später als die Anweisung ausgeführt werden soll, die die Umkehr der Bewegungsrichtung des mechanischen Systems 6 bewirkt. Dadurch lässt sich eine unnötige Spielkompensation vermeiden, sodass eine geeignete Spielkompensation ungeachtet einer durch eine Vorgabeposition bezeichneten Vorgabeform erfolgen kann.
-
Wenn die Richtungsumkehrinformationen die Verfahrstrecke des mechanischen Systems 6 entlang der Bewegungsachse, bei der die Umkehr der Bewegungsrichtung stattfindet, in einem auf die Position der Bewegungsrichtungsumkehr folgenden vorgegebenen Abschnitt eines Verfahrwegs umfassen, und wenn es sich bei der von der Vorgabepositionserzeugungseinheit 12 aktuell ausgegebenen Vorgabeposition um eine Vorgabeposition handelt, bei der die Umkehrung der Bewegungsrichtung erfolgt, kann die Korrekturwertbestimmungseinheit 14 ermitteln, wie lange das mechanische System 6 nach der Bewegungsrichtungsumkehrung entlang der Bewegungsachse, bei der die Umkehr der Bewegungsrichtung erfolgt ist, verfahren wird. Damit die Richtungsumkehrinformationen die Verfahrstrecke des mechanischen Systems 6 entlang der Bewegungsachse, bei der die Umkehrung der Bewegungsrichtung stattfindet, in einem auf die Position der Bewegungsrichtungsumkehr folgenden vorgegebenen Abschnitt eines Verfahrwegs umfassen, muss die Bahninformationsanalyseeinheit 13 die Verfahrstrecke ermitteln und die erhaltene Verfahrstrecke in die Richtungsumkehrinformationen aufnehmen, und zwar auf Basis der Bahninformation, die durch die Anweisung des Bearbeitungsprogramms 11 bezeichnet ist, die später auszuführen ist als die Anweisung, die die Bahninformation bezeichnet, die sich auf die von der Vorgabepositionserzeugungseinheit 12 aktuell ausgegebenen Vorgabeposition bezieht, bei der die Bewegungsrichtungsumkehr erfolgt. Wenn die Verfahrstrecke größer als ein vorgegebener Verfahrstreckenschwellwert ist, gibt die Korrekturwertbestimmungseinheit 14 bei der Umkehrung einen Korrekturwert aus und führt eine Spielkompensation durch. Wenn die Verfahrstrecke des mechanischen Systems 6 dagegen kleiner als der Verfahrstreckenschwellwert ist, setzt die Korrekturwertbestimmungseinheit 14 den Korrekturwert bei der Umkehrung auf 0 und führt keine Spielkompensation durch, da angenommen wird, dass durch die CAM eine unnötige Umkehrung der Bewegungsrichtung in den Verfahrweg eingefügt wurde. Der Verfahrstreckenschwellwert wird im Voraus als Parameter eingestellt. Der Verfahrstreckenschwellwert wird auf einen Wert eingestellt, dessen Größe dem für das mechanische System 6 spezifischen Spiel an der Bewegungsachse entspricht, an der die Umkehrung der Bewegungsrichtung erfolgt.
-
Wenn die Richtungsumkehrinformationen Werte der Koordinaten für die Position der Umkehrung der Bewegungsrichtung des mechanischen Systems 6 an der an der Bewegungsachse umfassen und wenn es sich bei der von der Vorgabepositionserzeugungseinheit 12 aktuell ausgegebenen Vorgabeposition um eine Vorgabeposition handelt, bei der eine Umkehr der Bewegungsrichtung des mechanischen Systems 6 stattfindet, kann die Korrekturwertbestimmungseinheit 14 bestimmen, ob es innerhalb einer vorgegebenen Wegstrecke, die von den Werten der Koordinaten für die Position ausgeht, an der die Umkehr der Bewegungsrichtung des mechanischen Systems 6 an der Bewegungsachse stattfindet, eine weitere Position mit einer Umkehr der Bewegungsrichtung gibt. Es wird darauf hingewiesen, dass die Bahninformationsanalyseeinheit 13 für die von der Korrekturwertbestimmungseinheit 14 vorgenommene Bestimmung Informationen darüber ermitteln muss, ob innerhalb der vorgegebenen Wegstrecke, die von den Werten der Koordinaten für die Position ausgeht, an der die Umkehrung der Bewegungsrichtung des mechanischen Systems 6 stattfindet, eine weitere Position mit einer Umkehr der Bewegungsrichtung existiert ist oder nicht, und die erhaltenen Informationen in die Richtungsumkehrinformationen aufnehmen muss. Die Bahninformationsanalyseeinheit 13 ermittelt die Informationen auf Basis der Bahninformation des Bearbeitungsprogramms 11, die durch eine nachträglich auszuführende Anweisung bezeichnet ist, sowie der Bahninformation, die durch eine andere vorher auszuführende Anweisung bezeichnet ist, wobei die andere Anweisung die Bahninformation bezeichnet, die sich auf die von der Vorgabepositionserzeugungseinheit 12 aktuell ausgegebene Vorgabeposition bezieht. Daher muss die vorgegebene Wegstrecke eine Strecke sein, die sich in dem Bereich des Verfahrwegs befindet, der durch die Bahninformation bezeichnet ist, die von der Bahninformationsanalyseeinheit 13 vorher aus dem Bearbeitungsprogramm 11 gelesen wurde. Wenn eine andere Position mit einer Umkehrung der Bewegungsrichtung innerhalb der vorgegebenen Wegstrecke, die von den Werten der Koordinaten für die Position ausgeht, an der die Umkehrung der Bewegungsrichtung des mechanischen Systems 6 stattfindet, vorhanden ist, gibt die Korrekturwertbestimmungseinheit 14 einen Korrekturwert für die Umkehrung aus und nimmt eine Spielkompensation vor. Wenn dagegen innerhalb der vorgegebenen Wegstrecke, die von den Werten der Koordinaten für die Position ausgeht, an der die Umkehrung der Bewegungsrichtung des mechanischen Systems 6 stattfindet, keine andere Position mit einer Umkehrung der Bewegungsrichtung vorhanden ist, setzt die Korrekturwertbestimmungseinheit 14 den Korrekturwert für die Umkehrung auf 0 und nimmt keine Spielkompensation vor. Die vorgegebene Wegstrecke wird als Parameter vorab festgelegt. Die vorgegebene Wegstrecke kann auf einen Zeilenvorschub eingestellt werden, bei dem es sich um einen Abstand paralleler Verfahrwege bei einer zeilenförmigen Bearbeitung handelt, die durch das Bearbeitungsprogramm 11 festgelegt sind. Zudem kann die von der Korrekturwertbestimmungseinheit 14 auf Basis der Werte der Koordinaten des mechanischen Systems 6 an der Bewegungsachse durchgeführte Prozedur zusammen mit der zuvor beschriebenen Prozedur verwendet werden, die auf der Verfahrstrecke des mechanischen Systems 6 entlang der Bewegungsachse, bei der die Umkehrung der Bewegungsrichtung stattgefunden hat, basiert.
-
Wie zuvor erläutert handelt es sich bei den Anweisungen in der elften und zwölften Zeile des Bearbeitungsprogramms 11 von 7 um Anweisungen, die eine Umkehr der Bewegungsrichtung entlang der Y-Achse zu erkennen geben. Die Bahninformationsanalyseeinheit 13 erzeugt als Richtungsumkehrinformationen für die Y-Achse daher die folgenden beiden Informationssätze.
-
Angabe der Anweisung, die zu einer Bewegungsrichtungsumkehr führt: elfte Zeile; Verfahrstrecke ab der Position der Bewegungsrichtungsumkehr: 0,001 mm (= d); und Werte der Koordinaten der Position der Bewegungsrichtungsumkehr: (5, 2,001, 2).
-
Angabe der Anweisung, die zu einer Bewegungsrichtungsumkehr führt: zwölfte Zeile; Verfahrstrecke ab der Position der Bewegungsrichtungsumkehr: 1 mm; und Werte der Koordinaten der Position der Bewegungsrichtungsumkehr: (10, 2, 2).
-
Hierbei wird angenommen, dass der oben genannte Verfahrstreckenschwellwert 5 µm (= 0,005 mm) und die vorgegebene Wegstrecke für eine Bestimmung, ob in der Nähe der Position mit einer Umkehr der Bewegungsrichtung eine weitere Position mit einer Umkehr der Bewegungsrichtung existiert ist oder nicht, 1,5 mm beträgt.
-
Bezüglich der Position mit einer Umkehr der Bewegungsrichtung in der elften Zeile des in 7 angegebenen Bearbeitungsprogramms 11 ist die Verfahrstrecke d ab der Position mit einer Umkehr der Bewegungsrichtung kleiner als der Verfahrstreckenschwellwert, der 5 µm entspricht. Darüber hinaus ist der Abstand zwischen den Koordinaten (10, 2, 2), die den Koordinaten der Position mit einer Umkehr der Bewegungsrichtung in der zwölften Zeile entsprechen, und den Koordinaten (5, 2,001, 2), die den Koordinaten der Position mit einer Umkehr der Bewegungsrichtung in der elften Zeile entsprechen, größer als die vorgegebene Wegstrecke, die 1,5 mm beträgt.
-
Daher bestimmt die Korrekturwertbestimmungseinheit 14, dass keine Spielkompensation erfolgt wird und legt den Korrekturwert bei der Umkehr auf Basis der Tatsache, dass die Verfahrstrecke d kleiner als der Verfahrstreckenschwellwert ist und dass der Abstand zwischen den Koordinaten der Positionen mit einer Umkehr der Bewegungsrichtung größer als die vorgegebene Wegstrecke ist, auf 0 fest. Hierdurch wird eine unnötige Spielkompensation am Punkt (5, 2,001, 2) vermieden, bei dem es sich um die Position handelt, an der winzige Bahnsegmente des zeilenförmigen Verfahrweges 53 von 6 gekrümmt sind, so dass auf der bearbeiteten Oberfläche zu keinem Kratzer kommt. Es wird darauf hingewiesen, dass die Korrekturwertbestimmungseinheit 14 entweder aufgrund der Tatsache, dass die Verfahrstrecke d kleiner als der Verfahrstreckenschwellwert ist, oder aufgrund der Tatsache, dass der Abstand zwischen den Koordinaten der Positionen mit einer Umkehr der Bewegungsrichtung größer als die vorgegebene Wegstrecke ist, bestimmen kann, dass keine Spielkompensation vorgenommen wird.
-
Die Darstellung von 8 veranschaulicht eine Konfiguration zur Realisierung der Funktionen der numerischen Steuervorrichtung 10 gemäß der ersten Ausführungsform durch einen Computer. In vorgestellten Fall werden die Funktionen der numerischen Steuervorrichtung 10 mittels einer Zentraleinheit (CPU) 101, eines Speichers 102, einer Schnittstelle 103 und eines speziellen Schaltkreises 104 realisiert. Die Funktionen der Vorgabepositionserzeugungseinheit 12, der Bahninformationsanalyseeinheit 13, der Korrekturwertbestimmungseinheit 14 und des Addierers 18 werden mit Hilfe von Software, Firmware oder einer Kombination aus Software und Firmware implementiert. Die Software oder Firmware liegt in Form von Programmen vor und ist im Speicher 102 abgelegt. Die CPU 101 implementiert die Funktionen der Komponenten, indem sie die im Speicher 102 gespeicherten Programme liest und ausführt. Somit umfasst die numerische Steuervorrichtung 10 den Speicher 102 zum Speichern von Programmen, die, wenn die Funktionen durch einen Computer ausgeführt werden, zur Ausführung von Schritten für die Ausbildung der Operationen der Vorgabepositionserzeugungseinheit 12, der Bahninformationsanalyseeinheit 13, der Korrekturwertbestimmungseinheit 14 und des Addierers 18 führen. Mit anderen Worten veranlassen diese Programme einen Computer, die Prozeduren oder Verfahren der Vorgabepositionserzeugungseinheit 12, der Bahninformationsanalyseeinheit 13, der Korrekturwertbestimmungseinheit 14 und des Addierers 18 auszuführen. Es wird darauf hingewiesen, dass der Speicher 102 auch als der oben beschriebene, von der Bahninformationsanalyseeinheit 13 verwendete Speicherbereich dient, wobei ein Direktzugriffsspeicher (RAM) ein konkretes Beispiel hierfür darstellt. Die Schnittstelle 103 weist eine Funktion zum Empfangen des Bearbeitungsprogramms 11 auf. Ein konkretes Beispiel für den speziellen Schaltkreis 104 ist eine Inverterschaltung der Servosteuereinheit 15.
-
Alternativ können ein Teil der Funktionen der Vorgabepositionserzeugungseinheit 12, der Bahninformationsanalyseeinheit 13, der Korrekturwertbestimmungseinheit 14, der Servosteuereinheit 15 und des Addierers 18 durch spezielle Hardware und andere Teile mittels Software oder Firmware implementiert werden. Wie vorstehend beschrieben können die oben beschriebenen Funktionen bei der numerischen Steuervorrichtung 10 mittels Hardware, Software, Firmware oder einer Kombination hiervon implementiert sein.
-
Wie vorstehend beschrieben liest bei der numerischen Steuervorrichtung 10 gemäß der ersten Ausführungsform die Bahninformationsanalyseeinheit 13 das Bearbeitungsprogramm 11 vor der Vorgabepositionserzeugungseinheit 12, wodurch ein Erzeugen der Richtungsumkehrinformationen durch die Bahninformationsanalyseeinheit 13 vor der Berechnung der Vorgabeposition durch die Vorgabepositionserzeugungseinheit 12 ermöglicht wird. Infolgedessen kann die Korrekturwertbestimmungseinheit 14 eine globale Bestimmung auf Basis der Richtungsumkehrinformationen vornehmen und eine korrekte Entscheidung darüber treffen, ob eine Spielkompensation durchzuführen ist oder nicht.
-
Darüber hinaus setzt bei der numerischen Steuervorrichtung 10 gemäß der ersten Ausführungsform die Korrekturwertbestimmungseinheit 14 den Korrekturwert bei der Umkehrung auf 0 und gibt bei der Umkehrung keinen Korrekturwert aus, wenn die Verfahrstrecke des mechanischen Systems 6 nach Umkehr der Bewegungsrichtung kleiner als der Verfahrstreckenschwellwert ist. Daher erfolgt in einem solchen Fall, bei dem die Verfahrstrecke des mechanischen Systems 6 nach Umkehr der Bewegungsrichtung kleiner oder gleich dem Spiel ist, keine unnütze Spielkompensation.
-
Außerdem setzt bei der numerischen Steuervorrichtung 10 gemäß der ersten Ausführungsform die Korrekturwertbestimmungseinheit 14 den Korrekturwert bei der Umkehrung auf 0 und gibt bei Umkehr keinen Korrekturwert aus, wenn es in der Nähe der aktuellen Position mit einer Umkehr der Bewegungsrichtung keine weitere Position mit einer Umkehr der Bewegungsrichtung gibt. Daher erfolgt keine unnütze Spielkompensation, wenn entgegen der beabsichtigten Bearbeitung bei einer zeilenförmigen Bearbeitung die Position der Umkehr der Bewegungsrichtung nur bei einem bestimmten Verfahrweg auftritt.
-
Wie vorstehend beschrieben wurde, bestimmt bei der numerischen Steuervorrichtung 10 gemäß der ersten Ausführungsform die Korrekturwertbestimmungseinheit 14, ob eine Spielkompensation durchgeführt werden soll oder nicht, auf Basis der von der Bahninformationsanalyseeinheit 13 erzeugten Richtungsumkehrinformationen, die das Bearbeitungsprogramm 11 vor der Vorgabepositionserzeugungseinheit 12 liest. Dadurch wird eine unnütze Spielkompensation vermieden, wenn entgegen der beabsichtigten Bearbeitung eine geringfügige Umkehr aufgrund einer Ursache wie z. B. eines durch die CAM verursachten Berechnungsfehlers auftritt. Dadurch kann eine Beeinträchtigung der Genauigkeit der Konturbewegungssteuerung durch eine unnütze Spielkompensation vermieden werden, wodurch das Auftreten einer Linie oder eines Kratzers auf einer bearbeiteten Oberfläche verhindert wird.
-
Die bei der oben beschriebenen Ausführungsform dargestellten Konfigurationen stellen Beispiele für die vorliegende Erfindung dar und können mit anderen bekannten Technologien kombiniert oder teilweise weggelassen oder modifiziert werden, ohne vom Umfang der vorliegenden Erfindung abzuweichen.
-
Bezugszeichenliste
-
- 6
- mechanisches System;
- 10
- numerische Steuervorrichtung;
- 11
- Bearbeitungsprogramm;
- 12
- Vorgabepositionserzeugungseinheit;
- 13
- Bahninformationsanalyseeinheit;
- 14
- Korrekturwertbestimmungseinheit;
- 15
- Servosteuereinheit;
- 16
- Servomotor;
- 17
- Positionsdetektor;
- 31
- Positionssteuereinheit;
- 32
- Geschwindigkeitssteuereinheit;
- 33
- Differentialberechnungseinheit;
- 41,42
- Punkt;
- 51, 52, 53, 54, 55
- zeilenförmige Bewegungsbahn;
- 61
- Kugelgewindetrieb;
- 62
- Mutter;
- 63
- Maschinentisch;
- 64
- Linearführung;
- 101
- CPU;
- 102
- Speicher;
- 103
- Schnittstelle;
- 104
- spezieller Schaltkreis.