DE102014015007A1 - Numerische Steuerung mit Programm-Vorablesefunktion - Google Patents

Numerische Steuerung mit Programm-Vorablesefunktion Download PDF

Info

Publication number
DE102014015007A1
DE102014015007A1 DE201410015007 DE102014015007A DE102014015007A1 DE 102014015007 A1 DE102014015007 A1 DE 102014015007A1 DE 201410015007 DE201410015007 DE 201410015007 DE 102014015007 A DE102014015007 A DE 102014015007A DE 102014015007 A1 DE102014015007 A1 DE 102014015007A1
Authority
DE
Germany
Prior art keywords
blocks
execution
time
execution times
program
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
DE201410015007
Other languages
English (en)
Other versions
DE102014015007B4 (de
Inventor
c/o Fanuc Corporation Haraguchi Takahiro
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 DE102014015007A1 publication Critical patent/DE102014015007A1/de
Application granted granted Critical
Publication of DE102014015007B4 publication Critical patent/DE102014015007B4/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/35Nc in input of data, input till input file format
    • G05B2219/35386Look ahead processing of plural block data from buffer
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36078Insert, read in new command instruction to modify fixed program

Landscapes

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

Abstract

Eine numerische Steuerung liest vorab sukzessive Blöcke aus einer Mehrzahl von NC-Programmen aus einem Speicher oder einer über ein Netzwerk verbundenen Speichereinrichtung aus während parallel die NC-Programme ausgeführt werden. Die Ausführungszeiten der vorab ausgelesenen Blöcke werden für alle NC-Programme, welche der Vorabauslesung unterliegen, integriert und wenn ein NC-Programm mit der kürzesten integrierten Ausführungszeit der vorab ausgelesenen Blöcke vorab auslesbar ist, wird der nächste Block dieses NC-Programms vorab ausgelesen. Wenn andererseits das NC-Programm nicht vorab auslesbar ist, wird es von der Vorabauslesung ausgeschlossen.

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. Gebiet der Erfindung
  • Die Erfindung betrifft eine numerische Steuerung, die mit einer Programm-Vorablesefunktion ausgerüstet ist.
  • 2. Zum Stand der Technik
  • Bei numerischen Steuerungen (NC) mit Programm-Vorablesefunktion ist es bekannt, eine vorgegebene Anzahl von (Programm-)Blöcken vorab auszulesen (vgl. japanische Patentveröffentlichung 2007-94936 , japanische Patentveröffentlichung 2007-164509 , und japanische Patentveröffentlichung 2008-40542 ).
  • Neben derartigen NCs sind numerische Steuerungen bekannt mit einer Funktion (Verlaufstabellenbetriebsfunktion), bei der Daten in Tabellenformat (Verlaufstabelle), mit denen Achsenpositionen in Bezug auf die Zeit, Achsenpositionen, oder Spindelpositionen festgelegt werden, in einem Speicher oder einer über ein Netzwerk verbundenen Speichereinrichtung abgespeichert werden und die jeweiligen Achsen durch sukzessives Auslesen der tabellenformatierten Daten (Verlaufstabelle) angetrieben werden (vgl. japanische Patentveröffentlichung 59-177604 oder japanische Patentveröffentlichung 2012-234445 ). Die Verlaufstabellenbetriebsfunktion ermöglicht einen freien Werkzeugbetrieb unabhängig von dem Bearbeitungsprogramm und deshalb können die Bearbeitungszeit verkürzt und die Bearbeitungsgenauigkeit verbessert werden.
  • Die japanische Patentveröffentlichung 2012-93975 beschreibt ein Verfahren und eine Vorrichtung zum Vorhersagen einer Bearbeitungszeit in einer numerisch gesteuerten Werkzeugmaschine mit verbesserter Vorhersagegenauigkeit für die Bearbeitungszeit, wobei die Berechnungszeit für die Vorhersage der Bearbeitungszeit verkürzt ist.
  • Bei den oben beschriebenen NC-Programmen mit Vorablesefunktion kann es vorkommen, dass bei NC-Programmen mit kontinuierlichen kleinen Blöcken die Vorablesung nicht rechtzeitig durchgeführt werden kann. Erfolgt das Vorablesen irgendeines NC-Programmes in einer Mehrzahl von NC-Programmen, welche koordiniert ablaufen, nicht rechtzeitig, dann beeinträchtigt dies die anderen NC-Programme ebenfalls und der gesamte Arbeitszyklus wird verlängert.
  • 12 zeigt Beispiele von drei Programmen, die wechselseitig parallel mit Vorablesung im NC-Programmbetrieb abgearbeitet werden. 13 zeigt den integrierten Wert der Ausführungszeiten (die integrierte Ausführungszeit) der vorab gelesenen Blöcke in jedem der drei Programme gemäß 12 in einer Stufe, in der neun Blöcke vorab ausgelesen wurden, entsprechend einem herkömmlichen Steuersystem mit Vorablesefunktion.
  • Beispielhaft wird nun beschrieben, wie die drei Programme (O0001, O0002, O0003) gemäß 12 parallel abgearbeitet werden. „O0001”, „O0002” und „O0003” sind die jeweiligen Programmnamen. Der in Klammern bei jedem Programm gemäß 12 stehende Wert ist die Ausführungszeit für jeden Block.
  • Herkömmlicherweise erfolgt das Vorablesen der jeweiligen Programme ohne Berücksichtigung des integrierten Wertes der Ausführungszeiten der vorab gelesenen Blöcke und deshalb wurde die Vorablesung auf Basis der nachfolgenden Sequenz ausgeführt.
    • (1) N11 ist vorabgelesen [Anzahl der vorab gelesenen Blöcke (O0001, O0002, O0003) = (1, 0, 0)]
    • (2) N21 ist vorabgelesen [Anzahl der vorab gelesenen Blöcke (O0001, O0002, O0003) = (1, 1, 0)]
    • (3) N31 ist vorabgelesen [Anzahl der vorab gelesenen Blöcke (O0001, O0002, O0003) = (1, 1, 1)]
    • (4) N12 is vorab gelesen [Anzahl der vorab gelesenen Blöcke (O0001, O0002, O0003) = (2, 1, 1)]
    • (5) N22 ist vorab gelesen [Anzahl der vorab gelesenen Blöcke (O0001, O0002, O0003) = (2, 2, 1)]
    • (6) N32 ist vorab gelesen [Anzahl der vorab gelesenen Blöcke (O0001, O0002, O0003) = (2, 2, 2)]
    • (7) N13 ist vorab gelesen [Anzahl der vorab gelesenen Blöcke (O0001, O0002, O0003) = (3, 2, 2)]
    • (8) N32 ist vorab gelesen [Anzahl der vorab gelesenen Blöcke (O0001, O0002, O0003) = (3, 3, 2)]
    • (9) N33 ist vorabgelesen [Anzahl der vorab gelesenen Blöcke (O0001, O0002, O0003) = (3, 3, 3)] . .
  • Der integrierte Wert der Ausführungszeiten der vorab gelesenen Blöcke in jedem Programm in der Stufe, in der neun Blöcke in der Kombination (9) vorab gelesen sind, ist in 13 gezeigt. In diesem Fall ist für das Programm O0003 der integrierte Wert der Ausführungszeiten der vorab gelesenen Blöcke 3 ms und deshalb tritt dann, wenn der Betrieb in diesem Zustand ausgeführt wird und die Vorablesung nicht rechtzeitig erfolgt, eine Wartezeit auf bis die Vorablesung abgeschlossen ist.
  • Basiert der Betrieb auf Tabellenformat (Verlaufstabellenbetriebsfunktion) und liegt eine Abfolge von kleinen Blöcken vor, dann kann eine Situation auftreten, in der die Vorablesung der Blöcke in den Tabellenformatdaten nicht rechtzeitig (schnell) erfolgt. Erfolgt die Vorablesung nicht rechtzeitig, dann kann die Vorrichtung nicht entsprechend der Referenzzeit in die Achsenposition bewegt werden, d. h. die Referenzachsenposition oder Spindelposition, und deshalb erfolgt eine Alarmgebung oder ein sofortiger Achsenstopp. Erfolgt der Betrieb im Tabellenformat derart modifiziert, dass die Vorablesungen rechtzeitig erfolgen, sodass kein Alarm oder sofortiger Achsenstopp erfolgt, verlängert sich die Arbeitszykluszeit.
  • Nunmehr wird ein Beispiel für eine herkömmliche Technik eines Betriebs auf Basis von Tabellenformatdaten (Verlaufstabellenbetriebsfunktion) mit Ausführung von vorab gelesenen Verlaufstabellen beschrieben, wobei die drei Verlaufstabellen gemäß 14 ausgeführt werden (eine Verlaufstabelle <X> für die X-Achse, Verlaufstabelle <S> für die Spindel S, und Verlaufstabelle <M> für eine Hilfsfunktion).
  • Herkömmlicherweise wird das Vorablesen ausgeführt ohne Berücksichtigung des integrierten Wertes der Ausführungszeiten der vorab gelesenen Blöcke und deshalb ergibt sich bei Vorablesung auf einer Mittelwertbasis die nachfolgend beschriebene Sequenz.
    • (1) Vorabgelesen L1 in <X> [Anzahl der vorab gelesenen Blöcke (<X>, <S>, <M>) = (1, 0, 0)]
    • (2) Vorabgelesen L100 in <S> [Anzahl der vorab gelesenen Blöcke (<X>, <S>, <M>) = (1, 1, 0)]
    • (3) Vorabgelesen L100 in <M> [Anzahl der vorab gelesenen Blöcke (<X>, <S>, <M>) = (1, 1, 1)]
    • (4) Vorabgelesen L2 in <X> [Anzahl der vorab gelesenen Blöcke (<X>, <S>, <M>) = (2, 1, 1)]
    • (5) Vorabgelesen L150 in <S> [Anzahl der vorab gelesenen Blöcke (<X>, <S>, <M>) = (2, 2, 1)]
    • (6) Vorabgelesen L1050 in <M> [Anzahl der vorab gelesenen Blöcke (<X>, <S>, <M>) = (2, 2, 2)]
    • (7) Vorabgelesen L3 in <X> [Anzahl der vorab gelesenen Blöcke (<X>, <S>, <M>) = (3, 2, 2)]
    • (8) Vorabgelesen L200 in <S> [Anzahl der vorab gelesenen Blöcke (<X>, <S>, <M>) = (3, 3, 2)]
    • (9) Vorabgelesen L1100 in <M> [Anzahl der vorab gelesenen Blöcke (<X>, <S>, <M>) = (3, 3, 3)] . .
  • Die integrierten Werte der Ausführungszeiten der vorab gelesenen Blöcke jeder Verlaufstabelle in der Stufe, in der neun Blöcke gemäß der in (9) angezeigten Kombination vorab gelesen sind sind in 15 gezeigt. In diesem Falle beträgt der integrierte Wert der Ausführungszeiten der vorab gelesenen Blöcke in <X> 3 ms. Eine Vorabauslesung erfolgt nicht rechtzeitig, wenn ein Betrieb in diesem Stadium erfolgt und deshalb wird ein Alarm gegeben oder es werden sofort Achsen gestoppt. Bei Verlaufstabellenbetrieb wird der integrierte Wert der Ausführungszeiten der vorab ausgelesenen Blöcke in jeder Verlaufstabelle nicht beobachtet. Deshalb war es nicht möglich, im Voraus zu bestimmen, dass der integrierte Wert der Ausführungszeiten der vorab gelesenen Blöcke kleiner ist als die zum sicheren Abbremsen und Halten erforderliche Zeit.
  • Dementsprechend erfolgt bei nicht rechtzeitig abgeschlossener Vorabauslesung nicht nur ein Alarm oder ein sofortiger Achsenstopp, sondern es ergibt sich auch die Gefahr von Stößen in der Maschine. Insbesondere dann, wenn eine Vorabauslesung ausgeführt wird aus einer Speichereinrichtung, die über ein Netzwerk angeschlossen ist, besteht die Möglichkeit, dass die Kommunikation aufgrund zeitweiliger Netzwerkprobleme unterbrochen sein kann, und deshalb stellt sich dieses Problem in besonderem Maße.
  • KURZFASSUNG DER ERFINDUNG
  • Zur Lösung der oben erläuterten Probleme beim Stand der Technik ist es ein Ziel der vorliegenden Erfindung, eine numerische Steuerung bereitzustellen, mit Programm-Vorablesefunktion, bei der verhindert ist, dass die Vorablesung nicht rechtzeitig ausgeführt wird und mit der weiterhin verhindert ist, dass die Zykluszeit verlängert ist wenn eine Mehrzahl von NC-Programmen parallel ausgeführt werden; weiterhin soll eine numerische Steuerung bereitgestellt werden, mit Betriebsfunktion auf Basis von tabellenformatierten Daten, wobei bei paralleler Ausführung einer Mehrzahl von tabellenformatierten Daten (Verlaufstabellenbetriebsfunktion) die Erzeugung eines Alarms oder eines sofortigen Achsenstopps aufgrund des Umstandes, dass die Vorablesung nicht rechtzeitig ausgeführt wurde, weniger wahrscheinlich wird.
  • Um zu erreichen, dass bei paralleler Ausführung einer Mehrzahl von NC-Programmen die Vorabauslesung rechtzeitig erfolgt, werden diejenigen NC-Programme mit der kürzesten Ausführungszeit aus den vorab auszulesenden Blöcken mit Priorität ausgelesen. Dementsprechend wird vermieden, dass die Vorabauslesung nicht innerhalb der gegebenen Zeit ausgeführt wird und auch eine Verlängerung der Arbeitszyklenzeit ist verhindert. Eine numerische Steuerung mit einer Funktion zum Berechnen der Ausführungszeiten der Blöcke eines NC-Programmes ist gut bekannt (vgl. japanische Patentveröffentlichung 2012-93975 ).
  • Neben dem oben beschriebenen NC-Porgrammbetrieb wird bei paralleler Ausführung einer Mehrzahl von tabellenformatierten Daten beim Betrieb auf Grundlage tabellenformatierter Daten auf Basis einer Priorität bestimmt, wo aus der Mehrzahl von tabellenformatierten Daten die Vorabauslesung erfolgt. Durch die Priorisierung der Vorabauslesung von Daten mit kurzer Ausführungszeit aus den vorab ausgelesenen Blöcken, wird die Wahrscheinlichkeit des Auftretens eines Alarms oder eines sofortigen Achsenstopps aufgrund einer nicht hinreichend zeitlich kurzen Auslesung verringert. Eine Folge dieser Maßnahme ist, dass es nicht mehr nötig ist, tabellenformatierte Daten wie im Stand der Technik zu modifizieren und es ergibt sich eine Verkürzung der Zykluszeiten im Vergleich zum Stand der Technik.
  • Gemäß einer ersten Ausführungsform einer numerischen Steuerung nach der vorliegenden Erfindung werden während paralleler Ausführung von NC-Programmen sukzessiv Blöcke vorab ausgelesen aus einer Vielzahl von NC-Programmen in einem Speicher oder in einem über ein Netzwerk verbundenen Speicher, wobei die numerische Steuerung folgendes aufweist: eine Ausführungszeitspeichereinheit, welche Ausführungszeiten einzelner Blöcke in den NC-Programmen speichert; eine Ausführungszeitintegrationseinheit, welche aus der Ausführungszeitspeichereinheit die Ausführungszeiten der vorab ausgelesenen Blöcke ausliest und integriert; eine Bestimmungseinheit, welche die integrierten Ausführungszeiten der vorab ausgelesenen Blöcke in den einzelnen NC-Programmen vergleicht und dasjenige NC-Programm bestimmt, welches den kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke hat; und eine Vorabausleseausführungseinheit, welche anschließend die Vorabauslesung des NC-Programmes mit dem kürzesten integrierten Wert der Ausführungszeiten aus den vorab ausgelesenen Blöcken ausführt, wie es durch die Bestimmungseinheit bestimmt worden ist.
  • Das Ergebnis der Feststellung der Ausführungszeiten der Blöcke in jedem der NC-Programme durch die vorangehende Ausführung der Bearbeitung kann in der Ausführungszeitspeichereinheit abgespeichert werden und die abgespeicherten Ausführungszeiten können dann im nachfolgenden und in weiteren Bearbeitungsprozessen ausgelesen werden.
  • Gemäß einem zweiten Ausführungsbeispiel einer numerischen Steuerung nach der vorliegenden Erfindung hat die Steuerung eine Programm-Vorabauslesefunktion zum sukzessiven Vorabauslesen von Blöcken einer Mehrzahl von NC-Programmen aus einem Speicher oder einem über ein Netzwerk verbundenen Speicher, wobei die NC-Programme parallel ausgeführt werden und die numerische Steuerung folgendes aufweist: eine Ausführungszeitberechnungseinheit, welche Ausführungszeiten aus Inhalten von Befehlen der einzelnen Blöcke in den NC-Programmen berechnet; eine Ausführungszeitintegrationseinheit, welche die Ausführungszeiten der vorab ausgelesenen Blöcke, wie von der Ausführungszeitberechnungseinheit berechnet, integriert; eine Bestimmungseinheit, welche die integrierten Ausführungszeiten der vorab ausgelesenen Blöcke der einzelnen NC-Programme vergleicht und dasjenige NC-Programm mit dem kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke bestimmt; und eine Vorabausleseausführungseinheit, welche anschließend die Vorabauslesung des NC-Programmen mit dem kürzesten integrierten Wert der Ausführungszeiten ausführt, wie von der Bestimmungseinheit bestimmt.
  • Die Ausführungszeitenberechnungseinheit kann folgendes aufweisen: eine Teilungseinheit, welche einen Werkzeugweg in kleine Segmente unterteilt; eine Geschwindigkeitsberechnungseinheit, welche eine Geschwindigkeit in tangentialer Richtung des Segmentes bestimmt; eine Segmentbewegungszeitberechnungseinheit, welche eine Zeit berechnet, die ein Werkzeug braucht, um sich entlang jedem Segment zu bewegen, und zwar auf Basis der Geschwindigkeit in tangentialer Richtung, wie durch die Geschwindigkeitsberechnungseinheit bestimmt; und eine Werkzeugbewegungszeitberechnungseinheit, welche als Werkzeugbewegungszeit eine Summe der Zeiten ermittelt, die das Werkzeug zur Bewegung entlang jedem Segment gemäß der Berechnung durch die Segmentbewegungseinheitberechnungseinheit braucht, wobei die numerische Steuerung eingerichtet sein kann, eine Zeit zu berechnen, die für ein Werkzeug erforderlich ist, um entsprechend NC-Befehlen sich entlang einem vorgegebenen Pfad zu bewegen.
  • Die numerische Steuerung kann weiterhin folgendes aufweisen: eine Monitoreinheit für die integrierte Ausführungszeit, welche parallel zu dem Betrieb auf Basis des NC-Programmes kontinuierlich einen integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke eines NC-Programmes, welches gerade ausgeführt wird, beobachtet; eine Brems-/zeitweilige Halteeinheit, welche den Betrieb auf Basis des NC-Programmes bremst (verlangsamt) oder zeitweilig anhält wenn die Monitoreinheit für die integrierte Ausführungszeit bestimmt hat, dass der integrierte Wert der Ausführungszeiten der vorab ausgelesenen Blöcke gleich einer Zeit geworden ist, die erforderlich ist, den Betrieb auf Basis des NC-Programmes sicher zu verlangsamen und anzuhalten; eine Vorableseeinheit, welche aus dem Speicher oder dem über ein Netzwerk verbundenen Speicher das NC-Programm vorab ausliest während die Verlangsamung (Abbremsung) oder das zeitweilige Anhalten des Betriebs des NC-Programmes erfolgt; und eine Betriebs-Neustarteinheit, welche den Betrieb auf Basis des NC-Programmes neu startet, wenn der integrierte Wert der Ausführungszeiten der vorab ausgelesenen Blöcke hinreichende Zeit sicherstellt, die erforderlich ist zum sicheren Abbremsen oder Anhalten des Betrieb auf Basis des NC-Programms, wobei die Blöcke der Mehrzahl von NC-Programmen sukzessive aus dem Speicher oder der über ein Netzwerk verbundenen Speichereinrichtung vorab ausgelesen werden können.
  • Die Ausführungszeitspeichereinheit kann eine Programm-Vorabauslesungsfunktion haben, mit der dann, wenn zuvor die Bearbeitung ausführt worden ist und die Ausführung gemessen und gespeichert wurde, und wenn eine Verringerung der Vorschubrate erfolgt weil der integrierte Wert der Ausführungszeiten der vorab ausgelesenen Blöcke gleich derjenigen Zeitspanne ist, die zum Abbremsen und Anhalten erforderlich ist, die Ausführungszeit für den Fall abgespeichert wird, in dem keine Verringerung der Vorschubrate aufgetreten ist anstelle einer direkten Abspeicherung der Ausführungszeit.
  • Gemäß einer weiteren Ausführungsform setzt die numerische Steuerung gemäß der Erfindung eine Zeit, eine Position einer Achse, oder eine Position der Spindel als Referenz und speichert tabellenformatierte Daten, in denen die Referenz-Zeit, die Referenz-Achsenposition oder die Referenz-Spindelposition zugeordnet ist einer Position einer Achse oder einer Spindel – verschieden von der Referenzachse oder der Referenzspindel – in einem Speicher oder einem über ein Netzwerk verbundenen Speicher, wobei die Steuerung weiterhin sukzessive eine Vorabauslesung durchführt bezüglich der Referenz-Zeit, der Referenz-Achsenposition oder der Referenz-Spindelposition und der Position der Achse oder der Spindel – verschieden von der Referenzachse oder der Referenzspindel – und die Position der anderen Achse oder Spindel synchron mit der Referenz-Zeit, der Referenz-Achsenposition oder der Referenz-Spindelposition steuert. Die numerische Steuerung enthält: eine Ausführungszeitintegrationseinheit, welche die Ausführungszeiten der vorab ausgelesenen Blöcke integriert, eine Bestimmungseinheit, welche die integrierten Ausführungszeiten der vorab ausgelesenen Blöcke in jeweiligem Tabellenformat vergleicht und diejenigen Tabellenformat-Daten ermittelt, welche den kürzesten integrierten Wert der Ausführungszeiten haben; und eine Vorabauslesungsausführungseinheit, welche anschließend eine Vorabauslesung der tabellenformatierten Daten mit dem kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke aufweist, wie von der Bestimmungseinheit bestimmt.
  • Die Ausführungszeitintegrationseinheit kann eine Abschätzeinheit für einen integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke aufweisen mit einer (Vorhersage-)Abschätzung der Ausführungszeiten der vorab ausgelesenen Blöcke aufgrund einer Differenz zwischen einer gerade laufenden Referenz-Zeit und einer Referenz-Zeit der vorab ausgelesenen Blöcke.
  • Die numerische Steuerung kann weiterhin folgendes aufweisen: einen Monitor für eine integrierte Ausführungszeit, welcher, parallel mit einem Betrieb auf Basis der tabellenformatierten Daten, kontinuierlich einen integrierten Wert der Ausführungszeiten der vorab gelesenen Blöcke der tabellenformatierten Daten, welche ausgeführt werden, beobachtet; eine Brems-/Anhalteeinheit, welche den Betrieb auf Basis der tabellenformatierten Daten verlangsamt oder zeitweise anhält wenn der Monitor für die integrierte Ausführungszeit feststellt, dass der integrierte Wert der Ausführungszeiten der vorab ausgelesenen Blöcke gleich ist einer Zeit, die erforderlich ist, um den Betrieb auf Basis der tabellenformatierten Daten zu verlangsamen oder anzuhalten; eine Vorableseeinheit, welche die tabellenformatierten Daten aus dem Speicher oder einem über ein Netzwerk verbundenen Speicher vorab ausliest während des Verlangsamens oder zeitweisen Anhaltens des Betriebs auf Basis der tabellenformatierten Daten; und eine Betriebsneustarteinheit, welche den Betrieb auf Basis der tabellenformatierten Daten neu startet wenn der integrierte Wert der Ausführungszeiten der vorab ausgelesenen Blöcke hinreichend sicherstellt, dass die erforderliche Zeit zur Verfügung steht zum sicheren Verlangsamen und Anhalten des Betriebs auf Basis der tabellenformatierten Daten, wobei die Blöcke der tabellenformatierten Daten vorab sukzessive aus dem Speicher oder einem über ein Netzwerk verbundenen Speicher ausgelesen werden können.
  • Mit der Erfindung ist es möglich, eine numerische Steuerung bereitzustellen, die eine Programm-Vorabauslesefunktion hat, wobei verhindert ist, dass die Vorabauslesung nicht schnell genug (rechtzeitig) ausgeführt wird und wobei weiterhin verhindert ist, dass die Bearbeitungszeit verlängert ist wenn eine Mehrzahl von NC-Programmen parallel abgearbeitet werden. Weiterhin kann die numerische Steuerung mit einer Betriebsfunktion versehen sein auf Basis von tabellenformatierten Daten, wobei dann, wenn eine Mehrzahl von tabellenformatierten Daten parallel bei ihrer Abarbeitung durchgeführt werden (Verlaufstabellenbetriebsfunktion) die Erzeugung eines Alarms oder eines sofortigen Achsenstopps bei nicht rechtzeitiger Vorabauslesung weniger wahrscheinlich wird. Im Ergebnis kann deshalb eine Modifikation der tabellenformatierten Daten, wie im Stand der Technik, eingespart werden und es ergibt sich im Vergleich zum Stand der Technik eine Verkürzung der Bearbeitungszeit.
  • KURZBESCHREIBUNG DER FIGUREN
  • Obige und weitere Ziele und Merkmale der Erfindung werden noch deutlicher aus der nachfolgenden Beschreibung von Ausführungsbeispielen mit Bezug auf die Figuren:
  • 1 ist ein Diagramm zur Erläuterung des integrierten Wertes („die integrierte Ausführungszeit”) der Ausführungszeiten von vorab ausgelesenen Blöcken in jedem von drei Programmen gemäß 12, in einem Stadium, in dem neun Blöcke durch eine numerische Steuerung gemäß der Erfindung vorab ausgelesen worden sind;
  • 2 ist ein Diagramm zur Erläuterung des Ablaufs einer Vorabauslesung wenn eine Mehrzahl von NC-Programmen parallel durch eine numerische Steuerung gemäß der Erfindung abgearbeitet werden;
  • 3 ist ein Blockdiagramm zur Erläuterung einer Verlaufstabellenbetriebsfunktion;
  • 4 ist ein weiteres Blockdiagramm zur Erläuterung einer Verlaufstabellenbetriebsfunktion;
  • 5 ist ein Beispiel für Verlaufstabellen bezüglich einer X-Achse, einer Spindel S und einer Hilfsfunktion, welche gemäß dem Verlaufstabellenbetrieb nach 4 ausgeführt werden;
  • 6 ist ein Diagramm zur Erläuterung eines Betriebs, der ausgeführt wird entsprechend dem Fortschreiten der Referenzzeit bei Ausführung der Verlaufstabellen gemäß 5;
  • 7 ist ein Diagramm zur Erläuterung des integrierten Wertes von Ausführungszeiten der vorab ausgelesenen Blöcke in jeder der drei Verlaufstabellen gemäß 14, und zwar in einem Zustand, in dem neun Blöcke durch die numerische Steuerung gemäß der Erfindung vorab ausgelesen worden sind;
  • 8 ist ein Diagramm zur Erläuterung der Verlangsamung des Betriebs durch Reduzierung der Vorschubratenkorrektur(-Überbrückung) beim NC-Programmbetrieb oder durch Reduzierung der Korrekturzeit (Überbrückungszeit; Override) in der Verlaufstabellenbetriebsfunktion wenn die Vorabauslesung eines NC-Programms oder der Verlaufstabellenbetrieb nicht in einer vorgegeben Zeit ausführt worden sind, und mit einem zeitweisen Anhalten durch Setzen der Vorschubkorrektur oder der Korrekturzeit auf „null” wenn überhaupt keine vorab ausgelesenen Blöcke vorliegen;
  • 9 ist ein Flussdiagramm zur Erläuterung der Abarbeitung eines NC-Programmes;
  • 10 ist ein Flussdiagramm zur Erläuterung einer Verlaufstabellenbetriebsfunktion;
  • 11 ist ein prinzipielles Blockdiagramm einer numerischen Steuerung nach der Erfindung, welche ein NC-Programm oder eine Verlaufstabellenbetriebsfunktion ausführt;
  • 12 zeigt drei Programmbeispiele, welche wechselseitig parallel durch Vorabauslesung im NC-Programmbetrieb abgearbeitet werden;
  • 13 zeigt den integrierten Wert (die „integrierte Ausführungszeit”) der Ausführungszeiten der vorab ausgelesenen Blöcke in jedem der drei Programme gemäß 12 in einem Zustand, in dem neun Blöcke vorab gemäß dem Stand der Technik ausgelesen worden sind;
  • 14 zeigt Beispiele von drei Verlaufstabellen (X-Achse-Verlaufstabelle, <X>, Spindel S-Verlaufstabelle <S> und Hilfsfunktion-Verlaufstabelle <M>);
  • 15 zeigt den integrierten Wert („integrierte Ausführungszeit”) der Ausführungszeiten der vorab in jeder der drei Verlaufstabelle gemäß 14 vorab ausgelesenen Blöcke, und zwar in einem Zustand, in dem neun Blöcke gemäß dem Stand der Technik vorab ausgelesen worden sind; und
  • 16 zeigt ein Beispiel für die Ausführungszeit eines bestimmten Blockes bei Verlangsamung des Betriebs wenn die Vorabauslesung beim NC-Programmbetrieb nicht rechtzeitig ausgeführt worden ist.
  • BESCHREIBUNG VON BEVORZUGTEN AUSFÜHRUNGSBEISPIELEN IM EINZELNEN
  • Nachfolgend wird zunächst ein Ausführungsbeispiel der Erfindung mit Blick auf die Figuren beschrieben, bei dem (I) eine Mehrzahl von NC-Programmen abgearbeitet werden, und (II) bei dem ein Betrieb (Verlaufstabellenbetrieb) auf Basis von tabellenformatierten Daten ausgeführt wird.
  • (I) Ausführung einer Mehrzahl von NC-Programmen.
  • Nach der Erfindung erfolgt die Vorabauslesung durch Priorisierung von Programmen mit einem kurzen integrierten Wert der Ausführungszeiten von vorab ausgelesenen Blöcken. Bei den in 12 gezeigten drei NC-Programmen erfolgt die Auslesung entsprechend der nachfolgend angegebenen Sequenz. Die Werte innerhalb der [] unten zeigen die Programmnamen und die integrierten Werte (integrierte Ausführungszeiten) der Ausführungszeiten der Blöcke entsprechend den einzelnen Programmen. Weiterhin zeigt unten eine Unterstreichung das Programm mit dem kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Programmblöcke. Das Verfahren zum Bestimmen der Ausführungszeiten der Blöcke zum integrieren der Ausführungszeiten der vorab ausgelesenen Blöcke wird unten ebenfalls beschrieben.
    • (1) N11 wird vorab ausgelesen und dann werden die Ausführungszeiten der vorab ausgelesenen Blöcke in jedem der Programme integriert. [integrierte Wert der Ausführungszeiten der vorab ausgelesenen Blöcke (O0001, O0002, O0003) = (300, 0, 0)]
    • (2) Da O0002 den kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesen Blöcke in (1) hat, wird N21 vorab ausgelesen und anschließend werden die Ausführungszeiten der vorab ausgelesenen Blöcke in jedem der Programme integriert. [integrierter Wert der Ausführungszeiten der vorab ausgelesenen Blöcke (O0001, O0002, O0003) = (300, 10, 0)]
    • (3) Da O0003 den kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke in (2) hat, wird anschließend N31 vorab ausgelesen und es werden die Ausführungszeiten der vorab ausgelesenen Blöcke in jedem der Programme integriert. [integrierter Wert der Ausführungszeiten der vorab ausgelesenen Blöcke (O0001, O0002, O0003) = (300, 10, 1)]
    • (4) Da O0003 den kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke in (3) hat, wird N32 vorab ausgelesen und anschließend werden die Ausführungszeiten der vorab ausgelesenen Blöcke in jedem der Programme integriert. [integrierter Wert der Ausführungszeiten der vorab ausgelesenen Blöcke (O0001, O0002, O0003) = (300, 10, 2)]
    • (5) Da O0003 den kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke in (4) hat, wird N33 vorab ausgelesen und anschließend werden die Ausführungszeiten der vorab ausgelesenen Blöcke jedes Programms integriert. [integrierter Wert der Ausführungszeiten der vorab ausgelesenen Blöcke (O0001, O0002, O0003) = (300, 10, 3)]
    • (6) Da O0003 den kürzesten integrierter Wert der Ausführungszeiten der vorab ausgelesenen Blöcke in (5) hat, wird N34 vorab ausgelesen und anschließend werden die Ausführungszeiten der vorab ausgelesenen Blöcke in jedem der Programme integriert. [integrierter Wert der Ausführungszeiten der vorab ausgelesenen Blöcke (O0001, O0002, O0003) = (300, 10, 403)]
    • (7) Da O0002 den kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke in (6) aufweist, wird N22 vorab ausgelesen und anschließend werden die Ausführungszeiten der vorab ausgelesenen Blöcke in jedem der Programme integriert. [integrierter Wert der Ausführungszeiten der vorab ausgelesenen Blöcke (O0001, O0002, O0003) = (300, 110, 403)]
    • (8) Da O0002 den kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke in (7) aufweist, wird N23 vorab ausgelesen und anschließend werden die Ausführungszeiten der vorab ausgelesenen Blöcke in jedem der Programme integriert. [integrierter Wert der Ausführungszeiten der vorab ausgelesenen Blöcke (O0001, O0002, O0003) = (300, 160, 403)]
    • (9) Da O0002 den kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke in (8) aufweist, wird N24 vorab ausgelesen und anschließend werden die Ausführungszeiten der vorab ausgelesenen Blöcke in jedem der Programme integriert. [integrierter Wert der Ausführungszeiten der vorab ausgelesenen Blöcke (O0001, O0002, O0003) = (300, 360, 403)]
  • 1 ist ein Diagramm zur Veranschaulichung des integrierten Wertes („integrierte Ausführungszeit”) der Ausführungszeiten der vorab ausgelesenen Blöcke in jedem der drei Programme gemäß 12, und zwar einen Zustand, in dem neun Blöcke vorab durch die numerische Steuerung gemäß der Erfindung ausgelesen worden sind. Wie 1 zeigt, ist in einem Zustand, in dem die gleiche Anzahl von Blöcken wie beim Stand der Technik (neun Blöcke insgesamt) vorab ausgelesen worden sind, der integrierte Wert der Ausführungszeiten der vorab ausgelesen Blöcke 300 ms im Falle von O0001. Da die Vorabauslesung parallel zum Betrieb der vorab ausgelesenen Blöcke erfolgt, gibt es keine Wartezeit wenn die Vorabauslesung nicht rechtzeitig erfolgt.
  • 2 zeigt ein Flussdiagramm für die Vorabauslesung wenn eine Mehrzahl von NC-Programmen parallel ausgeführt wird.
  • Dies wird nachfolgend anhand der einzelnen Schritte ausgeführt.
  • [Schritt SA01] Die Ausführungszeit der vorab ausgelesenen Blöcke wird mit Bezug auf alle Programme, die Gegenstand der Vorabauslesung sind, integriert. Dieser Schritt bildet eine Ausführungszeit-Integrationseinheit der numerischen Steuerung.
  • [Schritt SA02] Es wird bestimmt, ob es möglich ist das Programm PA mit dem kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke vorab auszulesen oder nicht, und wenn das Programm vorab ausgelesen werden kann (JA), dann geht das Verfahren zu Schritt SA03, während dann, wenn das Programm nicht vorab ausgelesen werden kann (NEIN), das Verfahren zu Schritt SA04 geht. Dieser Schritt bildet eine Ausführungszeitbestimmungseinheit der numerischen Steuerung.
  • [Schritt SA03] Der nächste Block des Programms PA wird vorab ausgelesen und das Verfahren geht zurück zu Schritt SA01. Dieser Schritt bildet eine Vorabausleseeinheit der numerischen Steuerung.
  • [Schritt SA04] Da in Schritt SA02 festgestellt worden ist, dass das Programm PA nicht vorab ausgelesen werden kann, wird das Programm PA aus dem Kreis der Vorabausleseobjekte ausgeschlossen.
  • [Schritt SA05] Es wird bestimmt, ob irgendeines der Programme, welche aus dem Kreis der laufend vorab auszulesenden Objekte ausgeschlossen worden ist, ein vorab auszulesendes Programm geworden ist oder nicht und wenn eines dieser Programme ein vorab auslesbares Programm geworden ist (JA), dann geht das Verfahren zu Schritt SA06, während dann, wenn keines dieser Programme ein vorab auslesbares Programm geworden ist (NEIN), dann geht das Verfahren zu Schritt SA07.
  • [Schritt SA06] Das vorab lesbare Programm wird zu den Vorableseobjekten hinzugefügt und das Verfahren geht zurück zu Schritt SA01.
  • [Schritt SA07] Es wird festgestellt, ob alle Programme von den Vorabausleseobjekten ausgeschlossen worden sind oder nicht und wenn JA, dann ist das Verfahren beendet, während dann, wenn nicht alle Programme von den Vorableseobjekten ausgeschlossen worden sind (NEIN), das Verfahren zurück zu Schritt SA01 geht.
  • Die nachfolgenden Gründe sind vorstellbar als Beispiele, bei denen ein Programm beim Flussdiagramm gemäß 2 von den Vorabausleseobjekten ausgeschlossen ist: eine Programmbeendigung, ein Rücksetzen, ein Stop durch Alarm oder ein Vorausleseausschlussbefehl.
  • Nunmehr wird das Verfahren zum Bestimmen der Ausführungszeiten der Blöcke für die Integration der Ausführungszeiten der vorab ausgelesenen Blöcke beschrieben.
  • Zunächst wird in ersten Einrichtungen zum Bestimmen der Ausführungszeiten von vorab ausgelesenen Blöcken die Bearbeitung im Voraus unter Verwendung der Werkzeugmaschine ausgeführt, es werden die Ausführungszeiten für jeden Block bei Ausführung der Bearbeitung gemessen (bestimmt), und die so gemessenen Ausführungszeiten werden in einer Speichereinrichtung der Steuerung der Werkzeugmaschine abgespeichert. Bei anschließenden und weiteren Bearbeitungen durch die Werkzeugmaschine werden die im Speicher abgelegten Ausführungszeiten ausgelesen, um so die jeweiligen Ausführungszeiten der vorab ausgelesenen Blöcke zur Verfügung zu haben.
  • Sodann werden in einer zweiten Einrichtung zum Bestimmen der Ausführungszeiten der vorab ausgelesenen Blöcke die Ausführungszeiten aus den Einzelheiten der Befehle bezüglich jeden Blocks im NC-Programm berechnet. Bei dieser zweiten Einrichtung (Ausführungszeitberechnungseinheit) handelt es sich um eine Einrichtung zum Berechnen der Zeit, die erforderlich ist, um das Werkzeug über einen vorgegebenen Weg durch einen NC-Befehl zu bewegen und die zweite Einrichtung weist folgendes auf: eine Einrichtung zum Unterteilen des Werkzeugweges in relativ kleine Segmente; eine Geschwindigkeitsberechnungseinheit, welche eine Geschwindigkeit in tangentialer Richtung der Segmente bestimmt; eine Segmentbewegungszeitberechnungseinheit, welche die Zeit berechnet, welche erforderlich ist, um das Werkzeug über jedes Segment zu bewegen, und zwar auf Basis der Geschwindigkeit in tangentialer Richtung, wie durch die Geschwindigkeitsberechnungseinheit bestimmt; und eine Werkzeugbewegungszeitberechnungseinheit, welche die Gesamtzeit bestimmt zum Bewegen über jedes Segment gemäß der Berechnung durch die Segmentbewegungszeitberechnungseinheit (mit anderen Worten: die Block-Ausführungszeit).
  • Die zweite Einrichtung ist als solche gut bekannt, zum Beispiel aus der japanischen Patentveröffentlichung 2012-93975 , sodass eine weitere Beschreibung sich hier erübrigt.
  • Nunmehr wird mit Blick auf 8 eine ergänzende Beschreibung gegeben bezüglich der Beobachtung („Monitor”), der Betriebverlangsamung und des zweitweisen Anhaltens für den Fall, dass die Vorabauslesung des NC-Programmbetriebs nicht rechtzeitig ausgeführt wurde.
  • 8 erläutert einen Fall, bei dem der Betrieb verlangsamt wird durch Reduzierung der Vorschubratenkorrektur wenn die Vorabauslesung des NC-Programmbetriebs nicht rechtzeitig durchgeführt wurde und wenn überhaupt keine vorab ausgelesenen Blöcke vorliegen, wird die Vorschubratenkorrektur auf null gesetzt und das Werkzeug zeitweise angehalten.
  • Beim Betrieb während der Vorabauslesung eines NC-Programms sind zumindest diejenigen vorab ausgelesenen Blöcke zugänglich, die eine Verlangsamung oder ein Anhalten des NC-Programmbetriebs ermöglichen entsprechend dem Verhältnis der tatsächlichen Rate in Bezug auf die laufende Befehlsrate für die Vorschubachse (Vorschubratenkorrektur).
  • Erfolgt die Vorabauslesung nicht rechtzeitig bei der laufenden Vorschubratenkorrektur, dann wird der Betrieb verlangsamt durch Reduzierung der Vorschubratenkorrektur, während dann, wenn überhaupt keine vorab ausgelesenen Blöcke vorliegen, die Vorschubratenkorrektur auf null gesetzt wird und das Werkzeug zeitweise angehalten wird. Erfolgt die Vorabauslesung des NC-Programms während einer solchen Verlangsamung oder eines Anhaltens und liegt die Situation, in welcher die Vorabauslesung nicht rechtzeitig erfolgt, nicht mehr vor, dann erfolgt eine Beschleunigung durch Erhöhung der Vorschubratenkorrektur.
  • Nunmehr wird ein Verfahren beschrieben zur Bestimmung, ob eine Vorabauslesung überhaupt erfolgt ist, wobei die laufende Vorschubratenkorrektur mit OVRD und die Zeit für eine sichere Verlangsamung und ein Anhalten (lineare Verlangsamung) mit T (ms) bezeichnet sind.
  • Der integrierte Wert (die integrierte Ausführungszeit (X der Ausführungszeiten der vorab ausgelesenen Blöcke in der Zeitspanne T (ms) vom Beginn der Verlangsamung bis zum Zeitweisen Anhalten beträgt (OVRD/100) × T/2 und deshalb kann dann, wenn festgestellt ist, dass die Vorabauslesung nicht rechtzeitig erfolgt ist bei X = (OVRD/100) × T/2, die Verlangsamung und das Anhalten in der Verlangsamungszeit T (ms) durchgeführt werden kann.
  • Dabei wird angenommen, dass die Verlangsamung linear ist, jedoch ist es auch möglich, in ähnlicher Weise festzustellen, dass die Vorabauslesung nicht rechtzeitig erfolgt ist im Falle einer glockenförmigen Verlangsamung oder bei einer anderen Abhängigkeit.
  • 9 ist ein Flussdiagramm zur Erläuterung des Verfahren des NC-Programmbetriebs. Der integrierte Wert der Ausführungszeiten der vorab ausgelesenen Blöcke sei X. Die laufende Vorschubratenkorrektur sei OVRD (%) und die Verlangsamungszeit sei T (ms). Nunmehr erfolgt die Beschreibung anhand der einzelnen Schritte.
  • [Schritt SB01] Es wird festgestellt, ob der integrierte Wert X der Ausführungszeiten der vorab ausgelesenen Blöcke kleiner ist als die durch die vorab ausgelesenen Blöcke verbrauchte Zeit, (OVRD/100) × T/2, während der Verlangsamungszeitspanne T (vom Beginn der Verlangsamung bis zum Zeitweisen Halt, oder nicht, und wenn der integrierte Wert X kleiner ist (JA), dann geht das Verfahren zu Schritt SB03, während dann, wenn der integrierte Wert X nicht kleiner ist (NEIN), dann geht das Verfahren zu Schritt SB02.
  • [Schritt SB02] Der NC-Programmbetrieb wird normal fortgesetzt und das Verfahren geht zurück zu Schritt SB01.
  • [Schritt SB03] Es wird festgestellt, ob die Vorabauslesung abgeschlossen ist bis zum letzten Block und wenn die Vorabauslesung bis zum letzten Block abgeschlossen ist (JA), dann ist das Verfahren beendet während dann, wenn die Vorabauslesung nicht bis zum letzten Block durchgeführt ist (NEIN), das Verfahren zum Schritt SB04 geht.
  • [Schritt SB04] Es wird festgestellt, dass die Vorabauslesung nicht rechtzeitig erfolgt und die Verlangsamung wird gestartet.
  • [Schritt SB05] Es wird festgestellt, ob die Vorabauslesung durchgeführt und der integrierte Wert X der Ausführungszeiten der vorab ausgelesenen Blöcke aktualisiert worden ist oder nicht und wenn der integrierte Wert X der Ausführungszeiten der vorab ausgelesenen Blöcke nach Durchführung der Vorabauslesung aktualisiert worden ist (JA), dann geht das Verfahren zu Schritt SB07, während dann, wenn der integrierte Wert X der Ausführungszeiten der vorab ausgelesenen Blöcke nach Durchführung der Vorabauslesung nicht aktualisiert worden ist (NEIN), dann geht das Verfahren zu Schritt SB06.
  • [Schritt Sb06] Die Verlangsamung wird fortgesetzt (ein zeitweises Anhalten erfolgt wenn keine Vorabausleseblöcke vorliegen) und das Verfahren geht zurück zu Schritt SB05.
  • [Schritt SB07] Da der Zustand, in dem die Vorabauslesung nicht rechtzeitig erfolgt ist, nicht mehr vorliegt aufgrund der in den Schritten SB05 und SB06 ausgeführten Routinen, wird die Verlangsamung oder das zeitweise Anhalten ausgesetzt und es erfolgt eine Beschleunigung; das Verfahren geht zurück zu Schritt SB01.
  • 16 erläutert das Verfahren zum Speichern der Ausführungszeit unter der Annahme, dass der NC-Programmbetrieb mit der gegebenen Vorschubratenkorrektur erfolgt (ein Zustand, wo die Vorschubratenkorrektur 100% ist), auch wenn bei einem bestimmten Block eine Änderung der Ausführungszeit vorliegt, aufgrund der Verlangsamung oder des zeitweisen Anhaltens wie oben mit Blick auf die 8 und 9 beschrieben ist.
  • Während der anfänglichen 100 ms erfolgt der Betrieb mit einer Vorschubratenkorrektur von 100% entsprechend der Befehlsrate, jedoch ergibt sich danach, dass die Vorabauslesung nicht rechtzeitig erfolgt ist und somit erfolgt eine Verlangsamung des Betriebs um –1,0 (%/ms) für die nachfolgenden 100 ms und das Werkzeug wird dann mit einer Vorschubratenkorrektur von 60% betrieben und die Ausführung des entsprechenden Blockes wird abgeschlossen. In diesem Falle wäre die Ausführungszeit, in der keine Verlangsamung erfolgt: 100 × (100/100) = 100 (ms in Abschnitt (1), (100/100 + 60/100)/2 × 40 = 32 ms in Abschnitt (2), und 100 × (60/100) = 60 ms in Abschnitt (3), insgesamt also 192 ms.
  • Deshalb ist es auch dann, wenn die Verlangsamung und ein zeitweises Anhalten erfolgt ohne rechtzeitige Vorabauslesung, noch möglich, eine genaue Ausführungszeit durch die oben beschriebene „erste Einrichtung” abzuspeichern.
  • (II) Ausführung des Betriebs (Verlaufstabellenbetrieb) auf Basis von tabellenformatierten Daten.
  • Für die tabellenformatierten Daten beim Verlaufstabellenbetrieb wird eine Zeit oder eine Position einer Achse oder Spindel als Referenzzeit oder als Referenzachse oder Spindelposition verwendet und eine Position einer Achse oder Spindel, die nicht als Referenzachse oder Spindelposition dient, wird bezogen auf die Referenzzeit bzw. Referenzachse oder Spindelposition.
  • Bei Betrieb auf Basis tabellenformatierter Daten laufen alle Achse synchron in Bezug auf die Referenzzeit indem auf Basis der tabellenformatierten Daten die Zeitfolge des Durchlaufs des Werkzeuges durch jeden Punkt des Programmablaufs bestimmt wird. Entsprechend werden alle Befehle für die Spindel und Hilfsfunktionsbefehle synchron in Bezug auf die Referenzzeit abgegeben indem, auf Basis der tabellenformatierten Daten, die Zeitfolge der Ausgabe der Befehle für die Spindel und die Hilfsfunktionsbefehle bestimmt wird.
  • 3 ist ein Blockdiagramm für einen Verlaufstabellenbetrieb entsprechend der oben erläuterten japanischen Patentveröffentlichung 2012-234445 .
  • Eine numerische Steuerung, welche einen Verlaufstabellenbetrieb ausführt, weist folgendes auf: einen Referenzwertzähler 3, eine X-Achsen-Verlaufstabelle Tx, eine Z-Achsen-Verlaufstabelle Tz, und eine X-Achsen-Verlaufstabellen-Interpolationsverarbeitungseinheit 4x, eine Z-Achsen-Verlaufstabellen-Interpolationsverarbeitungseinheit 4z, einen X-Achsen(Vorschubachse)-Motor 5x, und einen Z-Achsen(Vorschubachse)-Motor 5z.
  • Die Referenzzeit kann für alle tabellenformatierten Daten gemeinsam eingerichtet sein oder es ist andererseits auch möglich, individuelle Referenzzeiten für die tabellenformatierten Daten vorzusehen. In der nachfolgenden Beschreibung ist der Einfachheit halter angenommen, dass eine gemeinsame Referenzzeit für alle tabellenformatierten Daten verwendet wird.
  • Die oben beschriebene japanische Patentveröffentlichung 2012-234445 zeigt auch ein Blockdiagramm für einen Verlaufstabellenbetrieb entsprechend 4.
  • Die numerische Steuerung gemäß 4 zur Ausführung eines Verlaufstabellenbetriebs weist folgendes auf: einen ersten Referenzwertzähler 3a, einen zweiten Referenzwertzähler 3b und einen dritten Referenzwertzähler 3c, welche in entsprechend unabhängiger Weise eine Zeit, die Position einer Spindel oder die Position einer Vorschubachse (durch entsprechende Zählung) verfolgen; eine X-Achsen-Verlaufstabelle Tx, eine Spindel-Verlaufstabelle Ts; eine Hilfsfunktionsverlaufstabelle Tm; eine X-Achsen-Verlaufstabellen-Interpolationsverarbeitungseinheit 4x; eine Spindel-Verlaufstabellen-Interpolationsverarbeitungseinheit 4s; eine Hilfsfunktions-Verlaufstabellen-Ausgangsverarbeitungseinheit 4m; einen X-Achsen-Motor 5x; und einen Spindelmotor 5s.
  • Der erste Referenzwertzähler 3a, der zweite Referenzwertzähler 3b und der dritte Referenzwertzähler 3c zählen Signale eines Taktgebers der numerischen Steuerung oder ein Positionsdetektionssignal eines Positionsdetektors, der auf den einzelnen Vorschubachsen oder der Spindel installiert ist. Empfangen der erste Referenzwertzähler 3a, der zweite Referenzwertzähler 3b und der dritte Referenzwertzähler 3c jeweils ein Zähler-Rücksetzsignal, wird der Zählwert auf einen Anfangswert rückgesetzt während bei Empfang eines Haltesignals die Aktualisierung des Zählwertes unterbrochen wird und bei Empfang eines Neustartsignals die Aktualisierung des Zählwertes wieder aufgenommen wird.
  • Die Referenzwerte vom ersten Referenzwertzähler 3a, zweiten Referenzwertzähler 3b und dritten Referenzwertzähler 3c werden wahlweise geschaltet über Schalter 6a, 6b und 6c. Beispielsweise kann der Verlaufstabellenbetrieb durch Ausführung der X-Achsen-Verlaufstabelle Tx entsprechend dem Referenzwert vom ersten Referenzwertzähler 3a, die Spindel-Verlaufstabelle Ts entsprechend dem Referenzwert vom zweiten Referenzwertzähler 3b, und die Hilfsfunktions-Verlaufstabelle Tm entsprechend dem Referenzwert vom dritten Referenzwertzähler 3c ausgeführt werden. Andererseits kann der Verlaufstabellenbetrieb auch ausgeführt werden durch Ausführung aller Verlaufstabellen Tx, Ts, Tm entsprechend dem Referenzwert vom Referenzwertzähler 3a in Abhängigkeit von der Einstellung der Schalter 6a, 6b und 6c. Beispiele sind hier bezüglich der X-Achsen-Verlaufstabelle, einer Spindel S-Verlaufstabelle und einer Hilfsfunktionsverlaufstabelle in 5 gegeben, welche durch die numerische Steuerung gemäß 4 ausgeführt werden. Werden die Verlaufstabellen gemäß 5 durch eine numerische Steuerung gemäß 4 ausgeführt, dann führt die Werkzeugmaschine im Verlaufstabellenbetrieb die Operationen nach 6 mit entsprechendem Fortschreiten der Referenzzeit aus.
  • Gemäß der Erfindung wird die Vorabauslesung durch Priorisierung der Vorabauslesung der Verlaufstabelle mit dem kürzesten integrierten Wert der Ausführungszeiten in den vorab ausgelesenen Blöcken ausgeführt. Werden die Verlaufstabellen gemäß 14 abgearbeitet, dann erfolgt die Vorabauslesung in der nachfolgend beschriebenen Sequenz. Die Werte in der Klammer [] zeigen dabei die Verlaufstabellennamen und die integrierten Werte (integrierte Ausführungszeiten) der Ausführungszeiten der Blöcke entsprechend den einzelnen Verlaufstabellen. Die Unterstreichungen zeigen die Verlaufstabelle mit dem kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Programmblöcke. Die Ausführungszeiten der Blöcke zur Integration der Ausführungszeiten der vorab ausgelesenen Blöcke werden weiter unten beschrieben.
    • (1) L1 in <X> ist vorab ausgelesen und dann werden die Ausführungszeiten der vorab ausgelesen Blöcke in jedem der Programme berechnet. [integrierte Wert der Ausführungszeiten der vorab gelesenen Blöcke (<X>, <S>, <M>) = (1, 0, 0)]
    • (2) Da <S> den kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesen Blöcke in (1) hat, wird anschließend L100 in <S> vorab ausgelesen und die Ausführungszeiten der vorab ausgelesen Blöcke werden für jedes der Programme berechnet. [integrierter Wert der Ausführungszeiten der vorab gelesenen Blöcke (<X>, <S>, <M>) = (1, 100, 0)]
    • (3) Da <M> den kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesen Blöcke in (2) hat, wird anschließend L100 in <M> vorab ausgelesen und die Ausführungszeiten der vorab ausgelesen Blöcke werden für jedes der Programme berechnet. [integrierter Wert der Ausführungszeiten der vorab gelesenen Blöcke (<X>, <S>, <M>) = (1, 100, 1000)]
    • (4) Da <X> den kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesen Blöcke in (3) hat, wird anschließend L2 in <X> vorab ausgelesen und die Ausführungszeiten der vorab ausgelesen Blöcke werden für jedes der Programme berechnet. [integrierter Wert der Ausführungszeiten der vorab gelesenen Blöcke (<X>, <S>, <M>) = (2, 100, 1000)]
    • (5) Da <X> den kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesen Blöcke in (4) hat, wird anschließend L3 in <X> vorab ausgelesen und die Ausführungszeiten der vorab ausgelesen Blöcke werden für jedes der Programme berechnet. [integrierter Wert der Ausführungszeiten der vorab gelesenen Blöcke (<X>, <S>, <M>) = (3, 100, 1000)]
    • (6) Da <X> den kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesen Blöcke in (5) hat, wird anschließend L300 in <X> vorab ausgelesen und die Ausführungszeiten der vorab ausgelesen Blöcke werden für jedes der Programme berechnet. [integrierter Wert der Ausführungszeiten der vorab gelesenen Blöcke (<X>, <S>, <M>) = (300, 100, 1000)]
    • (7) Da <S> den kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesen Blöcke in (6) hat, wird anschließend L150 in <S> vorab ausgelesen und die Ausführungszeiten der vorab ausgelesen Blöcke werden für jedes der Programme berechnet. [integrierter Wert der Ausführungszeiten der vorab gelesenen Blöcke (<X>, <S>, <M>) = (300, 150, 1000)]
    • (8) Da <S> den kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesen Blöcke in (7) hat, wird anschließend L200 in <S> vorab ausgelesen und die Ausführungszeiten der vorab ausgelesen Blöcke werden für jedes der Programme berechnet. [integrierter Wert der Ausführungszeiten der vorab gelesenen Blöcke (<X>, <S>, <M>) = (300, 200, 1000)]
    • (9) Da <S> den kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesen Blöcke in (8) hat, wird anschließend L300 in <S> vorab ausgelesen und die Ausführungszeiten der vorab ausgelesen Blöcke werden für jedes der Programme berechnet. [integrierter Wert der Ausführungszeiten der vorab gelesenen Blöcke (<X>, <S>, <M>) = (300, 300, 1000)]
  • 7 ist ein Diagramm zur Erläuterung des integrierten Wertes der Ausführungszeiten der vorab ausgelesenen Blöcke in jeder der drei Verlaufstabellen entsprechend 14, und zwar in einem Zustand, in dem neun Blöcke vorab ausgelesen worden sind, gemäß der vorliegenden Erfindung.
  • Wie 7 zeigt, ist in dem Zustand, in dem die gleiche Anzahl von Blöcken wie im Stand der Technik ausgelesen worden sind (neun Blöcke insgesamt) der integrierte Wert der Ausführungszeiten am kürzesten, nämlich 300 ms, im Falle von <X> und <S>. Da die Vorabauslesung parallel während des Betriebs der vorab ausgelesenen Blöcke erfolgt, ist die Wahrscheinlichkeit sehr gering, dass die Vorabauslesung nicht rechtzeitig erfolgt. Aber auch dann, wenn die Vorabauslesung nicht rechtzeitig erfolgt, wird kein Alarm oder sofortiger Achsenstopp veranlasst, wie beim Stand der Technik, weil der Betrieb der Verlaufstabelle ein Warten auf die Vorabauslesung vorsieht.
  • Nunmehr wird anhand der 8 eine ergänzende Erläuterung gegeben mit Bezug auf die Beobachtung („Monitoring”) die Betriebsverlangsamung und das zeitweise Anhalten für den Fall, dass die Vorabauslesung des Verlaufstabellenbetriebs nicht rechtzeitig erfolgt ist. 8 zeigt den Fall, bei dem der Betrieb durch Reduzierung der Zeitkorrektur verlangsamt wird wenn die Vorabauslesung des Verlaufstabellenbetriebs nicht rechtzeitig erfolgt, und dann, wenn überhaupt keine vorab ausgelesenen Blöcke vorliegen, wird die Zeitkorrektur auf null gesetzt, um einen zeitweiligen Halt zu bewirken.
  • Beim Betrieb während der Vorabauslesung von Verlaufstabellen wird zumindest sichergestellt, dass diejenigen vorab gelesenen Blöcke, welche eine Verlangsamung und ein Anhalten des Verlaufstabellenbetriebs ermöglichen, einsatzbereit sind mit Bezug auf das Voranschreiten der laufenden Referenzzeit (Zeitkorrektur).
  • Erfolgt die Vorabauslesung nicht rechtzeitig entsprechend der laufenden Zeitkorrektur, dann wird der Betrieb verlangsamt durch Reduzierung der Zeitkorrektur und falls überhaupt keine vorab ausgelesenen Blöcke vorliegen, dann wird die Zeitkorrektur auf null gesetzt und das Werkzeug wird zeitweise angehalten. Erfolgt die Vorabauslesung der Verlaufstabelle während des Verlangsamens oder Anhaltens, und hört der Zustand auf, in dem die Vorabauslesung nicht rechtzeitig erfolgt, dann erfolgt eine Beschleunigung durch Einführung der Zeitkorrektur.
  • Ein Verfahren zum Berechnen der Referenzzeit zur Bestimmung, dass eine Vorabauslesung nicht rechtzeitig erfolgt ist, wird nunmehr beschrieben, wobei die gerade laufende Zeitkorrektur mit OVRD bezeichnet ist und die Zeit zum Verlangsamen und sicheren Anhalten bei linearer Verlangsamung mit T (ms) bezeichnet sind.
  • Der integrierte Wert (die integrierte Ausführungzeit) X der Ausführungszeiten der vorab ausgelesenen Blöcke in der Zeitspanne T (ms) vom Beginn der Verlangsamung bis zum zeitweisen Anhalten wird verbraucht gemäß (OVRD/100) × T/2 und deshalb kann dann, wenn festgestellt wird, dass die Vorabauslesung nicht in einer Zeit erfolgt ist mit X = OVRD/100 × T/2, das Verlangsamen und Anhalten in der Abbremszeit T (ms) erfolgen.
  • Dabei wird angenommen, dass die Verlangsamung linear verläuft, jedoch ist es auch möglich, die Referenzzeit zur Bestimmung, dass die Vorabauslesung nicht rechtzeitig erfolgt, für den Fall eines glockenförmigen Verlaufs der Verlangsamung oder einer anderen Funktion in ähnlicher Weise zu berechnen.
  • 10 zeigt ein Flussdiagramm für den Verlaufstabellenbetrieb. Der integrierte Wert der Ausführungszeiten der vorab ausgelesenen Blöcke wird mit X bezeichnet. Die laufende Zeitkorrektur wird mit OVRD (%) bezeichnet und die Verlangsamungszeit mit T (ms). Die Beschreibung erfolgt nunmehr in Form der einzelnen Schritte.
  • [Schritt SC01] Es wird bestimmt, ob der integrierte Wert X der Ausführungszeiten der vorab ausgelesenen Blöcke kleiner ist als die durch die vorab ausgelesenen Blöcke verbrauchte Zeitspanne, (OVRD/100) × T/2, während der Verlangsamungszeitspanne T (vom Start der Verlangsamung bis zum zeitweisen Anhalten), und ist der integrierte Wert X kleiner (JA), dann geht das Verfahren zu Schritt SC03, während dann, wenn der integrierte Wert X nicht kleiner ist (NEIN), dann geht das Verfahren zu Schritt SC02.
  • [Schritt SC02] Der Betrieb mit tabellenformatierten Daten wird normal fortgesetzt und das Verfahren geht zurück zu Schritt SC01.
  • [Schritt SC03] Es wird bestimmt, ob die Vorabauslesung bis zum letzten Block vervollständigt ist und ist dies der Fall (JA), dann ist es Verfahren zu Ende, während dann, wenn die Vorabauslesung nicht bis zum letzten Block fortgeschritten ist (NEIN), dann geht das Verfahren zu Schritt SC04.
  • [Schritt SC04] Es wird festgestellt, dass die Vorabauslesung nicht rechtzeitig erfolgt ist und die Verlangsamung beginnt.
  • [Schritt SC05] Die Vorabauslesung erfolgt und es wird ermittelt, ob der integrierte Wert X der Ausführungszeiten der vorab ausgelesenen Blöcke aktualisiert ist und wenn dies der Fall ist (JA) dann geht das Verfahren zu Schritt SC07 während dann, wenn der integrierte Wert X der Ausführungszeiten der vorab ausgelesenen Böcke nicht aktualisiert ist (NEIN), dann geht das Verfahren zu Schritt SC06.
  • [Schritt SC06] Die Verlangsamung wird fortgesetzt (ein zeitweises Anhalten erfolgt, wenn keine vorab ausgelesenen Blöcke vorliegen) und das Verfahren geht zurück zu Schritt SC05.
  • [Schritt SC07] Da der Umstand, dass die Vorabauslesung nicht rechtzeitig erfolgt ist, nicht mehr vorliegt aufgrund der Vorgänge in den Schritten SC05 und SC06, wird die Verlangsamung oder das zeitweise Anhalten ausgesetzt und es erfolgt eine Beschleunigung und das Verfahren geht zurück zu Schritt SC01.
  • Nunmehr werden die Ausführungszeiten der Blöcke, welche für die Integration bezüglich der vorab ausgelesenen Blöcke herangezogen wurden, noch näher erläutert. Die Ausführungszeitenintegrationseinheit, welche die Ausführungszeiten der vorab ausgelesenen Blöcke integriert, ist eine Einrichtung zum Vorhersagen des integrierten Wertes der Ausführungszeiten der vorab ausgelesenen Blöcke aufgrund der Differenz zwischen der laufenden Referenzzeit und den Referenzzeiten der vorab ausgelesenen Blöcke.
  • 11 ist ein prinzipielles Blockdiagramm einer numerischen Steuerung gemäß der Erfindung zum Ausführen eines NC-Programms oder eines Verlaufstabellenbetriebes. Die CPU 11 ist ein Prozessor, der die numerischen Steuerung 10 insgesamt steuert. Die CPU 11 (zentraler Prozessor) liest ein in einem ROM 12 gespeichertes Systemprogramm über den Bus 20 und steuert die numerische Steuerung insgesamt entsprechend diesem Systemprogramm. Zeitweise anfallende Rechendaten, Anzeigedaten und unterschiedliche durch eine Bedienungsperson über eine Anzeigeeinrichtung oder eine manuelle Eingabe (MDI 70) eingegebene Daten werden in einem RAM 13 gespeichert. Das SRAM 14 wird durch eine Batterie gesichert und dient als nicht flüchtiger Speicher auch dann, wenn die Stromversorgung für die numerische Steuerung 10 abgeschaltet ist.
  • Ein Bearbeitungsprogramm (MC-Programm), welches über die Schnittstelle 15 und/oder in Bearbeitungsprogramm, welches über eine Anzeigeeinrichtung/MDI-Einheit 70 oder dergleichen eingegeben wurde, werden in dem SRAM 14 gespeichert. Weiterhin werden die verschiedenen tabellenformatierten Daten (Verlaufstabellen), wie sie oben beschrieben sind, im Voraus abgespeichert. Weiterhin werden verschiedene Systemprogramme zum Erzeugen eines Bearbeitungsprogrammes und Ausführungsroutinen im Voraus in dem Speicher ROM 12 abgelegt. Hinsichtlich des Ortes der Speicherung der NC-Programmen und der Verlaufstabellen können in Übereinstimmung mit der Erfindung diese im Voraus in einer externen Speichereinrichtung, die über ein Netzwerk angeschlossen ist, abgespeichert werden oder auch in einer Speichereinrichtung innerhalb der numerischen Steuerung, wobei die einzelnen Blöcke des NC-Programms und die Daten der Verlaufstabellen bei Anschluss über ein Netzwerk über dieses sukzessive ausgelesen werden können.
  • Die Schnittstelle 15 ermöglicht einen Anschluss der numerischen Steuerung 10 mit externen Einrichtungen, wie einem Adapter (nicht gezeigt). Ein Bearbeitungsprogramm, das von der numerischen Steuerung 10 herausgegeben wird, kann in einem externen Speicher abgelegt werden. Die programmierbare Maschinensteuerung (PMC) 16 implementiert Steuerungen durch Ausgabe von Signalen über die I/O-Einheit 17 an die unterstützende Ausrüstung entsprechend der Abfolge eines in der numerischen Steuerung 10 installierten Programms. Die PMC 16 empfängt weiterhin Signale unterschiedlicher Schalter und dergleichen von einer Bedienungseinrichtung der Werkzeugmaschine und führt die erforderliche Signalverarbeitung aus, deren Ergebnisse an die CPU 11 gegeben werden. Die Anzeigeeinrichtung (MDI-Einheit) 70 ist eine Einrichtung zur manuellen Dateneingabe mit zum Beispiel einem Anzeigebildschirm und einer Tastatur etc. Die Schnittstelle 18 empfängt Daten und Befehle von der Anzeigeeinrichtung und/oder der Tastatur der MDI-Einheit 70 und übermittelt diese an die CPU 11. Die Schnittstelle 19 ist mit der Betriebseingabeeinrichtung 71 zum Empfangen von verschiedenen Befehlen verbunden.
  • Die Achsensteuerschaltungen 30, 31 der Vorschubachsen empfangen Bewegungsbefehle für die einzelnen Achsen von der CPU 11 und geben entsprechende Steuerbefehle an die Servoverstärker 40, 41. Die Servoverstärker 40, 41 erhalten diese Befehle und treiben Servomotoren 50x, 51z der Vorschubachsen an. Die Servomotoren 50x, 51z der Vorschubachsen haben eingebaute Positions-/Geschwindigkeitsdetektoren (nicht dargestellt) und Positions- bzw. Geschwindigkeits-Rückkoppelsignale von diesen Detektoren werden in die Achsen-Steuerschaltungen 30, 31 rückgeführt, um so eine Steuerschleife bezüglich der Position und der Geschwindigkeiten zu bilden. In 11 ist diese Steuerschleife bezüglich Position und Geschwindigkeit nicht näher dargestellt.
  • Die Spindelsteuerschaltung 60 empfängt einen Spindelrotationsbefehl und gibt ein Spindelgeschwindigkeitssignal an den Spindelverstärker 61. Der Spindelverstärker 61 empfängt das Spindelgeschwindigkeitssignal und bewirkt, dass der Spindelmotor 62 mit der gewünschten Drehgeschwindigkeit dreht. Ein Positionscodierer 63 koppelt einen Puls zurück (Referenzpuls) sowie ein Spindel-Rotationssignal zur Spindelsteuerschaltung 60 synchron mit der Drehung des Spindelmotors 62 und so wird die Drehgeschwindigkeitssteuerung durchgeführt. Diese Rückkoppelpulse (Referenzpulse) und das einzelne Rotationssignal werden über die Spindelsteuerschaltung 60 in die CPU gegeben und der Rückkoppelpuls (Referenzpuls) wird durch einen Zähler im RAM 13 gezählt (einem Zähler, der den einzelnen Referenzwertzählern gemäß den 3 und 4 entspricht). Die Befehlspulse bezüglich der Spindel können auch gezählt werden.
  • Der im RAM 13 vorgesehene Zähler kann bezüglich des Verlaufstabellenbetriebs ein Referenzsignal gewinnen durch Zählen der Anzahl von Pulsen eines Taktgebers in der numerischen Steuerung 10 oder durch Zählen der Anzahl von Pulsen, die als Rückkoppelsignal von den Vorschubachsen erhalten werden oder aus der Anzahl der Steuerpulse für die Vorschubachsen.
  • 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 2007-94936 [0002]
    • JP 2007-164509 [0002]
    • JP 2008-40542 [0002]
    • JP 59-177604 [0003]
    • JP 2012-234445 [0003, 0082, 0085]
    • JP 2012-93975 [0004, 0016, 0061]

Claims (9)

  1. Numerische Steuerung mit sukzessiver Vorabauslesung von Blöcken einer Mehrzahl von numerischen Steuerprogrammen (NC-Programme) aus einem Speicher oder einer über ein Netzwerk angeschlossenen Speichereinrichtung während parallel die NC-Programme ausgeführt werden, folgendes aufweisend: eine Ausführungszeitspeichereinrichtung, welche Ausführungszeiten der einzelnen Blöcke des NC-Programmes speichert; eine Ausführungszeitintegrationseinheit, welche die Ausführungszeiten der vorab ausgelesenen Blöcke aus der Ausführungszeitspeichereinheit ausliest und die ausgelesenen Ausführungszeiten integriert; eine Bestimmungseinheit, welche die integrierten Ausführungszeiten der vorab ausgelesenen Blöcke in den einzelnen NC-Programmen vergleicht und ein NC-Programm ermittelt mit dem kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke; und eine Vorabausleseausführungseinheit, welche anschließend eine Vorabauslesung des NC-Programms mit dem kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke, wie durch die Bestimmungseinheit ermittelt, durchführt.
  2. Numerische Steuerung mit einer Programm-Vorablesefunktion zum sukzessiven Vorabauslesen von Blöcken einer Mehrzahl von Steuerprogrammen (NC-Programmen) aus einem Speicher oder einer über ein Netzwerk angeschlossenen Speichereinrichtung während des parallelen Ausführens der NC-Programme, folgendes aufweisend: eine Ausführungszeitberechnungseinheit, welche aufgrund von Befehlsinhalten einzelner Blöcke in den NC-Programmen Ausführungszeiten berechnet; eine Ausführungszeitintegrationseinheit, welche die durch die Ausführungszeitberechnungseinheit berechneten Ausführungszeiten der vorab ausgelesenen Blöcke berechnet; eine Bestimmungseinheit, welche die integrierten Ausführungszeiten der vorab ausgelesenen Blöcke in den einzelnen NC-Programmen vergleicht und dasjenige NC-Programm mit dem kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke ermittelt; und eine Vorabausleseausführungseinheit, welche anschließend eine Vorabauslesung des NC-Programmes mit dem kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke, wie von der Bestimmungseinheit ermittelt, durchführt.
  3. Numerische Steuerung gemäß Anspruch 1, wobei ein Ergebnis einer Bestimmung der Ausführungszeiten der Blöcke in jedem der NC-Programme aufgrund einer vorherigen Ausführung des NC-Programms in der Ausführungszeitspeichereinheit abgespeichert wird und die so abgespeicherten Ausführungszeiten bei einem nachfolgenden Prozess ausgelesen werden.
  4. Numerischer Steuerung gemäß Anspruch 2, wobei die Ausführungszeitberechnungseinheit folgendes enthält: eine Teilungseinheit, welche einen Werkzeugweg in kleine Segmente unterteilt; eine Geschwindigkeitsberechnungseinheit, welche eine Geschwindigkeit in tangentialer Richtung eines Segmentes ermittelt; eine Segmentbewegungszeitberechnungseinheit, welche eine Zeit berechnet, die ein Werkzeug braucht, um sich entlang jedem Segment zu bewegen auf Basis der Geschwindigkeit in tangentialer Richtung, wie durch die Geschwindigkeitsberechnungseinheit bestimmt; und eine Werkzeugbewegungszeitberechnungseinheit, welche als Werkzeugbewegungszeit eine Summe der Zeitspannen bestimmt, die es braucht, um sich entlang jedes Segmentes zu bewegen, wie von der Segmentbewegungszeitberechnungseinheit berechnet, wobei die numerische Steuerung eingerichtet ist, die Zeit zu berechnen, die das Werkzeug braucht, um sich entlang einem vorgegebenen Weg entsprechend den NC-Befehlen zu bewegen.
  5. Numerische Steuerung gemäß einem der Ansprüche 1 bis 4, weiterhin folgendes aufweisend: einen Monitor, welcher parallel mit einem Betrieb entsprechend dem NC-Programm kontinuierlich einen integrierten Wert der Ausführungszeiten von vorab ausgelesenen Blöcken eines ausgeführten NC-Programmes beobachtet; eine Einheit für eine Verlangsamung/ein zeitweises Anhalten, welche den Betrieb auf Basis des NC-Programmes verlangsamt oder zeitweise anhält wenn der Monitor für die integrierte Ausführungszeit feststellt, dass der integrierte Wert der Ausführungszeiten der vorab ausgelesenen Blöcke gleich geworden ist einer Zeit, die erforderlich ist, um den Betrieb auf Basis des NC-Programmes sicher zu verlangsamen und anzuhalten; eine Vorabausleseeinheit, welche das NC-Programm beim Verlangsamen oder zeitweisen Anhalten des Betriebs auf Basis des NC-Programms aus dem Speicher oder der über ein Netzwerk verbundenen Speichereinrichtung vorab ausliest; und eine Betriebsneustarteinheit, welche den Betrieb auf Basis des NC-Programms neu startet, wenn der integrierte Wert der Ausführungszeiten der vorab ausgelesenen Blöcke hinreichend sicherstellt, dass die Zeit zur Verfügung steht, welche erforderlich ist, um den Betrieb auf Basis des NC-Programms zum sicheren Verlangsamen und Anhalten durchzuführen, wobei die Blöcke aus der Mehrzahl von NC-Programmen sukzessive aus dem Speicher oder der über ein Netzwerk verbundenen Speichereinrichtung vorab ausgelesen werden.
  6. Numerische Steuerung gemäß einem der Ansprüche 1 bis 3, wobei die Ausführungszeitspeichereinheit eine Programm-Vorabauslesefunktion aufweist, gemäß der bei einer vorherigen Ausführung der Maschinenbearbeitung die Ausführungszeit der Bearbeitung ermittelt und gespeichert wird, und bei Auftreten einer Verlangsamung der Vorschubrate weil der integrierte Wert der Ausführungszeiten der vorab ausgelesenen Blöcke gleich geworden ist einer Zeitspanne, die erforderlich ist zum Verlangsamen und Anhalten, dann die Ausführungszeit ohne Verlangsamung in der Vorschubrate abgespeichert wird anstelle einer direkten Abspeicherung der bestimmten Ausführungszeit.
  7. Numerische Steuerung mit Setzung einer Zeit, einer Achsenposition oder einer Spindelposition als Referenz und Abspeicherung von tabellenformatierten Daten, in welchen die Referenzzeit, die Referenzachsenposition oder die Referenzspindelposition einer Position einer Achse oder einer Spindel zugeordnet ist, die verschieden ist von der Referenz-Achsenposition oder Referenz-Spindelposition, in einem Speicher oder einer über ein Netzwerk verbundenen Speichereinrichtung, sukzessiver Vorabauslesung der Referenzzeit, der Referenzachsenposition oder der Referenzspindelposition und der davon verschiedenen Achsen- oder Spindelposition, und mit Steuerung der Position der anderen Achse oder Spindel synchron mit der Referenzzeit, der Referenzachsenposition oder der Referenzspindelposition, wobei die numerische Steuerung folgendes aufweist: eine Ausführungszeitintegrationseinheit, welche Ausführungszeiten von vorab ausgelesenen Blöcken integriert; eine Bestimmungseinheit, welche die integrierten Ausführungszeiten der vorab ausgelesenen Blöcke in jeweiligen tabellenformatierten Datensätzen vergleicht und den tabellenformatierten Datensatz mit dem kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke bestimmt; und eine Vorausleseausführungseinheit, welche anschließend eine Vorabauslesung der tabellenformatierten Daten mit dem kürzesten integrierten Wert der Ausführungszeiten der vorab ausgelesenen Blöcke, wie von der Bestimmungseinheit ermittelt, durchführt.
  8. Numerische Steuerung gemäß Anspruch 7, wobei die Ausführungszeitintegrationseinheit eine Abschätzeinheit aufweist, welche einen integrierten Wert von Ausführungszeiten vorab ausgelesener Blöcke aus einer Differenz zwischen einer laufenden Referenzzeit und einer Referenzzeit der vorab ausgelesenen Blöcke abschätzt.
  9. Numerische Steuerung gemäß einem der Ansprüche 7 oder 8, weiterhin aufweisend: einen Monitor für integrierte Ausführungszeiten welcher, parallel zum Betrieb auf Basis tabellenformatierter Daten, kontinuierlich einen integrierten Wert der Ausführungszeiten vorab ausgelesener Blöcke in tabellenformatierten Daten beobachtet; eine Einheit zum Verlangsamen/zeitweisen Anhalten, welche den Betrieb auf Basis der tabellenformatierten Daten verlangsamt oder zeitweise anhält, wenn der Monitor feststellt, dass der integrierte Wert der Ausführungszeiten der vorab ausgelesenen Blöcke gleich geworden ist einer Zeitspanne, die erforderlich ist, um auf Basis der tabellenformatierten Daten den Betrieb zu verlangsamen und anzuhalten; eine Vorabausleseeinheit, welche vorab die tabellenformatierten Daten aus dem Speicher oder der über ein Netzwerk verbundenen Speichereinrichtung beim Verlangsamen oder zeitweisen Anhalten des Betriebs vorab ausliest; und eine Betriebsneustarteinheit, welche den Betrieb auf Basis der tabellenformatierten Daten neu startet wenn der integrierte Wert der Ausführungszeiten der vorab ausgelesenen Blöcke hinreichend sicherstellt, dass die Zeit zum sicheren Verlangsamen und Anhalten des Betriebs auf Basis der tabellenformatierten Daten beim Verlangsamen oder zeitweisen Anhalten zur Verfügung steht, wobei die Blöcke der tabellenformatierten Daten sukzessive aus dem Speicher oder der über ein Netzwerk verbundenen Speichereinrichtung vorab ausgelesen werden.
DE102014015007.0A 2013-10-18 2014-10-10 Numerische Steuerung mit Programm-Vorablesefunktion Active DE102014015007B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013217760A JP5715217B2 (ja) 2013-10-18 2013-10-18 プログラムの先読み機能を備えた数値制御装置
JP2013-217760 2013-10-18

Publications (2)

Publication Number Publication Date
DE102014015007A1 true DE102014015007A1 (de) 2015-04-23
DE102014015007B4 DE102014015007B4 (de) 2018-04-05

Family

ID=52775236

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014015007.0A Active DE102014015007B4 (de) 2013-10-18 2014-10-10 Numerische Steuerung mit Programm-Vorablesefunktion

Country Status (4)

Country Link
US (1) US10191472B2 (de)
JP (1) JP5715217B2 (de)
CN (1) CN104570959B (de)
DE (1) DE102014015007B4 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017009760B4 (de) 2016-10-21 2020-01-02 Fanuc Corporation Numerische Steuervorrichtung und Steuerverfahren für eine numerische Steuervorrichtung
DE102017007986B4 (de) 2016-09-05 2022-10-13 Fanuc Corporation NC-Steuerung, Steuerungssystem, Steuerungsverfahren, und Steuerungsprogramm

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106681275B (zh) * 2015-11-05 2019-04-09 中国科学院沈阳计算技术研究所有限公司 一种数控加工程序段的前瞻预取方法
JP6411992B2 (ja) 2015-12-25 2018-10-24 ファナック株式会社 ハンドル操作に応じてncプログラムを実行する機能において、プログラム実行状態を確認する手段を備えた数値制御装置
JP6542710B2 (ja) * 2016-05-26 2019-07-10 ファナック株式会社 アラーム解決のためのプログラム修正支援機能を備えた数値制御装置
JP6760985B2 (ja) * 2018-03-06 2020-09-23 ファナック株式会社 稼働管理装置
CN112243343B (zh) * 2018-04-12 2023-01-31 株式会社久保田 收割机
JP6781191B2 (ja) * 2018-05-24 2020-11-04 ファナック株式会社 プログラマブルコントローラ及び機械学習装置
JP6867336B2 (ja) * 2018-07-17 2021-04-28 ファナック株式会社 数値制御装置
JP7283875B2 (ja) * 2018-09-10 2023-05-30 ファナック株式会社 数値制御装置
JP6838031B2 (ja) * 2018-10-31 2021-03-03 ファナック株式会社 数値制御システム
JP6885914B2 (ja) * 2018-10-31 2021-06-16 ファナック株式会社 数値制御装置
JP6823034B2 (ja) * 2018-10-31 2021-01-27 ファナック株式会社 数値制御装置
JP6901454B2 (ja) * 2018-10-31 2021-07-14 ファナック株式会社 数値制御装置
JP6838029B2 (ja) * 2018-10-31 2021-03-03 ファナック株式会社 数値制御装置
JP6838030B2 (ja) * 2018-10-31 2021-03-03 ファナック株式会社 数値制御装置
US11904399B2 (en) * 2020-11-30 2024-02-20 Metal Industries Research & Development Centre Online prediction method of tool-electrode consumption and prediction method of machining accuracy

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59177604A (ja) 1983-03-28 1984-10-08 Fanuc Ltd 数値制御方法
JP2007094936A (ja) 2005-09-30 2007-04-12 Fanuc Ltd 数値制御装置
JP2007164509A (ja) 2005-12-14 2007-06-28 Fanuc Ltd 数値制御装置
JP2008040542A (ja) 2006-08-01 2008-02-21 Fanuc Ltd 数値制御装置
JP2012093975A (ja) 2010-10-27 2012-05-17 Fanuc Ltd 数値制御工作機械の加工時間予測装置
JP2012234445A (ja) 2011-05-06 2012-11-29 Fanuc Ltd テーブル形式データによる運転機能を備えた数値制御装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61156309A (ja) * 1984-12-27 1986-07-16 Toshiba Mach Co Ltd 速度段差平滑機能を備えた数値制御装置
JPS6319007A (ja) 1986-07-12 1988-01-26 Niigata Eng Co Ltd 数値制御装置におけるデ−タ伝送方法
JP2935706B2 (ja) * 1988-12-07 1999-08-16 ファナック株式会社 加工プログラム修正方法
JPH087613B2 (ja) 1988-12-13 1996-01-29 松下電器産業株式会社 数値制御装置
JPH03167603A (ja) 1989-11-28 1991-07-19 Mitsubishi Electric Corp Ncプログラムの先読み制御装置
JP3512559B2 (ja) * 1996-02-14 2004-03-29 三菱電機株式会社 数値制御装置
JP2000242319A (ja) 1999-02-18 2000-09-08 Toshiba Mach Co Ltd 数値制御装置
DE10195976T5 (de) * 2001-02-22 2004-04-29 Mitsubishi Denki K.K. Numerisches Steuerverfahren und numerisch gesteuerte Vorrichtung
JP2003173262A (ja) * 2001-12-06 2003-06-20 Hitachi Ltd プログラムチューニングシステムとプログラムチューニング方法およびプログラムと記録媒体
JP3904945B2 (ja) 2002-02-28 2007-04-11 スター精密株式会社 Ncプログラムのための最適データ変換方法および数値制御工作機械
JP4233583B2 (ja) * 2007-04-03 2009-03-04 ファナック株式会社 複数系統のプログラムの編集機能を有する数値制御装置
JP2008269483A (ja) * 2007-04-24 2008-11-06 Fanuc Ltd 数値制御装置
CN101201612A (zh) 2007-12-20 2008-06-18 北京数码大方科技有限公司 用于数控系统的外挂式优化方法和装置
DE102011105141A1 (de) 2011-06-09 2012-12-13 Dmg Electronics Gmbh Verfahren und system zur simulation eines arbeitsprozesses an einer werkzeugmaschine
FR2983323B1 (fr) 2011-11-28 2014-06-06 Schneider Electric Ind Sas Systeme de gestion de buffers d'evenements horodates
US9043579B2 (en) * 2012-01-10 2015-05-26 International Business Machines Corporation Prefetch optimizer measuring execution time of instruction sequence cycling through each selectable hardware prefetch depth and cycling through disabling each software prefetch instruction of an instruction sequence of interest

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59177604A (ja) 1983-03-28 1984-10-08 Fanuc Ltd 数値制御方法
JP2007094936A (ja) 2005-09-30 2007-04-12 Fanuc Ltd 数値制御装置
JP2007164509A (ja) 2005-12-14 2007-06-28 Fanuc Ltd 数値制御装置
JP2008040542A (ja) 2006-08-01 2008-02-21 Fanuc Ltd 数値制御装置
JP2012093975A (ja) 2010-10-27 2012-05-17 Fanuc Ltd 数値制御工作機械の加工時間予測装置
JP2012234445A (ja) 2011-05-06 2012-11-29 Fanuc Ltd テーブル形式データによる運転機能を備えた数値制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017007986B4 (de) 2016-09-05 2022-10-13 Fanuc Corporation NC-Steuerung, Steuerungssystem, Steuerungsverfahren, und Steuerungsprogramm
DE102017009760B4 (de) 2016-10-21 2020-01-02 Fanuc Corporation Numerische Steuervorrichtung und Steuerverfahren für eine numerische Steuervorrichtung

Also Published As

Publication number Publication date
US10191472B2 (en) 2019-01-29
CN104570959B (zh) 2016-08-17
US20150112459A1 (en) 2015-04-23
JP5715217B2 (ja) 2015-05-07
CN104570959A (zh) 2015-04-29
JP2015079461A (ja) 2015-04-23
DE102014015007B4 (de) 2018-04-05

Similar Documents

Publication Publication Date Title
DE102014015007B4 (de) Numerische Steuerung mit Programm-Vorablesefunktion
DE102016010064B4 (de) Numerische Steuerung mit Bearbeitungsbedingungsanpassungsfunktion zum Verringern des Auftretens von Rattern oder Werkzeugverschleiss/-bruch
DE102016111595B4 (de) Kollisionsprüfsystem für eine Werkzeugmaschine und einen Roboter
DE102014003204B4 (de) Numerische Steuervorrichtung für eine Maschine, die eine Funktion zum Mitteilen einer Zeitangabe für eine Durchführung einer Inspektion aufweist
DE102015110290B4 (de) Steuerung für eine Werkzeugmaschine
DE102012008541B4 (de) Numerische Steuervorrichtung mit einer Operationsfunktion auf der Grundlage von Daten im Tabellenformat
DE102015009437B4 (de) Abschätzvorrichtung für eine Bearbeitungszeit nach Änderung eines NC-Programmes
DE102017004366B4 (de) Numerische Steuervorrichtung
DE3126276A1 (de) Verfahren und vorrichtung zur automatischen freistellung und rueckfuehrung eines werkzeuges einer werkzeugmaschine in bezug auf ein zu bearbeitendes werkstueck
DE102013100455A1 (de) Kompensationsvorrichtung für die thermische Versetzung in einer Werkzeugmaschine
DE112008003800T5 (de) Numerische Steuerverfahren und Vorrichtung dafür
DE102015104371A1 (de) Vorrichtung zur Korrektur einer thermischen Versetzung für eine Werkzeugmaschine
DE102015013634A1 (de) Numerische Steuervorrichtung
DE102016007688A1 (de) Numerische Steuervorrichtung, die entsprechend einer Vorschubgeschwindigkeitsänderung eine dreidimensionale Interferenzprüfung durchführt
DE102015004930B4 (de) Numerische Steuervorrichtung für Maschinenwerkzeug
DE102015011081B4 (de) Numerische Steuerungsvorrichtung
DE102014108964B4 (de) Regelung für die Geschwindigkeit einer Programmausführung
DE102015115663A1 (de) Werkzeugmaschinensteuerung
DE102020003527A1 (de) Numerische Steuervorrichtung
DE102017009751A1 (de) Numerische Steuervorrichtung
DE602004000384T2 (de) Numerische Steuereung
DE102017222137B4 (de) Numerische Steuervorrichtung
DE102016012334A1 (de) Numerische steuervorrichtung mit programmprüffunktion durch override-schalter
DE102014018177B4 (de) Numerische Steuerung mit Servoausgangsverzögerungseinheit
DE102019007382A1 (de) Numerische Steuerung

Legal Events

Date Code Title Description
R083 Amendment of/additions to inventor(s)
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final