-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die vorliegende Offenbarung betrifft eine numerische Steuerung und betrifft insbesondere eine numerische Steuerung, die eine einfache und effiziente Durchführung von kontinuierlichen Achsensteuerbefehlen für eine Mehrzahl von Achsen realisiert.
-
Beschreibung der verwandten Technik
-
In einem Bearbeitungsprogramm (NC-Programm), das von einer numerischen Steuerung ausgeführt wird, wird normalerweise für jeden Block ein Liniensegment oder Bogenbewegungsbefehl beschrieben. Wenn ein Bearbeitungsweg, der eine Mehrzahl von Liniensegmenten oder Bögen umfasst, befohlen wird, ist es somit notwendig, den Achsenbewegungsbefehl kontinuierlich über eine Mehrzahl von Blöcken zu beschreiben (siehe 1).
-
Zusätzlich liest die numerische Steuerung normalerweise in dem NC-Programm beschriebene Befehlsblöcke nacheinander aus einem Kopf zur Analyse eines Programms, erzeugt Blockinformation, führt Interpolationsverarbeitung auf Grundlage der Blockinformation durch und schafft einen Verteilungsimpuls für jede Achse.
-
Um eine exzellente bearbeitete Oberfläche zu erlangen, muss die numerische Steuerung den Verteilungsimpuls kontinuierlich schaffen und ohne Unterbrechung ausgeben. Aus diesem Grund muss die numerische Steuerung vor der Interpolationsverarbeitung die Schaffung der für die Interpolation notwendigen Blockinformation abschließen. Somit beginnt die numerische Steuerung normalerweise, jeden Block des NC-Programms zu lesen, bevor ein in einem Block beschriebener Befehl ausgeführt wird, und analysiert alle Befehle, die in dem NC-Programm enthalten sind, was als Vorausabrufverarbeitung bezeichnet wird (siehe 2).
-
Der herkömmliche Achsenbewegungsbefehl weist folgende Probleme auf.
- (1) Es kann nur ein Abschnitt in einem Block befohlen werden. Aus diesem Grund entspricht Blockinformation, die in der Vorausabrufverarbeitung für einen Block schafft werden kann, im Wesentlichen einem Liniensegment. Wenn eine Festzyklusfunktion verwendet wird, können durch einen Blockbefehl eine Mehrzahl von Blockinformationen erzeugt werden. Die Festzyklusfunktion wird jedoch nur in einem begrenzten Aspekt verwendet, wie z.B. der Wiederholung eines vorgegebenen Vorgangs, und ist keine allgemeine Funktion.
- (2) Bei der Vorausabrufverarbeitung wird jedes Mal, wenn ein Block analysiert wird, zusätzlich zu der Befehlsanalyse eine Verarbeitung wie Modalschaltung oder Bestimmung verschiedener Signale zusammen durchgeführt. Aus diesem Grund nimmt, wenn die Anzahl der Blöcke zunimmt, die Anzahl der Verarbeitungszeiten zu, die nicht die Befehlsanalyse betreffen, und nimmt eine Gesamtverarbeitungszeit zu.
-
Als ein Schema zur Lösung eines solchen Problems ist es denkbar, ein Schema zum Erzeugen von Liniensegmenten einer Mehrzahl von Abschnitten unter Verwendung eines Blockbefehls bereitzustellen.
JP 57-201903 A beschreibt z.B. eine numerische Steuerung, die einen Vorgang über eine Mehrzahl von Sequenzen in einem Block durchführt.
-
Das in
JP 57-201903 A beschriebene Schema hat jedoch Einschränkungen dahingehend, dass eine Unterprogrammfunktion zur Durchführung des Vorgangs über die Mehrzahl von Sequenzen erforderlich ist und es notwendig ist, ein spezielles Zeichen zu verwenden, um eine Mehrzahl von Vorgängen zu beschreiben. Aus diesen Gründen bestehen Probleme dahingehend, dass die Verwendung dieses Systems komplizierte Arbeit erfordert und eine Situation, in der das System angewendet wird, begrenzt ist.
-
Die Offenbarung dient der Lösung eines solchen Problems und eine Aufgabe der Offenbarung ist es, eine numerische Steuerung bereitzustellen, die eine einfache und effiziente Durchführung von kontinuierlichen Achsensteuerbefehlen für eine Mehrzahl von Achsen realisiert.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Eine numerische Steuerung gemäß einer Ausführungsform der Offenbarung ist eine numerische Steuerung zum Analysieren eines in einem Bearbeitungsprogramm beschriebenen Achsenbewegungsbefehls zum Erzeugen von Blockinformation eines Weges, wobei die numerische Steuerung eine Befehlsanalyseeinheit zum Analysieren des Bearbeitungsprogramms, in dem der Achsenbewegungsbefehl für eine Mehrzahl von Abschnitten in einem Block des Bearbeitungsprogramms beschrieben wird, in einer Leseverarbeitung für den einen Block, um eine Mehrzahl von Koordinatenwerten oder Bewegungsbeträgen festzulegen, und eine Blockinformationserzeugungseinheit zum Erzeugen der Blockinformation für die Mehrzahl von Abschnitten auf Grundlage der Mehrzahl von Koordinatenwerten oder Bewegungsbeträgen, wobei jede von einer oder mehreren Adressen nur einmal beschrieben wird und eine Mehrzahl von Befehlswerten, die den entsprechenden Adressen entsprechen, gemäß einer vorgegebenen Reihenfolge in dem Achsenbewegungsbefehl beschrieben wird, und die Befehlsanalyseeinheit eine Korrelation zwischen den Adressen und den Befehlswerten gemäß der Reihenfolge festlegt, umfasst.
-
In der numerischen Steuerung gemäß einer Ausführungsform der Offenbarung wird eine modale Schaltverarbeitung durchgeführt, nachdem die Blockinformation für die Mehrzahl von in dem einen Block beschriebenen Abschnitten erzeugt wird.
-
In der numerischen Steuerung gemäß einer Ausführungsform der Offenbarung ist die Mehrzahl von Befehlswerten als Variablen vom Array-Typ vorgegeben.
-
In der numerischen Steuerung gemäß einer Ausführungsform der Offenbarung ist die Mehrzahl von Befehlswerten durch eine externe Datei vorgegeben.
-
In der numerischen Steuerung gemäß einer Ausführungsform der Offenbarung sind die eine oder mehreren Adressen und die Mehrzahl von Befehlswerten als ein Datensatz vorgegeben.
-
In der numerischen Steuerung gemäß einer Ausführungsform der Offenbarung sind die eine oder mehreren Adressen auf verschiedene Befehle bezogen, die kein Befehl eines Koordinatenwerts oder eines Bewegungsausmaßes sind.
-
In der numerischen Steuerung gemäß einer Ausführungsform der Offenbarung dürfen die Adressen weggelassen werden, wenn es keine Änderung der den Adressen entsprechenden Befehlswerte gibt.
-
In der numerischen Steuerung gemäß einer Ausführungsform der Offenbarung dürfen die den Adressen entsprechenden Befehlswerte weggelassen werden, wenn es keine Änderung der Befehlswerte gibt.
-
Gemäß der vorliegenden Offenbarung ist es möglich, eine numerische Steuerung bereitzustellen, die eine einfache und effiziente Durchführung von kontinuierlichen Achsensteuerbefehlen für eine Mehrzahl von Achsen realisiert.
-
Figurenliste
-
Die Aufgabe und das Merkmal der Offenbarung, vorstehend beschrieben, sowie andere Aufgaben und Eigenschaften werden aus der nachstehenden Beschreibung der Ausführungsformen unter Bezugnahme auf die beigefügten Zeichnungen offensichtlich. In den Zeichnungen sind:
- 1 ein Diagramm, das ein Beispiel für ein herkömmliches Bearbeitungsprogramm zeigt;
- 2 ein Diagramm, das ein Beispiel für herkömmliche Vorausabrufverarbeitung zeigt;
- 3 ein Diagramm, das ein Beispiel für eine Hardwarekonfiguration einer numerischen Steuerung zeigt;
- 4 ein Diagramm, das ein Beispiel für einen herkömmlichen Achsenbewegungsbefehl zeigt;
- 5 ein Diagramm, das ein Beispiel für einen Achsenbewegungsbefehl in der vorliegenden Ausführungsform zeigt;
- 6 ein Diagramm, das ein Beispiel für einen Achsenbewegungsbefehl in der vorliegenden Ausführungsform zeigt;
- 7 ein Diagramm, das ein Beispiel für einen Achsenbewegungsbefehl in der vorliegenden Ausführungsform zeigt;
- 8 ein Diagramm, das ein Beispiel für einen Achsenbewegungsbefehl in der vorliegenden Ausführungsform zeigt;
- 9 ein Diagramm, das ein Beispiel für einen Achsenbewegungsbefehl in der vorliegenden Ausführungsform zeigt;
- 10 ein Diagramm, das ein Beispiel für einen Achsenbewegungsbefehl in der vorliegenden Ausführungsform zeigt;
- 11 ein Diagramm, das ein Beispiel für einen Achsenbewegungsbefehl in der vorliegenden Ausführungsform zeigt;
- 12 ein Diagramm, das ein Betriebsbeispiel einer herkömmlichen numerischen Steuerung zeigt;
- 13 ein Diagramm, das ein Betriebsbeispiel der numerischen Steuerung zeigt;
- 14 ein Diagramm, das ein Betriebsbeispiel der numerischen Steuerung zeigt; und
- 15 ein Diagramm, das ein Beispiel für eine funktionale Konfiguration der numerischen Steuerung zeigt.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
3 ist ein schematisches Hardwarekonfigurationsdiagramm, das eine numerische Steuerung 1 gemäß einer Ausführungsform zeigt. Die numerische Steuerung 1 ist eine Vorrichtung, die z.B. eine Industriemaschine steuert, die Bohrvorgänge durchführt. Die numerische Steuerung 1 umfasst eine zentrale Verarbeitungseinheit (CPU) 11, einen Nur-Lese-Speicher (ROM) 12, einen Direktzugriffsspeicher (RAM) 13, einen nichtflüchtigen Speicher 14, einen Bus 10, eine Achsensteuerschaltung 16, einen Servoverstärker 17 und eine Schnittstelle 18. Ein Servomotor 50 und eine Ein-/Ausgabevorrichtung 60 sind mit der numerischen Steuerung 1 verbunden.
-
Die CPU 11 ist ein Prozessor, der die numerische Steuerung 1 als ein Ganzes steuert. Die CPU 11 liest ein in dem ROM 12 gespeichertes Systemprogramm über den Bus 10. Die CPU 11 steuert die gesamte numerische Steuerung 1 gemäß dem Systemprogramm.
-
Der ROM 12 speichert z.B. im Voraus ein Systemprogramm zur Ausführung verschiedener Steuervorgänge einer Maschine.
-
Der RAM 13 speichert vorübergehend Berechnungsdaten oder Anzeigedaten sowie Daten, ein Programm oder dergleichen, die von einer Bedienungsperson über die Ein-/Ausgabevorrichtung 60 eingegeben werden.
-
Der nichtflüchtige Speicher 14 ist z.B. durch eine Batterie (nicht gezeigt) abgesichert. Der nichtflüchtige Speicher 14 behält einen Speicherzustand selbst dann bei, wenn eine Energiequelle der numerischen Steuerung 1 ausgeschaltet wird. Der nichtflüchtige Speicher 14 speichert Daten, ein Programm usw., die von der Ein-/Ausgabevorrichtung 60 eingegeben werden. Das Programm und die Daten, die in dem nichtflüchtigen Speicher 14 gespeichert sind, können während der Ausführung und Verwendung in den RAM 13 geladen werden.
-
Die Achsensteuerschaltung 16 steuert eine Betriebsachse der Maschine. Die Achsensteuerschaltung 16 empfängt ein von der CPU 11 ausgegebenes Bewegungsbefehlsausmaß der Achse und gibt einen Bewegungsbefehl der Betriebsachse an den Servoverstärker 17 aus.
-
Der Servoverstärker 17 empfängt den von der Achsensteuerschaltung 16 ausgegebenen Achsenbewegungsbefehl und treibt den Servomotor 50 an.
-
Der Servomotor 50 wird von dem Servoverstärker 17 angetrieben, um die Betriebsachse der Maschine zu bewegen. In der vorliegenden Ausführungsform wird eine Spindel von dem Servomotor 50 bewegt. Der Servomotor 50 verfügt z.B. über einen Positions-/Geschwindigkeitsdetektor. Der Positions-/Geschwindigkeitsdetektor gibt ein Positions-/Geschwindigkeitsrückkopplungssignal aus. Dieses Positions-/Geschwindigkeitsrückkopplungssignal wird an die Achsensteuerschaltung 16 rückgekoppelt, so dass eine Positions-/Geschwindigkeitsrückkopplungssteuerung durchgeführt wird.
-
In 3 ist im Übrigen nur ein Satz einer Achsensteuerschaltung 16, eines Servoverstärkers 17 und eines Servomotors 50 gezeigt. In der Praxis wird der Satz jedoch für jede in der zu steuernden Maschine vorhandene Achse schafft.
-
Die Ein-/Ausgabevorrichtung 60 ist eine Daten-Ein-/Ausgabevorrichtung, die eine Anzeigevorrichtung, eine Hardwaretaste, etc. umfasst. Die Ein-/Ausgabevorrichtung 60 ist z.B. eine MDI-Einheit oder ein Bedienfeld. Die Ein-/Ausgabevorrichtung 60 zeigt von der CPU 11 über die Schnittstelle 18 empfangene Information auf einer Anzeigevorrichtung an. Die Ein-/Ausgabevorrichtung 60 leitet einen Befehl, Daten usw., die von einer Hardwaretaste usw. eingegeben wurden, über die Schnittstelle 18 an die CPU 11 weiter.
-
15 ist ein Blockdiagramm, das einen Überblick über eine funktionale Konfiguration der numerischen Steuerung 1 zeigt. Die numerische Steuerung 1 umfasst eine Befehlsanalyseeinheit 101 und eine Blockinformationserzeugungseinheit 103.
-
Die Befehlsanalyseeinheit 101 liest und analysiert ein Bearbeitungsprogramm, das einen Achsenbewegungsbefehl umfasst, der Liniensegmente einer Mehrzahl von Abschnitten unter Verwendung eines Blockbefehls definieren kann. Die Befehlsanalyseeinheit 101 legt alle Koordinatenpunkte als Bewegungsziele auf Grundlage eines Analyseergebnisses des Bearbeitungsprogramms fest. Die Blockinformationserzeugungseinheit 103 erzeugt Blockinformation der Liniensegmente der Mehrzahl von Abschnitten auf Grundlage der von der Befehlsanalyseeinheit 101 festgelegten Koordinatenpunkte.
-
Eine Festlegung des Achsenbewegungsbefehls der vorliegenden Ausführungsform, der von der Befehlsanalyseeinheit 101 analysiert werden kann, wird mit Bezugnahme auf 4 bis 6 beschrieben. 4 ist ein Diagramm, das ein Beispiel für einen herkömmlichen Achsenbewegungsbefehl zeigt. Der Achsenbewegungsbefehl umfasst eine Kombination aus einer durch Buchstaben (G, X, Y, Z, etc.) angegebenen Adresse und einem durch Zahlen angegebenen Befehlswert. Befehle wie G91 und G00 werden als G-Codes bezeichnet. Ein G-Code bewirkt, dass die numerische Steuerung 1 eine Vorbereitungsfunktion zur Durchführung der Bearbeitung ausführt. Ein Befehl wie F4000. ist ein Bewegungsbefehl. Ein Zahlenwert des Bewegungsbefehls gibt eine Vorschubgeschwindigkeit an. Jeder Befehl wie X1.5, Y2., und Z-95 bezeichnet einen Koordinatenwert oder ein Bewegungsausmaß einer X-Achse, einer Y-Achse und einer Z-Achse. Gemäß einem herkömmlichen Beschreibungsverfahren für den Achsenbewegungsbefehl kann prinzipiell nur ein Liniensegment durch einen Block (eine Zeile des Bearbeitungsprogramms) ausgedrückt werden.
-
Andererseits können in dem Achsenbewegungsbefehl der vorliegenden Ausführungsform Inhalte, die einem Befehl für eine Mehrzahl von herkömmlichen Blöcken entsprechen, unter Verwendung eines Befehls für einen Block beschrieben werden. Dieser Achsenbewegungsbefehl hat die folgenden Merkmale.
- (1) Innerhalb eines Befehls eines Blockes ist es möglich, eine Mehrzahl von Befehlswerten (Koordinatenwerten, Bewegungsbeträgen usw.) zu bestimmen, die jeder Adresse entsprechen.
- (2) Eine Korrelation zwischen einer Adresse und einem Befehlswert wird gemäß einer vorgegebenen Regel beschrieben. Die Regel ist nicht insbesondere begrenzt. Beispielsweise sind die folgenden Regeln vorhanden.
- (a) Eine Korrelation zwischen einer Adresse und einer Mehrzahl von Befehlswerten ist durch eine Mehrzahl von Typen von vorgegebenen Trennzeichen definiert. In einem Beispiel von 5 wird z.B. ein Satz von Befehlswerten für jeden Abschnitt durch „[„und“]“ (eckige Klammern) definiert. Zusätzlich zeigt „,“ (Komma) ein Trennzeichen zwischen den Befehlswerten jeder Adresse an. Das heißt, [x1, y1, z1] ist eine Befehlswertgruppe, die ein Liniensegment in einem ersten Abschnitt definiert, x1 ist ein X-Achsen-Befehlswert, y1 ist ein Y-Achsen-Befehlswert und z1 ist ein Z-Achsen-Befehlswert. Auf ähnliche Weise ist [x2, y2, z2] eine Befehlswertgruppe, die ein Liniensegment in einem zweiten Abschnitt definiert, und ist [x3, y3, z3] eine Befehlswertgruppe, die ein Liniensegment in einem dritten Abschnitt definiert.
6 ist ein Achsenbewegungsbefehl, der gemäß einem in 5 gezeigten Format beschrieben wird. Der in 6 beschriebene Inhalt ist äquivalent zu dem Achsenbewegungsbefehl gemäß einem herkömmlichen Beschreibungsverfahren, das in 4 gezeigt ist. Achsenbewegungsbefehle, die in 4 von einer zweiten Zeile zu einer dritten Zeile beschrieben werden, sind in eine zweite Zeile in 6 integriert. Auf ähnliche Weise sind in 4 beschriebene Achsenbewegungsbefehle von einer vierten Zeile zu einer sechsten Zeile in eine dritte Zeile in 6 integriert. In der vorliegenden Ausführungsform ist es möglich, herkömmliche Befehle für eine Mehrzahl von Blöcken in einen Befehl für einen Block zu integrieren.
- (b) Korrelationen zwischen Adressen und einer Mehrzahl von Befehlswerten sind durch vorgegebene Trennzeichen und numerische Reihenfolge definiert. Beispielsweise können eine Befehlswertgruppe x1, y1 und z1, die Liniensegmente in einem ersten Abschnitt definiert (x1 ist ein Befehlswert auf der X-Achse, y1 ist ein Befehlswert auf der Y-Achse und z1 ist ein Befehlswert auf der Z-Achse), eine Befehlswertgruppe x2, y2 und z2, die Liniensegmente in einem zweiten Abschnitt definiert (x2 ist ein Befehlswert auf der X-Achse, y2 ist ein Befehlswert auf der Y-Achse und z2 ist ein Befehlswert auf der Z-Achse), ..., eine Befehlswertgruppe xn, yn und zn, die Liniensegmente in einem n-ten Abschnitt definiert (xn ist ein Befehlswert auf der X-Achse, yn ist ein Befehlswert auf der Y-Achse, und zn ist ein Befehlswert auf der Z-Achse) auch kollektiv für jeden Abschnitt wie folgt beschrieben werden.
Alternativ können die Befehlswertgruppen auch für jede Adresse wie folgt kollektiv beschrieben werden.
- (c) Der in dem vorstehenden Punkt (a) oder (b) gezeigte Befehl kann auch durch eine Variable vom Array-Typ beschrieben werden. 8 (zweite Zeile und vierte Zeile) ist ein Beispiel, in dem der folgende Achsenbewegungsbefehl A unter Verwendung von einer Variablen vom Array-Typ umgeschrieben wird. Der Achsenbewegungsbefehl A wird gemäß einem in 5 gezeigten Format beschrieben. In 8 wird eine rechte Seite des Achsenbewegungsbefehls A im Voraus in einer Variablen vom Array-Typ (zweite Zeile) gespeichert und wird der Befehl in einer Form beschrieben, die sich auf die Variable (vierte Zeile) bezieht. Achsenbewegungsbefehl A:
- (d) Ein in dem vorstehenden Punkt (a) oder (b) gezeigter Befehl kann auch unter Verwendung einer Bezugnahme auf eine Datei beschrieben werden.
9 (dritte Zeile) ist ein Beispiel, in dem der folgende Achsenbewegungsbefehl B unter Verwendung einer Bezugnahme auf eine Datei umgeschrieben wird. Der Achsenbewegungsbefehl B wird gemäß einem in 5 gezeigten Format beschrieben. In 9 wird der Inhalt, der einer rechten Seite des Achsenbewegungsbefehls B entspricht, im Voraus in einer externen Datei (PATH1.csv) beschrieben und wird der Befehl in einer Form beschrieben, die sich auf den Inhalt der Datei (dritte Zeile) bezieht.
Achsenbewegungsbefehl B:
Auf ähnliche Weise ist 10 (dritte Zeile) ein Beispiel, in dem der folgende Achsenbewegungsbefehl C unter Verwendung einer Bezugnahme auf eine Datei umgeschrieben wird. Der Achsenbewegungsbefehl C wird gemäß einem in 5 gezeigten Format beschrieben. In 10 wird der Inhalt, der einer rechten Seite des Achsenbewegungsbefehls C entspricht, im Voraus in einer externen Datei (CAM_DATA.NC) beschrieben und wird der Befehl in einer Form beschrieben, die sich auf den Inhalt der Datei (dritte Zeile) bezieht.
Achsenbewegungsbefehl C:
Ein Dateiformat der externen Datei oder ein Format des
Achsenbewegungsbefehls kann jegliches Dateiformat oder Format sein, solange eine Korrelation zu dem Befehlsinhalt vor dem Umschreiben aufrechterhalten wird. Es ist jedoch erforderlich, dass die Befehlsanalyseeinheit 101 die Korrelation erkennen und den Befehlsinhalt vor dem Umschreiben wiederherstellen kann.
- (e) Ein Befehl kann auch in einer Form beschrieben werden, die sich auf den Datensatz bezieht. 11 (zweite Zeile) ist ein Beispiel, in dem der folgende Achsenbewegungsbefehl D in ein Format umgeschrieben wird, das sich auf einen Datensatz bezieht. In 11 wird der Inhalt eines Teils folgend auf N21 des Achsenbewegungsbefehls D im Voraus in einem Datensatz (z.B. einer Struktur) (CYCLE1) gespeichert und wird der Befehl in einer Form beschrieben, die sich auf den Inhalt des Datensatzes (zweite Zeile) bezieht.
Achsenbewegungsbefehl D:
- N21 G00 X0. Y10. Z50.;
- G01 Y20. Z55. F100.;
- X10.;
- G00 X15. Y20.;
Das Format des Datensatzes kann jegliches Format sein, solange eine Korrelation zu dem Befehlsinhalt vor dem Umschreiben aufrechterhalten wird. Es ist jedoch erforderlich, dass die Befehlsanalyseeinheit 101 die Korrelation erkennen und den Befehlsinhalt vor dem Umschreiben wiederherstellen kann. Selbst wenn ein Datensatz verwendet wird, wird eine Adresse nur einmal in dem Datensatz beschrieben.
- (3) Befehle wie G-Codes können auch integriert und beschrieben werden, wie in Punkt (2) gezeigt. 7 zeigt z.B. ein Beispiel, in dem ein Befehl, der in einem herkömmlichen Beschreibungsverfahren als der folgende Achsenbewegungsbefehl E in einem herkömmlichen Beschreibungsverfahren beschrieben wird, in eine Zeile gemäß dem Format von 5 integriert und beschrieben wird.
Achsenbewegungsbefehl E:
- G00 X100, Y100, Y100, Z0
- G01 X1, Y1, Z1
- G01 X2, Y2, Z2
- (4) Bei einer Adresse, die keine Änderung eines Befehlswertes hat, kann die Befehlsbeschreibung weggelassen werden. Wenn sich z.B. in einem Beispiel von 6 die Z-Achse nicht bewegt (erste Zeile), werden nur die Befehle für die X-Achse und die Y-Achse beschrieben und wird für die Z-Achse kein Befehl beschrieben. Auf ähnliche Weise werden, wenn sich die X-Achse nicht bewegt (dritte Zeile), in diesem Block nur Befehle beschrieben, die sich auf die Y-Achse und die Z-Achse beziehen, und wird kein Befehl für die X-Achse beschrieben.
- (5) Ein Befehlswert (Zahlenwert) kann bei der Definition einer Achsenadresse weggelassen werden. Der Achsenbewegungsbefehl F kann z.B. wie folgt beschrieben werden.
Achsenbewegungsbefehl F:
Dieser Befehl wird durch Integrieren und Beschreiben eines Achsenbewegungsbefehls G, der in einem herkömmlichen Beschreibungsverfahren wie folgt beschrieben wurde, in einer Zeile erlangt.
Achsenbewegungsbefehl G:
- G01 X0 Y0;
- G01 X1;
- G01 Y2;
-
Ein charakteristischer Betrieb der numerischen Steuerung 1 wird mit Bezugnahme auf die Ablaufdiagramme von 12 und 13 beschrieben. 12 ist ein Diagramm, das einen Betrieb einer herkömmlichen numerischen Steuerung zeigt. Die herkömmliche numerische Steuerung liest einen Block eines Bearbeitungsprogramms (S1) und analysiert den Block (S2). Dann wird Blockinformation eines in einem Block beschriebenen Liniensegments erzeugt (S3). Zusätzlich zu der Verarbeitung von S1 bis S3 führt die numerische Steuerung eine Zusatzverarbeitung wie z.B. Modalschaltung oder Bestimmung verschiedener Signale für jeden Block durch (S4). Die numerische Steuerung wiederholt die Verarbeitung von S1 bis S4 für alle Blöcke des Bearbeitungsprogramms.
-
13 ist ein Diagramm, das einen Betrieb der numerischen Steuerung 1 gemäß der vorliegenden Ausführungsform zeigt. Die Befehlsanalyseeinheit 101 der numerischen Steuerung 1 liest einen Block des Bearbeitungsprogramms (S101) und analysiert ein Programm des gelesenen einen Blockes (S102). Wenn das Bearbeitungsprogramm nacheinander Liniensegmente einer Mehrzahl von Abschnitten mit einem Befehl eines Blockes definiert, der gemäß dem vorstehend beschriebenen Format (siehe (a) von 14) beschrieben wird, analysiert die Befehlsanalyseeinheit 101 hier den Block und extrahiert eine Mehrzahl von darin beschriebenen Koordinatenwerten oder Bewegungsbeträgen (siehe (b) von 14).
-
Die Blockinformationserzeugungseinheit 103 erzeugt Blockinformation eines Liniensegments unter Verwendung des von der Befehlsanalyseeinheit 101 (S103) extrahierten Koordinatenpunkts oder Bewegungsausmaßes. Hier wird Blockinformation eines Liniensegments mit einem unverarbeiteten Koordinatenpunkt oder Bewegungsausmaß mit einer frühesten Befehls-Reihenfolge (S103) erzeugt. Danach wird bestimmt, ob ein unverarbeiteter Koordinatenpunkt oder ein unverarbeitetes Bewegungsausmaß übrig bleibt (S104). Wenn der unverarbeitete Koordinatenpunkt oder das unverarbeitete Bewegungsausmaß übrig bleibt, kehrt die Verarbeitung zu S103 zurück und wird Blockinformation eines Liniensegments erzeugt. Wenn kein unverarbeiteter Koordinatenpunkt oder kein unverarbeitetes Bewegungsausmaß mehr übrig bleibt, wird eine Zusatzverarbeitung wie z.B. Modalschaltung oder Bestimmung verschiedener Signale durchgeführt (S105) und wird die Verarbeitung dieses Blockes beendet. Die numerische Steuerung 1 wiederholt die Verarbeitung von S101 bis S105 für alle Blöcke des Bearbeitungsprogramms.
-
Gemäß der vorliegenden Ausführungsform liest und analysiert die Befehlsanalyseeinheit 101 ein Bearbeitungsprogramm, das einen Achsenbewegungsbefehl umfasst, der Liniensegmente einer Mehrzahl von Abschnitten mit einem Befehl eines Blockes definieren kann, und legt alle Koordinatenpunkte als ein Bewegungsziel fest. Die Blockinformationserzeugungseinheit 103 erzeugt Blockinformation von Liniensegmenten einer Mehrzahl von Abschnitten auf Grundlage der von der Befehlsanalyseeinheit 101 festgelegten Koordinatenpunkte. Auf diese Weise ist es möglich, einen Bearbeitungsweg, der eine Mehrzahl von Liniensegmenten umfasst, unter Verwendung einer kleinen Anzahl von Blöcken zu steuern.
-
Zusätzlich ist es gemäß der vorliegenden Ausführungsform möglich, einen Block aus dem Bearbeitungsprogramm vorabzurufen, um eine Mehrzahl von Blockinformationen zu erzeugen. Aus diesem Grund ist es möglich, den mit der Zusatzverarbeitung verbundenen Aufwand wie Modalschaltung und Bestimmung verschiedener Signale zu unterdrücken. Folglich wird die Effizienz im Vergleich zu der herkömmlichen Vorausabrufverarbeitung verbessert.
-
Zusätzlich kann in einem Festzyklus herkömmlicherweise nur ein Festbetrieb durchgeführt werden. Bei der vorliegenden Ausführungsform kann jedoch ein Weg in Form einer in 11 gezeigten Matrix unter Verwendung eines Datensatzes frei eingestellt werden. Auf diese Weise ist es für eine Bedienungsperson einfach, einen Befehlspunkt zu verstehen.
-
Zusätzlich ist es in der vorliegenden Ausführungsform möglich, durch Durchführen eines Achsenbewegungsbefehls in einem Format, das sich auf eine Variable vom Array-Typ oder eine externe Datei bezieht, eine Achsenbewegung zu befehlen, ohne einen Koordinatenwert direkt in dem Programm festzulegen. Auf diese Weise wird die Vielseitigkeit erhöht, da die Koordinatenwerte wiederverwendet werden können.
-
Zusätzlich wird in der vorliegenden Ausführungsform Blockinformation von Liniensegmenten einer Mehrzahl von Abschnitten unter Verwendung eines Befehls eines Blockes erzeugt. Aus diesem Grund ist es nicht erforderlich, eine bestimmte Unterprogrammfunktion oder ein spezielles Zeichen zu verwenden. Folglich ist es möglich, eine Technologie gemäß der vorliegenden Offenbarung kostengünstig einzuführen.
-
Die vorliegende Offenbarung ist im Übrigen nicht auf die vorstehend beschriebene Ausführungsform beschränkt und kann entsprechend geändert werden, ohne vom Geist der vorliegenden Offenbarung abzuweichen. In der vorstehend beschriebenen Ausführungsform wurde z.B. hauptsächlich ein Beispiel beschrieben, in dem die Blockinformationserzeugungseinheit 103 die Blockinformation der Liniensegmente erzeugt. Die vorliegende Offenbarung ist jedoch nicht darauf beschränkt. Beispielsweise kann Blockinformation eines beliebigen Weges, wie z.B. eines Bogens, durch ein ähnliches Schema erzeugt werden.
-
Zusätzlich zeigt die vorstehend beschriebene Ausführungsform ein Beispiel, in dem G-Codes, die sich auf Befehle in einer Mehrzahl von Abschnitten beziehen, in eine Zeile integriert sind. Die vorliegende Offenbarung ist jedoch nicht darauf beschränkt. Es ist z.B. auch möglich, jegliche Befehle eines Bearbeitungsbefehls wie F-Code, eine Hilfsfunktion wie M-Code usw. zu integrieren.
-
Ein Beschreibungsverfahren für eine Korrelation zwischen einer Adresse und einer Mehrzahl von Befehlswerten, das in der vorstehenden Ausführungsform gezeigt ist, ist nur ein Beispiel. Wenn ein Befehl, der sich auf einen Weg einer Mehrzahl von Abschnitten bezieht, in einem Block beschrieben wird, wird eine Adresse nur einmal beschrieben und wird mindestens ein Befehlswert, der jeder Adresse entspricht, definiert, wobei eine Beschreibung in jedem Format erlaubt ist.
-
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 57201903 A [0006, 0007]