-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft eine numerische Steuervorrichtung zum Steuern, auf Grundlage eines Bearbeitungsprogramms, einer Werkzeugmaschine, die eine Vielzahl von Linearbewegungsachsen und zumindest eine Rotationsbewegungsachse zum Drehen eines Arbeitstisches (engt. Table) aufweist, um unter Verwendung eines Werkzeugs ein Werkstück, das auf dem Arbeitstisch fixiert ist, zu bearbeiten, und betrifft ein Verfahren zum Steuern der numerischen Steuervorrichtung und ein Systemprogramm dafür, das durch eine zentrale Verarbeitungseinheit darin ausgeführt wird.
-
STAND DER TECHNIK
-
Bisher ist eine Werkzeugmaschine bekannt mit zumindest einer Rotationsachse zum Drehen eines Arbeitstisches bzw. Werktisches, an dem ein Werkstück fixiert ist, ferner ist eine numerische Steuervorrichtung bekannt, die eine Vielzahl linearer Achsen und eine einzelne Arbeitstischrotationsachse aufweist, und die ferner zumindest eine Arbeitstischrotationsachse oder zumindest eine Werkzeugschwingachse aufweist. Zum Beispiel ist, wie in 1 gezeigt, eine fünfachsige Werkzeugmaschine bekannt, bei der ein Werkzeug 2, das durch drei Linearachsen angesteuert wird, bei denen es sich um die X-, Y- und Z-Achse handelt, die senkrecht zueinander sind, das Werkzeug 2 zusätzlich durch eine Rotationsachse B um die Y-Achse rotationsartig angesteuert wird, und ein Werktisch 1 durch eine Rotationsachse C um die Z-Achse gesteuert wird, wobei ein Werkstück 3, das auf dem Werktisch abgebracht ist, bearbeitet wird.
-
In einer Werkzeugmaschine mit zumindest einer Werktisch-Rotationsachse kann ein Fall auftreten, bei dem, um zu gewährleisten, dass das Werkzeug sich relativ zu einem Werkstück 3 bewegt, welches durch Drehen des Werktisches rotiert, auf Grundlage eines Weges und einer Geschwindigkeit, die durch ein Bearbeitungsprogramm angewiesen wird, das Werkzeug in einem Koordinatensystem bewegt wird, das dich von einem Maschinenkoordinatensystem unterscheidet, das vorab für die Werkzeugmaschine eingestellt wurde. In einem Werkzeugmittelpunkts-(engl. Tool Center Point bzw. TCP)Steuerverfahren, bei dem der Weg und die Geschwindigkeit, die durch das Bearbeitungsprogramm angewiesen werden, und der Weg und die Geschwindigkeit eines TCP (Schneideposition des Werkzeugs) bezüglich des Werkstücks gesteuert werden, so dass diese konsistent miteinander sind, wird das Werkzeug zusätzlich zu dem Maschinenkoordinatensystem zum Beispiel in einem Werktischkoordinatensystem bewegt, das mit dem Drehen des Werktisches rotiert, an dem das Werkstück fixiert ist, oder in einem Arbeitskoordinatensystem, welches nicht mit dem Drehen des Werktisches rotiert.
-
Ein TCP-Steuerverfahren ist zum Beispiel im Patentdokument 1 offenbart, bei dem durch eine Interpolation in dem Werktischkoordinatensystem ein Werkstück linear bearbeitet wird.
-
Im Allgemeinen wird in einer numerischen Steuervorrichtung gemäß einem Bearbeitungsprogramm, das unter Verwendung eines Anweisungscodes geschrieben wird, der als G-Code bezeichnet wird, eine Anweisung an einen Servoverstärker zum Drehen eines Servomotors gegeben, der eine X-, Y-, Z-, B- und C-Achse usw. ansteuert. Eine Operation, die durch das Bearbeitungsprogramm angewiesen wird, umfasst zwei Arten von Operationen: eine Bearbeitungsoperation und eine Operation außer der Bearbeitungsoperation (im Folgenden als eine Nichtbearbeitungsoperation bezeichnet). Die Bearbeitungsoperation umfasst eine Operation, so dass das Werkzeug ein Werkstück direkt durch ein Schneiden bearbeitet, während die Nichtbearbeitungsoperation zum Beispiel Operationen zum Positionieren der Werktisch-Drehachse zum Positionieren des Werkstücks, Bewegen des Werkzeugs zu einer Position, an der ein Loch durch das Werkstück gebohrt wird, und eine Annähern des Werkzeugs an das Werkstück umfasst.
-
Das folgende Programm ist ein Beispiel einer Nichtbearbeitungsoperationsanweisung für die TCP-Steuerung, die eine Anweisung zum Positionieren der C-Achse in dem Werktischkoordinatensystem darstellt, um die gegenüberliegende Seite des Werkstücks zu bestimmen. Zur Vereinfachung der Erläuterung werden Bearbeitungsanweisungen, wie zum Beispiel für eine Schneideoperation, nicht dargestellt. Es wird angenommen, dass die Position der C-Achse als Werktisch-Rotationsachse vorab bei 0 Grad eingestellt wird.
-
Herkömmliches Bearbeitungsprogramm, Beispiel 1
-
- N100 G28 XYZ: Zurückstellen zum Maschinenursprungpunkt N200 G54 G00 X100. Y100. Auswählen des Arbeitskoordinatensystem. Position zum Startpunkt
- N300 G43.4: Start der TCP-Steuerung
- N400 G00 C180.: Position (im Werktisch-Koordinatensystem)
- N500 G49: Beenden der TCP-Steuerung
-
Gemäß des obigen „Herkömmlichen Bearbeitungsprogramms, Beispiel 1” arbeitet die Werkzeugmaschine wir in 2. 2 sind hier Ansichten, die aus der Z-Achsen(+)-Richtung betrachtet werden, wobei das Werkstück 3, nicht dargestellt, an dem Werktisch 1 fixiert angebracht wird. In dem N100 Block ist „G28” ein Anweisungscode zum Zurückstellen zu dem mechanischen Ursprungspunkt, und das Werkzeug 2 wird, wie in 2(a) gezeigt, in dem mechanischen Koordinatensystem zu dem Ursprungspunkt (0.0, 0.0, 0.0) bewegt. Währenddessen ist in dem N200 Block „G54” ein Anweisungscode zum Auswählen des Arbeitskoordinatensystems. In dem N200 Block ist „G00” ein Anweisungscode zum Positionieren, der in einem Fall verwendet wird, wenn beabsichtigt ist, dass das Werkzeug oder der Werktisch schnell zu einem Endpunkt bewegt wird, der während der Nichtbearbeitungsoperation angewiesen wird. Daher ist der N200 Block, wie in 2(b) dargestellt, eine Anweisung zum Bewegen des Werkzeugs 2 zu dem Endpunkt (100.0, 100.0, 0.0) in dem Arbeitskoordinatensystem. Die dicken Pfeillinien in 2 zeigen Orte des Werkzeugs 2, während die Position (100.0, 100.0, 0.0) in dem Arbeitskoordinatensystem in geeigneter Weise durch Vektoren dargestellt ist. Der Endpunkt des N20 Blocks ist somit ein Startpunkt zum Start der TCP-Steuerung in dem nächsten N300 Block. In dem N300 Block ist „G43.3” ein Anweisungscode zum Starten der TCP-Steuerung; danach wird die TCP-Steuerung ausgeführt bis der Block „G49”, bei dem es sich um einen Anweisungscode zum Beenden der TCP-Steuerung handelt, eingelesen wird.
-
Der N400 Block ist, wie in 2(c) gezeigt, eine Positionierungsanweisung in dem Werktischkoordinatensystem, zum Drehen der C-Achse zu einem Endpunkt, wobei der Endpunkt der C-Achse durch den Positionierungsanweisungscode „G00” auf 180 Grad eingestellt wird. Daher rotiert die C-Achse um 180 Grad von dem Startpunkt von 0 Grad zu dem Endpunkt von 180 Grad. Da zu diesem Zeitpunkt das Werkzeug 2 der Rotation um die C-Achse des Werktisches 1 folgt, während eine relative Position zu dem Werktisch 1 beibehalten wird, wird das Werkzeug 2 entlang eines kreisförmigen Weges bewegt, der durch die dicke Pfeillinie dargestellt ist. In dem N500 Block ist „G49” ein Anweisungscode zum Beenden der TCP-Steuerung, wodurch die TCP-Steuerung beendet wird.
-
In dem N400 Block des obigen „Herkömmlichen Bearbeitungsprogramms, Beispiel 1” kann bezüglich der Anweisung in dem Werktischkoordinatensystem zur Bewegung der Werktischrotationsachse und der Werkzeugspitze zu den Endpunkten nur der Endpunkt der Werktischrotationsachse angewiesen werden. Daher kann das Bearbeitungsprogramm leicht erzeugt werden. Wie oben beschrieben, wird in der TCP-Steuerung bezüglich nicht nur der Bearbeitungsoperation sondern auch der Nichtbearbeitungsoperation eine Anweisung in vielen Fällen in einem Koordinatensystem ausgeführt, das sich von dem Bearbeitungskoordinatensystem unterscheidet (im Folgenden als ein Nichtbearbeitungskoordinatensystem bezeichnet).
-
Wenn jedoch eine derartige, oben beschriebene Anweisung in dem Nichtbearbeitungskoordinatensystem ausgeführt wird, bewegt sich die TCP, da sich die TCP aufgrund des Drehens des Werktisches von dem Startpunkt zu dem Endpunkt entlang des kreisförmigen Weges bewegt, nicht entlang eines linearen Weges, der den Startpunkt mit dem Endpunkt verbindet. Da ein Entwickler, der das Bearbeitungsprogramm erzeugt, und ein Betreiber, der die Werkzeugmaschine bedient, nicht vorhersagen können, insbesondere dann nicht, wenn die Nichtbearbeitungsoperation durchgeführt wird, wie sich das Werkzeug mit der Werktischrotation bewegt, besteht daher eine Möglichkeit, dass das Werkzeug von dessen gespeicherten Laufgrenzenbereich abweicht, um sich zu bewegen oder mit einer peripheren Vorrichtung und dergleichen zu interferieren.
-
Während einer Nichtbearbeitungsoperation ist es andererseits nicht notwendig, dass relative Positionen zwischen dem Werktisch und dem Werkzeug eingehalten werden. Aus diesem Grund kann, um die oben beschriebenen Probleme zu lösen, das Werkzeug entlang eines linearen Weges bewegt werden, der einen Startpunkt mit einem Endpunkt verbindet. Um das Werkzeug wie oben beschrieben durch eine Anweisung in dem Nichtmaschinenkoordinatensystem zu bewegen, können eine Vielzahl von Blöcken für den N400 Block des obigen „herkömmlichen Bearbeitungsprogramms, Beispiel 1” ausgetauscht werden, wodurch die angewiesenen Blöcke eine Reihe von kleinen Liniensegmenten entlang des linearen Weges sind und die jeweiligen beiden Enden der Liniensegmente als ein Startpunkt und Endpunkt definiert sind. Dies führt jedoch zu einer Erhöhung der Anzahl von Blöcken in dem Bearbeitungsprogramm.
-
Um das Werkzeug entlang des linearen Weges zu bewegen kann ein anderes Bearbeitungsprogramm anstelle des „herkömmlichen Bearbeitungsprogramms, Beispiel 1” erzeugt werden. Das folgende Bearbeitungsprogramm ist ein Beispiel der Nichtbearbeitungsoperationsanweisung in der TCP-Steuerung, wobei Anweisungen zum Positionieren des Werkzeugs und der C-Achse zum Bestimmen der gegenüberliegenden Seiten des Werkstücks in dem Maschinenkoordinatensystem dargestellt sind.
-
Herkömmliches Bearbeitungsprogramm, Beispiel 2
-
- N100 G28 XYZ: Zurückstellen zum mechanischen Ursprungpunkt N200 G54 G00 X100. Y100. Auswählen des Arbeitskoordinatensystem. Position zum Startpunkt
- N300 G43.4: Start der TCP-Steuerung
- N400 G53 X-210. Y-150. C180.: Position (im Maschinenkoordinatensystem
- N500 G49: Beenden der TCP-Steuerung
-
Ein Punkt, der das „Herkömmliche Bearbeitungsprogramm, Beispiel 2” von dem „Herkömmlichen Bearbeitungsprogramm, Beispiel 1” unterscheidet, besteht darin, dass die Anweisung in dem N400 Block des „Herkömmlichen Bearbeitungsprogramms, Beispiel 1” „G00 C180.” ist, aber jenes des „Herkömmlichen Bearbeitungsprogramms, Beispiel 2” „G53 X-210. Y-150. C180.” ist. Gemäß dem Block N400 des „Herkömmlichen Bearbeitungsprogramms, Beispiel 2” arbeitet die Werkzeugmaschine wie in 3 dargestellt. 3 ist hier eine Ansicht, die von der Z-Achsen(+)-Richtung betrachtet wird, wobei das Werkstück 3, nicht dargestellt, fixiert an dem Werktisch 1 angebracht ist. Die Blöcke außer diesem Block N400 sind die gleichen wie jene des „Herkömmlichen Bearbeitungsprogramms, Beispiel 1”.
-
In dem N400 Block des „Herkömmlichen Bearbeitungsprogramms, Beispiel 2” ist „G53” ein Anweisungscode zum Auswählen des Maschinenkoordinatensystems. Daher wird in dem N400 Block, wie in
3 dargestellt, den Endpunkt der C-Achse begleitend, die durch den Positionierungsanweisungscode „G00” bei 180 Grad eingestellt wird, eine Positionieranweisung ausgeführt, um die C-Achse zu dem Endpunkt zu rotieren und das Werkzeug
2 zu dem Punkt (–210.0, –150.0, 0.0) in dem Maschinenkoordinatensystem zu bewegen. Der Punkt (–210.0, –150.0, 0.0) in dem Maschinenkoordinatensystem ist der Endpunkt des Werkzeugs
2, der in dem Maschinenkoordinatensystem durch den N400 Block des „Herkömmlichen Bearbeitungsprogramms, Beispiel 1” spezifiziert wird. Daher sind bezüglich des N400 Blocks des „Herkömmlichen Bearbeitungsprogramms, Beispiel 1” und dem des „Herkömmlichen Bearbeitungsprogramms, Beispiel 2” deren Startpunkte und Endpunkte in dem Maschinenkoordinatensystem zueinander gleich; in dem ersten Fall wird das Werkzeug
2 jedoch von dem Startpunkt zu dem Endpunkt entlang des kreisförmigen Weges bewegt, während die relative Position gegenüber dem Werktisch
1 beibehalten wird, während in dem letzteren Fall das Werkzeug
2 von dem Startpunkt zu dem Endpunkt entlang des linearen Weges bewegt wird, ohne die relative Position gegenüber dem Werktisch
1 beizubehalten.
Patentdokument 1:
Japanische veröffentlichte Patentanmeldung 2003-195917 .
-
OFFENBARUNG DER ERFINDUNG
-
Die durch die Erfindung zu lösende Probleme
-
Wenn gemäß der herkömmlichen numerischen Steuervorrichtung als das obige „Herkömmliche Bearbeitungsprogramm, Beispiel 2” die Positionierungsoperation in dem Maschinenkoordinatensystem, das die Rotation des Werktisches 1 begleitet, angewiesen wird, muss ein Bearbeitungsprogrammentwickler vorher einen Endpunkt (–210.0, –150.0, 0.0) des Werkzeugs 2 in dem Maschinenkoordinatensystem erhalten, und dann den erhaltenen Endpunkt in dem Bearbeitungsprogramm spezifizieren; daher tritt ein Problem auf, bei dem ein großer Aufwand und Kosten entstehen, um den Endpunkt zu erhalten.
-
Mittel zum Lösen des Problems
-
Um die oben beschriebenen Probleme zu lösen umfasst eine numerische Steuervorrichtung gemäß einem Aspekt der vorliegenden Erfindung zum Steuern, auf Grundlage eines Bearbeitungsprogramms, einer Werkzeugmaschine mit einer Vielzahl von linearen Bewegungsachsen und zumindest einer Rotationsbewegungsachse zum Drehen eines Werktisches, zum Bearbeiten eines Werkstücks, das an dem Werktisch fixiert ist, unter Verwendung eines Werkzeugs, eine zentrale Verarbeitungseinheit, ein Aufzeichnungsmedium zum Aufzeichnen bzw. Speichern des Bearbeitungsprogramms mit einer Interpolationsanweisung bezüglich einer Bearbeitungsoperation und einer Interpolationsanweisung in einem Nichtmaschinenkoordinatensystem bezüglich einer Nichtbearbeitungsoperation, an welche ein vorher definierter Anweisungscode angehängt ist, und einen Servoverstärker zum Ansteuern eines Servomotors, der mit jedem der Achsen zusammenhängt, gemäß einer Bewegungsgröße, die durch die zentrale Verarbeitungseinheit auf Grundlage der Interpolationsanweisungen erhalten wird.
-
In einer numerischen Steuervorrichtung gemäß einem weiteren Aspekt der Erfindung ist der Anweisungscode eine Anweisung zum Transformieren der Interpolationsanweisung, an die der Anweisungscode angehängt ist, in dem Nichtmaschinenkoordinatensystem bezüglich der Nichtbearbeitungsoperation in die Interpolationsanweisung in dem Maschinenkoordinatensystem.
-
Ein Verfahren zum Steuern einer numerischen Steuervorrichtung gemäß einem Aspekt der vorliegenden Erfindung zum Steuern einer numerischen Steuervorrichtung durch Steuern einer Werkzeugmaschine mit einer Vielzahl von linearen Bewegungsachsen und zumindest einer Rotationsbewegungsachse zum Drehen eines Werktisches, zum Bearbeiten eines Werkstücks, das an dem Werktisch fixiert ist, unter Verwendung eines Werkzeugs, umfasst einen Interpolationsanweisungs-Leseschritt zum Lesen einer Interpolationsanweisung, die in einem Bearbeitungsprogramm enthalten ist, einen Interpolationsanweisungs-Bestimmungsschritt zum Bestimmen, ob die Interpolationsanweisung, die in dem Interpolationsanweisungs-Leseschritt gelesen wird, eine Interpolationsanweisung in einem Nichtmaschinenkoordinatensystem bezüglich einer Nichtbearbeitungsoperation ist, einem ersten Ansteuerschritt zum Ansteuern eines Servomotors, der mit jeder der Bewegungsachsen zusammenhängt, gemäß der Interpolationsanweisung, wenn in dem Interpolationsanweisungs-Bestimmungsschritt bestimmt wird, dass die Interpolationsanweisung keine Interpolationsanweisung in dem Nichtmaschinenkoordinatensystem bezüglich der Nichtbearbeitungsoperation ist, und einen zweiten Ansteuerschritt zum Ansteuern eines Servomotors, der mit jeder der Bewegungsachsen zusammenhängt, wenn in dem Interpolationsanweisungs-Bestimmungsschritt bestimmt wird, dass die Interpolationsanweisung die Interpolationsanweisung in dem Nichtmaschinenkoordinatensystem bezüglich der Nichtbearbeitungsoperation ist, so dass, nachdem die Interpolationsanweisung in eine Interpolationsanweisung in einem Maschinenkoordinatensystem transformiert wird, das Werkzeug durch Interpolation von einer Startpunktkoordinate zu einer Endpunktkoordinate in der Interpolationsanweisung entlang eines linearen Weges bewegt wird.
-
In einem Verfahren zum Steuern einer numerischen Steuervorrichtung gemäß einem weiteren Aspekt der Erfindung bestimmt der Interpolationsanweisungs-Bestimmungsschritt, ob eine Koordinatensystem-Transformationsanweisung zum Transformieren der Interpolationsanweisung von einer Interpolationsanweisung in dem Nichtmaschinenkoordinatensystem in eine Interpolationsanweisung in dem Maschinenkoordinatensystem an die Interpolationsanweisung angehängt wird, die in dem Interpolationsanweisungs-Leseschritt gelesen wird.
-
Ein Systemprogramm gemäß einem Aspekt der vorliegenden Erfindung zum Ausführen durch eine zentrale Verarbeitungseinheit einer numerischen Steuervorrichtung, zum Steuern, auf Grundlage eines Bearbeitungsprogramms, einer Werkzeugmaschine mit einer Vielzahl von linearen Bewegungsachsen und zumindest einer Rotationsbewegungsachse zum Drehen eines Werktisches, zum Bearbeiten eines Werkstücks, das an dem Werktisch fixiert ist, unter Verwendung eines Werkzeugs, wobei das Systemprogramm umfasst einen Interpolationsanweisungs-Leseschritt zum Lesen einer Interpolationsanweisung, die in einem Bearbeitungsprogramm enthalten ist, einen Koordinatensystem-Transformationsanweisungs-Bestimmungsschritt zum Bestimmen, ob eine Koordinatensystem-Transformationsanweisung zum Transformieren der Interpolationsanweisung von einer Interpolationsanweisung in einem Nichtmaschinenkoordinatensystem in eine Interpolationsanweisung in einem Maschinenkoordinatensystem an die Interpolationsanweisung angehängt ist, die in dem Interpolationsanweisungs-Leseschritt gelesen wird, einen ersten Interpolationsschritt zum Erhalten, wenn der Koordinatensystem-Transformationsanweisungs-Bestimmungsschritt bestimmt, dass die Koordinatensystem-Transformationsanweisung nicht an die ausgelesene Interpolationsanweisung angehängt ist, einer ersten Bewegungsgröße, die mit jeder der Bewegungsachsen zusammenhängt, gemäß der Interpolationsanweisung, einen zweiten Interpolationsschritt zum Transformieren, wenn der Koordinatensystem-Transformationsanweisungs-Bestimmungsschritt bestimmt, dass die Koordinatensystem-Transformationsanweisung an die ausgelesene Interpolationsanweisung angehängt ist, der ausgelesenen Interpolationsanweisung in eine Interpolationsanweisung in dem Maschinenkoordinatensystem, zum Erhalten einer zweiten Bewegungsgröße, die mit jeder der Bewegungsachsen zusammenhängt, gemäß der transformieren Interpolationsanweisung, und einen Ansteuerschritt zum Ansteuern eines Servomotors, der mit jedem der Bewegungsachsen zusammenhängt, auf Grundlage der ersten Bewegungsgröße oder der zweiten Bewegungsgröße.
-
In einem Systemprogramm gemäß einem weiteren Aspekt der Erfindung führt der zweite Interpolationsschritt eine Transformation durch, von einer Startpunktkoordinate und einer Endpunktkoordinate in dem Nichtmaschinenkoordinatensystem, die in der ausgelesenen Interpolationsanweisung enthalten sind, an die eine Koordinatensystem-Transformationsanweisung angehängt ist, in eine Startpunktkoordinate bzw. eine Endpunktkoordinate in dem Maschinenkoordinatensystem.
-
In einem Systemprogramm gemäß einem weiteren Aspekt der Erfindung ist die ausgelesene Interpolationsanweisung, an die eine Koordinatensystem-Transformationsanweisung angehängt ist, eine Interpolationsanweisung in dem Nichtmaschinenkoordinatensystem bezüglich einer Nichtbearbeitungsoperation.
-
Vorteilhafter Effekt der Erfindung
-
Gemäß der vorliegenden Erfindung kann in dem Prozess, in dem ein Bearbeitungsprogramm ausgeführt wird, eine Anweisung in dem Nichtmaschinenkoordinatensystem in die des Maschinenkoordinatensystems transformiert werden; wenn daher ein Bearbeitungsprogrammentwickler ein Bearbeitungsprogramm erzeugt, muss der Endpunkt in dem Maschinenkoordinatensystem eines Blocks, der die Rotation des Werktisches anweist, nicht erhalten werden, wodurch das Bearbeitungsprogramm leicht und mit geringen Kosten erzeugt werden kann, wobei es keine Möglichkeit gibt, dass das Werkzeug von dessen Softwarebegrenzungsbereich abweicht, um sich zu bewegen und mit dessen peripheren Vorrichtungen zu interferieren.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 ist eine Ansicht zur Darstellung eines Beispiels einer fünfachsigen Bearbeitungsvorrichtung;
-
2 ist eine Ansicht zum Erläutern einer Operation einer Werkzeugmaschinenoperation mit einem herkömmlichen Bearbeitungsprogramm, Beispiel 1;
-
3 ist eine Ansicht zum Erläutern einer Operation einer Werkzeugmaschinenoperation mit einem herkömmlichen Bearbeitungsprogramm, Beispiel 2 oder einem Bearbeitungsprogrammbeispiel gemäß der vorliegenden Erfindung;
-
4 ist ein Blockdiagramm zur Darstellung einer Konfiguration einer numerischen Steuervorrichtung 40 gemäß dieser Ausführungsform; und
-
5 ist ein Flussdiagramm zur Darstellung einer Operation der numerischen Steuervorrichtung 40 gemäß dieser Ausführungsform.
-
Bezugszeichenliste
-
- 1
- Werktisch
- 2
- Werkzeug
- 3
- Werkstück
- 40
- Numerische Steuervorrichtung
- 41
- CPU
- 42
- ROM
- 43
- Bearbeitungsprogramm-Speichereinheit
- 50–54
- Bewegungsgrößen-Ausgabeeinheit(en)
- 50–64
- Servoverstärker
-
BESTER MODUS ZUM AUSFÜHREN DER ERFINDUNG
-
Eine erste Ausführungsform gemäß der vorliegenden Ausführungsform wird mit Bezug auf die 4 und die 5 erläutert. 4 ist ein Blockdiagramm zur Darstellung einer Konfiguration einer numerischen Steuervorrichtung 40 gemäß der vorliegenden Ausführungsform. 5 ist ein Flussdiagramm zur Darstellung einer Operation der numerischen Steuervorrichtung 40 gemäß der vorliegenden Ausführungsform.
-
Bezugszeichen 40 in 4 bezeichnet die numerische Steuervorrichtung. Eine CPU (engl. Central Processing Unit) 41 liest ein Systemprogramm aus, das in einem ROM (engl. Read-Only Memory) 42 gespeichert ist, über einen Bus 45, und steuert die gesamte numerische Steuervorrichtung 40 in Übereinstimmung mit dem Systemprogramm. Eine Bearbeitungsprogramm-Speichereinheit 43, die mit einem RAM (engl. Random-Access Memory) als ein Aufzeichnungsmedium konfiguriert ist, speichert das Bearbeitungsprogramm und dergleichen, die durch eine I/F-(Schnittstellen)Einheit 44 oder eine manuelle Dateneingabeeinheit 46 eingegeben werden. Die I/F-Einheit 44 ermöglicht eine Verbindung zwischen der numerischen Steuervorrichtung 40 und einer externen Vorrichtung 45, wie zum Beispiel einen FCA (engl. Fiber Cable Adapter). Die manuelle Dateneingabeeinheit 46, wie zum Beispiel eine CRT/MDI (engl. Cathode Ray Tube/Multiple Document Interface) wird mit einer Anzeigeeinheit und einer Tastatur usw. bereitgestellt.
-
Als ein Bearbeitungsprogramm muss zum Beispiel das Folgende eingegeben werden. Das folgende Bearbeitungsprogramm ist ein Beispiel einer Nichtbearbeitungsprogramm-Operationsanweisung der TCP-Steuerung, die eine Koordinatensystem-Transformationsanweisung und eine C-Achsen-Positionierungsanweisung zum Bestimmen der gegenüberliegenden Seite eines Werkstücks ausdrückt. Zur Vereinfachung der Erläuterung werden hier Bearbeitungsanweisungen für eine Schneidebearbeitungsoperation und dergleichen nicht dargestellt. Darüber hinaus wird angenommen, dass die Position der C-Achse als die Werktischrotationsachse vorab auf 0 Grad eingestellt wird.
-
Bearbeitungsprogramm, Beispiel der vorliegenden Erfindung
-
- N100 G28 XYZ: Zurückstellen zum mechanischen Ursprungpunkt N200 G54 G00 X100. Y100. Auswählen des Arbeitskoordinatensystem. Position zum Startpunkt
- N300 G43.4: Start der TCP-Steuerung
- N400 G00 C180. P1: Positionierung, Transformation des Koordinatensystems
- N500 G49: Beenden der TCP-Steuerung
-
Ein Unterschied zwischen dem „Bearbeitungsprogramm, Beispiel der vorliegenden Erfindung” und dem „Herkömmlichen Bearbeitungsprogramm, Beispiel 1” oder dem „Herkömmlichen Bearbeitungsprogramm, Beispiel 2” besteht darin, dass die Anweisung in dem N400 Block des „Herkömmlichen Bearbeitungsprogramms, Beispiel 1” „G00 C180.” ist, und die in dem N400 Block des „Herkömmlichen Bearbeitungsprogramms, Beispiel 2” „G53 X-210. Y-150. C180.”, aber die in dem N400 Block des „Bearbeitungsprogramm, Beispiel der vorliegenden Erfindung” „G00 C180. P1” ist. Gemäß dem N400 Block des „Bearbeitungsprogramms, Beispiel der vorliegenden Erfindung” arbeitet die Werkzeugmaschine wie in 3 dargestellt. Die Blöcke außer für den Block N400 sind gleich zu denen des „Herkömmlichen Bearbeitungsprogramms, Beispiel 1 und 2”.
-
In dem Block N400 des „Bearbeitungsprogramms, Beispiel der vorliegenden Erfindung” ist der Anweisungscode „P1” eine Code einer Koordinatensystem-Transformationsanweisung zum Transformieren der Anweisung in dem Nichtmaschinenkoordinatensystem in das des Maschinenkoordinatensystems. Durch den N400 Block wird der Endpunkt des C-Achse auf 180 Grad eingestellt, und die Positionierungsanweisung „G00 C180.” in dem Werktischkoordinatensystem zum Drehen der C-Achse zu dem Endpunkt wird in eine Anweisung in der Maschinenkoordinate transformiert.
-
Gemäß 4 geben Bewegungsgrößen-Ausgabeeinheiten 50–54, die jeweils mit der X-, Y-, Z-, B- und C-Achsen-Ausgabe zusammenhängen, an jeweilige Servoverstärker 60–64 Bewegungsgrößen von den gegenwärtigen Positionen des Werkzeugs 2 und des Werktisches 1 an Positionen der Interpolationspunkte aus, die durch die CPU 41 erhalten werden. Jeder der Servoverstärker 60–64, die mit jeder der Achsen zusammenhängen, rotieren in Übereinstimmung mit jeder Bewegungsgröße, die durch die Bewegungsgrößen-Ausgabeeinheiten 50–54 ausgegeben wird, jeden der Servomotoren 70–74 bezüglich jeder der Achsen. Die Servomotoren 70–74, die mit jeder Achse zusammenhängen, steuern jede der X-, X-, Z-, B- bzw. C-Achse der Werkzeugmaschine an. Die Servoverstärker 60–64, die mit den Achsen zusammenhängen, rotieren jeweilige Motoren der Achsen in Übereinstimmung mit den jeweiligen Bewegungsgrößen, die von den Bewegungsgrößen-Ausgabeeinheiten 50–54 ausgegeben werden, um die X-, Y-, Z-, B- und C-Achse der Werkzeugmaschine anzusteuern. Eine Spindelgeschwindigkeits-Ausgabeeinheit 55 gibt an einen Verstärker 65 für die Spindel eine Rotationsgeschwindigkeitsanweisung aus, die durch die CPU 41 angewiesen wird. Ein Spindelmotor 75 rotiert den Spindelmotor 75 gemäß der angewiesenen Rotationsgeschwindigkeit, die von dem Spindelverstärker 65 ausgegeben wird. Der Spindelmotor 75 rotiert eine Spindel 2a des Werkzeugs 2.
-
Als Nächstes wird eine Operation der numerischen Steuervorrichtung 40 erläutert. Die CPU 41 liest Block für Block ein Bearbeitungsprogramm aus, welches in der Bearbeitungsprogramm-Speichereinheit 43 gespeichert ist, und bestimmt dann, ob der ausgelesene Block die TCP-Steuer-Startanweisung „G43.4” umfasst oder nicht. Wenn bestimmt wird, dass es nicht die TCP-Steuer-Startanweisung „G43.4” ist, wird eine andere Steuerung als die TCP-Steuerung durchgeführt, wie zum Beispiel ein Zurückstellen zum dem Maschinenursprungspunkt, ein Positionieren zu dem Startpunkt und ein Kompensieren eines Fehlers bei der Platzierung des Werkstücks, gemäß den Anweisungen in den Blöcken, wie zum Beispiel Zurückstellen zum dem Maschinenursprungspunkt, Positionieren zu dem Startpunkt und Kompensieren eines Werkstückplatzierungsfehlers usw.
-
Wenn bestimmt wird, dass es sich um die TCP-Steuerungs-Startanweisung „G43.4” handelt, wird die Verarbeitung durchgeführt, die in der 5 dargestellt ist. 5 ist das Flussdiagramm, welches die Verarbeitung darstellt, die durchgeführt wird, nachdem die CPU 41 die TCP-Steuerungs-Startanweisung gelesen hat. Zuerst liest die CPU 41 den nächsten Block (S1) und bestimmt dann, ob der gelesene Block die TCP-Steuerungs-Beendigungsanweisung „G49” ist oder nicht (S2). Wenn bestimmt wird, dass es sich um die TCP-Steuerungs-Beendigungsanweisung „G49” handelt, wir die TCP-Steuerung beendet. Wenn bestimmt wird, dass es sich nicht um die TCP-Steuerungs-Beendigungsanweisung „G49” handelt, bestimmt die CPU, ob der gelesene Block die Koordinatensystem-Transformationsanweisung „P1” umfasst oder nicht (S3).
-
Wenn bestimmt wird, dass es sich nicht um die Koordinatensystem-Transformationsanweisung „P1” handelt, wird die TCP-Steuerung in Übereinstimmung mit der Anweisung in dem Block ohne die Transformation des Koordinatensystems (S11) durchgeführt. Als Nächstes kehrt der Prozess zu S1 zurück, und danach wird der Prozess nach S1 ausgeführt. Wenn bestimmt wird, dass es sich um die Koordinatensystem-Transformationsanweisung „P1” handelt, werden ein Startpunkt (xs, ys, zs, bs, cs) und ein Endpunkt (xe, ye, ze, be, ce) in dem Nichtmaschinenkoordinatensystem des Blocks in einen Startpunkt (Xs, Ys, Zs, Bs, Cs) bzw. einen Endpunkt (Xe, Ye, Ze, Be, Ce) in dem Maschinenkoordinatensystem transformiert (S4). Für das Verfahren zum Transformieren der Koordinate in dem Nichtmaschinenkoordinatensystem in jene in dem Maschinenkoordinatensystem kann das gleiche Verfahren wie ein herkömmliches Verfahren angewendet werden (siehe zum Beispiel Gleichungen 18–20 in Patentdokument 1).
-
Ein Verfahren zum Transformieren des Koordinatensystems in dem N400 Block des „Bearbeitungsprogramms, Beispiel der vorliegenden Erfindung” ist zum Beispiel wie folgt. Zuerst wird ein Startpunkt (100.0, 100.0, 0.0, 0.0, 0.0) in dem Werktischkoordinatensystem in einen Startpunkt (–90.0, –50.0, 0.0, 0.0, 0.0) in dem Maschinenkoordinatensystem transformiert. Als Nächstes wird ein Endpunkt (100.0, 100.0, 0.0, 0.0, 180.0) in dem Werktischkoordinatensystem in einen Endpunkt (–210, –150.0, 0.0, 0.0, 180.0) in dem Maschinenkoordinatensystem transformiert, wobei der letzte Punkt ein Punkt des Startpunkts (–90.0, –50.0, 0.0, 0.0, 0.0) in dem Maschinenkoordinatensystem ist, der um 180 Grad um die C-Achsen-Zentralposition (–150, –100.0, 0.0) in dem Maschinenkoordinatensystem rotiert wird. Durch die Anweisungen in dem N400 Block wird das Werkzeug 2 entlang des linearen Weges bewegt, der durch die dicke Pfeillinie angezeigt ist, wie in dem N400 Block des „Herkömmlichen Bearbeitungsprogramms, Beispiel 2”.
-
Auf Grundlage des erhaltenen Startpunkts (Xs, Ys, Zs, Bs, Cs) und Endpunkts (Xe, Ye, Ze, Be, Ce) in dem Maschinenkoordinatensystem wird als Nächstes durch den Block eine Blocklänge L als die gesamte Bewegungsgröße erhalten (S5). Die Blocklänge L ist eine Länge des Liniensegments, welches zwischen dem Startpunkt (Xs, Ys, Zs, Bs, Cs) und Endpunkts (Xe, Ye, Ze, Be, Ce) in dem Maschinenkoordinatensystem verbindet, welches durch die folgende Gleichung erhalten werden kann:
-
Als Nächstes wird der TCP und die Werktischposition {X(0), Y(0), Z(0), B(0), C(0)} zum Zeitpunkt t = 0 als Startpunkt (Xs, Ys, Zs, Bs, Cs) genommen und wie folgt eingestellt (S6). {X(0), Y(0), Z(0), B(0), C(0)} = (Xs, Ys, Zs, Bs, Cs)
-
Als Nächstes wird eine Position des Interpolationspunkts des TCP nach einer Interpolationsperiode Δt von der vorliegenden Zeit durch die folgenden Gleichungen für jede Interpolationsperiode Δt erhalten (S7). Die folgenden Gleichungen stellen eine Beziehung zwischen der vorliegenden Position {X(t), Y(t), Z(t), B(t), C(t)} zum gegenwärtigen Zeitpunkt t und der Position des TCP-Interpolationspunkts {X(t + 1), Y(t + 1), Z(t + 1), B(t + 1), C(t + 1)} zum Interpolationszeitpunkt t + 1 nach der Interpolationsperiode Δt von der vorliegenden Zeit t dar. F ist eine angewiesene Relativgeschwindigkeit des TCP für das Werkstück 3. X(t + 1) = F × Δt × (Xe – Xs)/L + X(t) Y(t + 1) = F × Δt × (Ye – Ys)/L + Y(t) Z(t + 1) = F × Δt × (Ze – Zs)/L + Z(t) B(t + 1) = F × Δt × (Be – Bs)/L + B(t) C(t + 1) = F × Δt × (Ce – Cs)/L + C(t)
-
Als Nächstes wird die Differenz für jede Achse als eine Bewegungsgröße in einer Periode von der vorliegenden Zeit t bis zu dem Zeitpunkt t + 1, die gemäß der obigen Gleichungen erhalten wird durch Subtrahieren der vorliegenden Position {X(t), Y(t), Z(t), B(t), C(t)} zum vorliegenden Zeitpunkt t von der Position des Interpolationspunkts {X(t + 1), Y(t + 1), Z(t + 1), B(t + 1), C(t + 1)} zum Zeitpunkt t + 1, an jeden der Servoverstärker 60–64 für jede Achse ausgegeben (S8). Als Nächstes wird die Position {X(t + 1), Y(t + 1), Z(t + 1), B(t + 1), C(t + 1)} als die gegenwärtige Position {X(t), Y(t), Z(t), B(t), C(t)} gespeichert, und es erfolgt dann eine Überprüfung, ob der TCP den Endpunkt (Xe, Ye, Ze, Be, Ce) des Blocks erreicht (S10). Zum Beispiel wird hier eine Überprüfung durchgeführt, ob die folgende Gleichung erfüllt ist. {X(t), Y(t), Z(t), B(t), C(t)} = (Xe, Ye, Ze, Be, Ce)
-
Wenn im Schritt S10 eine Bestimmung erfolgt ist, dass der TCP den Endpunkt (Xe, Ye, Ze, Be, Ce) erreicht hat, kehrt der Prozess zu S1 zurück, und es werden dann die Schritte ausgeführt, die S1 folgen.
-
Obwohl hier die Transformation von der Anweisung in dem Werktischkoordinatensystem zu dem in dem Maschinenkoordinatensystem in der TCP-Steuerung in dieser Ausführungsform erläutert wird, kann die Transformation in der TCP-Steuerung konfiguriert werden, von einer Anweisung in dem Arbeitskoordinatensystem zu dem in dem Maschinenkoordinatensystem durchgeführt zu werden. Darüber hinaus kann die Transformation der Anweisung in dem Nichtmaschinenkoordinatensystem zu der in dem Maschinenkoordinatensystem nicht nur in der TCP-Steuerung durchgeführt werden, sondern auch in jeder anderen Steuerung, wie zum Beispiel in einer Werkstück-Anbringungs-Fehler-Kompensationssteuerung, die durch eine Werkzeugmaschine durchgeführt wird, die zumindest eine Werktischrotationsachse aufweist.
-
In dieser Ausführungsform wurde „P1” als Anweisungscode zum Transformieren des Koordinatensystems verwendet; der Anweisungscode ist jedoch nicht darauf beschränkt. Zum Beispiel kann die Anweisung durch einen neuen G-Code ausgeführt werden, der konfiguriert ist, ausgeführt zu werden, durch Weitergeben einer Adresse als ein neues Argument, oder konfiguriert ist, mit Verwendung eines Parameters ausgeführt zu werden. Wenn zum Beispiel der Anweisungscode „G00” ausgeführt wird, kann die Interpolation immer derart konfiguriert sein, in dem Maschinenkoordinatensystem durchgeführt zu werden. Das heisst, dass bezüglich eines Blocks, an den „G00” als eine Anweisung in dem Maschinenkoordinatensystem gegeben wird, die Koordinatensystemtransformation nicht durchgeführt wird und die Verarbeitung gemäß der Anweisung des Blocks durchgeführt wird, während bezüglich eines Blocks, an den „G00” als eine Anweisung in dem Nichtmaschinenkoordinatensystem gegeben wird, die Anweisung in eine Anweisung in dem Maschinenkoordinatensystem transformiert wird und dann die Verarbeitung gemäß der Anweisung durchgeführt wird.
-
In dieser Ausführungsform wurde der Fall erläutert, bei dem die numerische Steuervorrichtung das Koordinatensystem transformiert, während das Bearbeitungsprogramm ausgeführt wird; nach der Koordinatensystemtransformation des eingegebenen Bearbeitungsprogramms, das vorher ausgeführt wurde, wird jedoch das Bearbeitungsprogramm gespeichert, dessen Koordinatensystem transformiert wurde, und wenn dann die Bearbeitung tatsächlich durchgeführt wird, kann das Bearbeitungsprogramm, dessen Koordinatensystem transformiert wurde, konfiguriert werden, anstelle des eingegebenen Bearbeitungsprogramms ausgeführt zu werden. Durch diese Konfiguration kann die Verarbeitung der numerischen Steuervorrichtung während der Ausführung des Bearbeitungsprogramms teilweise weggelassen werden.
-
Da gemäß dieser Ausführungsform in dem Prozess zum Ausführen eines Bearbeitungsprogramms durch die CPU der numerischen Steuervorrichtung eine Anweisung in dem Nichtmaschinenkoordinatensystem in das in dem Maschinenkoordinatensystem transformiert werden kann, wenn ein Bearbeitungsprogrammentwickler ein Bearbeitungsprogramm erzeugt, muss der Endpunkt in dem Maschinenkoordinatensystem des Blocks, in dem die Werktischrotation angewiesen wird, nicht erhalten werden; daher kann das Bearbeitungsprogramm leichter und mit geringeren Kosten erzeugt werden, wobei keine Möglichkeit entsteht, dass das Werkzeug von seinem durch die Software begrenzten Bereich abweicht, um sich zu bewegen und mit den peripheren Vorrichtungen davon zu interferieren.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-