-
HINTERGRUND DER ERFINDUNG
-
GEBIET DER ERFINDUNG
-
Die
Erfindung betrifft einen numerischen Controller zum Steuern einer
Werkzeugmaschine. Sie betrifft insbesondere einen numerischen Controller
zum Steuern von Achsen einer Werkzeugmaschine anhand von Daten,
die in einer Tabelle gespeichert sind.
-
BESCHREIBUNG DES STANDS DER TECHNIK
-
Man
kennt numerische Controller, die eine Funktion aufweisen (Bahntabellen-Betriebsfunktion), durch
die Tabellendaten (Bahntabellen), in denen die entsprechenden Positionen
von Achsen als zu steuernde Objekte abhängig von der Zeit
eingestellt werden oder die Positionen einer Welle oder Achse beim Ansteuern
der Achsen nacheinander gelesen werden, und nicht vom Befehl durch
den Block des NC-Programms. Ausgehend von dieser Bahntabellen-Betriebsfunktion
kann ein Werkzeug ohne Rücksicht auf ein Bearbeitungsprogramm
frei betätigt werden. Dadurch wird die Bearbeitungszeit
verkürzt und die Bearbeitung leistungsfähiger.
-
Ein
numerisches Steuerungsverfahren, in dem die Positionszusammenhänge
zwischen Zeit (oder Drehwinkel) und den beweglichen Achsen als numerische
Steuerungsdaten gespeichert werden, ist beispielsweise in der veröffentlichten
japanischen Patentschrift Nr. 59-177604 offenbart,
die als nächster Stand der Technik gelten kann. Die Zeit
(oder der Drehwinkel) werden überwacht, und die numerischen Steuerungsdaten,
die der Zeit (oder dem Drehwinkel) zugeordnet sind, werden an die
beweglichen Achsen ausgegeben, und zwar immer dann, wenn die Zeit (oder
der Drehwinkel) einen Zeitpunkt (oder einen Drehwinkel) erreicht,
der durch die numerischen Steuerungsdaten angewiesen wird.
-
Zudem
ist ein numerischer Controller, der mit einer Datentabelle zum Speichern
von Befehlspositionen von X- und A-Achsen ausgestattet ist, die
mit einer Referenzposition verglichen werden, in der veröffentlichten
japanischen Patentschrift Nr. 2003-303005 offenbart.
Die Referenzposition erhält man durch Multiplizieren eines
Werts in einem Zähler, der Referenzimpulse zählt,
mit einem Korrekturwert. Ausgehend von dieser erhaltenen Referenzposition
werden die Befehlspositionen der X- und Z-Achsen, die in der Datentabelle
hinterlegt sind, zum Steuern der X- und Z-Achsen synchron ausgegeben.
Geht man so vor, kann eine Korrektur auch dadurch erfolgen, dass
der Antrieb abhängig von den Daten gesteuert wird, die
in der Datentabelle gespeichert sind. Zudem kann man einen Befehl
ausgeben, etwa den, die Befehlspositionen durch eine gerade Linie
oder eine quadratische Kurve oder eine kubische Kurve zu verbinden,
und man kann zusätzlich erlauben, dass eine Hilfsfunktion
angewiesen wird.
-
Im
Fall einer großen Portalmaschine, die in 1 dargestellt
ist, bei der ein Portal über die X- und A-Achsen angetrieben
wird, werden diese Achsen so gesteuert, dass sie mit dem gleichen
Wegmuster arbeiten. Beim Betrieb der großen Portalmaschine
ausgehend von Tabellendaten (Bahntabellen) ist es erforderlich,
Bahntabellen für die X-Achse und die A-Achse jeweils getrennt
bereitzustellen, obwohl die Bahntabellen die gleichen Inhalte aufweisen.
-
Bei
einem Betrieb, der wie beschrieben auf herkömmlichen Tabellendaten
(Bahntabellen) beruht, ist es erforderlich, die Tabellendaten für
jede bewegliche Achse zu erzeugen. Die Tabellendaten enthalten die
jeweiligen Positionen der beweglichen Achsen abhängig von
der Zeit oder die Position einer Achse (oder Welle) sowie die Namen
der beweglichen Achsen. Ein Speicher in dem numerischen Controller
sollte vorab mit den erzeugten Tabellendaten geladen werden.
-
Daher
müssen beispielsweise auch im Fall von 1,
in dem die beweglichen Achsen (X- und A-Achse) so gesteuert werden,
dass sie das gleiche Wegmuster aufweisen (siehe 2 und 3),
die Tabellendaten (Bahntabellen), die die jeweiligen Positionen
der beweglichen Achsen abhängig von der Zeit enthalten
oder die Position einer Achse (oder Welle), und die sich nur im
Namen der Achse unterscheiden, jeweils einzeln für die
X- und A-Achse erzeugt werden (siehe 4 und 5).
-
6 zeigt
ein Beispiel eines NC-Programms zum Starten von Tabellendaten (Bahntabellen).
-
In 6 stellt ”M700” eines
Blocks ”M700Q1000” einen M-Code zum Starten einer Bahntabellenoperation
dar. ”Q1000” stellt jede tausendste Bahntabelle
dar. Wird ein Befehl aus ”M700Q1000” ausgeführt,
so werden eine tausendste Bahntabelle (4) für
die X-Achse und eine tausendste Bahntabelle (5) für
die A-Achse gestartet, damit die X-Achse und die A-Achse betrieben werden.
-
4 zeigt
ein Beispiel einer Bahntabelle für die X-Achse. ”1000_X” in
dieser Bahntabelle stellt die tausendste Bahntabelle für
die X-Achse dar. Somit werden in diesem Beispiel die tausendste
Bahntabelle und die ”X-Achse” als gesteuerte Achse
ein ander zugeordnet. Zudem wird die ”Position” der
X-Achse als der gesteuerten Achse mit einem ”Referenzwert” für
die Zeit oder die Position einer Referenzwelle korreliert.
-
5 zeigt
ein Beispiel einer Bahntabelle für die A-Achse. In dieser
Bahntabelle stellt ”1000_A” die tausendste Bahntabelle
für die A-Achse dar. Somit werden in diesem Beispiel die
tausendste Bahntabelle und die ”A-Achse” als gesteuerte
Achse einander zugeordnet. Zudem wird die ”Position” der
A-Achse als der gesteuerten Achse mit einem ”Referenzwert” für
die Zeit oder die Position einer Referenzwelle korreliert.
-
Die
Daten ”Referenzwert” und ”Position” in der
Bahntabelle für die A-Achse in 5 unterscheiden
sich nicht von den Daten in der Bahntabelle für die X-Achse
in 4. Damit müssen die beiden identischen
Tabellendaten (Bahntabellen) im Speicher des numerischen Controllers
abgelegt werden, wodurch die Speicherkapazität für
die Speicherung unvermeidbar zunimmt.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Daher
werden in der Erfindung Tabellendaten (Bahntabellen) zum Betreiben
einer beliebigen nicht zugewiesenen Achse vorab erzeugt, damit sich mehrere
beliebige Achsen die Tabellendaten teilen können. Hierdurch
wird eine Zunahme der Kapazität zum Speichern derartiger
Tabellendaten (Bahntabellen) vermieden.
-
Ein
numerischer Controller der Erfindung umfasst: eine Speichervorrichtung
zum Ablegen von Tabellendaten, in dem bewirkt wird, dass eine Position
einer Welle oder einer Achse als zu steuerndes Objekt einem Referenzwert
zugeordnet ist, der aus der Zeit oder der Position einer Referenzwelle
oder Achse besteht; und eine Lesevorrichtung, die nacheinander einen
Referenzwert in den Tabellendaten und eine Position der Welle oder
der Achse als zu steuerndes Objekt liest, die dem Referenzwert aus
der Speichervorrichtung zugeordnet ist, wobei der Controller die
Position der Welle oder der Achse als zu steuerndes Objekt abhängig
von dem Referenzwert steuert, den die Lesevorrichtung liest. In
der Erfindung sind die in der Speichervorrichtung abgelegten Tabellendaten
so konfiguriert, dass sie auf beliebigen Achsen arbeiten. Der numerische
Controller umfasst zudem ein Zuweisungsmittel, das die zu betreibende Achse
abhängig von den Tabellendaten zuweist, und eine Startvorrichtung,
die die Tabellendaten startet, die in der Speichervorrichtung abgelegt
sind. Dadurch wird der Betrieb der Achse bewirkt, die das Zuweisungsmittel
zugeordnet hat.
-
Die
Startvorrichtung kann ein NC-Programmbefehl sein, eine Signaleingabe
oder ein Befehl für einige weitere Tabellendaten. Zudem
kann das Zuweisungsmittel ein NC-Programmbefehl sein, eine Signaleingabe
oder ein Befehl für die weiteren Tabellendaten, die die
Startvorrichtung bilden.
-
Gemäß der
Erfindung werden die Tabellendaten (Bahntabellen) zum Betreiben
einer beliebigen Achse erzeugt und von mehreren Achsen gemeinsam
verwendet, die der numerische Controller steuern muss. Dadurch kann
die Kapazität für Tabellendaten, die in einem
Speicher des numerischen Controllers abgelegt werden müssen,
verringert werden.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die
oben dargestellten Aufgaben und Merkmale der Erfindung sowie weitere
Aufgaben und Merkmale gehen aus der folgenden Beschreibung von Ausführungsformen
anhand der beiliegenden Zeichnungen hervor. Es zeigt:
-
1 eine
Skizze einer großen Portalmaschine, die nahelegt, dass
die Bahntabellen für die X- und A-Achse das gleiche Wegmuster
aufweisen, wenn das Portal mit der X- und der A-Achse angesteuert
wird;
-
2 eine
Skizze des Zusammenhangs zwischen einem Referenzwert und einer Position
X;
-
3 eine
Skizze des Zusammenhangs zwischen dem Referenzwert und einer Position
A;
-
4 eine
Skizze einer Bahntabelle für die X-Achse;
-
5 eine
Skizze einer Bahntabelle für die A-Achse;
-
6 ein
Beispiel eines NC-Programms zum Starten einer Bahntabelle gemäß dem
Stand der Technik;
-
7 ein
Blockdiagramm, das die wesentlichen Teile einer Ausführungsform
eines numerischen Controllers der Erfindung darstellt;
-
8 eine
Skizze eines herkömmlichen Controllers, der mit Tabellendaten
für jede Achse (X-Achse und A-Achse) ausgestattet ist,
die die zu steuernden Objekte sind;
-
9 eine
Skizze des numerischen Controllers der Erfindung, der mit einem
Satz gemeinsamer Tabellendaten (für das Betreiben einer
beliebigen Achse ohne Achsenzuordnung) für mehrere Achsen (X-Achse
und A-Achse) ausgestattet ist, die die zu steuernden Objekte sind;
-
10 ein
Flussdiagramm eines Verarbeitungsalgorithmus zum Setzen eines Startflags
für den Bahntabellenbetrieb für jede Achse;
-
11 ein
Flussdiagramm, das die X-Achsen-Interpolationsverarbeitung mit Hilfe
der Tabellendaten aus 9 erläutert;
-
12 ein
Flussdiagramm, das die A-Achsen-Interpolationsverarbeitung mit Hilfe
der Tabellendaten aus 9 erläutert;
-
13 Tabellendaten
(Bahntabellen) zum Betreiben einer beliebigen Achse ohne Achsenzuordnung,
die im numerischen Controller der Erfindung abgelegt sind;
-
14 ein
Beispiel eines NC-Programms zum Starten der Tabellendaten (Bahntabellen)
für den Betrieb einer beliebigen Achse ohne Achsenzuordnung;
-
15 ein
Beispiel eines Signals zum Starten einer Bahntabelle für
den Betrieb einer beliebigen Achse;
-
16 ein
Beispiel eines Signals zum Zuweisen der Bahntabelle für
den Betrieb einer beliebigen Achse;
-
17 eine
Skizze, die den Zusammenhang zwischen Bahntabellennummern und dem
Signal zum Zuweisen der Bahntabelle für den Betrieb einer beliebigen
Achse darstellt;
-
18 ein
Beispiel eines Signals zum Zuweisen einer Achsennummer an eine Bahntabelle
für den Betrieb einer beliebigen Achse;
-
19 eine
Skizze, die die Zuordnung zwischen Achsennummern von zu betreibenden
Achsen und dem Signal zum Zuweisen der Achsennummern darstellt;
und
-
20 eine
Skizze einer weiteren Bahntabelle zum Starten der Bahntabelle für
den Betrieb einer beliebigen Achse und zum Zuweisen von Achsen,
die mit der gestarteten Bahntabelle betrieben werden sollen.
-
AUSFÜHRLICHE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
7 zeigt
ein Blockdiagramm, das die wesentlichen Teile einer Ausführungsform
eines numerischen Controllers 10 der Erfindung zum Ansteuern einer
Werkzeugmaschine darstellt, wobei der Controller Tabellendaten zum
Betreiben beliebiger Achsen aufweist.
-
Eine
CPU 11 liest über einen Bus 20 ein Systemprogramm
aus einem ROM 12, und sie steuert den gesamten numerischen
Controller abhängig von dem gele senen Systemprogramm. Ein
RAM 13 wird mit temporären Berechnungsdaten, Anzeigedaten und
diversen Daten geladen, die eine Bedienperson über eine
Flüssigkristallanzeige mit manueller Dateneingabeeinheit
(LCD/MDI-Einheit) 70 eingibt. Ein SRAM 14 ist
als nichtflüchtiger Speicher aufgebaut, der von einer Batterie
(nicht dargestellt) gestützt wird, wodurch er seinen Speicherstatus
auch nach dem Abschalten des numerischen Controllers 10 beibehalten
kann. Im SRAM 14 werden Bearbeitungsprogramme gespeichert,
die über eine Schnittstelle 15 gelesen werden,
Bearbeitungsprogramme, die über die LCD/MDI-Einheit 70 eingegeben
werden, usw. Ferner wird das SRAM 14 vorab mit den oben
genannten Tabellendaten zum Betreiben beliebiger Achsen geladen.
Weiterhin wird das ROM 12 vorab mit verschiedenen Systemprogrammen
geladen, die eine Editiermodusverarbeitung erlauben, die man zum
Erzeugen und Editieren der Bearbeitungsprogramme und die Verarbeitung
für einen automatischen Betrieb benötigt.
-
Die
Schnittstelle 15 ermöglicht die Verbindung zwischen
dem numerischen Controller 10 und äußeren
Vorrichtungen. Ein programmierbarer Maschinencontroller 16 (PMC)
gibt über eine Eingabe/Ausgabe-Einheit 17 ein
Signal an eine Hilfsvorrichtung der Werkzeugmaschine aus, und zwar
mit einem im numerischen Controller 10 abgelegten Folgeprogramm,
wodurch die Hilfsvorrichtung gesteuert wird. Zudem empfängt
der PMC 16 Signale von verschiedenen Schaltern auf einer
Steuertafel des Hauptkörpers der Werkzeugmaschine und verarbeitet
dieses geeignet. Anschließend liefert er die verarbeiteten
Signale an die CPU 11. Die LCD/MDI-Einheit 70 ist
eine manuelle Dateneingabeeinheit, die mit einer Anzeige und einer
Tastatur ausgestattet ist. Eine Schnittstelle 18 empfängt
Befehle und Daten von der Tastatur der LCD/MDI-Einheit 70 und
liefert sie an die CPU 11. Eine Schnittstelle 19 ist
an eine Steuertafel 71 angeschlossen und empfängt
verschiedene Befehle von der Steuertafel 71.
-
Beim
Empfang von Bewegungsbefehlen für einzelne Achsen von der
CPU 11 geben die Servosteuerabschnitte 30 und 31 für
die Achsen jeweils Befehle an die Servoverstärker 40 und 41 aus.
Als Reaktion auf diese Befehle steuern die Servoverstärker 40 und 41 jeweils
die Servomotoren 5x und 5a für die Achsen
an. Die Servomotoren 5x und 5a enthalten jeweils
für sich Positions/Geschwindigkeits-Detektoren (nicht dargestellt)
und speisen Positions- und Geschwindigkeits-Rückführsignale
von den Positions/Geschwindigkeits-Detektoren jeweils in die Servosteuerabschnitte 30 und 31 zurück.
Dadurch erfolgt die Positions- und Geschwindigkeitsregelung. In 7 ist
die Anordnung für die Positions- und Geschwindigkeitsrückführung
auf die Servosteuerabschnitte 30 und 31 nicht
dargestellt.
-
Beim
Empfang eines Wellenbefehls gibt ein Wellensteuerabschnitt 60 ein
Wellengeschwindigkeitssignal an einen Wellenverstärker 61 aus.
Nach dem Empfang des Wellengeschwindigkeitssignals versetzt der
Wellenverstärker 61 einen Wellenmotor 62 in
Drehung, damit eine Welle mit einer befohlenen Drehzahl angetrieben
wird. Die Drehzahlregelung erfolgt dadurch, dass ein Positionsdetektor 63 Rückführimpulse
(Referenzimpulse) und ein Signal für eine Umdrehung synchron
zur Wellendrehung auf den Wellensteuerabschnitt 60 zurückführt.
Die CPU 11 liest die Rückführimpulse
und das Signal für eine Umdrehung über den Wellensteuerabschnitt 60.
Ein Zähler (nicht dargestellt) im RAM 13 zählt
die Rückführimpulse (Referenzimpulse). In einigen
Fällen kann der Zähler so konfiguriert sein, dass
er anstelle der Rückführimpulse Wellenbefehlsimpulse
zählt. Obwohl 7 die A- und die X-Achse als
die Achsen darstellt, die der numerische Controller 10 zu
steuern hat, können natürlich auch andere Achsen
ebenso gesteuert werden.
-
Zum
besseren Verständnis der Erfindung wird nun der Betrieb
mit einer herkömmlichen Bahntabelle anhand von 8 im Überblick
beschrieben. Im Bahntabellenbetrieb wird die Werkzeugmaschine abhängig
von Tabellendaten betrieben, die einzeln für jede Achse
eines Steuerobjekts angefertigt werden.
-
In
einem numerischen Controller, der den Bahntabellenbetrieb ausführt,
sind in einem Speicher eine Bahntabelle Tx für die X-Achse
und eine Bahntabelle Ta für die A-Achse abgelegt. Die Bahntabellen Tx
und Ta für die X- und die A-Achse, siehe 2 und 3,
sind durch Tabellenkurven ausgedrückt, in denen auf der
Abszisse Referenzwerte aufgetragen sind (die Zeit oder die Position
einer Referenzwelle), und auf der Ordinate die Positionen der X-
bzw. A-Achse. Die Befehlspositionen X0, X1, X2, ... der X- und A-Achse,
siehe beispielsweise 4 oder 5, sind
gemäß den Referenzwerten 10, L1, L2,
... eingestellt.
-
In
einen Zähler 1, der in 8 dargestellt
ist, werden Ausgabeimpulse eines Positionsdetektors, der an der
Welle montiert ist, Befehlsimpulse für die Welle oder zeitabhängige
Impulse aus einem externen Impulsgenerator eingegeben und von ihm
gezählt. Der sich ergebende Zählerstand des Zählers 1 wird
mit einem Faktor multipliziert, der zu Korrekturzwecken von einem
Multiplizierer 2 eingestellt wird. Das entstehende Produkt
wird in einen Referenzwertzähler 3 geladen. Der
Referenzwertzähler 3 wird zurückgesetzt,
wenn eine Bahntabellen-Betriebsfunktion angewiesen wird oder als
Antwort auf das erste Signal für eine Umdrehung von einer
Referenzachse nach dem Anweisen der Bahntabellen-Betriebsfunktion.
-
Die
Zählerstände des Referenzwertzählers 3 werden
jeweils als ”Referenzwerte” in Bahntabellenbetriebs-Interpolationsabschnitte 4x und 4a eingegeben.
Daraufhin erhält man die Positionen der X- und A-Achse,
die den eingegebenen ”Referenzwerten” entsprechen,
als Befehlspositionen bezüglich der Bahntabellen Tx und
Ta für die X- und die A-Achse. Die Größe
der Bewegung für eine Verarbeitungsperiode erhält
man abhängig von den derart gewonnenen Befehlspositionen.
Die erhaltene Größe der Bewegung wird als Befehl
an Verstärker der Motoren 5x und 5a für
die Steuerachsen (die X- und die A-Achse) ausgegeben. Auf diese
Weise werden die X- und die A-Achse abhängig von den Referenzwerten
(Zeit oder Wellenpositionen) synchron betrieben.
-
Anhand
von 9 wird nun der numerische Controller der Erfindung
beschrieben, der die Tabellendaten für den Betrieb beliebiger
Achsen aufweist. Gleiche Elemente in 8 und 9 werden
mit gleichen Bezugszeichen bezeichnet.
-
9 zeigt
ein Beispiel für den numerischen Controller, in dem Tabellendaten
verwendet werden, die durch eine Zahl (d. h. N) spezifiziert sind
und nicht durch den Namen einer jeden Achse des Steuerobjekts, und
die gemeinsam für die Bewegungssteuerung der X- und der
A-Achse verwendet werden.
-
Die
A- und die X-Achse, siehe 1, arbeiten
synchron mit dem gleichen Muster. Daher wird erwartet, dass die
Tabellendaten für den Betrieb der X-Achse gemeinsam mit
den Tabellendaten für den Betrieb der A-Achse verwendet
werden. In diesem Fall werden die N-ten Tabellendaten gemeinsam
für die X- und die A-Achse verwendet. Die N-ten Tabellendaten,
siehe beispielsweise 13, sind eine Bahntabelle für
den Betrieb beliebiger Achsen, d. h. keine zugewiesenen Daten, und
sie sind durch eine Bahntabellennummer spezifiziert (z. B. 3).
-
In
einen Zähler 1 werden Ausgabeimpulse eines Positionsdetektors,
der an der Welle montiert ist, Befehlsimpulse für die Welle
oder zeitabhängige Impulse aus einem externen Impulsgenerator
eingegeben und von ihm gezählt. Der sich ergebende Zählerstand
des Zählers 1 wird mit einem Faktor multipliziert,
der zu Korrekturzwecken von einem Multiplizierer 2 eingestellt
wird. Das entstehende Produkt wird in einen Referenzwertzähler 3 geladen.
-
Die
Zählerstände des Referenzwertzählers 3 werden
jeweils einzeln als ”Referenzwerte” in Bahntabellenbetriebs-Interpolationsabschnitte 4x und 4a eingegeben.
Daraufhin erhält man die Positionen der X- und A-Achse,
die den eingegebenen ”Referenzwerten” entsprechen,
als Befehlspositionen bezüglich der N-ten Tabellendaten.
Eine Größe der Bewegung für eine Verarbeitungsperiode
erhält man abhängig von den derart gewonnenen
Befehlspositionen. Die erhaltene Größe der Bewegung
wird als Befehl an Verstärker der Motoren 5x und 5a für
die Steuerachsen (die X- und die A-Achse) ausgegeben. Auf diese
Weise werden die X- und die A-Achse abhängig von den Referenzwerten
(Zeit oder die Position einer Referenzwelle) synchron betrieben.
-
Anhand
von 10, 11 und 12 wird nun
die Verarbeitung durch den numerischen Controller der Erfindung
beschrieben, und zwar einschließlich der Bahntabellen-Interpolationsverarbeitung
in 7, die für jede vorbestimmte Periode
ausgeführt wird. Es folgt die Beschreibung eines Falls,
in dem die Achsen (beliebige Achsen), die abhängig von
Tabellendaten ohne Achsenzuordnung betrieben werden, die X- und
die A-Achse sind.
-
10 zeigt
einen Verarbeitungsalgorithmus zum Setzen eines Startflags für
den Bahntabellenbetrieb für jede Achse. Es folgt eine Beschreibung der
Schritte dieser Verarbeitung. In der Erfindung wird ein NC-Programmbefehl,
ein Befehl, der durch ein externes Signal ausgelöst wird
oder ein Befehl, der auf Tabellendaten beruht, als Tabellendaten-Betriebsstartbefehl
für jede Achse verwendet. Der NC-Programmbefehl und der
Befehl, der durch das externes Signal ausgelöst wird, werden
anhand von 10 beschrieben. Zudem wird der
Befehl, der auf den Tabellendaten beruht, anhand von 11 und 12 beschrieben.
-
Bei
der Verarbeitung nach 10 stellt die CPU 11 zuerst
fest, ob der Bahntabellen-Betriebsbefehl, der durch das externe
Signal ausgelöst wird, ausgegeben wird (Schritt S1). Wird
der Bahntabellen-Betriebsbefehl nicht ausgegeben, wird ein Block eines
NC-Programms gelesen (Schritt S2). Anschließend wird festgestellt,
ob der gelesene Block der Bahntabellen-Betriebsbefehl ist (Schritt
S3). Trifft dies nicht zu, wird ein Befehl für den Block
ausgeführt (Schritt S6).
-
Stellt
sich dagegen heraus, dass der Bahntabellen-Betriebsbefehl, der durch
das externe Signal ausgelöst wird, ausgegeben ist (JA in
Schritt S1) oder dass der gelesene Block der Bahntabellen-Betriebsbefehl
ist (JA in Schritt S3), so wird ein Bahntabellen-Startflag für
die befohlene Achse auf 1 gesetzt (Schritt S4), und die Nummer einer
Bahntabelle, die durch den Bahntabellen-Betriebsbefehl befohlen
und gestartet ist, wird nun in ein Register geladen (Schritt S5).
-
11 zeigt
ein Flussdiagramm, das die X-Achsen-Interpolationsverarbeitung erläutert,
die der Bahntabellenbetriebs-Interpolationsabschnitt 4x des
numerischen Controllers in 9 vornimmt.
-
Die
CPU 11 ermittelt zuerst, ob das Flag zum Starten der Bahntabellenoperation
für die X-Achse auf 1 gesetzt ist (Schritt SX1). Ist das
Flag nicht auf 1 gesetzt, so wird der Bahntabellenbetrieb beendet.
Ist das Flag auf 1 gesetzt, so wird ein Referenzwert L (die Zeit
oder die Position einer Referenzwelle) gelesen, der nacheinander
aktualisiert wird (Schritt SX2). Beim Starten der Bahntabelle wird
der Referenzwert L zurückgesetzt (siehe ”ZURÜCKSETZEN” des
Referenzwertzählers 3 in 9).
-
Anschließend
werden ein Befehlsreferenzwert (befohlene Zeit oder Wellenposition)
und Befehlspositionsdaten aus der Bahntabelle gelesen (Schritt SX3).
Nun wird festgestellt, ob ein Befehlsreferenzwert vorliegt (Schritt
SX4). Trifft dies nicht zu, so wird das Bahntabellen-Startflag für
die X-Achse auf 0 gesetzt (Schritt SX10) und die Bahntabellenoperation
beendet. Ist dagegen ein Befehlsreferenzwert vorhanden, so wird
festgestellt, ob der Befehl ein Befehl zum Starten der Bahntabelle
ist, damit eine beliebige Achse gemäß dem Befehlsreferenzwert
bewegt wird (Schritt SX5).
-
Stellt
sich im Schritt SX5 heraus, dass der Befehl ein Befehl zum Starten
der Bahntabelle ist, so wird das Bahntabellen-Startflag für
die Achse, die mit der Bahntabelle zu bearbeiten ist, auf 1 gesetzt,
und die Nummer der zu startenden Bahntabelle wird gesichert (Schritt
SX6). Daraufhin schreitet die Prozedur zum Schritt SX7 fort. Ist
dagegen der Befehl nicht der Befehl zum Starten der Bahntabelle,
so geht die Prozedur direkt zum Schritt SX7.
-
Im
Schritt SX7 erfolgt die Bahntabellen-Interpolationsverarbeitung
mit Hilfe von Daten aus der zugewiesenen Bahntabelle. Als Ergebnis
der Verarbeitung wird ein Move-Befehl an seinen zugehörigen Servosteuerabschnitt
ausgegeben (7). Nun wird der Referenzwert
L gelesen (Schritt SX8), und es wird festgestellt, ob der vorher
im Schritt SX3 gelesene Referenzwert (L1, L2, ...) vom gelesenen
Referenzwert L erreicht wird (Schritt SX9). Wird der Befehlsreferenzwert
nicht erreicht, so wird die Verarbeitung in den Schritten SX7, SX8,
SX9 und SX7 für jede vorbestimmte Periode wiederholt ausgeführt. Wird
dagegen der Befehlsreferenzwert erreicht, so kehrt die Prozedur
zum Schritt SX3 zurück, und die Verarbeitung der nachfolgenden
Schritte wird fortgesetzt.
-
In
den folgenden vier Fällen wird festgestellt, dass das Bahntabellen-Startflag
zum Starten der Bahntabellenverarbeitung für die X-Achse
im Schritt SX1 auf 1 gesetzt wird:
- (1) der
Fall, dass – wie im Fall eines herkömmlichen Bahntabellenbetriebs – ein
Befehl zum Starten der Bahntabelle für die X-Achse (Tabellendaten
Tx) ausgegeben wird;
- (2) der Fall, dass ein Befehl zum Starten der Bahntabelle (Tabellendaten)
zum Betreiben einer beliebigen Achse mit dem NC-Programmbefehl ausgegeben
wird, und dass die X-Achse als Achse zugewiesen wird, die anhand
dieser Bahntabelle betrieben werden soll;
- (3) der Fall, dass ein Befehl zum Starten der Tabellendaten
zum Betreiben einer beliebigen Achse abhängig von einem
Signal ausgegeben wird, und dass die X-Achse als Achse zugewiesen
wird, die anhand dieser Tabellendaten (Bahntabelle) betrieben werden
soll; und
- (4) der Fall, dass ein Befehl zum Starten der Bahntabelle (Tabellendaten)
zum Betreiben einer beliebigen Achse gemäß der
Bahntabelle für die A-Achse (Tabellendaten Ta) ausgegeben
wird, und dass die X-Achse als Achse zugewiesen wird, die anhand
dieser angewiesenen Bahntabelle betrieben werden soll.
-
12 zeigt
ein Flussdiagramm, das die A-Achsen-Interpolationsverarbeitung in 9 erläutert.
-
Die
CPU 11 prüft zuerst, ob das Flag zum Starten des
Bahntabellenbetriebs für die A-Achse auf 1 gesetzt ist
(Schritt SA1). Ist das Flag nicht auf 1 gesetzt, so wird der Bahntabellenbetrieb
beendet. Ist das Flag auf 1 gesetzt, so wird der Referenzwert L (die
Zeit oder die Position einer Referenzwelle) gelesen, der nacheinander
aktualisiert wird (Schritt SA2). Beim Starten der Bahntabelle wird
der Referenzwert L zurückgesetzt (siehe ”ZURÜCKSETZEN” des
Referenzwertzählers 3 in 9).
-
Anschließend
werden ein Befehlsreferenzwert (befohlene Zeit oder Wellenposition)
und Befehlspositionsdaten aus der Bahntabelle gelesen (Schritt SA3).
Nun wird festgestellt, ob ein Befehlsreferenzwert vorliegt (Schritt
SA4). Trifft dies nicht zu, so wird das Bahntabellen-Startflag für
die A-Achse auf 0 gesetzt (Schritt SA10) und die Bahntabellenoperation
beendet. Ist dagegen ein Befehlsreferenzwert vorhanden, so wird
festgestellt, ob der Befehl ein Befehl zum Starten der Bahntabelle
ist, damit eine beliebige Achse gemäß dem Befehlsreferenzwert
bewegt wird (Schritt SA5).
-
Stellt
sich im Schritt SA5 heraus, dass der Befehl ein Befehl zum Starten
der Bahntabelle ist, so wird das Bahntabellen-Startflag für
die Achse, die mit der Bahntabelle zu bearbeiten ist, auf 1 gesetzt,
und die Nummer der zu startenden Bahntabelle wird gesichert (Schritt
SA6). Daraufhin schreitet die Prozedur zum Schritt SA7 fort. Ist
dagegen der Befehl nicht der Befehl zum Starten der Bahntabelle,
so geht die Prozedur direkt zum Schritt SA7.
-
Im
Schritt SA7 erfolgt die Bahntabellen-Interpolationsverarbeitung
mit Hilfe von Daten aus der zugewiesenen Bahntabelle. Als Ergebnis
der Verarbeitung wird ein Move-Befehl an den zugehörigen
Servosteuerabschnitt ausgegeben (7). Nun
wird der Referenzwert L gelesen (Schritt SA8), und es wird festgestellt,
ob der vorher im Schritt SA3 gelesene Referenzwert (L1, L2, ...)
vom gelesenen Referenzwert L erreicht wird (Schritt SA9). Wird der
Befehlsreferenzwert nicht erreicht, so wird die Verarbeitung in den
Schritten SA7, SA8, SA9 und SA7 für jede vorbestimmte Periode
wiederholt ausgeführt. Wird dagegen der Befehlsreferenzwert
erreicht, so kehrt die Prozedur zum Schritt SA3 zurück,
und die Verarbeitung der nachfolgenden Schritte wird fortgesetzt.
-
In
den folgenden vier Fällen wird festgestellt, dass das Bahntabellen-Startflag
zum Starten der Bahntabellenverarbeitung für die A-Achse
im Schritt SM auf 1 gesetzt wird:
- (1) der Fall,
dass – wie im Fall eines herkömmlichen Bahntabellenbetriebs – ein
Befehl zum Starten der Bahntabelle für die A-Achse (Tabellendaten
Ta) ausgegeben wird;
- (2) der Fall, dass ein Befehl zum Starten der Bahntabelle (Tabellendaten)
zum Betreiben einer beliebigen Achse mit dem NC-Programmbefehl ausgegeben
wird, und dass die A-Achse als Achse zugewiesen wird, die anhand
dieser Bahntabelle betrieben werden soll;
- (3) der Fall, dass ein Befehl zum Starten der Tabellendaten
zum Betreiben einer beliebigen Achse abhängig von einem
Signal ausgegeben wird, und dass die A-Achse als Achse zugewiesen
wird, die anhand dieser Tabellendaten (Bahntabelle) betrieben werden
soll; und
- (4) der Fall, dass ein Befehl zum Starten der Bahntabelle (Tabellendaten)
zum Betreiben einer beliebigen Achse gemäß der
Bahntabelle für die X-Achse (Tabellendaten Tx) ausgegeben
wird, und dass die A-Achse als Achse zugewiesen wird, die anhand
dieser angewiesenen Bahntabelle betrieben wird.
-
Ein
Satz Tabellendaten, siehe 13, zum Betreiben
einer beliebigen Achse ohne Achsenzuordnung wird erzeugt, und eine
gewünschte (beliebige) Achse wird ausgehend von den erzeugten
Tabellendaten betrieben. In den in 13 dargestellten Tabellendaten
zeigt ”3” an, dass es sich um die dritten Tabellendaten
handelt. Die Tabellendaten werden also durch eine Nummer spezifiziert,
beispielsweise eine 3, und nicht durch den Achsennamen, beispielsweise
X oder A, wie in 4 oder 5. Man kann die
Speicherkapazität zum Ablegen von Bahntabellen verringern,
indem man die Bahntabellen ohne Achsenzuordnung wie in 13 dargestellt
gemeinsam für mehrere beliebige Achsen verwendet.
-
Die
Tabellendaten für den Betrieb der beliebigen Achse ohne
Achsenzuordnung nach 13 kann man mit dem NC-Programm
in 14 starten.
-
In
einem Befehlsblock ”M800Q3R12” des in 14 dargestellten
NC-Programms stellt ”M800” einen M-Code zum Starten
des Bahntabellenbetriebs dar. ”Q” bezeichnet den
Gebrauch der dritten Bahntabelle. ”R12” gibt an,
dass die Steuerachsen die X-Achse (erste Achse) und die A-Achse
(zweite Achse) sind. R1 wird für den Betrieb der X-Achse
befohlen, und R2 für den Betrieb der A-Achse. Mit diesem NC-Programm wird
daher die dritte Bahntabelle (13) zum
Betreiben beliebiger Achsen gestartet, wenn der Befehl ”M800Q3R12” ausgeführt
wird. Daraufhin werden die X-Achse und die A-Achse betrieben.
-
Es
folgt eine Beschreibung eines Falls, in dem der anhand von 11 oder 12 beschriebene
Bahntabellenbetrieb anhand der in 13 dargestellten
Bahntabelle und des in 14 gezeigten NC-Programms erfolgt.
-
Die
CPU 11 führt Befehle für Blöcke
des in 14 dargestellten Bearbeitungsprogramms
gemäß der Verarbeitung aus, die in dem Flussdiagramm
in 10 gezeigt ist (Schritt S6). Nun liest die CPU 11 den
Block ”M800Q3R12” des Bearbeitungsprogramms (Schritt
S2), entnimmt dem gelesenen Block, dass es sich um einen Befehl
für einen Bahntabellenbetrieb handelt (Schritt S3) und
setzt die Bahntabellen-Startflags für die befohlenen Achsen (in
diesem Fall die X-Achse und die A-Achse) auf den Wert 1 (Schritt
S4). Anschließend wird die Nummer (in diesem Fall 3) der
gestarteten Bahntabelle gesichert (Schritt S5).
-
Nun
wird der Befehlsreferenzwert L0 (die Zeit oder die Wellenposition)
gelesen, und die Befehlsposition X0, die dem Befehlsreferenzwert
L0 zugeordnet ist, wird gelesen (Schritt SX3 des Flussdiagramms
in 11). Da der Befehlsreferenzwert (= 10) somit vorhanden
ist, schreitet die Prozedur in der angegebenen Reihenfolge zu den
Schritten SX4, SX5 und SX7 fort. Daraufhin erfolgt die Interpolationsverarbeitung.
-
Wird
der Schritt SX7 zum ersten Mal erreicht, so sind weder der folgende
Befehlsreferenzwert für die Interpolationsverarbeitung
noch die folgenden Befehlspositionsdaten gelesen, und die Prozedur schreitet
zum nachfolgenden Schritt SX8 fort, in dem der Referenzwert L gelesen
wird. Anschließend wird geprüft, ob mit dem gelesenen
Referenzwert L der Befehlsreferenzwert L0 erreicht ist (Schritt
SX9). In der ersten Verarbeitungsstufe im Schritt SX9 sind jedoch
der Referenzwert L und der Befehlsreferenzwert L0 gleich (JA im
Schritt SX9), wodurch die Prozedur zum Schritt SX3 zurückkehrt
und fortgesetzt wird.
-
Anschließend
werden der Befehlsreferenzwert 11 und seine zugehörige
Befehlsposition X1 gelesen (Schritt SX3), und die Interpolationsverarbeitung
erfolgt anhand des gelesenen Befehlsreferenzwerts L1 (Schritte SX7,
SX8 und SX9). In vergleichbarer Weise werden daraufhin der Befehlsreferenzwert 12 und
seine zugehörige Befehlsposition X2 gelesen, und die Interpolationsverarbeitung
erfolgt anhand des gelesenen Befehlsreferenzwerts 12. Genauso
werden der Befehlsreferenzwert 13 und seine zugehörige
Befehlsposition X3 gelesen, und die Interpolationsverarbeitung erfolgt
anhand des gelesenen Befehlsreferenzwerts 13. Die Interpolationsverarbeitung
erzeugt einen Move-Befehl, der an den Servosteuerabschnitt 31 für
die X-Achse ausgegeben wird.
-
Ist
die Interpolationsverarbeitung, die auf dem Befehlsreferenzwert 13 beruht,
beendet, d. h., zeigt sich im Schritt SX9, dass L und L3 gleich
sind, so kehrt die Prozedur zum Schritt SX3 zurück, in
dem versucht wird, die folgenden Befehlsreferenzwert-Daten zu lesen.
Da es keine weitere zu lesende Befehlsreferenzposition gibt, schreitet
die Prozedur vom Schritt SX4 (NEIN) zu Schritt SX10 fort, in dem das
Bahntabellen-Startflag für die X-Achse auf 0 gesetzt wird,
und der Bahntabellenbetrieb beendet wird.
-
Der
Bahntabellenbetrieb für die A-Achse erfolgt mit Hilfe der
gleichen Bahntabelle wie für die X-Achse. Da sich die Inhalte
der Verarbeitung von der oben beschriebenen Verarbeitung der X-Achse nicht
unterscheiden, werden sie nicht erneut beschrieben. Da die X-Achse
und die A-Achse den Referenzwert L und die Bahntabelleninhalte gemeinsam haben,
kann man sie auch so konfigurieren, dass sie den Move-Befehl gemeinsam
haben. Man kann beispielsweise den Move-Befehl im Schritt SX7 in 11 nicht
nur in den Servosteuerabschnitt für die X-Achse eingeben,
sondern auch in den Servosteuerabschnitt für die A-Achse.
-
15 zeigt
ein Beispiel eines Signals zum Starten einer Bahntabelle für
den Betrieb einer beliebigen (bzw. nicht zugewiesenen) Achse. Das
zu startende Signal wird durch einen Code ”G0700” dargestellt;
den Codenamen kann man geeignet wählen. Der Code ”G0700” wird
auf einem 8-Bit-Signal gebildet, und ein Bahntabellen-Startsignal
(PTS) wird durch ein Bit ”#0” dargestellt. Beim
Starten der Bahntabelle wird PTS auf 1 gesetzt. Das Signal ”G0700” ist ein
Signal, das an den numerischen Controller ausgegeben wird, nachdem
Signale von den verschiedenen Schaltern auf der Steuertafel (nicht
dargestellt) des Hauptkörpers der Werkzeugmaschine von
dem PMC empfangen und in der Folgesteuerung der Werkzeugmaschine
korrekt verarbeitet wurden (insbesondere die Steuerung der Wellendrehung,
der Werkzeugersatz und die Maschinensteuertafel).
-
Nimmt
ein Signal PTS<G700.0> in 15 den
Wert 1 an, so werden die Bahntabellen der Bahntabellennummern, die
mit den Signalen PTN1 bis PTN8<G0701.0
bis G0701.7> zugewiesen
werden, siehe 16, gestartet, und die Achsen
mit den Achsennummern, die durch die Signale PTA1 bis PTA8<G0702.0 bis G0702.7> zugewiesen werden, siehe 18,
werden betrieben.
-
16 zeigt
ein Signal, das eine Bahntabelle für den Betrieb einer
beliebigen Achse spezifiziert. Dieses Signal ist ein 8-Bit-Signal,
das durch ”G0701” dargestellt wird. Indem man
jedes Bit des Signals ”G0701” zuweist, siehe 17,
kann die erste bis 255-te Tabelle spezifizieren. Man kann die Anzahl
der spezifizierbaren Bahntabellen vergrößern,
indem man die Anzahl der Bits des Signals ”G0701” erhöht.
-
18 zeigt
ein Signal, das die Achsennummer einer zu betreibenden Achse spezifiziert,
und zwar für eine Bahntabelle zum Betrieb einer beliebigen
Achse. Dieses Signal ist ein 8-Bit-Signal, das durch ”00702” dargestellt
wird. Jedes Bit kann die Achsennummer einer zu betreibenden Achse
spezifizieren, und zwar für die Bahntabelle zum Betrieb
einer beliebigen Achse.
-
Die
Achsennummer der zu betreibenden Achse, siehe 19,
wird durch das Signal ”G0702” spezifiziert, und
zwar für die Bahntabelle zum Betrieb der beliebigen Achse.
Zum Betreiben der X-Achse und der A-Achse werden G702.0 = 1 und
G702.1 = 1 gesetzt.
-
20 zeigt
eine weitere Bahntabelle zum Starten der Bahntabelle für
den Betrieb einer beliebigen Achse und zum Zuweisen von Achsen,
die mit der gestarteten Bahntabelle betrieben werden sollen.
-
In
der Bahntabelle in 20 stellt ”7000_X” in
dieser Bahntabelle die 7000-te Bahntabelle für die X-Achse
dar. In ”Q3F12” der Bahntabelle, gibt ”Q3” an,
dass die Bahntabelle zum Betreiben der beliebigen Achse die dritte
Bahntabelle ist, und ”F12” gibt an, dass die Steuerachsen
die X-Achse (erste Achse) und die A-Achse (zweite Achse) sind. F1
wird für den Betrieb der X-Achse befohlen, und F2 für
den Betrieb der A-Achse. Ein Befehl ”Q3F12”, siehe 20,
wird mit dem Referenzwert 12 ausgeführt. Daraufhin
wird die dritte Bahntabelle (13) für
den Betrieb beliebiger Achsen gestartet, und die X-Achse und die A-Achse
werden betrieben. Gemäß dieser Ausführungsform
wird die X-Achse mit der Summe eines Bewegungsumfangs betrieben,
der auf den Daten einer 7000-ten Bahntabelle beruht, und einem Bewegungsumfang,
der auf Daten der dritten Bahntabelle beruht.
-
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
-
- - JP 59-177604 [0003]
- - JP 2003-303005 [0004]