DE102017208060B4 - Servosteuerung, steuerverfahren, und computerprogramm für eine werkzeugmaschine zum oszillationsschneiden - Google Patents

Servosteuerung, steuerverfahren, und computerprogramm für eine werkzeugmaschine zum oszillationsschneiden Download PDF

Info

Publication number
DE102017208060B4
DE102017208060B4 DE102017208060.4A DE102017208060A DE102017208060B4 DE 102017208060 B4 DE102017208060 B4 DE 102017208060B4 DE 102017208060 A DE102017208060 A DE 102017208060A DE 102017208060 B4 DE102017208060 B4 DE 102017208060B4
Authority
DE
Germany
Prior art keywords
command
oscillation
workpiece
cutting tool
position command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102017208060.4A
Other languages
English (en)
Other versions
DE102017208060A1 (de
Inventor
Naoto Sonoda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=60163374&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE102017208060(B4) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102017208060A1 publication Critical patent/DE102017208060A1/de
Application granted granted Critical
Publication of DE102017208060B4 publication Critical patent/DE102017208060B4/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/19Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • G05B19/27Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an absolute digital measuring device
    • G05B19/31Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an absolute digital measuring device for continuous-path control
    • 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/4097Numerical 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 using design data to control NC machines, e.g. CAD/CAM
    • 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/404Numerical 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 arrangements for compensation, e.g. for backlash, overshoot, tool offset, tool wear, temperature, machine construction errors, load, inertia
    • 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/32Operator till task planning
    • G05B2219/32153Exchange data between user, cad, caq, nc, capp
    • 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/34Director, elements to supervisory
    • G05B2219/34013Servocontroller
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36263Select cutting direction
    • 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/45Nc applications
    • G05B2219/45044Cutting
    • 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/49176Compensation of vibration of machine base due to slide movement
    • 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/49314Machine with oscillating workpiece, no full rotation
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50218Synchronize groups of axis, spindles

Landscapes

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

Abstract

Steuerung (100), die eine Werkzeugmaschine mit mehreren Steuerachsen steuert und zum Bearbeiten durch Schneiden eines Werkstücks (10, 20) als Bearbeitungsziel durch koordinierte Bewegung der Steuerachsen verwendet wird, wobei die Steuerung (100) umfasst:eine Positionsbefehls-Erfassungseinheit (120), die einen auf einen Servomotor (400) gerichteten Positionsbefehl zum Antreiben eines Schneidwerkzeugs (14, 24) erfasst, oder einen auf einen Servomotor (400) gerichteten Positionsbefehl zum Antreiben des Werkstücks (10, 20) erfasst;eine Drehzahl-Erfassungseinheit (118), die eine Drehzahl des gedrehten Schneidwerkzeugs (14, 24) oder die des gedrehten Werkstücks (10, 20) erfasst;eine Oszillationsamplituden-Berechnungseinheit (104), die die Oszillationsamplitude basierend auf dem erfassten Positionsbefehl und der erfassten Drehzahl berechnet;eine Oszillationsfrequenz-Berechnungseinheit (104), die eine Oszillationsfrequenz basierend auf der erfassten Drehzahl berechnet;eine Oszillationsbefehlsberechnungseinheit (104), die einen Oszillationsbefehl zum Veranlassen des Schneidwerkzeugs (14, 24) und des Werkstücks (10, 20), relativ zueinander entlang einer Bearbeitungsstrecke, entlang derer das Schneidwerkzeug sich bewegt, zu schwingen, um Späne zu zerkleinern, die während des Schneidens entstehen, basierend auf der berechneten Oszillationsamplitude und der berechneten Oszillationsfrequenz berechnet;eine Positionsbefehlsspeichereinheit (103), die eine Befehlsroute speichert, die basierend auf der berechneten Oszillationsamplitude bestimmt wird;eine Oszillationsbefehlskorrektureinheit (104), die den Oszillationsbefehl basierend auf der gespeicherten Befehlsroute korrigiert; undeine Antriebseinheit (116, 106), die ein Antriebssignal zum Ansteuern des Servomotors (400) basierend auf dem erfassten Positionsbefehl und des korrigierten Oszillationsbefehls bestimmt, und das Antriebssignal ausgibt,wobei die Positionsbefehlsspeichereinheit (103) die Befehlsroute speichert, die mindestens länger als die Oszillationsamplitude ist, undwobei die Oszillationsbefehlskorrektureinheit (104) den Oszillationsbefehl korrigiert, um zu bewirken, dass das Schneidwerkzeug (14, 24) und das Werkstück (10, 20) relativ zueinander entlang der gespeicherten Befehlsroute oszillieren.

Description

  • Die vorliegende Erfindung bezieht sich auf eine Servosteuerung, ein Steuerverfahren und ein Computerprogramm für eine Werkzeugmaschine, die für die Bearbeitung durch Schneiden eines Werkstücks mittels einer koordinierten Bewegung mehrerer Achsen verwendet wird.
  • Es gibt eine Werkzeugmaschine, die üblicherweise für die Bearbeitung durch Schneiden eines Werkstücks als Bearbeitungsziel durch eine koordinierte Bewegung mehrerer Achsen verwendet wird. Gemäß einem Bearbeitungsverfahren, das in einigen Fällen für eine solche Werkzeugmaschine verwendet wird, um Späne durch Schneiden zu zerkleinern, werden ein Schneidwerkzeug und ein Werkstück dazu gebracht, relativ zueinander in einer Bearbeitungsrichtung zu schwingen.
  • Beispielsweise offenbart das Patentdokument 1, das unten erwähnt wird, eine Technik der Bearbeitung durch Schneiden, indem bewirkt wird, dass ein Schneidwerkzeug mit einer niedrigen Frequenz vibriert. Die Technik von Patentdokument 1 weist einen Steuermechanismus auf, der bewirkt, dass das Schneidwerkzeug bei einer niedrigen Frequenz in einer 2-Achsenrichtung durch Steuern eines Schneidwerkzeugvorschubantriebsmotors schwingt. Die folgenden Daten werden im Voraus in Form einer Tabelle als Daten gespeichert, die einen tatsächlichen Betrieb bei einer niedrigen Frequenz von 25 Hz oder mehr des Zuführens des Schneidwerkzeugs durch Synchronisieren des Schneidwerkzeugs in wenigstens der 2-Achsenrichtung in einer Weise ermöglicht, die von der Anzahl von Umdrehungen eines Werkstücks oder der Anzahl von Umdrehungen des Schneidwerkzeugs und dem Vorschubbetrag des Schneidwerkzeuges während einer Drehung des Werkstücks oder des Schneidwerkzeuges abhängt: der Betrag der Vorwärtsbewegung, der Betrag der Rückwärtsbewegung, eine Vorwärtsbewegungsgeschwindigkeit und eine Rückwärtsbewegungsgeschwindigkeit eines Schneidwerkzeugvorschubmechanismus, der auf mechanische Eigenschaften der Tabelle anspricht, wie beispielsweise Masse- und Motorcharakteristiken. Basierend auf den gespeicherten Daten wird der Schneidwerkzeugvorschubantriebsmotor gesteuert. Patentdokument 1 zitiert, dass durch Realisieren von Schneiden durch Erzeugen von optimalen niederfrequenten Vibrationen die Späne in Pulverform zerkleinert werden, um es unwahrscheinlich zu machen, dass die Späne an dem Schneidwerkzeug anhaften. Gemäß Patentdokument 1 wird jedoch ein Oszillationsbefehl, der auf die Motorcharakteristiken anspricht, im Voraus in der Tabelle gespeichert. Daher wird eine niederfrequente Vibration (Oszillation) als schwierig angesehen, um auf eine Änderung in einer Bearbeitungsbedingung zu reagieren.
  • Patentdokument 2, das unten erwähnt wird, offenbart eine Technik, durch die ein Oszillationsbefehl erzeugt wird, um das Anlegen einer Vibration entlang einer Bearbeitungsroute basierend auf gegebenen Vibrationsbedingungen wie Frequenz und Amplitude zu ermöglichen. Beispielsweise wird der erzeugte Oszillationsbefehl einem Bearbeitungsbefehl überlagert, und ein resultierender Befehl wird auf Servosteuerung auf jeder Achse verteilt. Genauer gesagt, um ein Werkzeug entlang einer Bewegungsroute relativ zu einem Bearbeitungsziel zu bewegen, wird das Werkzeug dazu gebracht, zu vibrieren, um so der Bewegungsroute zu folgen. Ein Befehls-Arbeitstakt (ein Arbeitstakt, der durch einen Befehl gegeben wird) in einer Zeiteinheit (ein Interpolations-Zyklus) wird unter Verwendung des Bewegungsbefehls berechnet, der die Bewegungsroute umfasst, die eine Bearbeitungsposition und eine Bearbeitungsgeschwindigkeit anzeigt. Ein Schwingungs-Arbeitstakt, bei dem es sich um einen Arbeitstakt handelt, der aus einer in dieser Zeiteinheit zu diesem Zeitpunkt resultierenden Schwingung resultiert, die dem Bewegungsbefehl entspricht, wird unter Verwendung der Schwingungsbedingungen einschließlich der Frequenz und der Amplitude berechnet. Der Befehls-Arbeitstakt und der Schwingungs-Arbeitstakt werden kombiniert, um einen zusammengesetzten Arbeitstakt zu berechnen. Dann wird ein Arbeitstakt in der Zeiteinheit so bestimmt, dass eine Position, die nach Bewegung des zuammengesetzten Arbeitstakts bestimmt wird, auf einer Kurvenbewegungsroute angeordnet ist. Patentdokument 2 offenbart, dass dieses Verfahren Bearbeitung unter verschiedenen Bedingungen ohne die Notwendigkeit der Vorbereitung einer Tabelle erreicht, die Schwingungsbedingungen für ein Werkzeug speichert. In Bezug auf Patentdokument 2 wird jedoch die Anwendung einer hochfrequenten Oszillation als eine Wahrscheinlichkeit angesehen, dass ein Befehl beispielsweise nicht genau gegeben wird. Dies wird als ein problematisches Problem angesehen, insbesondere falls eine Oszillationsfrequenz erhöht wird, um sich einer Befehlsverteilungsfrequenz zu nähern. Falls die Befehlsverteilungsfrequenz 100 Hz beträgt und die Oszillationsfrequenz 50 Hz beträgt, können beispielsweise Befehle an nur zwei Punkte während eines Oszillationszyklus gegeben werden. Diese Tendenz wird deutlicher, falls die Oszillationsfrequenz weiter erhöht wird, um näher und näher an die Befehlsverteilungsfrequenz heran zu kommen, und es wird davon ausgegangen, dass es in einigen Fällen schwierig ist, eine aufwendige Steuerung auszuüben.
  • Wie oben beschrieben, wurde die herkömmliche Technik zum Steuern einer Werkzeugmaschine unter Verwendung von Oszillation als Schwierig bei der Ausübung einer hochpräzisen Oszillationssteuerung zur Verwendung einer hohen Oszillationsfrequenz angesehen. Um dieses Problem zu lösen, haben die hiesigen Erfinder sorgfältige Untersuchungen durchgeführt, um eine verbesserte Servosteuerung zu entwickeln, die in der Lage ist, einen Servomotor so weit zu präzisieren und eine von der vorliegenden Anmeldung abweichende Patentanmeldung (japanische Patentanmeldung Nr. 2016-066593 ) eingereicht.
  • Diese verbesserte Servosteuerung, die einzigartig von den Erfindern entwickelt wurde, erzeugt einen Oszillationsbefehl auf Grundlage von Befehlsinformationen (ein Positionsbefehl oder eine Drehzahl einer Spindelachse), wenn eine übergeordnete Steuerung einen verteilten Befehl an diese Servosteuerung gibt. Somit kann ein hochpräziser Oszillationsbefehl gegeben werden. Entsprechend dieser Servosteuerung, die einzigartig entwickelt wurde, wird jedoch ein Oszillationsbefehl ohne Berücksichtigung einer Befehlsroute in der Vergangenheit erzeugt. Falls also ein bestimmter Befehl beabsichtigt ist, um eine Form zu bearbeiten, wie beispielsweise eine bogenförmige Form, die jeden Moment eine Bearbeitungsstrecke ändert, wird es in einigen Fällen als unmöglich angesehen, eine Schwingung entlang der Strecke zu erreichen.
    • Patentdokument 1: Japanisches Patent Nr. JP 5 033 929 B1
    • Patentdokument 2: Japanisches Patent Nr. JP 5 599 523 B1
  • Weiterhin offenbart die DE 10 2015 105 338 A1 einen Werkzeugantrieb mit Spindelwelle für eine spanabhebende Bearbeitung, umfassend zumindest einen elektromagnetischen Axialaktor und eine Steuer- und/oder Regeleinrichtung für den Betrieb des Axialaktors zur längsaxialen Lageänderung der Spindelwelle. Es wird vorgeschlagen, dass die Steuer- und/oder Regeleinrichtung ausgelegt ist, den Axialaktor zur Erzeugung einer Mikrovibrationsbewegung der Spindelwelle unabhängig von und überlagerbar zu einem Vorschub anzusteuern, um Spangröße und Spanform des Materialabtrags zu beeinflussen. In einem nebengeordneten Aspekt wird ein Betriebsverfahren für einen vorgenannten Werkzeugantrieb mit einer Spindelwelle offenbart, wobei durch zumindest einen elektromagnetischen Axialaktor unabhängig von einem Vorschub eine einstellbare axiale Mikrovibrationsbewegung der Spindelwelle überlagert wird, um bei Bohrungen insbesondere bei Tieflochbohrungen die entstehenden Spangröße und Spanform des Materialabtrags zu beeinflussen.
  • Die DE 10 2007 053 350 A1 bezieht sich auf ein Verfahren zur spanabhebenden Bearbeitung von Werkstücken, insbesondere zum Einbringen von Bohrungen in Werkstücke. Während ein Werkzeug relativ zu dem Werkstück in Rotation versetzt und das Werkzeug relativ zu dem Werkstück mit einer Vorschubbewegung verfahren wird, führt das Werkzeug in Richtung z der Vorschubbewegung relativ zu dem Werkstück eine Oszillationsbewegung durch, wobei die Vorschubbewegung steuerungstechnisch mit einem einstellbaren Oszillationsanteil versehen wird.
  • Die EP 0272345 A1 bezieht sich auf ein Verfahren zur Beeinflussung der Bewegung mindestens eines beweglichen Organs, insbesondere eines Werkzeugträgers an Werkzeugmaschinen, mit vom Werkstückdurchmesser abhängiger Werkstückdrehzahl, insbesondere Radsatzdrehmaschinen sowie Radsatzachsen-, Dreh- und Glattwalzmaschinen. Um ein Verfahren vorzuschlagen, mit dem es möglich wird, eine Synchronisation der Bewegung mindestens eines beweglichen Organs der genannten Maschinen, z. B. eines Werkzeuges, oder Werkzeugträgers mit der Drehzahl des Werkstückes zu erreichen, wird während der überwiegenden Zeit der Bearbeitung des Werkstückes der Zeitbedarf je Umdrehung des Werkstückes ermittelt und als Bezugsgröße für die Beeinflussung der Bewegung eines beweglichen Organs, insbesondere eines Werkzeugträgers, verwendet. Durch die Ermittlung des Zeitbedarfs für eine Umdrehung, die vorzugsweise fortlaufend durchgeführt wird, liegt in direkter Messung ein Wert vor, der von einer Steuerung unmittelbar ohne Berechnung von Zwischenergebnissen verwertet werden kann. Soll z. B. ein Werkzeug in seiner Vorschubgeschwindigkeit auf die Umdrehung des Werkstücks bezogen und damit hierzu synchronisiert werden, so können mit der Zeitangabe der Zeit, die für eine Umdrehung des Werkstücks benötigt wird, die entsprechenden Stellorgane direkt so geregelt werden, dass innerhalb dieser Zeit an der gewünschten Stelle der geforderte Weg zurückgelegt wird.
  • Die EP 197172 A1 offenbart ein Verfahren zur Erzeugung von Bruchspänen bei der Drehbearbeitung von Werkstücken mittels einer sich im Verlauf der Werkstückumdrehung verändernden Vorschubgeschwindigkeit des Drehwerkzeuges. Bei einer bekannten Verfahrensweise dieser Art konnte ein zuverlässiger Spanbruch nicht erreicht werden und es war insbesondere nur möglich geradlinige Werkstückkonturen zu erzeugen. Mit der Lösung gemäß dieser Druckschrift soll ein zuverlässiger Spanbruch erreicht werden, auch bei der Bearbeitung von Werkstücken mit nicht geradlinigen Konturen. Dies wird dadurch erreicht, dass das Werkzeug entlang der Linie der Vorschubvektoren periodisch schwingt, wobei die Schwingungsamplitude etwa dem halben effektiven Vorschubweg pro Umdrehung entspricht und die Wellenlänge der Amplitude so bemessen ist, dass sie selbst oder ihr ganzzahliges Vielfaches zuzüglich einer halben Wellenlänge stets gleich ist dem jeweiligen momentanen Werkstücksumfang durch den betrachteten Arbeitspunkt.
  • Die vorliegende Erfindung wurde in Hinblick auf das vorstehend erwähnte Problem gemacht. Die vorliegende Erfindung soll eine Steuerung für eine Bearbeitungsvorrichtung schaffen, die in der Lage ist, die Bearbeitungsvorrichtung entlang einer Befehlsroute oszillierend zu bewegen.
  • Diese Aufgabe wird durch den Gegenstand der unabhängigen Patentansprüche gelöst. Vorteilhafte Weiterbildungen der vorliegenden Erfindung sind Gegenstand der abhängigen Patentansprüche.
  • Eine Steuerung gemäß der vorliegenden Erfindung (eine Servosteuerung 100, die später beschrieben wird) ist eine Steuerung, die eine Werkzeugmaschine steuert, die mehrere Steuerachsen umfasst und für die Bearbeitung durch Schneiden eines Werkstücks (ein später beschriebenes Werkstück 10 oder 20) verwendet wird, z. B. als Bearbeitungsziel durch koordinierte Bewegung der Steuerachsen. Die Steuerung umfasst: eine Positionsbefehls-Erfassungseinheit (eine Positionsbefehls-Erfassungseinheit 120, die später beschrieben wird), die einen Positionsbefehl erfasst, der auf einen Servomotor gerichtet ist (ein Servomotor 400, der später beschrieben wird) zum Antreiben eines Schneidwerkzeugs oder einen Positionsbefehl, der auf einen Servomotor gerichtet ist, um das Werkstück zu anzutreiben; eine Drehzahl-Erfassungseinheit (beispielsweise eine Drehzahl-Erfassungseinheit 118, die später beschrieben wird), die eine Drehzahl des gedrehten Schneidwerkzeugs oder die des gedrehten Werkstücks erfasst; eine Oszillationsamplituden-Berechnungseinheit (beispielsweise eine Oszillationsbefehlskorrektureinheit 104, die später beschrieben wird), die die Oszillationsamplitude basierend auf dem erfassten Positionsbefehl und der erfassten Drehzahl berechnet; eine Oszillationsfrequenz-Berechnungseinheit (die Oszillationsbefehlskorrektureinheit 104, die später beschrieben wird), die eine Oszillationsfrequenz basierend auf der erfassten Drehzahl berechnet; eine Oszillationsbefehlsberechnungseinheit (beispielsweise die Oszillationsbefehlsberechnungseinheit 104, die später beschrieben wird), die einen Oszillationsbefehl basierend auf der berechneten Oszillationsamplitude und der berechneten Oszillationsfrequenz berechnet; eine Positionsbefehlsspeichereinheit (eine Positionsbefehlsspeichereinheit 103, die später beschrieben wird), die eine Befehlsroute speichert, die basierend auf der berechneten Oszillationsamplitude bestimmt wird; eine Oszillationsbefehlskorrektureinheit (beispielsweise die Oszillationsbefehlskorrektureinheit 104, die später beschrieben wird), die den Oszillationsbefehl basierend auf der gespeicherten Befehlsroute korrigiert; und eine Antriebseinheit (eine Positions-, Geschwindigkeits- und Stromsteuereinheit 116 und einen ebenso später beschriebenen Addierer 106), die ein Antriebssignal bestimmt, das zum Ansteuern des Servomotors auf der Grundlage des erfassten Positionsbefehls und des korrigierten Oszillationsbefehls verwendet wird und das Antriebssignal ausgibt.
  • Um in einer solchen Steuerung Späne zu zerkleinern, die während dem Schneiden entstehen, berechnet die Oszillationsbefehlsberechnungseinheit den Oszillationsbefehl zum Veranlassen des Schneidwerkzeugs und des Werkstücks, relativ zueinander entlang einer Bearbeitungsstrecke zu schwingen, entlang derer sich das Schneidwerkzeug bewegt.
  • Weiterhin kann die Oszillationsamplituden-Berechnungseinheit die Oszillationsamplitude durch Bestimmen eines Hubes während einer Drehung des Schneidwerkzeuges oder des Werkstücks berechnen, basierend auf dem erfassten Positionsbefehl und der erfassten Drehzahl und durch Multiplizieren des bestimmten Hubes mit einer ersten Konstante.
  • Gemäß einer vorteilhaften Weiterbildung kann die Oszillationsfrequenz-Berechnungseinheit die Oszillationsfrequenz durch Multiplizieren der erfassten Drehzahl mit einer zweiten Konstanten berechnen.
  • Gemäß der vorliegenden Erfindung speichert die Positionsbefehlsspeichereinheit die Befehlsroute, die mindestens länger als die Oszillationsamplitude ist.
  • Weiterhin korrigiert die Oszillationsbefehlskorrektureinheiten den Oszillationsbefehl, um zu bewirken, dass das Schneidwerkzeug und das Werkstück relativ zueinander entlang der gespeicherten Befehlsroute oszillieren.
  • Gemäß einer vorteilhaften Weiterbildung kann die erste Konstante von einer externen übergeordneten Vorrichtung bereitgestellt werden, und die bereitgestellte erste Konstante kann von der Steuerung verwendet werden.
  • Gemäß einer vorteilhaften Weiterbildung kann die zweite Konstante von einer externen übergeordneten Vorrichtung bereitgestellt werden, und die bereitgestellte zweite Konstante kann von der Steuerung verwendet werden.
  • Gemäß einer vorteilhaften Weiterbildung kann die Oszillationsbefehlsberechnungseinheit die Berechnung des Oszillationsbefehls auf der Grundlage eines Signals, das von einer übergeordneten Steuerung gegeben wird, starten, stoppen oder beenden.
  • Weiterhin kann die Oszillationsbefehlsberechnungseinheit die Korrektur des Oszillationsbefehls auf der Grundlage eines Signals, das von einer übergeordneten Steuerung gegeben wird, starten, stoppen oder beenden.
  • Ein Steuerverfahren gemäß der vorliegenden Erfindung ist ein Verfahren zum Steuern einer Werkzeugmaschine, die mehrere Steuerachsen umfasst und für die Bearbeitung durch Schneiden eines Werkstücks als Bearbeitungsziel durch eine koordinierte Bewegung der Steuerachsen verwendet wird. Das Verfahren umfasst: einen Positionsbefehl-Erfassungsschritt zum Erfassen eines Positionsbefehls, der auf einen Servomotor gerichtet ist, zum Antreiben eines Schneidwerkzeugs oder eines Positionsbefehls, der auf einen Servomotor gerichtet ist, um das Werkstück anzutreiben; Einen Drehzahl-Erfassungsschritt zum Erfassen einer Drehzahl des gedrehten Schneidwerkzeugs oder der des gedrehten Werkstücks; einen Oszillationsamplituden-Berechnungsschritt zum Berechnen der Oszillationsamplitude basierend auf dem erfassten Positionsbefehl und der erfassten Drehzahl; einen Oszillationsfrequenz-Berechnungsschritt zum Berechnen einer Oszillationsfrequenz basierend auf der erfassten Drehzahl; einen Oszillationsbefehls-Berechnungsschritt zum Berechnen eines Oszillationsbefehls basierend auf der berechneten Oszillationsamplitude und der berechneten Oszillationsfrequenz; einen Positionsbefehls-Speicherungsschritt zum Speichern einer Befehlsroute, die basierend auf der berechneten Oszillationsamplitude bestimmt wird, die in eine bestimmte Positionsbefehlsspeichereinheit gespeichert wird; einen Oszillationsbefehls-Korrekturschritt zum Korrigieren des Oszillationsbefehls basierend auf der gespeicherten Befehlsroute; und einen Antriebsschritt zum Bestimmen eines Antriebssignals, der zum Antreiben des Servomotors basierend auf dem erfassten Positionsbefehl und dem korrigierten Oszillationsbefehl verwendet werden soll, und zum Ausgeben des Treibersignals.
  • Ein Computerprogramm gemäß der vorliegenden Erfindung bewirkt, dass ein Computer als eine Steuerung arbeitet, die eine Werkzeugmaschine steuert, die mehrere Steuerachsen umfasst und für die Bearbeitung durch Schneiden eines Werkstücks als Bearbeitungsziel durch eine koordinierte Bewegung der Steuerachsen verwendet wird. Das Computerprogramm bewirkt, dass der Computer ausführt: eine Positionsbefehl-Erfassungsprozedur zum Erfassen eines Positionsbefehls, der auf einen Servomotor gerichtet ist, zum Antreiben eines Schneidwerkzeugs oder eines Positionsbefehls, der auf einen Servomotor gerichtet ist, zum Antreiben des Werkstücks; eine Drehzahlerfassungsprozedur zum Erfassen einer Drehzahl des gedrehten Schneidwerkzeugs oder des gedrehten Werkstücks; einer Oszillationsamplituden-Berechnungsprozedur zum Berechnen der Oszillationsamplitude basierend auf dem erfassten Positionsbefehl und der erfassten Drehzahl; einer Oszillationsfrequenz-Berechnungsprozedur zum Berechnen einer Oszillationsfrequenz basierend auf der erfassten Drehzahl; einer Oszillationsbefehls-Berechnungsprozedur zum Berechnen eines Oszillationsbefehls basierend auf der berechneten Oszillationsamplitude und der berechneten Oszillationsfrequenz; einer Positionsbefehls-Speicherungsprozedur zum Speichern einer Befehlsroute, die basierend auf der berechneten Oszillationsamplitude bestimmt wird, die in eine bestimmte Positionsbefehlsspeichereinheit gespeichert wird; einer Oszillationsbefehls-Korrekturprozedur zum Korrigieren des Oszillationsbefehls basierend auf der gespeicherten Befehlsroute; und einer Antriebsprozedur zum Bestimmen eines Antriebssignals, der zum Antreiben des Servomotors basierend auf dem erfassten Positionsbefehl und dem korrigierten Oszillationsbefehl verwendet werden soll, und zum Ausgeben des Treibersignals.
  • Gemäß der vorliegenden Erfindung kann die Werkzeugmaschine auch dann, wenn ein Vektor, der in einem Befehl zu einer Werkzeugmaschine gegeben wird, sich jeden Augenblick ändert, immer noch eine oszillierende Bewegung entlang einer Befehlsroute ausführen lassen.
    • 1A ist eine erläuternde Ansicht, die zeigt, wie die Bearbeitung durch Schneiden durchgeführt wird, indem eine Oszillation erzeugt wird;
    • 1B ist eine erläuternde Ansicht, die zeigt, wie die Bearbeitung durch Schneiden durchgeführt wird, indem eine Oszillation erzeugt wird;
    • 2 ist ein Konfigurationsblockdiagramm einer Servosteuerung gemäß einer Ausführungsform;
    • 3 ist eine erläuternde Ansicht, die die Charakteristiken des Betriebs der Servosteuerung gemäß dieser Ausführungsform zeigt; und
    • 4 ist ein Flussdiagramm, das den Betrieb der Servosteuerung gemäß der Ausführungsform zeigt.
  • Beispiele für eine Ausführungsform der vorliegenden Erfindung werden nachfolgend beschrieben. Eine in dieser Ausführungsform beschriebene Servosteuerung ist für eine Werkzeugmaschine mit mehreren Steuerachsen vorgesehen. Die Servosteuerung dient dazu, die Werkzeugmaschine, die zum Bearbeiten durch Ausschneiden eines Werkstücks als Bearbeitungsziel verwendet wird, dazu zu bringen, ein intermittierendes Schneiden durchzuführen, indem ein Schneidwerkzeug und das Werkstück relativ zueinander oszillieren, insbesondere in einer Bearbeitungsrichtung, wodurch Späne zerkleinert werden.
  • Die in dieser Ausführungsform vorgeschlagene Servosteuerung soll einen Servomotor für eine Werkzeugmaschine antreiben, um eine Schwingbewegung auf der Grundlage eines Positionsbefehls für jede Achse der Werkzeugmaschine und einer Drehzahl einer Spindelachse auszuführen. Diese Servosteuerung ist in der Lage, die Werkzeugmaschine entlang Befehlsroute zu schwingen.
  • <Erklärung des Prinzips der Oszillationsbewegung>
  • 1A und 1B sind jeweils eine erläuternde Ansicht zur Erläuterung der Oszillationsbewegung. 1A ist eine erläuternde Ansicht, die zeigt, wie eine Oberfläche eines Werkstücks 10 einer Bearbeitung durch Schneiden mit einem Schneidwerkzeug 14 unterworfen wird, während das Werkstück 10 um eine Spindelachse 12 als eine Drehachse gedreht wird. Wie in 1A gezeigt ist, ist eine Achse, die sich in die gleiche Richtung wie die Spindelachse 12 erstreckt, eine Z-Achse, und eine der Achsen, die orthogonal zur Spindelachse 12 stehen, ist eine X-Achse. Das Schneidwerkzeug 14 wird zum Schneiden der Oberfläche des Werkstücks 10 auf der Grundlage eines vorbestimmten Programms verwendet. Diese Bearbeitung erfolgt entlang der Z-Achse oder in einer Bearbeitungsrichtung B in einem vorbestimmten Winkel von der Z-Achse. Eine Richtung, in der die Bearbeitung auf diese Weise erfolgt, wird als Bearbeitungsrichtung B bezeichnet.
  • Während der vorgenannten Bearbeitung durch Schneiden wird in der Bearbeitungsrichtung B eine Schwingung A auf das Schneidwerkzeug 14 angewendet. Die Oszillation A wird voraussichtlich beispielsweise eine Feinzerkleinerung von Spänen erreichen. Die Oszillation A erzeugt in der Bearbeitungsrichtung die sogenannte Vibration des Schneidwerkzeugs 14. Das Schneidwerkzeug 14 soll wiederholt in einen Kontaktzustand und einen Nicht-Kontaktzustand mit dem Werkstück 10 gebracht werden. Falls das Schneidwerkzeug 14 das Werkstück 10 berührt, bewegt sich das Schneidwerkzeug 14 auf der Oberfläche des Werkstücks 10 entlang einem in 1A gezeigten Schneidpfad D. Falls das Schneidwerkzeug 14 nicht mit dem Werkstück 10 in Berührung kommt, bewegt sich das Schneidwerkzeug 14 auf der Oberfläche des Werkstücks 10 entlang eines Bewegungspfades in der Luft C, wie in 1A gezeigt. Das vorgenannte intermittierende Schneiden erreicht ein Feinzerkleinerung von Spänen oder eine effektive Kühlung des Schneidwerkzeugs 14.
  • 1B ist eine erläuternde Ansicht, die ein anderes Beispiel einer Oszillation eines Schneidwerkzeugs zeigt. 1B ist eine erläuternde Ansicht, die zeigt, wie ein Werkstück 20 mit einem inneren Hohlraum einer Bearbeitung durch Schneiden innerhalb des Hohlraums mit einem Schneidwerkzeug 24 unterworfen wird. In 1B dreht sich das Schneidwerkzeug 24 relativ zu dem Werkstück 20 und die Achse des Schneidwerkzeugs 24 fungiert als Spindelachse. Insbesondere bedeutet in dieser Beschreibung eine Spindelachse die folgenden zwei Achsen. In 1A bedeutet die Spindelachse 12 eine Achse, um die sich das Werkstück 10 dreht. In 1B bedeutet die Spindelachse 22 eine Achse, um die sich das Schneidwerkzeug 24 dreht. Wie in 1A, ist eine Achse, die sich in der gleichen Richtung wie die Spindelachse 22 in 1B erstreckt, die Z-Achse und eine der Achsen, die orthogonal zur Spindelachse 22 in 1B steht, ist die X-Achse. Das Schneidwerkzeug 24 wird zum Schneiden einer Oberfläche des Inneren des Hohlraums des Werkstücks 20 auf Grundlage eines vorbestimmten Programms verwendet. Wie in 1A verläuft diese Bearbeitung in der Bearbeitungsrichtung B.
  • In 1B wird die Oszillation A auch in der Bearbeitungsrichtung B auf das Schneidwerkzeug 24 angewendet und das Schneidwerkzeug 24 soll auch wiederholt in einen Kontaktzustand und einen Nicht-Kontaktzustand mit dem Werkstück 20 gebracht werden. Falls das Schneidwerkzeug 24 das Werkstück 20 berührt, bewegt sich das Schneidwerkzeug 24 auf der Oberfläche des Werkstücks 20 entlang dem in 1B gezeigten Schneidpfad D. Falls das Schneidwerkzeug 24 nicht mit dem Werkstück 20 in Berührung kommt, bewegt sich das Schneidwerkzeug 24 auf der Oberfläche des Werkstücks 20 entlang eines Bewegungspfades in der Luft C, wie in 1B gezeigt. 1A und 1B zeigen beide Beispiele, bei denen die Schneidwerkzeuge 14 und 24 oszillieren. Alternativ kann die Ausgestaltung auch so sein, dass das Werkstück 10 oder 20 oszilliert wird.
  • Die in dieser Ausführungsform vorgeschlagene Servosteuerung ist charakteristisch verantwortlich für die Steuerung der vorgenannten Schwingbewegung. Grundsätzlich kann eine Oszillation erreicht werden, indem ein Befehl für die Oszillation zusätzlich zu einem Primärbefehl an einen Servomotor zum Antreiben des Schneidwerkzeugs 14 (24) usw. gegeben wird. Wie jedoch oben in Bezug auf die herkömmliche Technik beschrieben ist, falls eine Anweisung für die Oszillation unter Berücksichtigung von nur einem Befehl (eines Positionsbefehls oder einer Drehzahl einer Spindelachse) zum Zeitpunkt des Befehls gegeben ist, und dieser Befehl jeden Befehl eines Befehlsvektors ändert, wird das Anlegen einer Oszillation entlang einer Route des Befehlsvektors als schwierig betrachtet. Dies kann auftreten, falls die Bearbeitung beispielsweise entlang einer Bearbeitungsstrecke einer bogenförmigen Form erfolgen soll.
  • Gemäß dieser Ausführungsform wird eine Schwingbewegung auf Grundlage eines Positionsbefehls zu jeder Achse und einer Drehzahl einer Spindelachse durchgeführt. Genauer gesagt wird auf Grundlage des Positionsbefehls und der Drehzahl der Spindelachse die Amplitude der Oszillation (Oszillationsamplitude) berechnet. Basierend auf der Drehzahl der Spindelachse wird eine Frequenz der Oszillation (Oszillationsfrequenz) berechnet. Ein Oszillationsbefehl wird auf Grundlage der berechneten Oszillationsamplitude und der berechneten Oszillationsfrequenz berechnet. Gemäß dieser Ausführungsform wird eine Befehlsroute mit einer längeren Distanz als die berechnete Oszillationsamplitude gespeichert. Die Aufbewahrung einer solchen langen Befehlsroute macht es möglich, eine Oszillation unter Berücksichtigung einer Route in der Vergangenheit anzuwenden. Eine in dieser Spezifikation erwähnte Route bedeutet eine Bearbeitungsstrecke. Genauer gesagt ist diese Bearbeitungsstrecke eine Route, der durch ein Schneidwerkzeug in Reaktion auf einen Positionsbefehl gefolgt wird, der dem Schneidwerkzeug gegeben wird. Falls das Schneidwerkzeug fixiert ist, kann diese Route eine Route sein, an der sich ein Werkstück entlang bewegen soll. Gemäß dieser Ausführungsform wird eine Befehlsroute gespeichert, und ein Oszillationsbefehl wird basierend auf der gespeicherten Befehlsroute korrigiert. Infolgedessen kann, selbst wenn ein Positionsbefehl, der einer Werkzeugmaschine gegeben wird, einen Befehlsvektor jeden Moment ändert, Oszillation noch entlang einer (Bearbeitungs-) Route angewendet werden.
  • Antreiben eines Servomotors wird basierend auf dem Positionsbefehlsausgang an jede Steuerachse einer Werkzeugmaschine und dem oben beschriebenen korrigierten Oszillationsbefehl gesteuert. Diese Ausführungsform speichert charakteristisch eine Befehlsroute. Damit ist es möglich, einen Oszillationsbefehl auf Grundlage der gespeicherten Befehlsroute zu korrigieren. Der Positionsbefehl und der korrigierte Oszillationsbefehl werden über einen externen Verstärker an den Servomotor der Werkzeugmaschine gegeben. Auf diese Weise kann eine Oszillationsbewegung entlang der Befehlsroute durchgeführt werden. Der Oszillationsbefehl kann beispielsweise den Betrag des Vorschubs (feed) eines Schneidwerkzeugs, den Betrag der Vorwärtsbewegung, den Betrag der Rückwärtsbewegung, eine Vorwärtsbewegungsgeschwindigkeit und eine Rückwärtsbewegungsgeschwindigkeit des Schneidwerkzeugs umfassen.
  • <Ausgestaltung>
  • Die Ausgestaltung einer Servosteuerung 100 gemäß dieser Ausführungsform wird als nächstes auf der Grundlage der Zeichnungen beschrieben. 2 ist ein strukturmäßiges Blockdiagramm der Servosteuerung 100 gemäß dieser Ausführungsform. Wie in 2 gezeigt, gibt eine übergeordnete Steuerung 200 einen Positionsbefehl aus. Die Servosteuerung 100 treibt einen Servomotor 400 einer (in den Zeichnungen nicht dargestellten) Werkzeugmaschine an, um ein Schneidwerkzeug der Werkzeugmaschine oder ein Werkstück so zu steuern, dass es dem Positionsbefehl entspricht. Die Servosteuerung 100 entspricht einem bevorzugten Beispiel einer Steuerung gemäß den Ansprüchen. Die übergeordnete Steuerung 200 ist eine übergeordnete Steuerung zur Steuerung der Werkzeugmaschine durch die Servosteuerung 100. Beispielsweise kann die übergeordnete Steuerung 200 als Computer konfiguriert sein. Als weiteres Beispiel kann die übergeordnete Steuerung 200 als eine Steuerkonsole oder ein Bedienfeld konfiguriert sein, das von einem Benutzer betätigt werden soll. Als weiteres Beispiel kann die übergeordnete Steuerung 200 als eine Verwaltungsvorrichtung (Verwaltungscomputer) konfiguriert sein, die für die Verwaltung von mehreren Werkzeugmaschinen in einer integrierten Weise verantwortlich ist. Als ein anderes Beispiel kann die übergeordnete Steuerung 200 als eine Steuerung (Steuercomputer) konfiguriert sein, die für die Gesamtsteuerung einer Fabrik verantwortlich ist.
  • Die Servosteuerung 100 ist vorzugsweise aus einem Computer mit einer CPU und einem Speicher ausgebildet. Jede nachfolgend beschriebene Einheit (jede Berechnungseinheit, eine Steuereinheit usw.) kann durch Ausführung eines vorgegebenen Programms in dem Speicher durch die CPU realisiert werden. Dieses Programm entspricht einem bevorzugten Beispiel eines Computerprogramms gemäß den Ansprüchen.
  • Die Servosteuerung 100 gemäß dieser Ausführungsform umfasst eine Oszillationsbefehlsberechnungseinheit 102, eine Positionsbefehlsspeichereinheit 103, eine Oszillationsbefehlskorrektureinheit 104 und eine Positions-, Geschwindigkeits- und Stromsteuereinheit 116. Die Oszillationsbefehlsberechnungseinheit 102 berechnet einen Oszillationsbefehl auf Grundlage einer Drehzahl einer Spindelachse und eines Positionsbefehlsausgangs von der übergeordneten Steuerung 200. Die Positionsbefehlsspeichereinheit 103 speichert den Positionsbefehl. Die Oszillationsbefehlskorrektureinheit 104 korrigiert den Oszillationsbefehl auf Grundlage einer Befehlsroute, die in der Positionsbefehlsspeichereinheit 103 gespeichert ist. Die Positions-, Geschwindigkeits- und Stromsteuereinheit 116 bestimmt ein Antriebssignal, das einem Servomotor zugeführt werden soll, indem der korrigierte Oszillationsbefehl dem Positionsbefehl hinzugefügt wird.
  • Die Servosteuerung 100 umfasst des Weiteren eine Drehzahl-Erfassungseinheit 118, die eine Drehzahl einer Spindelachse erfasst, eine Positionsbefehls-Erfassungseinheit 120, die einen Positionsbefehl von der übergeordneten Steuerung 200 erfasst, und eine Positions-Erfassungseinheit 122, die einen Positionsrückmeldungswert erfasst. Eine Drehzahl der Spindelachse kann die Anzahl der Umdrehungen pro Minute (pro Sekunde) sein oder kann eine Winkelgeschwindigkeit sein. Jede dieser Erfassungseinheiten ist vorzugsweise durch Verwendung einer Eingangsschnittstelle eines Computers, eines Programms, das Informationen durch Steuern der Eingangsschnittstelle erfasst, und einer CPU, die das Programm ausführt, konfiguriert. Dieses Programm entspricht auch einem bevorzugten Beispiel eines Computerprogramms gemäß den Ansprüchen. Jede dieser Erfassungseinheiten kann beispielsweise einen Puffer zum Speichern von außen empfangenen Daten umfassen.
  • <Betrieb>
  • Der Betrieb der Servosteuerung 100 wird nachfolgend detailliert beschrieben, basierend auf dem strukturmäßigen Blockdiagramm von 2, der operationserläuternden Ansicht von 3 und dem Flussdiagramm von 4 Die Positionsbefehls-Erfassungseinheit 120 ist eine Schnittstelle, die einen Positionsbefehl erfasst, der auf den Servomotor, zum Ansteuern eines Schneidwerkzeugs oder eines Positionsbefehls gerichtet ist, der auf den Servomotor 400, zum Antreiben eines Werkstücks gerichtet ist, die beide von der übergeordneten Steuerung 200 ausgegeben werden. Der erfasste Positionsbefehl wird der Oszillationsbefehlsberechnungseinheit 102, der Positionsbefehlsspeichereinheit 103, der Oszillationsbefehlskorrektureinheit 104 und einem Addierer 106 zugeführt. Die Positionsbefehls-Erfassungseinheit 120 entspricht einem bevorzugten Beispiel einer Positionsbefehls-Erfassungseinheit gemäß den Ansprüchen. Zusätzlich entspricht der Vorgang des Erfassens des Positionsbefehls, der durch die Positionsbefehls-Erfassungseinheit 120 durchgeführt wird, dem Schritt S1 von 4.
  • Die Drehzahl-Erfassungseinheit 118 ist eine Schnittstelle, die eine Drehzahl einer Spindelachse des gedrehten Werkstücks oder die einer Spindelachse des gedrehten Schneidwerkzeugs erfasst. Die erfasste Drehzahl wird der Oszillationsbefehlsberechnungseinheit 102 zugeführt. Die Drehzahl-Erfassungseinheit 118 entspricht einem bevorzugten Beispiel einer Drehzahl-Erfassungseinheit gemäß den Ansprüchen. Der Vorgang des Erfassens der Drehzahl der Spindelachse, die durch die Drehzahl-Erfassungseinheit 118 durchgeführt wird, entspricht einem bevorzugten Beispiel des Schritts S2 in dem Flussdiagramm aus 4. Eine in dieser Ausführungsform erwähnte Drehzahl kann eine Drehzahl des Schneidwerkzeugs oder des Werkstücks sein. Eine Drehzahl kann unter Verwendung eines Drehzahlsensors erfasst werden, der beispielsweise auf der Spindelachse des Schneidwerkzeugs vorgesehen ist. Alternativ kann eine Drehzahl auf Grundlage der Rate der Zeitänderung eines Positionsbefehlsausgangs, der von der Steuerung 200 höherer Ordnung ausgegeben wird, bestimmt werden. Weiter alternativ kann eine Drehzahl vorzugsweise auf Grundlage der Änderungsrate (oder eines Differentials) eines Positionsrückmeldungswertes berechnet werden, der von einem Detektor 500 erfasst wird, um einen Drehwinkel des später beschriebenen Servomotors 400 zu erfassen.
  • Die Oszillationsbefehlsberechnungseinheit 102 berechnet einen Oszillationsbefehl basierend auf dem erfassten Positionsbefehl und der erfassten Drehzahl. Genauer gesagt berechnet die Oszillationsbefehlsberechnungseinheit 102 gemäß dieser Ausführungsform einen Oszillationsbefehl durch Ausüben einer nachfolgend beschriebenen Prozedur, basierend auf dem Positionsbefehl, der von der übergeordneten Steuerung 200 ausgegeben wird. Die folgenden Berechnungen werden auch durch die Ausführung eines Programms durchgeführt, das die Funktion der Oszillationsbefehlsberechnungseinheit 102 durch die CPU der Servosteuerung 100 beschreibt. Die Oszillationsbefehlsberechnungseinheit 102 entspricht einem bevorzugten Beispiel einer Oszillationsamplituden-Berechnungseinheit, einer Oszillationsfrequenz-Berechnungseinheit und einer Oszillationsbefehlsberechnungseinheit gemäß den Ansprüchen.
  • Zuerst berechnet die Oszillationsbefehlsberechnungseinheit 102 die Oszillationsamplitude basierend auf dem erfassten Positionsbefehl und der erfassten Drehzahl. Beispielsweise kann die Oszillationsbefehlsberechnungseinheit 102 den Vorschubbetrag während einer Drehung der Spindelachse auf Grundlage des Positionsbefehls und der Drehzahl der Spindelachse bestimmen und die Oszillationsamplitude durch Multiplizieren des bestimmten Vorschubbetrags mit zum Beispiel 1,5 während einer Umdrehung einstellen. Dieser numerische Wert 1,5 entspricht einem bevorzugten Beispiel einer ersten Konstante gemäß den Ansprüchen. Die für die Berechnung der Oszillationsamplitude verantwortliche Oszillationsbefehlsberechnungseinheit 102 entspricht einem bevorzugten Beispiel der Oszillationsamplituden-Berechnungseinheit gemäß den Ansprüchen. Der Vorgang des Berechnens der Oszillationsamplitude, die durch die Oszillationsbefehlsberechnungseinheit 102 durchgeführt wird, entspricht dem Oszillationsamplitudenberechnungsschritt als Schritt S3 von 4.
  • Als nächstes berechnet die Oszillationsbefehlsberechnungseinheit 102 eine Oszillationsfrequenz auf Grundlage der erfassten Drehzahl. Beispielsweise bestimmt die Oszillationsbefehlsberechnungseinheit 102 vorzugsweise einen Wert durch Multiplizieren der Drehzahl mit 1,5 und setzt einen resultierenden Wert als eine Oszillationsfrequenz. Dieser numerische Wert 1,5 entspricht einem bevorzugten Beispiel einer zweiten Konstante gemäß den Ansprüchen. Die für die Berechnung einer Oszillationsfrequenz verantwortliche Oszillationsbefehlsberechnungseinheit 102 entspricht einem bevorzugten Beispiel der Oszillationsfrequenz-Berechnungseinheit gemäß den Ansprüchen. Der Vorgang des Berechnens der Oszillationsamplitude, die durch die Oszillationsbefehlsberechnungseinheit 102 durchgeführt wird, entspricht einem Oszillationsfrequenzberechnungsschritt als Schritt S4 von 4.
  • Als nächstes berechnet die Oszillationsbefehlsberechnungseinheit 102 einen Oszillationsbefehl auf Grundlage der berechneten Oszillationsamplitude und der berechneten Oszillationsfrequenz. Der berechnete Oszillationsbefehl wird zusammen mit dem Positionsbefehl, der von der übergeordneten Steuerung 200 ausgegeben wird, an den Servomotor 400 übertragen. Dadurch wird der Bewegung des Schneidwerkzeuges (oder des Werkstücks) eine Schwingbewegung hinzugefügt. Die für die Berechnung eines Oszillationsbefehls zuständige Oszillationsbefehlsberechnungseinheit 102 entspricht einem bevorzugten Beispiel der Oszillationsbefehlsberechnungseinheit gemäß den Ansprüchen. Der Vorgang des Berechnens des Oszillationsbefehls, der durch die Oszillationsbefehlsberechnungseinheit 102 durchgeführt wird, entspricht einem Oszillationsbefehlsberechnungsschritt als Schritt S5 von 4.
  • Die Positionsbefehlsspeichereinheit 103 speichert einen Positionsbefehl basierend auf der Amplitude, die durch die Oszillationsbefehlsberechnungseinheit 102 und den Positionsbefehl bestimmt wird. Dieser in der Positionsbefehlsspeichereinheit 103 gespeicherte Positionsbefehl deckt einen Weg ab, der mindestens länger als die Oszillationsamplitude ist. Somit speichert die Positionsbefehlsspeichereinheit 103 mehrere Positionsbefehle, um eine sogenannte „Befehlsroute“ zu speichern. Die Positionsbefehlsspeichereinheit 103 ist aus einer Speichervorrichtung wie einer Halbleiterspeichervorrichtung, einem Programm zum Schreiben eines Positionsbefehls in die Speichervorrichtung oder zum Lesen eines Positionsbefehls von der Speichervorrichtung und der CPU der Servosteuerung 100 gebildet, die dieses Programm ausführt. Dieses Programm entspricht auch einem bevorzugten Beispiel eines Computerprogramms gemäß den Ansprüchen. Gemäß dieser Ausführungsform speichert die Positionsbefehlsspeichereinheit 103 typischerweise die Befehlsroute länger als eine Route der Oszillationsamplitude, die durch die Oszillationsbefehlsberechnungseinheit 102 berechnet wird. Speichern der Befehlsroute einer solchen Länge ermöglicht es, den Oszillationsbefehl entlang dieser Befehlsroute zu korrigieren, wie später beschrieben wird. Die Positionsbefehlsspeichereinheit 103 entspricht einem bevorzugten Beispiel einer Positionsbefehlsspeichereinheit gemäß Ansprüchen. Die von der Positionsbefehlsspeichereinheit 103 ausgeführte Speicheroperation entspricht einem Positionsbefehlsspeicherschritt als Schritt S6 von 4.
  • Auf Grundlage der in der Positionsbefehlsspeichereinheit 103 gespeicherten Befehlsroute korrigiert die Oszillationsbefehlskorrektureinheit 104 den von der Oszillationsbefehlsberechnungseinheit 102 berechneten Oszillationsbefehl. Die Oszillationsbefehlskorrektureinheit 104 wird durch ein Programm realisiert, das den Vorgang des Korrigierens eines Oszillationsbefehls beschreibt, und von der CPU der Servosteuerung 100, die dieses Programm ausführt.
  • <Korrektur des Oszillationsbefehls>
  • Gemäß dieser Ausführungsform korrigiert die Oszillationsbefehlskorrektureinheit 104 einen Oszillationsbefehl unter Berücksichtigung einer Befehlsroute. Dadurch wird eine glattere Bearbeitung erreicht. 3 zeigt ein Beispiel für die Korrektur. 3 ist eine erläuternde Ansicht, die zeigt, wie sich das Werkzeug auf dem Werkstück von 1A bewegt und wie die Oszillation während der Bewegung angewendet wird. Wie in 1A ist die X-Achse in der vertikalen Richtung definiert und die Z-Achse ist in der horizontalen Richtung in 3 definiert.
  • Wie das Werkstück von 1A, hat das Werkstück von 3 eine im wesentlichen zylindrische Form. FIG. 3 zeigt, dass das Werkstück einer Bearbeitung in eine in 3 gezeigt Form unterworfen wird. 3 zeigt eine Form, die sich aus der Bearbeitung als Kontur E des Querschnitts des Werkstücks ergibt. Für die Bearbeitung auf einer Oberfläche des Werkstücks mit dem Schneidwerkzeug bewegt sich das Schneidwerkzeug auf der Oberfläche des Werkstücks auf Grundlage einer Befehlsroute F. Wie in 1A ist die Bearbeitungsrichtung B von 3 eine Richtung der Z-Achse. Die Bearbeitung auf der Oberfläche des gedrehten Werkstücks verläuft allmählich mit dem Schneidwerkzeug, während sich das Schneidwerkzeug sequentiell von einer linken Befehlsroute F zu einer rechten Befehlsroute F bewegt.
  • Gemäß dieser Ausführungsform wird ein Oszillationsbefehl G, der von einer vorhandenen Steuerung verwendet wird, zu der Befehlsroute F hinzugefügt, wodurch das Schneidwerkzeug einer Werkzeugroute H folgt (siehe 3). Der Oszillationsbefehl G erlaubt keine Befehlsroute, sondern wird auf der Grundlage eines Positionsbefehls berechnet, wenn der Oszillationsbefehl G gegeben ist. Wie unter Bezugnahme auf die 1A und 1B gezeigt ist, soll der Oszillationsbefehl G beispielsweise eine Oszillation in der Bearbeitungsrichtung B anwenden. Im Gegensatz dazu wird gemäß dieser Ausführungsform die Oszillation unter Berücksichtigung einer gespeicherten Befehlsroute korrigiert, so dass ein Oszillationsbefehl korrigiert werden kann, um so eine Oszillation entlang der Befehlsroute in der Vergangenheit anzuwenden. 3 zeigt einen auf diese Weise korrigierten Oszillationsbefehl J. Hinzufügen des korrigierten Oszillationsbefehls J zu einer Befehlsroute ermöglicht die Anwendung einer Oszillation entlang der Befehlsroute. Dies ermöglicht eine reibungslosere Bearbeitung des Werkstücks. 3 zeigt eine Werkzeugroute K, die durch Hinzufügen des korrigierten Oszillationsbefehls J bestimmt wird. Der Oszillationsbefehl J wird korrigiert, um eine Schwingbewegung entlang der Befehlsroute zu ermöglichen.
  • Die Oszillationsbefehlskorrektureinheit 104 entspricht einem bevorzugten Beispiel einer Oszillationsbefehlskorrektureinheit gemäß den Ansprüchen. Die oben beschriebene Korrektur des Oszillationsbefehls entspricht dem Schritt S7 von 4 Der in der oben beschriebenen Weise korrigierte Oszillationsbefehl wird dem Positionsbefehl durch den Addierer 106 hinzugefügt und dann der Positions-, Geschwindigkeits- und Stromsteuereinheit 116 zugeführt. Auf der Grundlage des Positionsbefehls einschließlich des hinzugefügten Oszillationsbefehl in korrigierter Form, bestimmt die Positions-, Geschwindigkeits- und Stromsteuereinheit 116 ein Antriebssignal, das zum Ansteuern des Servomotors 400 verwendet werden soll, und liefert (gibt es aus) das Ausgangssignal an einen externen Verstärker 300. Somit entsprechen die Positions-, Geschwindigkeits- und Stromsteuereinheit 116 und der Addierer 106 bevorzugten Beispielen einer Antriebseinheit gemäß den Ansprüchen. Der Ausgang des von der Positions-, Geschwindigkeits- und Stromsteuereinheit 116 und dem Addierer 106 erzeugten Ansteuerungssignals entspricht dem Schritt S8 in dem Flussdiagramm von 4.
  • Der Verstärker 300 verstärkt das vorgenannte Antriebssignal, um den Servomotor 400 mit einer Leistung zu versorgen, die zum Ansteuern des Servomotors 400 ausreicht. Der Servomotor 400 wird unter Verwendung von dem (verstärkten) Antriebssignal angesteuert. 2 zeigt einen Verstärker 300 und einen Servomotor 400. Alternativ können mehrere Verstärker 300 und mehrere Servomotoren 400 vorgesehen sein. Im Fall der Mehrachsensteuerung (im Fall einer Werkzeugmaschine mit mehreren Steuerachsen) kann die Anzahl der Verstärker 300 und die der Servomotoren 400 bestimmt werden, um sich an die Anzahl der Steuerachsen anzupassen.
  • Ein Detektor 500 ist an einer Antriebswelle des Servomotors 400 vorgesehen. Der Detektor 500 ist zum Erfassen der Position des Schneidwerkzeugs und des Werkstücks verwendbar. Der Detektor 500 kann beispielsweise unter Verwendung eines Drehcodierers oder eines linearen Codierers konfiguriert werden. Der Detektor 500 gibt einen Positionsrückmeldungswert an die Positions-Erfassungseinheit 122 aus. Die Positions-Erfassungseinheit 122 ist eine Schnittstelle, die die Position des Schneidwerkzeugs oder die des Werkstücks als Positionsrückmeldungswert erfasst. Der von der Positions-Erfassungseinheit 122 erfasste Positionsrückmeldungswert wird dem Addierer 106 hinzugefügt. Dies realisiert die Implementierung der sogenannten Rückkopplungssteuerung, so dass die Position des Servomotors 400 und eine Position, die durch den Positionsbefehl bestimmt wird, korrekter übereinstimmen können.
  • In dem Flussdiagramm von 4 wird nach Schritt S8 ein Positionsbefehl, der kontinuierlich von der Steuerung 200 höherer Ordnung ausgegeben wird erfasst (Schritt S1). Dann werden die nachfolgenden Schritte wiederholt befolgt. Unterdessen werden die Schritte in dem Flussdiagramm von 4 tatsächlich kontinuierlich an einem ausgegebenen Positionsbefehl ausgeführt. Somit kann jeder der Schritte in 4 parallel ausgeführt werden. Wie oben beschrieben, bewirkt die Servosteuerung 100 gemäß dieser Ausführungsform einen Servomotor für eine Werkzeugmaschine, die mehrere Steuerachsen enthält, dazu eine oszillierende Bewegung auszuführen. Insbesondere wird gemäß dieser Ausführungsform ein Oszillationsbefehl auf der Grundlage einer gespeicherten Befehlsroute korrigiert, so dass Schwingbewegung entlang einer Befehlsroute durchgeführt werden kann. Gemäß dieser Ausführungsform erfolgt eine Schwingbewegung auf der Grundlage eines Positionsbefehls und eines korrigierten Oszillationsbefehls. Auf diese Weise kann eine Schwingbewegung unter Berücksichtigung einer gespeicherten Befehlsroute gemacht werden, so dass die Bearbeitung auf einem Werkstück reibungsloser entlang der Befehlsroute durchgeführt werden kann.
  • <Setzen einer Ersten Konstante und einer Zweiten Konstante>
  • Gemäß dieser Ausführungsform wird die erste Konstante für die Multiplikation auf 1,5 gesetzt. Unterdessen kann die erste Konstante in einem Bereich von 0,5 bis 10 festgelegt werden. Hier ist es üblicherweise erforderlich, dass die Oszillationsamplitude um das 0,5-fache oder mehr als die Amplitude größer ist, die bei einer Drehung der Spindelachse einen Hub (ein Hub in einer Bearbeitungsrichtung) (des Werkstücks 10 oder des Schneidwerkzeugs 24) erzeugt. Eine Geschwindigkeit der Spindelachse während einer Umdrehung kann auch unter Verwendung einer Änderung des oben beschriebenen Winkels der Spindelachse (einer Winkelgeschwindigkeit) abgeschätzt werden. Eine Verschiebungsgeschwindigkeit kann auch mit der Änderung eines Positionsbefehls (ein Geschwindigkeitsbefehl) geschätzt werden. Die Zeit, die für eine Drehung der Spindelachse erforderlich ist, wird unter Verwendung der geschätzten Winkelgeschwindigkeit bestimmt. Somit kann ein Hub des Werkstücks 10 (oder des Schneidwerkzeugs) während einer Drehung der Spindelachse durch Multiplizieren der Zeit von einer Drehung mit dem Geschwindigkeitsbefehl bestimmt werden.
  • Die Oszillationsamplitude kann durch Multiplizieren des in der oben beschriebenen Weise durch die erste Konstante ermittelten Hubs bestimmt werden. Die erste Konstante kann so eingestellt werden, dass die Oszillationsamplitude um 0,5 mal oder mehr als ein Hub in einer Bearbeitungsrichtung größer wird. Eine solche Berechnung der ersten Konstante kann von einem Menschen oder von der Servosteuerung 100 oder der übergeordneten Steuerung 200 durchgeführt werden. Beispielsweise wird die erste Konstante vorzugsweise in einem Bereich von einem Wert von mehr als 1 bis zu einem Wert kleiner als 2, bevorzugter in einem Bereich in der Nachbarschaft von 1,5 eingestellt. Diese Werte von Zahlenwerten entsprechen auch bevorzugten Beispielen der ersten Konstante gemäß den Ansprüchen. Gemäß dieser Ausführungsform wird die zweite Konstante für die Multiplikation ebenfalls als Beispiel auf 1,5 gesetzt. Unterdessen kann die zweite Konstante in einem Bereich von 0,5 bis 10 eingestellt werden. Insbesondere wird die zweite Konstante vorzugsweise in einem Bereich von einem Wert über 1 bis zu einem Wert kleiner als 2, bevorzugter in einem Bereich in der Gegend von 1,5, eingestellt. Diese Werte von Zahlenwerten entsprechen auch bevorzugten Beispielen der zweiten Konstante gemäß den Ansprüchen.
  • Die Steuerung 200 höherer Ordnung kann so konfiguriert sein, dass sie die erste Konstante und die zweite Konstante der Servosteuerung 100 ausgibt. In diesem Fall kann die Servosteuerung 100 die gegebene erste Konstante und die gegebene zweite Konstante in einen bestimmten Speicher in der Servosteuerung 100 speichern. Ein Benutzer kann die erste Konstante und die zweite Konstante durch Betätigen der übergeordneten Steuerung 200 einstellen. Der Benutzer kann diese Konstanten durch direktes Betätigen der Servosteuerung 100 einstellen.
  • <Steuerung über Berechnung von Oszillationsbefehl>
  • Die Oszillationsbefehlsberechnungseinheit 102 kann die folgenden Oszillationsbefehle, die zur Steuerung verwendet werden sollen, in Abhängigkeit von dem Zweck der Bearbeitung durch eine Werkzeugmaschine umschalten: verschiedene Oszillationsbefehl außer einem Oszillationsbefehl zum Anlegen einer Oszillation entlang einer Befehlsroute; Und den Oszillationsbefehl zum Anlegen einer Oszillation entlang der Befehlsroute. Alternativ kann ein Oszillationsbefehl durch Kombinieren der verschiedenen Oszillationsbefehle und des Oszillationsbefehls zum Anlegen einer Oszillation entlang der Befehlsroute berechnet werden. Zum Zwecke des Zerkleinerns von Spänen, die beim Schneiden verursacht werden, kann beispielsweise ein Oszillationsbefehl berechnet werden, um zu bewirken, dass ein Schneidwerkzeug und ein Werkstück in einer Bearbeitungsrichtung, in der sich das Schneidwerkzeug bewegt, relativ zueinander oszillieren. Ein Oszillationsbefehl kann auch durch Kombinieren eines solchen Oszillationsbefehls zum Anlegen einer Oszillation in der Bearbeitungsrichtung und des oben beschriebenen Oszillationsbefehls zum Anlegen einer Oszillation entlang der Befehlsroute berechnet werden.
  • Die Oszillationsbefehlsberechnungseinheit 102 ist vorzugsweise so konfiguriert, dass sie die Berechnung eines Oszillationsbefehls in Reaktion auf eine von außen gegebene Anweisung startet, stoppt oder beendet. Beispielsweise kann die Oszillationsbefehlsberechnungseinheit 102 konfiguriert sein, um die Berechnung eines Oszillationsbefehls als Reaktion auf eine Anweisung von der übergeordneten Steuerung 200 als eine externe Vorrichtung zu starten, zu stoppen oder zu beenden.
  • Die Servosteuerung 100 muss eine Schnittstelleneinheit zum Empfangen einer solchen Befehlsausgabe von der übergeordneten Steuerung 200 aufweisen. Es ist bevorzugt, dass eine andere Schnittstelle, wie beispielsweise die Drehzahl-Erfassungseinheit 118 usw. als diese Schnittstelleneinheit weiterverwendet werden kann.
  • Wie die Oszillationsbefehlsberechnungseinheit 102 ist die Oszillationsbefehlskorrektureinheit 104 vorzugsweise so konfiguriert, dass sie eine Korrektur eines Oszillationsbefehls als Reaktion auf eine von außen gegebene Anweisung startet, stoppt oder beendet. Beispielsweise kann die Oszillationsbefehlskorrektureinheit 104 konfiguriert sein, um den Korrekturvorgang in Reaktion auf eine Anweisung von der übergeordneten Steuerung 200 als eine externe Vorrichtung zu starten, zu stoppen oder zu beenden. Die Oszillationsbefehlsberechnungseinheit 102 kann auch als eine Schnittstelleneinheit zum Empfangen einer solchen Befehlsausgabe von der übergeordneten Steuerung 200 verwendet werden. Beispielsweise kann die Positionsbefehls-Erfassungseinheit 120 als diese Schnittstelleneinheit verwendet werden. Alternativ kann eine andere zugeordnete Schnittstelle vorbereitet werden.
  • Bezugszeichenliste
  • 10, 20
    Werkstück
    12, 22
    Spindelachse
    14, 24
    Schneidwerkzeug
    100
    Servosteuerung
    102
    Oszillationsbefehlsberechnungseinheit
    103
    Positionsbefehlsspeichereinheit
    104
    Positionsbefehlsspeichereinheit
    106
    Addierer
    116
    Positions-, Geschwindigkeits- und Stromsteuereinheit
    118
    Drehzahl-Erfassungseinheit
    120
    Positionsbefehls-Erfassungseinheit
    122
    Positions-Erfassungseinheit
    200
    übergeordnete Steuerung
    300
    Verstärker
    400
    Servomotor
    500
    Detektor
    A
    Oszillation
    B
    Bearbeitungsrichtung
    C
    Bewegung in der Luft
    D
    Schneiden
    E
    Kontur des Arbeitsquerschnitts
    F
    Befehlsroute
    G
    Oszillationsbefehl
    H
    Werkzeugroute (Befehlsroute + Oszillationsbefehl)
    J
    Korrigierter Oszillationsbefehl
    K
    Werkzeugroute (Befehlsroute + korrigierter Oszillationsbefehl)

Claims (9)

  1. Steuerung (100), die eine Werkzeugmaschine mit mehreren Steuerachsen steuert und zum Bearbeiten durch Schneiden eines Werkstücks (10, 20) als Bearbeitungsziel durch koordinierte Bewegung der Steuerachsen verwendet wird, wobei die Steuerung (100) umfasst: eine Positionsbefehls-Erfassungseinheit (120), die einen auf einen Servomotor (400) gerichteten Positionsbefehl zum Antreiben eines Schneidwerkzeugs (14, 24) erfasst, oder einen auf einen Servomotor (400) gerichteten Positionsbefehl zum Antreiben des Werkstücks (10, 20) erfasst; eine Drehzahl-Erfassungseinheit (118), die eine Drehzahl des gedrehten Schneidwerkzeugs (14, 24) oder die des gedrehten Werkstücks (10, 20) erfasst; eine Oszillationsamplituden-Berechnungseinheit (104), die die Oszillationsamplitude basierend auf dem erfassten Positionsbefehl und der erfassten Drehzahl berechnet; eine Oszillationsfrequenz-Berechnungseinheit (104), die eine Oszillationsfrequenz basierend auf der erfassten Drehzahl berechnet; eine Oszillationsbefehlsberechnungseinheit (104), die einen Oszillationsbefehl zum Veranlassen des Schneidwerkzeugs (14, 24) und des Werkstücks (10, 20), relativ zueinander entlang einer Bearbeitungsstrecke, entlang derer das Schneidwerkzeug sich bewegt, zu schwingen, um Späne zu zerkleinern, die während des Schneidens entstehen, basierend auf der berechneten Oszillationsamplitude und der berechneten Oszillationsfrequenz berechnet; eine Positionsbefehlsspeichereinheit (103), die eine Befehlsroute speichert, die basierend auf der berechneten Oszillationsamplitude bestimmt wird; eine Oszillationsbefehlskorrektureinheit (104), die den Oszillationsbefehl basierend auf der gespeicherten Befehlsroute korrigiert; und eine Antriebseinheit (116, 106), die ein Antriebssignal zum Ansteuern des Servomotors (400) basierend auf dem erfassten Positionsbefehl und des korrigierten Oszillationsbefehls bestimmt, und das Antriebssignal ausgibt, wobei die Positionsbefehlsspeichereinheit (103) die Befehlsroute speichert, die mindestens länger als die Oszillationsamplitude ist, und wobei die Oszillationsbefehlskorrektureinheit (104) den Oszillationsbefehl korrigiert, um zu bewirken, dass das Schneidwerkzeug (14, 24) und das Werkstück (10, 20) relativ zueinander entlang der gespeicherten Befehlsroute oszillieren.
  2. Steuerung (100) nach Anspruch 1, wobei die Oszillationsamplituden-Berechnungseinheit (104) die Oszillationsamplitude durch Bestimmen eines Hubes während einer Drehung des Schneidwerkzeuges (14, 24) oder des Werkstücks (10, 20) berechnet, basierend auf dem erfassten Positionsbefehl und der erfassten Drehzahl und durch Multiplizieren des bestimmten Hubes mit einer ersten Konstante.
  3. Steuerung (100) nach einem der Ansprüche 1 oder 2, wobei die Oszillationsfrequenz-Berechnungseinheit (104) die Oszillationsfrequenz durch Multiplizieren der erfassten Drehzahl mit einer zweiten Konstanten berechnet.
  4. Steuerung (100) nach Anspruch 2, wobei die erste Konstante von einer externen übergeordneten Vorrichtung (200) bereitgestellt wird und die vorgesehene erste Konstante verwendet wird.
  5. Steuerung (100) nach Anspruch 3, wobei die zweite Konstante von einer externen übergeordneten Vorrichtung (200) bereitgestellt wird und die vorgesehene zweite Konstante verwendet wird.
  6. Steuerung (100) nach einem der Ansprüche 1 bis 5, wobei die Oszillationsbefehlsberechnungseinheit (104) die Berechnung des Oszillationsbefehls basierend auf einem Signal startet, stoppt oder beendet, das von einer übergeordneten Steuerung (200) gegeben wird.
  7. Steuerung (100) nach einem der Ansprüche 1 bis 6, wobei die Oszillationsbefehlskorrektureinheit (104) die Korrektur des Oszillationsbefehls basierend auf einem Signal startet, stoppt oder beendet, das von einer übergeordneten Steuerung (200) gegeben wird.
  8. Verfahren zum Steuern einer Werkzeugmaschine, die mehrere Steuerachsen umfasst und zum Bearbeiten durch Schneiden eines Werkstücks (10, 20) als Bearbeitungsziel durch koordinierte Bewegung der Steuerachsen verwendet wird, wobei das Verfahren umfasst: einen Positionsbefehls-Erfassungsschritt zum Erfassen eines auf einen Servomotor (400) gerichteten Positionsbefehl zum Antreiben eines Schneidwerkzeugs (14, 24), oder eines auf einen Servomotor (400) gerichteten Positionsbefehls zum Antreiben des Werkstücks (10, 20); einen Drehzahl-Erfassungsschritt zum Erfassen einer Drehzahl des gedrehten Schneidwerkzeugs (14, 24) oder der des gedrehten Werkstücks (10, 20); einen Oszillationsamplituden-Berechnungsschritt zum Berechnen der Oszillationsamplitude basierend auf dem erfassten Positionsbefehl und der erfassten Drehzahl; einen Oszillationsfrequenz-Berechnungsschritt zum Berechnen einer Oszillationsfrequenz basierend auf der erfassten Drehzahl; einen Oszillationsbefehls-Berechnungsschritt zum Berechnen eines Oszillationsbefehls zum Veranlassen des Schneidwerkzeugs (14, 24) und des Werkstücks (10, 20), relativ zueinander entlang einer Bearbeitungsstrecke, entlang derer das Schneidwerkzeug sich bewegt, zu schwingen, um Späne zu zerkleinern, die während des Schneidens entstehen, basierend auf der berechneten Oszillationsamplitude und der berechneten Oszillationsfrequenz; einen Positionsbefehls-Speicherungsschritt zum Speichern einer Befehlsroute, die basierend auf der berechneten Oszillationsamplitude bestimmt wird, die in eine bestimmte Positionsbefehlsspeichereinheit gespeichert wird; einen Oszillationsbefehls-Korrekturschritt zum Korrigieren des Oszillationsbefehls basierend auf der gespeicherten Befehlsroute; und einen Antriebsschritt zum Bestimmen eines Antriebssignals, der zum Antreiben des Servomotors (400) basierend auf dem erfassten Positionsbefehl und dem korrigierten Oszillationsbefehl verwendet werden soll, und zum Ausgeben des Treibersignals, wobei die Befehlsroute, die mindestens länger als die Oszillationsamplitude ist, in dem Positionsbefehls-Speicherungsschritt gespeichert wird, und wobei der Oszillationsbefehl in dem Oszillationsbefehls-Korrekturschritt korrigiert wird, um zu bewirken, dass das Schneidwerkzeug (14, 24) und das Werkstück (10, 20) relativ zueinander entlang der gespeicherten Befehlsroute oszillieren.
  9. Computerprogramm, das einen Computer dazu veranlasst, als Steuerung zu operieren, das eine Werkzeugmaschine mit mehreren Steuerachsen steuert und für zum Bearbeiten durch Schneiden eines Werkstücks (10, 20) als ein Bearbeitungsziel durch koordinierte Bewegung der Steuerachsen verwendet wird, wobei das Computerprogramm den Computer veranlasst zum Ausführen von: einer Positionsbefehl-Erfassungsprozedur zum Erfassen eines Positionsbefehls, der auf einen Servomotor (400) zum Antreiben eines Schneidwerkzeugs (14, 24) gerichtet ist oder eines Positionsbefehls, der auf einen Servomotor (400) zum Antreiben des Werkstücks (10, 20) gerichtet ist; eine Drehzahl-Erfassungsprozedur zum Erfassen einer Drehzahl des gedrehten Schneidwerkzeugs (14, 24) oder der des gedrehten Werkstücks (10, 20); einer Oszillationsamplituden-Berechnungsprozedur zum Berechnen der Oszillationsamplitude basierend auf dem erfassten Positionsbefehl und der erfassten Drehzahl; einer Oszillationsfrequenz-Berechnungsprozedur zum Berechnen einer Oszillationsfrequenz basierend auf der erfassten Drehzahl; einer Oszillationsbefehls-Berechnungsprozedur zum Berechnen eines Oszillationsbefehls zum Veranlassen des Schneidwerkzeugs (14, 24) und des Werkstücks (10, 20), relativ zueinander entlang einer Bearbeitungsstrecke, entlang derer das Schneidwerkzeug sich bewegt, zu schwingen, um Späne zu zerkleinern, die während des Schneidens entstehen, basierend auf der berechneten Oszillationsamplitude und der berechneten Oszillationsfrequenz; einer Positionsbefehls-Speicherungsprozedur zum Speichern einer Befehlsroute, die basierend auf der berechneten Oszillationsamplitude bestimmt wird, die in eine bestimmte Positionsbefehlsspeichereinheit gespeichert wird; einer Oszillationsbefehls-Korrekturprozedur zum Korrigieren des Oszillationsbefehls basierend auf der gespeicherten Befehlsroute; und einer Antriebsprozedur zum Bestimmen eines Antriebssignals, der zum Antreiben des Servomotors (400) basierend auf dem erfassten Positionsbefehl und dem korrigierten Oszillationsbefehl verwendet werden soll, und zum Ausgeben des Treibersignals, wobei die Befehlsroute, die mindestens länger als die Oszillationsamplitude ist, in der Positionsbefehls-Speicherungsprozedur gespeichert wird, und wobei der Oszillationsbefehl in der Oszillationsbefehls-Korrekturprozedur korrigiert wird, um zu bewirken, dass das Schneidwerkzeug (14, 24) und das Werkstück (10, 20) relativ zueinander entlang der gespeicherten Befehlsroute oszillieren.
DE102017208060.4A 2016-05-16 2017-05-12 Servosteuerung, steuerverfahren, und computerprogramm für eine werkzeugmaschine zum oszillationsschneiden Active DE102017208060B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-097892 2016-05-16
JP2016097892A JP6457432B2 (ja) 2016-05-16 2016-05-16 揺動切削を行う工作機械のサーボ制御装置、制御方法及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
DE102017208060A1 DE102017208060A1 (de) 2017-11-16
DE102017208060B4 true DE102017208060B4 (de) 2022-06-30

Family

ID=60163374

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017208060.4A Active DE102017208060B4 (de) 2016-05-16 2017-05-12 Servosteuerung, steuerverfahren, und computerprogramm für eine werkzeugmaschine zum oszillationsschneiden

Country Status (4)

Country Link
US (1) US10379519B2 (de)
JP (1) JP6457432B2 (de)
CN (1) CN107390639B (de)
DE (1) DE102017208060B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019215626B4 (de) 2018-10-15 2024-02-22 Fanuc Corporation Numerische Steuervorrichtung

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6991774B2 (ja) * 2017-08-01 2022-01-13 シチズン時計株式会社 工作機械の制御装置および工作機械
JP6636998B2 (ja) * 2017-08-22 2020-01-29 ファナック株式会社 数値制御装置
CN108398282B (zh) * 2018-05-31 2020-08-18 吉林大学 伺服摆动进给系统可靠性试验装置及试验方法
JP6787950B2 (ja) * 2018-06-04 2020-11-18 ファナック株式会社 数値制御装置
JP6763917B2 (ja) * 2018-07-10 2020-09-30 ファナック株式会社 工作機械の制御装置
JP6806754B2 (ja) * 2018-11-13 2021-01-06 ファナック株式会社 工作機械および振動診断支援方法
CN111240264B (zh) * 2018-11-29 2024-02-20 发那科株式会社 数值控制装置、程序记录介质以及控制方法
WO2020136899A1 (ja) 2018-12-28 2020-07-02 三菱電機株式会社 数値制御装置および機械学習装置
JP6997126B2 (ja) * 2019-03-15 2022-01-17 ファナック株式会社 サーボ制御装置
TWI732587B (zh) * 2020-06-09 2021-07-01 新代科技股份有限公司 多軸驅動斷屑控制系統及其控制方法
TWI739468B (zh) * 2020-06-09 2021-09-11 新代科技股份有限公司 斷屑控制系統及其控制方法
TWI739469B (zh) * 2020-06-09 2021-09-11 新代科技股份有限公司 螺紋加工斷屑控制系統及其控制方法
CN115884847B (zh) * 2020-10-21 2024-03-19 三菱电机株式会社 数控装置及数控方法
JP7276371B2 (ja) 2021-03-19 2023-05-18 いすゞ自動車株式会社 整備装置および整備方法
CN115453971B (zh) * 2022-09-23 2023-08-15 法奥意威(苏州)机器人系统有限公司 圆弧摆动路径规划方法、装置及规划设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0197172A1 (de) 1985-04-09 1986-10-15 Wilhelm Hegenscheidt Gesellschaft mbH Einrichtung zur Erzeugung von Bruchspänen bei der Bearbeitung von Werkstücken
EP0272345A1 (de) 1986-12-24 1988-06-29 Wilhelm Hegenscheidt Gesellschaft mbH Verfahren und Einrichtung zur Beeinflussung der Bewegung eines beweglichen Organs, insbesondere eines Werkzeugträgers
DE102007053350A1 (de) 2007-10-30 2009-05-07 Chiron-Werke Gmbh & Co Kg Verfahren zur spanabhebenden Bearbeitung von Werkstücken
JP5033929B1 (ja) 2011-11-10 2012-09-26 ハリキ精工株式会社 工作機械
JP5599523B1 (ja) 2013-02-12 2014-10-01 三菱電機株式会社 数値制御装置
JP2016066593A (ja) 2014-09-17 2016-04-28 東京エレクトロン株式会社 プラズマ処理装置
DE102015105338A1 (de) 2015-04-08 2016-10-27 Lti Motion Gmbh Werkzeugantrieb mit Spindelwelle und Betriebsverfahren

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT331439B (de) 1973-07-24 1976-08-25 Voest Ag Strangfuhrung fur eine stranggiessanlage
PL112778B1 (en) * 1977-07-04 1980-10-31 Hombak Maschinenfabrik Kg Cutting tool holder for woodworking machines
JPS5599523A (en) 1979-01-23 1980-07-29 Matsushita Electric Ind Co Ltd Combustion safety device
CN2179220Y (zh) * 1994-01-05 1994-10-12 吉林省白城机床工贸公司 金属短纤维振动切削机床
US6742731B2 (en) * 2002-03-19 2004-06-01 Inter-Source Recovery Systems System and method of shredding wet chips in a flume
KR100820438B1 (ko) * 2003-05-14 2008-04-10 미쓰비시덴키 가부시키가이샤 수치 제어 장치
JP2008068364A (ja) * 2006-09-14 2008-03-27 Ricoh Co Ltd 振動切削加工装置及び振動切削加工方法
JP2010009094A (ja) * 2008-06-24 2010-01-14 Fanuc Ltd 高速サイクル加工で使用する移動パルスとncプログラム指令を重畳する機能を有する数値制御装置
CN101502971B (zh) * 2009-03-10 2010-12-01 北京航空航天大学 一种高频超声椭圆振动切削装置
WO2011145451A1 (ja) * 2010-05-20 2011-11-24 三菱電機株式会社 モータ制御装置
CN105122161B (zh) * 2014-03-17 2017-10-20 三菱电机株式会社 数控装置
CN106232293B (zh) 2014-03-26 2020-01-10 西铁城时计株式会社 机床的控制装置以及具备该控制装置的机床
ES2956678T3 (es) * 2014-08-29 2023-12-26 Citizen Watch Co Ltd Método para mecanizar una pieza de trabajo mediante una máquina herramienta
JP5826444B1 (ja) * 2014-10-28 2015-12-02 三菱電機株式会社 数値制御装置
EP3213848A4 (de) * 2014-10-28 2018-07-11 Mitsubishi Electric Corporation Numerisch gesteuerte vorrichtung

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0197172A1 (de) 1985-04-09 1986-10-15 Wilhelm Hegenscheidt Gesellschaft mbH Einrichtung zur Erzeugung von Bruchspänen bei der Bearbeitung von Werkstücken
EP0272345A1 (de) 1986-12-24 1988-06-29 Wilhelm Hegenscheidt Gesellschaft mbH Verfahren und Einrichtung zur Beeinflussung der Bewegung eines beweglichen Organs, insbesondere eines Werkzeugträgers
DE102007053350A1 (de) 2007-10-30 2009-05-07 Chiron-Werke Gmbh & Co Kg Verfahren zur spanabhebenden Bearbeitung von Werkstücken
JP5033929B1 (ja) 2011-11-10 2012-09-26 ハリキ精工株式会社 工作機械
JP5599523B1 (ja) 2013-02-12 2014-10-01 三菱電機株式会社 数値制御装置
JP2016066593A (ja) 2014-09-17 2016-04-28 東京エレクトロン株式会社 プラズマ処理装置
DE102015105338A1 (de) 2015-04-08 2016-10-27 Lti Motion Gmbh Werkzeugantrieb mit Spindelwelle und Betriebsverfahren

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019215626B4 (de) 2018-10-15 2024-02-22 Fanuc Corporation Numerische Steuervorrichtung

Also Published As

Publication number Publication date
CN107390639B (zh) 2019-09-17
DE102017208060A1 (de) 2017-11-16
JP2017207806A (ja) 2017-11-24
US10379519B2 (en) 2019-08-13
CN107390639A (zh) 2017-11-24
US20170329302A1 (en) 2017-11-16
JP6457432B2 (ja) 2019-01-23

Similar Documents

Publication Publication Date Title
DE102017208060B4 (de) Servosteuerung, steuerverfahren, und computerprogramm für eine werkzeugmaschine zum oszillationsschneiden
DE102017205214B4 (de) Servo-steuereinheit, steuerverfahren und computerprogramm für ein maschinenwerkzeug das für oszillierendes schneiden verwendet wird
DE102017215787B4 (de) Steuerungseinrichtung, Steuerungsverfahren und Computerprogramm für Werkzeugmaschine
DE102018003786B4 (de) Anzeigevorrichtung und Bearbeitungssystem zum Oszillationsschneiden
DE102018005754B4 (de) Steuervorrichtung für eine werkzeugmaschine zum ausführen von schwingungsschneiden
EP2881184B1 (de) Ultraschallschweissvorrichtung und ultraschallschweissverfahren zur regelung von kontinuierlichen ultraschallschweissprozessen
DE112014000229B4 (de) Numerische Steuervorrichtung
DE102018002959B4 (de) Steuervorrichtung für Werkzeugmaschine, die Oszillationsschneiden durchführt
DE102012003196B4 (de) Numerische Steuervorrichtung mit einer Geschwindigkeitssteuerfunktion für eine maschinelle Mehrachsenverarbeitungsvorrichtung
DE102018002961B4 (de) Steuervorrichtung für Werkzeugmaschine, die Oszillationsschneiden durchführt
DE102019204947A1 (de) Anzeigegerät
DE102018006614B4 (de) Numerische Steuerung
DE102019205035B4 (de) Steuerung für Werkzeugmaschine
DE102011077568A1 (de) Werkzeugmaschine, Werkstückbearbeitungsverfahren
DE102018002784B4 (de) Steuervorrichtung für Werkzeugmaschine, die Oszillationsschneiden durchführt
DE112013006799T5 (de) Numerische Steuerungsvorrichtung
DE102010048638B4 (de) Werkzeugmaschine, Werkstückbearbeitungsverfahren
DE102017001783B4 (de) Numerische Steuervorrichtung, die eine Erhöhung der Anzahl Analyseziffern eines Programmbefehls ermöglicht
DE102018003051B4 (de) Steuervorrichtung für eine Werkzeugmaschine, die Vibrationsschneiden durchführt
DE102015009871B4 (de) Numerische Steuereinheit mit Eckwegerzeugungsfunktion unter Berücksichtigung von Beschleunigung/Verlangsamung nach Interpolation
DE69910119T2 (de) Steuerungseinheit für Maschine
DE112018008087B4 (de) Numerisches Steuerungsgerät und numerisches Steuerungsverfahren
DE112014007112T5 (de) Numerisch gesteuerte Vorrichtung
DE102019204409A1 (de) Anzeigevorrichtung
DE102020203934A1 (de) Servosteuereinrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: B23Q0015000000

Ipc: B23Q0015007000

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final