-
HINTERGRUND
-
Die vorliegende Erfindung bezieht sich auf eine numerische Steuervorrichtung und ein Steuerverfahren.
-
Aus der Druckschrift
DE 103 51 781 A1 ist ein rechnergestütztes Anpassungsverfahren für ein Anwenderprogramm für eine Werkzeugmaschine und eine entsprechende Werkzeugmaschine mit diesem Anwenderprogramm bekannt, bei denen eine Folge von Steuerbefehlen für Vorschubachsen einer Werkzeugmaschine eine von einem Werkzeug relativ zu einem Werkstück abzufahrende Kontur definiert. Ein Rechner ermittelt anhand der Folge von Steuerbefehlen Folgebefehle für eine entsprechend der Kontur nachzuführende Rundachse der Werkzeugmaschine. Hierzu ermittelt der Rechner anhand der Folge von Steuerbefehlen, ob und gegebenenfalls an welchen Stellen die Kontur Winkel- oder Krümmungssprünge aufweist. Im Falle eines Winkel- bzw. Krümmungssprungs ermittelt er die Folgebefehle, derart, dass bei der Ausführung der Steuer- und der Folgebefehle bereits vor dem Winkel- bzw. Krümmungssprung mit dem Beschleunigen der Rundachse begonnen wird und das Beschleunigen der Rundachse erst nach dem Winkel- bzw. Krümmungssprung beendet wird.
-
Eine numerische Steuervorrichtung eines Bearbeitungswerkzeugs führt Bearbeitung durch Bewegen eines Werkzeuges oder eines Arbeitsmaterials entlang eines Weges durch, der abgeleitet wird durch Interpolation von festgelegten Punkten, die durch ein NC-Programm festgelegt wurden. Die numerische Steuervorrichtung führt Beschleunigungs-/Abbrems-Steuerung durch, um Beschleunigen und Abbremsen sanft durchzuführen und Vibrationen bei dem Bearbeitungswerkzeug zu verhindern. Eine Art von Beschleunigungs-/Abbrems-Steuerung ist Post-Interpolation-Beschleunigen/Abbremsen ist ein Verfahren, das einen Gleitender-Mittelwert-Filter oder dergleichen zum Anwenden von Beschleunigungs-/Abbrems-Verarbeitung anwendet, nachdem der Weg in Form von Treiberpulsen an einzelne bewegliche Achsen zugeordnet worden ist. Dieses Verfahren besitzt die Vorteile von einfachen Berechnungen und hoher Stabilität, aber hat auch ein Problem darin, dass Abweichungen von dem Weg mit zunehmender Geschwindigkeit des Bearbeitungswerkzeuges größer werden. Eine Technologie, die in der Lage ist, die Abweichungen von dem Weg zu verringern und das Bearbeitungswerkzeug mit hoher Geschwindigkeit zu bewegen, ist in der Japanischen Offenlegungsschrift
JP S58-35607 A beschrieben. Nachdem ein Steuerbefehl ausgeführt wurde, verzögert diese Technologie den Start von Berechnungen zur Pulszuordnung zum Ausführen des nächsten Steuerbefehls gemäß einer Abweichungstoleranz und Form, welche das NC-Programm für das Arbeitsmaterial festlegt. Die Berechnungen zur Pulszuordnung sind Berechnungen, welche die Treiberpulse den einzelnen beweglichen Achsen für die Richtung des Weges zuordnen. Dieses Verfahren berechnet zuerst eine Bearbeitungsabweichung unter Verwendung einer bestimmten Gleichung und einer Mehrzahl von Parametern. Als nächstes wird die Verzögerungszeit zum Verzögern des Beginns der Berechnungen zur Pulszuordnung bestimmt gemäß der Differenz zwischen der Bearbeitungsabweichung und der Abweichungstoleranz basierend auf einer Tabelle, in der Differenzen zwischen Bearbeitungsabweichungen und Abweichungstoleranzen gespeichert sind in Entsprechung mit Verzögerungszeiten.
-
KURZFASSUNG
-
Die oben beschriebene Technologie erfordert, dass alle denkbaren Muster der Entsprechung zwischen den Verzögerungszeiten und den Differenzen zwischen den Bearbeitungsabweichungen und den Abweichungstoleranzen im Voraus berechnet und dann in der Tabelle gespeichert werden müssen. Dies stellt ein Problem dahingehend dar, dass die Aufgabe mühsam ist und viel Speichermenge erfordert. Darüber hinaus ist das Verfahren zum Berechnen der Verzögerungszeiten auf der Grundlage der Differenzen zwischen den Bearbeitungsabweichungen und den Abweichungstoleranzen nicht in der oben zitierten Veröffentlichung offenbart. Es wäre daher wünschenswert, dass eine numerische Steuervorrichtung entwickelt wird, welche die Abweichungen von dem durch das NC-Programm bestimmten Weg innerhalb der Abweichungstoleranzen hält, ohne eine Tabelle zu verwenden und mit einem geringen Berechnungsaufwand.
-
Verschiedene Ausführungsformen der hier abgeleiteten allgemeinen Prinzipien zum Bereitstellen einer numerischen Steuervorrichtung und eines Steuerverfahrens, welche eine Steuerung durchführen können, die die Abweichung von dem durch das NC-Programm bestimmten Weg mit einem geringen Berechnungsaufwand immer innerhalb der Abweichungstoleranz hält.
-
Eine numerische Steuervorrichtung der vorliegenden Erfindung führt Schneidearbeit durch Bewegen entweder eines Werkzeuges oder eines Arbeitsmaterials entlang eines Weges durch, der abgeleitet wird durch Interpolieren von benachbarten Punkten von einer Mehrzahl von festgelegten Punkten, welche durch ein NC-Programm festgelegt werden. Das NC-Programm enthält eine Mehrzahl von Blöcken, die von Steuerbefehlen konfiguriert sind. Die numerische Steuervorrichtung enthält ein Inter-Block-Winkel-Berechnungsmittel, ein Geschwindigkeits-Bestimmungsmittel, ein Berechnungsmittel und ein Ausführungsmittel. Das Inter-Block-Winkel-Berechnungsmittel berechnet einen Inter-Block-Winkel, wobei der Inter-Block-Winkel ein Winkel zwischen einem ersten Block, welcher durch einen aktuellen Interpolationsbefehl in dem NC-Programm interpoliert wird, und einen zweiten Block ist, der durch einen vorhergehenden Interpolationsbefehl interpoliert wurde. Das Geschwindigkeits-Bestimmungsmittel bestimmt eine festgelegte Geschwindigkeit, wobei die festgelegte Geschwindigkeit die größere von einer festgelegten Geschwindigkeit, die eine Bewegungsgeschwindigkeit des einem von dem Werkzeug und dem Arbeitsmaterial in dem ersten Block festlegt, und einer festgelegten Geschwindigkeit, die die Bewegungsgeschwindigkeit des einem von dem Werkzeug und dem Arbeitsmaterial in dem zweiten Block festlegt, ist. Das Berechnungsmittel berechnet eine Zeit, zu der Motoren, welche entweder das Werkzeug oder das Arbeitsmaterial bewegen, beginnen, den aktuellen Interpolationsbefehl auszuführen, durch Berechnen einer Startverzögerungszeit, welche die Länge der Zeit ist, um die der Start der Bewegung auf der Grundlage des gegenwärtigen Interpolationsbefehls verzögert wird, nachdem die auf dem unmittelbar vorhergehenden Interpolationsbefehl basierende Bewegung geendet hat, basierend auf Beschleunigungs-/Abbrems-Zeitkonstanten für die Motoren, einer Abweichungstoleranz für die Abweichung von dem Weg, dem Inter-Block-Winkel, der durch das Inter-Block-Winkel-Berechnungsmittel berechnet wurde, und der Geschwindigkeit, welche durch das Geschwindigkeitsbestimmungsmittel bestimmt wurde. Das Ausführungsmittel bewirkt, dass die Motoren den aktuellen Interpolationsbefehl ausführen, basierend auf der Zeit, welche das Berechnungsmittel berechnet hat. Daher kann die numerische Steuervorrichtung durch Verwenden der verschiedenen Parameter der Beschleunigungs-/Abbrems-Zeitkonstanten, der Abweichungstoleranz, der festgelegten Geschwindigkeit und dem Inter-Block-Winkel, die Abweichung von dem durch das NC-Programm bestimmten Weg, auf dem sich das Werkzeug bewegt, mit einem geringen Berechnungsaufwand immer innerhalb der Abweichungsgrenzen halten.
-
Eine bevorzugte Ausführungsform der numerischen Steuervorrichtung der vorliegenden Erfindung enthält außerdem ein Kreisbogen-Geschwindigkeits-Berechnungsmittel und ein Einstellmittel für eine festgelegte Geschwindigkeit. Wenn zumindest einer von dem ersten Block und dem zweiten Block ein Kreisbogen-Interpolationsblock ist, der eine Kreisbogen-Interpolation durchführt, berechnet das Kreisbogen-Geschwindigkeits-Berechnungsmittel eine Kreisbogen-Geschwindigkeit, mit der sich das eine von dem Werkzeug und dem Arbeitsmaterial in dem Kreisbogen-Interpolationsblock bewegt. Die Kreisbogen-Geschwindigkeit wird berechnet auf der Grundlage eines Kreisbogen-Radius eines festgelegten Kreisbogens, der durch einen Kreisbogen-Interpolationsbefehl festgelegt wird, welcher dem Kreisbogen-Interpolationsblock entspricht, auf der Grundlage der Abweichungstoleranz und auf der Grundlage der Beschleunigungs-/Abbrems-Zeitkonstanten. Das Einstellmittel für die festgelegte Geschwindigkeit vergleicht die Kreisbogengeschwindigkeit, welche das Kreisbogengeschwindigkeits-Berechnungsmittel berechnet hat, mit der festgelegten Geschwindigkeit, welche die Bewegungsgeschwindigkeit des einen von dem Werkzeug und dem Arbeitsmaterial in dem Kreisbogen-Interpolationsblock festlegt, und stellt die geringere der beiden Geschwindigkeiten als die festgelegte Geschwindigkeit in dem Kreisbogen-Interpolationsblock ein. Das Inter-Block-Winkel-Berechnungsmittel berechnet für den Kreisbogen-Interpolations-Block einen Winkel, der zwischen dem anderen Block und einer festgelegten Kreisbogen-Tangentenlinie gebildet wird, die eine Tangentenlinie des festgelegten Kreisbogens ist und durch einen ersten festgelegten Punkt verläuft, an dem der erste Block und der zweite Block verbunden sind. Das Inter-Block-Winkel-Berechnungsmittel berechnet außerdem einen Winkel, der gebildet wird zwischen dem anderen Block und einer tatsächlichen Kreisbogen-Tangentenlinie, welche durch den ersten festgelegten Punkt verläuft und eine Tangentenlinie eines tatsächlichen Kreisbogens ist, die eine Abweichung hin zu der Innenseite des Kreisbogens enthält, wobei die Abweichung abgeleitet wird aus der festgelegten Geschwindigkeit in den Kreisbogen-Interpolationsblock und dem Kreisbogenradius des festgelegten Kreisbogens. Das Inter-Block-Winkel-Berechnungsmittel setzt den kleineren der beiden zwei berechneten Winkel als den Inter-Block-Winkel fest. Daher ist die numerische Steuervorrichtung in der Lage, den Inter-Block-Winkel zu berechnen, wenn zumindest einer von dem ersten Block und dem zweiten Block ein Kreisbogen-Interpolationsblock ist. Daher ist die numerische Steuervorrichtung mit Verwenden des berechneten Inter-Block-Winkels in der Lage, genau die Zeit zu berechnen, zu der die Motoren beginnen, den gegenwärtigen Interpolationsbefehl auszuführen.
-
Eine bevorzugte Ausführungsform der numerischen Steuervorrichtung der vorliegenden Erfindung enthält das Inter-Block-Winkel-Berechnungsmittel ein erstes Winkel-Berechnungsmittel, ein zweites Winkel-Berechnungsmittel und ein drittes Winkel-Berechnungsmittel. In einem Fall, bei dem der erste Block und der zweite Block beide lineare Interpolationsblöcke sind, welche lineare Interpolation durchführen, berechnet das erste Winkel-Berechnungsmittel den Inter-Block-Winkel zwischen den beiden linearen Interpolationsblöcken. In einem Fall, in dem einer von dem ersten Block und dem zweiten Block ein Kreisbogen-Interpolationsblock ist und der andere ein linearer Interpolationsblock ist, berechnet das zweite Winkel-Berechnungsmittel den Inter-Block-Winkel zwischen dem Kreisbogen-Interpolationsblock und dem linearen Interpolationsblock. In einem Fall, in dem der erste Block und der zweite Block beide Kreisbogen-Interpolationsblöcke sind, berechnet das dritte Winkel-Berechnungsmittel den Inter-Block-Winkel zwischen den zwei Kreisbogen-Interpolationsblöcken. Das zweite Winkel-Berechnungsmittel vergleicht einen Winkel, der zwischen der festgelegten Kreisbogen-Tangentenlinie und einer festgelegten geraden Linie gebildet wird, wobei die festgelegte gerade Linie festgelegt wird durch einen linearen Interpolationsbefehl, der dem linearen Interpolationsblock entspricht, und einen Winkel, der zwischen der tatsächlichen Kreisbogen-Tangentenlinie und der festgelegten geraden Linie gebildet wird. Das zweite Winkelberechnungsmittel setzt dann den kleineren der beiden Winkel als den Inter-Block-Winkel fest. Das dritte Winkel-Berechnungsmittel vergleicht einen Winkel, der zwischen der festgelegten Kreisbogen-Tangentenlinie für den ersten Block und der festgelegten Kreisbogen-Tangentenlinie für den zweiten Block gebildet wird, einen Winkel, der zwischen der tatsächlichen Kreisbogen-Tangentenlinie für den ersten Block und der festgelegten Kreisbogen-Tangentenlinie für den zweiten Block gebildet wird, einen Winkel, der zwischen der festgelegten Kreisbogen-Tangentenlinie für den ersten Block und der tatsächlichen Kreisbogen-Tangentenlinie für den zweiten Block gebildet wird und einen Winkel, der zwischen der tatsächlichen Kreisbogen-Tangentenlinie für den ersten Block und der tatsächlichen Kreisbogen-Tangentenlinie für den zweiten Block gebildet wird. Das dritte Winkel-Berechnungsmittel setzt dann den kleinsten der vier Winkel als den Inter-Block-Winkel fest. Daher ist die numerische Steuervorrichtung in der Lage, den Inter-Block-Winkel zwischen einem linearen Interpolationsblock und einem linearen Interpolationsblock, zwischen einem Kreisbogen-Interpolationsblock und einem linearen Interpolationsblock sowie zwischen einem Kreisbogen-Interpolationsblock und einem Kreisbogen-Interpolationsblock zu berechnen. Daher ist die numerische Steuervorrichtung in der Lage, die Zeit genau zu berechnen, zu der die Motoren beginnen, den gegenwärtigen Interpolationsbefehl auszuführen.
-
Die Aufgabe wird auch gelöst durch ein Verfahren nach Patentanspruch 4. Mit dem erfindungsgemäßem Verfahren kann die numerische Steuervorrichtung gemäß der oben beschriebenen Steuerung durch Verwenden der verschiedenen Parameter von den Beschleunigungs-/Abbrems-Zeitkonstanten, der Abweichungstoleranz, der festgelegten Geschwindigkeit und dem Inter-Block-Winkel, die Abweichung von dem Weg, auf dem sich das Werkzeug bewegt, welchen das NC-Programm festlegt, innerhalb der Abweichungstoleranz mit einem geringen Berechnungsaufwand halten.
-
Figurenliste
-
Beispielhafte Ausführungsformen der vorliegenden Offenbarung werden unten im Detail mit Bezug auf die begleitenden Zeichnungen beschrieben werden, in denen:
- 1 ein Blockdiagramm ist, das elektrische Konfigurationen einer numerischen Steuervorrichtung 30 und eines Bearbeitungswerkzeuges 1 zeigt;
- 2 ein Diagramm von Bewegungsgeschwindigkeiten ist, die durch zweistufige FIR-Filter bearbeitet wurden;
- 3 ein Ablaufdiagramm der Hauptverarbeitung ist;
- 4 ein Ablaufdiagramm der Verarbeitung für die Steuerung konstanter Abweichung ist;
- 5 ein Ablaufdiagramm einer Verarbeitung für die Korrektur des Inter-Block-Winkels ist;
- 6 ein Diagramm eines Weges ist, der von einem linear interpolierten Block B1 und einem Kreisbogen-Interpolierten Block B2 gebildet wird;
- 7 ein Diagramm eines Weges ist, der von dem linear interpolierten Block B1 und dem Kreisbogen-interpolierten Block B2 gebildet wird;
- 8 ein Diagramm eines Weges ist, der von einem Kreisbogen-interpolierten Block B1 und einem linear interpolierten Block B2 gebildet wird;
- 9 ein Diagramm eines Weges ist, der von dem Kreisbogen-interpolierten Block B1 und dem Kreisbogen-interpolierten Block B2 gebildet wird;
- 10 ein Diagramm eines Weges ist, der von den linear interpolierten Blöcken B1 und B2 gebildet wird;
- 11 ein Diagramm ist, das Änderungen der Bewegungsgeschwindigkeiten 1 und 2 beim Bewegen eines Werkzeuges auf dem in 10 gezeigten Weg zeigt;
- 12 ein Diagramm eines Weges ist, auf dem eine Kurve durchgehend ist;
- 13 ein Diagramm ist, das einen Zusammenhang zwischen einer Bewegungsgeschwindigkeit und einer Bewegungszeit beim Bewegen eines Werkzeuges auf dem in 12 gezeigten Weg zeigt;
- 14 ein Diagramm ist, das Änderungen (Td = 0) in den Geschwindigkeiten 1 und 2 zeigt;
- 15 ein Diagramm ist, das Änderungen (Td ≥ t1 - t2) in den Geschwindigkeiten 1 und 2 zeigt, und
- 16 ein Diagramm ist, das Änderungen (Td = t1 + t2) in den Geschwindigkeiten 1 und 2 zeigt.
-
DETAILLIERTE BESCHREIBUNG VON BEISPIELHAFTEN AUSFÜHRUNGSFORMEN
-
Eine Ausführungsform der vorliegenden Erfindung wird mit Bezug auf die Zeichnungen erklärt werden. Eine numerische Steuervorrichtung 30 führt durch Steuern eines Bearbeitungswerkzeuges 1 Schneidearbeit an einem Arbeitsmaterial (in den Zeichnungen nicht dargestellt) durch, das auf der Oberseite des Tisches (in den Zeichnungen nicht dargestellt) gehalten wird. Die Links-Rechts-Richtung, Die Vorne-Hinten-Richtung und die Oben-Unten-Richtung des Bearbeitungswerkzeugs 1 entsprechen jeweils einer X-Achsen-Richtung, einer Y-Achsen-Richtung und einer Z-Achsen-Richtung.
-
Die Konfiguration des Bearbeitungswerkzeugs 1 wird mit Bezug auf 1 erklärt werden. Das Bearbeitungswerkzeug 1 ist mit einem Antriebswellenmechanismus, einem Antriebswellenbewegungsmechanismus, einer Werkzeugaustauscheinheit und dergleichen versehen, die in den Figuren nicht dargestellt sind. Der Antriebswellenmechanismus ist mit einem Antriebswellenmotor 52 versehen und dreht eine Antriebswelle, auf der ein Werkzeug montiert ist. Der Antriebswellenbewegungsmechanismus ist mit einem X-Achsen-Motor 53, einem Y-Achsen-Motor 54 und einem Z-Achsen-Motor 51 versehen, und er bewegt die Antriebswelle entlang der X-, Y- und Z-Achsen relativ zu dem Arbeitsmaterial, das von der Oberseite des Tisches (in den Zeichnungen nicht dargestellt) getragen wird. Die Werkzeugaustauscheinheit ist mit einem Magazinmotor 55 versehen und tauscht das Werkzeug, das an der Antriebswelle montiert ist, mit einem anderen Werkzeug aus durch Betreiben eines Werkzeugmagazins (in den Zeichnungen nicht gezeigt), in dem eine Mehrzahl von Werkzeugen gespeichert ist. Das Bearbeitungswerkzeug 1 ist mit einem Bedienfeld 10 versehen. Das Bedienfeld 10 ist mit einem Eingabeabschnitt 24 und einem Anzeigeabschnitt 25 versehen. Der Eingabeabschnitt 24 ist eine Vorrichtung zum Vornehmen verschiedener Arten von Eingaben, Befehlen, Einstellungen und dergleichen. Der Anzeigeabschnitt 25 zeigt verschiedene Arten von Bildschirmen an. Das Bedienfeld 10 ist mit einem Eingabe-/Ausgabe-Abschnitt 35 der numerischen Steuervorrichtung 30 verbunden. Der Z-Achsen-Motor 51 ist mit einem Encoder 51B versehen. Der Antriebswellenmotor 52 ist mit einem Encoder 52B versehen. Der X-Achsen-Motor 53 ist mit einem Encoder 53B versehen. Der Y-Achsen-Motor 54 ist mit einem Encoder 54B versehen. Der Magazinmotor 55 ist mit einem Encoder 55B versehen. Die Encoder 51B bis 55B sind jeweilig verbunden mit Treiberschaltungen 51A bis 55A der numerischen Steuervorrichtung 30.
-
Eine elektrische Konfiguration der numerischen Steuervorrichtung 30 wird mit Bezug auf 1 erklärt werden. Die numerische Steuervorrichtung 30 ist mit einer CPU 31, einem ROM 32, einem RAM 33, einer Speichervorrichtung 34, dem Eingabe-/Ausgabe-Abschnitt 35, den Treiberschaltungen 51A bis 55A und dergleichen versehen. Die CPU 31 führt eine Gesamtsteuerung der numerischen Steuervorrichtung 30 durch. Das ROM 32 speichert verschiedene Arten von Programmen, wie z.B. ein Hauptprogramm und dergleichen. Der RAM 33 speichert verschiedene Arten von Daten während der Ausführung von verschiedenen Arten von Verarbeitung. Die Speichervorrichtung 34 ist ein nichtflüchtiger Speicher. Der Eingabe-/Ausgabe-Abschnitt 35 ist mit dem Bedienfeld 10 verbunden. Die Treiberschaltung 51A ist mit dem Z-Achsen-Motor 51 und dem Encoder 51B verbunden. Die Treiberschaltung 52A ist mit dem Antriebswellenmotor 52 und dem Encoder 52B verbunden. Die Treiberschaltung 53A ist mit dem X-Achsen-Motor 53 und dem Encoder 53B verbunden. Die Treiberschaltung 54A ist mit dem Y-Achsen-Motor 54 und dem Encoder 54B verbunden. Die Treiberschaltung 55A ist mit dem Magazinmotor 55 und dem Encoder 55B verbunden. Die Treiberschaltungen 51A bis 55A empfangen Treibersignale von der CPU 31 und geben Treiberströme (Pulse) an die entsprechende Motoren 51 bis 55 aus. Die Treiberschaltungen 51A bis 55A führen Regelung der Positionen und Geschwindigkeiten auf der Grundlage von Rückkoppelsignalen durch, die sie jeweils von den Encodern 51B bis 55B empfangen. Die Treiberschaltungen 51A bis 55A können außerdem FPGA-Schaltungen sein.
-
Gleitender-Mittelwert-Filter und Zeitkonstanten, die verwendet werden für Post-Interpolation-Beschleunigen/Abbremsen wird mit Bezug auf 2 erläutert werden. Für jede der drei Antriebsachsen, der X-Achse, der Y-Achse und der Z-Achse berechnet die numerische Steuervorrichtung 30 eine Zielposition, einen Bewegungsabstand, eine Bewegungsgeschwindigkeit, eine Bewegungsdauer und dergleichen auf der Grundlage von Interpolationsbefehlen in einem NC-Programm. Die Interpolationsbefehle sind Steuerbefehle, die die Zeit verwenden, für die sich eine Achse mit einer festgelegten Geschwindigkeit bewegt, und sie enthalten lineare Interpolationsbefehle, Kreisbogen-Interpolationsbefehle und dergleichen. Die numerische Steuervorrichtung 30 führt Post-Interpolation-Beschleunigen/Abbremsen durch, das Änderungen in der Bewegungsgeschwindigkeit glättet, die für jede der Antriebsachsen berechnet wird, indem die Bewegungsgeschwindigkeiten einen Gleitender-Mittelwert-Filter (im Folgenden FIR-Filter genannt) zumindest zweimal durchlaufen. Das NC-Programm enthält eine Mehrzahl von Blöcken, die von Steuerbefehlen, wie z.B. G-Codes, M-Codes und dergleichen konfiguriert werden.
-
2 zeigt die Ergebnisse des Aufnehmens der Bewegungsgeschwindigkeit eines Werkzeuges, das sich von x1 bis x2 auf der X-Achse bewegt, und des zweimaligen Durchführens der Verarbeitung durch den FIR-Filter an derselben. Die Beschleunigungs-/Abbrems-Zeitkonstanten des FIR-Filters (im Folgenden die Zeitkonstanten genannt) entsprechen der Anzahl an Abtastungen, welche der FIR-Filter mittelt. Zum Beispiel, wenn die Abtastzeit gleich 1 Millisekunde ist und die Zeitkonstante für den FIR-Filter gleich 10 Millisekunden ist, gibt der FIR-Filter in dem gegenwärtigen Durchgang den Durchschnitt der 10 letzten Interpolationsbefehle einschließlich eines gegenwärtigen Interpolationsbefehls aus. Es sei angenommen, dass die Zeitkonstante für den FIR-Filter der ersten Stufe (FIR1) gleich t1 ist und dass die Zeitkonstante für den FIR-Filter der zweiten Stufen (FIR2) gleich t2 ist. Das Ergebnis des Verarbeitens der Bewegungsgeschwindigkeit durch die zweistufigen FIR-Filter (FIR1, FIR2) ist, dass die Änderung in der Beschleunigung geringer als konstant ist, so dass die Geschwindigkeit des Werkzeuges allmählich zunimmt während des Zeitintervalls t1 + t2, seine maximale Geschwindigkeit erreicht, dann die Geschwindigkeit allmählich während des Zeitintervalls t1 + t2 abnimmt und stoppt. Daher kann die numerische Steuervorrichtung 30 durch Verarbeiten der Bewegungsgeschwindigkeit durch eine Mehrzahl von FIR-Filtern alle plötzlichen Änderungen in der Bewegungsgeschwindigkeit dämpfen, so dass die numerische Steuervorrichtung 30 Vibrationen in dem Bearbeitungswerkzeug 1 verhindern kann und das maximale Drehmoment, das für den Betrieb benötigt wird, begrenzen kann. Mit Post-Interpolation-Beschleunigen/Abbremsen treten aufgrund der Zeitkonstanten t1 , t2 Abweichungen in dem Weg auf, auf dem sich das Werkzeug tatsächlich bewegt, relativ zu dem Weg, den das NC-Programm festlegt. Daher verzögert die numerische Steuervorrichtung 30 den Beginn der Bewegung für den gegenwärtigen Interpolationsbefehl nachdem die Bewegung für den vorhergehenden Interpolationsbefehl beendet wurde, um das Werkzeug innerhalb der Abweichungstoleranz zu bewegen, welche der Benutzer im Voraus eingestellt hat. Durch Durchführen von Hauptverarbeitung kann die numerische Steuervorrichtung 30 die Verzögerungszeit für das Verzögern des Beginns des gegenwärtigen Interpolationsbefehls mit einer geringen Berechnungslast leicht berechnen.
-
Die Hauptverarbeitung, welche die CPU 31 durchführt, wird mit Bezug auf 3 erläutert werden. Ein Bediener gibt durch den Eingabeabschnitt 24 des Bedienfeldes 10 eine Nummer für das NC-Programm für die Arbeitsmaterialform ein, die bearbeitet werden wird, drückt dann eine Bearbeitungsstarttaste (nicht in den Zeichnungen gezeigt). Wenn die CPU 31 erfasst, dass die Bearbeitungsstarttaste gedrückt wurde, liest sie das Hauptprogramm, das in dem ROM 32 gespeichert ist, und führt die Verarbeitung durch.
-
Die CPU 31 liest von der Speichervorrichtung 34 das NC-Programm aus, das der Zahl entspricht, die durch den Eingabeabschnitt 24 eingegeben wurde (Schritt S1). Die CPU 31 interpretiert das NC-Programm, das von der ersten Zeile (Schritt S2) beginnt und erkennt, den Steuerbefehl in dieser Zeile. Die CPU 31 bestimmt, ob der erkannte Steuerbefehl ein Abbruchbefehl ist, der anweist, dass das NC-Programm beendet wird (Schritt S3). Wenn der Steuerbefehl kein Abbruchbefehl ist (NEIN in Schritt S3), bestimmt die CPU 31, ob der Steuerbefehl ein Interpolationsbefehl ist (Schritt S4). Wenn der Steuerbefehl etwas anderes ist als ein Interpolationsbefehl (z.B. ein Positionierbefehl, ein Werkzeugdurchmesserkorrekturbefehl, ein Werkzeugaustauschbefehl oder dergleichen) ist (NEIN in Schritt S4), führt die CPU 31 die Operation durch, die dem Steuerbefehl entspricht (Schritt S14). Wenn der Steuerbefehl ein Interpolationsbefehl ist (JA in Schritt S4), erzeugt die CPU 31 eine Koordinatenposition (festgelegte Position) für einen Post-Interpolation-Festlegungspunkt (Schritt S5). Die CPU 31 bestimmt, ob eine Steuerung konstanter Abweichung aktiviert wird (Schritt S6). Bei einem Post-Interpolation-Beschleunigen-Abbremsen, steuert die Steuerung konstanter Abweichung den Betrieb des Bearbeitungswerkzeuges 1 derart, dass der Weg, auf dem sich das Werkzeug tatsächlich bewegt, innerhalb einer voreingestellten Abweichungstoleranz relativ zu dem Weg bleibt, den das NC-Programm festgelegt. Der Bediener kann das Anzeigefeld 10 verwenden, um im Voraus auszuwählen, ob die Steuerung konstanter Abweichung aktiviert oder deaktiviert wird. Unter Verwendung zum Beispiel eines Flags oder dergleichen speichert die CPU 31 das Aktivieren oder Deaktivieren der Steuerung konstanter Abweichung, welche der Bediener in das RAM 33 oder dergleichen eingegeben hat. Wenn eine Steuerung konstanter Abweichung deaktiviert ist (NEIN in Schritt S6), führt die CPU 31 Interpolationsverarbeitung durch, ohne eine Steuerung konstanter Abweichung durchzuführen (Schritt S12). Bei der Interpolationsverarbeitung interpoliert die CPU 31 zwischen der gegenwärtigen Position und der festgelegten Position, berechnet dann die Zielposition, die Bewegungsdistanz, die Bewegungsgeschwindigkeit, die Bewegungsdauer und dergleichen für jede der drei Antriebsachsen, die X-Achse, die Y-Achse und die Z-Achse. Die CPU führt FIR-Filterverarbeitung durch (Schritt S13). Bei der FIR-Filterverarbeitung wird die Bewegungsgeschwindigkeit für jede Antriebsachse verarbeitet durch die zweistufigen FIR-Filter (FIR1, FIR2) wie oben beschrieben. Die Änderungen in der Geschwindigkeit für jede der Antriebsachsen sind daher sanfter. Die CPU 31 erzeugt die Treibersignale und gibt diese an die entsprechenden Treiberschaltungen 51A, 53A, 54A aus (Schritt S11). Die Treibersignale enthalten verschiedene Arten von Informationen, wie z.B. die Zielposition, die Bewegungsdistanz, die Bewegungsgeschwindigkeit, die Bewegungsdauer und dergleichen für jede der Antriebsachsen. Auf der Grundlage der Treibersignale, die von der CPU 31 empfangen wurden, geben die Treiberschaltungen 51A, 53A, 54A die Treiberströme an die entsprechenden Motoren 51, 53, 54 aus. Daher kann die numerische Steuervorrichtung 30 das Werkzeug entsprechend dem Weg bewegen, den die Interpolationsbefehle des NC-Programms festlegen.
-
Wenn die Steuerung konstanter Abweichung aktiviert ist (JA in Schritt S6), führt die CPU 31 eine Steuerung konstanter Abweichung durch (Schritt S7). Die Verarbeitung für eine Steuerung konstanter Abweichung wird mit Bezug auf 4 erläutert werden. Die CPU 31 bestimmt, ob der interpretierte Interpolationsbefehl ein Kreisbogen-Interpolationsbefehl ist (Schritt S21). Wenn der Interpolationsbefehl ein Kreisbogen-Interpolationsbefehl ist (JA in Schritt S21), gibt es aufgrund der Zeitkonstanten t1 , t2 bei der FIR-Filterverarbeitung, die später durchgeführt werden wird, eine Möglichkeit, dass das Werkzeug sich in einem Bogen zu der inneren Seite des festgelegten Kreisbogens, den der Kreisbogen-Interpolationsbefehl festlegt, bewegen wird. Daher berechnet die CPU 31 eine Kreisbogengeschwindigkeit Fc unter Verwendung der unten angegebenen Parameter und Gleichungen 1 (Schritt S22), um das Werkzeug innerhalb der Abweichungstoleranz für den festgelegten Kreisbogen zu bewegen. Gleichungen 1 sind das Ergebnis einer Taylor-Entwicklungs-Näherung der Verstärkung (Gain) der Übertragungsfunktion des FIR-Filters.
- Fc:
- Kreisbogen-Geschwindigkeit (mm/min.)
- Rc:
- Kreisbogen-Radius (mm)
- ε:
- Abweichungstoleranz (mm)
- t1:
- Zeitkonstante 1 (FIR1)
- t2:
- Zeitkonstante 2 (FIR2)
- Rc
- wird berechnet auf der Grundlage des Kreisbogen-Interpolationsbefehls.
-
Wenn der Radius verschieden ist an dem Startpunkt und an dem Endpunkt des festgelegten Kreisbogens, kann die CPU
31 den kleineren der zwei als den Radius des Kreisbogens behandeln. ε,
t1 und
t2 werden im Voraus durch den Bediener durch den Eingabeabschnitt
24 des Bedienfeldes
10 eingegeben, so dass sie zum Beispiel in der Speichervorrichtung
34 gespeichert werden.
Gleichungen 1
Falls t
1 ≠ t
2:
-
Man beachte, dass die vier Lösungskandidaten (
1) bis (4) geprüft werden zum Bestimmen, ob sie reelle Zahlen sind oder nicht (die Berechnungsergebnisse für die Wurzeln sind alle nicht kleiner als Null), und die kleinste der Lösungen einer reellen Zahl wird als F
c definiert.
Falls t
1 = t
2:
-
Man beachte, dass die beiden Lösungskandidaten (1) und (2) geprüft werden zum Bestimmen, ob sie reelle Zahlen sind oder nicht (die Berechnungsergebnisse für die Wurzeln sind alle nicht kleiner als null), und die kleinere der Lösungen einer reellen Zahl wird als Fc definiert.
-
Die CPU 31 bestimmt, ob die berechnete Kreisbogen-Geschwindigkeit Fc geringer ist als eine festgelegte Kreisbogen-Geschwindigkeit F in dem Kreisbogen-Interpolationsbefehl (Schritt S23). Die berechnete Kreisbogengeschwindigkeit Fc ist ein numerischer Wert zum Bewegen innerhalb der Abweichungstoleranz ε, so dass, wenn die Kreisbogengeschwindigkeit Fc geringer ist als die festgelegte Kreisbogengeschwindigkeit F (JA in Schritt S23), die CPU 31 die berechnete Kreisbogengeschwindigkeit Fc als die festgelegte Kreisbogengeschwindigkeit F festsetzt (Schritt S24). Wenn die festgelegte Kreisbogengeschwindigkeit F geringer ist als die Kreisbogengeschwindigkeit Fc (NEIN in Schritt S23), kann sich das Werkzeug innerhalb der Abweichungstoleranz ε bewegen, so dass die CPU 31 die Kreisbogengeschwindigkeit F nicht ändert. Wenn der interpretierte Interpolationsbefehl ein linearer Interpolationsbefehl ist (NEIN in Schritt S21), treten Abweichungen bei dem Weg nicht auf, so dass die CPU 31 die Verarbeitung zu Schritt S25 weiter führt.
-
Die CPU 31 bestimmt, ob zumindest einer von einem ersten Block und einem zweiten Block ein Kreisbogen-Interpolationsblock ist (Schritt S25). Der erste Block ist der Block, der durch den gegenwärtigen Interpolationsbefehl interpoliert werden wird, während der zweite Block der Block ist, der durch den vorhergehenden Interpolationsbefehl interpoliert wurde, und er wird dann mit dem Anfangspunkt des ersten Blocks verbunden. Ein Kreisbogen-Interpolationsblock ist ein Block, der interpoliert werden wird als ein Kreisbogenpfad, und ein linearer Interpolationsblock ist ein Block, der als ein gerader Weg interpoliert werden wird. Wenn zumindest einer von dem ersten Block und dem zweiten Block ein Kreisbogen-Interpolationsblock ist (JA in Schritt S25) berechnet die CPU 31 einen Inter-Block-Winkel β durch Berücksichtigen von Kreisbogen-Interpolation (Schritt S26). Wenn sowohl der erste Block als auch der zweite Block beide lineare Interpolationsblöcke sind (NEIN in Schritt S25), berechnet die CPU 31 den Inter-Block-Winkel β zwischen den beiden linearen Interpolationsblöcken (Schritt S27). Der Inter-Block-Winkel β ist der Winkel an einem festgelegten Punkt, an dem der erste Block und der zweite Block verbunden sind. Die CPU 31 leitet die geraden Linien (die festgelegten geraden Linien) ab, die durch die Befehle für die zwei linearen Interpolationsblöcke festgelegt werden, und leitet dann den Inter-Block-Winkel β als den Winkel ab, den die zwei geraden Linien bilden. Zum Beispiel kann die CPU 31 den Inter-Block-Winkel β ableiten durch Bestimmen der Punkte, an denen eine Linie, die orthogonal zu der X-Achse ist, die festgelegten geraden Linien schneidet, wobei dann eine trigonometrische Funktion auf der Grundlage von rechtwinkligen Dreiecken verwendet wird, die durch die Schnittpunkte, den festgelegten Punkt und die X-Achsen Koordinate der orthogonalen Linie gebildet werden.
-
Wenn zumindest einer von dem ersten Block und dem zweiten Block ein Kreisbogen-Interpolationsblock ist, wird sich das Werkzeug in einem Bogen zu der inneren Seite des Kreisbogens, den der Kreisbogen-Interpolationsbefehl festlegt, bewegen. Daher muss die CPU 31 zuerst die Richtung des Kreisbogen-Interpolationsblocks bestimmen durch Berücksichtigen sowohl des festgelegten Kreisbogens als auch des tatsächlichen Kreisbogens, der die Abweichung zu der inneren Seite des festgelegten Kreisbogens enthält. Die CPU 31 muss dann den Inter-Block-Winkel β zwischen der Richtung des Kreisbogen-Interpolations-Blocks und der Richtung des anderen Blocks berechnen.
-
Fälle, bei denen zumindest einer von dem ersten und dem zweiten Block ein Kreisbogen-Interpolationsblock ist, fallen in die folgenden drei Muster, wenn sie durch die Reihenfolge der Interpolation (zweiter Block, dann erster Block) ausgedruckt werden:
- (1) Linearer Interpolationsblock - Kreisbogen-Interpolationsblock
- (2) Kreisbogen-Interpolationsblock - Linearer Interpolationsblock
- (3) Kreisbogen-Interpolationsblock - Kreisbogen-Interpolationsblock
-
Linearer Interpolationsblock - Kreisbogen-Interpolationsblock
-
6 zeigt einen Weg, auf dem ein Kreisbogen-interpolierter Block B2 einem linear interpolierten Block B1 folgt und mit diesem an einen festgelegten Punkt P verbunden ist.
-
Die CPU 31 bestimmt eine festgelegte gerade Linie a für den vorhergehenden linearen Interpolationsblock, eine gegenwärtige, festgelegte Kreisbogen-Tangentenlinie b und eine gegenwärtige, tatsächliche Kreisbogen-Tagentenlinie c. Die festgelegte Kreisbogen-Tangentenlinie b ist eine Tangentenlinie, die sich von dem festgelegten Punkt P für den festgelegten Kreisbogen des Blocks b erstreckt. Die tatsächliche Kreisbogen-Tangentenlinie c ist eine Tangentenlinie, die sich von dem festgelegten Punkt P für einen tatsächlichen Kreisbogen K erstreckt. Hierbei werden die festgelegte gerade Linie a, die festgelegte Kreisbogen-Tangentenlinie b und die tatsächliche Kreisbogen-Tangentenlinie c a, b bzw. c genannt werden. Der tatsächliche Kreisbogen K ist ein Pfad, der die Abweichung zu der inneren Seite des festgelegten Kreisbogens für den Block b enthält. Die Abweichung zu der inneren Seite des Kreisbogens kann an die Stelle der Abweichungstoleranz ε treten. Der tatsächliche Kreisbogen K wird abgeleitet auf der Grundlage der festgelegten Geschwindigkeit F für den festgelegten Kreisbogen für den Block B2 und auf der Grundlage des Radius des tatsächlichen Kreisbogens K. Der Radius des tatsächlichen Kreisbogens K ist kürzer als der Kreisbogenradius Rc des festgelegten Kreisbogens für den Block B2, um einen Abstand, der gleich der Abweichungstoleranz ε ist. Die CPU 31 bestimmt den durch a und b gebildeten Winkel sowie den durch a und c gebildeten Winkel. Bei der gleichen Geschwindigkeit wird die Abweichung zu der inneren Seite des Kreisbogens an der Ecke größer mit geringer werdendem Winkel. Bei dem in 6 gezeigten Beispiel ist der durch a und b gebildete Winkel kleiner als der durch a und c gebildete Winkel. Daher bestimmt die CPU 31, dass der durch a und b gebildete Winkel gleich der Inter-Block-Winkel β ist.
-
7 zeigt einen Weg, bei dem der festgelegte Kreisbogen des Kreisbogen-interpolierten Blocks B2 entgegen dem Uhrzeigersinn gedreht wurde. In der gleichen Art und Weise wie in 6 bestimmt die CPU 31 die vorhergehende festgelegte gerade Linie a, die gegenwärtige festgelegte Kreisbogen-Tangentenlinie b sowie die gegenwärtige tatsächliche Kreisbogen-Tangentenlinie c und bestimmt dann den durch a und b gebildeten Winkel und den durch a und c gebildeten Winkel. In dem in 7 gezeigten Beispiel ist der durch a und c gebildete Winkel kleiner als der durch a und b gebildete Winkel. Daher bestimmt die CPU 31, dass der durch a und c gebildete Winkel der Inter-Block-Winkel β ist.
-
Kreisbogen-Interpolationsblock - Linearer Interpolationsblock
-
8 zeigt umgekehrt zu 6 einen Weg, bei dem ein linearer Interpolationsblock B2 einem Kreisbogen-Interpolationsblock B1 folgt und mit diesem an einem festgelegten Punkt P verbunden ist. Die CPU 31 bestimmt die vorhergehende festgelegte Kreisbogen-Tangentenlinie a, die vorhergehende tatsächliche Kreisbogen-Tangentenlinie b und die festgelegte gerade Linie c. Hierbei werden die vorhergehende festgelegte Kreisbogen-Tangentenlinie a, die vorhergehende tatsächliche Kreisbogen-Tangentenlinie b und die festgelegte gerade Linie c jeweils a, b bzw. c genannt werden. a ist eine Tangentenlinie, die sich von dem festgelegten Punkt P erstreckt, für den festgelegten Kreisbogen des Blocks B1. b ist eine Tangentenlinie, die sich von dem festgelegten Punkt P erstreckt, für den tatsächlichen Kreisbogen K. Der tatsächliche Kreisbogen K ist ein Pfad, der die Abweichung zu der inneren Seite des festgelegten Kreisbogens für den Block B1 enthält. Die Abweichung zu der inneren Seite des inneren Kreisbogens kann an die Stelle der Abweichungstoleranz ε treten. Der tatsächliche Kreisbogen K wird abgeleitet auf der Grundlage der festgelegten Geschwindigkeit F für den festgelegten Kreisbogen für den Block B1 und auf der Grundlage des Radius des tatsächlichen Kreisbogens K. Der Radius des tatsächlichen Kreisbogens K ist kürzer als der Kreisbogenradius Rc des festgelegten Kreisbogens für den Block B1, um eine Weglänge, die gleich der Abweichungstoleranz ε ist. Die CPU 31 bestimmt den durch a und c gebildeten Winkel sowie den durch b und c gebildeten Winkel. Bei dem in 8 gezeigten Beispiel ist der durch a und c gebildete Winkel kleiner als der durch b und c gebildete Winkel. Daher bestimmt die CPU 31, dass der durch a und c gebildete Winkel der Inter-Block-Winkel β ist.
-
Kreisbogen-Interpolationsblock - Kreisbogen-Interpolationsblock
-
9 zeigt einen Weg, auf dem ein Kreisbogen-Interpolationsblock B2 einem Kreisbogen-Interpolationsblock B1 folgt und mit diesem an einem festgelegten Punkt P verbunden ist. In diesem Fall bestimmt die CPU 31, da sowohl der erste Block als auch der zweite Block Kreisbogen-Interpolationsblöcke sind, die vorhergehende festgelegte Kreisbogen-Tangentenlinie a (hier einfach a genannt), die vorhergehende tatsächliche Kreisbogen-Tangentenlinie b (hier einfach b genannt), die gegenwärtige festgelegte Kreisbogen-Tangentenlinie c (hier einfach c genannt) und die gegenwärtige tatsächliche Kreisbogen-Tangentenlinie d (hier einfach d genannt). a ist eine Tangentenlinie, die sich von dem festgelegten Punkt P erstreckt, für den festgelegten Kreisbogen des Blocks B1. b ist eine Tangentenlinie, die sich von dem festgelegten Punkt P erstreckt, für einen tatsächlichen Kreisbogen K1. Der tatsächliche Kreisbogen K1 ist ein Pfad, der die Abweichung zu der inneren Seite des festgelegten Kreisbogens für den Block B1 enthält. Die Abweichung zu der inneren Seite des Kreisbogens kann an die Stelle der Abweichungstoleranz ε treten. Der tatsächliche Kreisbogen K1 wird abgeleitet auf der Grundlage der festgelegten Geschwindigkeit F für den festgelegten Kreisbogen für den Block B1 und auf der Grundlage des Radius des tatsächlichen Kreisbogens K1. Der Radius des tatsächlichen Kreisbogens K1 ist kürzer als der Kreisbogenradius Rc des festgelegten Kreisbogens für den Block B1, um eine Weglänge, die gleich der Abweichungstoleranz ε ist. c ist eine Tangentenlinie, die sich von dem festgelegten Punkt P erstreckt, für den festgelegten Kreisbogen des Blocks B2. d ist eine Tangentenlinie, die sich von dem festgelegten Punkt P erstreckt, für einen tatsächlichen Kreisbogen K2. Der tatsächliche Kreisbogen K2 ist ein Pfad, der die Abweichung zu der inneren Seite des festgelegten Kreisbogens für den Block B2 enthält. Die Abweichung zu der inneren Seite des Kreisbogens kann an die Stelle der Abweichungstoleranz ε treten. Der tatsächliche Kreisbogen K2 wird abgeleitet auf der Grundlage der festgelegten Geschwindigkeit F für den festgelegten Kreisbogen für den Block B2 und auf der Grundlage des Radius des tatsächlichen Kreisbogens K2. Der Radius des tatsächlichen Kreisbogens K2 ist kürzer als der Kreisbogenradius Rc des festgelegten Kreisbogens für den Block B2, um eine Weglänge, die gleich der Abweichungstoleranz ε ist. Die CPU 31 bestimmt den durch a und c gebildeten Winkel, den durch a und d gebildeten Winkel, den durch b und c gebildeten Winkel sowie den durch b und d gebildeten Winkel. Bei der gleichen Geschwindigkeit wird die Abweichung zu der inneren Seite des Kreisbogens an der Ecke größer mit geringer werdendem Winkel. Bei dem in 9 gezeigten Beispiel ist der durch a und c gebildete Winkel kleiner als die anderen Winkel. Daher bestimmt die CPU 31, dass der durch a und c gebildete Winkel der Inter-Block-Winkel β ist.
-
Zurück zu 4 führt die CPU 31 Inter-Block-Korrekturverarbeitung (Schritt S28) für den berechneten Inter-Block-Winkel β durch, nachdem der Inter-Block-Winkel β berechnet wurde (Schritte S26, S27).
-
Der Grund für das Korrigieren des Inter-Block-Winkels β wird mit Bezug auf die 10 bis 12 erläutert werden. Ein Weg L1, der in 10 gezeigt ist, wird durch zwei lineare Interpolationsbefehle gebildet und ist ein Weg, auf dem ein linearer Interpolationsblock B2 einem linearen Interpolationsblock B1 folgt und mit diesem an einem festgelegten Punkt P verbunden ist. Der Block B1 ist eine lineare Interpolation parallel zu der X-Achse und der Block B2 ist eine lineare Interpolation parallel zu der Y-Achse. Der Inter-Block-Winkel β ist gleich 90°. 11 ist ein Diagramm, das das Ergebnis der Verarbeitung der Bewegungsgeschwindigkeit des Blocks B1 (eine Geschwindigkeit 1) und der Bewegungsgeschwindigkeit des Blocks B2 (eine Geschwindigkeit 2) durch die zweistufigen FIR-Filter (FIR 1, 2) beim Bewegen eines Werkzeuges auf dem Weg L1 in 10 zeigt. Wenn die Geschwindigkeit 1 beginnt, sich von ihrer maximalen Geschwindigkeit zu verringern, beginnt sich die Geschwindigkeit 2 zu erhöhen. In dem Bereich, in dem die Geschwindigkeit 1 und die Geschwindigkeit 2 überlappen, bewegt sich das Werkzeug in einem Bogen zu der inneren Seite der Ecke des Wegs L1. Wenn die Geschwindigkeit 1 beginnt sich von ihrer maximalen Geschwindigkeit zu verringern, ist das Werkzeug an der Position A1. Wenn sich die Geschwindigkeit 1 und die Geschwindigkeit 2 am stärksten bei der gleichen Geschwindigkeit überlappen, befindet sich das Werkzeug bei A2. Wenn die Geschwindigkeit 1 von ihrer maximalen Geschwindigkeit auf Null abgenommen hat, befindet sich das Werkzeug bei A3. A2 ist die Position, an der sich das Werkzeug am weitesten von dem Weg L1 entfernt befindet und seine Abweichung von dem Weg L1 ist maximal. A3 ist eine Position auf dem Weg L1, wo die Abweichung an ein Ende kommt. Das Zeitintervall von A1 bis A3, während dem die Abweichung des Werkzeugs von dem Weg L1 zunimmt und zu einem Ende kommt, entspricht der Summe der Zeitkonstanten t1 und t2 . Das bedeutet, dass die Abweichung, die an der Ecke des Wegs L1 auftritt, nicht zu einem Ende kommt, wenn das Werkzeug A3 nicht passiert. Zum Beispiel wenn es eine Ecke eines nächsten Blocks gibt unmittelbar nachdem das Werkzeug A2 passiert hat, gibt es eine Möglichkeit, dass die Abweichung für ein Zeitintervall verbleibt, das nur die Hälfte der Summe der Zeitkonstanten ist. Daher korrigiert die vorliegende Ausführungsform den Inter-Block-Winkel β, der in den Schritten S26, S27 berechnet wurde durch Berücksichtigen des Effekts einer Abweichung, die an einer Ecke in der Vergangenheit aufgetreten ist.
-
Die Verarbeitung für die Korrektur des Inter-Block-Winkels wird mit Bezug auf die
5,
12 und
13 erläutert werden. Die vorliegende Ausführungsform wird als ein Beispiel unter Verwendung eines in
12 gezeigten Weges
L2 erläutert. Der Weg
L2 ist ein Weg, bei dem eine Mehrzahl von benachbarten Ecken eine Gesamtkurve bilden.
PN ist der Startpunkt des gegenwärtigen Interpolationsbefehls.
PN+1 ist die festgelegte Bewegungsposition des gegenwärtigen Interpolationsbefehls.
PN-1 ist der Startpunkt des vorhergehenden Interpolationsbefehls (ein Befehl zuvor).
PN-2 ist der Startpunkt des Interpolationsbefehls zwei Befehle zuvor.
PN-3 ist der Startpunkt des Interpolationsbefehls drei Befehle zuvor.
PN-4 ist der Startpunkt des Interpolationsbefehls vier Befehle zuvor.
13 ist ein Diagramm, das Änderungen in der Bewegungsgeschwindigkeit zeigt, wenn sich ein Werkzeug auf dem in
12 gezeigten Weg
L2 bewegt bevor die FIR-Filterverarbeitung ausgeführt wird. Wie in
5 gezeigt berechnet die CPU
31 unter Verwendung der unten dargestellten Gleichung 2 eine retrospektive Zeit
TB (Schritt
S40). Die retrospektive Zeit
TB ist eine Hälfte der Summe der Zeitkonstanten
t1 ,
t2 .
- TB : retrospektive Zeit (ms)
- t1 : FIR1-Zeitkonstante (ms)
- t2 : FIR2-Zeitkonstante (ms)
-
Die CPU
31 bestimmt, ob
TB nicht größer als
TN-1 ist (Schritt
S41). Wie in
13 gezeigt ist
TN-1 die Summe der Bewegungszeit und einer festgelegten Startverzögerungszeit
Td für den unmittelbar vorhergehenden Interpolationsbefehl. Die festgelegte Startverzögerungszeit
Td ist die Länge der Zeit, um die der Start der Bewegung auf der Grundlage des gegenwärtigen Interpolationsbefehls verzögert wird, nachdem die auf dem unmittelbar vorhergehenden Interpolationsbefehl basierende Bewegung geendet hat.
Td für den gegenwärtigen Interpolationsbefehl wird berechnet nach der Verarbeitung für die Korrektur des Inter-Block-Winkels (siehe Schritt
S29 in
4), aber die
Td -Werte für die vergangenen Interpolationsbefehle wurden schon berechnet. Wenn
TB nicht größer ist als
TN-1 (JA in Schritt
S41), sind vergangene Abweichungen von dem Weg schon zu einem Ende gekommen, so dass die CPU
31 die Verarbeitung für die Korrektur des Inter-Block-Winkels beendet und die Verarbeitung zu Schritt
S29 in
4 weiterführt. Wenn
TB größer ist als
TN-1 (NEIN in Schritt
S41), ist eine vergangene Abweichung noch verbleibend, so dass die CPU
31 M auf 2 festsetzt (Schritt
S42) und bestimmt, ob
TB die unten wiedergegebene Gleichung 3 erfüllt (Schritt
S43). M ist ein ganzzahliger Parameter.
- TN-M: Summe der Bewegungszeit und der festgelegten Startverzögerungszeit für einen Interpolationsbefehl, der gleich M Befehle vor dem gegenwärtigen Interpolationsbefehl liegt (ms)
- βN-M: Innenwinkel zwischen einer geraden Linie PN-MPN und einer geraden Linie PNPN+1 (deg)
- β': Post-Korrektur-Inter-Block-Winkel (deg)
-
Es sei bemerkt, dass T
N-M durch eine unten wiedergegebene Gleichung 4 berechnet wird.
- TdN-M: festgelegte Startverzögerungszeit für den Interpolationsbefehl, der gleich M Befehle vor dem gegenwärtigen Interpolationsbefehl liegt (ms)
- LN-M: festgelegter Abstand für einen Interpolationsbefehl, der gleich M Befehle vor dem gegenwärtigen Interpolationsbefehl liegt (mm)
- FN-M: festgelegte Geschwindigkeit für einen Interpolationsbefehl, der gleich M Befehle vor dem gegenwärtigen Interpolationsbefehl liegt (mm/min).
-
Wenn TB Gleichung 3 mit auf 2 gesetztem M erfüllt (JA in Schritt S43), sind vergangene Abweichungen zu einem Ende gekommen, so dass die CPU 31 die Winkel β bis βN-M berechnet (Schritt S45). Wenn TB Gleichung 3 mit auf 2 gesetztem M nicht erfüllt (NEIN in Schritt S43), addiert die CPU 31 1 zu M hinzu (Schritt S44), kehrt dann zu Schritt S43 zurück und bestimmt erneut, ob TB Gleichung 3 erfüllt. Wenn TB Gleichung 3 erfüllt (JA in Schritt S43), berechnet die CPU 31 die Winkel β bis βN-M unter Verwendung des Wertes von M, bei dem Gleichung 3 erfüllt wurde (Schritt S45). Zum Beispiel sei wie in 12 und 13 gezeigt angenommen, dass es eine retrospektive Position PB gibt (siehe 12), welche um die retrospektive Zeit TB von einem Startpunkt TN des gegenwärtigen Interpolationsbefehls in der Vergangenheit liegt. Wenn PB zwischen PN-2 und PN-3 liegt, geht die CPU 31 zu dem Startpunkt PN-3 des Interpolationsbefehls für den dritten Block vor dem gegenwärtigen Block (entspricht einem vergangenen Block der vorliegenden Erfindung) zurück und berechnet Winkel βN-2 und βN-3 . Die CPU 31 nimmt den kleinsten der Winkel β bis βN-M , die in Schritt S45 berechnet wurden, und definiert diesen Winkel als den Post-Korrektur-Inter-Block-Winkel β' (Schritt S46). In dem in 12 gezeigten Beispiel wird βN-3 als β' festgelegt. Die CPU 31 beendet die Verarbeitung für eine Korrektur des Inter-Block-Winkels und führt die Verarbeitung zu Schritt S29 in 4 weiter.
-
Zurück zu der Verarbeitung für eine Steuerung konstanter Abweichung in 4 berechnet die CPU 31 Td (Schritt S29). Dies wir erläutert unter Verwendung des Weges L1, der in 10 gezeigt ist. Auf die gleiche Art und Weise wie in 11 zeigt 14 die Änderungen in der Geschwindigkeit 1 und der Geschwindigkeit 2 als ein Ergebnis der FIR-Filter-Verarbeitung, die mit auf 0 gesetztem Td durchgeführt wird. In dem Bereich, in dem die Geschwindigkeit 1 und die Geschwindigkeit 2 überlappen, bewegt sich das Werkzeug in einem Bogen zu der inneren Seite der Ecke des Weges L1 und seine Länge entspricht der Summe der Zeitkonstanten t1 + t2 . In dem Bereich, in dem die Geschwindigkeit 1 und die Geschwindigkeit 2 überlappen, entsprechen die gekrümmten Abschnitte der Weite t2 der zweiten Stufe FIR2. A2 ist der Punkt maximaler Abweichung, an dem die Abweichung ihr Maximum erreicht. Die vorliegende Ausführungsform berechnet Td basierend auf der maximalen Abweichung. Um die Abweichung an dem Punkt maximaler Abweichung zu berechnen, ist es notwendig, die beiden gekrümmten Abschnitte zu berechnen, in denen sich die Geschwindigkeiten in gekrümmten Linien ändern, von dem Punkt an, wo die Geschwindigkeit 1 und die Geschwindigkeit 2 beginnen, sich zu überlappen, und den linearen Abschnitt, in dem sich die Geschwindigkeiten in geraden Linien ändern. Wie in 15 gezeigt, wenn das Zeitintervall, in dem die Geschwindigkeit 1 und die Geschwindigkeit 2 überlappen, kürzer ist als 2·t2, bilden die Geschwindigkeitsänderungen in dem Bereich, in dem die Geschwindigkeit 1 und die Geschwindigkeit 2 überlappen, alle gekrümmte Linien. Daher ist die Formel zum Berechnen von Td basierend auf der Abweichung verschieden von der für die in 14 gezeigte Situation. Es sei bemerkt, dass wenn Td als t1 + t2 definiert wird, wie in 16 gezeigt ist, die Geschwindigkeit 1 und die Geschwindigkeit 2 sich nicht überlappen, so dass die Abweichung an der Ecke gleich Null ist. Zu dieser Zeit ist Td auf seinem maximalen Wert.
-
Angesichts der oben beschriebenen Situation gelten die unten wiedergegebenen Funktionen für Td . εmax ist der Maximalwert der Abweichung.
-
Wenn Td gleich Null ist, ist die Abweichung gleich εmax.
-
Wenn Td gleich t1 + t2 ist, ist die Abweichung gleich Null.
-
Wie in
14 gezeigt ist, wenn
Td kleiner ist als t
1 - t
2, enthalten die Änderungen in dem Bereich, in dem sich die Geschwindigkeit
1 und die Geschwindigkeit
2 überlappen, sowohl gerade Linienabschnitte als auch gekrümmte Linienabschnitte. Wie in
15 gezeigt ist, wenn
Td nicht kleiner ist als t
1 - t
2, sind die Änderungen in dem Bereich, in dem sich die Geschwindigkeit
1 und die Geschwindigkeit
2 überlappen, nur gekrümmte Linienabschnitte. In anderen Worten variiert die Formel zur Berechnung der Abweichung gemäß der Länge von
Td . Daher, um
Td basierend auf der Abweichungstoleranz ε zu berechnen, wenn die vorliegende Ausführungsform im Voraus die Abweichung ε
t1-t2 für den Fall berechnet, bei dem
Td gleich t
1 - t
2 ist, kann es leicht bestimmt werden, welche der zwei Berechnungsformeln verwendet werden sollte zum Berechnen von
Td . Durch Einsetzen der Gleichung (ε
t1-t2/ε
max) =
K bestimmt die CPU
31 wie durch Gleichung 5 und Gleichung 6 gezeigt, welche Formel zu verwenden ist zum Berechnen von
Td je nachdem, ob ε/ε
max kleiner oder nicht kleiner als
K ist. Die Formeln zum Berechnen von
Td , die durch Gleichung 5 und Gleichung 6 gezeigt sind, berechnen entsprechend der Beziehung zwischen
Td und Positionen, die abgeleitet wurden durch Integrieren der Geschwindkeitswellenbewegungen, die in
15 gezeigt sind.
Jedoch gilt:
-
Mit zunehmender festgelegter Geschwindigkeit F nimmt die Abweichung zu, so dass Td größer wird. Daher ist es beim Berechnen von Td vorzuziehen, die größere von der festgelegten Geschwindigkeit für den Block B1 und der festgelegten Geschwindigkeit für den Block B2 als die festgelegte Geschwindigkeit F zu verwenden.
-
Wie in 4 gezeigt ist, berechnet die CPU 31 Td unter Verwendung einer der Formeln gemäß dem Wert von K, speichert dann das berechnete Td in der Speichervorrichtung 34 (Schritt S30). Daher kann die CPU 31 Td einfach entsprechend dem Zustand der Überlappung zwischen der Geschwindigkeit 1 und der Geschwindigkeit 2 auf der Grundlage der Zeitkonstanten t1 , t2 , der Abweichungstoleranz ε, der festgelegten Geschwindigkeit F und dem Inter-Block-Winkel β berechnen. Die CPU 31 beendet die Verarbeitung für die Steuerung der konstanten Abweichung und führt die Verarbeitung weiter zu Schritt S8 in der Hauptverarbeitung in 3.
-
Basierend auf dem gegenwärtigen Interpolationsbefehl führt die CPU 31 die Interpolationsverarbeitung (Schritt S8) von dem festgelegten Punkt des vorhergehenden Interpolationsbefehls (der gegenwärtigen Position) zu der festgelegten Position. Die CPU 31 führt die zweistufige FIR-Filter-Verarbeitung an der Bewegungsgeschwindigkeit für jede der Antriebsachsen durch (Schritt S9), und erzeugt dann ein Treibersignal für jede der Antriebsachsen. Die CPU 31 bestimmt, ob die Zeit Td , die in der Speichervorrichtung 34 gespeichert ist, abgelaufen ist seit die Bewegung des vorhergehenden Interpolationsbefehls abgeschlossen wurde (Schritt S10). Wenn die Zeit Td nicht abgelaufen ist (NEIN in Schritt S10) wartet die CPU 31. Wenn die Zeit Td abgelaufen ist (JA in Schritt S10), gibt die CPU 31 die Treibersignale an die Treiberschaltungen 51A, 53A, 54A der Motoren 51, 53, 54 gemäß dem Interpolationsbefehl aus (Schritt S11). Haben sie die Treibersignale empfangen, treiben die Treiberschaltungen 51A, 53A, 54A die Motoren 51, 53, 54. Nachdem die Bewegung für den vorhergehenden Interpolationsbefehl abgeschlossen wurde und die Zeit Td abgelaufen ist, beginnt das Werkzeug, sich auf der Grundlage des gegenwärtigen Interpolationsbefehls zu bewegen. Die CPU 31 kehrt zu Schritt S2 zurück und interpretiert den nächsten Block. Wenn der nächste Block kein Abbruchbefehl ist (NEIN in Schritt S3) wiederholt die CPU die Verarbeitung für den nächsten Block. Wenn der nächste Block ein Abbruchbefehl ist (JA in Schritt S3), beendet die CPU 31 die Hauptverarbeitung. Daher ist die numerische Steuervorrichtung 30 durch Durchführen der oben beschriebenen Verarbeitung in der Lage, das Werkzeug innerhalb der Abweichungstoleranz ε relative zu dem von dem NC-Programm festgelegten Weg zu bewegen.
-
Wie oben erläutert führt die numerische Steuervorrichtung 30 bei der vorliegenden Ausführungsform die Schneidearbeit durch Bewegen des Werkzeuges entlang dem durch das NC-Programm festgelegten Weg durch. Der Weg wird abgeleitet durch Interpolieren von benachbarten festgelegten Punkten unter einer Mehrzahl von festgelegten Punkten. Basierend auf den Beschleunigungs/Abbrems-Zeitkonstanten t1 , t2 für die Motoren, welche das Werkzeug bewegen, auf der Abweichungstoleranz ε, welche relative zu dem Weg erlaubt ist, auf der festgelegten Geschwindigkeit F, welche die Bewegungsgeschwindigkeit für das Werkzeug festlegt, und auf dem Inter-Block-Winkel β zwischen dem ersten Block und dem zweiten Block innerhalb des Weges in dem NC-Programm berechnet die CPU 31 der numerischen Steuervorrichtung 30 für die Motoren 51, 53, 54 die festgelegte Startverzögerungszeit Td von der Zeit, zu der die Bewegung für den vorhergehenden Interpolationsbefehl endet, bis zu der Zeit, zu der die Bewegung für den gegenwärtigen Interpolationsbefehl beginnt. Basierend auf der berechneten Zeit Td gibt die CPU 31 an die Treiberschaltungen 51A, 53A, 54A die Treibersignale aus, welche bewirken, dass die Motoren 51, 53, 54, die Werkzeugbewegung für den gegenwärtigen Interpolationsbefehl ausführen. Daher ist die numerische Steuervorrichtung 30 relativ zu dem von dem NC-Programm festlegten Weg, in der Lage, die Abweichung von dem Weg mit einem geringen Berechnungsaufwand innerhalb der Abweichungstoleranz ε zu steuern.
-
Darüber hinaus, wenn zumindest einer von dem ersten Block und dem zweiten Block ein Kreisbogen-Interpolationsblock ist, für den Kreisbogeninterpolation durchgeführt wird, berechnet die oben erläuterte Ausführungsform die Kreisbogengeschwindigkeit Fc , mit der sich das Werkzeug in dem Kreisbogen-Interpolationsblock bewegt, basierend auf dem Kreisbogenradius des festgelegten Kreisbogens, auf der Abweichungstoleranz ε und auf den Zeitkonstanten t1 , t2 . Die numerische Steuervorrichtung 30 vergleicht dann die berechnete Kreisbogengeschwindigkeit mit der festgelegten Geschwindigkeit F und legt die kleinere der beiden als die festgelegte Geschwindigkeit F fest. Daher ist die numerische Steuervorrichtung 30 in der Lage, das Werkzeug entlang des Wegs in dem Kreisbogen-Interpolationsblock innerhalb der Abweichungstoleranz ε zu bewegen. Die numerische Steuervorrichtung 30 berechnet den Winkel zwischen dem anderen Block als den Kreisbogen-Interpolationsblock sowie die festgelegte Kreisbogen-Tangentenlinie, welche die Tangentenlinie ist, die sich von dem festgelegten Punkt erstreckt, an dem der erste Block und der zweite Block verbunden sind, sowie den Winkel zwischen dem anderen Block und der gegenwärtigen Kreisbogen-Tangentenlinie, welche die Tangentenlinie ist, die sich von dem festgelegten Punkt erstreckt, für den tatsächlichen Kreisbogen. Die numerische Steuervorrichtung 30 legt dann den kleineren der beiden Winkel als den Inter-Block-Winkel β für den Kreisbogen-Interpolationsblock fest. Daher ist die numerische Steuervorrichtung 30 auch in der Lage, die festgelegte Startverzögerungszeit Td genau zu berechnen, da die numerische Steuervorrichtung 30 in der Lage ist, den Inter-Block-Winkel β zwischen dem ersten Block und dem zweiten Block zu berechnen, wenn zumindest einer von den Blöcken ein Kreisbogen-Interpolationsblock ist.
-
Die oben erläuterte Ausführungsform berechnet außerdem den Inter-Block-Winkel β zwischen zwei linearen Interpolationsblöcken, wenn der erste Block und der zweite Block beide lineare Interpolationsblöcke sind. Wenn einer von dem ersten Block und dem zweiten Block ein Kreisbogen-Interpolationsblock ist, berechnet die numerische Steuervorrichtung 30 den Winkel zwischen der festgelegten geraden Linie des anderen Blocks, der ein linearer Interpolationsblock ist, und der festgelegten Kreisbogen-Tangentenlinie. Die numerische Steuervorrichtung 30 berechnet außerdem den Winkel zwischen der festgelegten geraden Linie des linearen Interpolationsblocks und der tatsächlichen Kreisbogen-Tangentenlinie. Die numerische Steuervorrichtung 30 definiert dann den Inter-Block-Winkel β als den kleineren der beiden Winkel. Wenn beide, der erste Block und der zweite Block, Kreisbogen-Interpolationsblöcke sind, berechnet die numerische Steuervorrichtung 30 die Winkel, die durch die festgelegte Kreisbogen-Tangentenlinie und die tatsächliche Kreisbogen-Tangentenlinie gebildet werden, die dem ersten Block entsprechen, an dem festgelegten Punkt, wo die Kreisbogen-Interpolationsblöcke verbunden sind. Die numerische Steuervorrichtung 30 berechnet außerdem die von der festgelegten Kreisbogen-Tangentenlinie und der tatsächlichen Kreisbogen-Tangentenlinie, die dem zweiten Block entsprechen, gebildeten Winkel. Die numerische Steuervorrichtung 30 definiert dann den Inter-Block-Winkel β als den kleinsten der vier Winkel. Daher, da die numerische Steuervorrichtung 30 in der Lage ist, den Inter-Block-Winkel β zwischen einem linearen Interpolationsblock und einem linearen Interpolationsblock, zwischen einem Kreisbogen-Interpolationsblock und einem linearen Interpolationsblock sowie zwischen einem Kreisbogen-Interpolationsblock und einem Kreisbogen-Interpolationsblock genau zu berechnen, kann die numerische Steuervorrichtung 30 auch die festgelegte Startverzögerungszeit Td genau berechnen.
-
Wie oben erläutert entspricht die CPU 31, welche die Verarbeitung in Schritt S7 durchführt, dem Berechnungsmittel der vorliegenden Erfindung. Die CPU 31, welche die Verarbeitung in den Schritten S10, S11 durchführt, entspricht einem Ausführungsmittel der vorliegenden Erfindung. Die CPU 31, welche die Verarbeitung in Schritt S22 durchführt, entspricht dem Kreisbogengeschwindigkeits-Berechnungsmittel der vorliegenden Erfindung. Die CPU 31, welche die Verarbeitung in Schritt S27 durchführt, entspricht dem ersten Winkelberechnungsmittel der vorliegenden Erfindung. Die CPU 31, die in Schritt S26 den Inter-Block-Winkel β zwischen einem Kreisbogen-Interpolationsblock und einem linearen Interpolationsblock berechnet, entspricht einem zweiten Winkelberechnungsmittel der vorliegenden Erfindung. Die CPU 31, die in Schritt S26 den Inter-Block-Winkel β zwischen einem Kreisbogen-Interpolationsblock und einem Kreisbogen-Interpolationsblock berechnet, entspricht dem dritten Winkelberechnungswinkel der vorliegenden Erfindung. Die Verarbeitung, die die CPU 31 in Schritt S7 durchführt, entspricht einem Berechnungsverfahren der vorliegenden Erfindung. Die Verarbeitung, die die CPU 31 in den Schritten S10, S11 durchführt, entspricht einem Ausführungsverfahren der vorliegenden Erfindung.
-
Die vorliegende Erfindung ist nicht auf die oben erläuterte Ausführungsform beschränkt und verschiedene Arten von Abwandlungen können vorgenommen werden. Zum Beispiel verarbeitet die beschriebene Ausführungsform die Bewegungsgeschwindigkeit unter Verwendung eines zweistufigen FIR-Filters (FIR1, FIR2), aber die FIR-Filterverarbeitung kann auch durchgeführt werden unter Verwendung von mehr als zwei Stufen. Zum Beispiel wenn die Werte der Zeitkonstanten während des dreistufigen FIR-Filterns gleich
t1 ,
t2 ,
t3 in abnehmender Reihenfolge sind, kann die festgelegte Startverzögerungszeit
Td wie in den Gleichungen 7 bis 11 unten berechnet werden. Dies wird erläutert werden unter Verwendung von zwei Fällen, einer, bei dem
t1 nicht größer als die Summe von
t2 und
t3 ist, sowie einem, bei dem
t1 größer als die Summe von
t2 und
t3 ist.
-
Von den Lösungskandidaten (1) bis (4) für Gleichung 9 wird die eine, welche beide der Bedingungen [1] und [2] unten erfüllt, als die Lösung Td definiert.
- [1] Die Berechnungsergebnisse für die Wurzeln sind nicht kleiner als Null.
- [2] Td erfüllt die Bedingung, dass -t1 + t2 + t3 ≤ Td ≤ t1 - t2 + t3.
-
-
Von den Lösungskandidaten (1) bis (4) für Gleichung 10 wird die eine, welche beide von den Bedingungen [1] und [2] unten erfüllt, als die Lösung Td definiert.
- [1] Die Berechnungsergebnisse für die Wurzeln sind nicht kleiner als Null.
- [2] Td erfüllt die Bedingung, dass 0 ≤ Td ≤ -t1 + t2 + t3.
-
Jedoch gilt:
-
Von den Lösungskandidaten (1) bis (4) für Gleichung 14 wird die eine, welche beide von den Bedingungen [1] und [2] unten erfüllt, als die Lösung Td definiert.
- [1] Die Berechnungsergebnisse für die Wurzeln sind nicht kleiner als Null.
- [2] Td erfüllt die Bedingung, dass t1 - t2 - t3 ≤ Td ≤ t1 - t2 + t3.
-
Falls
K3 ≤ ε/ε
max ≤ 1:
-
Jedoch gilt
-
Verschiedene Arten von weiteren Abwandlungen der oben erläuterten Ausführungsform können außerdem vorgenommen werden. Bei der oben beschriebenen Ausführungsform kann die Inter-Block-Winkel-Korrekturverarbeitung (Schritt S28) innerhalb der Verarbeitung für die Steuerung einer konstanten Abweichung, die in 4 gezeigt ist, weggelassen werden.
-
Die oben erläuterte Ausführungsform bewegt das Werkzeug entlang des Weges, den das NC-Programm festlegt, aber es könnte auch das Arbeitsmaterial entlang des Weges bewegen.
-
Die oben erläuterte Ausführungsform wurde erläutert unter Verwendung des Bearbeitungswerkzeuges 1 vom vertikalen Typ, bei dem sich die Achse der Antriebswelle vertikal erstreckt, aber es könnte auch ein Bearbeitungswerkzeug vom horizontalen Typ verwendet werden, bei dem sich die Achse der Antriebswelle horizontal erstreckt.
-
Die oben erläuterte Ausführungsform verwendet als die Beschleunigungs/Abbrems-Konstanten für die Motoren die Zeitkonstanten der FIR-Filter, welche die gleitende Mittelwertbildung durchführen, aber andere Filter, die Zeitkonstanten besitzen, könnten auch verwendet werden. Zum Beispiel könnte der in Gleichung 17 dargestellte Tiefpassfilter erster Ordnung anstelle der FIR-Filter verwendet werden. T ist die Zeitkonstante.