-
Hintergrund der Erfindung
-
1. Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft eine numerische Steuervorrichtung, die einen Unterprogrammaufruf ermöglicht, und ein numerisches Steuerverfahren hierfür.
-
2. Beschreibung des verwandten Stands der Technik
-
Eine numerische Steuervorrichtung, die eine Werkzeugmaschine steuert, umfasst eine Unterprogrammaufruffunktion und eine Makroaufruffunktion.
-
<Unterprogrammaufruf und Makroaufruf>
-
Ein Unterprogramm ist ein Programm, in dem eine bestimmte festgelegte Operation und/oder eine Operation, die wiederholt durchgeführt wird, registriert ist. Anhand eines Unterprogrammaufrufs, der in einem Hauptprogramm verwendet wird, kann das Schreiben eines Programms vereinfacht werden. Des Weiteren ist ein Makroaufruf eine Funktion, mit der ein Argument für ein Unterprogramm spezifiziert werden kann, wodurch ein Aufruf mit höherer Vielseitigkeit erreicht wird.
-
1 zeigt ein Beispiel eines Unterprogrammaufrufs, und 2 zeigt ein Beispiel eines Makroaufrufs. In 2 werden „A1,0” und „B2,0” in einem G65-Block zu 09010 als Argumente durchgereicht und als Variablen verwendet, wie Makrovariablen #1 und #2. Ein Makroaufruf unter Verwendung von G65 wird als ein einfacher Aufruf bezeichnet. Ein Makroaufruf ähnlich demjenigen mit G65, der unter Verwendung eines (nicht gezeigten) zuvor registrierten G-Codes durchgeführt wird, wird als ein Makroaufruf unter Verwendung eines G-Codes bezeichnet.
-
Eine numerische Steuervorrichtung, die eine Werkzeugmaschine steuert, umfasst ebenso eine Funktion zum Anhalten der Ausführung eines Programms mitten in der Ausführung des Programms, um eine Betriebsprüfung des Programms (einzelne Blockoperationsfunktion, Funktion zum Anhalten gemäß der Sequenznummernspezifikation) durchzuführen.
-
<Einzelne Blockoperation>
-
3 zeigt eine Darstellung, die eine einzelne Blockoperation zeigt. Eine einzelne Blockoperation ist eine Funktion zum Ausführen eines einzelnen Blocks eines Programms für jedes Hochfahren der automatischen Operation vor dem Anhalten der automatischen Operation. Dies ermöglicht eine leichte Operationsprüfung eines Programms. In einer einzelnen Blockoperation, wenn ein Werkstück 2 unter Verwendung eines Werkzeugs 3 maschinell bearbeitet wird, wird das Werkzeug 3 in jeder der Positionen eines Anhaltepunkts 4, eines Anhaltepunkts 5 und eines Anhaltepunkts 6 angehalten und wird der nächste Block gemäß einem Befehl ausgeführt.
-
Hierbei tritt jedoch ein Problem dahingehend auf, dass Prüfungen mühselig werden, da ein Anhalten in jedem Block durchgeführt wird, während die Funktion der einzelnen Blockoperation wirksam ist.
-
<Anhalten gemäß der Sequenznummernspezifikation>
-
4 zeigt eine Darstellung, die ein Anhalten gemäß der Sequenznummernspezifikation zeigt. Ein Anhalten gemäß der Sequenznummernspezifikation ist eine Funktion zum automatischen Anhalten der Operation, wenn ein Block ausgeführt wird, der einer Programmnummer und einer Sequenznummer entspricht, die vorab bezüglich der Operation eines Programms voreingestellt sind. Dies ermöglicht eine einfache Operationsprüfung eines Programms. In dem in 4 gezeigten Beispiel wird ein Unterprogramm 00010 durch einen Block aufgerufen, der als „M98P0010” in einem Hauptprogramm 00001 aufgerufen wird. Ein Block, das als „N20 G04 P500” in dem Unterprogramm 00010 geschrieben ist, ist ein Block, der ein Anhalten (ein Verweilen) von 0,5 Sek. anweist, was durch einen Block N20 in dem Hauptprogramm 00001 als ein Block zum Anhalten gemäß einer Sequenznummer spezifiziert ist.
-
Es liegt jedoch ein Problem dahingehend vor, dass Prüfungen bei Anhaltevorgängen für ein gemeinsames Unterprogramm mühselig werden, das durch viele Programme aufgerufen wird, da die Anhaltevorgänge jeweils bei spezifischen Punkten ohne Rücksichtnahme auf das programmaufrufende Verfahren durchgeführt werden.
-
Kurzfassung der Erfindung
-
Eine Aufgabe der Erfindung liegt demgemäß in der Bereitstellung einer Funktion zum glatten Durchführen einer Betriebsprüfung durch zeitweiliges Anhalten der Ausführung eines Programms unmittelbar nach einem Unterprogrammaufruf oder einem Makroaufruf in einer numerischen Steuervorrichtung, die eine Werkzeugmaschine steuert.
-
Im Einzelnen stellt die Erfindung eine numerische Steuervorrichtung bereit, die zeitweilig für einen Programmaufruf anhält, der zeitweilig ein Programm anhält, um Prüfungen des Namens eines aufrufenden Programms, des Namens eines aufgerufenen Programms, eines Koordinatenwerts zum Zeitpunkt des Aufrufs, von Modalinformationen zu dem Zeitpunkt des Aufrufs, eines Makrovariablenwerts und dergleichen zu ermöglichen, und ermöglicht weiterhin eine Prüfung eines Arguments in dem Fall eines Makroaufrufs.
-
Die numerische Steuervorrichtung gemäß der Erfindung weist eine Makroaufruffunktion oder eine Unterprogrammaufruffunktion auf und umfasst eine Programmanalyseeinheit, eine Bestimmungseinheit und eine Programmanhalteeinheit. Die Programmanalyseeinheit analysiert ein Programm. Die Bestimmungseinheit bestimmt, ob ein Befehl des analysierten Programms ein Makroaufruf oder ein Unterprogrammaufruf ist. Die Programmanhalteeinheit hält die Ausführung des Programms unmittelbar nach einem Makroaufruf oder einem Unterprogrammaufruf an, wenn der bestimmte Befehl einen Makroaufruf oder einen Unterprogrammaufruf enthält.
-
Die Programmanhalteeinheit kann ein Programm zu dem Zeitpunkt eines ersten Aufrufs anhalten und hält das Programm zu dem Zeitpunkt des zweiten Aufrufs oder eines nachfolgenden Aufrufs womöglich nicht an.
-
Die numerische Steuervorrichtung gemäß der Erfindung kann eine Anzeigeeinheit umfassen, die Informationen einer aufrufenden Seite anzeigt, wenn das Programm zu dem Zeitpunkt des Anhaltens unmittelbar nach einem Makroaufruf oder einem Unterprogrammaufruf angehalten wird.
-
Ein numerisches Steuerverfahren einer numerischen Steuervorrichtung gemäß der Erfindung ist ein numerisches Steuerverfahren einer numerischen Steuervorrichtung, die eine Makroaufruffunktion oder eine Unterprogrammaufruffunktion aufweist. Dieses numerische Steuerverfahren einer numerischen Steuervorrichtung umfasst Analysieren eines Programms, Bestimmen, ob ein Befehl des analysierten Programms ein Makroaufruf oder ein Unterprogrammaufruf ist, und Anhalten der Ausführung des Programms unmittelbar nach einem Makroaufruf oder einem Unterprogrammaufruf, wenn der bestimmte Befehl einen Makroaufruf oder einen Unterprogrammaufruf umfasst. Das Anhalten der Ausführung des Programms kann zu dem Zeitpunkt eines ersten Aufrufs durchgeführt werden und wird zu dem Zeitpunkt eines zweiten Aufrufs oder eines nachfolgenden Aufrufs womöglich nicht durchgeführt.
-
Bei dem Anhalten unmittelbar nach einem Makroaufruf oder einem Unterprogrammaufruf können Informationen einer aufrufenden Seite angezeigt werden, wenn das Programm angehalten wird.
-
Anhand der vorstehend beschriebenen Konfiguration kann die Erfindung eine Funktion zum glatten Durchführen einer Betriebsprüfung durch zeitweiliges Anhalten der Ausführung eines Programms unmittelbar nach einem Unterprogrammaufruf oder einem Makroaufruf in einer numerischen Steuervorrichtung durchführen, die eine Werkzeugmaschine steuert.
-
Im Einzelnen stellt die Erfindung eine numerische Steuervorrichtung, die zeitweilig für einen Programmaufruf anhält, der zeitweilig ein Programm anhält, um Prüfungen des Namens eines aufrufenden Programms, des Namens eines aufgerufenen Programms, eines Koordinatenwerts zum Zeitpunkt des Aufrufs, von Modalinformationen zu dem Zeitpunkt des Aufrufs, eines Makrovariablenwerts und dergleichen zu ermöglichen, und um weiterhin eine Prüfung eines Arguments in dem Fall eines Makroaufrufs zu ermöglichen, und ein numerisches Steuerverfahren hierfür bereit.
-
Kurze Beschreibung der Zeichnungen
-
Diese und andere Aufgaben und Merkmale der Erfindung werden aus der nachstehenden Beschreibung beispielhafter Ausführungsbeispiele unter Bezugnahme auf die beiliegenden Zeichnungen offensichtlich werden. Es zeigen:
-
1 eine Darstellung, die einen Unterprogrammaufruf zeigt;
-
2 eine Darstellung, die einen Makroaufruf zeigt;
-
3 eine Darstellung, die eine einzelne Blockoperation zeigt;
-
4 eine Darstellung, die ein Anhalten gemäß einer Sequenznummernspezifikation zeigt;
-
5 eine Darstellung, die ein Anhalten zeigt, das durch die Art eines Programmaufrufs spezifiziert ist;
-
6 eine Darstellung, die eine Anzeige von Informationen einer programmaufrufenden Seite zeigt;
-
7 ein Beispiel eines Schirms, wenn ein Programm angehalten wird;
-
8 eine Blockdarstellung, die eine numerische Steuervorrichtung zeigt; und
-
9 ein Ablaufdiagramm, das die Verarbeitung zeigt.
-
Ausführliche Beschreibung der bevorzugten Ausführungsbeispiele
-
Einige Ausführungsbeispiele gemäß der Erfindung beziehen sich auf eine numerische Steuervorrichtung, die einen Unterprogrammaufruf ermöglicht, der eine Operationsprüfung glatt durchführen kann, indem eine Ausführung eines Programms unmittelbar nach einem Aufruf durch einen Makroaufruf oder einen Unterprogrammaufruf angehalten wird. Einige Einheiten zum Anhalten der Ausführung eines Programms unmittelbar nach einem Aufruf durch einen Makroaufruf oder einen Unterprogrammaufruf in einigen Ausführungsbeispielen werden nachstehend beschrieben werden.
-
<Erstes Ausführungsbeispiel>
-
Es ist spezifiziert, gemäß der Art des Programmaufrufs anzuhalten
Jeder Makroaufruf oder Unterprogrammaufruf weist eine Vielzahl von Aufrufverfahren auf. In einem ersten Ausführungsbeispiel kann für jede Art der aufrufenden Verfahren spezifiziert werden, ob die Ausführung eines Programms anzuhalten ist. Eine Operationsprüfung eines Programms kann gemäß der Art des aufrufenden Verfahrens glatt durchgeführt werden.
-
5 zeigt ein Beispiel der kombinierten Verwendung eines Makroaufrufs (a) und eines einfachen Aufrufs (b) unter Verwendung eines G-Codes. Ein Programm „09010” wird unter Verwendung eines G-Codes „G81” aufgerufen. In diesem Fall ist die Anhaltebedingung des Programms ein Makroaufruf unter Verwendung eines G-Codes. Ein Anhalten kann bei dem Kopf des Programms „09010” gemäß einer Spezifikation durchgeführt werden, dass ein Anhalten bei einem Makroaufruf unter Verwendung eines G-Codes durchgeführt wird. In dem Programm „09010” befindet sich ein G-Code „G65” in einem Block eines einfachen Aufrufs, und wird somit kein Anhalten bei dem Kopf eines Programms 00100 ausgeführt. Da das aufrufende Verfahren des Programms „09010” (Makroaufruf unter Verwendung eines G-Codes) und jenes des Programms 00100 (einfacher Aufruf) verschieden sind, unterscheidet eine Programmanhaltebestimmungseinheit 17 (vgl. 8) die zwei Programme und veranlasst die Erteilung einer Programmanhalteanforderung gegenüber einer Befehlsprogrammanalyseeinheit 12 und einer Interpolationsverarbeitungseinheit 13 lediglich für das Programm 09010, um das Programm anzuhalten.
-
Dieses Spezifikationsverfahren kann die Art eines Aufrufs spezifizieren, wie eines Makroaufrufs unter Verwendung eines G-Codes und eines einfachen Aufrufs, und kann somit ein Programm, das von 09010 verschieden ist, angehalten werden, wenn ein Makroaufruf unter Verwendung eines G-Codes angewiesen wird. Des Weiteren, wenn 09010 durch einen einfachen Aufruf aufgerufen wird, kann 09010 nicht angehalten werden. Anhand dieser Konfiguration kann vermieden werden, dass eine Prüfung zum Zeitpunkt des Programmanhaltens mühselig wird. Im Einzelnen ist es möglich, eine Prüfung zu dem Zeitpunkt eines Programmanhaltens lediglich in dem Fall eines Makroaufrufs unter Verwendung eines G-Codes durchzuführen, wodurch ein Vorteil dahingehend vorliegt, dass eine Operationsprüfung des Programms glatt durchgeführt werden kann.
-
<Zweites Ausführungsbeispiel>
-
Es wird spezifiziert, durch einen ersten Aufruf anzuhalten, und durch einen zweiten Aufruf oder einen nachfolgenden Aufruf nicht anzuhalten
In 5 wird eine Spezifikation ermöglicht, dass ein Anhalten durch einen ersten Aufruf durchgeführt wird, und nicht durch einen zweiten Aufruf oder einen nachfolgenden Aufruf durchgeführt wird. In diesem Fall ist die Anhaltebedingung eines Programms ein Makroaufruf unter Verwendung eines G-Codes, der ein erster Aufruf ist.
-
Die Programmanhaltebestimmungseinheit 17 unterscheidet einen ersten Aufruf und einen zweiten Aufruf oder einen nachfolgenden Aufruf und veranlasst eine Programmanhalteanforderungseinheit 18, eine Programmanhalteanforderung gegenüber der Befehlsprogrammanalyseeinheit 12 und der Interpolationsverarbeitungseinheit 13 lediglich für den ersten Aufruf zu erteilen, um das Programm anzuhalten (vgl. 8). Im Allgemeinen, falls eine Operationsprüfung für einen ersten Aufruf durchgeführt wurde, muss die Operation des Programms durch einen zweiten Aufruf nicht angehalten werden. Somit kann vermieden werden, dass eine Prüfung zu dem Zeitpunkt eines Programmanhaltens mühselig wird, wodurch eine Betriebsprüfung eines Programms glatt durchgeführt werden kann.
-
<Drittes Ausführungsbeispiel>
-
Informationen einer programmaufrufenden Seite werden angezeigt, wenn das Programm angehalten wird
6 zeigt eine Darstellung, die eine Anzeige von Informationen einer programmaufrufenden Seite zeigt. Bei dem Anhalten unmittelbar nach einem Makroaufruf oder einem Unterprogrammaufruf werden Informationen einer aufrufenden Seite wie in 6 gezeigt angezeigt. In diesem Fall ist die Anhaltebedingung des Programms ein einfacher Aufruf. Die Befehlsprogrammanalyseeinheit 12, die eine Programmanhalteanforderung empfing, sendet Informationen, die momentan analysiert werden, zu einer Anzeigeverarbeitungseinheit. Wie in 7 gezeigt, werden in einer (nicht gezeigten) Anzeigeeinheit, die in der numerischen Steuervorrichtung 10 umfasst ist, die Informationen einer aufrufenden Seite zusammen mit der Art des spezifizierten Programmaufrufs angezeigt, wodurch eine Operationsprüfung glatt durchgeführt werden kann.
-
8 zeigt eine Blockdarstellung, die eine numerische Steuervorrichtung zeigt. Im Allgemeinen analysiert die numerische Steuervorrichtung 10 ein Programm mit der Befehlsprogrammanalyseeinheit 12, bestimmt einen Makroaufruf oder einen Unterprogrammaufruf mit einer Bestimmungseinheit 14 für einen Makroaufruf oder einen Unterprogrammaufruf und führt einen Makroaufruf oder einen Unterprogrammaufruf mit einer Durchführungseinheit 15 für einen Makroaufruf oder einen Unterprogrammaufruf durch.
-
Die Programmanhaltebestimmungseinheit 17 einer Programmanhalteeinheit 16 bestimmt Informationen eines Makroaufrufs oder eines Unterprogrammaufrufs, die von der Bestimmungseinheit 14 für einen Makroaufruf oder einen Unterprogrammaufruf empfangen ist, um zu bestimmen, ob das Programm anzuhalten ist. Wenn die Programmanhaltebestimmungseinheit 17 bestimmt, dass das Programm anzuhalten ist, dann weist die Programmanhaltebestimmungseinheit 17 die Programmanhalteanforderungseinheit 18 an, eine Programmanhalteanforderung zu der Befehlsprogrammanalyseeinheit 12 und der Interpolationsverarbeitungseinheit 13 auszugeben, um dadurch das Programm anzuhalten.
-
Als nächstes wird ein Ablaufdiagramm einer Bestimmung eines Programmanhaltens in dem zweiten Ausführungsbeispiel beschrieben werden. 9 zeigt ein Ablaufdiagramm, das eine Verarbeitung in dem vorliegenden Ausführungsbeispiel zeigt. Diese Verarbeitung wird aus der Bestimmungseinheit für einen Makroaufruf oder einen Unterprogrammaufruf aufgerufen. Die Bedingungen, unter denen diese Verarbeitung durchgeführt wird, werden nachstehend beschrieben.
-
(Bedingungen)
-
- – Ein Makroaufruf oder ein Unterprogrammaufruf wird angewiesen.
- – Ein Makroaufruf oder ein Unterprogrammaufruf kann durchgeführt werden. Es liegt zum Beispiel ein Programm vor, das für den Aufruf spezifiziert ist.
-
[Schritt SA01]
-
Es wird eine Bestimmung getätigt, ob ein Makroaufruf oder ein Unterprogrammaufruf angewiesen wurde. Falls ein Makroaufruf oder Unterprogrammaufruf angewiesen wurde (JA), dann geht die Verarbeitung zu Schritt SA02 über. Falls kein Makroaufruf oder Unterprogrammaufruf angewiesen wurde (NEIN), ist die Verarbeitung vollendet.
-
[Schritt SA02]
-
Die Art und die Anzahl von Durchläufen eines Makroaufrufs oder Unterprogrammaufrufs werden aus der Bestimmungseinheit für einen Makroaufruf oder Unterprogrammaufruf erlangt.
-
[Schritt SA03]
-
Die erlangte Art und Anzahl von Durchläufen werden mit der voreingestellten Art und Anzahl von Durchläufen verglichen.
-
[Schritt SA04]
-
Es wird eine Bestimmung getätigt, ob die erlangte Art und Anzahl von Durchläufen die Anhaltebedingungen des Programms erfüllen. Falls die erlangte Art und Anzahl von Durchläufen die Anhaltebedingungen des Programms erfüllen (JA), dann geht die Verarbeitung zu Schritt SA05 über. Falls die erlangte Art und Anzahl von Durchläufen nicht die Anhaltebedingungen des Programms erfüllen (NEIN), dann ist die Verarbeitung vollendet.
-
[Schritt SA05]
-
Es wird eine Programmanhalteanforderung erteilt und die Verarbeitung ist vollendet.
-
„Wurde Makroaufruf oder Unterprogrammaufruf angewiesen?” in dem Ablaufdiagramm ist eine Verarbeitung, die durch eine Bestimmungseinheit für einen Makroaufruf oder Unterprogrammaufruf in einer allgemeinen numerischen Steuervorrichtung durchgeführt wird. „Art und Anzahl von Durchläufen des Makroaufrufs oder des Unterprogrammaufrufs” stellt die Art eines Aufrufs dar, wie einen Makroaufruf unter Verwendung eines G-Codes, eines einfachen Aufrufs oder eines Unterprogrammaufrufs und der Anzahl von Durchläufen des Aufrufs. Hinsichtlich „Voreingestellte Art und Anzahl von Durchläufen” sind die Anhaltebedingungen voreingestellt, wie welche Art des Aufrufs das Programm anhält, unter den vorstehend beschriebenen Arten, und es wird ein Anhalten durch einen ersten Aufruf durchgeführt, nicht aber durch einen zweiten Aufruf oder einen nachfolgenden Aufruf. „Voreingestellte Art und Anzahl von Durchläufen” stellt die voreingestellte Art und Anzahl von Durchläufen dar.
-
In dem zweiten Ausführungsbeispiel wird ein Anhalten durch einen Makroaufruf unter Verwendung eines G-Codes durchgeführt, und es wird ein Anhalten durchgeführt durch einen ersten Aufruf, nicht aber durch einen zweiten Aufruf oder einen nachfolgenden Aufruf. „Mit voreingestellter Art und Anzahl von Durchläufen vergleichen” und „Sind Programmanhaltebedingungen erfüllt?” stellt dar, dass die Art und die Anzahl von Durchläufen, die aus der Bestimmungseinheit für einen Makroaufruf oder einen Unterprogrammaufruf erlangt sind, mit der voreingestellten Art und Anzahl von Durchläufen verglichen werden, und es wird eine Bestimmung durchgeführt, ob die erlangte Art und Anzahl von Durchläufen die Anhaltebedingungen erfüllen.