DE102017001783B4 - Numerische Steuervorrichtung, die eine Erhöhung der Anzahl Analyseziffern eines Programmbefehls ermöglicht - Google Patents

Numerische Steuervorrichtung, die eine Erhöhung der Anzahl Analyseziffern eines Programmbefehls ermöglicht Download PDF

Info

Publication number
DE102017001783B4
DE102017001783B4 DE102017001783.2A DE102017001783A DE102017001783B4 DE 102017001783 B4 DE102017001783 B4 DE 102017001783B4 DE 102017001783 A DE102017001783 A DE 102017001783A DE 102017001783 B4 DE102017001783 B4 DE 102017001783B4
Authority
DE
Germany
Prior art keywords
program
unit
areas
division
coordinate system
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
DE102017001783.2A
Other languages
English (en)
Other versions
DE102017001783A1 (de
Inventor
Masahiko Miyake
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 DE102017001783A1 publication Critical patent/DE102017001783A1/de
Application granted granted Critical
Publication of DE102017001783B4 publication Critical patent/DE102017001783B4/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/19Numerical 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 positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • 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/41Numerical 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 interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
    • G05B19/4103Digital interpolation
    • 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
    • G05B19/4086Coordinate conversions; Other special calculations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • 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/34083Interpolation general
    • 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/34085Software interpolator
    • 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/41Servomotor, servo controller till figures
    • G05B2219/41481Divide command, block in subcommands, subblocks

Abstract

Numerische Steuervorrichtung (1), die basierend auf einem Programm, das aus wenigstens einem Block besteht, wenigstens eine Antriebswelle steuert, um eine Maschine zu steuern, wobei die Maschine ein in einem Bearbeitungsbereich platziertes Werkstück bearbeitet, wobei die numerische Steuervorrichtung (1) umfasst:- eine Teilungseinstelleinheit (100), die Teilungsinformationen einstellt, welche Informationen sind, die sich auf eine Mehrzahl Bereiche beziehen, welche erhalten wird, wenn der Bearbeitungsbereich aufgeteilt wird,- eine Programmteilungseinheit (110), die basierend auf dem Programm und den Teilungsinformationen geteilte Programme erzeugt, die jeweils zur Bearbeitungssteuerung in den Bereichen verwendet werden,- eine Flächenkoordinatensystemeinstelleinheit (120), die basierend auf den Teilungsinformationen in der Mehrzahl Bereiche ein virtuelles Koordinatensystem einstellt,- eine Betriebsgenauigkeitseinstelleinheit (130), die basierend auf den Teilungsinformationen eine Betriebsgenauigkeit einstellt,- eine Befehlsanalyseeinheit (150), die gemäß dem virtuellen Koordinatensystem und der Betriebsgenauigkeit geteilte Programme analysiert, wobei die geteilten Programme durch Teilen des Programms basierend auf den Teilungsinformationen erhalten werden, und basierend auf einem Analyseergebnis Befehlsdaten zum Anweisen eines Betriebs der Maschine ausgibt,- eine Interpolationseinheit (160), die gemäß dem virtuellen Koordinatensystem und der Betriebsgenauigkeit basierend auf den Befehlsdaten in jeder Interpolationsperiode Interpolationsdaten berechnet, die eine Position der Antriebswelle auf einem Bewegungspfad repräsentieren, und- eine Beschleunigungs-/Verzögerungseinheit (170), die in Bezug auf die Interpolationsdaten gemäß dem virtuellen Koordinatensystem und der Betriebsgenauigkeit in jeder Interpolationsperiode eine Anpassung einer Drehzahl der Antriebswelle durchführt.

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine numerische Steuervorrichtung und im Besonderen eine numerische Steuervorrichtung, die dazu fähig ist, die Anzahl Analyseziffern eines Programmbefehls zu erhöhen.
  • Beschreibung des zugehörigen Standes der Technik
  • Im Allgemeinen wird in einem internen Betrieb einer numerischen Steuervorrichtung bei der Interpretation eines Achsbefehls (z.B. X123.456789) in einem Programmbefehl die Anzahl zu interpretierender Dezimalstellen vorher eingestellt (siehe z.B. die offengelegte japanische Patentanmeldung Nr. JP H08-328635 A , die offengelegte japanische Patentanmeldung Nr. JP S63-269204 A , die offengelegte japanische Patentanmeldung Nr. JP H05-181522 A , die offengelegte japanische Patentanmeldung Nr. JP H05-282022 A und die offengelegte japanische Patentanmeldung Nr. JP H11-175229 A ). Dieser Einstellwert ist nachstehend als „Mindesteinstelleinheit“ bezeichnet.
  • Die Anzahl an Dezimalstellen lässt sich genauer als die Mindesteinstelleinheit als Programmformat (z.B. X123.45678912) beschreiben. Daher handhabt die numerische Steuervorrichtung einen Programmbefehl so, dass eine angewiesene Ziffer hinter dem Dezimalkomma in der Mindesteinstelleinheit ungeachtet eines Befehls bezüglich der Anzahl Dezimalstellen im Programmbefehl gerundet wird.
  • Die Mindesteinstelleinheit wird basierend auf den folgenden externen und internen Faktoren einer numerischen Steuervorrichtung bestimmt.
  • Externer Faktor 1: Begrenzung durch Anzeigebereich und Eingabebereich auf Bildschirm
  • Wenn die Anzahl Dezimalstellen, die in der Mindesteinstelleinheit eingestellt ist, erhöht wird, um beispielsweise eine Interpretation einer Koordinatenposition mit einer größeren Anzahl Ziffern zu ermöglichen, wird in einer numerischen Steuervorrichtung die Anzahl Befehlsziffern für jeden Wert erhöht. Wenn die Anzahl Befehlsziffern übermäßig erhöht wird, erhöht sich beispielsweise die Anzahl Ziffern zur Programmanzeige oder Positionsanzeige übermäßig, wodurch eine komplizierte Verwaltung verursacht wird. Des Weiteren sind Parameter, Versatzdaten und dergleichen häufig mit der Mindesteinstelleinheit verknüpft, so dass die Anzahl Ziffern für Parameter, Versatzdaten oder dergleichen in unvorteilhafter Weise ebenfalls mehr als nötig erhöht wird.
  • Externer Faktor 2: Begrenzung durch Hublänge von Maschine und für jede Einstelleinheit einstellbare Hublänge
  • Eine Maschine benötigt die Hublänge, die der Größe eines Bearbeitungsbereichs entspricht. Wenn die in der Mindesteinstelleinheit eingestellte Anzahl Dezimalstellen unter Beibehaltung der Hublänge erhöht wird, muss die für einen Wert erforderliche Datenlänge (Bitzahl) im internen Betrieb erhöht werden. Wenn hingegen die in der Mindesteinstelleinheit eingestellte Anzahl Dezimalstellen unter Festlegung der Datenlänge eines Werts in einem internen Betrieb erhöht wird, muss die Hublänge verringert werden.
  • Externer Faktor 3: Begrenzung durch Auflösung von Detektor
  • Wenn die in der Mindesteinstelleinheit eingestellte Anzahl Dezimalstellen erhöht wird, um eine Interpretation einer Anzahl Ziffern zu ermöglichen, die größer ist als die Auflösung eines Positionsdetektors, der eine Position eines Werkstücks oder eine Position eines Werkzeugs in einem Bearbeitungsbereich erfasst, ist der Detektor selbst dann nicht dazu fähig, die Mindestziffer der angewiesenen Koordinatenposition zu erfassen, wenn eine Koordinatenposition mit einer größeren Anzahl Ziffern in einem Programm angewiesen wird. Daher ist es unmöglich, eine Positionierung an der angewiesenen Koordinatenposition mit einer größeren Anzahl Ziffern genau durchzuführen. Wenn hingegen die in der Mindesteinstelleinheit eingestellte Anzahl Dezimalstellen größer ist als die Auflösung eines Detektors, lässt sich durch Erhöhen der in der Mindesteinstelleinheit eingestellten Anzahl Dezimalstellen innerhalb eines Auflösungsbereichs des Detektors voraussichtlich eine Steigerung der Genauigkeit erzielen.
  • Interner Faktor 1: Begrenzung durch Registerlänge in Operationsregister von numerischer Steuervorrichtung
  • Wenn die Registerlänge eines Operationsregisters 32 Bit beträgt, kann ein Bereich von -2147483648 bis +2147483647 dargestellt werden, wenn eine mit einem Vorzeichen versehene einzelne ganze Zahl dazu verwendet wird, einen Wert darzustellen. Hier kann, wenn ein Wert einer mm-Einheit durch eine mit einem Vorzeichen versehene einzelne ganze Zahl mit der Mindesteinstelleinheit von sechs Ziffern hinter dem Dezimalkomma in einem internen Betrieb der numerischen Steuervorrichtung mit der Registerlänge von 32 Bit dargestellt wird, eine Koordinatenposition innerhalb eines Bereichs von -2147,483648 mm bis +2147,483647 mm dargestellt werden. Des Weiteren kann, wenn ein Wert einer mm-Einheit mit der Mindesteinstelleinheit von sieben Ziffern hinter dem Dezimalkomma dargestellt wird, eine Koordinatenposition innerhalb eines Bereichs von -214,7483648 mm bis +214,7483647 mm dargestellt werden. Wenn die in der Mindesteinstelleinheit eingestellte Anzahl Dezimalstellen erhöht wird, ohne einen Bereich eines Hubs einer Maschine als Steuerobjekt in einer solchen numerischen Steuervorrichtung zu ändern, muss anstelle einer mit einem Vorzeichen versehenen einzelnen ganzen Zahl eine mit einem Vorzeichen versehene doppelte ganze Zahl verwendet werden.
  • Interner Faktor 2: Begrenzung durch Ressourcen (Verarbeitungszeit und Speicherverbrauch)
  • Wie vorstehend unter interner Faktor 1 beschrieben, müssen, wenn die in der Mindesteinstelleinheit eingestellte Anzahl Dezimalstellen erhöht wird, ohne die Hublänge einer Maschine als Steuerobjekt zu ändern, in einem internen Betrieb mehr Daten gehandhabt werden, wodurch sich die Verarbeitungszeit des Betriebs oder der Speicherverbrauch zwangsläufig erhöht. Es besteht jedoch eine Begrenzung einer Betriebsgeschwindigkeit oder einer Datenübertragungsgeschwindigkeit einer in einer numerischen Steuervorrichtung enthaltenen CPU, so dass eine Verarbeitung zum Erzeugen von Daten zum Steuern der Maschine nicht innerhalb eines Zyklus eines Steuerbetriebs angeschlossen werden kann, wenn die Anzahl Betriebsziffern einfach erhöht wird.
  • Bei einer numerischen Steuervorrichtung wird die in der Mindesteinstelleinheit eingestellte Anzahl Dezimalstellen innerhalb eines realistischen Bereichs unter umfassender Prüfung der vorstehend genannten verschiedenen Faktoren bestimmt. Wenn beispielsweise ein interner Betrieb einer numerischen Steuervorrichtung mit einer mit einem Vorzeichen versehenen einzelnen ganzen Zahl von 32 Bit durchgeführt wird, kann eine Koordinatenposition innerhalb eines Bereichs von -2147,483648 mm bis +2147,483647 mm (ungefähr ±2 m Hub, wie in 9 gezeigt) dargestellt werden, wenn die Mindesteinstelleinheit, wie vorstehend beschrieben, auf sechs Ziffern hinter dem Dezimalkomma eingestellt ist. Wenn der Hub einer Maschine als Steuerobjekt innerhalb eines Bereichs von -2 m bis +2 m liegt, tritt beim Steuern der Maschine kein Problem auf. Daher wird die in der Mindesteinstelleinheit eingestellte Anzahl Dezimalstellen auf sechs Ziffern eingestellt. Hier bezeichnet in 9 das Bezugszeichen 2 ein Werkzeug und das Bezugszeichen 3 ein Werkstück, das auf einem Tisch 4 platziert ist.
  • Hier lässt sich, wenn eine Auflösung eines Detektors einer Maschine, die durch eine numerische Steuervorrichtung gesteuert wird, die wie vorstehend beschrieben eingestellt ist, kleiner oder gleich 0,000001 mm ist, voraussichtlich eine Steigerung der Genauigkeit erzielen, indem es der Maschine ermöglicht wird, einen Befehl bis zu einer niedrigeren Ziffer zu interpretieren, einen Betrieb durchzuführen und eine endgültige Impulsverteilung bis zu niedrigeren Ziffern durchzuführen. Wenn jedoch die in der Mindesteinstelleinheit eingestellte Anzahl Dezimalstellen lediglich auf 7 Ziffern eingestellt ist, beträgt der Hub, der durch die numerische Steuervorrichtung gehandhabt werden kann, wie vorstehend erwähnt, -214,7483648 bis +214,7483647 (ungefähr ±0,2 m Hub). Daher beträgt, selbst wenn eine Hublänge der Maschine von ±2 m sichergestellt werden soll, der Hub aufgrund der Begrenzung der numerischen Steuervorrichtung maximal ±0,2 m, wodurch die Maschine nicht wie eine Maschine zum Durchführen einer Bearbeitung arbeitet. Das heißt, dass, selbst wenn ein Steuerobjekt eine Präzisionsmaschine ist, die einen Präzisionsdetektor umfasst, keine Präzisionsbearbeitung durchgeführt werden kann, wenn die numerische Steuervorrichtung dies nicht handhaben kann. Eine numerische Steuervorrichtung hingegen, die mit umfangreichen Ressourcen ausgestattet und dazu fähig ist, während ihres internen Betriebs eine hochgenaue Interpretation eines Werts und einen Präzisionsbetrieb durchzuführen, ist teuer und verursacht bei ihrer Installation hohe Kosten.
  • Aus der JP H09-141579 A ist ein Roboter-Lerngerät bekannt, mit dem während des Anlernens eines Roboters in einem dreidimensionalen Koordinatenbereich im Offline-Betrieb beurteilt wird, ob einer von voreigestellten Merkmalspunkten eines Fingers des Roboters einen Detail-Bewertungsbereich beeinträchtigt hat. Im Fall einer Beeinträchtigung wird der Detail-Bewertungsbereich vergrößert dargestellt und die Stellenzahl der für die Bearbeitung verwendeten signifikanten Stellen des Koordinatenwerts wird entsprechend einem Vergrößerungsverhältnis in einer CAD-Bildebene erhöht. Der Roboter und der Finger werden auf der vergrößerten CAD-Bildebene bewegt, um Lernpunkte festzulegen.
  • Aus der DE 39 08 844 A1 ist eine numerische Steuerung für Werkzeugmaschinen oder Roboter bekannt. Die Steuerung umfasst eine Interpolationsstufe mit einer Geschwindigkeitsführungsstufe, für die eine Interpolationsfeinheit vorgebbar ist, die mit wachsender Bewegungsgeschwindigkeit vergröberbar ist. Damit wird zwar die Bestimmung der Bahninkremente in ihrer Genauigkeit reduziert, jedoch bleibt stets gewährleistet, dass die vorprogrammierte Bahn nicht verlassen wird, so dass die Einführung der Interpolationsfeinheit keine Auswirkungen hinsichtlich Konturfehlern nach sich zieht. Auf diese Weise lassen sich auch bei einer feinen Wegauflösung hohe Geschwindigkeiten erzielen.
  • Aus der US 2011/0009993 A1 ist eine Programmiervorrichtung bekannt, mit der auf einfache Weise ein NC Programm erzeugt werden kann, mit dem ein Werkstück sowohl gedreht, als auch gefräst werden kann. Die Programmiervorrichtung hat einen Bearbeitungsraum-Erkennungsabschnitt zum Erkennen einer Vielzahl von Bearbeitungsbereichen, basierend auf dreidimensionalen Modelldaten, einen Werkstück-Trennbereich zum Einstellen einer Vielzahl von Strukturen, die durch Teilen eines Werkstücks erhalten werden, einen Verbindungsbeziehungs-Erkennungsabschnitt zum Erkennen einer Verbindungsbeziehung zwischen den Bearbeitungsbereichen, einen Bearbeitungsraumlisten-Erzeugungsabschnitt zum Erkennen für jeden der Bearbeitungsbereiche.
  • Aus der DE 10 2010 036 618 A1 ist eine numerische Steuerung zum Trennen und Vereinen von Speicheroberflächen zur Ablage von Bearbeitungsprogrammen bekannt. Dabei wird ein Speicher in mehrere Speicherbereiche unterteilt. Bevor ein auf einer Festplatte gespeichertes Bearbeitungsprogramm zu dem Speicher übertragen wird, wird für jeden der unterteilten Speicherbereiche festgestellt, ob bereits ein Bearbeitungsprogramm gespeichert ist. Das auf der Festplatte gespeicherte Bearbeitungsprogram wird dann in einen Bereich geschrieben, für den festgestellt wird, dass kein Bearbeitungsprogramm gespeichert ist.
  • Zusammenfassung der Erfindung
  • Ein Ziel der vorliegenden Erfindung besteht darin, eine numerische Steuervorrichtung bereitzustellen, die dazu fähig ist, bis zu einer niedrigeren Ziffer als in der Mindesteinstelleinheit eine Interpretation durchzuführen und gleichzeitig eine Erhöhung der Ressourcen der numerischen Steuervorrichtung zu unterbinden.
  • Eine numerische Steuervorrichtung gemäß der vorliegenden Erfindung steuert basierend auf einem Programm, das aus wenigstens einem Block besteht, wenigstens eine Antriebswelle, um eine Maschine zu steuern, die ein in einem Bearbeitungsbereich platziertes Werkstück bearbeitet, und umfasst eine Teilungseinstelleinheit, die Teilungsinformationen einstellt, welche Informationen sind, die sich auf eine Mehrzahl Bereiche beziehen, welche erhalten wird, wenn der Bearbeitungsbereich aufgeteilt wird, eine Flächenkoordinatensystemeinstelleinheit, die basierend auf den Teilungsinformationen in der Mehrzahl Bereiche ein virtuelles Koordinatensystem einstellt, eine Betriebsgenauigkeitseinstelleinheit, die basierend auf den Teilungsinformationen eine Betriebsgenauigkeit einstellt, eine Befehlsanalyseeinheit, die gemäß dem virtuellen Koordinatensystem und der Betriebsgenauigkeit geteilte Programme analysiert, die durch Teilen des Programms basierend auf den Teilungsinformationen erhalten werden, und basierend auf einem Analyseergebnis Befehlsdaten zum Anweisen eines Betriebs der Maschine ausgibt, eine Interpolationseinheit, die gemäß dem virtuellen Koordinatensystem und der Betriebsgenauigkeit basierend auf den Befehlsdaten in jeder Interpolationsperiode Interpolationsdaten berechnet, die eine Position der Antriebswelle auf einem Bewegungspfad repräsentieren, und eine Beschleunigungs-/Verzögerungseinheit, die in Bezug auf die Interpolationsdaten gemäß dem virtuellen Koordinatensystem und der Betriebsgenauigkeit in jeder Interpolationsperiode eine Anpassung einer Drehzahl der Antriebswelle durchführt.
  • Die numerische Steuervorrichtung umfasst ferner eine Programmteilungseinheit, die basierend auf dem Programm und den Teilungsinformationen geteilte Programme erzeugt, die jeweils zur Bearbeitungssteuerung in den Bereichen verwendet werden.
  • Die Programmteilungseinheit kann so konfiguriert sein, dass die Programmteilungseinheit, wenn die Bewegung über zwei oder mehr Bereiche der Mehrzahl Bereiche durchgeführt wird, in Bezug auf einen Block zum Anweisen einer Bewegung der Antriebswelle der in das Programm eingefügten Mehrzahl Blöcke einen Bewegungspfad in eine Mehrzahl Pfade für die zwei oder mehr Bereiche teilt, eine Mehrzahl Blöcke zum Anweisen einer Bewegung auf der durch die Teilung erhaltenen Mehrzahl Pfade erzeugt, und die Mehrzahl Blöcke in entsprechende Programme einfügt, die jeweils zur Bearbeitungssteuerung in den zwei oder mehr Bereichen verwendet werden, um geteilte Programme zu erzeugen.
  • Gemäß der vorliegenden Erfindung kann die Anzahl Ziffern, in denen ein Bewegungsbefehl eines Programms interpretiert wird, so erhöht werden, dass eine Erhöhung einer Verarbeitungsgeschwindigkeit und eines Speicherverbrauchs unterbunden werden kann. Dadurch wird, wenn eine Auflösung eines Detektors kleiner als eine Einstelleinheit ist, eine detailliertere und genauere Verteilung ermöglicht, so dass sich voraussichtlich eine Genauigkeitssteigerung eines Bearbeitungsobjekts erzielen lässt. Ferner entspricht eine Einstelleinheit derjenigen des Stands der Technik, so dass beispielsweise eine Handhabung einer Positionsanzeige unter herkömmlichen Umständen oder durch Erhöhen der Anzahl Ziffern durchgeführt werden kann.
  • Figurenliste
    • 1 zeigt eine Darstellung eines Verfahrens zum Erhöhen der Anzahl Analyseziffern in einer internen Betriebsverarbeitung einer numerischen Steuervorrichtung gemäß der vorliegenden Erfindung.
    • 2 zeigt einen Aspekt, gemäß dem die numerische Steuervorrichtung gemäß der vorliegenden Erfindung geteilte Programme ausführt, um ein Werkstück zu bearbeiten.
    • 3 zeigt ein Beispiel für ein Bereichsteilungsverfahren für einen Bearbeitungsbereich gemäß der vorliegenden Erfindung.
    • 4 zeigt ein Verfahren zum Teilen eines Blocks, der in ein Programm eingefügt wird und eine lineare Interpolation anweist, gemäß der vorliegenden Erfindung.
    • 5 zeigt ein Verfahren zum Teilen eines Blocks, der in ein Programm eingefügt wird und eine Kreisinterpolation anweist, gemäß der vorliegenden Erfindung.
    • 6 zeigt ein Beispiel für geteilte Programme, die durch die Teilung des Programms gemäß 4 durch ein Programmteilungsverfahren gemäß der vorliegenden Erfindung erhalten werden.
    • 7 ist eine Konfigurationsdarstellung eines Hauptteils einer numerischen Steuervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 8 ist ein schematisches Funktionsblockdiagramm der numerischen Steuervorrichtung gemäß der Ausführungsform der vorliegenden Erfindung.
    • 9 zeigt eine Werkzeugmaschine, die ein Werkstück mit einer numerischen Steuervorrichtung gemäß einer bekannten Technik bearbeitet.
  • Genaue Beschreibung der bevorzugten Ausführungsform
  • Eine numerische Steuervorrichtung gemäß der vorliegenden Erfindung teilt einen Bearbeitungsbereich, wie in 1 gezeigt, in eine Mehrzahl Bereiche auf und erzeugt basierend auf einem Originalprogramm geteilte Programme zum Durchführen einer Bearbeitung jeweils in Bezug auf geteilte Bearbeitungsbereiche. Dann steuert die numerische Steuervorrichtung gemäß der vorliegenden Erfindung eine Maschine basierend auf den geteilten Programmen, um ein Werkstück 3 zu bearbeiten. Ein basierend auf jedem geteilten Programm bearbeiteter Bereich ist kleiner als der gesamte Bearbeitungsbereich. Daher ist es möglich, bei der Ausführung der geteilten Programme eine Bearbeitung unter Verwendung eines virtuellen Koordinatensystems durchzuführen, wobei die in der Mindesteinstelleinheit eingestellte Anzahl Dezimalstellen so erhöht wird, dass die Hublänge beschränkt wird, ohne die Registerlänge und dergleichen zu verändern, die zur internen Betriebsverarbeitung der numerischen Steuervorrichtung verwendet wird.
  • Wenn beispielsweise eine Maschine gesteuert wird, die einen Bearbeitungsbereich von -2 m bis +2 m sowohl in der X-Achsenrichtung als auch der Y-Achsenrichtung handhabt, und der Bearbeitungsbereich in beiden Koordinatenachsenrichtungen durch 10 in geteilt wird, beträgt die Größe jedes Bereichs 1/10 gegenüber dem Bearbeitungsbereich. Demgemäß kann, wenn die geteilten Programme ausgeführt werden, eine Bearbeitung in einem virtuellen Koordinatensystem durchgeführt werden, in dem die maximale Anzahl Ziffern eines Koordinatenwerts eines zu bearbeitenden Bereichs um eine Ziffer verringert ist, und die in der Mindesteinstelleinheit eingestellte Anzahl Dezimalstellen um eine Ziffer erhöht ist, wobei in der numerischen Steuervorrichtung eine einzelne ganze Zahl verwendet wird. Demgemäß können bei der Ausführung des geteilten Programms, obwohl ein Bereich, der durch ein geteiltes Programm bearbeitet werden kann, wie in 2 gezeigt, beschränkt ist (die Hublänge beträgt 400,0 mm, d.h. von -200 mm bis +200 mm) eine Interpretation und Operation eines Koordinatenwerts, bei dem die Anzahl Dezimalstellen erhöht ist, genau durchgeführt werden, wodurch die Bearbeitungsgenauigkeit gesteigert wird. Ferner kann durch eine Ausführung aller geteilten Programme das Werkstück 3 in demselben Bearbeitungsbereich wie bei der Ausführung eines Originalprogramms durch ein Werkzeug 2 bearbeitet werden.
  • 3 zeigt ein Teilungsbeispiel eines durch das XY-Koordinatensystem dargestellten Bearbeitungsbereichs.
  • Bei dem Beispiel von 3 wird ein Bearbeitungsbereich, bei dem der X-Koordinatenwert Xmin bis Xmax beträgt, der Y-Koordinatenwert Ymin bis Ymax beträgt und eine zentrale Position ein Ursprung (0, 0) ist, gleichmäßig in n Teile in der X-Achsenrichtung und in m Teile in der Y-Achsenrichtung geteilt, um n×m Bereichsteile zu erhalten. In diesem Fall werden die Breite Lx in der X-Achsenrichtung und die Breite Ly in der Y-Achsenrichtung des geteilten Bereichs durch die folgenden Formeln (1) dargestellt. L x = X m a x X m i n n L y = Y m a x Y m i n m
    Figure DE102017001783B4_0001
  • Wenn die geteilten Bereiche von der negativen Richtung in die positive Richtung der X-Achse und der Y-Achse als Bereich (1, 1), Bereich (2, 1), ..., Bereich (i, j), ..., bzw. Bereich (n, m) eingestellt werden, wie in 3 gezeigt, gehört ferner ein durch einen tatsächlichen Koordinatenwert (xr, yr) im Bearbeitungsbereich dargestellter Punkt zu dem Bereich (i, j), der einer Verbindung (i, j) entspricht und eine Bestimmungsformel der folgenden Formeln (2) erfüllt. L x 2 + ( i 1 ) × L x ( n 1 ) × L x 2 x r L x 2 + ( i 1 ) × L x ( n 1 ) × L x 2 L y 2 + ( j 1 ) × L y ( m 1 ) × L y 2 y r L y 2 + ( j 1 ) × L y ( m 1 ) × L y 2
    Figure DE102017001783B4_0002
  • Wenn ein virtueller Koordinatenraum, dessen Zentrum ein Ursprung (0, 0) ist, in dem Bereich (i, j) eingestellt wird, kann ferner eine Beziehung zwischen einem Koordinatenwert (xvi, yvj) im virtuellen Koordinatenraum und dem tatsächlichen Koordinatenwert (xr, yr) im Bearbeitungsbereich durch die folgenden Formeln (3) dargestellt werden. x v i = x r ( i 1 ) × L x + ( n 1 ) × L x 2 y v j = y r ( j 1 ) × L y + ( m 1 ) × L y 2
    Figure DE102017001783B4_0003
  • Ein Programmteilungsverfahren, durch das unter Verwendung der vorstehend genannten Formeln ein Programm in Programme geteilt wird, die zur Bearbeitungssteuerung jeweiliger Bereiche verwendet werden, ist nachstehend beschrieben. Ein Programm wird durch Bestimmen eines Bereichs geteilt, zu dem ein Bewegungspfad eines Werkzeugs gehört, der in jedem Block angewiesen wird, der in das Programm eingefügt wird und in dem eine Bewegung des Werkzeugs angewiesen wird.
  • Beispielsweise bei einer Bestimmung eines Bereichs, zu dem jeder Block gehört, werden,
    (A) wenn ein Block als Objekt ein Block zum Anweisen einer linearen Interpolation ist, Bereiche bestimmt, zu denen jeweils ein Startpunkt und ein Endpunkt eines durch den Befehl angewiesenen Bewegungspfades des Werkzeugs gehören.
  • Hierbei wird,
    (a1) wenn sowohl der Startpunt als auch der Endpunkt des Bewegungspfades des Werkzeugs, der durch den Befehl des Blocks angewiesen wird, welcher das Bestimmungsobjekt ist, zu demselben Bereich gehören, nur der Bereich, zu dem der Startpunkt und der Endpunkt gehören, basierend auf dem Block bearbeitet, so dass der Block in ein Programm eingefügt wird, das zur Bearbeitungssteuerung in dem Bereich verwendet wird (ein Koordinatenwert wird unter Verwendung der Formeln (3) konvertiert, wenn der Koordinatenwert als absoluter Wert angegeben ist), und
    (a2) ferner wird, wenn der Startpunkt und der Endpunkt des Bewegungspfads, der durch den Befehl des Blocks angewiesen wird, welcher das Bestimmungsobjekt ist, zu verschiedenen Bereichen gehören, der durch den Befehl des Blocks angewiesene Bewegungspfad des Werkzeugs in Bewegungspfade für entsprechende Bereiche geteilt und Blöcke zum Anweisen der Bewegungspfade, die durch die Teilung erhalten werden, werden in Programme eingefügt, die zur Bearbeitungssteuerung in entsprechenden Bereichen verwendet werden (ein Koordinatenwert wird unter Verwendung der Formeln (3) konvertiert, wenn der Koordinatenwert als absoluter Wert angegeben ist).
  • (B) Ferner wird, wenn ein Block als Objekt auch ein Block zum Anweisen einer Kreisinterpolation ist und
    (b1) wenn ein bogenförmiger Bewegungspfad insgesamt zu einem Bereich gehört, der Block in ein Programm eingefügt, das zur Bearbeitungssteuerung in dem Bereich verwendet wird (ein Koordinatenwert wird unter Verwendung der Formeln (3) konvertiert, wenn der Koordinatenwert als absoluter Wert angegeben ist), und
    (b2) ferner wird, wenn sich der bogenförmige Bewegungspfad über verschiedene Bereiche erstreckt, der durch den Befehl des Blocks angewiesene bogenförmige Bewegungspfad des Werkzeugs in bogenförmige Bewegungspfade für entsprechende Bereiche geteilt und Blöcke zum Anweisen der bogenförmigen Bewegungspfade, die durch die Teilung erhalten werden, werden in Programme eingefügt, die zur Bearbeitungssteuerung in entsprechenden Bereichen verwendet werden (ein Koordinatenwert wird unter Verwendung der Formeln (3) konvertiert, wenn der Koordinatenwert als absoluter Wert angegeben ist).
  • Hierbei können Blöcke, die keine Blöcke zum Anweisen einer Bewegung des Werkzeugs sind, in Programme eingefügt werden, die zur Bearbeitungssteuerung in allen Bereichen verwendet werden.
  • Es wird beispielsweise ein Beispiel betrachtet, bei dem, wenn ein Bearbeitungsbereich, dessen Koordinatenwert sowohl in der X-Achsenrichtung als auch der Y-Achsenrichtung ±2000,0 [mm] annehmen kann (Xmin = Ymin = -2000,0 [mm], Xmax = Ymax = +2000,0 [mm]), sowohl in der X-Achsenrichtung als auch der Y-Achsenrichtung gleichmäßig durch 10 geteilt wird (n=m=10), um bei dem in 3 gezeigten Teilungsbeispiel Bereiche zu erhalten, ein in 4 gezeigtes Programm in Programme geteilt wird, die zur Bearbeitungssteuerung in entsprechenden Bereichen verwendet werden.
  • Da sowohl ein Startpunkt als auch ein Endpunkt eines Bewegungspfades eines Werkzeugs, der jeweils durch einen N03-Block und einen N04-Block angewiesen wird, zu einem Bereich (6, 6) gehören, werden der N03-Block und der N04-Block in ein Programm eingefügt, das zur Bearbeitungssteuerung in dem Bereich (6, 6) verwendet wird. Da sowohl ein Startpunkt als auch ein Endpunkt eines Bewegungspfads des Werkzeugs, der jeweils durch einen N06-Block, einen N07-Block und einen N08-Block angewiesen wird, zu einem Bereich (7, 6) gehören, werden ferner der N06-Block, der N07-Block und der N08-Block in ein Programm eingefügt, das zur Bearbeitungssteuerung in dem Bereich (7, 6) verwendet wird.
  • Da bei einem durch einen N05-Block angewiesenen Bewegungspfad des Werkzeugs ein Starpunkt zu dem Bereich (6, 6) und ein Endpunkt zu dem Bereich (7, 6) gehört, so dass der durch den N05-Block angewiesene Bewegungspfad des Werkzeugs für den Bereich (6, 6), durch den der Bewegungspfad des Werkzeugs verläuft, und eine Grenzposition des Bereichs (6, 6) geteilt wird (ein Δ-Punkt, der sich auf dem durch den N05-Block angewiesenen Bewegungspfad des Werkzeugs befindet und an dem eine Grenze zwischen dem Bereich (6, 6) und dem benachbarten Bereich (7, 6) verläuft, und der Bewegungspfad schneiden sich in 4), werden indessen Blöcke zum Anweisen entsprechender durch die Teilung erhaltener Bewegungspfade erzeugt und entsprechende Blöcke in ein Programm zum Bearbeiten des Bereichs (6, 6) und ein Programm zum Bearbeiten des Bereichs (7, 6) eingefügt. Dasselbe gilt für einen N09-Block, einen N10-Block und einen N11-Block.
  • Des Weiteren wird, wenn beispielsweise ein Kreisinterpolationsblock in ein Programm eingefügt wird, wie in 5 gezeigt, bestimmt, ob ein durch den Kreisinterpolationsbefehl angewiesener Bewegungspfad eines Werkzeugs eine Grenze zwischen einem Bereich und dem angrenzenden Bereich schneidet. Wenn der Bewegungspfad die Grenze schneidet, wird der Bewegungspfad am Schnittpunkt geteilt (Δ-Punkt auf dem Bewegungspfad des Werkzeugs, der durch einen N12-Block gemäß 5 angewiesen wird), werden Blöcke zum Anweisen entsprechender durch die Teilung erhaltener Bewegungspfade erzeugt und entsprechende Blöcke in ein Programm zum Bearbeiten des Bereichs (6, 6) und ein Programm zum Bearbeiten des Bereichs (7, 6) eingefügt.
  • Durch Ausführen eines solchen Verfahrens in Bezug auf jeden in das Programm eingefügten Block wird das in 4 gezeigte Programm in die in 6 gezeigten Programme geteilt und zur Bearbeitungssteuerung jeweiliger Bereiche verwendet.
  • Hierbei wird die Genauigkeit der Anzahl Ziffern eines in jedem Programm beschriebenen Koordinatenwerts aufrechterhalten, indem für die vorstehend genannte Teilung eines Bewegungspfads oder die vorstehend genannte Konversion von einem tatsächlichen Koordinatenwert in einen virtuellen Koordinatenwert für jeden Bereich unter Verwendung der Formeln (3) eine Betriebsverarbeitung mit einer doppelten ganzen Zahl verwendet wird. Obwohl die Betriebsverarbeitung, die Werte mit einer doppelten ganzen Zahl verwendet, mehr Ressourcen verbraucht als die Betriebsverarbeitung, die Werte mit einer einzelnen ganzen Zahl verwendet, ist der Betriebsumfang der Teilungsverarbeitung eines Bewegungspfads und der Konversionsverarbeitung eines Koordinatenwerts viel kleiner als bei einer Interpolationsverarbeitung eines Bewegungspfads und einer bei der Bearbeitungssteuerung durchgeführten Beschleunigungs-/Verzögerungsverarbeitung, so dass sich dies nicht erheblich auf die gesamte Verarbeitungsgeschwindigkeit auswirkt.
  • Die Konfiguration einer numerischen Steuervorrichtung, die die vorstehend beschriebene Programmteilungsverarbeitung ausführt und basierend auf geteilten Programmen eine Bearbeitungssteuerung durchführt, ist nachstehend beschrieben.
  • 7 ist eine Hardwarekonfigurationsdarstellung, die Hauptteile einer numerischen Steuervorrichtung gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
  • Eine CPU 11 ist ein Prozessor, der eine numerische Steuervorrichtung 1 insgesamt steuert. Die CPU 11 liest ein in einem ROM 12 gespeichertes Systemprogramm über einen Bus 20 aus, um die gesamte numerische Steuervorrichtung 1 gemäß dem Systemprogramm zu steuern. In einem RAM 13 werden beispielsweise temporäre Berechnungsdaten und Anzeigedaten sowie verschiedene Arten von Daten gespeichert, die durch einen Bediener über eine Anzeige-/MDI-Einheit 70 eingegeben werden.
  • Ein SRAM 14 ist batteriegestützt, was nicht dargestellt ist, und als nichtflüchtiger Speicher konfiguriert, dessen Speicherzustand selbst dann aufrechterhalten wird, wenn die numerische Steuervorrichtung 1 abgeschaltet wird. In dem SRAM 14 werden beispielsweise ein Bearbeitungsprogramm, das über eine Schnittstelle 15 eingelesen wird und nachstehend beschrieben ist, und ein Bearbeitungsprogramm gespeichert, das über die Anzeige-/MDI-Einheit 70 eingegeben wird. Des Weiteren werden verschiedene Arten von Systemprogrammen zum Ausführen einer Verarbeitung eines Editionsmodus, der zum Erstellen und Editieren eines Bearbeitungsprogramms erforderlich ist, und der vorstehend beschriebenen Programmteilungsverarbeitung vorab in das ROM 12 geschrieben. Verschiedene Arten von Bearbeitungsprogrammen, wie etwa ein die vorliegende Erfindung betreffendes Bearbeitungsprogramm, können über die Schnittstelle 15 und die Anzeige-/MDI-Einheit 70 eingegeben werden, um im SRAM 14 gespeichert zu werden.
  • Die Schnittstelle 15 ist eine Schnittstelle zum Verbinden der numerischen Steuervorrichtung 1 mit einem externen Gerät 72, wie etwa einem Adapter. Aus dem externen Gerät 72 werden beispielsweise Bearbeitungsprogramme und verschiedene Arten von Parametern ausgelesen. Ferner kann ein in der numerischen Steuervorrichtung 1 editiertes Bearbeitungsprogramm über das externe Gerät 72 in einer externen Speichereinrichtung gespeichert werden. Eine programmierbare Maschinensteuereinrichtung (PMC) 16 gibt basierend auf einem in der numerischen Steuervorrichtung 1 gespeicherten Sequenzprogramm über eine I/O- (Ein-/Ausgabe-) Einheit 17 ein Signal an ein Hilfsgerät der Werkzeugmaschine aus (z.B. einen Aktor, wie etwa eine Roboterhand zum Werkzeugaustausch), um das Hilfsgerät zu steuern. Des Weiteren empfängt die PMC 16 Signale von verschiedenen Arten von Schaltern und dergleichen eines an einem Hauptkörper der Werkzeugmaschine bereitgestellten Bedienpanels, führt eine erforderliche Signalverarbeitung durch und sendet dann die der Signalverarbeitung unterzogenen Signale an die CPU 11.
  • Die Anzeige-/MDI-Einheit 70 ist eine manuelle Dateneingabeeinrichtung, die eine Anzeigeeinrichtung, eine Tastatur und dergleichen umfasst. Eine Schnittstelle 18 empfängt Befehle und Daten von der Tastatur der Anzeige-/MDI-Einheit 70, um die Befehle und Daten an die CPU 11 zu senden. Eine Schnittstelle 19 ist mit einem Bedienpanel 71 verbunden, das einen manuellen Impulsgeber und dergleichen umfasst.
  • Achsensteuerschaltungen 30 bis 32 jeweiliger Achse empfangen Bewegungsbefehlsbeträge für jeweilige Achsen von der CPU 11 und geben Befehle für jeweilige Achsen an Servoverstärker 40 bis 42 aus. Die Servoverstärker 40 bis 42 empfangen jeweils diese Befehle, um die Servomotoren 50 bis 52 jeweiliger Achsen anzutreiben. Die Servomotoren 50 bis 52 jeweiliger Achsen umfassen Stellungs-/Drehzahldetektoren und führen Stellungs-/Drehzahlrückkopplungssignale von diesen Stellungs-/Drehzahldetektoren zu den Achsensteuerschaltungen 30 bis 32 zurück und führen dadurch eine Stellungs-/Drehzahlrückkopplungsregelung durch. Hier wurde in dem Blockdiagramm die Stellungs-/Drehzahlrückkopplung weggelassen.
  • Eine Spindelsteuerschaltung 60 empfängt einen Spindeldrehbefehl bezüglich einer Werkzeugmaschine und gibt ein Spindeldrehzahlsignal an einen Spindelverstärker 61 aus. Der Spindelverstärker 61 empfängt das Spindeldrehzahlsignal und ermöglicht es einem Spindelmotor 62 der Werkzeugmaschine, sich mit einer angewiesenen Drehzahl zu drehen, um das Werkzeug anzutreiben.
  • Ein Stellungscodierer 63 ist mit dem Spindelmotor 62 durch ein Zahnrad, einen Riemen oder dergleichen verbunden. Der Stellungscodierer 63 gibt einen Rückkopplungsimpuls in Synchronisation mit der Drehung der Spindel aus und der Rückkopplungsimpuls wird durch die CPU 11 gelesen wird.
  • 8 ist ein schematisches Funktionsblockdiagramm, das den Fall darstellt, in dem das vorstehend beschriebene Programmteilungsverfahren und das vorstehend beschriebene Ausführungsverfahren geteilter Programme in Bezug auf die in 7 gezeigte numerische Steuervorrichtung 1 als Systemprogramm implementiert sind. Die numerische Steuervorrichtung 1 umfasst eine Teilungseinstelleinheit 100, eine Programmteilungseinheit 110, eine Flächenkoordinatensystemeinstelleinheit 120, eine Betriebsgenauigkeitseinstelleinheit 130, eine Bereichspositionsbestimmungseinheit 140, eine Befehlsanalyseeinheit 150, eine Interpolationseinheit 160, eine Beschleunigungs-/Verzögerungseinheit 170 und eine Servosteuereinrichtung 180.
  • Die Teilungseinstelleinheit 100 empfängt eine Eingabe eines Parameters, der zur Bereichsteilung eines Bearbeitungsbereichs erforderlich ist, und speichert den Parameter in einem Speicher, wie etwa dem SRAM 14. Ein für die Bereichsteilung erforderlicher Parameter variiert abhängig von einem Verfahren zum Teilen eines Bereichs. Wenn das in 2 beschriebene Teilungsverfahren verwendet wird, kann die Teilungseinstelleinheit 100 beispielsweise eine Spanne eines Bearbeitungsbereichs (Xmin bis Xmax, Ymin bis Ymax), eine Ursprungsposition (beispielsweise ist ein Zentrum ein Ursprung oder ein Ende ein Ursprung, und zwar sowohl in einem Bearbeitungsbereich als auch in einem Bereich) und die Anzahl der Teilungen (n, m) in der X-Achsenrichtung und der Y-Achsenrichtung empfangen.
  • Die Programmteilungseinheit 110 teilt einen Bearbeitungsbereich basierend auf durch die Teilungseinstelleinheit 100 eingestellten Parametern virtuell auf, um basierend auf einem Programm 200 Programme zu erzeugen, die zur Bearbeitungssteuerung für entsprechende Bereiche verwendet werden, die beispielsweise durch die Teilung durch die unter Bezugnahme auf die 2 bis 4 beschriebenen Verfahren erhalten werden. Durch die Teilung erhaltene Programme 210 werden in einem Bereich gespeichert, der in einem Speicher, wie etwa dem RAM 13, bereitgestellt ist.
  • Die Flächenkoordinatensystemeinstelleinheit 120 stellt basierend auf durch die Teilungseinstelleinheit 100 eingestellten Parametern für jeden Bereich ein virtuelles Koordinatensystem in der Befehlsanalyseeinheit 150 ein, die später beschrieben ist, wenn die Befehlsanalyseeinheit 150 die vorstehend genannten durch die Teilung erhaltenen Programm 210 ausführt.
  • Ferner stellt die Betriebsgenauigkeitseinstelleinheit 130 die Mindesteinstelleinheit ein, die basierend auf durch die Teilungseinstelleinheit 100 eingestellten Parametern in der internen Betriebsverarbeitung in der Befehlsanalyseeinheit 150, der Interpolationseinheit 160 und der Beschleunigungs-/Verzögerungseinheit 170 eingestellt werden kann, wenn die Befehlsanalyseeinheit 150, die später beschrieben ist, die durch die Teilung erhaltenen Programme 210 ausführt. Die „einstellbare Mindesteinstelleinheit“ kann hier basierend auf der Hublänge eines jeden der Bereiche, die durch die Teilung durch die Teilungseinstelleinheit 100 erhalten werden, geeignet eingestellt werden, wobei die vorstehend beschriebenen externen und internen Faktoren der numerischen Steuervorrichtung berücksichtigt werden. Beispielsweise kann bei der in 2 gezeigten Bereichsteilung die in der Mindesteinstelleinheit eingestellte Anzahl Dezimalstellen um eins erhöht werden.
  • Die Bereichspositionsbestimmungseinheit 140 gibt einen Befehl zum Durchführen einer Positionierung an einer Bearbeitungsstartposition des durch die Teilung erhaltenen Programms 210 vor dem Start der Ausführung desselben an die Befehlsanalyseeinheit 150 aus, wenn die Befehlsanalyseeinheit 150, die später beschrieben ist, die Ausführung des durch die Teilung erhaltenen Programms 210 startet. Die Bearbeitungsstartposition jedes Bereichs ist eine Position, die unter Verwendung der Formeln (3) durch Konvertieren eines Koordinatenwerts eines Punkts (der Δ-Punkt in 4 und 5), an dem ein Werkzeug bei einem Originalprogramm in den Bereich eintritt, in einen virtuellen Koordinatenwert des Bereichs erhalten wird.
  • Die Befehlsanalyseeinheit 150 liest nacheinander Blöcke aus den Programmen 210 aus, die durch die Teilung erhalten wurden und in einem Speicher gespeichert sind, und analysiert sie, erzeugt Befehlsdaten zum Anweisen einer Bewegung entsprechender Achsen basierend auf den Analyseergebnissen und gibt die erzeugten Befehlsdaten an die Interpolationseinheit 160 aus. Die Befehlsanalyseeinheit 150 verwendet das durch die vorstehend beschriebene Flächenkoordinatensystemeinstelleinheit 120 eingestellte virtuelle Koordinatensystem bei der Ausführung einer Analyseverarbeitung und führt in der durch die vorstehend beschriebene Betriebsgenauigkeitseinstelleinheit 130 eingestellten Mindesteinstelleinheit eine Analyse durch. Die Reihenfolge, in der die Befehlsanalyseeinheit 150 eine durch die Teilung erhaltene Mehrzahl Programme 210 ausliest, muss nicht speziell eingeschränkt sein. Wenn die Befehlsanalyseeinheit 150 jedoch Programme zum Bearbeiten näher beieinander gelegener Bereiche nacheinander ausliest, verkürzt sich die Bewegungsstrecke eines Werkzeugs, wodurch es möglich ist, die Zyklusdauer der Bearbeitung zu verkürzen.
  • Die Interpolationseinheit 160 erzeugt Interpolationsdaten, die so erhalten werden, dass Punkte auf einem angewiesenen Pfad, der durch Befehlsdaten angewiesen wird, die durch die Befehlsanalyseeinheit 150 ausgegeben werden, basierend auf den Befehlsdaten in einer Interpolationsperiode interpoliert und berechnet werden, und gibt die erzeugten Interpolationsdaten an die Beschleunigungs-/Verzögerungseinheit 170 aus. Bei der Ausführung einer Interpolationsverarbeitung durch die Interpolationseinheit 160 verwendet die Interpolationseinheit 160 ein durch die Flächenkoordinatensystemeinstelleinheit 120 eingestelltes virtuelles Koordinatensystem und führt in der durch die vorstehend beschriebene Betriebsgenauigkeitseinstelleinheit 130 eingestellten Mindesteinstelleinheit eine Analyse durch.
  • Die Beschleunigungs-/Verzögerungseinheit 170 führt in Bezug auf die durch die Interpolationseinheit 160 ausgegebenen Interpolationsdaten für jede Interpolationsperiode eine Beschleunigungs-/Verzögerungsverarbeitung zum Anpassen einer Drehzahl jeder Antriebswelle durch und gibt die der Beschleunigungs-/Verzögerungsanpassung unterzogenen Interpolationsdaten an die Servosteuereinrichtung 180 aus. Bei der Ausführung der Beschleunigungs-/Verzögerungsverarbeitung durch die Beschleunigungs-/Verzögerungseinheit 170 verwendet die Beschleunigungs-/Verzögerungseinheit 170 ein durch die Flächenkoordinatensystemeinstelleinheit 120 eingestelltes virtuelles Koordinatensystem und führt in der durch die vorstehend beschriebene Betriebsgenauigkeitseinstelleinheit 130 eingestellten Mindesteinstelleinheit eine Analyse durch.
  • Dann steuert die Servosteuereinrichtung 180 basierend auf einer Ausgabe der Beschleunigungs-/Verzögerungseinheit 170 Antriebsabschnitte (Servomotoren 50 bis 52) jeweiliger Achsen einer Maschine, die ein Steuerobjekt darstellt.
  • Die numerische Steuervorrichtung mit einer solchen Konfiguration teilt einen Bearbeitungsbereich in eine Mehrzahl Bereiche auf und erzeugt aus dem Programm 200 in Übereinstimmung mit den geteilten Bereichen vorab eine Mehrzahl geteilter Programme 210. Da die Hublänge, die ein Bewegungsbereich eines Werkzeugs ist, eingeschränkter ist als der Bearbeitungsbereich in den geteilten Programmen 210, ist es möglich, die in der Mindesteinstelleinheit eingestellte Anzahl Dezimalstellen bei einer Analyseverarbeitung eines Befehls, einer Interpolationsverarbeitung und einer Beschleunigungs-/Verzögerungsverarbeitung zu erhöhen, ohne Ressourcen für eine Betriebsverarbeitung zu verbrauchen, wodurch es möglich ist, die Bearbeitungsgenauigkeit zu erhöhen.
  • Vorstehend ist die Ausführungsform der vorliegenden Erfindung beschrieben. Die vorliegende Erfindung ist jedoch nicht auf das Beispiel der vorstehend beschriebenen Ausführungsform beschränkt und kann durch Vornehmen geeigneter Abwandlungen auf verschiedene Art und Weise umgesetzt werden.
  • Beispielsweise zeigt die vorstehend beschriebene Ausführungsform ein Beispiel, bei dem eine zweidimensionale Ebene in der X-Achsenrichtung und Y-Achsenrichtung einer Bereichsteilung unterzogen wird und Programme zum Bearbeiten eines Werkstücks in geteilten Bereichen erzeugt werden. Der dreidimensionale Raum in X-Achsenrichtung, Y-Achsenrichtung und Z-Achsenrichtung kann jedoch ebenfalls einer Bereichsteilung unterzogen werden. In diesem Fall kann lediglich eine Formel der Z-Achse den Formeln (1) bis (3) hinzugefügt werden, um ein Programm unter Verwendung dieser Formeln zu teilen.
  • Ferner wird bei der vorstehend beschriebenen Ausführungsform ein Bearbeitungsbereich gleichmäßig in Bereiche aufgeteilt, die Größe der Bereiche ist jedoch nicht darauf beschränkt und die Bereiche können voneinander unterschiedliche Größen haben. In einem solchen Fall können eine Grenze und die Größe jedes Bereichs individuell durch die Teilungseinstelleinheit 100 eingestellt werden. Dann werden die Programmteilungseinheit 110, die Flächenkoordinatensystemeinstelleinheit 120 und die Betriebsgenauigkeitseinstelleinheit 130 basierend auf Informationen betrieben, die so eingestellt sind, dass Bereiche mit voneinander unterschiedlichen Größen gehandhabt werden können. Somit kann beispielsweise ein Abschnitt des Bearbeitungsbereichs in unterteilte Bereiche geteilt und ferner in dem Abschnitt eine genaue Bearbeitung durchgeführt werden.
  • Bei dem Beispiel der vorstehend beschriebenen Ausführungsform führt die numerische Steuervorrichtung ferner eine Teilung eines Programms durch. Anstelle der Ausführung der Teilung durch die numerische Steuervorrichtung können jedoch für jeweilige Bereiche geteilte Programme vorab durch eine externe Programmerzeugungseinrichtung (wie etwa eine CAD-Vorrichtung) erzeugt werden, um dann ausgeführt zu werden. In diesem Fall ist es nicht erforderlich, die numerische Steuervorrichtung mit der Programmteilungseinheit 110 auszustatten, wobei der Programmerzeugungseinheit eine entsprechende Konfiguration verliehen werden kann.

Claims (2)

  1. Numerische Steuervorrichtung (1), die basierend auf einem Programm, das aus wenigstens einem Block besteht, wenigstens eine Antriebswelle steuert, um eine Maschine zu steuern, wobei die Maschine ein in einem Bearbeitungsbereich platziertes Werkstück bearbeitet, wobei die numerische Steuervorrichtung (1) umfasst: - eine Teilungseinstelleinheit (100), die Teilungsinformationen einstellt, welche Informationen sind, die sich auf eine Mehrzahl Bereiche beziehen, welche erhalten wird, wenn der Bearbeitungsbereich aufgeteilt wird, - eine Programmteilungseinheit (110), die basierend auf dem Programm und den Teilungsinformationen geteilte Programme erzeugt, die jeweils zur Bearbeitungssteuerung in den Bereichen verwendet werden, - eine Flächenkoordinatensystemeinstelleinheit (120), die basierend auf den Teilungsinformationen in der Mehrzahl Bereiche ein virtuelles Koordinatensystem einstellt, - eine Betriebsgenauigkeitseinstelleinheit (130), die basierend auf den Teilungsinformationen eine Betriebsgenauigkeit einstellt, - eine Befehlsanalyseeinheit (150), die gemäß dem virtuellen Koordinatensystem und der Betriebsgenauigkeit geteilte Programme analysiert, wobei die geteilten Programme durch Teilen des Programms basierend auf den Teilungsinformationen erhalten werden, und basierend auf einem Analyseergebnis Befehlsdaten zum Anweisen eines Betriebs der Maschine ausgibt, - eine Interpolationseinheit (160), die gemäß dem virtuellen Koordinatensystem und der Betriebsgenauigkeit basierend auf den Befehlsdaten in jeder Interpolationsperiode Interpolationsdaten berechnet, die eine Position der Antriebswelle auf einem Bewegungspfad repräsentieren, und - eine Beschleunigungs-/Verzögerungseinheit (170), die in Bezug auf die Interpolationsdaten gemäß dem virtuellen Koordinatensystem und der Betriebsgenauigkeit in jeder Interpolationsperiode eine Anpassung einer Drehzahl der Antriebswelle durchführt.
  2. Numerische Steuervorrichtung nach Anspruch 1, wobei die Programmteilungseinheit (110) so konfiguriert ist, dass die Programmteilungseinheit (110), wenn die Bewegung über zwei oder mehr Bereiche der Mehrzahl Bereiche durchgeführt wird, in Bezug auf einen Block zum Anweisen einer Bewegung der Antriebswelle der in das Programm eingefügten Mehrzahl Blöcke einen Bewegungspfad in eine Mehrzahl Pfade für zwei oder mehr Bereiche teilt, eine Mehrzahl Blöcke zum Anweisen einer Bewegung auf der Mehrzahl Pfade erzeugt, wobei die Pfade durch die Teilung erhalten werden, und die Mehrzahl Blöcke in entsprechende Programme einfügt, die jeweils zur Bearbeitungssteuerung in den zwei oder mehr Bereichen verwendet werden, um geteilte Programme zu erzeugen.
DE102017001783.2A 2016-03-04 2017-02-24 Numerische Steuervorrichtung, die eine Erhöhung der Anzahl Analyseziffern eines Programmbefehls ermöglicht Active DE102017001783B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016042774A JP6363643B2 (ja) 2016-03-04 2016-03-04 プログラム指令の解析桁数を増やすことを可能とする数値制御装置
JP2016-042774 2016-03-04

Publications (2)

Publication Number Publication Date
DE102017001783A1 DE102017001783A1 (de) 2017-09-07
DE102017001783B4 true DE102017001783B4 (de) 2020-02-06

Family

ID=59650729

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017001783.2A Active DE102017001783B4 (de) 2016-03-04 2017-02-24 Numerische Steuervorrichtung, die eine Erhöhung der Anzahl Analyseziffern eines Programmbefehls ermöglicht

Country Status (4)

Country Link
US (1) US10416645B2 (de)
JP (1) JP6363643B2 (de)
CN (1) CN107153404B (de)
DE (1) DE102017001783B4 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2851406C (en) 2012-04-13 2019-12-17 Huntsman Petrochemical Llc Using novel amines to stabilize quaternary trialkylalkanolamines
JP6740199B2 (ja) 2017-10-30 2020-08-12 ファナック株式会社 数値制御装置、cnc工作機械、数値制御方法及び数値制御用プログラム
JP6646027B2 (ja) * 2017-10-30 2020-02-14 ファナック株式会社 ポストプロセッサ装置、加工プログラム生成方法、cnc加工システム及び加工プログラム生成用プログラム
JP6845202B2 (ja) * 2018-10-11 2021-03-17 ファナック株式会社 数値制御方法及び処理装置
CN109799780B (zh) * 2018-11-20 2020-09-18 武汉华中数控股份有限公司 一种基于数控机床批量加工的工件尺寸补偿方法
JP7088820B2 (ja) * 2018-12-17 2022-06-21 ファナック株式会社 数値制御装置
JP6871280B2 (ja) * 2019-01-07 2021-05-12 ファナック株式会社 数値制御装置
DE112020007185B4 (de) * 2020-09-11 2024-03-21 Mitsubishi Electric Corporation Numerische Steuerung und Industriemaschinen-Steuerungssystem

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3908844A1 (de) * 1989-03-17 1990-09-20 Siemens Ag Numerische steuerung fuer werkzeugmaschinen oder roboter
JPH08328635A (ja) * 1995-06-05 1996-12-13 Fanuc Ltd 位置制御方式
JPH09141579A (ja) * 1995-11-21 1997-06-03 Mazda Motor Corp ロボットの教示装置及びその教示方法
US20110009993A1 (en) * 2009-07-09 2011-01-13 Chuang Jui-Jen Programming apparatus
US20110093666A1 (en) * 2009-10-20 2011-04-21 Fanuc Ltd Numerical controller capable of dividing and combining memory areas to store machining programs and binary data

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0830974B2 (ja) 1987-04-28 1996-03-27 フアナツク株式会社 精密位置制御方式
JPH05181522A (ja) 1992-01-07 1993-07-23 Mitsubishi Electric Corp 数値制御装置
JPH05282022A (ja) * 1992-04-03 1993-10-29 Mitsubishi Electric Corp 数値制御装置
JPH11175229A (ja) 1997-12-15 1999-07-02 Xanavi Informatics Corp スクロール表示装置および音響装置
JP2000047719A (ja) * 1998-07-31 2000-02-18 Toshiba Mach Co Ltd 数値制御装置
JP2001092533A (ja) * 1999-09-21 2001-04-06 Yaskawa Electric Corp 速度データの動的最適化方法
JP2008090513A (ja) * 2006-09-29 2008-04-17 Fanuc Ltd 数値制御装置
JP4327894B2 (ja) * 2007-11-30 2009-09-09 ファナック株式会社 5軸加工機を制御する数値制御装置
JP5428965B2 (ja) * 2010-03-15 2014-02-26 オムロン株式会社 表示装置、表示制御方法、プログラム、およびコンピュータ読み取り可能な記録媒体
JP4837115B2 (ja) * 2010-03-29 2011-12-14 ファナック株式会社 5軸加工機を制御する数値制御装置
JP5743495B2 (ja) * 2010-11-05 2015-07-01 キヤノン株式会社 ロボット制御装置
CN102825501A (zh) * 2012-09-03 2012-12-19 唐山轨道客车有限责任公司 制造轨道车辆车体用长大型材的找正方法
JP5792271B2 (ja) * 2013-12-19 2015-10-07 ファナック株式会社 ワークによる変位誤差を補正する機能を備えた数値制御装置
JP6240117B2 (ja) * 2015-04-03 2017-11-29 ファナック株式会社 文字の表示幅の自動変更機能を有する数値制御装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3908844A1 (de) * 1989-03-17 1990-09-20 Siemens Ag Numerische steuerung fuer werkzeugmaschinen oder roboter
JPH08328635A (ja) * 1995-06-05 1996-12-13 Fanuc Ltd 位置制御方式
JPH09141579A (ja) * 1995-11-21 1997-06-03 Mazda Motor Corp ロボットの教示装置及びその教示方法
US20110009993A1 (en) * 2009-07-09 2011-01-13 Chuang Jui-Jen Programming apparatus
US20110093666A1 (en) * 2009-10-20 2011-04-21 Fanuc Ltd Numerical controller capable of dividing and combining memory areas to store machining programs and binary data
DE102010036618A1 (de) * 2009-10-20 2011-04-21 FANUC LTD, Oshino-mura Numerische Steuerung zum Trennen und Vereinigen von Speicheroberflächen zur Ablage von Bearbeitungsprogrammen und Binärdaten

Also Published As

Publication number Publication date
JP2017157172A (ja) 2017-09-07
CN107153404B (zh) 2019-05-03
JP6363643B2 (ja) 2018-07-25
DE102017001783A1 (de) 2017-09-07
US20170255180A1 (en) 2017-09-07
CN107153404A (zh) 2017-09-12
US10416645B2 (en) 2019-09-17

Similar Documents

Publication Publication Date Title
DE102017001783B4 (de) Numerische Steuervorrichtung, die eine Erhöhung der Anzahl Analyseziffern eines Programmbefehls ermöglicht
DE3226448C2 (de)
DE102012017331B4 (de) Numerische Steuervorrichtung mit einer Werkstücksetzfehlerkompensierungseinheit für eine Mehrachsenwerkzeugmaschine
DE102012003196B4 (de) Numerische Steuervorrichtung mit einer Geschwindigkeitssteuerfunktion für eine maschinelle Mehrachsenverarbeitungsvorrichtung
DE602006000541T2 (de) Servosteuervorrichtung und Verfahren zur Einstellung eines Servosystems
DE102005037779B4 (de) Numerische Steuereinheit
DE102009003003B4 (de) Numerische Steuerung mit der Funktion einer Koordinatentransformation der Werkzeugphase
DE112016005969T5 (de) Werkzeugwegkorrekturvorrichtung und Werkzeugwegkorrekturverfahren
DE102005027947A1 (de) Vorrichtung zum Überprüfen einer Störung
DE102017207822A1 (de) Vorrichtung zur verarbeitung eines bearbeitungsprogramms und damit ausgestattete mehrachsige bearbeitungsmaschine
DE102012000932A1 (de) Numerische Steuerungsvorrichtung mit einer Werkstückfehler-Kompensationseinheit für eine dreiachsige Werkzeugmaschine
DE102018218202A1 (de) Postprozessor-vorrichtung, maschinenprogramm erzeugungsverfahren, cnc-bearbeitungssystem und programm für eine maschinenprogramm-erzeugung
DE102020124734A1 (de) Simulationsgerät
DE112010002840T5 (de) Automatische Programmiervorrichtung und automatisches Progammierverfahren
DE102015111964A1 (de) Servomotoren-Steuersystem, das die Bearbeitungspräzision mehrerer Achsen verbessert
DE112017000203T5 (de) Numerische Steuerung und numerisches Steuerungsverfahren
DE112019007578T5 (de) Numerische Steuerung, numerisches Steuerverfahren und Maschinenlernvorrichtung
DE112012006403T5 (de) Numerik-Steuervorrichtung
DE102004019653B4 (de) Simulationsvorrichtung
DE102014007556B4 (de) Numerische Steuervorrichtung für die Steuerung einer Bewegungsgeschwindigkeit
DE102018218201A1 (de) Numerische steuereinrichtung, cnc-werkzeugmaschine, numerisches steuerverfahren und programm für eine numerische steuerung
EP3945381A1 (de) Herstellung durch kegelsegmente bestimmbarer flächen mittels einer werkzeugmaschine
DE112016007167B4 (de) Numerische Steuervorrichtung
DE102016004185B4 (de) Numerische Steuerung mit Kontrolle eines Eingriffs zwischen Werkzeug und Werkstück
DE112019007889T5 (de) Bearbeitungsprogramm-umwandlungseinrichtung, numerische-steuereinrichtung und bearbeitungsprogramm-umwandlungsverfahren

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