DE60126937T2 - Verfahren und vorrichtung zur steuerung einer werkzeugmaschine mit direkter uebertragung von bearbeitungsdaten - Google Patents

Verfahren und vorrichtung zur steuerung einer werkzeugmaschine mit direkter uebertragung von bearbeitungsdaten Download PDF

Info

Publication number
DE60126937T2
DE60126937T2 DE60126937T DE60126937T DE60126937T2 DE 60126937 T2 DE60126937 T2 DE 60126937T2 DE 60126937 T DE60126937 T DE 60126937T DE 60126937 T DE60126937 T DE 60126937T DE 60126937 T2 DE60126937 T2 DE 60126937T2
Authority
DE
Germany
Prior art keywords
machine
actuator
trajectory data
tool
application
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.)
Expired - Fee Related
Application number
DE60126937T
Other languages
English (en)
Other versions
DE60126937D1 (de
Inventor
Mark S. Orem EVANS
Walter Edward Provo RED
Charles Gregory Provo JENSEN
Porter C. Bassett
Girish C. Ghimire
Corey Lynn Lindon MCBRIDE
Jonathan Edward Bosley
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.)
Brigham Young University
Original Assignee
Brigham Young University
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 Brigham Young University filed Critical Brigham Young University
Publication of DE60126937D1 publication Critical patent/DE60126937D1/de
Application granted granted Critical
Publication of DE60126937T2 publication Critical patent/DE60126937T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/4097Numerical 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 using design data to control NC machines, e.g. CAD/CAM
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35002Parametric machine control, direct control from cad data, no nc data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35097Generation of cutter path, offset curve
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36266Tool path editor, for offset, multi-passes
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft das Gebiet eines digitalen Verbindens eines Roboters, eines Maschinenwerkzeugs oder einer weiteren Maschine mit Stellantrieb mit einem System zum Bereitstellen der Daten zum Steuern dieser Maschine mit Stellantrieb. Die vorliegende Erfindung betriff auch das Gebiet einer maschinellen Herstellung von Vorrichtungsteilen aus einem geeigneten Material mit einem numerische gesteuerten oder computergesteuerten Maschinenwerkzeug, welches ein Ausgangsteil eines Materials gemäß den Spezifikationen, welche das anzufertigende Teil definieren, vorbearbeitet und/oder endbearbeitet. Genauer gesagt betriff die vorliegende Erfindung ein neues Paradigma zum Steuern des Betriebs derartiger Maschinenwerkzeuge, indem die Bearbeitungsdaten, welche das herzustellende Teil definieren, direkt von einer CAD/CAM Anwendung zu der Maschinensteuerung übertragen werden.
  • Hintergrund der Erfindung
  • In modernen Industriezweigen gibt es viele Maschinen mit beweglichen Teilen, welche von Stellantrieben angetrieben werden. Diese Maschinen weisen Industrieroboter, Koordinatenmessgeräte, Maschinenwerkzeuge und dergleichen auf. Diese Gruppe von Maschinen wird hierin im Allgemeinen als "Maschinen mit Stellantrieb" bezeichnet.
  • Typischerweise stellt ein Hauptsystem Daten für eine Stellantriebsteuerung bereit, welche wiederum die Stellantriebmotoren steuert, um die Komponenten der Maschine mit Stellantrieb geeignet zu betätigen und zu bewegen. Maschinenwerkzeuge sind hervorragende Beispiele derartiger mit Stellantrieb betätig ten Maschinen, welche die vorliegende Erfindung besonders betrifft.
  • Wenn Maschinen erstmalig entwickelt werden oder auf einer begrenzten Basis hergestellt werden, müssen für diese Maschinen spezielle Teile kundenspezifisch aus einem geeigneten Material hergestellt werden. Dies wird im Allgemeinen durch „maschinelles Bearbeiten" bewerkstelligt, einem Verfahren, bei welchem ein Teil oder ein Ausgangsmaterial, wie benötigt, maschinell geschnitten, geschliffen, gebohrt und endbearbeitet wird, um das gewünschte Teil zu erzeugen. Die Maschinen, welche verwendet werden, um Rohmaterialien in spezifizierte Teile umzuwandeln, werden nachstehend als „Maschinenwerkzeuge" bezeichnet. Moderne Maschinenwerkzeuge sind hochkompliziert und genau gesteuert, um Teile gemäß genauen Spezifikationen zu erzeugen. Die meisten derartiger moderner Maschinenwerkzeuge werden von Computern gesteuert, welche genaue numerische Befehle verarbeiten, welche das herzustellende Teil definieren.
  • Das erste numerisch gesteuerte Maschinenwerkzeug war eine Dreiachsenfräsmaschine, welche 1952 gebaut wurde. Zahlen wurden verwendet, um eine Bewegung des Fräskopfes in einem Dreiachsensystem zu spezifizieren, um ein gewünschtes Teil zu bearbeiten. Das Maschinenwerkzeug wurde jedoch mechanisch von Hand gemäß der Spezifikationszahlen eingestellt, während die maschinelle Bearbeitung voranschritt. Als eine elektronische Technologie nachfolgend Fortschritte machte, wurden in "numerisch gesteuerten" Maschinenwerkzeugen zunehmend komplizierte Elektroniken eingebaut, um das maschinelle Bearbeitungsverfahren zu automatisieren. Heute weisen numerisch gesteuerte Maschinenwerkzeuge Computerprozessoren und elektronische Speichereinheiten (RAM und ROM) auf. Somit sind heutige Ma schinenwerkzeuge computergesteuert und werden als „numerische computergesteuerte Maschinen" bezeichnet.
  • Frühe computergesteuerte Maschinen empfingen eine Eingabe von einem Lochstreifen. Die auf diesem Streifen aufgezeichneten Befehle waren sowohl Eingabe-/Ausgabe-(„I/O")Befehle (z.B. Ein-/Ausschalten einer Spindel oder einer Kühlflüssigkeit, Einstellen einer vorgegebenen Zuführungsrate und – geschwindigkeit usw.) als auch Bewegungsbefehle (z.B. Bewegen zu einer x y z Position in einer linearen oder kreisförmigen Art und Weise). Die Sprache, in welcher diese Befehle geschrieben wurden, wurde M&G-Code genannt. M&G-Code kann als analog einer Assemblersprache für Personalcomputer betrachtet werden; es ist der niedrigste Level einer Programmierung für Maschinenwerkzeuge und wird im Allgemeinen von allen Maschinenwerkzeugen ungeachtet ihres Fabrikats oder Modells akzeptiert. Obwohl die ersten numerisch gesteuerten Maschinen sogar näherungsweise vor 50 Jahren gebaut wurden, programmieren wir Maschinenwerkzeuge immer noch unter Verwendung dieser gleichen M&G-Codesprache mit nur geringfügigen Veränderungen.
  • In den letzten 50 Jahren haben Dutzende von Firmen versucht, die ideale Maschinenwerkzeugsteuerung zu bauen. Diese Steuerungen bestanden aus kundenspezifischen Anlagenkomponenten und hochspezialisierten einzigartigen Betriebssystemen. Viele von diesen waren eigene geschlossene Systeme. Obwohl sich eine offene Architektur der Hardware dieser Steuerungssysteme abzuzeichnen scheint, verwenden heutige Maschinenwerkzeuge zum größten Teil eine Technologie, welche Jahrzehnte alt ist. Wo eine eigene Steuerung über Maschinenwerkzeughardwaresteuertechnologien beibehalten wird, kann eine Programmierung der Maschine nur durch die M&G-Codeumgebung durchgeführt werden.
  • M&G-Code verwendet Worte oder einzelne Befehle und Blöcke oder Reihen in einer einzelnen Datei oder einem Programm. Alle Befehle in einer Reihe werden gelesen und gleichzeitig ausgeführt. Um ein M&G-Programm zu erzeugen, ist es notwendig, die gesamte Geometrie für alle Werkzeugbahnen zu berechnen, z.B. die Liniensegmente und Bögen, welche die Werkzeugspitze des Maschinenwerkzeugs durchläuft, während das gewdnschte Teil bearbeitet wird. Aus dieser Geometrie werden Bewegungs- und I/O-Befehle berechnet. Diese Befehle müssen dann in M&G-Code geschrieben werden und der Code muss in die Steuerung eingegeben werden. Ursprünglich musste der M&G-Code manuell in die Steuerung eingegeben werden oder in einen Mylar- oder Papierstreifen gestanzt werden, welcher dann in einen Leser an der Steuerung eingegeben wurde. Sogar heute ist es eine langwierige und ermüdende Aufgabe, ein M&G-Programm zu schreiben, um ein kompliziertes Teil maschinell zu bearbeiten.
  • In den späten 50ern und frühen 60ern entstanden viele neue und flexiblere Programmiersprachen. Automatisch programmierte Werkzeuge (Automatically Programmed Tools, „APT") war eine der ersten dieser neuen Sprachen. Bei einer Verwendung von APT definiert ein Techniker die Geometrie des Maschinenwerkzeugs, die Geometrie der Werkzeugspitze und die Bearbeitungsparameter, welche die I/O des Maschinenwerkzeugs steuern. Aufgrund der eigenen und uneinheitlichen Natur der verfdgbaren Maschinensysteme mussten jedoch die unter Verwendung von APT erzeugten Befehle letztendlich in den allgemeineren M&G-Code elbersetzt werden. APT-Anwendungen fuhren Berechnungen durch, um eine Schneideinrichtungspositionsdatei (Cutter Location, „CL") basierend auf den Befehlen in dem APT-Programm zu erzeugen. Die CL-Datei ist eine ASCII Datei, welche die Geometrie der Bahnen enthält, welche die Werkzeugspitze des Maschinenwerkzeugs während des Bearbeitungsverfahrens durch laufen muss. Diese CL-Datei wird dann unter Verwendung eines Programms, welches Postprozessor genannt wird, in M&G-Code übersetzt.
  • Als in dem 60ern und 70ern Computer weniger teuer und leistungsfähiger wurden, wurden mehr mechanische Konstruktionen unter Verwendung von computergestützten Konstruktionsprogrammen (Computer-Aided Design, „CAD") durchgeführt. Computergestützte Fertigungsprogramme (Computer-Aided Manufacturing, „CAM") ermöglichen es Benutzern, die in CAD-Programmen definierte Geometrie zu verwenden, um die Werkzeugbahnen zur Programmierung eines Maschinenwerkzeugs zu planen. CAD, CAM und CAD/CAM-Programme werden hierin als zu einer allgemeinen Klasse von Softwarepaketen gehörend betrachtet, welche im Allgemeinen als „Konstruktionsanwendungen" bezeichnet werden. Die Werkzeugbahnen, welche von einer CAM-Anwendung definiert werden, werden in der Ausgestaltung von CL oder APT-Dateien exportiert, welche immer noch in M&G-Code übersetzt werden müssen, bevor sie zu der Maschinensteuerung übertragen werden. Diese Arbeitsweise ist heutzutage immer noch eine übliche Verwendung.
  • Ein typisches Verfahren einer Verwendung einer CAD/CAM-Anwendung, um ein Maschinenwerkzeug zu programmieren, ist in 1 dargestellt. Wie in 1 gezeigt, wird die CAD/CAM-Anwendung auf einer Workstation (100) ausgeführt. Unter Verwendung der CAD/CAM-Anwendung wird eine CAD/CAM-Datei (101) erzeugt, welche die Geometrie für sowohl das Maschinenwerkzeug als auch das herzustellende Teil spezifiziert. Dateien, wie z.B. Datei (101), welche Konstruktionsinformationen enthalten, die von einem CAD/CAM oder ähnlichen Softwarepaket erzeugt wurden, werden hierin im Allgemeinen als "Konstruktionsdateien" bezeichnet.
  • Die CAD/CAM-Anwendung oder vielleicht eine getrennte Anwendung verwendet dann die CAD/CAM-Datei, um die Schneideinrichtungspositionsdaten für die Maschinenwerkzeugspitze für das gesamte Bearbeitungsverfahren zu berechnen, und erzeugt eine CL-Datei (102). Die CL-Datei (102) ist eine ASCII-Datei. Die CL-Datei (102) kann dann in einen M&G-Code (103) übersetzt werden, welcher auch eine ASCII-Datei ist. Die Übersetzung von einer CL-Datei (102) in einen M&G-Code (103) wird typischerweise von einem Postprozessor durchgeführt. Der M&G-Code (103) wird dann zu der Maschinenwerkzeugsteuerung (104) erbertragen, welche den Code verwendet, um das (nicht gezeigte) Maschinenwerkzeug über das gesamte Verfahren einer Bearbeitung des spezifizierten Teils hinweg zu steuern.
  • Beginnend bei dem Export der CL-Datei (102) aus der CAD/CAM-Software ist jede CL-Datei unidirektional der Vorgänger CAD/CAM-Datei (101) zugeordnet. Somit wird eine beliebige Veränderung an der Vorgänger-CAD/CAM-Datei (101) nicht in einer exportierten CL-Datei (102) widergespiegelt und würde eine Erzeugung einer neuen „Nachfolge"-ASCII-CL-Datei (102) erfordern, wobei Veränderungen immer von dem Vorgänger zu dem Nachfolger fließen. Ebenso würde einer Veränderung einer Nachfolgerdatei (102), vielleicht durch einen Maschinisten, welcher die M&G-Codedatei vorbereitet, keine Veränderung oder Korrektur der Vorgängerkonstruktionsdatei (101) bewirken.
  • Wie eine Konstruktion zeigt, gestaltet dieser unidirektionale Fluss von Daten die Aufgabe eines Beibehaltens aller derzeit relevanten Dateien und eines Löschens veralteter Dateien sehr problematisch. Dementsprechend gibt es in dem Stand der Technik einen Bedarf nach einem Verfahren und einem System einer besseren Steuerung eines Maschinenwerkzeugs, welches die Ver änderung, Aktualisierung und Verwaltung von Steuerdateien, welche einer Maschinenwerkzeugsteuerung bereitgestellt werden, unterstützt.
  • Ein weiteres Problem entsteht sogar durch die Abweichungen von „Standard"-M&G-Codes zwischen Maschinenwerkzeugsteuerungen. In Wirklichkeit sind M&G-Codes von Maschinenwerkzeug zu Maschinenwerkzeug nicht einheitlich. Es wurden Bemühungen unternommen, um M&G-Codes zu standardisieren, aber diese waren bislang nicht erfolgreich. Dieses Problem entsteht prinzipiell aus der Tatsache, dass die M&G-Standards nicht die Flexibilität aufweisen, viele von den Funktionen zu realisieren, welche einige hochentwickelte Bearbeitungsmaschinenwerkzeuge ermöglichen. Die Hersteller von diesen hochentwickelten Maschinenwerkzeugen haben aus einer Notwendigkeit heraus bestehende Standards unter Verwendung eindeutiger neuer Befehle erweitert, um neue Herstellungstechnologien auf eine Codearchitektur zu zwängen, welche anderenfalls nicht geeignet ist, diese Technologien zu unterstützen.
  • Z.B. sind viele moderne Maschinenwerkzeugsteuerungen in der Lage, das Maschinenwerkzeug anzusteuern, um eine echte nicht einheitliche rationale B-Spline-Kurve (Non-Uniform Rational B-Spline Curve, „NURBS") maschinell zu bearbeiten. Obwohl es kein Teil des M&G-Codestandards ist, erkennen diese Steuerungen nichtstandard M&G-Codes, wie z.B. Codes für NURBS.
  • Die Konsequenz ist, dass Programmierschnittstellen und Sprachen jetzt über Maschinenhersteller und Modelle variieren, sogar wenn sie behaupten, auch Standard-M&G-Code basierend zu sein. Dementsprechend gibt es in dem Stand der Technik einen Bedarf nach einem Verfahren und einem System, welches die Probleme von uneinheitlichen M&G-Codeversionen zwischen Ma schinenwerkzeugen unterschiedlicher Marken und Modelle vermeidet.
  • In CL-Dateien und M&G-Code wird eine Geometrie als eine Reihe von Punkten dargestellt, welche die Spitze des Schneidwerkzeugs durchläuft, um die Geometrie herzustellen. Diese Punkte definieren die Bahn des Schneidwerkzeugs. Diese Bahn umfasst geradlinige Abschnitte und kreisförmige oder spiralförmige Bögen. Bahnen, welche weder geradlinig noch kreisförmig sind, werden durch einzelne Punkte oder kleine Linienabschnitte angenähert. Geformte und frei ausgebildete Flächen werden in zunehmendem Maße in Konsumgütern verwendet. CAD-Hersteller haben große Fortschritte in ihrer Software durchgeführt, um komplexe Kurven, Flächen und Volumenmodelle zu modellieren, aber die Werkzeuge und Techniken, welche verwendet werden, um diese herzustellen, sind die gleichen, welche für Jahrzehnte verwendet wurden.
  • Eine komplexe Fläche kann innerhalb des CAD-Programms mit einer einzelnen Gleichung dargestellt werden, aber kann erfordern, als tausende von Liniensegmenten in den Befehlen, welche der Maschinenwerkzeugsteuerung bereitgestellt werden, dargestellt zu werden, um die benötigte Genauigkeit zu erreichen. Es gibt keine Möglichkeit, diesen Verlust an Genauigkeit zu vermeiden, wenn der herkömmliche in 1 dargestellte Datenfluss verwendet wird.
  • Wie zuvor erwähnt, gibt es einige sehr teure Maschinenwerkzeugsteuerungen, welche die Fähigkeit aufweisen, komplexe Bahnen, wie z.B. NURBS handzuhaben. Dies ermöglicht derartigen Maschinenwerkzeugen komplexe Flächen schneller und glatter als mit einer linearen Interpolation herzustellen. Das Problem besteht in einer Übertragung der Spezifikation für die gewünschte NURBS zu der Maschinenwerkzeugsteuerung. Um mit der Maschinenwerkzeugsteuerung zu kommunizieren, muss die NURBS, welche in der CAD/CAM-Konstruktionsdatei (vielleicht unter Verwendung einer einzelnen Gleichung für jede Kurve) spezifiziert ist, in die Liniensegmentgeometrie, welche von dem M&G-Code verwendet wird, übersetzt werden. Die Maschinenwerkzeugsteuerung kann dann die Liniensegmentbefehle des M&G-Code in den NURBS-Befehl, welcher von dem Maschinenwerkzeug verwendet wird, übersetzen (welcher vielleicht durch Interpolieren einer NURBS-Kurve durch eine Reihe von Punkten spezifiziert ist). Diese Umwandlung einer NURBS in Liniensegmente und dann zurück in einen echten NURBS-Ausdruck führt zu einem unnötigen Verlust einer Genauigkeit einer Definition der NURBS.
  • Demzufolge gibt es in dem Stand der Technik ferner einen Bedarf für ein System und ein Verfahren, welches den unnötigen Genauigkeitsverlust in Verbindung mit einer Übertragung einer NURBS-Darstellung, welche von einer CAD/CAM-Anwendung erzeugt wurde, zu einer möglicherweise unterschiedlichen NURBS-Darstellung, welche von einer hochentwickelten Maschinenwerkzeugsteuerung verwendet wird, durch die Vermittlung des liniensegmentbasierten M&G-Codes vermeiden.
  • Die US-A-5506787 offenbart ein numerisches Steuersystem für Maschinenwerkzeuge oder Roboter, welches in dem Bereich einer Mensch-Maschine Kommunikation (Man-Machine Communication, MMC) anfänglich eine allgemeine Ausgestaltung aufweist, welche auf beliebige Anwendungen angepasst werden kann. Eine Informationshandhabung stellt Steuerdaten bereit, welche in einer allgemeinen Art und Weise von einem integrierten Steuerkern (Control Kernel, CK) verarbeitet werden können, und stellt somit eine Steuerung der Maschine und der Roboterantriebe (ANT) einschließlich Peripheriegeräten (PER) sicher.
  • Die EP-A-0706103 offenbart ein Verfahren und eine Vorrichtung für eine numerische Steuerung der Bewegungsbahn für Maschinenwerkzeuge oder Roboter. Eine relative Bewegung wird zwischen einem Maschinenwerkzeug und einem Werkstück in einer oder mehreren Achsen ermöglicht, wobei die Bahn durch Interpolation zwischen vorbestimmten Bahnpunkten definiert wird. Eine Information über die zu erzeugende Bahnform wird von einer Quelle (CAD/CAM) relativ zu einem Werkstückkoordinatensystem in der Ausgestaltung von nicht rationalen Basissplines oder NURBS oder als rationale Polgnome erhalten. Die NURBS werden in der numerischen Steuerung (Numerical Controller, NC) in rationale Polgnome umgewandelt oder die bestehenden rationalen Polgnome werden von dieser entgegengenommen. Die rationalen Polgnome werden analytisch in ein Basiskoordinatensystem, falls erforderlich unter Berücksichtigung von Korrekturparametern, transformiert. Die transformierten Polgnome werden interpoliert und das sich ergebende Signal in das Maschinenkoordinatensystem transformiert, unter den Maschinenachsen verteilt und zu den entsprechenden Antrieben geführt.
  • Die US-A-5703782 offenbart eine Integration einer computergestützten Konstruktion, einer computergestützten Herstellung und eine numerische Computersteuerungstechnologie, welche ein computergestütztes Konstruktions- und Herstellungsverfahren bereitstellt. Das Verfahren umfasst eine Konstruktion eines dreidimensionalen graphischen Modells (d.h. eine Darstellung) eines Beschilderungserzeugnisses mit dreidimensionalen Flächen, die in ein Schild zu schneiden sind, auf einem CAD-System. Auf dem CAD-System wird eine gewünschte mathematische (z.B. numerische) Darstellung des Beschilderungserzeugnisses bestimmt. Danach wird die gewünschte mathematische Darstellung, welche in einem von vielen möglichen und gewünschten Formaten vorliegen kann, einem computerunterstützten Bearbeitungssystem (CAM), welches ein CNC-Maschinenwerkzeug mit einem Schneidewerkzeug aufweist, bereitgestellt. Die von dem obigen Verfahren erzeugte Werkzeugbahndatendatei wird einer Nachverarbeitung unterzogen, einem Vorgang, welcher eine Verarbeitung der Werkzeugbahndatendatei umfasst, um vollständige maschinengebrauchsfertige Dateien zu erzeugen, welche in Maschinen- oder binärlogischen Sprachen ausgedrückt sind. In dem Post-Prozessor werden die Werkzeugbahndaten an eine spezielle Kombination eines CNC-Maschinenwerkzeugs und einer Maschinensteuereinheit (Machine Control Unit, MCU) angepasst (d.h. angekoppelt).
  • Zusammenfassung der Erfindung
  • Es ist eine Aufgabe der vorliegenden Erfindung, die zuvor beschriebenen Bedürfnisse und weitere zu erfüllen. Insbesondere ist es eine Aufgabe der vorliegenden Erfindung, ein verbessertes System und ein verbessertes Verfahren einer Programmierung einer Maschinenwerkzeugsteuerung bereitzustellen, um ein spezifiziertes Teil basierend auf Daten, welche mit einer CAD/CAM oder einer weiteren Konstruktionsanwendung erzeugt wurden, zu bearbeiten. Es ist eine weitere Aufgabe der vorliegenden Erfindung, ein System und ein Verfahren einer Programmierung einer Maschinenwerkzeugsteuerung bereitzustellen, welche die Probleme im Zusammenhang mit einem Verwalten einer Reihe von Nachfolgerdateien vermeidet, welche die Entwicklung der Teilkonstruktion in einer Vorgängerkonstruktionsdatei widerspiegeln.
  • Es ist noch eine weitere Aufgabe der vorliegenden Erfindung, ein System und ein Verfahren einer Programmierung einer Maschinenwerkzeugsteuerung bereitzustellen, welches die Probleme aufgrund der Abweichung bei hochentwickelten Befehlen zwischen den verschiedenen Versionen von in unterschiedlichen Marken und Modellen von Maschinenwerkzeugen verwendeten M&G-Codes vermeidet. Und es ist ferner eine Aufgabe der vorliegenden Erfindung, ein System und ein Verfahren einer Programmierung einer Maschinenwerkzeugsteuerung bereitzustellen, welches einen unnötigen Genauigkeitsverlust beim Spezifizieren von Kurven, wie z.B. NURBS, vermeidet, welcher im Zusammenhang mit einem Übersetzen einer Darstellung dieser Kurven durch Liniensegmentannäherungen, welche z.B. bei einem M&G-Code verwendet werden, steht.
  • Zusätzliche Aufgaben, Vorteile und neue Merkmale der Erfindung werden in der Beschreibung, welche folgt, dargelegt werden oder können von Fachleuten durch Lesen dieser Materialien oder Ausführen der Erfindung in Erfahrung gebracht werden. Diese Aufgaben und Vorteile der Erfindung können durch die in den beigefügten Ansprüchen angegebenen Mittel gelöst werden.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein System zum Verbinden eines Steuersystems mit einer Maschine mit Stellantrieb bereitgestellt, wobei das System umfasst:
    einen ersten Prozessor, welcher ausgestaltet ist, eine Konstruktionsanwendung auszuführen, welche aus einem computergestützten Konstruktions-/computergestützten Fertigungsprogrammpaket besteht, welches ausgestaltet ist, Bewegungsbahndaten zu erzeugen; und
    einen zweiten Prozessor, welcher ausgestaltet ist, mit dem ersten Prozessor in Verbindung zu stehen und ein Bewegungssteuerungsprogramm auszuführen, welches ausgestaltet ist, auf die Bewegungsbahndaten in dem gleichen Format, wie sie von der Konstruktionsanwendung auf dem ersten Prozessor ausgegeben werden, zuzugreifen;
    dadurch gekennzeichnet, dass das Bewegungssteuerungsprogramm ausgestaltet ist, die Maschine mit Stellantrieb anzusteuern, um einen Werkzeugkopf entlang von Bewegungsbahnen, welche in den ursprünglichen Bewegungsbahndaten definiert sind, zu bewegen.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Verbinden eines Steuersystems mit einer Maschine mit Stellantrieb bereitgestellt, welches umfasst:
    Ausführen einer Konstruktionsanwendung, welche aus einem computergestützten Konstruktions-/computergestützten Fertigungsprogrammpaket besteht, welches Bewegungsbahndaten für die Maschine mit Stellantrieb erzeugt;
    Ausführen eines Bewegungssteuerungsprogramms, welches die Bewegungsbahndaten in dem gleichen Format wie eine Ausgabe von der Konstruktionsanwendung empfängt; und
    gekennzeichnet durch Steuern der Maschine mit Stellantrieb mit dem Bewegungssteuerungsprogramm, um einen Werkzeugkopf entlang Bewegungsbahnen, welche in dem ursprünglichen Bewegungsbahndatenformat von der Konstruktionsanwendung definiert sind, zu bewegen.
  • Zusammengefasst wird eine konzeptionelle Integration der herkömmlichen CAD-Workstation und einer Maschinenwerkzeugsteuerung bereitgestellt. Die Maschinenwerkzeugsteuerung weist zwei Prozessoren oder zwei Computer, welche jeweils einen Prozessor bereitstellen, auf. Der erste Prozessor führt eine Konstruktionsanwendung aus, zum Beispiel ein CAD, CAD/CAM oder ähnliches Programmpaket, welches verwendet werden kann, um eine Konstruktionsdatei zu erzeugen, zu überprüfen oder zu bearbeiten. Der zweite Prozessor führt das Programm aus, welches zum Steuern des Maschinenwerkzeugs benötigt wird.
  • Die Steuerung des Maschinenwerkzeugs kann insgesamt durch das Programm ausgeführt werden, welches auf dem zweiten Prozessor läuft. Dieses Programm, welches mehrere Anwendungen oder Objekte aufweisen kann, wird im Allgemeinen als „Bewegungssteuerungsprogramm" bezeichnet. Keine zusätzliche Hardwarearchitektur ist als Teil der Maschinenwerkzeugsteuerung notwendig.
  • Bewegungsbahndaten spezifizieren die Bahn oder die Bahnen entlang welchen der Werkzeugkopf oder die Köpfe des Maschinenwerkzeugs bewegt werden müssen, um das gewünschte Produkt herzustellen. Bewegungsbahndaten können direkt aus der Konstruktionsdatei gewonnen werden, wenn die Anwendungsprogrammschnittstelle (Application Program Interface, API) der Konstruktionsanwendung, z.B. ein CAD/CAM-Paket, offen und verfügbar ist. Das Bewegungssteuerungsprogramm kann dann diese Werkzeugbahndaten verwenden, um das Maschinenwerkzeug anzusteuern und das spezifizierte Produkt zu erzeugen.
  • Wenn das API der Konstruktionsanwendung nicht verfügbar ist, kann die Konstruktionsanwendung, z.B. ein CAD/CAM-Paket, Bewegungsbahndaten zu dem Bewegungssteuerungsprogramm unter Verwendung einer API-Gruppe des Bewegungssteuerungsprogramms für eine direkte Bearbeitung übergeben. Das Bewegungssteuerungsprogramm kann dann die Werkzeugbahndaten verwenden, um das Maschinenwerkzeug anzusteuern und das spezifizierte Produkt herzustellen.
  • Vorzugsweise werden die Bewegungsbahndaten in der Form eines C++ Bewegungsobjekts übergeben, welches die Position und Ausrichtung des Werkzeugkopfes oder der Köpfe des Maschinenwerkzeugs und einen jeden Punkt in einer jeden Werkzeugbahn spezifiziert. Vorzugsweise weist das Bewegungsobjekt drei weitere Objekte auf: ein Ratenobjekt, welches Zuführungsraten und Geschwindigkeitsraten zur Steuerung der Elemente der Maschine mit Stellantrieb bestimmt; ein Beschleunigungsprofilerzeugungsobjekt zum Steuern von Beschleunigungsübergängen in diesen Bewegungsbahnen; und ein Bahnobjekt, welches Informationen enthält, die jede Bewegungsbahn definieren.
  • Die Bewegungsbahndaten, welche von dem CAD-System gewonnen werden, sind typischerweise in einem kartesischen Koordinatensystem. Dementsprechend übersetzt das Bewegungssteuerungsprogramm die kartesischen Werkzeugbahndaten in einen geeigneten Referenzrahmen, aus welchem Stellantriebsteuersignale zum Steuern von Stellantriebmotoren des Maschinenwerkzeugs von einer Stellantriebsteueranwendung erzeugt werden können.
  • Kurzbeschreibung der Zeichnungen
  • Die beigefügten Zeichnungen stellen die vorliegende Erfindung dar und bilden einen Teil der Beschreibung. Zusammen mit der nachfolgenden Beschreibung zeigen und erklären die Zeichnungen die Prinzipien der vorliegenden Erfindung.
  • 1 ist ein Blockdiagramm, welches die herkömmlichen Systeme und Datenstrukturen, welche beim Programmieren einer Maschinenwerkzeugsteuerung verwendet werden, darstellt.
  • 2 ist ein Blockdiagramm, welches ein Maschinenwerkzeugsteuerungssystem gemäß der vorliegenden Erfindung darstellt.
  • 3 ist ein detaillierteres Blockdiagramm der in 2 gezeigten Verarbeitungseinheit.
  • 4 ist ein detaillierteres Blockdiagramm des Stellantriebsteuerungsobjekts und einer in 2 gezeigten Systemschnittstelle gemäß einer ersten Ausführungsform.
  • 5 ist ein detaillierteres Blockdiagramm des Stellantriebsteuerungsobjekts und einer in 2 gezeigten Systemschnittstelle gemäß einer zweiten Ausführungsform.
  • 6 ist ein Blockdiagramm des Bewegungsobjekts, welches von dem CAD-Interpreter der 3 erzeugt wurde.
  • Detaillierte Beschreibung der bevorzugten Ausführungsformen
  • Die vorliegende Erfindung stellt eine neue, offene Programmarchitektur für digitale Steuerschnittstellen bereit. Wie für den Fachmann klar sein wird, kann diese neue Schnittstellenarchitektur in einem beliebigen System verwendet werden, in welchem Steuerdaten zu einer stellantriebgesteuerten Maschine, welche mit einem Steuersystem verbunden ist, gesendet werden.
  • Eine bevorzugte Anwendung der digitalen Steuerschnittstelle und damit einhergehende Prinzipien der vorliegenden Erfindung ist für die Maschinenwerkzeugsteuerung eines Maschinenwerkzeugs zum Herstellen von Maschinenteilen gemäß vorbestimmter Spezifikationen. Die vorliegende Erfindung stellt z.B. ein neues Paradigma bereit, bei welchem es möglich ist, die Fähigkeiten von bestehenden Konstruktionsanwendungen, wie z.B. CAD/CAM-Paketen, und Maschinenwerkzeugsteuerungen zu nutzen, um direkter und effizienter eine CAD-erzeugte Konstruktion eines Teils in die Befehle, welche notwendig sind, um das Maschinenwerkzeug geeignet zu steuern, umzusetzen. Das Verfahren der vorliegenden Erfindung wird als „direkte Bearbeitung" bezeichnet werden.
  • Eine direkte Bearbeitung vermeidet den Bedarf an ASCII-Dateien, wie z.B. CL-Dateien und M&G-Codedateien, welche außerhalb der CAD-Konstruktionsdatei bestehen. Vielmehr wird die Maschinenwerkzeugsteuerung in die Lage versetzt, die ursprüngliche CAD-Konstruktionsdatei zu lesen und daraus alle relevanten Herstellungsdaten zu gewinnen, welche benötigt werden, um das Maschinenwerkzeug zu steuern, um das spezifizierte Produkt herzustellen.
  • Eine bevorzugte Ausführungsform dieser besonderen Anwendung der vorliegenden Erfindung wird nun unter Bezugnahme auf die Figuren beschrieben werden. Wie in 2 gezeigt, kann eine Maschinenwerkzeugsteuerung (200) gemäß der vorliegenden Erfindung einige der prinzipiellen Merkmale einer herkömmlichen CAD-Workstation (100) umfassen. Speziell kann die Steuerung (200) einen ersten Prozessor (203), auf welchem ein CAD-Programmpaket ausgeführt wird, aufweisen. Dieser Prozessor (205) ist mir sowohl einer Anzeigevorrichtung (201), z.B. einer Kathodenstrahlröhrenanzeige, einer Flüssigkristallanzeige oder dergleichen, als auch einer Benutzereingabevorrichtung (202), z.B. einer Tastatur und Maus, Trackball, Joystick oder dergleichen, verbunden. Dementsprechend kann eine computergestützte Konstruktion vielmehr auf der Hardware der Maschinenwerkzeugsteuerung (200) als auf einer getrennten Workstation erzeugt oder verändert werden.
  • Natürlich kann eine Konstruktionsdatei, welche auf einer getrennten CAD-Workstation erzeugt wurde, auch zu dem Prozessor (203) zum Anzeigen, Überprüfen und/oder Verändern auf der Hardware (201, 202) der Maschinenwerkzeugsteuerung (200) übertragen werden. Die CAD-Datei kann zu der Maschinenwerkzeugsteuerung (200) z.B. auf einer Floppy Disk oder durch beliebige weitere Mittel einer Dateiübertragung, welche eine drahtgebundene oder drahtlose Netzwerkverbindung zwischen der Workstation und der Steuerung (200) einschließt, übertragen werden.
  • In dem Beispiel der 2 ist der erste Prozessor (203) ein Teil einer Verarbeitungseinheit (205), welche auch einen zweiten Prozessor (204) enthält. Allgemein ausgedrückt führt der erste Prozessor (203) das CAD oder CAD/CAM-Programmpaket oder eine weitere Konstruktionsanwendung aus, während der zweite Prozessor (204) das Programm ausführt, welches notwendig ist, um die von dem CAD-Programm erzeugten Daten zu verwenden, um das Maschinenwerkzeug entsprechend zu steuern.
  • Die Programmausführung auf dem zweiten Prozessor (204) wird im Allgemeinen als „Bewegungssteuerprogramm" bezeichnet und ist ein vollständiges System zum Steuern des Maschinenwerkzeugs. Keine zusätzliche Steuerungshardware wird benötigt.
  • Eine Systemschnittstelle (206) wird zwischen der Maschinenwerkzeugsteuerung (200) und dem Maschinenwerkzeug (welches nicht in 2 gezeigt ist) derart bereitgestellt, dass das Programm des zweiten Prozessors (204) in Verbindung mit dem Maschinenwerkzeug stehen kann und dieses steuern kann. Eine Verbindung (207) ist zwischen dem zweiten Prozessor (204) und der Systemschnittstelle (206) bereitgestellt. Die Systemschnittstelle (206) wird nachfolgend detaillierter beschrieben werden.
  • Obwohl die in 2 dargestellte Doppelprozessor Einheit (200) bevorzugt wird, kann die vorliegende Erfindung auch mit zwei getrennten Computereinheiten, z.B. zwei PCs, welche jeweils einen entsprechenden ersten oder zweiten Prozessor wie hierin beschrieben bereitstellen, ausgeführt werden. Bei einer Realisierung der vorliegenden Erfindung können Windows® NT-Typ Prozessoren verwendet werden.
  • Um eine direkte Bearbeitung am besten durchzuführen, ist es notwendig, sowohl ein CAD/CAM-System als auch eine Maschinensteuerung mit bekannten Architekturen zu haben, um einen Zugriff auf ihre internen Funktionen zu ermöglichen. Um das spezifizierte Teil zu bearbeiten muss z.B. eine mathematische Darstellung von jeder Maschinenwerkzeugbahn, d.h. Bewegungsbahndaten, aus der Konstruktion des herzustellenden Teils erzeugt werden.
  • CAD oder CAD/CAM-Pakete weisen eine Anwendungsprogrammschnittstelle (Application Programm Interface, API) auf. Das API ist eine Schnittstelle zwischen dem Betriebssystem und der Konstruktionsanwendung. Das API definiert die Art und Weise, auf welche die Konstruktionsanwendung mit dem Betriebssystem in Verbindung steht, und die Dienste, welche das Betriebssystem der Konstruktionsanwendung zur Verfügung stellt.
  • Eine direkte Bearbeitung arbeitet am besten, wenn das Bewegungssteuerungsprogramm, welches das Maschinenwerkzeug steuert, auf die Konstruktionsanwendung über ihr API zugreifen kann und die Werkzeugbahnen für das Maschinenwerkzeug aus der Konstruktionsdatei, welche von der Konstruktionsanwendung geöffnet wurde, direkt entnehmen kann. Unglücklicherweise scheinen herkömmliche CAD/CAM-Pakete öffentlich zugängliche APIs mit der notwendigen Funktionalität, um diese Entnahme zu bewerkstelligen, nicht aufzuweisen. Wenn jedoch das API der Konstruktionsanwendung verfügbar wäre, wäre die beste Ausführung der vorliegenden Erfindung, die Maschinenwerkzeugbahnen einfach direkt von den Konstruktionsdateidaten durch das API der Konstruktionsanwendung zu entnehmen. Diese Entnahme würde vorzugsweise von dem Programm, welches auf dem zweiten Prozessor (204) läuft, durchgeführt werden. Diese Maschinenwerkzeugbahnen können dann von dem Maschinensteuerungsprogramm des zweiten Prozessors (204) verwendet werden, um das Maschinenwerkzeug zu steuern, um das spezifizierte Teil anzufertigen.
  • Wenn, wie es im Allgemeinen der Fall ist, das API für ein CAD/CAM-Paket nicht verfügbar ist, können die Prinzipien der vorliegenden Erfindung immer noch eine direkte Bearbeitung bereitstellen. In diesem Fall stellt das Bewegungssteuerungsprogramm eine API-Gruppe bereit, welche das CAD/CAM-Paket aufrufen kann, um Werkzeugbahninformation zu dem Direktbearbeitungsprogramm zu übergeben.
  • Um zu verstehen, wie Werkzeugbahnen in der vorliegenden Erfindung der Steuerung übergeben werden, ist es notwendig, et was über die Architektur des Programms, welches auf dem ersten (203) und zweiten (204) Prozessor ausgeführt wird, zu verstehen. Wie in 3 gezeigt, gibt es prinzipiell zwei Anwendungen, welche auf dem Doppelprozessorsystem der vorliegenden Erfindung laufen: der CAD-Interpreter (301) und die Bewegungssteuerung (305). Übereinstimmend mit der obigen Erklärung und wie in 3 gezeigt, wird der CAD-Interpreter (301) vorzugsweise auf dem ersten Prozessor (203) ausgeführt. Die Bewegungssteuerung (305) wird dagegen vorzugsweise auf dem zweiten Prozessor (204) ausgeführt.
  • Der CAD-Interpreter (301) wird als eine Konstruktionsanwendung betrachtet und ist geeignet die Konstruktionsdatei (309), welche mit einem CAD-Paket erzeugt wurde, zu verarbeiten und die relevanten Bearbeitungsinformationen, d.h. die Maschinenwerkzeugbahnen, welche von den Daten in der Konstruktionsdatei (309) dargestellt werden, daraus zu gewinnen. Der CAD-Interpreter (301) benötigt fast keine Information über die Steuerung oder das Maschinenwerkzeug, welches gesteuert werden wird, um das spezifizierte Teil anzufertigen. Es ist jedoch der CAD-Interpreter (301), der die Bewegungsbahndaten bereitstellt, welche die Bewegungssteuerung (350) verwenden wird, um die Werkzeugköpfe des Maschinenwerkzeugs zu führen.
  • Wie nachfolgend detaillierter beschrieben werden wird, ist die Bewegungssteuerung (305) eine Anwendung, welche auf dem zweiten Prozessor (204) läuft, ist Teil des Bewegungssteuerungsprogramms der vorliegenden Erfindung und empfängt die Werkzeugbahndaten (310) von dem CAD-Interpreter (301) auf dem ersten Prozessor (203). Die Bewegungssteuerung (305) ist zuständig für ein Übersetzen der Werkzeugbahndaten (310) von dem CAD-Interpreter (301) in Daten, welche verwendet werden können, um das Maschinenwerkzeug geeignet zu steuern, um das spezifizierte Produkt herzustellen. Die Bewegungssteuerung (305) bestimmt ferner eine Bewegungsberührung. Die Bewegungssteuerung (305) enthält zwei Teilsysteme, welche diese Aufgaben ausführen.
  • Die Bewegungsbahndaten (310), welche von dem CAD-Interpreter (301) bereitgestellt werden, spezifizieren typischerweise Werkzeugbahnen in einem kartesischen Koordinatensystem. Die Bewegungssteuerung (305) fährt zuerst einen Bewegungsplaner (307) aus, um die Werkzeugbahndaten von einem kartesischen Raum in einen Gelenkraum abzubilden. Ein Gelenkraum ist ein Koordinationssystem, welches die möglichen Bahnen des Werkzeugkopfes oder der Köpfe des Maschinenwerkzeugs definiert. Von den Gelenkraumdaten berechnet ein Trajektorieplaner (308) die Aktuatorwerte, welche benötigt werden, um den Werkzeugkopf oder die Köpfe des Maschinenwerkzeugs entlang der spezifizierten Bahnen zu bewegen.
  • Wie in 3 gezeigt, werden die Aktuatorwerte dann zu einer Stellantriebsteuerungsanwendung (306) übertragen, welche auch ein Teil des Bewegungssteuerungsprogramms der vorliegenden Erfindung ist. Die Stellantriebssteuerung (306) ist zuständig für ein Ausführen der Stellantriebsteuerungsschleifen, um den Werkzeugkopf oder die Köpfe des Maschinenwerkzeugs entlang der spezifizierten Werkzeugbahnen zu bewegen, was zu einer Herstellung des gewünschten Teils aus dem Rohmaterial an dem Maschinenwerkzeug führt.
  • Vorzugweise verwendet das System der vorliegenden Erfindung Objekte, welche unter Verwendung der C++-Computersprache geschrieben sind. C++-Objekte sind Datenstrukturen, welche sowohl Elemente (Unterdatenstrukturen oder Variablen) als auch mit ihnen in Verbindung gebrachte Methoden (Funktionen, welche an den Objekten aufgerufen werden können) aufweisen. Funktionen können ein Objekt auf eine Frage "fragen", indem eine geeignete Funktion an diesem Objekt aufgerufen wird. Die „Antwort" wird durch den Rückgabewert der Funktion gewonnen.
  • C++-Objekte weisen ferner die Eigenschaften von Vererbung und Polymorphismus auf. Vererbung beschreibt die Fähigkeit einer Objektklasse, Eigenschaften von einer Elternklasse zu erben. Z.B. werden alle speziellen Elemente oder Methoden, welche für die Kindklasse (oder abgeleitete Klasse) definiert sind, auch alle Elemente, Methoden und Eigenschaften der Elternklasse aufweisen. Dementsprechend kann ein Objekt der abgeleiteten Klasse als entweder ein Element der Kindklasse oder als ein Element der Elternklasse behandelt werden. Polymorphismus ermöglicht, dass alle Klassen, welche von der gleichen Elternklasse abgeleitet sind, die gleiche Schnittstelle aufweisen können, so dass Objekte sie äußerlich wie die Elternklasse behandeln können. Wenn jedoch die Funktionen in dieser Schnittstelle aufgerufen werden, kann das Verhalten des Objekts in Abhängigkeit von der abgeleiteten Klasse des Objekts sehr unterschiedlich sein.
  • Die Bewegungssteuerung (305) enthält die Elementobjekte (307 und 308), welche die speziellen zuvor erwähnten Funktionen ausführen. Das Kinematikobjekt (307) transformiert kartesische Werte in Gelenkwerte und das Gelenklistenobjekt (308) transformiert dann Gelenkwerte in Aktuatorwerte. Das Gelenklistenobjekt (308) enthält vorzugsweise für jedes Gelenk des Maschinenwerkzeugs, welches gesteuert wird, ein spezielles Gelenkaktuatorobjekt. Somit wird die Gelenk-zu-Aktuator-Transformation von einem getrennten Gelenkt-Aktuatorobjekt für jedes Gelenkt durchgeführt. Die Aktuatorpositionen und Raten werden dann zu dem Stellantriebsteuerungsprogramm (306) übergeben. Das Kinematikobjekt und die Gelenk-Aktuatorobjekte, welche die Bewegungssteuerung (305) verwendet, werden in Wirklichkeit von Basisklassen abgeleitet und werden basierend auf der Art der Transformation, welche sie darstellen (z.B. ein Drei- oder Fünfachsenmaschinenwerkzeug für die Kinematik und ein Zahnrad- oder Kugelgewindetrieb für den Gelenkaktuator), unterschiedlich sein.
  • Die Stellantriebsteuerungsanwendung (306) enthält Zeiger zu Objekten, welche Aufgaben, wie Schließen der Stellantriebsteuerschleifen und in Verbindungtreten mit den Motoren, ausführen. (Siehe 4 und 5). Wie bei der Bewegungssteuerung (305) enthält die Stellantriebsteuerungsanwendung (306) Objekte, welche auch von Basisklassen abgeleitet sind. Z.B. enthält die Stellantriebsteuerung Objekte, welche die Stellantriebsteuerschleife ausführen, aber das Objekt wird eines von verschiedenen abgeleiteten Klassen basierend auf der Steuerregel, welches sie realisiert (z.B. PID usw.), sein.
  • Eine Herstellungsinformation wird vorzugsweise von dem CAD-Interpreter (301) zu der Bewegungssteuerung (305) über ein C++-Objekt, welches Bewegungsobjekt (302) genannt wird, geschickt. Nachdem die Bewegungssteuerung (305) das Bewegungsobjekt (302) von dem CAD-Interpreter (301) empfangen hat, erhält sie alle notwendigen Werkzeugbahninformationen durch Abfragen des Bewegungsobjekts (302). Das Bewegungsobjekt (302) wird von dem CAD-Interpreter (301) erzeugt und teilt der Bewegungssteuerung (305) die Position und Ausrichtung mit, an welcher das Werkzeug zu einer beliebigen Zeit während einer Bewegung des Werkzeugkopfes entlang der Werkzeugbahn sein soll. Der Bewegungsprozessor (305) verwendet dann die C++-Objekte, welche er enthält, wie zuvor beschrieben, um die Werkzeugposition, Ausrichtung usw. in die Aktuatorwerte, welche die Stellantriebsteuerung (306) verwenden wird, zu transformieren. Die Stellantriebsteuerung (306) wird dann Steuerregeln verwenden, welche in dem System gespeichert wurden und speziell für das gesteuerte Maschinenwerkzeug sind, um die Drehmomente zu berechnen, welche auf die Motoren des Maschinenwerkzeugs anzuwenden sind, um diese Werte zu erreichen.
  • 4 stellt eine Ausführungsform der vorliegenden Erfindung dar, in welcher Analogmotoren verwendet werden, um die Teile des Maschinenwerkzeugs anzutreiben, um den Maschinenkopf über die gewünschte Werkzeugbahn zu bewegen. In einer derartigen Ausführungsform weist die Stellantriebsteuerung (306) Digita1/Analog-Ansteuerungen (402) auf, welche digitale Steuersignale für die Motoren (406) zu einer Digital/Analog-Umwandlungsbaugruppe (404) in der Systemschnittstelle (206) übertragen. Die analogen Steuersignale von der Umwandlungsbaugruppe (404) werden dann verstärkt (407) und zu den Motoren (406) geliefert. Ein Sensor (405), welcher jedem Motor (406) zugeordnet ist, erfasst z.B. das tatsächliche Drehmoment, die Position, Geschwindigkeit und Beschleunigung des Motors (406) und stellt ein Analogsignal einer Analog/Digital-Umwandlungsbaugruppe (403) in der Systemschnittstelle (206) bereit. Die digitalisierten Sensorsignale werden dann den Analog/Digital-Ansteuerungen (401) der Stellantriebsteuerung (306) bereitgestellt, um die Rückkopplungsschleife zu vervollständigen, welche der Stellantriebssteuerung (306) ermöglicht, die Motoren (406) wie gewünscht gemäß den spezifizierten Werkzeugbahnen anzusteuern.
  • Dieses Verfahren kann und wird vorzugsweise insgesamt als Programm realisiert, wobei keine zusätzliche Hardware benö tigt wird. Somit können geschlossene Hardwarearchitekturen vermieden werden.
  • 5 stellt eine zweite Ausführungsform der vorliegenden Erfindung dar, in welcher Digitalmotoren verwendet werden, um die Teile des Maschinenwerkzeugs anzusteuern, um den Maschinenkopf über die gewünschte Werkzeugbahn zu bewegen. Bei dieser Ausführungsform weist die Systemschnittstelle (206) eine serielle Kommunikationsvorrichtung (502) auf, welche über ein Hochgeschwindigkeitsdatennetzwerk (506) mit der digitalen Motorschnittstelle (503) einer jeden Motoreinheit in Verbindung steht. Steuersignale, welche Drehmomenteinstellpunkte festlegen, werden von der digitalen Motorschnittstelle (503) empfangen und in ein analoges Signal umgewandelt, welches dann mit einem Motorverstärker (504) verstärkt wird und verwendet wird, um die entsprechenden Motoren (505) wie benötigt anzusteuern, um das Maschinenwerkzeug über die spezifizierten Werkzeugbahnen zu bewegen. Wie zuvor, vervollständigen Sensoren die Stellantriebschleife, welche vollständig programmgesteuert sein kann.
  • Wie hierin beschrieben, stellen das direkte Bearbeitungsverfahren und das System der vorliegenden Erfindung eine Fülle von Vorteilen gegenüber herkömmlichen Bearbeitungstechniken bereit. Eine direkte Bearbeitung vermeidet, aufgrund der Verwendung der tatsächlichen Konstruktionsgeometrie anstatt nur der in CL-Dateien und M&G-Code verwendeten diskreten Punktdaten, viele der Probleme, welche in Verbindung mit den herkömmlichen Verfahren von der Konstruktion bis zu einem Hersteller entstehen. Da eine Bearbeitung auf der ursprünglichen Konstruktionsgeometrie basiert, gibt es keinen geometrischen Informationsverlust oder eine Schätzung.
  • Da keine neue Dateien erzeugt werden, gibt es zusätzlich kein Problem mit veralteten CL- und M&G-Dateien, welche sich auf dem System befinden und welche unabsichtlich verwendet werden können, um ein Teil fehlerhaft zu bearbeiten. Änderungen an der Konstruktionsdatei werden direkt in dem Betrieb des gesteuerten Maschinenwerkzeugs widergespiegelt. Es gibt ferner indirekte Vorteile, welche in Verbindung mit einer direkten Bearbeitung stehen, und welche einen Produktionsstättenzugriff auf das ursprüngliche Modell aufweisen. Obwohl viele Bearbeitungszentren geeignet sind, prozessinterne Kontrollen durchzuführen, kann diese Kontrolle mit dem in der Steuerung (200) vorhandenen CAD-Modell unter Verwendung eines Berührungsfühlers durchgeführt werden und gegen das Modell selbst im Gegensatz zu einer Extrapolation von Schneidpositionpunkten in der M&G-Datei überprüft werden. Zusätzlich kann gefordert sein, dass die Steuerung (200) die Konstruktionsdatei aus einem Produktdatenverwaltungssystem (Product Data Management System, PDM) entnimmt, mit welchem die Steuerung (200) über ein Netzwerk verbunden ist, was ferner die Möglichkeit einer Bearbeitung veralteter Teile vermeidet.
  • Ein Beispiel des Verfahrens eines Erzeugens von Werkzeugbahnen von der CAD-Datei (309) und eines Erzeugens des Bewegungsobjekts, um diese Werkzeugbahndaten einzubeziehen, wird nun detaillierter beschrieben werden. Im Allgemeinen gibt es zwei Arten einer Bearbeitung: eine Vorbearbeitung und eine Endbearbeitung. Eine Vorbearbeitung entfernt den Großteil des Materials von dem Rohmaterial, während eine Endbearbeitung versucht, die Fläche des Rohmaterials an eine genaue Fläche, welche für das Teil spezifiziert ist, anzupassen. Bei diesem Beispiel werden wir uns nur mit den Endbearbeitungswerkzeugbahnen bei Fräsvorgängen interessieren.
  • Werkzeugbahnen stellen die Bahn dar, welcher die Mitte der Spitze des Werkzeugkopfes des Maschinenwerkzeugs folgt, und nicht die Bahn des Punktes einer Berührung zwischen der Fläche des Teils und des Werkzeugs. Bei einigen einfachen Vorgängen, wie Flächenfräsen, ist die Werkzeugspitze der Berührpunkt, so dass die Werkzeugbahnen direkt auf der bearbeiteten Fläche liegen. Bei etwas komplizierteren Bearbeitungen, wie z.B. einer Herstellung von Taschen, führt die Seite des Schaftfräsers das Schneiden aus. In diesem Fall liegen die Werkzeugbahnen auf einer Fläche, welche um einen Abstand des Radius des Werkzeugs versetzt zu der bearbeiteten Fläche ist.
  • Die Sache ist ein wenig komplizierter, wenn Freiformflächen hergestellt werden, da derartige Flächen häufigen unter Verwendung von Kugelschaftfräsern hergestellt werden, welche eine kugelförmige Spitze mit dem gleichen Radius wie das Werkzeug aufweisen. Werkzeugspitzenpositionen werden für Kugelschaftfräser unter Verwendung der folgenden Gleichung berechnet: P(s,t) = Q(s,t) + RN(s,t) – [0,0,R]wobei R der Radius des Kugelschaftfräsers ist, Q(s,t) die Berührpunkte sind und N(s,t) die Flächennormalen an jedem Berührpunkt Q(s,t) sind. Wenn die kugelförmige Spitze des Werkzeugs die Teilfläche berührt, liegt die Mitte der Werkzeugspitze an einer Fläche, welcher von der Teilfläche um den Radius des Werkzeugs versetzt ist. Wenn das Werkzeug vertikal ausgerichtet ist, wie es bei einer Drei-Achsen-Bearbeitung ist, dann ist die Werkzeugspitze in der Z-Richtung genau einen Radius niedriger als die Mitte des kugelförmigen Abschnitts des Werkzeugs. Um die Fläche, welcher die Werkzeugspitze folgt, zu erzeugen, wird eine Fläche von der bearbei teten Fläche versetzt und dann entlang der Z-Achse um den Radius des Kugelschaftfräsers abgesenkt. Diese Fläche wird dann mit vertikalen Ebenen geschnitten, um tatsächliche Werkzeugbahnen zu definieren.
  • In der zuvor beschriebenen C++-Umgebung sind alle Bewegungsobjekte, welche zu der Bewegungssteuerung (305) geführt werden, tatsächlich Elemente von Klassen, welche von dem Bewegungsobjekt (302) abgeleitet sind. Für spezielle Steuerungszwecke können viele unterschiedliche abgeleitete Klassen des Bewegungsobjekts (302) vorhanden sein. Die Eleganz dieser Anordnung ist, dass die Bewegungssteuerung (305) niemals weiß, welche Art eines Bewegungsobjekts ihr übergeben wird. Solange das übergebene Objekt eine Schnittstelle des Bewegungsobjekts (302) aufweist, braucht die Bewegungssteuerung (305) keine weiteren Informationen. Dies bedeutet, dass neue Bewegungsobjekte entwickelt und in den CAD-Interpreter (301) integriert werden können, und dass die Bewegungssteuerung (305) diese verstehen kann, ohne selbst aktualisiert zu werden.
  • Wie zuvor angemerkt, spezifiziert das der Bewegungssteuerung (305) übergebene Bewegungsobjekt typischerweise Werkzeugbahnen in kartesischen Koordinaten. Dies ist eine geeignete Art, um eine Bewegung zu spezifizieren, welcher auf einer vorgeschriebenen Bahn, wie der bei Bearbeitungsvorgängen, zu folgen ist. Dementsprechend kann eine spezielle Kindklasse des Bewegungsobjekts (302) die grundlegende kartesische Bewegungsobjektklasse genannt werden. Der Einfachheit halber werden nachfolgend alle Bezüge auf ein Bewegungsobjekt als ein Bezug auf ein grundlegendes kartesisches Bewegungsobjekt verstanden werden.
  • Wie in 6 dargestellt, enthalten diese abgeleiteten Bewegungsobjekte (600) vorzugsweise drei Elemente von speziellen Klassen: ein Ratenobjekt (601), ein Beschleunigungsprofilerzeugungsobjekt (602) (Velocity Profile Generator, „VPG") und ein Bahnobjekt (603). Das Ratenobjekt (601) bestimmt die zu verwendenden Zuführungen und Geschwindigkeiten, das VPG-Objekt (602) steuert die Beschleunigungsübergänge und das Bahnobjekt (603) enthält alle Informationen über die Geometrie der Bahn.
  • Genau wie das Bewegungsobjekt (600) ist auch das Bahnobjekt (603) eine Basisklasse, von welcher spezielle Bahnen abgeleitet werden. Bahnobjekte (603) speichern die Geometrie als eine parametrische Gleichung. Mit diesen parametrischen Gleichungen kann das Bahnobjekt (603) dem Bewegungsobjekt (600) die gewünschte Position und Ausrichtung des Werkzeugs an jedem Punkt entlang der Kurve mitteilen. Das Bewegungsobjekt (600) kombiniert dies Geometrie mit der Information, welche in dem Ratenobjekt (601) und dem VPG-Objekt (602) enthalten ist, und berechnet für jede Zeit eine Position und Ausrichtung. Da die Bahnobjekte (603) immer Elemente von abgeleiteten Klassen sind, benötigt das Bewegungsobjekt keine Beschreibung der Art des Bahnobjekts, mit welchem es arbeitet.
  • Diese Art eines Übertragens einer Geometrie zu der Steuerung ist sehr unterschiedlich zu dem, was derzeit mit einem M&G-Code gemacht wird, und weist einige erhebliche Folgen auf. In dem System gemäß dem Stand der Technik von 1 wird der Maschinenwerkzeugsteuerung (104) die minimale Menge von geometrischer Information gegeben, welche gebraucht wird, um die Werkzeugbahn zu definieren. Die Steuerung (104) verwendet dann diese Geometrie, um eine durchgängige Bewegungsbahn zu interpolieren. Zum Beispiel definieren zwei Endpunkte ein Li niensegment und zwei Endpunkte, ein Mittelpunkt und eine Drehrichtung definieren eine Schraublinie oder einen Bogen.
  • Eine Verwendung der polymorphen C++-Objekte der vorliegenden Erfindung, um geometrische Information weiterzuleiten, erfordert nicht, dass die Bewegungssteuerung (305) weiß, welche Art von Bahn sie empfangen hat. Ferner ist die Bahn nur als eine allgemeine Kurve bekannt, welche der Bewegungssteuerung (305) ihre Geometrie bis zu einem beliebigen notwendigen Detaillierungsgrad mitteilen kann.
  • Die Verwendung von polymorphen C++-Objekten, wie hierin beschrieben, bedingt eine viel größere Menge an Datenverarbeitung und Speicherung als dies in vorhergehenden Systemen, wie zum Beispiel in 1 dargestellt, benötigt wurde. Dies ist jedoch kein erhebliches Problem, da moderne Steuerungen schnell genug sind und genügend Speicher aufweisen, um einen derartigen Anstieg im Datenfluss handzuhaben. Ein erheblicher Vorteil der direkten Bearbeitung ist, dass die Steuerung genau die Menge von Information empfängt, welche sie braucht. Schließlich müssen alle Kurven in kleine diskrete Segmente aufgebrochen werden, wenn die I/O-Befehle zu den Antriebsmotoren geschickt werden. Herkömmlicherweise wird die Kurve von dem CAM-Programm diskretisiert, wenn eine APT-Datei exportiert wird. Bei einer direkten Bearbeitung diskretisiert die Bewegungssteuerung die Kurve. Dies ermöglicht der Steuerung, ständig mit ihrer besten Toleranz zu arbeiten.

Claims (19)

  1. System zum Verbinden eines Steuersystems mit einer Maschine mit Stellantrieb, wobei das System umfasst: einen ersten Prozessor (203), welcher ausgestaltet ist, eine Konstruktionsanwendung (301) auszuführen, welche aus einem computergestützten Konstruktions-/computergestützten Anfertigungsprogrammpaket besteht, welches ausgestaltet ist, Bewegungsbahndaten (310) zu erzeugen; und einen zweiten Prozessor (204), welcher ausgestaltet ist, mit dem ersten Prozessor in Verbindung zu stehen und ein Bewegungssteuerungsprogramm (305, 306) auszuführen, welches ausgestaltet ist, auf die Bewegungsbahndaten in dem gleichen Format, wie sie von der Konstruktionsanwendung (301) auf dem ersten Prozessor ausgegeben wird, zuzugreifen; dadurch gekennzeichnet, dass das Bewegungssteuerungsprogramm ausgestaltet ist, die Maschine mit Stellantrieb anzusteuern, um einen Werkzeugkopf entlang von Bewegungsbahnen zu bewegen, welche in den ursprünglichen Bewegungsbahndaten (310) definiert sind.
  2. System nach Anspruch 1, wobei das Bewegungssteuerungsprogramm (305, 306) die Bewegungsbahndaten (310) von der Konstruktionsanwendung (301) unter Verwendung einer Anwendungsprogrammschnittstelle der Konstruktionsanwendung entnehmen kann.
  3. System nach Anspruch 1, wobei die Konstruktionsanwendung (301) die Bewegungsbahndaten (310) über eine Anwendungsprogrammschnittstelle des Bewegungssteuerungsprogramms (305, 306) zu dem Bewegungssteuerungsprogramm (305, 306) führen kann.
  4. System nach Anspruch 1, wobei das Bewegungssteuerungsprogramm (305, 306) ein Bewegungsobjekt (302), welches die Bewegungsbahndaten (310) enthält, erzeugen kann.
  5. System nach Anspruch 1, wobei: die Konstruktionsanwendung (301) ein Bewegungsobjekt (302), welches die Bewegungsbahndaten (310) enthält, erzeugen kann; und die Konstruktionsanwendung (301) das Bewegungsobjekt (302) zu dem Bewegungssteuerungsprogramm (305, 306) führen kann.
  6. System nach Anspruch 1, wobei: das Bewegungssteuerungsprogramm (305, 306) eine Bewegungssteuerungsanwendung (305) und eine Stellantriebsteuerungsanwendung (306) umfasst; die Bewegungssteuerungsanwendung die Bewegungsbahndaten (310) auf ein Koordinatensystem, welches von der Maschine mit Stellantrieb definiert wird, abbilden kann; und die Stellantriebsteuerungsanwendung Steuersignale zur Übertragung zu Stellantrieben der Maschine mit Stellantrieb gemäß der Bewegungsbahndaten (310) von der Bewegungssteuerungsanwendung (305) erzeugen kann.
  7. System nach Anspruch 1, wobei die Maschine mit Stellantrieb ein Maschinenwerkzeug zum Bearbeiten von Lagermaterial gemäß Konstruktionsspezifikationen ist.
  8. System nach Anspruch 1, wobei das System ferner eine Anzeigevorrichtung (201) und eine Benutzereingabevorrichtung (202), welche mit dem ersten Prozessor (203) in Verbindung stehen, umfasst, welche die Bewegungsbahndaten (310) mit der Konstruktionsanwendung (301) erzeugen, überprüfen oder bearbeiten können.
  9. System nach Anspruch 5, wobei das Bewegungsobjekt (302, 600) umfasst: ein Ratenobjekt (601), welches Zuführungsraten und Geschwindigkeitsraten zur Steuerung der Elemente der Maschine mit Stellantrieb bestimmten kann; ein Beschleunigungsprofilerzeugungsobjekt (602), welches Beschleunigungsübergänge in den Bewegungsbahnen steuern kann; und ein Bahnobjekt (603), welches Informationen enthält, die jeden Bewegungsbahn definieren.
  10. System nach Anspruch 1, wobei die Bewegungsbahndatenausgabe (310) von der Konstruktionsanwendung (301) Werkzeugbahnen in einem kartesischen Koordinatensystem spezifiziert und das Bewegungssteuerungsprogramm (305, 306) die Werkzeugbahnen in Stellantriebsteuersignale für Antriebsmotoren der Maschine mit Stellantrieb übersetzen kann.
  11. System nach Anspruch 1, wobei der erste Prozessor (203) und der zweite Prozessor (204) mit einer Mehrprozessorcomputerworkstation in Beziehung stehen.
  12. Verfahren zum Anschließen eines Steuersystems an eine Maschine mit Stellantrieb, umfassend: Ausführen einer Konstruktionsanwendung (301), welche aus einem computergestützten Konstruktions- und computergestützten Anfertigungsprogrammpaket besteht, welches Bewegungsbahndaten (310) für die Maschine mit Stellantrieb erzeugt; Ausführen eines Bewegungssteuerungsprogramms (305, 306), welches die Bewegungsbahndaten (310) in dem gleichen Format wie eine Ausgabe von der Konstruktionsanwendung (301) empfängt; und gekennzeichnet durch Steuern der Maschine mit Stellantrieb mit dem Bewegungssteuerungsprogramm (305, 306), um einen Werkzeugkopf entlang Bewegungsbahnen, welche in den ursprünglichen Bewegungsbahndaten (310) von der Konstruktionsanwendung (301) definiert sind, zu bewegen.
  13. Verfahren nach Anspruch 12, ferner umfassend ein Ausführen der Konstruktionsanwendung (301) und des Bewegungssteuerungsprogramms (305, 306) auf unterschiedlichen Prozessoren.
  14. Verfahren nach Anspruch 12, ferner umfassend ein Bearbeiten von Lagermaterial mit der Maschine mit Stellantrieb, welche ein Maschinenwerkzeug ist, um ein Erzeugnis herzustellen, welches durch die Bewegungsbahndaten (310) definiert wird.
  15. Verfahren nach Anspruch 12, ferner umfassend: Verwenden des computergestützten Konstruktionsprogrammpakets, um eine Datei zu erzeugen, in welcher anstatt einer Enderzeugnisgeometrie Werkzeugbahnen spezifiziert sind; und Erzeugen der Bewegungsbahndaten (310) aus der Datei mit der Konstruktionsanwendung (301).
  16. Verfahren nach Anspruch 12, ferner umfassend ein Bearbeiten der Bewegungsbahndaten (310) mit der Konstruktionsanwendung (301).
  17. Verfahren nach Anspruch 12, ferner umfassend ein Überprüfen der Bewegungsbahndaten (310) mit der Konstruktionsanwendung (301).
  18. Verfahren nach Anspruch 12, ferner umfassend: Erzeugen eines Bewegungsobjekts (302), welches die Bewegungsbahndaten (310) enthält, mit der Konstruktionsanwendung (301); und Führen des Bewegungsobjekts (302) zu dem Bewegungssteuerungsprogramm (305, 306).
  19. Verfahren nach Anspruch 12, wobei die Bewegungsbahndatenausgabe (310) von der Konstruktionsanwendung (301) Werkzeugbahnen in einem kartesischen Koordinatensystem spezifiziert und das Verfahren ferner ein Übersetzen der Werkzeugbahnen in Stellantriebsteuersignale für Antriebsmotoren der Maschine mit Stellantrieb umfasst.
DE60126937T 2000-05-16 2001-05-10 Verfahren und vorrichtung zur steuerung einer werkzeugmaschine mit direkter uebertragung von bearbeitungsdaten Expired - Fee Related DE60126937T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US20460900P 2000-05-16 2000-05-16
US204609P 2000-05-16
PCT/US2001/015051 WO2001088647A1 (en) 2000-05-16 2001-05-10 Method and system for controlling a machine tool with direct transfer of machining data

Publications (2)

Publication Number Publication Date
DE60126937D1 DE60126937D1 (de) 2007-04-12
DE60126937T2 true DE60126937T2 (de) 2008-03-13

Family

ID=22758641

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60126937T Expired - Fee Related DE60126937T2 (de) 2000-05-16 2001-05-10 Verfahren und vorrichtung zur steuerung einer werkzeugmaschine mit direkter uebertragung von bearbeitungsdaten

Country Status (10)

Country Link
US (1) US7283888B2 (de)
EP (1) EP1290517B1 (de)
JP (2) JP2003533810A (de)
KR (1) KR20030007636A (de)
CN (1) CN100368950C (de)
AT (1) ATE355549T1 (de)
AU (1) AU2001261347A1 (de)
CA (1) CA2408335C (de)
DE (1) DE60126937T2 (de)
WO (1) WO2001088647A1 (de)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3767404B2 (ja) * 2001-04-05 2006-04-19 株式会社デンソー Cad/camシステムによるncデータ生成システム
DE10164496A1 (de) * 2001-12-28 2003-07-17 Siemens Ag Automatisierungssystem
US7099719B2 (en) * 2002-06-19 2006-08-29 Rockwell Automation Technologies, Inc. Output cam system and method
US7096076B2 (en) * 2002-06-19 2006-08-22 Rockwell Automation Technologies, Inc. Output cam system and method
JP3904993B2 (ja) * 2002-08-16 2007-04-11 ファナック株式会社 曲線補間方法
US20060130002A1 (en) * 2002-09-09 2006-06-15 Sadahiro Hirayama Requirement defining method, method for developing software, and method for changing requirement word, and newly defining method
WO2004038523A1 (ja) * 2002-10-25 2004-05-06 Sigma Inc. Cadシステム並びにこれを実行するためのプログラム及びこのプログラムを記録した記録媒体
GB0303270D0 (en) 2003-02-13 2003-03-19 Renishaw Plc A machine tool control process and apparatus therefor
US6968256B2 (en) * 2003-08-15 2005-11-22 General Electric Company Method for processing manufactured parts
DE102004008027A1 (de) * 2004-02-19 2005-09-08 Mtu Aero Engines Gmbh Verfahren zur Fertigung angepasster, strömungstechnischer Oberflächen
US7377037B2 (en) * 2004-05-25 2008-05-27 General Electric Company Fillet machining method without adaptive probing
US7266425B2 (en) * 2004-09-30 2007-09-04 Rockwell Automation Technologies, Inc. Systems and methods that facilitate motion control through coordinate system transformations
US20060074499A1 (en) * 2004-10-01 2006-04-06 Rafie Hamidpour System and method for industrial process control
DE102005008500B3 (de) * 2005-02-24 2006-08-10 Siemens Ag Verfahren zur Steuerung einer Werkzeugmaschine, Produktionsmaschine und/oder eines Roboters
JP4989950B2 (ja) * 2005-11-01 2012-08-01 本田技研工業株式会社 ワークの加工方法
WO2008141086A1 (en) * 2007-05-09 2008-11-20 Johnson Controls Technology Company Refrigeration system
US9588511B2 (en) * 2007-08-03 2017-03-07 Hurco Companies, Inc. Virtual machine manager
CN101556467B (zh) * 2008-04-08 2012-06-13 深圳富泰宏精密工业有限公司 防止机台过冲系统及方法
CN101995849B (zh) * 2009-08-24 2012-03-21 台达电子工业股份有限公司 数值控制系统的路径轨迹点计算装置及其计算方法
KR101686170B1 (ko) * 2010-02-05 2016-12-13 삼성전자주식회사 주행 경로 계획 장치 및 방법
US8844132B2 (en) * 2011-07-22 2014-09-30 Pratt & Whitney Canada Corp. Method of machining using an automatic tool path generator adapted to individual blade surfaces on an integrally bladed rotor
WO2013192219A2 (en) * 2012-06-19 2013-12-27 D.P. Technology Corp. Cam integrated cnc control of machines
JP5982252B2 (ja) * 2012-10-23 2016-08-31 東芝機械株式会社 プログラム生成システム
TWI500474B (zh) * 2012-11-09 2015-09-21 Ind Tech Res Inst 工具機刀具的補償量測方法及其系統
TWI500475B (zh) 2012-12-13 2015-09-21 Ind Tech Res Inst 幾何定位裝置及其方法
US9681774B2 (en) * 2014-06-17 2017-06-20 Miguel Valenzuela Method and apparatus for drawing cakes
CN105034000B (zh) * 2015-07-13 2017-02-01 浙江大学 一种基于cad导入的工业机器人图形化控制系统
KR101702341B1 (ko) * 2015-08-13 2017-02-03 주식회사 그란테크 조작이 용이한 모션컨트롤러
US10386817B1 (en) * 2015-09-11 2019-08-20 Haas Automation, Inc. Multi-core processing machine tool control system
CN106886196A (zh) * 2015-12-16 2017-06-23 上海睿锆信息科技有限公司 与数控系统直接通讯的计算机辅助制造方法及装置和系统
US11561528B2 (en) * 2017-06-15 2023-01-24 James Edmund Trounson, III Integrated CAD/CAM/CNC software machine tool and machine tool therewith
CN108563150B (zh) * 2018-04-18 2020-06-16 东莞理工学院 一种末端反馈设备
CN113366481A (zh) * 2018-11-09 2021-09-07 欧特克公司 在计算机辅助设计与制造的2.5轴减材制造约束下的基于边界的生成式设计
US11392105B2 (en) * 2019-03-28 2022-07-19 Mitsubishi Electric Research Laboratories, Inc. System and method for generating optimal lattice tool paths
CN111309298B (zh) * 2019-12-05 2023-11-21 上海维宏电子科技股份有限公司 数控系统中基于自定义格式文件实现加工刀路编制的系统及其处理方法
US11762368B2 (en) 2020-05-20 2023-09-19 Autodesk, Inc. Computer aided generative design with layer boundary determination to facilitate 2.5-axis subtractive manufacturing processes
US11243510B2 (en) 2020-05-20 2022-02-08 Autodesk, Inc. Computer aided generative design with tool size control to facilitate 2.5-axis subtractive manufacturing processes
US11598152B2 (en) 2020-05-21 2023-03-07 Halliburton Energy Services, Inc. Real-time fault diagnostics and decision support system for rotary steerable system
US11663379B2 (en) * 2020-06-26 2023-05-30 Autodesk, Inc. Generative design shape optimization using build material strength model for computer aided design and manufacturing

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5833711A (ja) 1981-08-24 1983-02-28 Fanuc Ltd 数値制御装置
US4842528A (en) * 1987-03-27 1989-06-27 Amp Incorporated Solder post retention means
JP2718678B2 (ja) * 1987-07-01 1998-02-25 株式会社日立製作所 座標系合わせ方法
CA1339155C (en) * 1987-07-28 1997-07-29 David M. Dundorf Computer produced carved signs and method and apparatus for making same
US5060133A (en) 1990-02-06 1991-10-22 Automation Intelligence, Inc. Transputer CNC processor
JP2718260B2 (ja) * 1990-11-08 1998-02-25 三菱電機株式会社 数値制御装置
JPH04347703A (ja) * 1991-05-24 1992-12-02 Sony Corp 多軸ロボットの制御装置
US5268837A (en) * 1992-04-23 1993-12-07 Digital Equipment Corporation Robotics workstation
US5506787A (en) * 1992-08-31 1996-04-09 Siemens Aktiengesellschaft Configurable man-machine communication structure for machine tool or robot control systems
US5453933A (en) * 1993-09-08 1995-09-26 Hurco Companies, Inc. CNC control system
US5511147A (en) * 1994-01-12 1996-04-23 Uti Corporation Graphical interface for robot
US5485620A (en) * 1994-02-25 1996-01-16 Automation System And Products, Inc. Integrated control system for industrial automation applications
US5495410A (en) * 1994-08-12 1996-02-27 Minnesota Mining And Manufacturing Company Lead-through robot programming system
EP0706103B1 (de) * 1994-10-06 1999-11-24 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur numerischen Bahnsteuerung von Werkzeugmaschinen oder Robotern
JPH0991022A (ja) * 1995-09-20 1997-04-04 Yaskawa Electric Corp ロボット制御装置
US6022132A (en) * 1996-11-15 2000-02-08 Thermwood Corporation Method and apparatus for programming a CNC machine with a probe
US5907494A (en) 1996-11-22 1999-05-25 Lsi Logic Corporation Computer system and method for performing design automation in a distributed computing environment
US6445973B1 (en) 1997-02-19 2002-09-03 Mitsubishi Denki Kabushuki Kaisha Personal computer-incorporated numerical control apparatus, and image transfer method for personal computer-incorporated numerical control apparatuses
US5950006A (en) * 1997-11-05 1999-09-07 Control Technology Corporation Object-oriented programmable controller
US6101425A (en) * 1997-11-26 2000-08-08 Allen-Bradley Company, Llc Multiple connection networked man-machine interfaces for computer numerical controls
US6144895A (en) * 1997-11-26 2000-11-07 Allen-Bradley Company, Llc System and method for networking a computer numerical control with a workstation
US6112133A (en) 1998-02-27 2000-08-29 Imcs, Inc. Visual system and method for generating a CNC program for machining parts with planar and curvilinear surfaces
US6542937B1 (en) * 1998-02-27 2003-04-01 Amada Company, Limited Apparatus and method for transferring and editing sheet metal part data
US6345212B1 (en) * 1998-11-20 2002-02-05 Manufacturing Data Systems, Inc. Automatic variable linkage mechanism for integrating third party software components
US6278079B1 (en) * 1999-02-09 2001-08-21 Edwards Lifesciences Corp. Laser cutting of fabric grafts
US6341246B1 (en) * 1999-03-26 2002-01-22 Kuka Development Laboratories, Inc. Object oriented motion system
US6934601B2 (en) * 1999-09-20 2005-08-23 Hitachi, Ltd. Numerically controlled curved surface machining unit
US6823342B2 (en) * 2001-05-15 2004-11-23 Vykor, Inc. Method and system for capturing, managing, and disseminating manufacturing knowledge
US6895299B2 (en) * 2001-10-16 2005-05-17 Brigham Young University Systems and methods for representing complex n-curves for direct control of tool motion
JP4210056B2 (ja) * 2001-12-25 2009-01-14 株式会社日立製作所 工具経路の作成装置及び方法
US7123985B2 (en) * 2002-04-12 2006-10-17 Johnson & Johnson Vision Care, Inc. Design build test cycle reduction

Also Published As

Publication number Publication date
DE60126937D1 (de) 2007-04-12
JP2003533810A (ja) 2003-11-11
WO2001088647A1 (en) 2001-11-22
US20040024472A1 (en) 2004-02-05
KR20030007636A (ko) 2003-01-23
EP1290517B1 (de) 2007-02-28
JP2012094159A (ja) 2012-05-17
US7283888B2 (en) 2007-10-16
EP1290517A4 (de) 2004-04-21
AU2001261347A1 (en) 2001-11-26
EP1290517A1 (de) 2003-03-12
CN1461428A (zh) 2003-12-10
CN100368950C (zh) 2008-02-13
CA2408335A1 (en) 2001-11-22
US20060095142A9 (en) 2006-05-04
CA2408335C (en) 2006-08-22
ATE355549T1 (de) 2006-03-15

Similar Documents

Publication Publication Date Title
DE60126937T2 (de) Verfahren und vorrichtung zur steuerung einer werkzeugmaschine mit direkter uebertragung von bearbeitungsdaten
DE112015004939B4 (de) Verfahren zum Optimieren der Produktivität eines Bearbeitungsprozesses einer CNC-Maschine
DE69034089T2 (de) Verfahren und Einrichtung zur Bearbeitung von Löcher mittels eines rotierenden Werkzeugs
DE19781968T9 (de) Werkzeugschleifsimulationssystem
EP0657043B1 (de) Konfigurierbarer mensch-maschine-kommunikationsbereich für werkzeugmaschinen- oder robotersteuerungen
DE102010036499B4 (de) Werkzeugvektor-Anzeigevorrichtung für eine Werkzeugmaschine mit Drehachse
DE112015004920T5 (de) Computerimplementiertes Verfahren zur Teilanalytik eines Werkstücks, das von mindestens einer CNC- Maschine bearbeitet wird
DE112009001797T5 (de) Verfahren und Systeme zur Herstellung einer Komponente
DE102016207820A1 (de) System und Verfahren zum Implementieren einer Kompensation von globalen und lokalen Offsets in computergesteuerten Systemen
DE112017000203B4 (de) Numerische Steuerung und numerisches Steuerungsverfahren
DE19900117A1 (de) Virtuelles Teach-In-System
DE102009004285A1 (de) Verfahren und Vorrichtung zur Optimierung, Überwachung oder Analyse eines Prozesses
DE102017116459B4 (de) Cad/cam-cnc-integriertes system
WO2011131509A1 (de) Nc-programm und verfahren zur vereinfachten nachproduktion an einer werkzeugmaschine
DE102018218202A1 (de) Postprozessor-vorrichtung, maschinenprogramm erzeugungsverfahren, cnc-bearbeitungssystem und programm für eine maschinenprogramm-erzeugung
DE102018218201A1 (de) Numerische steuereinrichtung, cnc-werkzeugmaschine, numerisches steuerverfahren und programm für eine numerische steuerung
DE10393527T5 (de) Systeme und Verfahren zur Darstellung komplexer n-Kurven für die Direktsteuerung einer Werkzeugbewegung
DE102013216136B3 (de) Verfahren und Vorrichtung zur automatisierten Konfiguration einer Überwachungsfunktion eines Industrieroboters
DE102020124734A1 (de) Simulationsgerät
DE4039132C2 (de) Verfahren zur Erzeugung von NC-Kodes
EP2110727A2 (de) Verfahren zur Steuerung eines Roboters
EP1431851B1 (de) Integrierte Werkzeugfertigung und -vermessung
DE112005002185B4 (de) Verfahren zum Betrieb einer Automatisierungseinrichtung bzw. Vorrichtung zur Durchführung des Verfahrens
DE60023516T2 (de) Gerät zur Erzeugung von Werkzeugbahndaten für NC-Maschine und mit diesem Gerät ausgerüstete numerische Steuerung
DE69910375T2 (de) Verfahren und vorrichtung zur sequenzen-erstellung für numerisch gesteuerte maschinenwerkzeuge

Legal Events

Date Code Title Description
8332 No legal effect for de
8370 Indication related to discontinuation of the patent is to be deleted
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee