DE102015002540B4 - Numerische Steuervorrichtung - Google Patents

Numerische Steuervorrichtung Download PDF

Info

Publication number
DE102015002540B4
DE102015002540B4 DE102015002540.6A DE102015002540A DE102015002540B4 DE 102015002540 B4 DE102015002540 B4 DE 102015002540B4 DE 102015002540 A DE102015002540 A DE 102015002540A DE 102015002540 B4 DE102015002540 B4 DE 102015002540B4
Authority
DE
Germany
Prior art keywords
axis
command
unit
alarm
instructed
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.)
Active
Application number
DE102015002540.6A
Other languages
English (en)
Other versions
DE102015002540A1 (de
Inventor
c/o FANUC Corporation Hatanaka Noriaki
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 DE102015002540A1 publication Critical patent/DE102015002540A1/de
Application granted granted Critical
Publication of DE102015002540B4 publication Critical patent/DE102015002540B4/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/406Numerical 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 monitoring or safety
    • 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/31From computer integrated manufacturing till monitoring
    • G05B2219/31439Alarms can be warning, alert or fault
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34015Axis controller

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

Numerische Steuervorrichtung (10), die eine Anweisungsprogrammanalyseeinheit (11) zum Analysieren eines Anweisungsprogramms und eine Interpolationsbefehlserzeugungseinheit (12) zum Erzeugen eines Interpolationsbefehls auf der Basis der Analyse durch die Anweisungsprogrammanalyseeinheit (11) umfasst, wobei die numerische Steuervorrichtung (10) Folgendes umfasst:eine Alarm-Achsenbezeichnungseinheit, die dazu konfiguriert ist, eine Achse zu bezeichnen, die zu einem Kriterium für einen Alarm wird; undeine Achsenbefehlsprüfeinheit (14), die dazu konfiguriert ist, einen Alarmstopp in einem Fall durchzuführen, in dem die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, angewiesen wirdoder die Interpolationsbefehlserzeugungseinheit (12) die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, infolge der Analyse des Anweisungsprogramms, die von der Anweisungsprogrammanalyseeinheit (11) durchgeführt wird, interpoliert.

Description

  • Allgemeiner Stand der Technik
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine numerische Steuervorrichtung, die einen fehlerhaften Achsenbefehl erkennt. Während numerische Steuervorrichtungen Maschinenwerkzeuge steuern, verursacht insbesondere ein fehlerhafter Betrieb einer Achse in einem Maschinenwerkzeug häufig ein signifikantes Resultat, wie fehlerhaftes Schneiden oder ein Maschinenschaden. Die vorliegende Erfindung verhindert folglich einen derartigen fehlerhaften Betrieb, insbesondere durch Erkennen eines fehlerhaften Achsenbefehls.
  • Beschreibung des Standes der Technik
  • In der JP H05-143 130 A wurde eine numerische Steuervorrichtung offenbart, die eine Lese-/Schreibzulassungsinformation für jede Variable speichert und einen Alarm erzeugt, wenn von einem Lese-/Schreibvorgang bestimmt wird, dass er für ein gewünschtes Bearbeitungssystem nicht zugelassen ist.
  • Darüber hinaus wurde in der JP 2003-295 916 A eine numerische Steuervorrichtung offenbart, die bestimmt, ob ein numerischer Wert, der neu für ein Element eingegeben wird, eine Bedingung erfüllt oder nicht, die durch Kombinieren eines Durchschnitts und einer Standardabweichung von numerischen Werten, die für das gleiche Element in der Vergangenheit eingestellt wurden, erfasst wird, und in einem Fall, in dem die Bedingung nicht erfüllt wird, einen Hinweis anzeigt.
  • <Makroaufruf>
  • Ein Makro ist ein Programm, in dem ein bestimmter festgelegter Vorgang oder ein wiederholt durchgeführter Vorgang registriert ist, und durch Verwenden eines Makroaufrufs kann ein Programm auf einfache Weise beschrieben werden. Darüber hinaus kann durch Bezeichnen von Argumenten oder Durchführen mehrerer Aufrufe zum Zeitpunkt des Durchführens eines Makroaufrufs ein Aufruf mit höherer Vielseitigkeit umgesetzt werden.
  • Wenn jedoch eine komplexere Aufrufbeziehung angewiesen wird, wird das Programm kompliziert, und es gibt Fälle, in denen ein fehlerhafter Befehl verursacht wird. Ein Beispiel eines derartigen Programms ist in 1 dargestellt. Wie in 1 dargestellt, werden in 00001, wenn Bewegungsbefehle von X, Y und Z unter Verwendung von Argumenten A, B und C gegeben werden, die Argumente zu Variablen #1, #2 und #3 eines Makroprogramms 09010, die Position wird durch Addieren von Verschiebungsbeträgen (100,0, 200,0 und 150,0) zu #1, #2 bzw. #3 als N11 bestimmt, das Verfahren wird zum ursprünglichen Programm zurückgesetzt und die maschinelle Bearbeitung wird durchgeführt. Hier werden Additionsvorgänge durch Verwenden gemeinsamer Variablen #101, #102 und #103 durchgeführt. In 00002, wenn Bewegungsbefehle von X und Y unter Verwendung von Argumenten A und B gegeben werden, werden die Argumente zu Variablen #1 und #2 eines Makroprogramms O9010 und die Positionen von X und Y werden durch Addieren von Verschiebungsbeträgen (100,0 und 200,0) zu #1 bzw. #2 als N11 bestimmt, das Verfahren wird zum ursprünglichen Programm zurückgesetzt und die maschinelle Bearbeitung soll durchgeführt werden.
  • Hier ist das Makroprogramm O9010 ein gemeinsames Makroprogramm, das für einen Bewegungsbefehl verwendet wird. Da #103 jedoch eine gemeinsame Variable ist, bleibt der Wert von #103 gemäß dem vorherigen Aufruf und ein Bewegungsbefehl der Z-Achse, der nicht in O0002 angewiesen wird, wird in N11 erzeugt. Wenn wie oben eine Aufrufbeziehung vorliegt, die nicht einfach ist, gibt es Fälle, in denen ein Bewegungsbefehl für eine Achse, für die eine Bewegung nicht vorgesehen ist, erzeugt wird. Obwohl in diesem Beispiel ein einfacher Aufruf als ein Beispiel beschrieben wurde, kann ein unbeabsichtigter Bewegungsbefehl einfacher erzeugt werden, wenn der Aufruf vervielfacht wird, um kompliziert zu sein, da er zweifach oder dreifach ist.
  • <Fräserradiuskompensation>
  • Eine Fräserradiuskompensation ist eine Funktion zum Bezeichnen einer Form, die tatsächlich als ein programmierter Weg verarbeitet wird, und zum Versetzen eines Werkzeugmittelpunktwegs um einen Radius eines Werkzeugs, das zur maschinellen Bearbeitung verwendet wird. Dementsprechend liegt ein Vorteil vor, dass das Programm nicht geändert werden muss, selbst wenn der Durchmesser des Werkzeugs, das zur maschinellen Bearbeitung verwendet wird, geändert wird.
  • 2 ist ein Beispiel eines Programms für die Fräserradiuskompensation auf einer XY-Ebene gemäß einem Befehl G17. Ein Versatzvektor wird auf der XY-Ebene erzeugt. Wie in 3 dargestellt, wenn jedoch der Befehl G17 von N10 fälschlicherweise als G19 (YZ-Ebene) angewiesen wird, wird der Versatzvektor auf einer YZ-Ebene erzeugt, und ein unbeabsichtigter Betrieb der Z-Achse wird erzeugt.
  • <Werkzeugmittelpunktsteuerung>
  • Eine Werkzeugmittelpunktsteuerung ist ein Steuerverfahren zum Bewegen des Mittelpunkts eines Werkzeugs entlang einem angewiesenen Weg durch Durchführen einer Korrektur einer Werkzeuglänge jedes Mal für jeden Interpolationszeitraum ebenfalls innerhalb eines Befehlsblocks eines Programms. Da der Korrekturbefehl der Werkzeuglänge sich jedoch gemäß der Bewegung der Drehachse ändert, gibt es Fälle, in denen eine nicht angewiesene Bewegung der Achse auftritt.
  • In 4 ist G43.4 ein Werkzeugmittelpunktsteuerungsstart-G-Code. Obwohl es in einem Block N11 keinen Z-Achsenbefehl gibt, wie in der Figur dargestellt, tritt eine Bewegung der Z-Achse an einer Maschinenposition auf, die sich an der Werkzeugbasisseite befindet, gemäß eine Veränderung in der B-Achse. Da der Bewegungsbetrag der Z-Achse auf dem Werkzeuglängenversatz basiert, gibt es Fälle, in denen der Bewegungsbetrag zu einem hohen Bewegungsbetrag wird, der von einem Bediener in Abhängigkeit von dem Werkzeuglängenversatz nicht erwartet wird.
  • Die in der JP H05-143 130 A und der JP 2003-295 916 A offenbarten numerischen Steuervorrichtungen können einen Alarm durch Fokussieren auf einen Achsenbefehl nicht erkennen und können einen fehlerhaften Achsenbefehl gemäß einem Makroaufruf, einer Fräserradiuskompensation, einer Werkzeugmittelpunktsteuerung und dergleichen nicht erkennen.
  • Die als nächstliegender Stand der Technik ermittelte DE 40 28 332 A1 beschreibt eine numerische Steuerung mit einem automatischen Programmierabschnitt zur automatischen Bildung von NC-Daten aus einer automatischen Programmiersprache, einem numerischen Steuerabschnitt zur Analyse der durch den automatischen Programmierabschnitt gebildeten NC-Daten zur Steuerung des Betriebes einer Maschine, einem Anzeige-Verarbeitungsabschnitt zur Anzeige der automatischen Programmiersprache parallel mit den mittels Zwischenspeicher auf dem Bildschirm während der Bearbeitung angezeigten NC-Daten, und einem Zwischenspeicher-Korrekturabschnitt zur Zwischenspeicher-Korrektur der automatischen Programmiersprache, die durch den Anzeige-Verarbeitungsabschnitt angezeigt wird und zur Rückführung der in dieser Weise korrigierten automatischen Programmiersprache zum automatischen Programmierabschnitt.
  • Kurzdarstellung der Erfindung
  • Die Aufgabe der vorliegenden Erfindung besteht darin, eine numerische Steuervorrichtung bereitzustellen, die eine Vorgangsprüfung reibungslos durchführt, zusammen mit dem Verhindern eines fehlerhaften Vorgangs durch Durchführen eines Alarmstopps, wenn ein fehlerhafter Achsenbefehl gemäß einem Makroaufruf, einer Fräserradiuskompensation, einer Werkzeugmittelpunktsteuerung und dergleichen, wie oben beschrieben, erkannt wird.
  • Eine numerische Steuervorrichtung gemäß der vorliegenden Erfindung umfasst eine Anweisungsprogrammanalyseeinheit zum Analysieren eines Anweisungsprogramms und eine Interpolationsbefehlserzeugungseinheit zum Erzeugen eines Interpolationsbefehls auf der Basis eines Ergebnisses der Analyse durch die Anweisungsprogrammanalyseeinheit. Die numerische Steuervorrichtung umfasst Folgendes: eine Alarm-Achsenbezeichnungseinheit, die dazu konfiguriert ist, eine Achse zu bezeichnen, die zu einem Kriterium für einen Alarm wird; und eine Achsenbefehlsprüfeinheit, die dazu konfiguriert ist, einen Alarmstopp in einem Fall durchzuführen, in dem die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, angewiesen (angesteuert) wird oder die Interpolationsbefehlserzeugungseinheit die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, infolge der Analyse des Anweisungsprogramms, die von der Anweisungsprogrammanalyseeinheit durchgeführt wird, interpoliert.
  • Die oben beschriebene Achsenbefehlsprüfeinheit kann zu der Anweisungsprogrammanalyseeinheit gehören und die Achsenbefehlsprüfeinheit ist konfiguriert zu bestimmen, ob die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, in dem Anweisungsprogramm angewiesen (angesteuert) wird oder nicht, und zu bestimmen, ob ein für die Achse angewiesener Betrag einen im Voraus eingestellten zulässigen Bereich überschreitet oder nicht, und einen Alarmstopp in einem Fall durchzuführen, in dem der angewiesene Betrag den zulässigen Bereich überschreitet.
  • Die oben beschriebene Achsenbefehlsprüfeinheit kann zu der Interpolationsbefehlserzeugungseinheit gehören und die Achsenbefehlsprüfeinheit ist konfiguriert zu bestimmen, ob die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, in dem Interpolationsbefehl angewiesen (angesteuert) wird oder nicht, und in einem Fall, in dem ein fehlerhafter Achsenbefehl angewiesen wird, zu bestimmen, ob ein angewiesener Betrag einen im Voraus eingestellten zulässigen Bereich überschreitet oder nicht, und in einem Fall, in dem der angewiesene Betrag den zulässigen Bereich überschreitet, einen Alarmstopp durchzuführen.
  • Die oben beschriebene Achsenbefehlsprüfeinheit kann konfiguriert sein zu bestimmen, ob die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, in der Anweisungsprogrammanalyseeinheit angewiesen (angesteuert) wird oder nicht, und in einem Fall, in dem die Achse angewiesen wird, zu bestimmen, ob ein angewiesener Betrag einen im Voraus eingestellten zulässigen Bereich überschreitet oder nicht, und in einem Fall, in dem der angewiesene Betrag den zulässigen Bereich überschreitet, einen Alarmstopp durchzuführen, und weiterhin zu bestimmen, ob die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, in der Interpolationsbefehlserzeugungseinheit angewiesen (angesteuert) wird oder nicht, und in einem Fall, in dem die Achse angewiesen wird, zu bestimmen, ob ein angewiesener Betrag einen im Voraus eingestellten zulässigen Bereich überschreitet oder nicht, und in einem Fall, in dem der angewiesene Betrag den zulässigen Bereich überschreitet, einen Alarmstopp durchzuführen.
  • Die oben beschriebene Achsenbefehlsprüfeinheit kann eine Programmachsenbefehlsprüfeinheit umfassen, die bestimmt, ob die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, angewiesen (angesteuert) wird oder nicht, und bestimmt, ob ein angewiesener Betrag für die Achse einen im Voraus eingestellten zulässigen Bereich überschreitet oder nicht, und einen Alarmstopp in einem Fall durchführt, in dem die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, angewiesen wird, oder in einem Fall, in dem der angewiesene Betrag den zulässigen Bereich überschreitet.
  • Die oben beschriebene Interpolationsbefehlserzeugungseinheit kann eine Interpolationsachsenbefehlsprüfeinheit umfassen, die bestimmt, ob die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, angewiesen (angesteuert) wird oder nicht, und ob ein für die Achse angewiesener Betrag einen im Voraus eingestellten zulässigen Bereich überschreitet oder nicht, und einen Alarmstopp in einem Fall durchführt, in dem die Interpolationsbefehlserzeugungseinheit einen Befehl zur Interpolation für die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, erteilt, oder in einem Fall, in dem der angewiesene Betrag den zulässigen Bereich überschreitet.
  • Alternativ dazu kann die oben beschriebene numerische Steuervorrichtung die oben beschriebene Programmachsenbefehlsprüfeinheit und die oben beschriebene Interpolationsachsenbefehlsprüfeinheit umfassen.
  • Durch Einbinden der oben beschriebenen Konfigurationen führt die vorliegende Erfindung einen Alarmstopp durch, wenn ein fehlerhafter Achsenbefehl gemäß einer Fräserradiuskompensation, einer Werkzeugmittelpunktsteuerung oder dergleichen erkannt wird, wodurch eine numerische Steuervorrichtung bereitgestellt wird, die eine Vorgangsprüfung reibungslos durchführt, zusammen mit der Verhinderung einer Fehlfunktion.
  • Figurenliste
  • Die obigen und andere Merkmale und Vorteile der vorliegenden Erfindung werden durch ausführliches Beschreiben von beispielhaften Ausführungsformen, wie im Folgenden, unter Bezugnahme auf die angefügten Zeichnungen offensichtlicher werden, in denen:
    • 1 ein Diagramm ist, das ein Beispiel eines Makroprogramms darstellt;
    • 2 ein Diagramm ist, das ein Beispiel eines Programms einer Fräserradiuskompensation auf XY-Ebene darstellt;
    • 3 ein Diagramm ist, das ein Beispiel eines Programms einer Fräserradiuskompensation auf XY-Ebene darstellt;
    • 4 ein Diagramm ist, das ein Beispiel eines Programms einer Werkzeugmittelpunktsteuerung darstellt;
    • 5 ein Diagramm ist, das ein Beispiel des Einstellens einer Alarmerkennungsbedingung darstellt;
    • 6 ein Diagramm ist, das ein Beispiel des Erkennens eines Alarms in einem definierten Programmbefehl darstellt;
    • 7 ein Diagramm ist, das ein Beispiel des Erkennens eines Alarms in einem Achsenbefehl, der einen zulässigen Bereich überschreitet darstellt;
    • 8 ein Diagramm ist, das ein Beispiel eines Programms einer Werkzeugmittelpunktsteuerung darstellt;
    • 9 ein Blockdiagramm einer numerischen Steuervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung ist;
    • 10 ein Ablaufdiagramm ist, das das Verfahren einer in 9 dargestellten Programmachsenbefehlsprüfeinheit darstellt; und
    • 11 ein Ablaufdiagramm ist, das das Verfahren einer in 9 dargestellten Interpolationsachsenbefehlsprüfeinheit darstellt.
  • Ausführliche Beschreibung der bevorzugten Ausführungsformen
  • <Ausführungsform 1>
  • Gemäß Ausführungsform 1 wird ein fehlerhafter Befehl in einem Programm erkannt.
  • Wie oben beschrieben, wird ein Programm in einem Fall kompliziert, in dem ein Makroaufruf auf multiplexierte Weise durchgeführt wird. Folglich führt eine Programmachsenbefehlsprüfeinheit, die zu einer Anweisungsprogrammanalyseeinheit der numerischen Steuervorrichtung gehört, einen Prüfvorgang auf der Basis einer Alarmerkennungsbedingung durch und führt einen Alarmstopp durch, wenn ein fehlerhafter oder unbeabsichtigter Achsenbefehl durchgeführt wird.
  • Ein Beispiel eines Einstellungsbildschirms einer Alarmerkennungsbedingung, die im Voraus eingestellt wird, ist in 5 dargestellt. Ein Einstellungselement der zweiten Zeile ist eine Einstellung, in der ein Alarmstopp in einem Fall durchgeführt wird, in dem eine Z-Achse als eine Zielachse eines fehlerhaften Achsenbefehls zwischen einem Befehl M100 und einem Befehl M101 in einem Programmbefehl angewiesen (angesteuert) wird. Der zulässige Bereich ist leer, was für eine Einstellung steht, in der ein Alarmstopp nur auf der Basis des Vorliegens des Befehls durchgeführt wird. Ein Einstellungselement der dritten Zeile ist eine Einstellung, in der ein Alarmstopp in dem Fall eines Achsenbefehls durchgeführt wird, in dem der Bewegungsbetrag der Z-Achse, die eine Zielachse eines fehlerhaften Achsenbefehls ist, zwischen einem Befehl M200 und einem Befehl M201 mehr als 5,0 in einem Programmbefehl ist. Auf ähnliche Weise ist ein Einstellungselement der 4. Zeile eine Einstellung, in der ein Alarmstopp in dem Fall eines Achsenbefehls durchgeführt wird, in dem die Z-Achse sich um mehr als 10,0 zwischen einem Befehl M300 und einem Befehl M301 bewegt. Während der Erkennungsstartbefehl und der Erkennungsabschlussbefehl Eingaben unter Verwendung von M-Codes sind, ist hier eine Zielachse eines fehlerhaften Achsenbefehls eine Eingabe unter Verwendung eines Zeichens und ein zulässiger Bereich ist eine Eingabe unter Verwendung eines numerischen Werts; Eingaben unter Verwendung eines anderen Codes, eines Signals und dergleichen können verwendet werden.
  • Unter der in 5 eingestellten Alarmerkennungsbedingung werden in 6 dargestellte Programme O0001 und O0002 betrieben. Da ein Achsenbefehl der Z-Achse zwischen dem Befehl M100 und dem Befehl M101 von O0002 vorliegt, wird ein Alarmstopp für den Z-Achsenbefehl von N11 in O9010 durchgeführt.
  • <Ausführungsform 2>
  • Gemäß Ausführungsform 2 wird ein fehlerhafter Achsenbefehl, der einen zulässigen Bereich überschreitet, in einem Programm erkannt.
  • Wie oben beschrieben, in einem Fall, in dem ein Programm unter Verwendung einer Fräserradiuskompensation erzeugt wird, wenn eine zu versetzende Ebene fälschlicherweise bezeichnet wird, gibt es Fälle, in denen eine Bewegung einer Achse, die nicht in einer beabsichtigten Ebene vorliegt, auftritt. Eine Programmachsenbefehlsprüfeinheit, die zu einer Anweisungsprogrammanalyseeinheit gehört, führt eine Prüfung auf der Basis der Alarmerkennungsbedingung durch, und wenn ein fehlerhafter (unbeabsichtigter) Achsenbefehl durchgeführt wird, wird ein Alarmstopp durchgeführt.
  • Unter der in 5 eingestellten Alarmerkennungsbedingung wird ein in 7 dargestelltes Programm O0003 betrieben. In dem in 7 dargestellten Fall wird ein Programm, das auf der Voraussetzung einer Ebene G17 ist, nach N10 erzeugt. Wenn dieses Programm fälschlicherweise auf einer Ebene G19 ausgeführt wird, wird ein Befehl des Z-Achsenbefehls, der nicht zum Zeitpunkt des Erzeugens des Programms beabsichtigt ist, erzeugt.
  • In einem Block N10, der zwischen einem Befehl M200 und einem Befehl M201 von O0003 positioniert ist, wird, da die Z-Achse um mehr als 5,0 bewegt wird, ein Alarmstopp im Block N10 von O0003 durchgeführt. Darüber hinaus wird in dieser Ausführungsform ein in 5 dargestellter zulässiger Betrag zusammen mit M200 auch im Block N10 angewiesen. Auf diese Weise kann der zulässige Bereich in einem Programm angewiesen werden.
  • <Ausführungsform 3>
  • Gemäß Ausführungsform 3 wird ein fehlerhafter Achsenbefehl, der einen zulässigen Bereich überschreitet, in einer Interpolation erkannt.
  • Wie oben beschrieben, wenn ein Programm, das einen Bewegungsbefehl einer Drehachse umfasst, während der Werkzeugmittelpunktsteuerung angewiesen wird, tritt eine Bewegung der Z-Achse, die nicht angewiesen wird, auf. Eine Interpolationsachsenbefehlsprüfeinheit, die zu einer Interpolationsbefehlserzeugungseinheit gehört, führt eine Prüfung auf der Basis der Alarmerkennungsbedingung durch und führt einen Alarmstopp durch, wenn ein fehlerhafter (unbeabsichtigter) Achsenbefehl durchgeführt wird.
  • Unter der in 5 eingestellten Alarmerkennungsbedingung wird ein in 8 dargestelltes Programm O0004 betrieben. In einem Befehl G01, der zwischen einem Befehl M300 und einem Befehl M301 von O0004 positioniert ist, wird, da ein Achsenbefehl zum Bewegen der Z-Achse um mehr als 10,0 erzeugt wird, ein Alarmstopp in einem Befehl G01 von O0004 durchgeführt. Darüber hinaus kann in diesem Beispiel der zulässige Bereich von 10,0 wie in 5 dargestellt eingestellt werden oder kann in einem Befehlsblock von M300 angewiesen werden.
  • <Blockdiagramm>
  • 9 stellt ein Blockdiagramm gemäß dieser Ausführungsform dar. Eine numerische Steuervorrichtung 10 analysiert ein Programm, das von einer Anweisungsprogrammanalyseeinheit 11 angewiesen wird, erzeugt einen Interpolationsbefehl auf der Basis der analysierten Daten durch Verwenden einer Interpolationsbefehlserzeugungseinheit 12 und überträgt den erzeugten Interpolationsbefehl an eine Achsensteuereinheit 13. Dann steuert die Achsensteuereinheit 13 eine Werkzeugmaschine durch Antreiben jedes Achsenmotors der Werkzeugmaschine.
  • In dieser Ausführungsform bestimmt die Programmachsenbefehlsprüfeinheit 15, die zu der Anweisungsprogrammanalyseeinheit 11 gehört, ob ein Befehl einer Zielachse eines fehlerhaften Achsenbefehls, der eine Alarmerkennungsbedingung in dem Anweisungsprogramm ist, vorliegt oder nicht und ob ein angewiesener Wert einen zulässigen Bereich überschreitet oder nicht. Darüber hinaus bestimmt eine Interpolationsachsenbefehlsprüfeinheit 16, die zu einer Interpolationsbefehlserzeugungseinheit 12 gehört, ob ein Befehl einer Zielachse eines fehlerhaften Achsenbefehls vorliegt oder nicht und ob der angewiesene Wert den zulässigen Bereich überschreitet oder nicht, und führt einen Alarmstopp durch Erstellen einer Alarmstoppanforderung in einem Fall durch, in dem der Alarmstopp durchgeführt werden soll. Die Alarmstoppanforderung wird für die Anweisungsprogrammanalyseeinheit 11 oder die Interpolationsbefehlserzeugungseinheit 11 erstellt. Eine Achsenbefehlsprüfeinheit 14 wird von einer Programmachsenbefehlsprüfeinheit 15 und/oder einer Interpolationsachsenbefehlsprüfeinheit 16 konfiguriert. Anders ausgedrückt, in dem in 9 dargestellten Fall, während die Achsenbefehlsprüfeinheit 14 von der Programmachsenbefehlsprüfeinheit und der Interpolationsachsenbefehlsprüfeinheit konfiguriert wird, kann sie von einer beliebigen davon konfiguriert werden. Eine Alarm-Achsenbezeichnungseinheit 17 bezeichnet eine Achse, die zu einem Kriterium für den Alarm wird, und die Bezeichnung wird durch einen Eingabebildschirm der numerischen Steuervorrichtung 10 oder ein Programm vorgenommen.
  • <Ablaufdiagramm>
  • Die Verfahren der Programmachsenbefehlsprüfeinheit 15 und der Interpolationsachsenbefehlsprüfeinheit 16 sind in 10 bzw. 11 dargestellt. Die Anweisungsprogrammanalyseeinheit 11 analysiert ein Anweisungsprogramm und erzeugt einen Befehlswert jeder Adresse für jeden Block. Die Anweisungsprogrammanalyseeinheit 11 analysiert jeden Block und ruft die Programmachsenbefehlsprüfeinheit 15 für jede Erzeugung des Befehlswerts jeder Achse auf. Die Interpolationsbefehlserzeugungseinheit 12 erzeugt einen Interpolationsbefehl jeder Achse für jeden Interpolationszeitraum auf der Basis der analysierten Daten, die von der Anweisungsprogrammanalyseeinheit 11 erfasst wurden, wodurch ein Interpolationsverfahren durchgeführt wird. Die Interpolationsbefehlserzeugungseinheit 12 ruft die Interpolationsachsenbefehlsprüfeinheit 16 für jede Erzeugung des Interpolationsbefehls jeder Achse in jedem Interpolationszeitraum auf. Ein akkumulierter Interpolationsbefehlswert S der Zielachse der Interpolationsachsenbefehlsprüfeinheit 16 wird auf null initialisiert, wenn ein Erkennungsstartbefehl erstellt wird. Ein Interpolationsbefehl der Zielachse in dem Interpolationszeitraum wird als ΔS bezeichnet.
  • 10 ist ein Ablaufdiagramm, das das Verfahren der in 9 dargestellten Programmachsenbefehlsprüfeinheit darstellt. Hierin im Folgenden wird jeder Schritt beschrieben.
  • [Schritt sa01] Es wird bestimmt, ob es zwischen dem Erkennungsstartbefehl und dem Erkennungsabschlussbefehl ist, und im Fall von „Ja“ fährt das Verfahren mit Schritt sa02 fort, und im Fall von „Nein“ endet das Verfahren.
  • [Schritt sa02] Es wird bestimmt, ob der Befehl ein Befehl der Zielachse ist oder nicht, und im Fall von „Ja“ fährt das Verfahren mit Schritt sa03 fort, und im Fall von „Nein“ endet das Verfahren.
  • [Schritt sa03] Es wird bestimmt, ob der zulässige Bereich ein Leerwert ist oder nicht, und im Fall von „Ja“ fährt das Verfahren mit Schritt sa05 fort, und im Fall von „Nein“ fährt das Verfahren mit Schritt sa04 fort.
  • [Schritt sa04] Es wird bestimmt, ob der Befehlswert innerhalb des zulässigen Bereichs ist oder nicht, und im Fall von „Ja“ endet das Verfahren, und im Fall von „Nein“ fährt das Verfahren mit Schritt sa05 fort.
  • [Schritt sa05] Eine Alarmstoppanforderung wird für die Anweisungsprogrammanalyseeinheit erstellt und das Verfahren endet.
  • 11 ist ein Ablaufdiagramm, das das Verfahren der in 9 dargestellten Interpolationsachsenbefehlsprüfeinheit darstellt. Hierin im Folgenden wird jeder Schritt beschrieben.
  • [Schritt sb01] Es wird bestimmt, ob es zwischen dem Erkennungsstartbefehl und dem Erkennungsabschlussbefehl ist, und im Fall von „Ja“ fährt das Verfahren mit Schritt sb02 fort, und im Fall von „Nein“ endet das Verfahren.
  • [Schritt sb02] Es wird bestimmt, ob der Befehl ein Interpolationsbefehl der Zielachse ist oder nicht, und im Fall von „Ja“ fährt das Verfahren mit Schritt sb03 fort, und im Fall von „Nein“ endet das Verfahren.
  • [Schritt sb03] Es wird bestimmt, ob der zulässige Bereich ein Leerwert ist oder nicht, und im Fall von „Ja“ fährt das Verfahren mit Schritt sb06 fort, und im Fall von „Nein“ fährt das Verfahren mit Schritt sb04 fort.
  • [Schritt sb04] Ein Interpolationsbefehl ΔS der Zielachse wird zu S addiert.
  • [Schritt sb05] Es wird bestimmt, ob S innerhalb des zulässigen Bereichs ist oder nicht, und im Fall von „Ja“ endet das Verfahren, und im Fall von „Nein“ fährt das Verfahren mit Schritt sb06 fort.
  • [Schritt sb06] Eine Alarmstoppanforderung wird für die Interpolationsbefehlserzeugungseinheit erstellt und das Verfahren endet.

Claims (4)

  1. Numerische Steuervorrichtung (10), die eine Anweisungsprogrammanalyseeinheit (11) zum Analysieren eines Anweisungsprogramms und eine Interpolationsbefehlserzeugungseinheit (12) zum Erzeugen eines Interpolationsbefehls auf der Basis der Analyse durch die Anweisungsprogrammanalyseeinheit (11) umfasst, wobei die numerische Steuervorrichtung (10) Folgendes umfasst: eine Alarm-Achsenbezeichnungseinheit, die dazu konfiguriert ist, eine Achse zu bezeichnen, die zu einem Kriterium für einen Alarm wird; und eine Achsenbefehlsprüfeinheit (14), die dazu konfiguriert ist, einen Alarmstopp in einem Fall durchzuführen, in dem die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, angewiesen wird oder die Interpolationsbefehlserzeugungseinheit (12) die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, infolge der Analyse des Anweisungsprogramms, die von der Anweisungsprogrammanalyseeinheit (11) durchgeführt wird, interpoliert.
  2. Numerische Steuervorrichtung (10) nach Anspruch 1, wobei die Achsenbefehlsprüfeinheit (14) zu der Anweisungsprogrammanalyseeinheit (11) gehört und die Achsenbefehlsprüfeinheit (14) konfiguriert ist zu bestimmen, ob die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, in dem Anweisungsprogramm angewiesen wird oder nicht, und in einem Fall, in dem die Achse angewiesen wird, zu bestimmen, ob ein für die Achse angewiesener Betrag einen im Voraus eingestellten zulässigen Bereich überschreitet oder nicht, und einen Alarmstopp in einem Fall durchzuführen, in dem der angewiesene Betrag den zulässigen Bereich überschreitet.
  3. Numerische Steuervorrichtung (10) nach Anspruch 1, wobei die Achsenbefehlsprüfeinheit (14) zu der Interpolationsbefehlserzeugungseinheit (12) gehört und die Achsenbefehlsprüfeinheit (14) konfiguriert ist zu bestimmen, ob die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, in dem Interpolationsbefehl angewiesen wird oder nicht, und in einem Fall, in dem die Achse angewiesen wird, zu bestimmen, ob ein für die Achse angewiesener Betrag einen im Voraus eingestellten zulässigen Bereich überschreitet oder nicht, und in einem Fall, in dem der angewiesene Betrag den zulässigen Bereich überschreitet, einen Alarmstopp durchführt.
  4. Numerische Steuervorrichtung (10) nach Anspruch 1, wobei die Achsenbefehlsprüfeinheit (14) konfiguriert ist zu bestimmen, ob die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, in der Anweisungsprogrammanalyseeinheit (11) angewiesen wird oder nicht, und in einem Fall, in dem die Achse angewiesen wird, zu bestimmen, ob ein für die Achse angewiesener Betrag einen im Voraus eingestellten zulässigen Bereich überschreitet oder nicht, und in einem Fall, in dem der angewiesene Betrag den zulässigen Bereich überschreitet, einen Alarmstopp durchzuführen, und weiterhin zu bestimmen, ob die Achse, die von der Alarm-Achsenbezeichnungseinheit bezeichnet wurde, in der Interpolationsbefehlserzeugungseinheit (12) angewiesen wird oder nicht, und in einem Fall, in dem die Achse angewiesen wird, zu bestimmen, ob ein für die Achse angewiesener Betrag einen im Voraus eingestellten zulässigen Bereich überschreitet oder nicht, und in einem Fall, in dem der angewiesene Betrag den zulässigen Bereich überschreitet, einen Alarmstopp durchzuführen.
DE102015002540.6A 2014-03-07 2015-02-27 Numerische Steuervorrichtung Active DE102015002540B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-045369 2014-03-07
JP2014045369A JP5845300B2 (ja) 2014-03-07 2014-03-07 誤った軸指令をチェックする数値制御装置

Publications (2)

Publication Number Publication Date
DE102015002540A1 DE102015002540A1 (de) 2015-09-10
DE102015002540B4 true DE102015002540B4 (de) 2018-07-12

Family

ID=53884060

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015002540.6A Active DE102015002540B4 (de) 2014-03-07 2015-02-27 Numerische Steuervorrichtung

Country Status (4)

Country Link
US (1) US20150253758A1 (de)
JP (1) JP5845300B2 (de)
CN (1) CN104898566B (de)
DE (1) DE102015002540B4 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446265B (zh) * 2015-11-24 2019-02-12 沈阳黎明航空发动机(集团)有限责任公司 一种防止数控车刀具长度补偿或零点偏置输入错误的方法
CN105607518A (zh) * 2016-01-27 2016-05-25 云南电网有限责任公司电力科学研究院 一种输电线路机器人控制方法、机器人及终端
JP6464135B2 (ja) * 2016-12-22 2019-02-06 ファナック株式会社 数値制御装置
JP2019219878A (ja) * 2018-06-19 2019-12-26 ファナック株式会社 数値制御装置及び誤入力検出方法
JP7022090B2 (ja) * 2019-03-07 2022-02-17 ファナック株式会社 工作機械の数値制御システム
JP2021039401A (ja) * 2019-08-30 2021-03-11 ファナック株式会社 数値制御装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4028332A1 (de) 1989-09-06 1991-03-14 Mitsubishi Electric Corp Numerische steuerung
JPH05143130A (ja) 1991-11-22 1993-06-11 Okuma Mach Works Ltd 数値制御装置
JP2003295916A (ja) 2002-04-01 2003-10-17 Okuma Corp 入力の検定手段を備えた数値制御装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5122966A (en) * 1989-09-18 1992-06-16 Northern Research & Engineering Computer generated tool path interference check method
JP3177601B2 (ja) * 1999-06-02 2001-06-18 ファナック株式会社 数値制御装置
US6308113B1 (en) * 2000-06-09 2001-10-23 The United States Of America As Represented By The United States National Aeronautics And Space Administration Assembly for moving a robotic device along selected axes
JP2004318762A (ja) * 2003-04-21 2004-11-11 Fanuc Ltd 数値制御装置
JP2007334613A (ja) * 2006-06-14 2007-12-27 Yaskawa Electric Corp ロボットの制御装置
JP2008027045A (ja) * 2006-07-19 2008-02-07 Fanuc Ltd 干渉チェック機能を備える数値制御装置
JP4221016B2 (ja) * 2006-07-25 2009-02-12 ファナック株式会社 干渉チェックを行う数値制御装置
JP4913545B2 (ja) * 2006-10-30 2012-04-11 オークマ株式会社 加工シミュレーションシステム
JP4972447B2 (ja) * 2007-04-06 2012-07-11 オークマ株式会社 数値制御装置
JP2008269483A (ja) * 2007-04-24 2008-11-06 Fanuc Ltd 数値制御装置
JP5139230B2 (ja) * 2008-10-06 2013-02-06 オークマ株式会社 数値制御装置における衝突防止装置
JPWO2010073296A1 (ja) * 2008-12-24 2012-05-31 三菱電機株式会社 Nc工作機械のシミュレーション方法及びその装置
WO2011111088A1 (ja) * 2010-03-08 2011-09-15 三菱電機株式会社 数値制御装置及び数値制御装置の制御方法
JP5218524B2 (ja) * 2010-03-15 2013-06-26 株式会社安川電機 ロボットシステムおよびロボット動作規制方法
DE112010005510B4 (de) * 2010-04-21 2017-01-12 Mitsubishi Electric Corporation Numerisches Steuerverfahren und Vorrichtung dafür
US9002500B2 (en) * 2010-04-27 2015-04-07 Mitsubishi Electric Corporation Numerical control device
TWI402130B (zh) * 2011-01-12 2013-07-21 Ind Tech Res Inst 碰撞保護方法及其裝置
EP2515193B1 (de) * 2011-04-18 2014-04-02 Siemens Aktiengesellschaft Verfahren zur Vermeidung einer ungewollten Kollision zwischen einem Werkzeug und einem Werkstück bei einer Werkzeugmaschine
CN102914994B (zh) * 2012-10-09 2014-10-22 苏州新代数控设备有限公司 用于立卧可调式加工中心的轴交换数值控制器
JP6209392B2 (ja) * 2013-08-12 2017-10-04 Dmg森精機株式会社 干渉確認装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4028332A1 (de) 1989-09-06 1991-03-14 Mitsubishi Electric Corp Numerische steuerung
JPH05143130A (ja) 1991-11-22 1993-06-11 Okuma Mach Works Ltd 数値制御装置
JP2003295916A (ja) 2002-04-01 2003-10-17 Okuma Corp 入力の検定手段を備えた数値制御装置

Also Published As

Publication number Publication date
JP2015170194A (ja) 2015-09-28
CN104898566B (zh) 2017-12-08
JP5845300B2 (ja) 2016-01-20
US20150253758A1 (en) 2015-09-10
CN104898566A (zh) 2015-09-09
DE102015002540A1 (de) 2015-09-10

Similar Documents

Publication Publication Date Title
DE102015002540B4 (de) Numerische Steuervorrichtung
EP2662739B1 (de) Verfahren und Vorrichtung zur automatisierten Konfiguration einer Überwachungsfunktion einer Werkzeugmaschine
EP2691824B1 (de) Verfahren zum bearbeiten von werkstücken mittels einer numerisch gesteuerten werkstückbearbeitungsvorrichtung sowie werkstückbearbeitungsvorrichtung
DE102016111595B4 (de) Kollisionsprüfsystem für eine Werkzeugmaschine und einen Roboter
DE102015013581B4 (de) Numerische Steuerung
DE102015014701A1 (de) Numerische Steuervorrichtung zur Rückzugssteuerung
DE102015016528B4 (de) Laserbearbeitungsvorrichtung mit Kollisionsvermeidungsfunktion für den Zeitpunkt einer Düsenannäherung
DE112008003800T5 (de) Numerische Steuerverfahren und Vorrichtung dafür
DE102016101077A1 (de) Werkzeugmaschine mit einer Funktion zur automatischen Abänderung von Schneidebedingungen
DE102014007556B4 (de) Numerische Steuervorrichtung für die Steuerung einer Bewegungsgeschwindigkeit
DE102014010213A1 (de) Numerische Steuerungsvorrichtung mit einer Funktion zur Verringerung des Pfads zum Startpunkt in einem festen Zyklus
DE102017001654A1 (de) Numerische Steuervorrichtung, die eine maschinelle Bearbeitungsbedingung gemäß maschinellen Bearbeitungsinformationen ändern kann
DE102015015291B4 (de) Numerische Steuerung mit Unterstützungsfunktion für die Parametereinstellung in Zusammenhang mit einer Zykluszeit
DE102013102656A1 (de) Schneidstrecken-berechnungseinrichtung für eine mehrachsen-werkzeugmaschine
DE102015009219B4 (de) Numerische Steuervorrichtung, die eine Beschleunigung und eine Abbremsung auf der Grundlage einer Anhaltedistanz steuert
DE102015011081B4 (de) Numerische Steuerungsvorrichtung
DE102015004930B4 (de) Numerische Steuervorrichtung für Maschinenwerkzeug
DE102016004185B4 (de) Numerische Steuerung mit Kontrolle eines Eingriffs zwischen Werkzeug und Werkstück
DE102015016489A1 (de) Numerische Steuerung
DE102014009190B4 (de) Numerische Steuereinheit mit einer Schirmanzeigeumschaltfunktion, die einem NC-Programm nachfolgt
DE102012001840A1 (de) Numerische Steuerung zum Ausführen einer Positionierungsabschlussprüfung
DE102016014179B4 (de) Numerische Steuerung
DE102016012042B4 (de) Numerische Steuerung mit Positionierung zur Vermeidung einer Kollision mit einem Werkstück
DE102016006761B4 (de) Numerische Steuervorrichtung
DE102015115663B4 (de) Werkzeugmaschinensteuerung für die einrollbearbeitung

Legal Events

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