DE102015009583A1 - Numerische Steuerung mit DNC-Betriebseinheit - Google Patents

Numerische Steuerung mit DNC-Betriebseinheit Download PDF

Info

Publication number
DE102015009583A1
DE102015009583A1 DE102015009583.8A DE102015009583A DE102015009583A1 DE 102015009583 A1 DE102015009583 A1 DE 102015009583A1 DE 102015009583 A DE102015009583 A DE 102015009583A DE 102015009583 A1 DE102015009583 A1 DE 102015009583A1
Authority
DE
Germany
Prior art keywords
machining program
unit
point
caching
block
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.)
Granted
Application number
DE102015009583.8A
Other languages
English (en)
Other versions
DE102015009583B4 (de
Inventor
Yoshito Miyazaki
Hiroshige Ando
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 DE102015009583A1 publication Critical patent/DE102015009583A1/de
Application granted granted Critical
Publication of DE102015009583B4 publication Critical patent/DE102015009583B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/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
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34376Management nc programs, files

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Geometry (AREA)

Abstract

In einer nummerischen Steuerung mit DC-Betriebseinheit hat eine Automatikbetriebsausführungseinheit eine Zwischenspeicherungsabschlussprüfungsergebnishalteeinheit zum Prüfen, ob ein Abschnitt eines zwischenzuspeichernden Bearbeitungsprogrammes einen Zwischenspeicherungspunkt enthält, eine Ausführungsprüfungsergebnishalteeinheit zum Prüfen, ob ein Abschnitt des auszuführenden Bearbeitungsprogrammes einen Zwischenspeicherungspunkt enthält, eine Vergleichseinheit zum Vergleichen der Zwischenspeicherungsabschlussprüfungsergebnishalteeinheit mit der Ausführungsprüfungsergebnishalteeinheit, und eine Ausführungseinheit zum Ausführen einer Fortsetzung, Aussetzung oder Wiederaufnahme des Automatikbetriebs entsprechend dem Vergleichsergebnis.

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die Erfindung betrifft eine numerische Steuerung und insbesondere eine solche, welche die Zeitfolge des Auslesens und Speicherns eines Bearbeitungsprogrammes und die Zeitfolge der Betriebsausführung auf Basis eines Bearbeitungsprogrammes steuert, auch wenn die Übertragungsrate des Bearbeitungsprogrammes gering ist.
  • 2. Zum Stand der Technik
  • Eine numerische Steuerung lädt ein Bearbeitungsprogramm, das in einem internen Speicher gehalten wird, und führt einen automatischen Betrieb durch. Die jüngste Verbreitung von CAD/CAM-Systemen ermöglicht die Erzeugung eines Bearbeitungsprogrammes, mit dem eine komplexe, frei formbare Bearbeitungsoberfläche durch Interpolation mit feinsten Liniensegmenten erreichbar ist, was aber die Bearbeitungsprogramme zunehmend umfangreich macht. Damit eine numerische Steuerung ein extrem umfangreiches Bearbeitungsprogramm ausführen kann, muss ein interner Speicher hinsichtlich seiner Kapazität vergrößert werden. Die Vergrößerung der Kapazität des internen Speichers treibt die Kosten und verringert die Geschwindigkeit und hat auch als solches Grenzen.
  • Ein Speichermedium als Hilfsspeicher, wie zum Beispiel eine marktübliche Floppydisk (registrierte Marke) oder eine CompactFlash-Karte (registrierte Marke) kann an die numerische Steuerung angeschlossen werden und ein Bearbeitungsprogramm kann in diesem Speichermedium gespeichert werden (vgl. japanische Patentveröffentlichung Nr. 2005-135153 ). Bekannt ist ein sogenannter DNC-Betrieb (Distributed Numerical Control; verteilte numerische Steuerung), bei dem der Betrieb ausgeführt wird während der Auslesung eines Bearbeitungsprogrammes, das in einem Hilfsspeicher gesichert ist. Damit wird ein interner Speicher mit begrenzter Kapazität ergänzt (vgl. z. B. japanische Patentveröffentlichung 2004-078476 ).
  • Ein DNC-Betrieb ist auch in einer Konfiguration bekannt, in welcher ein Computer als Hauptrechner („Host”) und eine numerische Steuerung verbunden sind. Bei dem DNC-Betrieb werden über ein Verbindungsmittel übertragene Bearbeitungsprogrammdaten in einer Datei oder einem Speicher der numerischen Steuerung akkumuliert und die numerische Steuerung steuert die Bearbeitung unter Verwendung der akkumulierten Bearbeitungsprogrammdaten (vgl. z. B. japanische Patentveröffentlichung 2003-195930 ).
  • Die Auslesezeitspanne beim Auslesen eines Bearbeitungsprogrammes im DNC-Betrieb, wie oben beschrieben, ist länger als das Auslesen aus einem internen Speicher einer numerischen Steuerung, unabhängig davon, ob die Auslesung aus einem Hilfsspeicher erfolgt oder durch Transfer aus einem Host (Hauptrechner). Dies verlängert im Allgemeinen die Bearbeitungszeit. Um eine Verlängerung der Bearbeitungszeit zu vermeiden, kann der Betrieb durch Block-nach-Block-Abarbeitung der Bearbeitungsprogrammdaten erfolgen, die in einem internen Speicher der numerischen Steuerung akkumuliert sind, wobei das Ergebnis einer Auslesung aus einem Hilfsspeicher oder einem Host in dem Speicher akkumuliert ist. Dazu führt die japanische Patentveröffentlichung 07-239707 eine Fernbetriebsfunktion ein zum sequenziellen Entnehmen von Bearbeitungsprogrammdaten in einen Betriebszwischenspeicher in einem Speicher, und zwar Block-für-Block, um den Betrieb auszuführen während der Akkumulation von Bearbeitungsprogrammdaten in dem Betriebszwischenspeicher, die von einem Host zur numerischen Steuerung übertragen werden.
  • 13 ist ein Fernbetriebssteuerungsblockdiagramm einer numerischen Steuerung 100 mit einer Fernbetriebsfunktion gemäß der japanischen Patentveröffentlichung 07-239707 . Von einem Host 200 übertragene Bearbeitungsprogrammdaten PD werden über eine Kommunikationssteuereinheit 140 der numerischen Steuerung 100 in einen Betriebszwischenspeicher 150 übertragen. Die in den Betriebszwischenspeicher 150 übertragenen Bearbeitungsprogrammdaten PD werden Block für Block in eine Blockanalyseeinheit 110 entnommen und die entnommenen Blöcke werden sequenziell analysiert. Jedes Analyseergebnis SR wird in eine Blockausführungseinheit 120 überführt und die Bearbeitung wird ausgeführt.
  • 14 ist ein Blockdiagramm einer Fernbetriebsfunktion mit Auslesung von Bearbeitungsprogrammdaten aus einem Hilfsspeicher 300 anstelle der Übertragung von Bearbeitungsprogrammdaten aus dem Host 200. 14 entspricht 13 mit der Ausnahme, dass die Bearbeitungsprogrammdaten PD aus dem Hilfsspeicher 300 in den Betriebszwischenspeicher 150 übertragen werden.
  • Eine numerische Steuerung mit der oben beschriebenen Fernbetriebsfunktion leidet an den nachfolgenden Nachteilen. Ist der Vorgang der Übertragung von Blöcken der Bearbeitungsprogrammdaten vom Host oder Hilfsspeicher zu dem Betriebszwischenspeicher langsamer als der Vorgang der Entnahme der Bearbeitungsprogrammdaten durch die Blockanalyseeinheit und die Blockausführungseinheit, kann der Betriebszwischenspeicher leerlaufen und die Bearbeitung stoppen, sodass eine Schneidmarke am Werkstück verbleiben kann oder Vibrationen auftreten können.
  • Um dieses Problem zu überwinden, beschreibt die japanische Patentveröffentlichung 07-239707 ein Verfahren zum Vermeiden einer Schneidmarkierung oder von Vibrationen aufgrund eines Stopps der Bearbeitung, bei dem eine Schneidvorschubrate reduziert wird wenn die im Betriebszwischenspeicher verbliebene Datenmenge des Bearbeitungsprogrammes unter eine vorgegeben Blockzahl abfällt.
  • Allgemein besteht allerdings keine Gewähr für einen oberen Grenzwert bezüglich der Zeitspanne zum Auslesen aus einem Hilfsspeicher. Die Übertragung von einem Host zu einer numerischen Steuerung hängt im allgemeinen ab von der Rost- oder Netzwerkbelastung und ein oberer Grenzwert für die Zeitspanne für die Übertragung kann im allgemeinen nicht festgelegt werden, wie auch eine Zeitspanne für das Auslesen aus einem Hilfsspeicher. Deshalb hat das in der japanischen Patentveröffentlichung 07-239707 beschriebene Verfahren das nachfolgende Problem. Es ist unklar, wie stark die Schneidvorschubrate tatsächlich zu reduzieren ist, um ein Leerlaufen des Betriebszwischenspeichers zu vermeiden.
  • Die japanische Patentveröffentlichung 07-239707 beschreibt auch eine Lösung zur Vermeidung einer Schneidmarke oder von Vibrationen durch Zurückziehen eines Werkzeuges beim Schneiden in axialer Richtung, in welcher das Werkzeug wirkt, im schlimmsten Falle eines Leerlaufens des Betriebszwischenspeichers. Ein Betrieb mit Zurückziehung des Werkzeuges beim Schneidvorschub und sodann Rückführung des Werkzeuges verursacht aber Probleme hinsichtlich der Bearbeitungsqualität der Oberfläche und ist nicht anwendbar bei Endbearbeitungen oder dergleichen. Deshalb kann nicht gesagt werden, die Probleme seien gelöst. Die japanische Patentveröffentlichung 07-239707 ermöglicht eine Einstellung zur Freigabe der Werkzeugrückziehfunktion, wie oben beschrieben. Allerdings hat dieser Stand der Technik auch das nachfolgende Problem. Läuft ein Bearbeitungsprogramm in einem Betriebszwischenspeicher tatsächlich leer in einem Bereich, in dem die Werkzeugrückziehfunktion nicht freigegeben ist, können Schneidmarken oder Vibrationen nicht vermieden werden.
  • Weiterhin sind gemäß der japanischen Patentveröffentlichung 07-239707 das Ausmaß der Reduktion der Schneidvorschubrate (Schneidvorschub-Übersteuerung), die Reduzierung der Rate überhaupt, und die Freigabe der Werkzeugrückziehfunktion und dergleichen im Bearbeitungsprogramm spezifiziert. Ist ein Bearbeitungsprogramm lang, ist die Edition der Einzelheiten dieses Bereichs des Bearbeitungsprogrammes zum Ändern derartiger Einstellungen je nach Bedarf sehr mühsam und praktisch nicht handhabbar.
  • KURZBESCHREIBUNG DER ERFINDUNG
  • Ein Ziel der vorliegenden Erfindung ist die Bereitstellung einer nummerischen Steuerung, die in der Lage ist, die Zeitfolge beim Auslesen und Zwischenspeichern eines Bearbeitungsprogrammes und die Zeitfolge bei dessen Ausführung zu steuern, wenn die Übertragungsrate des Bearbeitungsprogrammes gering ist.
  • Eine nummerische Steuerung mit einer DNC-Betriebseinheit gemäß der Erfindung speichert ein Bearbeitungsprogramm in einen internen Speicher zwischen, welches aus einer externen Speichereinrichtung oder einer externen Steuerung über eine Verbindungseinheit geladen wird und führt einen automatischen Betreib aus auf Basis des zwischengespeicherten Bearbeitungsprogrammes mittels einer automatischen Betriebsausführungseinheit. Das Bearbeitungsprogramm enthält einen oder mehrere Zwischenspeicherpunkte und die automatische Betriebsausführungseinheit hat eine Zwischenspeicherungsabschlussprüfungsergebnishalteeinheit zum Prüfen, ob ein Abschnitt des zwischenzuspeichernden Bearbeitungsprogrammes einen Zwischenspeicherpunkt hat und zum Halten eines Ergebnisses der Prüfung der Zwischenspeicherung des Abschnittes des Bearbeitungsprogrammes in dem internen Speicher, eine Ausführungsprüfungsergebnishalteeinheit um dann, wenn die automatische Betriebsausführungseinheit einen Abschnitt des im internen Speicher zwischengespeicherten Bearbeitungsprogrammes ausführt, zu prüfen, ob der auszuführende Abschnitt des Bearbeitungsprogrammes einen Zwischenspeicherungspunkt enthält und um das Ergebnis der Prüfung zu halten, eine Vergleichseinheit zum Vergleichen des durch die Zwischenspeicherungsabschlussprüfungsergebnishalteeinheit gehaltenen Ergebnisses mit dem durch die Ausführungsprüfungsergebnishalteeinheit gehaltenen Ergebnis, und eine Ausführungseinheit zum Ausführen einer Fortsetzung, Aussetzung oder Wiederaufnahme des automatischen Betriebs entsprechend dem Ergebnis des Vergleichs.
  • Eine Untersuchung kann durchgeführt werden für jeden Teilbereich zwischen zwei Zwischenspeicherungspunkten oder einem Gesamtbereich des Bearbeitungsprogrammes, welches in dem externen Speicher oder der externen Steuerung gespeichert ist, um zu ermitteln, ob die Größe eines Teilbereiches eine vorgegebene Bereichsgröße des internen Speichers überschreitet, und Informationen bezüglich des Teilbereiches, dessen Größe die Größe des internen Speichers überschreitet, können als Ergebnis der Untersuchung ausgeben werden.
  • Ein Zwischenspeicherungspunkt, welcher den Teilbereich, dessen Größe die des internen Speichers überschreitet, neu unterteilt, kann ausgeben werden.
  • Eine Einstellung kann eingerichtet werden, gemäß der eine Werkzeugzurückziehung erfolgt bei Aussetzung des automatischen Betriebs.
  • Ein bestimmter Befehl und/oder ein allgemeiner Befehl, welche keine Schneidoperation beinhalten, kann vorgesehen sein als Zwischenspeicherungspunkt.
  • Ein Zwischenspeicherungspunktbefehl ist ein Befehl zur Spezifizierung eines Unterbrechungspunktes für die Zwischenspeicherung des Bearbeitungsprogrammes in dem internen Speicher. Nicht schneidende Befehle, welche keine Schneidmarkierung erzeugen, auch bei Aussetzung des automatischen Betriebs, wie ein Werkzeug-Zurückziehbefehl und ein Befehl für einen schnellen Vorschub, dienen auch als Zwischenspeicherungspunktbefehle zusätzlich zu den bestimmten Befehlen. Die nummerische Steuerung führt eine Untersuchung im Voraus aus vor Start des automatischen Betriebs, um zu ermitteln, ob jeder Teilbereich des Verarbeitungsprogrammes, der zwischen Zwischenspeicherungspunktbefehlen liegt, eine Größe hat, die klein genug ist, um im internen Speicher der nummerischen Steuerung zwischengespeichert zu werden. Die nummerische Steuerung detektiert eine Position, wo die Bewegungsrichtung des Werkezuges umgekehrt wird (z. B. an der Endfläche eines Werkstückes) aus einem Teilbereich, für den im Ergebnis der Untersuchung des Bearbeitungsprogrammes festgestellt wurde, dass er eine unzulässige Größe hat, und es wird an dieser Stelle ein bestimmter Zwischenspeicherungspunktbefehl eingeschoben.
  • Mit der obigen Konfiguration kann die nummerische Steuerung, wenn sie über Datenübertragung aus einem Host oder Auslesung aus einem Hilfsspeicher ein Bearbeitungsprogramm zwischenspeichert, den Betrieb nach Vervollständigung der Zwischenspeicherung eines Abschnittes des Bearbeitungsprogrammes zwischen Zwischenspeicherungspunktbefehlen ausführen und dann, wenn die Zwischenspeicherung unvollständig ist, den Betrieb aussetzen und gemäß den Einstellungen ein Werkzeug zurück ziehen. Deshalb stockt die Bearbeitung auch dann nicht, wenn die Datenübertragung langsam ist und der interne Speicher leer läuft an einer Stelle, die verschieden ist von einem Zwischenspeicherungspunktbefehl, der im Voraus festgelegt ist, und das Problem einer Schneidmarke auf dem Werkstück oder das Problem von Vibrationen tritt nicht auf.
  • Die Untersuchung bezüglich einer Einschubstelle für einen Zwischenspeicherungspunktbefehl erfolgt im Voraus und ein Zwischenspeicherungspunktbefehl wird automatisch an einer problematischen Stelle aufgrund der Analyse des Bearbeitungsprogrammes eingeschoben. Eine Bedienungsperson kann bei Erzeugung eines Bearbeitungsprogrammes ein sehr langes Programm erzeugen, ohne auf das Vorliegen eines Zwischenspeicherungspunktes zu warten.
  • KURZBESCHREIBUNG DER FIGUREN
  • Obige sowie weitere Ziele und Merkmale der Erfindung werden noch deutlicher aus der nachfolgenden Beschreibung von Ausführungsbeispielen mit Blick auf die Figuren:
  • 1 zeigt mit einem Blockdiagramm die Hauptkomponenten einer nummerischen Steuerung gemäß einem Ausführungsbeispiel der Erfindung;
  • 2 ist ein funktionales Blockdiagramm einer nummerischen Steuerung gemäß dem ersten Ausführungsbeispiel der Erfindung;
  • 3 zeigt ein Beispiel für ein Bearbeitungsprogramm zum Einsatz bei einem Ausführungsbeispiel der Erfindung;
  • 4 ist ein Flussdiagramm für einen Analysevorgang gemäß dem ersten Ausführungsbeispiel der Erfindung;
  • 5 ist ein Flussdiagramm für ein Ausführungsverfahren gemäß dem ersten Ausführungsbeispiel;
  • 6 ist ein Flussdiagramm für einen Untersuchungsvorgang gemäß dem ersten Ausführungsbeispiel;
  • 7 ist ein Flussdiagramm für das Verfahren zur Ausgabe einer Stelle für den Einschub eines Zwischenspeicherungspunktbefehls gemäß dem ersten Ausführungsbeispiel;
  • 8 ist ein funktionales Blockdiagramm einer nummerischen Steuerung gemäß einem zweiten Ausführungsbeispiel der Erfindung;
  • 9 ist ein Flussdiagramm für das Analyseverfahren beim zweiten Ausführungsbeispiel der Erfindung;
  • 10 ist ein Flussdiagramm für den Ausführungsprozess beim zweiten Ausführungsbeispiel;
  • 11 ist ein Flussdiagramm für den Untersuchungsvorgang beim zweiten Ausführungsbeispiel;
  • 12 ist ein Flussdiagramm für den Ausgabevorgang einer Einschubstelle für einen Zwischenspeicherungspunktbefehl beim zweiten Ausführungsbeispiel;
  • 13 ist ein Blockdiagramm einer nummerischen Steuerung mit einer Fernbetriebsfunktion über ein Netzwerk gemäß dem Stand der Technik;
  • 14 ist ein Blockdiagramm einer nummerischen Steuerung mit einer Fernbetriebsfunktion unter Verwendung eines Hilfsspeichers gemäß dem Stand der Technik.
  • BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSBEISPIELE IM EINZELEN
  • Dem Stand der Technik entsprechende oder ähnliche Komponenten werden nachfolgend mit den gleichen Bezugszeichen beschrieben.
  • <Erstes Ausführungsbeispiel>
  • 1 zeigt mit einem Blockdiagramm eine periphere Konfiguration mit einer nummerischen Steuerung 100 gemäß einem Ausführungsbeispiel der Erfindung, einem Host 200 und Hilfsspeichern 300 (eine Speicherkarte 50 und ein USB-Speicher 60 bei diesem Ausführungsbeispiel).
  • Gemäß 1 hat die eine Achse einer Werkzeugmaschine steuernde nummerische Steuerung 100 einen Hardwareaufbau mit einer CPU 11, welche die gesamte nummerische Steuerung 100 steuert entsprechend einem Chip-Satz für die CPU 11, einen internen Speicher 13, der über den Chip-Satz 12 und einen internen Bus 25 mit der CPU 11 verbunden ist, einen nichtflüchtigen Speicher 14, eine Achsensteuereinheit 15, eine Achsenverbindungseinheit 16, eine Spindelsteuereinheit 17 eine Spindelverbindungseinheit 18, eine PMC-Steuereinheit 19 (programmierbare Maschinensteuerung), eine Betriebschlüsselverbindungseinheit 20, eine Anzeigeverbindungseinheit 21, eine externe Kommunikationssteuereinheit 22 und Hilfsspeicher-Verbindungseinheiten (bei diesem Ausführungsbeispiel eine Speicherkarten-Verbindungssteuereinheit 23 und eine USB-Verbindungssteuerungseinheit 24).
  • Eine Tastatur 30 ermöglicht einer Bedienungsperson einen manuellen Betrieb und ist mit der Tastatur-Verbindungseinheit 20 verbunden. Eine Anzeigeeinrichtung 40 ist mit der Anzeigeverbindungseinheit 21 verbunden. Speichermedien (Speicherkarte 50 und USB-Speicher 60 bei diesem Ausführungsbeispiel) sind mit Hilfsspeicher-Verbindungseinheiten verbunden und werden eingesetzt zum Übertragen und Empfangen von Programmen, Parametern und dergleichen. Der Host 200 (Hauptrechner) ist mit der externen Kommunikationssteuereinheit 24 über ein Kommunikationsmittel verbunden und wird verwendet zur Kommunikation von Programmen oder anderen Daten, ähnlich wie die Speichermedien. Ein Betriebssoftwareprogramm für die nummerische Steuerung 100 ist im nicht lüchtigen Speicher 14 gespeichert. Die CPU 11 wird verwendet zum Laden der Betriebssoftware vom nicht flüchtigen Speicher 14 (führt einen Startbetrieb aus) beim Start nach dem Einschalten.
  • Neben dem genannten Programm werden ein Bearbeitungsprogramm, verschieden Arten von Einstelldaten und dergleichen im nichtflüchtigen Speicher 14 abgespeichert. Ein automatischer Betrieb, der weder Hilfsspeicher noch eine externe Kommunikation verwendet, wird nach Auslesung des im nichtflüchtigen Speicher 14 gespeicherten Bearbeitungsprogrammes in einen Bearbeitungsprogramm-Speicherbereich des internen Speichers 13 ausgeführt.
  • Die Werkzeugmaschine hat den üblichen Aufbau. Sie hat Verstärker 70 und Motoren 80 entsprechend der Anzahl der Achsen (2 bei diesem Ausführungsbeispiel) und der Anzahl von Spindeln (1 bei diesem Ausführungsbeispiel) und sie hat weiterhin ein Maschinensteuerung 90 und eine Eingabe-/Ausgabeeinrichtung 91 (I/O, welche die PMC-Steuereinheit 19 und die Maschinensteuerung 90 verbindet).
  • 2 ist ein Blockdiagramm und erläutert die Verarbeitung eines Bearbeitungsprogrammes der nummerischen Steuerung gemäß diesem Ausführungsbeispiel der Erfindung. Eine Automatikbetriebsausführungseinheit besteht aus einer Blockanalyseeinheit 110, einer Blockausführungseinheit 120 und einem internen Speicher 160. Ein Zwischenspeicherungspunktauslesungszähler 170, welcher die Anzahl der Abspeicherungen eines Zwischenspeicherungspunktbefehls im internen Speicher 160 angibt, ein Zwischenpunktausführungszähler 180, welcher die Anzahl der Ausführungen eines Zwischenspeicherungspunktbefehls angibt, und eine Werkzeugrückzieheinstelleinheit 190, in welcher Einstellinformationen einschließlich einer Erlaubnis zum Zurückziehen des Werkzeuges, eine Werkzeug-Rückziehrichtung und ein Werkzeug-Rückziehbetrag gesichert sind, sind ebenfalls in der Automatikbetriebsausführungseinheit enthalten.
  • Die Blockanalyseeinheit 110 liest zunächst einen der mehreren Blöcke eines Bearbeitungsprogrammes aus dem Hilfsspeicher 300 oder Host 200 über eine Hilfsspeicherverbindungssteuereinheit 130 oder eine externe Kommunikationssteuereinheit 140. Die Blockanalyseeinheit 110 analysiert dann den ausgelesenen Block bzw. die Blöcke des Bearbeitungsprogrammes (hier als „Analysevorgang” bezeichnet) und speichert das Ergebnis der Analyse in ausführbarer Form in einem Speicherbereich 161 für ausführbares Bearbeitungsprogramm („Zwischenspeicherung”). Der Speicherbereich 161 für das Bearbeitungsprogramm in ausführbarer Form ist ein Fifo-Speicher und die Datensätze in ausführbarer Form werden sequentiell der Block-Ausführungseinheit 120 in der Reihenfolge ab dem zuerst gespeicherten Satz übergeben. Die Blockausführungseinheit 120 führt die Blockanalyseergebnisse als Datensätze in ausführbarer Form aus, und zwar in einer Reihenfolge beginnend mit dem Satz, der zuerst im Speicherbereich 161 für das Bearbeitungsprogramm in ausführbarer Form gespeichert ist („Ausführungsprozess”). Um beim Betrieb Befehle glatt an die Achse oder Spindel zu geben, wird der Ausführungsprozess nach vorgegebenen Intervallen ausgeführt.
  • Der Analyse-Prozess kann gemäß einer vorgegebenen Anzahl ausgeführt werden zu vorgegebenen Intervallen oder er kann in Lücken des Ausführungsprozesses ausgeführt werden.
  • In jedem Fall werden der Analyseprozess und der Ausführungsprozess nicht sequentiell ausgeführt sondern parallel.
  • 3 ist ein Beispiel für ein Bearbeitungsprogramm, das in der nummerischen Steuerung gemäß diesem Ausführungsbeispiel eingesetzt wird. Das Wort O001 in der ersten Zeile repräsentiert eine Programmnummer während das Wort M30 in der letzten Zeile das Programmende repräsentiert. Die Zeile zwischen O001 und M30 werden Blöcke genannt und die an die nummerische Steuerung 100 zu gebenden Befehle, wie Werkzeug- oder Spindelbetriebsbefehle, eine Werkzeugeinstellung und unterschiedliche Korrekturfunktionen sind in den Blöcken geschrieben. In jedem Block ist am Anfang eine Sequenzzahl (N001 bis N020 in 3) für die Blockidentifiaktion geschrieben. Ein G-Code (G00 0der G01 in 3) repräsentiert eine Vorbereitungsfunktion bezüglich einer Achsenbewegung oder eine andere Einstellung der nummerischen Steuerung 100 und Dimensionsworte (X und Z in 3), welche Befehle darstellen entsprechend Koordinatenwerten gemäß dem G-Code, stehen nach der Sequenznummer.
  • Befehle für die vorbereitenden Funktionen sind zum Beispiel ein Befehl, welcher stehen bleibt bis der Befehl besetzt ist (modaler Befehl). Wird ein Befehl nicht durch einen anderen ersetzt, kann der Befehl selbst wegegelassen werden, wie im Block für M013. Das Beispiel enthält eine Funktion für sonstige Anwendungen (M in 3), die eingesetzt wird zum Beispiel zum Aufrufen eines Makro- oder eines Subprogrammes oder zum indexieren einer Drehachse. Eine Spindelgeschwindigkeitsfunktion (S-Funktion) repräsentiert einen Befehl an die Spindel; eine Werkzeug-Funktion (T-Funktion) repräsentiert eine Werkzeugeinstellung oder dergleichen und entsprechendes steht ebenfalls in einem Block (nicht dargestellt). Beim Beispiel gemäß 3 ist M1000 am Ende der Blöcke für die Sequenznummer N011 und M020 ein allgemeiner Befehl, der einen Zwischenspeicherungspunkt repräsentiert, welcher mit der vorliegenden Erfindung eingeführt wird.
  • 4 ist ein Flussdiagramm eines einmaligen Ablaufs des Analyseprozesses. Wie oben beschrieben, wird der Analyseprozess gemäß einer vorgegebenen Anzahl zu vorgegebenen Intervallen wiederholt oder er wird in freibleibenden Lücken im Ausführungsprozess gestartet.
  • Zuerst wird geprüft, ob freier Raum gegeben ist im Speicherbereich 161 für das ausführbare Bearbeitungsprogramm des internen Speichers 160 (Schritt SA01). Gibt es keinen freien Bereich, endet der Analyseprozess. Ist freier Bereich vorhanden wird ein Block des Bearbeitungsprogrammes aus dem Hilfsspeicher 300 oder dem Host 200 geladen und analysiert (Schritt SA02). Enthält der analysierte Block einen Programm-Ende-Code (Schritt SA 03) ist der Analyseprozess zu Ende. Enthält andererseits der analysierte Block keinen Programm-Ende-Code wird ein Ergebnis der Analyse als Datenstück (piece of data; Datensatz) in ausführbarer Form ausgegeben und im Speicherbereich 161 für das ausführbare Bearbeitungsprogramm gespeichert (Schritt SA04). Schließlich wird geprüft, ob der analysierte Block einen Zwischenspeicherungspunktbefehl enthält (Schritt SA 05). Enthält der analysierte Block keinen Zwischenspeicherungspunktbefehl, ist der Analyseprozess beendet. Enthält andererseits der analysierte Block einen Zwischenspeicherungspunktbefehl, wird der Zwischenspeicherungspunktauslesungszähler 170 inkrementiert (Schritt SA06).
  • Der Zwischenspeicherungspunktauslesungszähler 170 wird beim Start des Automatikbetriebs rückgesetzt. Da der Wert des Zwischenspeicherungspunktauslesungszähler 170 jedes Mal dann inkrementiert wird wenn ein Zwischenspeicherungsbefehl ausgelesen wird, wird die Anzahl der Auslesungen eines Blockes mit einem Zwischenspeicherungspunktbefehl aus dem Hilfsspeicher 300 oder dem Host 200 im Zwischenspeicherungspunktauslesungszähler 170 aufgezeichnet. Das heißt, der Zwischenspeicherungspunktauslesungszähler 170 gibt die Ordnungsposition eines Blockes mit dem letzten Zwischenspeicherungspunktbefehl vom Beginn des Bearbeitungsprogrammes in einem Bereich des Bearbeitungsprogrammes an, der im Speicherbereich 161 des internen Speichers 160 für das ausführbare Bearbeitungsprogramm abgespeichert ist.
  • 5 zeigt als Flussdiagramm einen einmaligen Ablauf des Ausführungsprozesses.
  • Der Wert des Zwischenspeicherungspunktausführungszählers 180 wird zunächst verglichen mit dem Wert des Zwischenspeicherungspunktauslesungszählers 170 (Schritt SB 01). Ist der Wert des Zwischenspeicherungspunktausführungszählers 180 nicht kleiner als der des Zwischenspeicherungspunktauslesungszählers 170, ist der Ausführungsprozessbeendet. Ist andererseits der Wert des Zwischenspeicherungspunktauslesungszählers 170 größer, wird geprüft, ob das Werkzeug zurückgezogen ist (Schritt SB02). Ist das Werkzeug zurückgezogen, wird das Werkzeug zurückgeführt (Schritt SB03). Die Blockausführungseinheit 120 liest dann ein ausführbares Datenstück aus, in der Reihenfolge ausgehend vom als erstes im Speicherbereich 161 zuerst gespeicherten Datenstück und sie führt dieses Datenstück aus (Schritt SB04). Enthält das ausgelesene Datenstück in ausführbarer Form keinen Zwischenspeicherungspunktbefehl (Schritt SB05), wird das ausgelesen ausführbare Datenstück normal aufgeführt und der Ausführungsprozess endet.
  • Enthält andererseits das ausgelesene, ausführbare Datenstück einen Zwischenspeicherungspunktbefehl, wird zunächst der Zwischenspeicherungspunktausführungszähler 180 inkrementiert (Schritt SB06). Der Zwischenspeicherungspunktausführungszähler 180 wird wiederum verglichen mit dem Zwischenspeicherungspunktauslesungszähler 170 (Schritt SB07). Mit diesem Vergleich ist es möglich, zu prüfen, ob ein Zwischenspeicherungspunktbefehl unmittelbar nach dem gerade ausgeführten Zwischenspeicherungspunktbefehl bereits zwischengespeichert ist. Zeigt das Ergebnis des Vergleichs, dass der Wert des Zwischenspeicherungspunktausführungszählers 180 gleich dem des Zwischenspeicherungspunktauslesungszählers 170 ist, werden die Einstellungen in der Werkzeugrückzieheinstelleinheit 190 geprüft (Schritt SB08). Ist eine Werkzeugrückziehfunktion freigegeben wird das Werkzeug in einer eingestellten Richtung um einen eingestellten Betrag zurückgezogen (Schritt SB09) und der Ausführungsprozess endet. Ist andererseits die Rückziehfunktion nicht freigegeben, endet der Ausführungsprozess ohne Zurückziehung des Werkzeuges.
  • Die Einstellungen bezüglich der Freigabe der Werkzeugrückziehfunktion, des Werkzeugrückziehbetrages und der Werkzeugrückziehrichtung können in der Werkzeugrückzieheinstelleinheit 190 im Voraus vor dem Automatikbetrieb eingestellt werden und ein Befehl in einem Bearbeitungsprogramm kann sogar zu jedem Zeitpunkt des Automatikbetriebes geändert werden.
  • 6 ist ein Flussdiagramm des Ablaufs des Untersuchungsprozesses zur Bestimmung, ob Zwischenspeicherungspunkte in ein Bearbeitungsprogramm, das im Hilfsspeicher 300 oder Host 200 abgespeichert ist, an passenden Stellen eingeschoben sind.
  • Der Wert des Zwischenspeicherungspunktauslesungszählers 170 wird zunächst rückgesetzt (Schritt SC01). Ein Block des Bearbeitungsprogrammes wird dann aus dem Hilfsspeicher 300 oder dem Host 200 geladen und analysiert (Schritt SC02). Enthält der geladene Block einen Programm-Ende-Code (Schritt SC03), ist der Untersuchungsprozess beendet. Enthält andererseits der geladene Block keinen Programm-Ende-Code, wird das Ergebnis der Analyse als Datenstück in ausführbarer Form ausgegeben und im Speicherbereich 161 für das ausführbare Bearbeitungsprogramm gespeichert (Schritt SC04).
  • Es wird geprüft, ob der Speicherbereich 161 für das ausführbare Bearbeitungsprogramm mit einem gespeicherten Datenstück (oder gespeicherten Datenstücken) im Überlaufbereich ist (Schritt SC05). Ist der Speicherbereich 171 im Überlaufbereich, wird ein laufender Wert des Zwischenspeicherungspunktauslesungszählers 170 aufgezeichnet (Schritt SC06). Befindet sich andererseits der Speicherbereich 161 nicht im Überlaufzustand, wird geprüft, ob der analysierte Block einen Zwischenspeicherungspunktbefehl enthält (Schritt SC07). Enthält der analysierte Block keinen Zwischenspeicherungspunktbefehl, erfolgt die gleiche Verarbeitung, beginnend mit der Ladung des Bearbeitungsblockes. Enthält andererseits der analysierte Block einen Zwischenspeicherungspunktbefehl, wird der Wert des Zwischenspeicherungspunkt-Auslesungszählers 170 inkrementiert (Schritt SC08), alle Datenstücke in ausführbarer Form, die im Speicherbereich 161 abgespeichert sind, werden gelöscht (Schritt SC09) und derselbe Prozess wird wieder ausgeführt, beginnend mit der Ladung eines Bearbeitungsblockes.
  • Wird in Schritt SC05 festgestellt, dass der Speicherbereich 161 für das Bearbeitungsprogramm in ausführbarer Form im Überlaufbereich ist, werden alle Datenstücke, die im Speicherbereich 161 gespeichert sind, auch gelöscht (Schritt SC09) und derselbe Prozess wird erneut ausgeführt, beginnend mit der Ladung des Bearbeitungsblockes.
  • Durch Wiederholung des obigen Ablaufs, wird die Position des letzten Zwischenspeicherungspunktbefehls als Wert des Zwischenspeicherungspunktauslesungszählers 170 jedes Mal aufgezeichnet, wenn zu viele Blöcke zwischen Zwischenspeicherungspunktbefehlen liegen, um in den Speicherbereich 161 für das ausführbare Bearbeitungsprogramm im internen Speicher 160 zu passen. Nach Ausführung des Prozesses kann die numerische Steuerung 100 aufgezeichnete Werte des Zwischenspeicherungspunktauslesungszählers 170 an die Bedienungsperson geben, um diese über Fehler hinsichtlich des Aufnehmens in den Speicherbereich 161 für das ausführbare Bearbeitungsprogramm zu unterrichten.
  • Der Untersuchungsprozess kann auch ausgeführt werden, wenn ein Schwellenwert bezüglich der Prüfung, ob der Speicherbereich 161 im Überlaufbereich ist, kleiner eingestellt wird als eine tatsächliche Speicherbereichgröße.
  • 7 erläutert als Flussdiagramm den Prozess zur Ausgabe der Position des Zwischenspeicherungspunktbefehls, der neu hinzugefügt werden muss bei Fehlschlag der Einfügung in den Speicherbereich 161 für das ausführbare Bearbeitungsprogramm, wenn sich dies aus dem Untersuchungsprozess gemäß 6 ergeben hat.
  • Das Bearbeitungsprogramm wird abgesucht, bis die Position eines Zwischenspeicherungspunktbefehls erreicht ist, die im obigen Untersuchungsprozess aufgezeichnet wurde (Schritt SD01). Von dieser Position ausgehend wird das Laden des Bearbeitungsprogrammes und seine Analyse sowie die Speicherung in dem Speicherbereich 161 für das Bearbeitungsprogramm in ausführbarer Form wiederholt, bis der Speicherbereich 161 in Überlauf kommt (Schritt SD02). Wird ein Programm-Ende-Code oder ein Zwischenspeicherungspunktbefehl während der Wiederholung des Prozesses in Schritt SD02 ausgelesen, endet der Prozess normalerweise (Schritt SD03). Kommt der Speicherbereich 161 während der Wiederholung in Überlauf (Schritt SD04), wird das Bearbeitungsprogramm vom Punkt des Überlaufs Block für Block zurückverfolgt, um einen Block zu finden, der keinen Schneidbefehl enthält, wie einen Befehl zu schnellem Vorschub, oder einen Block, in dem eine Bewegungsrichtung des Werkzeuges umgekehrt wird (Schritt SD05). Wird bei dieser Suche ein Block gefunden, der diese Kriterien erfüllt, vor einem unmittelbar vorangehenden Zwischenspeicherungspunktbefehl oder dem Beginn des Bearbeitungsprogrammes (Schritt SD06), wird eine Zyklusnummer an der Stelle des gefundenen Blockes aufgezeichnet (Schritt SD07), und es werden alle Datenstücke im ausführbaren Bearbeitungsprogramm im Speicherbereich 161 gelöscht (Schritt SD08). Es erfolgt eine Rückkehr zur Position der Zyklusnummer, die in Schritt SD07 aufgezeichnet wurde (Schritt SD09) und das gleiche Verfahren wird von der Position ausgehend wiederholt.
  • Mit diesen Wiederholungen ist es möglich, einen Fall zu beherrschen, in dem ein Bereich hinter der detektierten Zwischenspeicherungspunkteinschubposition nicht mehr in den Speicherbereich 161 für das ausführbare Bearbeitungsprogramm passt. Wenn ein Block aus einem Nicht-Schneid-Befehl, wie ein Befehl zum schnellen Vorschub oder ein Block, gemäß dem die Bewegungsrichtung des Werkzeuges umgekehrt wird, in Schritt SD06 nicht gefunden wird, ist der Prozess zu Ende.
  • Der zuvor beschriebene Prozess erlaubt die Ausgabe einer Position, in welcher ein Zwischenspeicherungspunkt für einen Bereich hinzuzufügen ist einschließlich eines Bearbeitungsblockes, welcher den Speicherbereich 161 für das ausführbare Bearbeitungsprogramm in Überlauf bringt, und die Unterrichtung des Benutzers über diese Position. Durch Ausführung dieses Prozesses für jeden Punkt, bei dem im oben beschriebenen Untersuchungsprozess die Daten nicht mehr in den Speicherbereich 161 für das Bearbeitungsprogramm in ausführbarer Form passen, kann die Bedienungsperson über diejenigen Punkte unterrichtet werden, an denen Zwischenspeicherungspunkte über den gesamten Bereich des Bearbeitungsprogrammes eingeschoben werden sollen. Bei Unterrichtung der Bedienungsperson erfolgt eine Bestätigung, ob die neuen Zwischenspeicherungspunkte tatsächlich eingeschoben werden sollen. Erlaubt die Bedienungsperson den Einschub, werden die Zwischenspeicherungspunkte automatisch an den entsprechenden Punkten des Bearbeitungsprogrammes eingeschoben. Es ist auch möglich, im Voraus Einstellungen so vorzunehmen, dass die Zwischenspeicherpunktbefehle automatisch eingeschoben werden, ohne Unterrichtung einer Bedienungsperson.
  • Befehle ohne Schneidwirkung, welche keine Schneidmarkierung verursachen, auch bei Aussetzung des Automatikbetriebs, wie ein Werkzeug-Rückziehbefehl und ein Befehl zum schnellen Vorlauf, dienen auch als Zwischenspeicherungspunktbefehl, zusätzlich zu den besonderen Befehlen hierzu. Ob ein durch eine Bedienungsperson spezifizierter willkürlicher Befehl als Zwischenspeicherungspunktbefehl einzusetzen ist, kann im Voraus eingestellt werden.
  • Bei diesem Ausführungsbeispiel hat die Automatikbetriebsausführungseinheit den Zwischenspeicherpunktauslesungszähler 170 und den Zwischenspeicherpunktausführungszähler 180. Es ist auch möglich, dieses Ausführungsbeispiel so zu verwirklichen, dass ein Zwischenspeicherpunktzähler für die zwei Zähler eingesetzt wird, Inkrementierung des Zählers um 1 nach Speicherung eines Zwischenspeicherpunktbefehls im Speicherbereich 161, Dekrementierung den Zähler um 1 nach Ausführung des Zwischenspeicherungspunktbefehls durch die Blockausführungseinheit 120, und Aussetzung des Automatikbetriebs durch die Blockausführungseinheit 120, wenn der Zähler 0 erreicht.
  • <Zweites Ausführungsbeispiel>
  • Beim ersten Ausführungsbeispiel ist die numerische Steuerung 100 eingerichtet, das Ergebnis einer Analyse der Blockanalyseeinheit 110 im Speicherbereich 161 für das Bearbeitungsprogramm in ausführbarer Form des internen Speichers 160 gemäß 2 zu speichern. Ein zweites Ausführungsbeispiel ist verbunden mit einer numerischen Steuerung 100, welche ein Bearbeitungsprogramm in einem Speicherbereich 162 für das Bearbeitungsprogramm vor einer Blockanalyseeinheit 110 abspeichert.
  • Als Beispiel für ein Bearbeitungsprogramm kann das gleiche Programm benutzt werden wie in 3. Die numerische Steuerung 100 und die periphere Konfiguration entsprechen 1.
  • 8 zeigt als Blockdiagramm die Verarbeitung eines Bearbeitungsprogrammes durch die numerische Steuerung gemäß diesem Ausführungsbeispiel.
  • Anders als in 2 wird ein aus einem Hilfsspeicher 300 oder einem Host 200 ausgelesenes Bearbeitungsprogramm zunächst in einem Bearbeitungsprogrammspeicherbereich 162 des internen Speichers 60 gespeichert (Auslesung und Zwischenspeicherung). Das gespeicherte Bearbeitungsprogramm wird an die Blockanalyseeinheit 110 weitergegeben. Die Blockanalyseeinheit 110 gibt das Analyseergebnis als Datenstück in Form eines ausführbaren Blockes aus und gibt dies an eine Blockausführungseinheit 120 (Analyseprozess). Die Blockausführungseinheit 120 führt das erhaltene Datenstück in Form eines ausführbaren Blockes aus (Ausführungsprozess).
  • Wie beim ersten Ausführungsbeispiel wird der Ausführungsprozess in vorgegebenen Intervallen ausgeführt. Der Analyseprozess wird, wie der Ausführungsprozess, zu vorgegebenen Intervallen so ausgeführt, dass er zum Ausführungsprozess passt. Der Auslesevorgang kann gemäß einer vorgegebenen Anzahl ausgeführt werden zu vorgegebenen Intervallen oder er kann bei Gelegenheiten entsprechend dem Ausführungsprozess und dem Analyseprozess ausgeführt werden. In jedem Fall werden der Analyseprozess und der Ausführungsprozess und auch der Auslesungsprozess nicht sequentiell ausgeführt, sondern parallel.
  • 9 zeigt als Flussdiagramm einen einmaligen Verlauf des Auslesungsprozesses. Wie oben beschrieben, wird der Auslesungsprozess entsprechend einer vorgegebenen Anzahl ausgeführt zu vorgegebenen Intervallen oder er wird in Leerzeiten bei Gelegenheiten im Ausführungsprozess oder Analyseprozess gestartet.
  • Zunächst wird geprüft, ob im Bearbeitungsprogrammspeicherbereich 162 des internen Speichers 160 Freiraum gegeben ist (Schritt SE01). Ist kein Freiraum vorhanden, endet der Auslesevorgang. Ist andererseits Freiraum vorhanden, wird ein Block des Bearbeitungsprogrammes aus dem Hilfsspeicher 300 oder dem Host 200 geladen (Schritt SE02). Enthält der geladene Block einen Programm-Ende-Code (Schritt SE03), endet die Analyse. Enthält andererseits der geladene Block keinen Programm-Ende-Code, wird er im Speicherbereich 162 des internen Speichers 160 für das Bearbeitungsprogramm gespeichert (Schritt SE04). Schließlich wird geprüft, ob der geladene Block einen Zwischenspeicherungspunktbefehl enthält (Schritt SE05). Enthält der geladene Block keinen Zwischenspeicherungspunktbefehl, endet der Ausleseprozess. Enthält andererseits der geladene Block einen Zwischenspeicherungspunktbefehl, wird der Zwischenspeicherungspunktauslesungszähler 170 inkrementiert (Schritt SE06).
  • Der Zwischenspeicherungspunktauslesungszähler 170 wird beim Start des Automatikbetriebs rückgesetzt. Wie beim ersten Ausführungsbeispiel zeigt der Zwischenspeicherungspunktauslesungszähler 170 die Ordnungsposition eines Blockes mit dem letzten Zwischenspeicherungspunktbefehl vom Beginn des Bearbeitungsprogrammes in einem Abschnitt des Bearbeitungsprogrammes, gespeichert im internen Speicher 160.
  • 10 zeigt als Flussdiagramm den Ablauf bei einmaligem Durchlauf des Ausführungsprozesses.
  • Ein Wert des Zwischenspeicherungspunktausführungszählers 180 wird zunächst verglichen mit einem Wert des Zwischenspeicherungspunktauslesungszählers 170 (Schritt SF01). Ist der Wert des Zwischenspeicherungspunktausführungszählers 180 nicht kleiner als der des Zwischenspeicherungspunktauslesungszählers 170, ist die Ausführung beendet. Ist andererseits der Wert des Zwischenspeicherungspunktauslesungszählers 170 größer, wird geprüft, ob ein Werkzeug zurückgezogen ist (Schritt SF02). Ist das Werkzeug zurückgezogen, wird es zurückgeführt (Schritt SF03). Die Blockanalyseeinheit 110 liest dann Blöcke aus dem Bearbeitungsprogrammspeicherbereich 162 in der Reihenfolge ab dem zuerst gespeicherten Block, analysiert jeden Block und gibt einen Befehl als Ergebnis der Analyse an die Blockausführungseinheit 120 (Schritt SF04). Enthält der analysierte Block keinen Zwischenspeicherungspunktbefehl (Schritt SF05), wird der analysierte Block normal ausgeführt und der Ausführungsprozess endet zunächst.
  • Enthält andererseits der analysiert Block einen Zwischenspeicherungspunktbefehl, wird zuerst Zwischenspeicherungspunktausführungszähler 180 inkrementiert (Schritt SF06). Der Zwischenspeicherungspunktausführungszähler 180 wird wiederum verglichen mit dem Zwischenspeicherungspunktauslesungszähler 170 (Schritt SF 07). Durch diesen Vergleich ist es möglich, zu prüfen, ob ein Zwischenspeicherungspunktbefehl, der unmittelbar folgt auf einen gerade ausgeführten Zwischenspeicherungspunktbefehl, bereits zwischengespeichert ist. Zeigt das Ergebnis des Vergleichs, dass der Wert des Zwischenspeicherungspunktausführungszählers 180 gleich ist dem des Zwischenspeicherungspunktauslesungszählers 170, werden Einstellungen in der Werkzeugzurückzieheinstelleinheit 190 geprüft (Schritt SF08). Ist eine Werkzeugrückziehfunktion freigegeben, wird das Werkzeug in Rückziehrichtung um einen eingestellten Rückziehbetrag zurückgezogen, nachdem der gerade ausgeführte Prozess endet (Schritt SF09) und der Ausführungsprozess ist beendet. Ist andererseits die Rückziehfunktion nicht freigegeben, endet der Ausführungsprozess ohne Werkzeug-Zurückziehung.
  • 11 ist ein Flussdiagramm zur Erläuterung des Verlaufs des Untersuchungsverfahrens zur Ermittlung, ob Zwischenspeicherungspunkte in ein Bearbeitungsprogramm, welches im Hilfsspeicher 300 oder Host 200 abgespeichert ist, an passenden Intervallen eingeschoben sind.
  • Der Wert des Zwischenspeicherungspunktauslösungszählers 170 wird zunächst zurückgesetzt (Schritt SG01). Ein Block des Bearbeitungsprogrammes wird dann aus dem Hilfsspeicher 300 oder dem Host 200 geladen (Schritt SG02). Enthält der geladene Block einen Programm-Ende-Code (Schritt SG03), ist die Untersuchung beendet. Enthält andererseits der geladene Block keinen Programm-Ende-Code, wird geprüft, ob der Bearbeitungsprogrammspeicherbereich 162 mit einem gespeicherten Datenstück (Datensatz) in Überlauf ist (Schritt SG04). Ist der Bearbeitungsprogrammspeicherbereich 162 im Überlauf, wird ein momentaner Wert des Zwischenspeicherungsauslösungszählers 170 aufgezeichnet (Schritt SG05). Ist andererseits der Bearbeitungsprogrammspeicherbereich 162 nicht im Überlauf, wird geprüft, ob der analysierte Block einen Zwischenspeicherungspunktbefehl enthält (Schritt SG06). Enthält der analysierte Block keinen Zwischenspeicherungsbefehl, wird das gleiche Verfahren vom Start des Auslesens des Bearbeitungsblockes erneut durchgeführt. Enthält andererseits der analysierte Block einen Zwischenspeicherungspunktbefehl, wird der Wert des Zwischenspeicherungspunktauslösungszählers 170 inkrementiert (Schritt SG07), alle Datenstücke im Bearbeitungsprogrammspeicherbereich 162 werden gelöscht (Schritt SG08) und das gleiche Verfahren vom Beginn der Ladung des Bearbeitungsblockes wird ausgeführt.
  • Ist der Bearbeitungsprogrammspeicherbreich 162 gemäß Schritt SG04 im Überlauf, werden auch alle Datenstücke im Bearbeitungsprogrammspeicherbereich 162 gelöscht (Schritt SG08) und das gleiche Verfahren vom Start der Auslesung des Bearbeitungsblockes wird erneut durchgeführt.
  • Durch Wiederholung des obigen Ablaufs wird die Position des letztes Zwischenspeicherungspunktbefehls als Wert des Zwischenspeicherungspunktauslösungszählers 170 jedes Mal dann aufgezeichnet, wenn zu viele Blöcke zwischen den Zwischenspeicherungspunktbefehlen liegen, um in den Bearbeitungsprogrammspeicherbereich 162 des internen Speichers 160 zu passen. Nach Ausführung des Verfahrens kann die nummerische Steuereinheit 100 die aufgezeichneten Werte des Zwischenspeicherungspunktauslösungszählers 170 an eine Bedienungsperson ausgeben, um diese darüber zu unterrichten, dass die Daten nicht in den Bearbeitungsprogrammspeicherbereich 162 gepasst haben.
  • Das Untersuchungsverfahren kann auch ausgeführt werden, während ein Stellenwert bezüglich der Prüfung, ob der Bearbeitungsprogrammspeicherbereich 162 im Überlauf ist, auf einen Wert eingestellt wird, der kleiner ist als der tatsächliche Speicherbereich.
  • 12 ist ein Flussdiagramm zu Darstellung des Ablaufes des Verfahrens zum Ausgeben der Position eines Zwischenspeicherungspunktbefehls, der neu hinzuzufügen ist wenn die Daten nicht in den Bearbeitungsprogrammspeicherbereich 162 des internen Speichers 160 passen, wie beim Prüfungsverfahren gemäß 11 festgestellt.
  • Das Bearbeitungsprogramm wird abgesucht bis die Position des in der weiter oben beschriebenen Untersuchung aufgezeichneten Zwischenspeicherungspunktbefehls gefunden ist (Schritt SH01). Von dieser Position ausgehend werden die Bearbeitungsblockladung und -abspeicherung im Bearbeitungsprogrammspeicherbereich 162 wiederholt bis der Bearbeitungsprogrammspeicherbereich 162 in Überlauf gerät (Schritt SH02). Wird ein Programm-Ende-Code oder ein Zwischenspeicherungspunktbefehl bei Wiederholung des Prozesses gemäß Schritt SH02 ausgelesen (Schritt SH03) ist das Verfahren normal beendet. Ist der Bearbeitungsspeicherbereich 162 bei der Wiederholung (Schritt SH04) in Überlauf, wird das Bearbeitungsprogramm rückverfolgt vom Überlaufpunkt Block für Block, um einen Block zu finden, der keinen Schneidbefehl enthält, wie ein Befehl zum schnellen Vorschub oder ein Befehl zur Umkehr der Richtung des Werkzeuges zu finde (Schritt SH05).
  • Wird ein solcher Block als Ergebnis der Suche gefunden vor einem unmittelbar vorhergehenden Speicherungspunkt oder am Anfang des Bearbeitungsprogrammes (Schritt SH06), wird eine Zyklusnummer bzgl. der Position des gefundenen Blockes aufgezeichnet (Schritt SH07), und alle Datenstücke im Bearbeitungsprogrammspeicherbereich 162 werden gelöscht (Schritt SH08). Es erfolgt eine Rückkehr zur Position der aufgezeichneten Zyklusnummer (Schritt SH09) und das gleiche Verfahren wird von der Position ausgehend erneut wiederholt. Mit der vorstehen beschrieben Prozesswiederholung ist es möglich, eine Situation zu handhaben in der ein Abschnitt nach einer detektierten Zwischenspeicherungspunkteinschubposition nicht in den Bearbeitungsprogrammspeicherbereich 162 passt. Wenn ein aus einem Nichtschneid-Befehl bestehender Block, wie ein Befehl zum schnellen Vorschub oder ein Block, gemäß dem die Bewegungsrichtung des Werkzeuges umgekehrt wird, im Schritt SH06 nicht gefunden wird, wird der Prozess verlassen.
  • Der oben beschriebene Prozess erlaubt die Ausgabe einer Position, in welcher ein Zwischenspeicherungspunkt hinzuzufügen ist für einen Bereich mit einem Bearbeitungsblock, der den Bearbeitungsprogrammspeicherbereich 162 in Überlauf bringt, wobei die Position der Bedienungsperson mitgeteilt wird. Durch Ausführung einer solchen Verarbeitung für jeden Punkt, bei dem die Daten nicht in den Bearbeitungsprogrammspeicherbereich 162 gemäß der oben beschriebenen Untersuchung passen, kann eine Bedienungsperson über die Punkte unterrichtet werden, in denen Zwischenspeicherungspunkte über den gesamten Bereich des Bearbeitungsprogrammes einzuschieben sind. Bei Unterrichtung der Bedienungsperson wird abgefragt, ob die neuen Zwischenspeicherungspunkte tatsächlich eingeschoben werden sollen. Erlaubt die Bedienungsperson den Einschub, werden die neuen Zwischenspeicherungspunkte automatischen an den entsprechenden Stellen des Bearbeitungsprogrammes eingefügt. Es ist auch möglich, die Einstellung im Voraus so zu treffen, dass die Einfügung des Zwischenspeicherungspunktbefehls automatisch erfolgt ohne Unterrichtung der Bedienungsperson.
  • 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 2005-135153 [0003]
    • JP 2004-078476 [0003]
    • JP 2003-195930 [0004]
    • JP 07-239707 [0005, 0006, 0009, 0010, 0011, 0011, 0012]

Claims (5)

  1. Nummerische Steuerung mit einer DNC-Betriebseinheit, wobei die nummerische Steuerung ein von einem externen Speicher oder einer externen Steuerung über eine Verbindungseinheit geladenes Bearbeitungsprogramm in einen internen Speicher zwischenspeichert und einen Automatikbetrieb auf Basis des zwischengespeicherten Bearbeitungsprogrammes mit einer Automatikbetriebsausführungseinheit ausführt, wobei das Bearbeitungsprogramm einen oder mehrere Zwischenspeicherungspunkte enthält und die Automatikbetriebsausführungseinheit folgendes aufweist: eine Zwischenspeicherungsabschlussprüfungsergebnishalteeinheit zum Prüfen, ob ein Abschnitt des zwischenzuspeichernden Bearbeitungsprogrammes den Zwischenspeicherungspunkt enthält, und zum Halten eines Ergebnisses der Prüfung beim Zwischenspeichern des Abschnittes des Bearbeitungsprogrammes im internen Speicher, eine Ausführungsprüfungsergebnishalteeinheit, um dann, wenn die Automatikbetriebsausführungseinheit einen Abschnitt des im internen Speicher zwischengespeicherten Bearbeitungsprogrammes ausführt, zu prüfen, ob der auszuführende Abschnitt des Bearbeitungsprogrammes den Zwischenspeicherungspunkt enthält, und zum Halten des Ergebnisses der Prüfung, eine Vergleichseinheit zum Vergleichen des durch die Zwischenspeicherungsabschlussprüfungsergebnishalteeinheit gehaltenen Ergebnisses mit dem Ergebnis, welches durch die Ausführungsprüfungsergebnishalteeinheit gehalten wird, und eine Ausführungseinheit zum Ausführen einer Fortsetzung und/oder Aussetzung und/oder Wiederaufnahme des Automatikbetriebs entsprechend dem Ergebnis des Vergleichs.
  2. Nummerische Steuerung mit einer DNC-Betriebseinheit gemäß Anspruch 1, wobei eine Untersuchung durchgeführt wird für jeden zwischen zwei Zwischenspeicherungspunkten liegenden Teilbereich des Gesamtbereichs des in dem externen Speicher oder der externen Steuerung gespeicherten Bearbeitungsprogrammes, um zu ermitteln, ob die Größe eines Teilbereiches eine vorgegebene Bereichsgröße des internen Speichers überschreitet, und wobei als Ergebnis der Untersuchung eine Information ausgegeben wird bezüglich des Teilbereiches, dessen Größe die des internen Speichers überschreitet.
  3. Nummerische Steuerung mit DNC-Betriebseinheit gemäß Anspruch 2, wobei der Zwischenspeicherungspunkt, welcher neuerlich den Teilbereich unterteilt, dessen Größe die Größe des internen Speichers überschreitet, ausgegeben wird.
  4. Nummerische Steuerung mit DNC-Betriebseinheit gemäß einem der Ansprüche 1 bis 3, wobei einstellbar ist, ob eine Werkzeugzurückziehung erfolgt bei Aussetzung des Automatikbetriebs.
  5. Nummerische Steuerung mit DNC-Betriebseinheit gemäß einem der Ansprüche 1 bis 4, wobei zumindest ein bestimmter Befehl oder ein allgemeiner Befehl, welche kein Schneiden beinhalten, eingerichtet ist, als Zwischenspeicherungspunkt verwendet zu werden.
DE102015009583.8A 2014-07-30 2015-07-23 Numerische Steuerung mit DNC-Betriebseinheit Active DE102015009583B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014154975A JP6068401B2 (ja) 2014-07-30 2014-07-30 加工プログラムの読み出し時間に左右されないdnc運転手段を備えた数値制御装置
JP2014-154975 2014-07-30

Publications (2)

Publication Number Publication Date
DE102015009583A1 true DE102015009583A1 (de) 2016-02-04
DE102015009583B4 DE102015009583B4 (de) 2019-05-09

Family

ID=55079640

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015009583.8A Active DE102015009583B4 (de) 2014-07-30 2015-07-23 Numerische Steuerung mit DNC-Betriebseinheit

Country Status (4)

Country Link
US (1) US10018990B2 (de)
JP (1) JP6068401B2 (de)
CN (1) CN105320066B (de)
DE (1) DE102015009583B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017123339B4 (de) 2016-10-14 2022-10-06 Fanuc Corporation Programmoptimierungssystem

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3438773B1 (de) * 2017-08-04 2020-09-30 Siemens Aktiengesellschaft Bearbeitung von werkstücken mit modellgestützter fehlerkompensation
JP6680741B2 (ja) * 2017-10-25 2020-04-15 ファナック株式会社 数値制御装置
JP7343340B2 (ja) 2019-09-18 2023-09-12 ファナック株式会社 工作機械の加工制御装置及び加工制御方法
JP7316169B2 (ja) * 2019-09-25 2023-07-27 ファナック株式会社 数値制御装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07239707A (ja) 1994-02-25 1995-09-12 Okuma Mach Works Ltd リモート運転機能を備えた数値制御装置
JP2003195930A (ja) 2001-12-28 2003-07-11 Amada Denshi:Kk Nc工作機のdnc運転方法及びそのシステム
JP2004078476A (ja) 2002-08-14 2004-03-11 Fanuc Ltd 数値制御装置
JP2005135153A (ja) 2003-10-30 2005-05-26 Fanuc Ltd 数値制御装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61245207A (ja) * 1985-04-23 1986-10-31 Fanuc Ltd Ncプログラムデ−タ転送方法
JP2780729B2 (ja) * 1992-05-07 1998-07-30 三菱電機株式会社 数値制御装置
JP3451594B2 (ja) 1995-12-21 2003-09-29 株式会社森精機ハイテック 数値制御装置における記憶手段アクセス制御方法および数値制御装置
JP2004252844A (ja) * 2003-02-21 2004-09-09 Fanuc Ltd 数値制御装置
JP2006172388A (ja) * 2004-12-20 2006-06-29 Fanuc Ltd 数値制御装置
JP4247264B2 (ja) * 2006-10-06 2009-04-02 ファナック株式会社 工作機械の制御装置
JP4271248B2 (ja) * 2007-05-24 2009-06-03 ファナック株式会社 先読み停止機能を有する数値制御装置
JP5037372B2 (ja) 2008-01-29 2012-09-26 ファナック株式会社 地震情報により工作機械を停止する機能を有する数値制御装置
JP4814365B2 (ja) * 2009-10-20 2011-11-16 ファナック株式会社 加工プログラムやバイナリデータが記憶されているメモリの領域を分割・結合することが可能な数値制御装置
JP5778430B2 (ja) 2011-01-12 2015-09-16 Dmg森精機株式会社 工作機械の制御装置
US9992745B2 (en) 2011-11-01 2018-06-05 Qualcomm Incorporated Extraction and analysis of buffered audio data using multiple codec rates each greater than a low-power processor rate
JP5657623B2 (ja) * 2012-09-21 2015-01-21 ファナック株式会社 系統間待合せ機能を有する数値制御装置
JP5681230B2 (ja) * 2013-04-18 2015-03-04 ファナック株式会社 Dnc運転装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07239707A (ja) 1994-02-25 1995-09-12 Okuma Mach Works Ltd リモート運転機能を備えた数値制御装置
JP2003195930A (ja) 2001-12-28 2003-07-11 Amada Denshi:Kk Nc工作機のdnc運転方法及びそのシステム
JP2004078476A (ja) 2002-08-14 2004-03-11 Fanuc Ltd 数値制御装置
JP2005135153A (ja) 2003-10-30 2005-05-26 Fanuc Ltd 数値制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017123339B4 (de) 2016-10-14 2022-10-06 Fanuc Corporation Programmoptimierungssystem

Also Published As

Publication number Publication date
CN105320066B (zh) 2018-05-18
DE102015009583B4 (de) 2019-05-09
JP2016031725A (ja) 2016-03-07
JP6068401B2 (ja) 2017-01-25
CN105320066A (zh) 2016-02-10
US10018990B2 (en) 2018-07-10
US20160033956A1 (en) 2016-02-04

Similar Documents

Publication Publication Date Title
DE102015009583B4 (de) Numerische Steuerung mit DNC-Betriebseinheit
DE102013015236B4 (de) Numerische Steuervorrichtung mit einer Wartefunktion zwischen Wegen
DE102016213152A1 (de) Informationserlangungseinrichtung einer Werkzeugmaschine
DE102015009437B4 (de) Abschätzvorrichtung für eine Bearbeitungszeit nach Änderung eines NC-Programmes
DE102017116459B4 (de) Cad/cam-cnc-integriertes system
DE102014015007A1 (de) Numerische Steuerung mit Programm-Vorablesefunktion
DE102018001677A1 (de) Numerische Steuervorrichtung und integriertes CAD-/CAM-CNC-System
DE102016011623B4 (de) Numerische Steuerung mit Funktion zur automatischen Parameterauswahl entsprechend der Größe eines Bearbeitungsbereiches
DE102015112831A1 (de) Bearbeitungssimulationsvorrichtung
DE102012008541A1 (de) Numerische Steuervorrichtung mit einer Operationsfunktion auf der Grundlage von Daten im Tabellenformat
DE102017101711A1 (de) Bearbeitungszeitschätzvorrichtung
DE102016001503A1 (de) Numerische Steuerung, geeignet zur Reduzierung einer Maschinenbeanspruchung
DE112013007685T5 (de) Vorrichtung zur numerischen Steuerung und Logging-Verfahren
DE102015015291B4 (de) Numerische Steuerung mit Unterstützungsfunktion für die Parametereinstellung in Zusammenhang mit einer Zykluszeit
DE102017000471A1 (de) Numerisches Steuersystem mit Einsatz von durch Bearbeitungssimulation analysierten Daten bei der tatsächlichen Bearbeitung
DE10144788A1 (de) Verfahren und Vorrichtung zur sicheren hochperformanten Aufzeichnung von Prozessdaten bei numerisch gesteuerten industriellen Bearbeitungsmaschinen
DE102017003649A1 (de) Numerische Steuereinheit
DE102015011081A1 (de) Numerische Steuerungsvorrichtung
DE102015014325A1 (de) Numerische Steuervorrichtung
DE102017123339B4 (de) Programmoptimierungssystem
DE102016001634A1 (de) Numerische Steuervorrichtung
DE102015013603A1 (de) Numerische Steuervorrichtung
DE102014016807B4 (de) Numerische Steuervorrichtung mit einer Funktion zur gleichzeitigen Ausführung einer Vielzahl von Befehlen unter Verwendung von Daten im Tabellenformat
DE102016014179A1 (de) Numerische Steuerung
DE102014018177A1 (de) Numerische Steuerung mit Servoausgangsverzögerungseinheit

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final