DE102020001990A1 - Numerische Steuervorrichtung - Google Patents

Numerische Steuervorrichtung Download PDF

Info

Publication number
DE102020001990A1
DE102020001990A1 DE102020001990.0A DE102020001990A DE102020001990A1 DE 102020001990 A1 DE102020001990 A1 DE 102020001990A1 DE 102020001990 A DE102020001990 A DE 102020001990A DE 102020001990 A1 DE102020001990 A1 DE 102020001990A1
Authority
DE
Germany
Prior art keywords
block
program
prefetching
blocks
numerical control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020001990.0A
Other languages
English (en)
Inventor
Nobuhito OONISHI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Publication of DE102020001990A1 publication Critical patent/DE102020001990A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13098Nc function to control axis, written in C or not
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35385Decode several blocks at the same time, as a single block, simultaneous, parallel
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35386Look ahead processing of plural block data from buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Numerical Control (AREA)

Abstract

Eine numerische Steuervorrichtung bestimmt basierend darauf, ob wenigstens ein Block vorabgerufen wurde, der auf einen nach einem laufenden Block des Programms vorhandenen, vorgegebenen Referenzblock folgt und zum Ausführen des Referenzblocks notwendig ist, ob ein Blockabruf aus dem Programm ausreichend ist. Wenn das Bestimmungsergebnis lautet, dass der Vorabruf nicht ausreichend ist, wird ein Blockvorabruf aus dem Programm durchgeführt.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine numerische Steuervorrichtung und im Besonderen eine numerische Steuervorrichtung mit einer Programmvorabruffunktion.
  • Beschreibung des zugehörigen Standes der Technik
  • Manche numerischen Steuervorrichtungen weisen eine Vorabruffunktion auf, die Blöcke eines Programms in einen Speicher vorausliest, um vor der Ausführung des Blocks eine Voranalyse durchzuführen (siehe z.B. die offengelegten japanischen Patentanmeldungen Nr. 09-069003 , 2007-094936 und 2008-293261 ). Die Vorabruffunktion ermöglicht eine Korrekturfunktion und eine Geschwindigkeitsregelung, die eine angewiesene Form oder einen Geschwindigkeitsbefehl eines in einem späteren Teil des Programms auszuführenden Blocks berücksichtigen.
  • Bei einer in der offengelegten japanischen Patentanmeldung Nr. 09-069003 offenbarten Technik beispielsweise werden beim Durchführen einer Werkzeugradiuskorrektur mehrere Blöcke eines Programms vorabgerufen und, wenn die Korrektur in einem der vorabgerufenen Befehlsblöcke eine gegenseitige Beeinträchtigung zwischen dem Werkzeug und einem Werkstück verursacht, werden die Korrekturrichtung und der Korrekturbetrag geändert, um die gegenseitige Beeinträchtigung zwischen dem Werkzeug und dem Werkstück zu vermeiden.
  • Eine in der offengelegten japanischen Patentanmeldung Nr. 2007-094936 offenbarte Technik führt durch Vorabrufen mehrerer Blöcke eines Programms und Berücksichtigen einer angewiesenen Geschwindigkeit, die in einem späteren Teil des Programms anzuweisen ist, eine Geschwindigkeitsregelung durch, die eine schnelle Verzögerung und dergleichen verhindert.
  • Wenn eine Vorabruffunktion aktiviert wird, wird eine in einem Programm enthaltene Makroanweisung beim Vorabruf verarbeitet und analysiert. Folglich muss, wenn die Makroanweisung beim Ausführen des Blocks verarbeitet werden muss, eine Maßnahme, wie etwa das Einfügen eines Pufferungsverhinderungsbefehls unmittelbar vor dem Block, ergriffen werden. Wenn beispielsweise eine Makroanweisung zum Durchführen einer Verzweigungsverarbeitung basierend auf der Position einer Achse nach Abschluss der Ausführung eines unmittelbar vorhergehenden Blocks beim Vorabruf verarbeitet und analysiert wird, kann die Verzweigungsverarbeitung basierend auf einer falschen Position der Achse, die vor dem Ausführen des unmittelbar vorhergehenden Blocks erhalten wird, durchgeführt werden und die vorgesehene Verarbeitung nicht ausgeführt werden. In einem solchen Fall wird ein Pufferungsverhinderungsbefehl unmittelbar vor dem Block eingefügt, so dass der Block nach Abschluss der Ausführung des unmittelbar vorhergehenden Blocks verarbeitet werden kann.
  • Das Einfügen eines Pufferungsverhinderungsbefehls in ein Programm bewirkt, dass der Vorabruf an einem den Befehl enthaltenden Block stoppt und beeinflusst somit die vorstehend beschriebene Korrekturfunktion und Geschwindigkeitsregelung. Folglich kann, wenn eine Makroanweisung nicht gemäß einer exakten Zeitvorgabe ausgeführt werden muss oder dem Vorabruf eine hohe Priorität eingeräumt werden soll, ein Programm bewusst ohne Pufferungsverhinderungsbefehl geschrieben werden. In manchen Fällen hingegen arbeitet ein Programm im Übrigen ohne Probleme, obwohl lediglich aufgrund eines mangelnden Verständnisses der Charakteristika des Vorabrufs kein Pufferungsverhinderungsbefehl an einer geeigneten Stelle eingesetzt wird.
  • 7 ist eine Ansicht, die ein Beispiel eines Makroanweisungen enthaltenden Programms zeigt.
  • Bei dem in 7 gezeigten Programm erhalten die Makroanweisungen in den Blöcken N0100 und N0500 die Zeit, wenn die Makroanweisungen verarbeitet werden, und weisen die Zeit den Variablen #100 und #101 zu. Dann wird in Block N0510 die Differenz zwischen den Variablen #100 und #101 berechnet, um sie der Variablen #500 zuzuweisen. Diese Variable #500 repräsentiert die Zeit, die zum Ausführen von zwischen dem Block N0100 und dem Block N0500 vorhandenen Blöcken erforderlich ist. Bei einem solchen Programm müssen zum Erhalten der genauen Zeit, die zum Ausführen von Blöcken zwischen dem Block N0100 und dem Block N0500 erforderlich ist, unmittelbar vor dem Block N0100 und unmittelbar vor dem Block N0500 tatsächlich Pufferungsverhinderungsbefehle einfügt werden. Da das Programm jedoch selbst dann ohne große Probleme arbeitet, wenn ein Bediener vergessen hat, die Pufferungsverhinderungsbefehle einzufügen, kann ein tatsächlicher Arbeitsvorgang durchgeführt werden, ohne sich dessen bewusst zu sein.
  • Im Allgemeinen führt eine Vorabruffunktion einen Vorabruf in einem Ausmaß durch, das deren Verarbeitungskapazität zulässt, bis ein vorab erstellter Vorabrufpuffer voll ist. Folglich vergrößert sich, wenn der vorstehend beschriebene Pufferungsverhinderungsbefehl nicht in das Programm eingefügt ist, die Zeitlücke zwischen dem Zeitpunkt der Verarbeitung der Makroanweisung und dem Zeitpunkt (Zeitpunkt, zu dem ein Befehl eines Blocks unmittelbar vor oder nach der Makroanweisung an eine Werkzeugmaschine oder ein Peripheriegerät ausgegeben wird) einer tatsächlichen Ausführung eines Blocks unmittelbar vor oder nach der Makroanweisung mit zunehmender Puffergröße des Vorabrufpuffers.
  • 8 und 9 sind Darstellungen, die den Vorabruf und die Ausführung von Blöcken eines Programms zeigen.
  • 8 zeigt ein Beispiel, bei dem ein Puffer erstellt wird, der dazu fähig ist, Daten 10 vorabgerufener Blöcke zu speichern. 9 zeigt ein Beispiel, bei dem ein Puffer erstellt wird, der dazu fähig ist, Daten 100 vorabgerufener Blöcke zu speichern. In 8 und 9 repräsentiert ein Rechteck einen Block und ein Programm wird durch mehrere vertikal gestapelte Rechtecke (Blöcke) repräsentiert.
  • In 8 und 9 sind Zustände des Vorabrufs und der Ausführung von Blöcken eines Programms in zeitlicher Reihenfolge von links nach rechts angeordnet. Die Blöcke des Programms werden von oben vorabgerufen und von oben ausgeführt. In 8 und 9 wird davon ausgegangen, dass Rechtecke mit diagonaler Schraffierung Makroanweisungen enthaltende Blöcke und andere Blöcke normale NC-Blöcke sind. Es wird davon ausgegangen, dass vollschwarze Rechtecke aktuell laufende Blöcke und Rechtecke mit vertikaler Schraffierung bereits ausgeführte Blöcke repräsentieren. Es wird davon ausgegangen, dass Blöcke bis zu einem mit einem Pfeil gekennzeichneten Block in den Vorabrufpuffer vorabgerufen wurden. Beispielsweise beginnen der Vorabruf und die Ausführung des Programms in 8 zum Zeitpunkt t0 und zum Zeitpunkt t1 wurden Blöcke bis zum fünften Block in den Puffer vorabgerufen und der erste Block wird ausgeführt.
  • Bei dem in 8 gezeigten Beispiel (bei dem 10 Blöcke vorabgerufen werden können) werden von dem aktuell laufenden Block an 10 Blöcke vorabgerufen. Zum Zeitpunkt to, zu dem das Programm gestartet wird, wird ein Vorabruf vom vordersten Block des Programms an durchgeführt und der erste Block ausgeführt. Dann ist zum Zeitpunkt t2, zu dem der zehnte Block vorabgerufen wurde, der Puffer voll und der Vorabruf stoppt. In dieser Phase wird der erste Block ausgeführt. Bei Abschluss der Ausführung des ersten Blocks wird ein Bereich des Puffers, der zum Vorabruf des ersten Blocks verwendet wurde, freigegeben und der elfte Block vorabgerufen. Auf diese Weise werden der Vorabruf und die Ausführung von Blöcken fortgesetzt. Zum Zeitpunkt ti, zu dem die Ausführung des siebten Blocks abgeschlossen ist und der achte Block ausgeführt wird, wird der siebzehnte Block (Rechteck mit diagonaler Schraffierung) vorabgerufen und analysiert (zu dieser Zeit wird die Makroanweisung verarbeitet).
  • Bei dem in 9 gezeigten Beispiel indessen (bei dem 100 Blöcke vorabgerufen werden können) werden von dem aktuell laufenden Block an 100 Blöcke vorabgerufen. Zum Zeitpunkt to, zu dem das Programm gestartet wird, wird ein Vorabruf vom vordersten Block des Programms an durchgeführt und der erste Block ausgeführt. Dann wird beispielsweise zum Zeitpunkt t4 der siebzehnte Block (Rechteck mit diagonaler Schraffierung) des Programms vorabgerufen und analysiert (zu dieser Zeit wird die Makroanweisung verarbeitet). Zu dieser Zeit wird der zweite Block ausgeführt.
  • Wie vorstehend beschrieben, ist in dem Fall, in dem ein Puffer zum Speichern von Daten vorabgerufener Blöcke eine große Puffergröße hat, die Zeitlücke zwischen dem Zeitpunkt des Vorabrufs eines Blocks und dem Zeitpunkt der Ausführung des Blocks größer als in dem Fall, in dem ein Puffer eine kleine Puffergröße hat. Folglich kann, wenn ein Programm ohne Pufferungsverhinderungsbefehl in einer numerischen Steuervorrichtung betrieben wird, in der ein Puffer zum Speichern von Daten vorabgerufener Blöcke eine große Puffergröße hat, aufgrund einer Zeitlücke eine große Differenz zwischen einem erwarteten Ausführungsergebnis und einem tatsächlichen Ausführungsergebnis auftreten, wodurch ein Problem entsteht. Wenn beispielsweise das Programm aus 7 in einer numerischen Steuervorrichtung ausgeführt wird, in der ein Puffer zum Speichern von Daten vorabgerufener Blöcke eine kleine Puffergröße hat, weicht ein der Variablen #500 zugewiesener Wert stark von demjenigen in dem Fall ab, in dem das Programm in einer numerischen Steuervorrichtung mit einer großen Puffergröße ausgeführt wird. Diese große Differenz kann zu einer Differenz zwischen Ausführungsergebnissen (Bestimmungsergebnissen in Block N0520) führen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Zur Minimierung des Auftretens solcher Probleme wird die Vorabrufsteuerung in erwünschter Weise so durchgeführt, dass Vorabrufe, die nicht jedes Mal notwendig sind, vermieden werden können, während notwendigen Vorabrufen bei Funktionen (wie etwa einer Geschwindigkeitsregelung), die einen Vorabruf erfordern, eine hohe Priorität eingeräumt wird. Dies ist darin begründet, dass Vorabrufe, die nicht jedes Mal notwendig sind, negative Auswirkungen, wie etwa eine Verfälschung eines Ausführungsergebnisses, haben können.
  • Außerdem kann, in dem Fall, in dem ein Puffer zum Speichern von Daten vorabgerufener Blöcke eine große Puffergröße hat, dahingehend ein anderes Problem auftreten, dass sich eine durch ein Verfahren zum Analysieren vorabgerufener Blöcke verursachte Last zur Programmausführungsstartzeit konzentriert. Wenn beispielsweise in einem Mehrpfadsystem die Ausführung von zwei oder mehr Programmen gleichzeitig gestartet wird, konzentrieren sich durch Programmanalyseverfahren in den jeweiligen Pfaden verursachte Lasten zur Programmausführungsstartzeit und die Verfahren können einander beeinflussen. Folglich werden Lasten während einer Zeitspanne, in der die Programme ausgeführt werden, bevorzugt zeitlich verteilt. Auch unter diesem Gesichtspunkt ist es besser, Vorabrufe, die nicht jedes Mal notwendig sind, nicht durchzuführen.
  • Folglich besteht Bedarf an einer numerischen Steuervorrichtung, die eine Steuerung so durchführt, dass basierend auf dem Zustand eines aktuell laufenden Programms eine geeignete Anzahl Blöcke vorabgerufen wird.
  • Eine numerische Steuervorrichtung gemäß einem Aspekt der vorliegenden Erfindung führt den Vorabruf fort, bis eine erforderliche Anzahl (die von einem Block abhängig ist) Blöcke zur Ausführung eines vorgegebenen Blocks nach einem aktuell laufenden Block gesichert (vorabgerufen und analysiert) ist, und stoppt den Vorabruf, wenn die erforderliche Anzahl Blöcke gesichert ist, wodurch das vorstehend beschriebene Problem gelöst wird.
  • Eine numerische Steuervorrichtung gemäß der vorliegenden Erfindung weist eine Funktion zum Vorabruf von Blöcken eines Programms auf und umfasst einen Vorabrufsuffizienzbestimmungsabschnitt und einen Vorabrufanalyseabschnitt. Der Vorabrufsuffizienzbestimmungsabschnitt bestimmt basierend darauf, ob wenigstens ein Block vorabgerufen wurde, der auf einen nach einem laufenden Block des Programms vorhandenen, vorgegebenen Referenzblock folgt, ob ein Blockabruf aus dem Programm ausreichend ist, wobei der wenigstens eine Block zum Ausführen des Referenzblocks notwendig ist. Der Vorabrufanalyseabschnitt führt einen Blockvorabruf aus dem Programm durch, wenn der Vorabrufsuffizienzbestimmungsabschnitt bestimmt, dass der Blockvorabruf aus dem Programm nicht ausreichend ist.
  • Wenn der Referenzblock einen Achsenvorschubbefehl ausgibt, kann der Vorabrufsuffizienzbestimmungsabschnitt bestimmen, dass der Blockvorabruf aus dem Programm ausreichend ist, sofern eine Achse vor Abschluss der Ausführung des wenigstens einen vorabgerufenen Blocks gestoppt werden kann, wenn die Achse mit einer durch den Befehl vorgegebenen Geschwindigkeitsbegrenzung bewegt wird.
  • Der Vorabrufsuffizienzbestimmungsabschnitt kann basierend auf einer erforderlichen Anzahl Blöcke oder einer Formel zum Berechnen einer erforderlichen Anzahl Blöcke, die für jeden Befehl oder jede Funktionen eingestellt ist, bestimmen, ob ein Blockvorabruf aus dem Programm ausreichend ist.
  • Der Referenzblock kann in Bezug auf den laufenden Block vorab statisch eingestellt werden.
  • Die numerische Steuervorrichtung kann ferner einen Referenzblockeinstellabschnitt umfassen, der den Referenzblock basierend auf einem Ausführungszustand des laufenden Blocks oder der zum Ausführen des wenigstens einen vorabgerufenen Blocks erforderlichen Zeit dynamisch einstellt.
  • Durch die vorliegende Erfindung kann eine geeignete Anzahl Blöcke basierend auf einem Zustand eines aktuellen laufenden Programms vorabgerufen werden.
  • Figurenliste
    • 1 ist eine Hardwarekonfigurationsdarstellung, die eine numerische Steuervorrichtung gemäß einer Ausführungsform schematisch darstellt.
    • 2 ist ein Funktionsblockdiagramm, das eine numerische Steuervorrichtung gemäß einer ersten Ausführungsform schematisch darstellt.
    • 3A und 3B sind Diagramme, die Fälle zeigen, in denen die Bewegung einer Achse während einer Zeitspanne, in der vorabgerufene Blöcke ausgeführt werden, nicht gestoppt werden kann.
    • 4 ist ein Diagramm, das einen Fall zeigt, in dem die Bewegung der Achse während einer Zeitspanne, in der vorabgerufene Blöcke ausgeführt werden, gestoppt werden kann.
    • 5 ist ein Funktionsblockdiagramm, das eine numerische Steuervorrichtung gemäß einer zweiten Ausführungsform schematisch darstellt.
    • 6 ist eine Darstellung zur Erläuterung der Einstellung eines Referenzblocks.
    • 7 ist eine Ansicht, die ein Beispiel eines Programms zeigt, das Makroanweisungen enthält.
    • 8 ist eine Darstellung, die ein Beispiel des Vorabrufs und der Ausführung von Blöcken eines Programms zeigt.
    • 9 ist eine Darstellung, die ein weiteres Beispiel des Vorabrufs und der Ausführung von Blöcken eines Programms zeigt.
  • GENAUE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • 1 ist eine Hardwarekonfigurationsdarstellung, die wesentliche Teile einer numerischen Steuervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung schematisch darstellt.
  • Eine numerische Steuervorrichtung 1 der vorliegenden Erfindung kann beispielsweise als numerische Steuervorrichtung implementiert werden, die eine Werkzeugmaschine basierend auf einem Programm steuert.
  • Eine CPU 11 der numerischen Steuervorrichtung 1 gemäß dieser Ausführungsform ist ein Prozessor, der die numerische Steuervorrichtung 1 insgesamt steuert. Die CPU 11 ruft über einen Bus 20 in einem ROM 12 gespeicherte Systemprogramme ab und steuert die gesamte numerische Steuervorrichtung 1 gemäß den Systemprogrammen. In einem RAM 13 werden temporäre Daten, wie etwa Berechnungsdaten und Anzeigedaten, verschiedene extern eingegebene Daten und dergleichen zwischengespeichert.
  • Ein nichtflüchtiger Speicher 14, der beispielsweise als Speicher oder Solid-State-Drive (SSD/Festkörperlaufwerk) ausgeführt ist, der/das eine Batterie (nicht gezeigt) zur Speichersicherung aufweist, erhält den Speicherzustand selbst dann aufrecht, wenn der Strom der numerischen Steuervorrichtung 1 abgeschaltet wird. Im nichtflüchtigen Speicher 14 werden über eine Schnittstelle 15 aus einem externen Gerät 72 ausgelesene Programme, über eine Anzeige-/MDI-Einheit 70 eingegebene Programme und dergleichen gespeichert. Solche Programme und verschiedene Arten von Daten, die im nichtflüchtigen Speicher 14 gespeichert werden, können während ihrer Ausführung bzw. Verwendung im RAM 13 weiterentwickelt werden. Das ROM 12 speichert verschiedene zuvor geschriebene Systemprogramme, wie etwa ein allgemein bekanntes Analyseprogramm.
  • Die Schnittstelle 15 ist eine Schnittstelle zum Verbinden der CPU 11 der numerischen Steuervorrichtung 1 und des externen Geräts 72, wie etwa eines USB-Geräts. Programme, verschiedene Parameter und dergleichen, die bei der Steuerung der Werkzeugmaschine verwendet werden, werden aus dem externen Gerät 72 ausgelesen. Programme, verschiedene Parameter und dergleichen, die in der numerischen Steuervorrichtung 1 editiert werden, können über das externe Gerät 72 in eine externe Speichereinrichtung (nicht gezeigt) gespeichert werden. Eine programmierbare Logiksteuereinrichtung (PLC/Programmable Logic Controller) 16 gibt gemäß einem eingebauten Sequenzprogramm der numerischen Steuervorrichtung 1 über eine Ein-/Ausgabe-Einheit 17 Signale an die Werkzeugmaschine (nicht gezeigt) und Peripheriegeräte (z.B. einen Werkzeugwechsler, einen Aktor eines Roboters oder dergleichen, einen an der Werkzeugmaschine angebrachten Sensor oder dergleichen) der Werkzeugmaschine aus, um die Werkzeugmaschine und die Peripheriegeräte zu steuern. Die PLC 16 empfängt Signale von verschiedenen Schaltern eines am Hauptkörper der Werkzeugmaschine bereitgestellten Bedienpanels, Peripheriegeräten und dergleichen und übermittelt die Signale nach Durchführung einer notwendigen Signalverarbeitung an die CPU 11.
  • Die Anzeige-/MDI-Einheit 70 ist eine manuelle Dateneingabe- (MDI/Manual Data Input) Einrichtung mit einer Anzeigeeinrichtung, einer Tastatur und dergleichen. Eine Schnittstelle 18 empfängt Befehle und Daten von der Tastatur der Anzeige-/MDI-Einheit 70 und übermittelt die Befehle und Daten an die CPU 11. Eine Schnittstelle 19 ist mit einem Bedienpanel 71 verbunden, das einen manuellen Impulsgeber oder dergleichen aufweist, der dazu verwendet wird, jede Achse manuell anzutreiben.
  • Eine Achsensteuerschaltung 30 zum Steuern einer Achse der Werkzeugmaschine empfängt einen angewiesenen Bewegungsbetrag für die Achse von der CPU 11 und gibt einen Befehl für die Achse an einen Servoverstärker 40 aus. Der Servoverstärker 40 empfängt diesen Befehl und treibt einen Servomotor 50 zum Bewegen der Achse der Werkzeugmaschine an. Der Servomotor 50 der Achse umfasst einen Positions-/Drehzahldetektor und führt ein vom Positions-/Drehzahldetektor empfangenes Positions-/Drehzahlrückführungssignal zur Achsensteuerschaltung 30 zurück, um eine Positions-/Drehzahlrückführungsregelung durchzuführen. Es wird darauf hingewiesen, dass die Hardwarekonfigurationsdarstellung von 1 lediglich eine Achsensteuerschaltung 30, einen Servoverstärker 40 und einen Servomotor 50 zeigt, tatsächlich aber Achsensteuerschaltungen 30, Servoverstärker 40 und Servomotoren 50 in einer der Anzahl der zu steuernden Achsen der Werkzeugmaschine entsprechenden Anzahl bereitgestellt werden.
  • Eine Spindelsteuerschaltung 60 empfängt einen Spindeldrehbefehl und gibt ein Spindeldrehzahlsignal an einen Spindelverstärker 61 aus. Der Spindelverstärker 61 empfängt das Spindeldrehzahlsignal und dreht einen Spindelmotor 62 der Werkzeugmaschine mit der angewiesenen Drehzahl, um das Werkzeug anzutreiben. Ein Positionscodierer 63 ist mit dem Spindelmotor 62 gekoppelt. Der Positionscodierer 63 gibt synchron mit der Drehung der Spindel einen Rückführungsimpuls aus. Der Rückführungsimpuls wird durch die CPU 11 gelesen.
  • 2 ist ein Funktionsblockdiagramm, das die numerische Steuervorrichtung 1 gemäß einer ersten Ausführungsform der vorliegenden Erfindung schematisch darstellt.
  • Jeder in 2 gezeigte Funktionsblock wird durch die in 1 gezeigte CPU 11 der numerischen Steuervorrichtung 1 implementiert, die Systemprogramme zum Steuern des Betriebs jedes Teils der numerischen Steuervorrichtung 1 ausführt.
  • Die numerische Steuervorrichtung 1 dieser Ausführungsform umfasst einen Vorabrufanalyseabschnitt 100 und einen Programmausführungsabschnitt 110. Ein Programm 200 zur Verwendung bei der Steuerung einer Werkzeugmaschine 2 wird vorab in den nichtflüchtigen Speicher 14 gespeichert. Ein Ausführungsdatenpuffer 210, der zum Ausführen von Blöcken eines Programms benötigte Ausführungsdaten speichert, ist im RAM 13 oder nichtflüchtigen Speicher 14 bereitgestellt.
  • Der Vorabrufanalyseabschnitt 100 wird durch die in 1 gezeigte CPU 11 der numerischen Steuervorrichtung 1 implementiert, die aus dem ROM 12 ausgelesene Systemprogramme ausführt, um unter Verwendung des RAM 13 und des nichtflüchtigen Speichers 14 hauptsächlich durch die CPU 11 eine Rechenverarbeitung durchzuführen. Der Vorabrufanalyseabschnitt 100 führt einen Vorabruf und eine Analyse von Blöcken des Programms 200 durch und übermittelt die als Ergebnis der Analyse erhaltenen Ausführungsdaten an den Ausführungsdatenpuffer 210. Wenn der Ausführungsdatenpuffer 102 über freien Platz verfügt und ein später beschriebener Vorabrufsuffizienzbestimmungsabschnitt 102 bestimmt, dass ein oder mehrere zum Ausführen eines Referenzblock notwendige Blöcke nicht vorabgerufen wurden, führt der Vorabrufanalyseabschnitt 100 einen Vorabruf eines oder mehrerer Blöcke des Programms 200 durch. Der Vorabrufanalyseabschnitt 100 umfasst den Vorabrufsuffizienzbestimmungsabschnitt 102 und einen Analyseabschnitt 104.
  • Der Vorabrufsuffizienzbestimmungsabschnitt 102 bestimmt, ob ein Blockvorabruf aus dem Programm 200 ausreichend ist. Der Vorabrufsuffizienzbestimmungsabschnitt 102 bestimmt basierend darauf ob, ein oder mehrere Blöcke abgerufen wurden, die für einen Referenzblock notwendig sind, der als Referenz dient, damit die Vorabrufsuffizienzbestimmung funktioniert, und der einer der bereits vorabgerufenen Blöcke ist, ob der Vorabruf ausreichend ist. Der Referenzblock kann beispielsweise ein Block unmittelbar nach einem Block, den der Programmausführungsabschnitt 110 aktuell ausführt, oder ein Block sein, der sich zwei oder drei Blöcke nach dem Block befindet, den der Programmausführungsabschnitt 110 aktuell ausführt. Der Referenzblock kann vorab in einem im nichtflüchtigen Speicher 14 bereitgestellten Einstellbereich in Bezug auf den Block, den der Programmausführungsabschnitt 110 aktuell ausführt, statisch eingestellt werden. Wenn kein als Referenzblock eingestellter Block vorabgerufen wurde, bestimmt der Vorabrufsuffizienzbestimmungsabschnitt 102 jedes Mal, dass der Vorabruf nicht ausreichend ist.
  • Wenn der Referenzblock beispielsweise ein Block ist, der einen Achsenvorschubbefehl ausgibt, bestimmt der Vorabrufsuffizienzbestimmungsabschnitt 102 basierend darauf, ob ein oder mehrere Blöcke vorabgerufen wurden, die zum Erreichen einer ausreichenden Geschwindigkeit des Achsenvorschubbefehls im Referenzblock ausreichend sind, ob der Vorabruf ausreichend ist.
  • Die Beziehung zwischen dem Blockvorabruf und einer Beschränkung der Achsenvorschubgeschwindigkeit ist unter Bezugnahme auf 3A, 3B und 4 beschrieben.
  • 3A, 3B und 4 zeigen die Beziehung zwischen Geschwindigkeit und Zeit, wenn eine Achse im Referenzblock N bewegt und dann gestoppt wird. In den Beispielen von 3A, 3B und 4 ist der Referenzblock N ein Achsenvorschubbefehl und eine Geschwindigkeitsbegrenzung für den Befehl ist auf VI eingestellt. Die horizontale Achse stellt die zum Ausführen der Blöcke erforderliche Zeit dar. Wenn beispielsweise die Ausführung von Block N+1 gestartet wird, während sich die Achse mit der Geschwindigkeitsbegrenzung VI bewegt, und Block N+1 ausgeführt wird, während die Geschwindigkeit mit einer maximalen Verzögerung reduziert wird, beträgt die zum Ausführen von Block N+1 erforderliche Zeit (t2 - t1). Die Geschwindigkeitsbegrenzung VI wird beispielsweise basierend auf einem maximalen Geschwindigkeitswert, der als Maximalgeschwindigkeit der Achse in der numerischen Steuervorrichtung 1 oder der Werkzeugmaschine 2 eingestellt ist, einem Befehlswert in jedem Block und anderen Faktoren eingestellt. Die vorstehend beschriebene Beziehung zwischen Geschwindigkeit und Zeit kann in dem Fall, in dem die Achse gestoppt wird, durch Analysieren vorabgerufener Blöcke berechnet werden.
  • Bei den Beispielen von 3A und 3B werden bis zu Block N+4 Blöcke aus dem Programm 200 vorabgerufen. Zu dieser Zeit kann, wie in dem Diagramm von 3A gezeigt, wenn die Achse im Referenzblock N mit der Geschwindigkeitsbegrenzung VI vorgeschoben wird, die Achse selbst dann nicht bis zum Abschlusszeitpunkt t5 (d.h. der Startzeit von Block N+5) von Block N+4 gestoppt werden, wenn die Geschwindigkeit mit einer maximalen Verzögerung reduziert wird, die für die Achse eingestellt ist und anhand von Werten berechnet wird, die eine maximale Verzögerung jeder Achse umfassen. Folglich wird, wie in dem Diagramm von 3B gezeigt, wenn bis zu Block N+4 Blöcke vorabgerufen wurden, die Geschwindigkeit in Block N auf eine Geschwindigkeit Vr beschränkt, die das Stoppen des Achsenvorschubs bis zum Zeitpunkt t5' sicherstellt, zu dem die Ausführung von Block N+4 abgeschlossen ist. In einem solchen Fall bestimmt der Vorabrufsuffizienzbestimmungsabschnitt 102, dass der Vorabruf nicht ausreichend ist, da ein oder mehrere Blöcke, die zum Erreichen einer ausreichenden Geschwindigkeit des Achsenvorschubbefehls im Referenzblock N ausreichend sind, nicht vorabgerufen wurden.
  • Bei dem Beispiel von 4 werden bis zu Block N+5 Blöcke aus dem Programm 200 vorabgerufen. Zu dieser Zeit kann, wenn die Achse im Referenzblock N mit der Geschwindigkeitsbegrenzung VI vorgeschoben wird und die Achse beispielsweise in Block N+6 gestoppt werden muss, welcher nicht vorabgerufen wurde, die Achse bis zum Startzeitpunkt von Block N+6 gestoppt werden, wenn die Geschwindigkeit mit der maximalen Verzögerung reduziert wird, die für die Achse eingestellt ist. Folglich muss in der Situation, in der bis zu Block N+5 Blöcke vorabgerufen wurden, die Vorschubgeschwindigkeit der Achse in Block N nicht beschränkt werden und die Geschwindigkeit kann auf die Geschwindigkeitsbegrenzung VI erhöht werden. In einem solchen Fall bestimmt der Vorabrufsuffizienzbestimmungsabschnitt 102, dass der Vorabruf ausreichend ist, da ein oder mehrere Blöcke, die zum Erreichen einer ausreichenden Geschwindigkeit des Achsenvorschubbefehls im Referenzblock N ausreichend sind, vorabgerufen wurden.
  • Neben der vorstehend beschriebenen, auf der Achsenvorschubgeschwindigkeit basierenden Vorabrufsuffizienzbestimmung kann der Vorabrufsuffizienzbestimmungsabschnitt 102 basierend darauf, ob eine geeignete Anzahl Blöcke abgerufen wurde, die für den Befehl des Referenzblocks erforderlich ist, unter Verwendung der erforderlichen Anzahl Blöcke, die beispielsweise für jeden Befehl vorgegeben ist, bestimmen, ob der Vorabruf ausreichend ist. Alternativ kann der Vorabrufsuffizienzbestimmungsabschnitt 102 basierend darauf, ob eine geeignete Anzahl Blöcke vorabgerufen wurde, die für eine aktuell in der numerischen Steuervorrichtung 1 verwendete Funktion (wie etwa eine Werkzeugradiuskorrekturfunktion oder eine Kurvenapproximationsfunktion) erforderlich ist, bestimmen, ob der Vorabruf ausreichend isst. Bei der Werkzeugradiuskorrekturfunktion müssen, um zu verhindern, dass durch die Werkzeugradiuskorrektur ein Niveauunterschied zwischen Blöcken, eine gegenseitige Beeinträchtigung zwischen dem Werkzeug und einem Werkzeug und dergleichen verursacht werden, wenigstens zwei aufeinanderfolgende Blöcke vorabgerufen werden, um einen korrigierten Pfad zu analysieren. Bei der Kurvenapproximationsfunktion wird eine Kurve, die anhand einer Reihe angewiesener Punkte approximiert wird, welche durch mehrere Blöcke angewiesen wird, unter Verwendung eines vorgegebenen Algorithmus berechnet und es muss eine geeignete Anzahl Blöcke vorabgerufen werden, die für den Algorithmus erforderlich ist oder eine ausreichende Anzahl angewiesener Punkte anweist, welche ausreichend ist, um durch den Algorithmus eine korrekte approximierte Kurve zu berechnen. Wenn für jeden Befehl oder jede Funktion eine erforderliche Anzahl Blöcke wie vorstehend beschrieben verwendet wird, kann die erforderliche Anzahl Blöcke oder eine Formel zum Berechnen der erforderlichen Anzahl Blöcke für jeden Befehl oder jede Funktion in einem im nichtflüchtigen Speicher 14 bereitgestellten Einstellbereich vorab eingestellt werden.
  • Der Analyseabschnitt 104 analysiert aus dem Programm 200 vorabgerufene Blöcke und speichert als Ergebnis der Analyse erhaltene Ausführungsdaten im Ausführungsdatenspeicher 210. Der Ausführungsdatenspeicher 210 speichert Informationen, wie etwa modale Informationen jedes vorabgerufenen Blocks, den Bewegungsbetrag jeder Achse, die angewiesene Anzahl Umdrehungen der Spindel und die Vorschubgeschwindigkeit. Die durch den Analyseabschnitt 104 durchgeführte Analyse bedeutet eine Umwandlung von Blöcken als Quellcode in einen Objektcode als Ausführungsdaten, die durch den Computer erkannt werden können. Diese Umwandlung umfasst die Schritte: (1) lexikalische Analyse, (2) Makroanalyse, (3) Makroausführung, (4) syntaktische Analyse, (5) semantische Analyse, (6) Objektcodegenerierung, (7) Optimierung und dergleichen. Details der durch den Analyseabschnitt 104 durchgeführten Analyseverarbeitung sind beispielsweise in der offengelegten japanischen Patentanmeldung Nr. 2008-293261 ausführlich beschrieben und sind daher nicht in der Beschreibung der vorliegenden Anmeldung angegeben.
  • Der Programmausführungsabschnitt 110 wird durch die in 1 gezeigte CPU 11 der numerischen Steuervorrichtung 1 implementiert, die aus dem ROM 12 ausgelesene Systemprogramme ausführt, um unter Verwendung des RAM 13 und des nichtflüchtigen Speichers 14 hauptsächlich durch die CPU 11 eine Rechenverarbeitung und eine Verarbeitung zum Steuern der Werkzeugmaschine 2 durch die Achsensteuerschaltung 30, die Spindelsteuerschaltung 60, die PLC 16 und dergleichen durchzuführen. Der Programmausführungsabschnitt 110 steuert den Betrieb der Werkzeugmaschine 2 basierend auf den im Ausführungsdatenspeicher 210 gespeicherten Ausführungsdaten. Der Programmausführungsabschnitt 110 weist Funktionen zur allgemeinen Steuerung auf, die zum Steuern verschiedener Teile der Werkzeugmaschine 2 benötigt werden, wie etwa das Ausgeben eines Bewegungsbefehls für jede Steuerperiode basierend auf den Ausführungsdaten an jeden der Motoren, die die Achsen der Werkzeugmaschine 2 antreiben, das Steuern von Peripheriegeräten der Werkzeugmaschine 2 und dergleichen. Der Programmausführungsabschnitt 110 weist außerdem die Funktion auf, dem Vorabrufanalyseabschnitt 100 den aktuell ausgeführten Block zu melden.
  • Die numerische Steuervorrichtung 1 mit der vorstehend beschriebenen Konfiguration gemäß dieser Ausführungsform kann eine Steuerung so durchführen, dass eine geeignete Anzahl Blöcke, die für einen vorgegebenen Referenzblock erforderlich ist, basierend auf dem Zustand des aktuell laufenden Programms vorabgerufen wird. Dies verhindert, dass mehr Blöcke vorabgerufen werden als nötig, und minimiert den Einfluss, den der Vorabruf auf die Ausführung von Makros ausübt. Außerdem wird die Lastkonzentration während der Programmausführung reduziert, da nicht mehr Blöcke als nötig vorabgerufen oder analysiert werden. Es wird davon ausgegangen, dass der Einfluss, den der Vorabruf auf die Zusammenarbeit zwischen Programmen ausübt, reduziert wird.
  • 5 ist ein Funktionsblockdiagramm, das die numerische Steuervorrichtung 1 gemäß einer zweiten Ausführungsform der vorliegenden Erfindung schematisch darstellt.
  • Jeder in 5 gezeigte Funktionsblock wird durch die in 1 gezeigte CPU 11 der numerischen Steuervorrichtung 1 implementiert, die Systemprogramme zum Steuern des Betriebs jedes Teils der numerischen Steuervorrichtung 1 ausführt.
  • Die numerische Steuervorrichtung 1 dieser Ausführungsform unterscheidet sich dahingehend von der numerischen Steuervorrichtung 1 gemäß der ersten Ausführungsform, dass der Vorabrufanalyseabschnitt 100 ferner einen Referenzblockeinstellabschnitt 106 umfasst.
  • Der Referenzblockeinstellabschnitt 106 stellt basierend auf dem Ausführungszustand eines aktuell laufenden Blocks und der zum Ausführen vorabgerufener Blöcke erforderlichen Zeit einen Referenzblock dynamisch ein, der durch den Vorabrufsuffizienzbestimmungsabschnitt 102 als Referenz zum Bestimmen verwendet wird, ob der Blockvorabruf aus dem Programm 200 ausreichend ist. Der Referenzblockeinstellabschnitt 106 kann den Referenzblock beispielsweise basierend auf der zum Ausführen des aktuell laufenden Blocks erforderlichen Zeit und der zum Ausführen jedes vorabgerufenen Blocks erforderlichen Zeit einstellen.
  • 6 ist eine Darstellung, die die Zeit zeigt, die zum Ausführen eines laufenden Blocks sowie vorabgerufener Blöcke N bis N+3 erforderlich ist.
  • Der Referenzblockeinstellabschnitt 106 stellt beispielsweise basierend auf einem Schwellenwert tth der für die Vorabrufanalyse erforderlichen Zeit, der vorab in einem Einstellbereich des nichtflüchtigen Speichers 14 eingestellt wird, einen Block unmittelbar nach einem Block, der während der dem Schwellenwert tth entsprechenden Zeit ausgeführt werden kann, als Referenzblock ein. Bei dem Beispiel von 6 wird angenommen, dass, wenn die dem Schwellenwert tth entsprechende Zeit abgelaufen ist, Block N bereits ausgeführt wird, weshalb der Referenzblockeinstellabschnitt 106 Block N+1, der ein Block unmittelbar nach Block N ist, als Referenzblock einstellt.
  • Bei der numerischen Steuervorrichtung 1 gemäß der ersten Ausführungsform wird ein Referenzblock vorab statisch eingestellt und basierend auf dem eingestellten Referenzblock eine Vorabrufsuffizienzbestimmungsverarbeitung durchgeführt. In dem Fall beispielsweise, in dem die Ausführung eines aktuell laufenden Blocks oder eines auf den laufenden Block folgenden Blocks innerhalb einer kurzen Zeitspanne abgeschlossen wird, kann, wenn die Einstellung des Blocks unmittelbar nach dem laufenden Block als Referenzblock statisch durchgeführt wird, die Ausführung des Referenzblocks in manchen Fällen zum Zeitpunkt des Abschlusses der Vorabrufsuffizienzbestimmungsverarbeitung jedoch bereits laufen oder bereits abgeschlossen sein. Folglich kann bei der numerischen Steuervorrichtung 1 gemäß dieser Ausführungsform ein solches Problem durch Bereitstellen des Referenzblockeinstellabschnitts 106 verhindert werden, der einen Referenzblock dynamisch einstellt.
  • Obgleich vorstehend Ausführungsformen der vorliegenden Erfindung beschrieben sind, ist die vorliegende Erfindung nicht ausschließlich auf die vorstehend beschriebenen beispielhaften Ausführungsformen beschränkt und kann durch Vornehmen geeigneter Modifikationen unter verschiedenen Aspekten realisiert werden.
  • 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 9069003 [0002, 0003]
    • JP 2007094936 [0002, 0004]
    • JP 2008293261 [0002, 0045]

Claims (5)

  1. Numerische Steuervorrichtung, die eine Funktion zum Vorabruf von Blöcken eines Programms aufweist, wobei die numerische Steuervorrichtung umfasst: einen Vorabrufsuffizienzbestimmungsabschnitt, der dazu eingerichtet ist, basierend darauf, ob wenigstens ein Block vorabgerufen wurde, der auf einen nach einem laufenden Block des Programms vorhandenen, vorgegebenen Referenzblock folgt, zu bestimmen, ob ein Blockabruf aus dem Programm ausreichend ist, wobei der wenigstens eine Block zum Ausführen des Referenzblocks notwendig ist, und einen Vorabrufanalyseabschnitt, der dazu eingerichtet ist, einen Blockvorabruf aus dem Programm durchzuführen, wenn der Vorabrufsuffizienzbestimmungsabschnitt bestimmt, dass der Blockvorabruf aus dem Programm nicht ausreichend ist.
  2. Numerische Steuervorrichtung nach Anspruch 1, wobei, wenn der Referenzblock einen Achsenvorschubbefehl ausgibt, der Vorabrufsuffizienzbestimmungsabschnitt bestimmt, dass der Blockvorabruf aus dem Programm ausreichend ist, sofern eine Achse vor Abschluss der Ausführung des wenigstens einen vorabgerufenen Blocks gestoppt werden kann, wenn die Achse mit einer durch den Befehl vorgegebenen Geschwindigkeitsbegrenzung bewegt wird.
  3. Numerische Steuervorrichtung nach Anspruch 1, wobei der Vorabrufsuffizienzbestimmungsabschnitt basierend auf einer erforderlichen Anzahl Blöcke oder einer Formel zum Berechnen einer erforderlichen Anzahl Blöcke, die für jeden Befehl oder jede Funktionen eingestellt ist, bestimmt, ob ein Blockvorabruf aus dem Programm ausreichend ist.
  4. Numerische Steuervorrichtung nach Anspruch 1, wobei der Referenzblock in Bezug auf den laufenden Block vorab statisch eingestellt wird.
  5. Numerische Steuervorrichtung nach Anspruch 1, die ferner umfasst: einen Referenzblockeinstellabschnitt, der dazu eingerichtet ist, den Referenzblock basierend auf einem Ausführungszustand des laufenden Blocks oder der zum Ausführen des wenigstens einen vorabgerufenen Blocks erforderlichen Zeit dynamisch einzustellen.
DE102020001990.0A 2019-04-05 2020-03-27 Numerische Steuervorrichtung Pending DE102020001990A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-073047 2019-04-05
JP2019073047A JP6997131B2 (ja) 2019-04-05 2019-04-05 数値制御装置

Publications (1)

Publication Number Publication Date
DE102020001990A1 true DE102020001990A1 (de) 2020-10-08

Family

ID=72518473

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020001990.0A Pending DE102020001990A1 (de) 2019-04-05 2020-03-27 Numerische Steuervorrichtung

Country Status (4)

Country Link
US (1) US11112774B2 (de)
JP (1) JP6997131B2 (de)
CN (1) CN111796555A (de)
DE (1) DE102020001990A1 (de)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63263502A (ja) * 1987-04-21 1988-10-31 Osaka Kiko Co Ltd 数値制御工作機械に於ける加工情報の創成方法
US5619663A (en) * 1994-09-16 1997-04-08 Philips Electronics North America Corp. Computer instruction prefetch system
JP3810454B2 (ja) 1995-09-01 2006-08-16 ファナック株式会社 Cncの工具径補正方法
JP2007094936A (ja) 2005-09-30 2007-04-12 Fanuc Ltd 数値制御装置
JP2007164509A (ja) 2005-12-14 2007-06-28 Fanuc Ltd 数値制御装置
JP4271248B2 (ja) 2007-05-24 2009-06-03 ファナック株式会社 先読み停止機能を有する数値制御装置
JP4351281B2 (ja) * 2007-12-13 2009-10-28 ファナック株式会社 5軸加工機を制御する数値制御装置
CN104303118B (zh) * 2012-05-15 2016-10-12 三菱电机株式会社 数控装置
JP6444938B2 (ja) * 2016-05-12 2018-12-26 ファナック株式会社 条件指定による加工プログラム先読み開始機能を備えた数値制御装置
CN109085798B (zh) * 2018-08-06 2021-01-26 常州工业职业技术学院 一种嵌入式系统g代码异步通讯机制、协议及编程方法

Also Published As

Publication number Publication date
JP6997131B2 (ja) 2022-01-17
CN111796555A (zh) 2020-10-20
US20200319887A1 (en) 2020-10-08
US11112774B2 (en) 2021-09-07
JP2020170470A (ja) 2020-10-15

Similar Documents

Publication Publication Date Title
DE102017004366B4 (de) Numerische Steuervorrichtung
DE102016010064B4 (de) Numerische Steuerung mit Bearbeitungsbedingungsanpassungsfunktion zum Verringern des Auftretens von Rattern oder Werkzeugverschleiss/-bruch
DE112006000330T5 (de) Numerische Steuerungsvorrichtung
DE102015200870A1 (de) Gerät zum Erzeugen eines NC-Programms, das eine Leistungseinsparung berücksichtigt
DE102017001655A1 (de) Numerische Steuervorrichtung
WO2002020213A2 (de) Werkzeugmaschine mit kollisionsprüfung
EP3256918A1 (de) Verfahren zum überwachen einer werkzeugmaschine
DE102016000160B4 (de) Numerische Steuerung, eingerichtet für einen Teach-Betrieb mit wechselnden Arbeitsbereichen
DE102020003527A1 (de) Numerische Steuervorrichtung
DE102019007383A1 (de) Numerische Steuerung
EP2574997A1 (de) Verfahren zur Einstellung eines Betriebszustandes
DE102016006761B4 (de) Numerische Steuervorrichtung
EP0801340A1 (de) Verfahren und Vorrichtung zur Steuerung einer Werkzeugmaschine, insbesondere einer Funkenerosionsmaschine
DE102019007382A1 (de) Numerische Steuerung
EP3658996B1 (de) Verfahren zum betrieb einer numerisch gesteuerten produktionsanlage sowie produktionsanlage dazu
DE102020001990A1 (de) Numerische Steuervorrichtung
DE4130015A1 (de) Numerische steuerung zum vereinfachen des werkzeugwechsels
DE102015015954A1 (de) Numerische Steuerung
DE10110444A1 (de) Verfahren und Vorrichtung zum Ermitteln der Auslastung eines Rechengeräts
DE102016001642B4 (de) Numerische Steuerung mit übermäßige Positionsabweichungen unterbindender Geschwindigkeitssteuerung
DE102016010902B4 (de) Numerische Steuervorrichtung mit automatischer Protokollierfunktion eines zugehörigen Signals gemäss NC-Programmbetrieb
DE102018125090A1 (de) Verfahren zur Datenverarbeitung und speicherprogrammierbare Steuerung
DE102017001765A1 (de) Numerische steuerung für werkzeugmaschine
DE10132036C2 (de) Automatisierungssystem und Verfahren mit Funktionen in einer Auszeichnungssprache
DE102018005007B4 (de) Numerische Steuervorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed