DE102016100808B4 - Numerische Steuervorrichtung und Steuerverfahren - Google Patents

Numerische Steuervorrichtung und Steuerverfahren Download PDF

Info

Publication number
DE102016100808B4
DE102016100808B4 DE102016100808.7A DE102016100808A DE102016100808B4 DE 102016100808 B4 DE102016100808 B4 DE 102016100808B4 DE 102016100808 A DE102016100808 A DE 102016100808A DE 102016100808 B4 DE102016100808 B4 DE 102016100808B4
Authority
DE
Germany
Prior art keywords
block
angle
interpolation
circular arc
speed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102016100808.7A
Other languages
English (en)
Other versions
DE102016100808A1 (de
Inventor
Yuzuru Terada
Teruhisa Kojima
Takashi Otaka
Tomoya Ishikawa
Eiji Shamoto
Burak Sencer
Kosuke Ishizaki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Publication of DE102016100808A1 publication Critical patent/DE102016100808A1/de
Application granted granted Critical
Publication of DE102016100808B4 publication Critical patent/DE102016100808B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/41Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35097Generation of cutter path, offset curve
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41151Finite impulse response filter
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/43Speed, acceleration, deceleration control ADC
    • G05B2219/43203Limitation of speed, permissible, allowable, maximum speed
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49164Corner, making corner

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Numerical Control (AREA)
  • Automatic Control Of Machine Tools (AREA)

Abstract

Numerische Steuervorrichtung (30), die Schneidearbeit durch Bewegen eines von einem Werkzeug und einem Arbeitsmaterial entlang eines Wegs durchführt, der abgeleitet wird durch Interpolieren benachbarter festgelegter Punkte von einer Mehrzahl von festgelegten Punkten (P), die durch ein NC-Programm festgelegt sind, wobei die numerische Steuervorrichtung (30) derart konfiguriert ist, dass:das NC-Programm eine Mehrzahl von Blöcken enthält, die von Steuerbefehlen konfiguriert sind, wobei die numerische Steuervorrichtung (30) aufweist:ein Inter-Block-Winkel-Berechnungsmittel, das einen Inter-Block-Winkel (β) berechnet, wobei der Inter-Block-Winkel (β) ein Winkel zwischen einem ersten Block, welcher durch einen gegenwärtigen Interpolationsbefehl in dem NC-Programm interpoliert wird, und einem zweiten Block ist, welcher durch einen vorhergehenden Interpolationsbefehl interpoliert wurde;ein Geschwindigkeitsbestimmungsmittel, das eine festgelegte Geschwindigkeit (F) bestimmt, wobei die festgelegte Geschwindigkeit (F) die größere von einer festgelegten Geschwindigkeit, welche eine Bewegungsgeschwindigkeit des einen von dem Werkzeug und dem Arbeitsmaterial in dem ersten Block festlegt, und einer festgelegten Geschwindigkeit ist, welche die Bewegungsgeschwindigkeit des einen von dem Werkzeug und dem Arbeitsmaterial in dem zweiten Block festlegt;ein Berechnungsmittel, das eine Zeit berechnet, zu der Motoren (51 bis 54), welche das eine von dem Werkzeug und dem Arbeitsmaterial bewegen, den gegenwärtigen Interpolationsbefehl ausführen, durch Berechnen einer Startverzögerungszeit (Td), 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, auf der Grundlage von Beschleunigungs/Abbrems-Zeitkonstanten (t) für die Motoren (51 bis 54) einer Abweichungstoleranz (ε) für eine Abweichung von dem Weg, einem Inter-Block-Winkel, den das Inter-Block-Winkel-Berechnungsmittel berechnet, und der Geschwindigkeit, welche das Geschwindigkeitsbestimmungsmittel bestimmt; undein Ausführungsmittel, welches bewirkt, dass die Motoren, den gegenwärtigen Interpolationsbefehl ausführen auf der Grundlage der Zeit, welche das Berechnungsmittel berechnet.

Description

  • 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 t1 ≠ t2: F c = { R c × A + 2 t 2 + A 2 t 4 B 2 A + 2 t b 4 a × 60000 ( 1 ) R c × A + 2 t 2 A 2 t 4 B 2 A + 2 t b 4 a × 60000 ( 2 ) R c × A + 2 t 2 + A 2 t 4 + B 2 A + 2 t b 4 a × 60000 ( 3 ) R c × A + 2 t 2 A 2 t 4 + B 2 A + 2 t b 4 a × 60000 ( 4 ) a = 1, b = 80 ( 1 t 1 2 + 1 t 2 2 ) , c = 640 ( 10 t 1 2 t 2 2 + 3 t 1 4 + 3 t 2 4 ) , d = 153600 ( 1 t 1 4 t 2 2 + 1 t 1 2 t 2 4 ) , e = 3686400 ε R c t 1 4 t 2 4 A = 3 b 2 8 a + c , B = b 3 8 a 2 b c 2 a + d , C = 3 b 4 256 a 3 + b 2 c 16 a 2 + b d 4 a + e t = ( A C 6 + A 3 216 + B 2 16 ) + ( A C 6 + A 3 216 + B 2 16 ) 2 ( A 2 36 + C 3 ) 3 3 + ( A C 6 + A 3 216 + B 2 16 ) ( A C 6 + A 3 216 + B 2 16 ) 2 ( A 2 36 + C 3 ) 3 3 + A 6
    Figure DE102016100808B4_0001
  • 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 Fc definiert.
    Falls t1 = t2: F c = { 2 R c t 1 × 10 + 2 30 1 ε R c 5 × 60000 ( 1 ) 2 R c t 1 × 10 2 30 1 ε R c 5 × 60000 ( 2 )
    Figure DE102016100808B4_0002
  • 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. (1) Linearer Interpolationsblock - Kreisbogen-Interpolationsblock
    2. (2) Kreisbogen-Interpolationsblock - Linearer Interpolationsblock
    3. (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 . T B = ( t 1 + t 2 ) / 2
    Figure DE102016100808B4_0003
    • 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. T B T N 1 + T N 2 + T N ( M 1 ) + T N M
    Figure DE102016100808B4_0004
    • 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 TN-M durch eine unten wiedergegebene Gleichung 4 berechnet wird. T N M = T d N M + L N M F N M × 60000
    Figure DE102016100808B4_0005
    • 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 t1 - t2, 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 t1 - t2, 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 t1 - t2 ist, kann es leicht bestimmt werden, welche der zwei Berechnungsformeln verwendet werden sollte zum Berechnen von Td . Durch Einsetzen der Gleichung (εt1-t2max) = 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. Falls  ε / ε max < K: T d = t 1 + T 2 24 t 1 t 2 ε × 60000 F  cos ( β / 2 ) 3
    Figure DE102016100808B4_0006
    Falls  ε / ε max K: T d = t 1 4 t 1 ε × 60000 F  cos ( β / 2 ) t 2 2 3
    Figure DE102016100808B4_0007

    Jedoch gilt: ε m a x = 4 t 2 2 6 ( t 1 + t 2 ) t 2 + 3 ( t 1 + t 2 ) 2 12 t 1 F  cos ( β / 2 ) × 1 60000
    Figure DE102016100808B4_0008
    K = 4 t 2 2 4 t 2 2 6 ( t 1 t 2 ) t 2 + 3 ( t 1 + t 2 ) 2
    Figure DE102016100808B4_0009
  • 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. Falls t 1 t 2 + t 3 ;
    Figure DE102016100808B4_0010
    Falls 0 ε / ε max K 1 :
    Figure DE102016100808B4_0011
    T d = t 1 + t 2 + t 3 ( 192 t 1 t 2 t 3 ε × 60000 F  cos ( β / 2 ) ) 1 / 4 Falls K 1 < ε / ε max K 2 :
    Figure DE102016100808B4_0012
    T d = t 1 + t 2 a + a 2 + b 3 a a 2 + b 3
    Figure DE102016100808B4_0013
    a = 12 t 1 t 2 ε × 60000 F  cos ( β / 2 ) , b = t 3 6 27
    Figure DE102016100808B4_0014
    Falls K 2 < ε / ε max K 3 :
    Figure DE102016100808B4_0015
    T d = t 1 + t 2 + t 3 { A + 2 t 2 + A 2 t 4 B 2 A + 2 t b 4 a ( 1 ) A + 2 t 2 A 2 t 4 B 2 A + 2 t b 4 a ( 2 ) A + 2 t 2 + A 2 t 4 + B 2 A + 2 t b 4 a ( 3 ) A + 2 t 2 A 2 t 4 + B 2 A + 2 t b 4 a ( 4 ) a = 1, b = 8 ( t 2 + t 3 ) , c = 24 ( t 2 2 + t 3 2 ) , d = 32 ( t 2 3 + t 3 3 ) , e = 16 ( t 2 4 + t 3 4 ) + 192 t 1 t 2 t 3 ε × 60000 F  cos ( β / 2 ) A = 3 b 2 8 a + c , B = b 3 8 a 2 b c 2 a + d , C = 3 b 4 256 a 3 + b 2 c 16 a 2 b d 4 a + e t = ( A C 6 + A 3 216 + B 2 16 ) + ( A C 6 + A 3 216 + B 2 16 ) ( A 2 36 + C 3 ) 3 3 + ( A C 6 + A 3 216 + B 2 16 ) ( A C 6 + A 3 216 + B 2 16 ) ( A 2 36 + C 3 ) 3 3 + A 6
    Figure DE102016100808B4_0016
  • 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.
  • Falls K 2 < ε / ε max K 3 :
    Figure DE102016100808B4_0017
    T d = t 1 + t 2 + t 3 { A + 2 t 2 + A 2 t 4 B 2 A + 2 t b 4 a ( 1 ) A + 2 t 2 A 2 t 4 B 2 A + 2 t b 4 a ( 2 ) A + 2 t 2 + A 2 t 4 + B 2 A + 2 t b 4 a ( 3 ) A + 2 t 2 A 2 t 4 + B 2 A + 2 t b 4 a ( 4 ) a = 1, b = 4 ( t 1 + t 2 + t 3 ) , c = 12 ( t 1 2 + t 2 2 + t 3 2 ) , d = 16 ( t 1 3 + t 2 3 + t 3 3 ) , e = 8 ( t 1 4 + t 2 4 + t 3 4 ) + 96 t 1 t 2 t 3 ε × 60000 F  cos ( β / 2 ) A = 3 b 2 8 a + c , B = b 3 8 a 2 b c 2 a + d , C = 3 b 4 256 a 3 + b 2 c 16 a 2 b d 4 a + e t = ( A C 6 + A 3 216 + B 2 16 ) + ( A C 6 + A 3 216 + B 2 16 ) ( A 2 36 + C 3 ) 3 3 + ( A C 6 + A 3 216 + B 2 16 ) ( A C 6 + A 3 216 + B 2 16 ) ( A 2 36 + C 3 ) 3 3 + A 6
    Figure DE102016100808B4_0018
  • 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: ε m a x = 4 t 1 ( t 2 + t 3 ) ( t 1 2 + t 2 2 + t 3 3 + 2 t 2 t 3 ) + 4 t 2 ( t 1 + t 3 ) ( t 1 2 + t 2 2 + t 3 2 + 2 t 1 t 3 ) + 4 t 3 ( t 1 + t 2 ) ( t 1 2 + t 2 2 + t 3 2 + 2 t 1 t 2 ) ( t 1 + t 2 + t 3 ) 4 96 t 1 t 2 t 3 f  cos ( β / 2 ) × 1 60000 K 1 = 8 t 3 4 4 t 1 ( t 2 + t 3 ) ( t 1 2 + t 2 2 + t 3 3 + 2 t 2 t 3 ) + 4 t 2 ( t 1 + t 3 ) ( t 1 2 + t 2 2 + t 3 2 + 2 t 1 t 3 ) 4 t 3 ( t 1 + t 2 ) ( t 1 2 + t 2 2 + t 3 2 + 2 t 1 t 2 ) + ( t 1 + t 2 + t 3 ) 4 K 2 = 8 t 3 ( 2 t 2 t 3 ) ( 2 t 2 2 2 t 2 t 3 + t 3 2 ) 4 t 1 ( t 2 + t 3 ) ( t 1 2 + t 2 2 + t 3 3 + 2 t 2 t 3 ) + 4 t 2 ( t 1 + t 3 ) ( t 1 2 + t 2 2 + t 3 2 + 2 t 1 t 3 ) 4 t 3 ( t 1 + t 2 ) ( t 1 2 + t 2 2 + t 3 2 + 2 t 1 t 2 ) + ( t 1 + t 2 + t 3 ) 4 K 3 = 8 { t 2 ( 2 t 1 t 2 ) ( t 2 2 2 t 1 t 2 + 2 t 1 2 ) ( t 3 t 1 ) 4 } 4 t 1 ( t 2 + t 3 ) ( t 1 2 + t 2 2 + t 3 3 + 2 t 2 t 3 ) + 4 t 2 ( t 1 + t 3 ) ( t 1 2 + t 2 2 + t 3 2 + 2 t 1 t 3 ) 4 t 3 ( t 1 + t 2 ) ( t 1 2 + t 2 2 + t 3 2 + 2 t 1 t 2 ) + ( t 1 + t 2 + t 3 ) 4
    Figure DE102016100808B4_0019
    Falls t 1 t 2 + t 3 :
    Figure DE102016100808B4_0020
    Falls 0 ε / ε max K 1 :
    Figure DE102016100808B4_0021
    T d = t 1 + t 2 + t 3 ( 192 t 1 t 2 t 3 ε × 60000 F  cos ( β / 2 ) ) 1 / 4
    Figure DE102016100808B4_0022
    Falls K t ε / ε max K 2 :
    Figure DE102016100808B4_0023
    T d = t 1 + t 2 a + a 2 + b 3 a a 2 + b 3
    Figure DE102016100808B4_0024
    a = 12 t 1 t 2 ε × 60000 F  cos ( β / 2 ) , b = t 3 6 27
    Figure DE102016100808B4_0025
    Falls K 2 ε / ε max K 3 :
    Figure DE102016100808B4_0026
    T d = t 1 + t 2 + t 3 { A + 2 t 2 + A 2 t 4 B 2 A + 2 t b 4 a ( 1 ) A + 2 t 2 A 2 t 4 B 2 A + 2 t b 4 a ( 2 ) A + 2 t 2 + A 2 t 4 + B 2 A + 2 t b 4 a ( 3 ) A + 2 t 2 A 2 t 4 + B 2 A + 2 t b 4 a ( 4 ) a = 1, b = 8 ( t 2 + t 3 ) , c = 24 ( t 2 2 + t 3 2 ) , d = 32 ( t 2 3 + t 3 3 ) , e = 16 ( t 2 4 + t 3 4 ) + 192 t 1 t 2 t 3 ε × 60000 F  cos ( β / 2 ) A = 3 b 2 8 a + c , B = b 3 8 a 2 b c 2 a + d , C = 3 b 4 256 a 3 + b 2 c 16 a 2 b d 4 a + e t = ( A C 6 + A 3 216 + B 2 16 ) + ( A C 6 + A 3 216 + B 2 16 ) ( A 2 36 + C 3 ) 3 3 + ( A C 6 + A 3 216 + B 2 16 ) ( A C 6 + A 3 216 + B 2 16 ) ( A 2 36 + C 3 ) 3 3 + A 6
    Figure DE102016100808B4_0027
  • 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: T d = t 1 ( t 2 + t 3 ) 2 4 t 2 2 + 6 t 2 t 3 + 4 t 3 2 3 + 4 t 1 ε × 60000 F cos ( β / 2 )
    Figure DE102016100808B4_0028
  • Jedoch gilt ε m a x = 3 t 1 2 + t 2 2 + t 3 2 12 t 1 F  cos ( β / 2 ) × 1 60000
    Figure DE102016100808B4_0029
    K 1 = t 3 3 t 2 ( 3 t 1 2 + t 2 2 + t 3 2 )
    Figure DE102016100808B4_0030
    K 2 = ( 2 t 2 t 3 ) ( 2 t 2 2 2 t 2 t 3 + t 3 2 ) t 2 ( 3 t 1 2 + t 2 2 + t 3 2 )
    Figure DE102016100808B4_0031
    K 3 = ( t 2 + 2 t 3 ) ( t 2 2 + 2 t 2 t 3 + 2 t 3 2 ) t 2 3 t 3 ( 3 t 1 2 + t 2 2 + t 3 2 )
    Figure DE102016100808B4_0032
  • 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. H ( s ) = 1 1 + s T
    Figure DE102016100808B4_0033

Claims (4)

  1. Numerische Steuervorrichtung (30), die Schneidearbeit durch Bewegen eines von einem Werkzeug und einem Arbeitsmaterial entlang eines Wegs durchführt, der abgeleitet wird durch Interpolieren benachbarter festgelegter Punkte von einer Mehrzahl von festgelegten Punkten (P), die durch ein NC-Programm festgelegt sind, wobei die numerische Steuervorrichtung (30) derart konfiguriert ist, dass: das NC-Programm eine Mehrzahl von Blöcken enthält, die von Steuerbefehlen konfiguriert sind, wobei die numerische Steuervorrichtung (30) aufweist: ein Inter-Block-Winkel-Berechnungsmittel, das einen Inter-Block-Winkel (β) berechnet, wobei der Inter-Block-Winkel (β) ein Winkel zwischen einem ersten Block, welcher durch einen gegenwärtigen Interpolationsbefehl in dem NC-Programm interpoliert wird, und einem zweiten Block ist, welcher durch einen vorhergehenden Interpolationsbefehl interpoliert wurde; ein Geschwindigkeitsbestimmungsmittel, das eine festgelegte Geschwindigkeit (F) bestimmt, wobei die festgelegte Geschwindigkeit (F) die größere von einer festgelegten Geschwindigkeit, welche eine Bewegungsgeschwindigkeit des einen von dem Werkzeug und dem Arbeitsmaterial in dem ersten Block festlegt, und einer festgelegten Geschwindigkeit ist, welche die Bewegungsgeschwindigkeit des einen von dem Werkzeug und dem Arbeitsmaterial in dem zweiten Block festlegt; ein Berechnungsmittel, das eine Zeit berechnet, zu der Motoren (51 bis 54), welche das eine von dem Werkzeug und dem Arbeitsmaterial bewegen, den gegenwärtigen Interpolationsbefehl ausführen, durch Berechnen einer Startverzögerungszeit (Td), 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, auf der Grundlage von Beschleunigungs/Abbrems-Zeitkonstanten (tn) für die Motoren (51 bis 54) einer Abweichungstoleranz (ε) für eine Abweichung von dem Weg, einem Inter-Block-Winkel, den das Inter-Block-Winkel-Berechnungsmittel berechnet, und der Geschwindigkeit, welche das Geschwindigkeitsbestimmungsmittel bestimmt; und ein Ausführungsmittel, welches bewirkt, dass die Motoren, den gegenwärtigen Interpolationsbefehl ausführen auf der Grundlage der Zeit, welche das Berechnungsmittel berechnet.
  2. Numerische Steuervorrichtung (30) nach Anspruch 1, weiter aufweisend: ein Kreisbogengeschwindigkeits-Berechnungsmittel, das wenn zumindest einer von dem ersten Block und dem zweiten Block ein Kreisbogen-Interpolationsblock ist, der eine Kreisbogen-Interpolation durchführt, eine Kreisbogengeschwindigkeit (Fc) berechnet, mit der sich das eine von dem Werkzeug und dem Arbeitsmaterial in dem Kreisbogen-Interpolationsblock bewegt, wobei die Kreisbogengeschwindigkeit (Fc) berechnet wird basierend auf einem Kreisbogenradius (Rc) eines festgelegten Kreisbogens, der durch einen Kreisbogen-Interpolationsbefehl festgelegt wird, der dem Kreisbogen-Interpolationsblock entspricht, basierend auf der Abweichungstoleranz (e) und basierend auf den Beschleunigungs/Abbrems-Zeitkonstanten (tn) und ein Einstellmittel für eine festgelegte Geschwindigkeit, das die Kreisbogengeschwindigkeit, welche das Kreisbogengeschwindigkeits-Berechnungsmittel berechnet, mit der festgelegten Geschwindigkeit vergleicht, welche die Bewegungsgeschwindigkeit des einen von dem Werkzeug und dem Arbeitsmaterial in dem Kreisbogen-Interpolationsblock festlegt, und die kleinere der beiden Geschwindigkeiten als die festgelegte Geschwindigkeit in dem Kreisbogen-Interpolationsblock einstellt, wobei das Inter-Block-Winkel-Berechnungsmittel für den Kreisbogen-Interpolationsblock einen Winkel berechnet, der gebildet wird zwischen dem anderen Block und einer festgelegten Kreisbogen-Tangentenlinie (b), die eine Tangentenlinie des festgelegten Kreisbogens ist und durch einen ersten festgelegten Punkt hindurchgeht, an dem der erste Block und der zweite Block verbunden sind, einen Winkel berechnet, der gebildet wird zwischen dem anderen Block und einer tatsächlichen Kreisbogen-Tangentenlinie (c), die durch den ersten festgelegten Punkt hindurchgeht und eine Tangentenlinie eines tatsächlichen Kreisbogens ist, der eine Abweichung hin zu der inneren Seite des Kreisbogens aufweist, wobei die Abweichung abgeleitet wird von festgelegten Geschwindigkeit in dem Kreisbogen-Interpolationsblock und dem Kreisbogenradius (Rc) des festgelegten Kreisbogens, und dem kleineren der zwei berechneten Winkel als den Inter-Block-Winkel (b) festsetzt.
  3. Numerische Steuervorrichtung (30) nach Anspruch 2, wobei das Inter-Block-Winkel-Berechnungsmittel enthält: ein erstes Winkelberechnungsmittel, das in einem Fall, in dem der erste Block und der zweite Block beide lineare Interpolationsblöcke sind, die eine lineare Interpolation durchführen, den Inter-Block-Winkel zwischen den beiden linearen Interpolationsblöcken berechnet, ein zweites Winkelberechnungsmittel, das in einem Fall, bei dem einer von dem ersten Block und dem zweiten Block ein Kreisbogen-Interpolationsblock ist und der andere ein linearer Interpolationsblock ist, den Inter-Block-Winkel zwischen dem Kreisbogen-Interpolationsblock und dem linearen Interpolationsblock berechnet, und ein drittes Winkelberechnungsmittel, das in einem Fall, bei dem der erste Block und der zweite Block beide Kreisbogen-Interpolationsblöcke sind, den Inter-Block-Winkel zwischen den zwei Kreisbogen-Interpolationsblöcken berechnet, wobei: das zweite Winkelberechnungsmittel 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, mit einem Winkel vergleicht, der gebildet wird zwischen der tatsächlichen Kreisbogen-Tangentenlinie und der festgelegten geraden Linie, und den kleineren der beiden Winkel als den Inter-Block-Winkel (b) festlegt, und das dritte Winkelberechnungsmittel 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, miteinander vergleicht und den kleinsten der vier Winkel als den Inter-Block-Winkel (b) festlegt.
  4. Steuerverfahren einer numerischen Steuervorrichtung (30), die Schneidearbeit durchführt durch Bewegen eines von einem Werkzeug und einem Arbeitsmaterial entlang eines Weges, der abgeleitet wird durch Interpolieren benachbarter, festgelegter Punkte unter einer Mehrzahl von festgelegten Punkten (P), die durch ein NC-Programm festgelegt werden, das eine Mehrzahl von Blöcken enthält, welche von Steuerbefehlen konfiguriert sind, wobei das Steuerverfahren aufweist: ein Inter-Block-Winkel-Berechnungsverfahren, das einen Inter-Block-Winkel (β) berechnet, wobei der Inter-Block-Winkel ein Winkel zwischen einem ersten Block, der durch einen gegenwärtigen Interpolationsbefehl in dem NC-Programm interpoliert wird, und einem zweiten Block, der durch einen vorhergehenden Interpolationsbefehl interpoliert wurde, ist; ein Geschwindigkeitsbestimmungsverfahren, das eine festgelegte Geschwindigkeit (F) bestimmt, wobei die festgelegte Geschwindigkeit die größere von einer festgelegten Geschwindigkeit ist, welche eine Bewegungsgeschwindigkeit des einen von dem Werkzeug und dem Arbeitsmaterial in dem ersten Block festlegt, und einer festgelegten Geschwindigkeit, die die Bewegungsgeschwindigkeit des einen von dem Werkzeug und dem Arbeitsmaterial in dem zweiten Block festlegt; ein Berechnungsverfahren, das eine Zeit berechnet, zu der Motoren (51 bis 54), welche das eine von dem Werkzeug und dem Arbeitsmaterial bewegen, die Ausführung des gegenwärtigen Interpolationsbefehls beginnen, durch Berechnen einer Startverzögerungszeit (Td), 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 (tn) für die Motoren (51 bis 54), einer Abweichungstoleranz (ε) für eine Abweichung von dem Weg, dem Inter-Block-Winkel (b) der durch das Inter-Block-Winkel-Berechnungsverfahren berechnet wurde, und der Geschwindigkeit, die von dem Geschwindigkeitsbestimmungsmittel bestimmt wurde; und ein Ausführungsverfahren, das bewirkt, dass die Motoren (51 bis 54) den gegenwärtigen Interpolationsbefehl ausführen auf der Grundlage der Zeit, die durch das Berechnungsverfahren berechnet wurde.
DE102016100808.7A 2015-01-20 2016-01-19 Numerische Steuervorrichtung und Steuerverfahren Active DE102016100808B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-008206 2015-01-20
JP2015008206A JP6435872B2 (ja) 2015-01-20 2015-01-20 数値制御装置と制御方法

Publications (2)

Publication Number Publication Date
DE102016100808A1 DE102016100808A1 (de) 2016-07-21
DE102016100808B4 true DE102016100808B4 (de) 2019-05-16

Family

ID=56293888

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016100808.7A Active DE102016100808B4 (de) 2015-01-20 2016-01-19 Numerische Steuervorrichtung und Steuerverfahren

Country Status (3)

Country Link
JP (1) JP6435872B2 (de)
CN (1) CN105807721B (de)
DE (1) DE102016100808B4 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107817761B (zh) * 2016-09-12 2020-02-07 上海铼钠克数控科技股份有限公司 基于误差迭代学习的零件加工方法及系统
CN106444625B (zh) * 2016-09-18 2019-03-12 合肥工业大学 一种玻璃切割机的刀头随动控制方法及其控制装置
JP6769219B2 (ja) * 2016-09-30 2020-10-14 ブラザー工業株式会社 数値制御装置
CN106227152A (zh) * 2016-10-17 2016-12-14 合肥工业大学 一种cnc加工的平滑过渡方法及其平滑过渡装置
CN108375957B (zh) * 2017-01-31 2021-03-26 兄弟工业株式会社 数值控制装置和控制方法
JP6881362B2 (ja) * 2018-03-16 2021-06-02 ブラザー工業株式会社 数値制御装置
JP7037457B2 (ja) * 2018-09-05 2022-03-16 オークマ株式会社 数値制御装置および数値制御方法
CN109240215B (zh) * 2018-11-22 2019-05-24 山东易码智能科技股份有限公司 一种基于改进型s曲线加减速的pvt控制方法
CN110032142B (zh) * 2019-04-29 2020-08-14 大连理工大学 基于数控加工路径最小化修正的轮廓误差预补偿方法
JP7376260B2 (ja) * 2019-06-19 2023-11-08 ファナック株式会社 数値制御装置
JP7238673B2 (ja) * 2019-07-30 2023-03-14 ブラザー工業株式会社 数値制御装置及び制御方法
JP2021092902A (ja) * 2019-12-09 2021-06-17 ブラザー工業株式会社 数値制御装置、数値制御方法、及び記憶媒体
JP7230872B2 (ja) * 2020-03-31 2023-03-01 ブラザー工業株式会社 数値制御装置及び数値制御方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5835607A (ja) 1981-08-27 1983-03-02 Fanuc Ltd 数値制御装置
DE10351781A1 (de) 2003-11-06 2005-06-09 Siemens Ag Rechnergestütztes Anpassungsverfahren für ein Anwenderprogramm für eine Werkzeugmaschine und hiermit korrespondierende Gegenstände
US7072734B2 (en) * 2003-11-28 2006-07-04 Yamazaki Mazak Corporation Method and apparatus for controlling a machine tool
EP2022608A2 (de) * 2007-07-31 2009-02-11 Rockwell Automation Technologies, Inc. Verbesserter Mischalgorithmus für Trajektorienplanung

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05313729A (ja) * 1992-05-08 1993-11-26 Hitachi Seiki Co Ltd 数値制御装置
JPH06110534A (ja) * 1992-09-29 1994-04-22 Intetsuku:Kk 工作機械における位置制御方法
JP4891528B2 (ja) * 2004-04-07 2012-03-07 オークマ株式会社 加工時間算出装置
JP2006309645A (ja) * 2005-05-02 2006-11-09 Fanuc Ltd 曲線補間方法
JP4508969B2 (ja) * 2005-07-28 2010-07-21 日本電産シンポ株式会社 駆動制御装置における直線補間方法
JP5317532B2 (ja) * 2008-05-23 2013-10-16 三菱電機株式会社 数値制御装置
JP2011134169A (ja) * 2009-12-25 2011-07-07 Mitsubishi Heavy Ind Ltd 制御パラメータ調整方法及び調整装置
JP5149421B2 (ja) * 2011-05-20 2013-02-20 ファナック株式会社 加工時間予測部および加工誤差予測部を有する数値制御装置
JP5192578B2 (ja) * 2011-06-03 2013-05-08 ファナック株式会社 加工プログラムの移動経路を修正する機能を備えた数値制御装置
CN102222143A (zh) * 2011-06-21 2011-10-19 江苏科技大学 加工船用螺旋桨并联机床空间螺旋线数控插补系统及方法
JP5208325B1 (ja) * 2011-09-15 2013-06-12 三菱電機株式会社 数値制御装置、加工システム、および数値制御方法
JP5374616B1 (ja) * 2012-06-14 2013-12-25 ファナック株式会社 工作機械の工具ベクトルを表示する工具軌跡表示装置
JP5653972B2 (ja) * 2012-07-19 2015-01-14 ファナック株式会社 コーナ複数曲線挿入部を有する数値制御装置
CN104166376A (zh) * 2013-05-18 2014-11-26 刘希汉 复合插补法及其系统软件
CN104020718A (zh) * 2014-05-28 2014-09-03 张万军 一种nurbs曲线参考模型自适应实时插补方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5835607A (ja) 1981-08-27 1983-03-02 Fanuc Ltd 数値制御装置
DE10351781A1 (de) 2003-11-06 2005-06-09 Siemens Ag Rechnergestütztes Anpassungsverfahren für ein Anwenderprogramm für eine Werkzeugmaschine und hiermit korrespondierende Gegenstände
US7072734B2 (en) * 2003-11-28 2006-07-04 Yamazaki Mazak Corporation Method and apparatus for controlling a machine tool
EP2022608A2 (de) * 2007-07-31 2009-02-11 Rockwell Automation Technologies, Inc. Verbesserter Mischalgorithmus für Trajektorienplanung

Also Published As

Publication number Publication date
CN105807721A (zh) 2016-07-27
JP2016133987A (ja) 2016-07-25
DE102016100808A1 (de) 2016-07-21
JP6435872B2 (ja) 2018-12-12
CN105807721B (zh) 2020-02-18

Similar Documents

Publication Publication Date Title
DE102016100808B4 (de) Numerische Steuervorrichtung und Steuerverfahren
EP2826572B1 (de) Federwindemaschine mit einstellbarer Schnitteinrichtung
EP1981674B1 (de) Verfahren zum bearbeiten von kegelrädern im teilenden verfahren mit kompletter teilungsfehlerkompensation
DE102018002959A1 (de) Steuervorrichtung für Werkzeugmaschine, die Oszillationsschneiden durchführt
DE102016104515B4 (de) Numerische Steuervorrichtung und Steuerverfahren
DE102017219841B4 (de) Numerische Steuervorrichtung
DE102018002566A1 (de) Steuervorrichtung für eine Osziilationschneiden durchführende Werkzeugmaschine
DE102015014236B4 (de) Programmkorrekturvorrichtung und Programmkorrekturverfahren eines Industrieroboters
DE3408523C2 (de)
DE102010064308A1 (de) Steuerung für eine Werkzeugmaschine
EP2861368B1 (de) Verfahren zum erzeugen einer verzahnung und mit diesem verfahren betriebene verzahnungsmaschine
DE102018205185A1 (de) Steuereinrichtung
DE69934352T2 (de) Verfahren zum Steuern einer gegenläufigen Wischeranordnung und gegenläufige Wischeranordnung
EP4147102B1 (de) Betreiben einer wenigstens zweiachsigen werkzeugmaschine
EP0962843B1 (de) Verfahren zur nichtlinearen Darstellung von Bahnkurven eines Werkzeugs einer numerischen Werkzeugmaschine
DE102017116788B4 (de) Roboter-Steuerungsvorrichtung und Verfahren zur Steuerung derselben
DE102014116481B4 (de) Werkzeugmaschine zum Abkanten und Abkantverfahren
DE4335830A1 (de) Drahtschneidemaschine mit elektrischer Entladung und zugehöriges Verfahren
EP0184075A1 (de) Einrichtung und Verfahren zum Regeln eines Industrieroboters
EP3300521B1 (de) Ausrichtungsverfahren für werkstücke
DE102016009436B4 (de) Robotersteuerung, die ein Rütteln einer Werkzeugspitze bei einem Roboter verhindert, der mit einer Verfahrachse ausgestattet ist
DE102018009999A1 (de) Numerische steuerung
DE102005032336B4 (de) Verfahren zur Beeinflussung einer Steuerung oder zur Steuerung einer Bewegungseinrichtung und Steuerung oder Steuerungskomponente einer Bewegungseinrichtung
DE102018117244B3 (de) Verfahren zum Ermitteln einer Grobbahn aus einer vorgegebenen Kontur
DE112018008169T5 (de) Numerische Steuerung und Maschinenlernvorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final