DE3134315C2 - - Google Patents

Info

Publication number
DE3134315C2
DE3134315C2 DE3134315A DE3134315A DE3134315C2 DE 3134315 C2 DE3134315 C2 DE 3134315C2 DE 3134315 A DE3134315 A DE 3134315A DE 3134315 A DE3134315 A DE 3134315A DE 3134315 C2 DE3134315 C2 DE 3134315C2
Authority
DE
Germany
Prior art keywords
signal
coordinate
sensing element
signals
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE3134315A
Other languages
English (en)
Other versions
DE3134315C3 (de
DE3134315A1 (de
Inventor
John Albert Berenberg
William Andrew Haggerty
Richard Linder Cincinnati Ohio Us Kegg
Myron Jeffrey Milford Ohio Us Schmenk
Jun. Ralph Charles West Chester Ohio Us Taylor
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.)
Milacron Inc
Original Assignee
Milacron Inc
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 Milacron Inc filed Critical Milacron Inc
Publication of DE3134315A1 publication Critical patent/DE3134315A1/de
Application granted granted Critical
Publication of DE3134315C3 publication Critical patent/DE3134315C3/de
Publication of DE3134315C2 publication Critical patent/DE3134315C2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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/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/4083Adapting programme, configuration
    • 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/34393Stop program if needed workpiece, tool or data lacks, misses
    • 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/36503Adapt program to real coordinates, software orientation
    • 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/37Measurements
    • G05B2219/37052Sense surface, mean value used as reference surface
    • 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/37Measurements
    • G05B2219/37357Force, pressure, weight or deflection
    • 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/37Measurements
    • G05B2219/37405Contact detection between workpiece and tool, probe, feeler
    • 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/41363Excess in error, error too large, follow up error
    • 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/49Nc machine tool, till multiple
    • G05B2219/49157Limitation, collision, interference, forbidden zones, avoid obstacles
    • 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/49Nc machine tool, till multiple
    • G05B2219/49302Part, workpiece, code, tool identification
    • 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/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50252Replace, change tool with tracer head, probe, feeler

Description

Die Erfindung betrifft ein Verfahren zum Messen der Ist-Position von Werkstückoberflächen und zum Modifizieren von Befehlssignalen gemäß dem Oberbegriff des Anspruchs 1.
Ein derartiges Verfahren zum Messen der Ist-Position von Werkstückober­ flächen und zum Modifizieren von Befehlssignalen ist aus der GB-PS 12 69 999 bekannt. In der GB-PS wird ein Verfahren zum Messen der Ist- Position von Werkstückoberflächen und der Kompensation von Programm- Befehlssignalen beschrieben, um Bearbeitungsfehler auszuschließen. Nach diesem Verfahren wird erst eine Referenzbohrung im Werkstück angebracht und daran anschließend wird ein Meßwerkzeug positioniert, um die Koor­ dination von Punkten am Umfang der gerade hergestellten Bohrung zu mes­ sen. Weiterhin ist ein zusätzliches Positionieren erforderlich, um vom Meßwerkzeug zum Schneidwerkzeug überzuwechseln. Ferner ist der wt-Z. ind. Fertig. 70, August 1980, Seiten 505-509, ein Verfahren zum mechani­ schen Abtasten der zu bearbeitenden Werkstückoberfläche mittels eines Sensorkamms, bestehend aus fünf Tastfühlern, zu entnehmen, wobei eine Anzahl unterschiedlicher Koordinatenpunkte aufgenommen werden. Aller­ dings sehen diese Verfahren keine Möglichkeit vor, die Koordinaten­ daten an mehreren Orten eines unbearbeiteten Werkstücks aufzunehmen.
Daher ist es Aufgabe der vorliegenden Erfindung, das eingangs genannte Verfah­ ren so zu verbessern, daß es auf unbearbeitete Werkstückoberflächen an­ wendbar ist.
Diese Aufgabe wird erfindungsgemäß durch die kennzeichnenden Merkmale im Anspruch 1 gelöst.
Einer der Vorteile der vorliegenden Erfindung ist darin zu sehen, daß sich hiermit die Positionsmessung von unbearbeiteten Werkstückoberflä­ chen während eines Abtastzyklus durchführen läßt, wobei die Oberfläche des Werkstücks durch Akkumulation von Positionsdaten definiert wird. Die gesammelten Daten können dann verwendet werden, um Minimalwerte und Maximalwerte zu bilden. Es können auch Durchschnittswerte gebildet werden, wodurch es möglich wird, den übermäßigen Einfluß von Oberflä­ chenunregelmäßigkeiten bei unbearbeiteten Oberflächen auszuschalten.
Mit Hilfe der vorliegenden Erfindung können ausgewählte Werte, die wäh­ rend des Abtastzyklus durch Vielfachmessungen an unterschiedlichen Punk­ ten der Oberfläche erzeugt werden, gespeichert werden, genau so wie Ko­ ordinaten-Offset-Werte, welche unter Verwendung der gemessenen Maximal- Minimal- oder Durchschnittswerte berechnet werden. Die Offset-Werte kön­ nen programmgemäß auf die nachfolgenden Bearbeitungsschritte angewendet werden, um die Programmkoordinaten entsprechend der tatsächlichen Po­ sition zu modifizieren. Auf diese Weise werden Schwankungen der Posi­ tion der Bezugsfläche von Werkstück zu Werkstück automatisch ausgegli­ chen.
Ein weiterer, wesentlicher Vorteil liegt darin, daß die vorliegende Er­ findung die Durchführung des Abtastzyklus zur Positionsbestimmung vor der Durchführung des Arbeitszyklus vorsieht. Hierdurch werden längere Zykluszeiten vermieden, wie sie im Verfahren der obengenannten Druck­ schrift (GB-PS 12 69 999) durch mehrmaliges Positionieren des Schneidwerkzeugs erfor­ derlich sind.
Vorteilhafte Ausgestaltungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
Im folgenden werden Ausführungsbeispiele der Erfindung an­ hand der Zeichnungen näher erläutert. Es zeigt
Fig. 1 eine perspektivische Ansicht von Teilen einer Maschine, bei der die vorliegende Erfindung an­ wendbar ist,
Fig. 2 ein Blockdiagramm einer numerischen Rechner­ steuerung als Ausführungsbeispiel der vorlie­ genden Erfindung,
Fig. 3 ein Flußdiagramm der Prozeßschritte zum Ausfüh­ ren eines allgemeinen Maschinen-Betriebszyklus,
Fig. 4a bis 4c Flußdiagramm der Prozeßschritte zum Messen eines Punkts an dem Werkstück,
Fig. 5a und 5b Flußdiagramm der Prozeßschritte zum Berechnen von Offsets,
Fig. 6a bis 6f Flußdiagramm der Verarbeitungs­ schritte zum Prüfen der gemessenen und berechneten Werte im Hinblick auf die programmierten Maxima und Minima,
Fig. 7 ein Flußdiagramm der Prozeßschritte zum Rück­ setzen des Oberflächendatenspeichers, und
Fig. 8 ein Flußdiagramm der Prozeßschritte zum wahl­ weisen aktivieren und deaktivieren einer Ober­ flächen-Fühlsonde.
Fig. 1 zeigt in schematischer Form Teile einer Maschine, bei der die vorliegende Erfindung angewendet werden kann. Motoren 10 sowie dazugehörige Positionswandler 11 sind mechanisch mit Schlitten 12 verbunden, um letztere entlang der statio­ nären Gleitschienen 13 zu bewegen und Signale zu erzeugen, die die relative Position der jeweiligen Schlitten 10 kenn­ zeichnen. Die Schlitten 12 und die stationären Schienen 13 sind parallel zueinander senkrecht stehenden Achsen eines kartesischen Koordinatensystems 17 angeordnet. Ein mechani­ sches Koordinatensystem entsteht durch die mechanischen Verbindungen der Motoren 10 und Positionswandlers 11 mit den Schlitten 12.
Ein Werkstück 14 wird von einem Tisch 18 getragen, der seinerseits an dem Schlitten 12 befestigt ist, die parallel zu der X- und Y-Achse des Koordinatensystems laufen. An einem der Schlitten 12, der parallel zur Z- Achse des Koordinatensystems 17 läuft, ist ein Werkzeug­ halter 15 befestigt. Diesem ist ein Fühlelement 16 zuge­ ordnet, dessen relative Bewegung bezüglich des Werkstücks 14 durch die Motoren 10 bewerkstelligt wird. Das Werkstück 14 wird auf dem Tisch 18 mittels Befestigungsklammern 21 gehalten, die an Anordnungsbezugsflächen 19 liegen. Voraus­ gesetzt, daß das dargestellte Werkstück 14 richtig auf dem Tisch 18 ausgerichtet ist, definieren die Anordnungs­ bezugsflächen 19 Ebenen, die parallel zu den durch das Koordinatensystem 17 definierten Ebenen verlaufen. Das Werkstück kann ein Merkmal oder ein charakteristisches Element wie z. B. eine Rippe 23 aufweisen, deren Position bezüglich der Anordnungsbezugsfläche 19 von einem Werkstück zum anderen als Folge von Herstellungsvariablen schwankt. Weiterhin kann aufgrund der Abweichungen der Befestigungsklammern 21 oder deren Bewegung die exakte Position der Anordnungsbezugs­ flächen 19 bezüglich des Maschinen-Koordinatensystems von Werkstück zu Werkstück variieren.
Jegliche Bewegungen der Schlitten 12 werden durch eine Steuerung 25, die in Fig. 2 dargestellt ist, gesteuert. Die Steuerung erfolgt durch erzeugte Signale, die mit den Schlitten-Motorantrieben und Positionswandlern 42 ausge­ tauscht werden. Die Erfindung wird hier anhand eines Ver­ fahrens zum Bestimmen der Positionsschwankungen der Anord­ nungsbezugsflächen 19 und der Werkstückmerkmale, beispielsweise wie der Rippe 23 zum automatischen Modifizieren der von der Steuerung 25 erzeugten Positionierungsbefehle beschrie­ ben; somit kann das Werkstück 14 nach Maßgabe eines in der Steuerung 25 gespeicherten Bearbeitungsprogramms unab­ hängig von diesen Positionsschwankungen bearbeitet werden.
Fig. 2 ist ein allgemeines Blockdiagramm, das die Archi­ tektur einer numerischen Rechnersteuerung 25 darstellt, durch die die vorliegende Erfindung ausgeführt werden kann. Wenngleich die speziell dargestellten Bauteile die Ele­ mente der numerischen Rechnersteuerung sind, die von der Firma Cincinnati Milacron Inc. hergestellt wird, so kann die Erfindung auch mittels einer anderen numerischen Rechnersteuerung realisiert werden, die entsprechende Bauelemente aufweist. Die Einzelheiten der Rechnerarchi­ tektur sind daher nicht als Beschränkung des Erfindungs­ gedankens aufzufassen.
Die hauptsächliche Nachrichtenverbindung zwischen Bedie­ nungsperson und Steuerung besteht in den Steuerkonsolen­ einrichtungen mit Bildschirm 20, Tastatur 22, Programm­ eingaberäten 24 und 26 und Steuerknöpfen und -anzeige­ lämpchen 28. Diese Einrichtungen sind ihrerseits über das Steuermodul-Interface 50 an einen Rechner 51 angeschlossen. Sämtliche zwischen diesen Geräten und dem Rechner ausge­ tauschte Information läuft über einen Eingangsdatenbus 48 und einen Ausgangsdatenbus 46. Diese Buse (Datensammel­ schienen) bestehen aus acht parallelen Signalleitungen. Die Nachrichtenverbindung zwischen Maschine und Steuerung, über die die Steuerung die Maschinenzustände überwacht, und den Betrieb der Maschine steuert, erfolgt über einen Satz von Maschinen-Interfaceeinheiten, darunter die Schlit­ ten-Servosteuerung 30, das Maschinen-Solenoidinterface 32, das Maschinenlämpchen-Interface 34, das Maschinen-Grenz­ schalterinterface 36, das Maschinen-Tasten-Interface 38 und die Spindelgeschwindigkeitssteuerung 40. Diese Inter­ faceeinheiten steuern die folgenden entsprechenden Maschinen­ elemente: Die Schlittenmotorantriebe und Stellungswandler 42, die Werkzeugwechselelemente und andere diverse Mecha­ nismen 44, die Maschinenanzeigelämpchen 50, die Maschinen­ schlitten-Überlaufschalter und andere Grenzschalter 56, die Bediener-Funktionstasten 58 und die Spindelmotorantriebs­ steuerung 60. Diese Maschinenelemente sind über ihre zuge­ hörigen Schnittstellen (Interfaces) an den Rechner über einen Maschinen-Interfacebus 42 angeschlossen, und jeglicher Informationsaustausch zwischen diesen Elementen und dem Rechner erfolgt über den Eingabedatenbus 48 und den Ausgabe­ datenbus 46.
Die Oberflächen-Abfühlinformation wird von einer Sonde 64 ermittelt, die über eine Sondenschnittstelle 62 an den Maschinen-Interfacebus 52 angeschlossen ist. Bei der bei der Anmelderin hergestellten Ausführungsform handelt es sich bei der Sonde 64 um eine käuflich erwerbbare drei­ dimensionale Kontaktsonde, die einen Grenzschalterkontakt aufweist, welcher bei einer Sondenauslenkung aktiviert und bei nicht erfolgender Sondenauslenkung deaktiviert wird.
Der Zustand des Sonden-Grenzschalters wird von dem Sonden- Interface 42 erfaßt, der diese Information über den Maschinen-Interfacebus 52 überträgt. Der Fachmann erkennt, daß die Erfindung mit anderen Fühleinrichtungen, z. B. mit einem kapazitiven Sensor, einem photoelektrischen Sensor, einem akustischen Sensor oder irgendeiner anderen Strah­ lungs-Fühleinrichtung ausgeführt werden kann.
Als Alternative zu der Oberflächen-Berührungssonde 64 sieht die Erfindung ein Drehmomentsteuermodul 66 vor, das die Spindelmotorwandler 68 überprüft. Die Spindelmotorwandler messen den Strom, die Spannung und die Winkelgeschwindigkeit des Spindelmotors. Die Einzelheiten des Drehmomentsteuer­ moduls 66 sind in der nachveröffentlichten US 42 37 408 beschrieben. Anstelle des Moduls 66 und der Wandler 68 könnte ein anderes käuflich erwerbbares Schneidkraft-Fühlsystem verwendet werden, das dem Programmie­ rer gestattet, eine ermittelbare Kraftgrenze zu definieren.
Der Rechner 51 besteht grundsätzlich aus einem Speicher 72 zum Speichern von Programmbefehlen und Programmdaten, so­ wie einer zentralen Verarbeitungseinheit (CPU) 70, die die Programmbefehle interpretiert und die Programmdaten mani­ puliert. Ein Betriebssystemprogramm 81 steuert den Ausfüh­ rungsablauf der Programme innerhalb des Rechners. Unter der Aufsicht eines Maschinenzyklus-Steuerungsprogramms 80 steuert ein Lese/Anzeige-Steuerprogramm 74 die Eingabe eines Maschinenprogramms sowie anderer Informationen über die Eingabegeräte 24 und 26 und die Tastatur 22 sowie die Steuerknöpfe 28. Bei einem Eingabegerät-Steuerprogramm 76 handelt es sich um eine Routine zum Steuern des Betriebs eines Bandlesegeräts oder einer anderen Eingabevorrichtung. Das Anzeigeformat-Programm 78 definiert die Zeichenstellen und andere Anzeigeoperationen, die sich auf den Bildschirm 20 beziehen. Das N/C-Blockdiagramm 82 decodiert die ankom­ menden Daten, führt eine Paritäts- und andere Fehlerprü­ fungen durch und wandelt die Daten in ein Format um, das sich für die numerische Steuerung eignet.
Das Datenaufbereitungsprogramm 86 hat die allgemeine Funktion, von dem N/C-Blockprogramm 82 verarbeitete Daten zu sortieren und die Daten in den zugehörigen Speicher­ stellen zu speichern. Unter Steuerung des Datenaufberei­ tungsprogramms 86 speichert das Werkzeugdatenprogramm 87 die aktiven verwendeten Werkzeuge sowie Kompensationswerte für die Länge oder den Durchmesser dieser Werkzeuge, die von der Bedienungsperson von Hand eingegeben werden, oder die durch eine automatische Werkzeug-Meßlehre automatisch eingegeben werden. Die numerische Rechnersteuerung 25 behandelt die Sonde 64 als eine Art Werkzeug, und daher speichert das Werkzeugdatenprogramm 67 Werkzeugnummer­ information, die die Sonde kennzeichnet, und es speichert darüber hinaus Daten betreffend die Sonden-Länge und den Sonden-Spitzendurchmesser. Das Programm 88 zum Speichern und Decodieren von Vorbereitungs- und verschiedenen Funktionen spricht auf einen Datenblock an und decodiert sämtliche geeigneten vermischten Vor- und Nach-Meßspannen- Funktionsinformationen, die die Meßspannen betreffen, welche bei den Vorbereitungsfunktionen erforderlich sind. Dieses Programm spricht auf eine Anzahl von neuen Vor­ bereitungsfunktions-G-Codes an, die hier definiert werden, um den Abtastzyklus und die erforderlichen arithmetischen Funktionen einzuleiten. Weiter spricht dieses Programm auf Eingabedaten an, um die Drehmomentsteuerschaltung so­ wie die definierenden Drehmomentgrenzen zu aktivieren und abzugleichen. Ein Identifizierprogramm für aktive Ober­ flächen 90, aktiviert eine durch den Programmierer ange­ forderte Versetzung (Offset) und aktiviert die geeigneten Oberflächendatentabellen 92 zum Speichern der gemessenen Information. Der Speicher 94 für Ist- und Soll-Vorschub­ geschwindigkeit und -Position enthält die Daten betreffend die derzeitige und zukünftige Vorschubgeschwindigkeit und -Information. Bei gegebenen Positions- und Vorschubgeschwin­ digkeitsdaten und weiterer Information zum Modifizieren der Werkzeugposition bestimmt das Meßspannendaten-Berech­ nungsprogramm 96 der Betrag der laufenden Meßspannen­ länge und legt die axialen Versetzungen und Vorschubge­ schwindigkeiten fest, um die gewünschte Spanne zu er­ reichen. Der Speicher 98 für Spindelgeschwindigkeit und Werkzeugbefehl definiert diejenigen Spindelgeschwindigkei­ ten und Werkzeuge, die von dem Programmierer während der ausgeführten Spanne angefordert werden.
Ein Ausgabesteuerprogramm 102 empfängt die Daten von dem Datenaufbereitungsprogramm 86 und steuert die Ausführung und den Transfer dieser Daten zu den Maschinenelementen. Ein Spannen-Ausführungssteuerprogramm 104 steuert die Erzeugung und Verteilung von Befehlssignalen, welche axiale Koordinatendaten für die verschiedenen Servomechanismen repräsentieren. Ein Mechanismus-Anforderungsprogramm 106 steuert die Ausführung von Vorspannen- und Nachspannen- Maschinenfunktionen. Ein Spannen- oder Prozeß-Abschlußpro­ gramm 108 folgt der Ausführung einer speziellen Bearbei­ tungsspanne durch die Maschine und bestimmt die erfolg­ reiche Ausführung einer speziellen Bearbeitungsspanne oder ihre vorzeitige Beendigung. Ein Fühlelement-Unterbrechungs- und Serviceprogramm 110 steuert das Aktivieren der Sonde 64 oder des Drehmomentfühlmoduls 66. Wenn das Oberflächen­ fühlelement aktiviert ist, führt das Programm eine Über­ wachung hinsichtlich einer Unterbrechung des Oberflächen­ fühlelements durch, was anzeigt, daß die Oberfläche er­ faßt wurde und das Programm lenkt dann die Aktivität, die von der eigentlichen Vorbereitungsfunktion gefordert wird. Das Offset- und Testprogramm 112 führt in der Gesamtheit arithmetische Funktionen aus, die von dem Programmierer definiert werden, um entweder Offsets (Versetzungen) zu berechnen oder Toleranzbereichstest als Ergebnis der Ober­ flächenabtastung durchzuführen.
Die Mechanismussteuerung 116 spricht auf Anforderungen seitens des Mechanismus-Anforderungsprogramms 106 an, um die notwendigen Maschinenelemente zu aktivieren, so daß der erforderliche Maschinenprozeß ausgeführt wird. Eine Prozeßanforderungs-Warteschlange 118 speichert eine An­ zahl von erforderlichen Prozessen. Ein Prozeßeinleitungs­ programm 120 behandelt die Warteschlange und leitet die dort gespeicherten Prozesse ein. Ein Prozeßausführungs- Steuerprogramm 122 überwacht die Ausführung der aktivier­ ten Prozesse und bestimmt, wann diese Prozesse ihre Akti­ vität beendet haben.
Fig. 3 ist ein Flußdiagramm eines allgemeinen Maschinen­ zyklus, das Diagramm veranschaulicht die Tätigkeiten der Komponenten der Blöcke gemäß Fig. 2, wie diese auf einen Informationsblock in einem Maschinenprogramm einwirken. Wenn man annimmt, daß die Steuerung in einer Betriebsart "numerische Steuerung" arbeitet, im Gegensatz zu einer Betriebsart "manuell" oder "manuelle Dateneingabe", so wird der Maschinenzyklus eingeleitet, wenn die Bedienungs­ person einen Zyklus-Startknopf herabdrückt. Ansprechend auf den Erhalt eines Eingangssignals von dem Zyklus- Startknopf legt das Maschinenzyklus-Steuerprogramm 80 (vgl. Fig. 2) fest, daß ein Befehlsblock sowie zugehörige Daten von einem der Programm-Eingabegeräte 24 oder 26 übertragen werden. Ein Prozeßschritt 124 fordert den Transfer eines Informationsblocks von einem Eingabegerät in die Steuerung an. Lochstreifenleser und Einheiten für flexible Plattenspeicher sind typische Programm-Eingabe­ geräte, wie sie hier zum Einsatz gelangen. Das derzeit aktive Eingabegerät wird identifiziert durch das Teile­ programm und das Lese/Anzeige-Steuerprogramm 74, das aus dem Satz von Programmen 76 das geeignete Eingabegerät- Steuerprogramm auswählt. Dann werden von dem aktiven Eingabegerät Teileprogramm-Daten in einen Pufferspeicher­ bereich übertragen, der dem N/C-Blockprogramm 82 zugeordnet ist.
Der Prozeßschritt 126 gemäß Fig. 3 stellt die Verarbei­ tung des Informationsblocks dar. Die N/C-Blockprogramme 82 gemäß Fig. 2 übernehmen Datenfehlerprüfungen und wan­ deln die Daten aus dem Code u, in dem sie von dem Eingabe­ gerät empfangen wurden, in einen Binärcode um. Das Ma­ schinenzyklus-Steuerprogramm 80 legt dann fest, daß das Datenaufbereitungsprogramm 86 die Maschinenschlitten­ daten von den Maschinen-Mechanismusdaten separiert und die inkrementalen Versetzungen der Maschinenschlitten be­ rechnet. Das Maschinenzyklus-Steuerprogramm 80 veranlaßt das Ausgabesteuerprogramm 102, Achsen- und Interpolations­ daten von solchen Mechanismus-Betriebsabläufen, wie Spin­ delgeschwindigkeit, Werkzeugnummer und verschiedene Funktionsbefehle zu separieren. Das Ausgabesteuerpro­ gramm 102 überträgt dann Daten betreffend die Spannen­ länge und die Vorschubgeschwindigkeit über den Maschinen- Interfacebus 52 an die Servosteuerung 30.
Im Prozeßschritt 128 wird entschieden, ob eine Interpola­ tion erforderlich ist. Bei der vorliegenden Erfindung können gewisse Informationsblöcke programmiert sein, in denen keine Schlittenbewegung erfolgt, jedoch gewisse Rechenfunktionen ausgeführt werden müssen. Falls keine Interpolation erforderlich ist, geht der Prozeß zum Schritt 130 weiter, bei dem die Ausführung der arithme­ tischen Funktionen erfolgt. Es sei nochmals Bezug auf Fig. 2 genommen. In solchen Informationsblöcken, die arithmetische Operationen erforderlich machen, werden spezielle Aufbereitungscodes durch den Decodier- und Spei­ cherblock 88 decodiert. Das Oberflächenfunktionsprogramm 100 stellt die notwendige Information und Daten für die Ausführung der erforderlichen arithmetischen Funktion zusammen. Danach veranlaßt die Ausgabesteuerung 102 das Offset- und Testprogramm 112 zur Ausführung der erforder­ lichen arithmetischen Funktionen. Der Spannen-Prozeß- Abschlußblock 108 stellt fest, wann diese arithmetischen Funktionen vollständig ausgeführt sind und leitet den Prozeß zum nächsten Datenblock weiter.
Wenn gemäß Fig. 3 im Prozeßschritt 128 eine Interpolation erforderlich ist, folgt Prozeßschritt 132, der die Aus­ führung jener Maschinenprozesse einleitet, die vor der Bewegung der Maschinenschlitten stattfinden müssen, z. B. das Einschalten der Spindel und des Kühlmittels, das Akti­ vieren des Drehmomentsteuermoduls, das Einstellen einer bestimmten Drehmomentgrenze usw. Das Ausgabesteuerpro­ gramm 102 gemäß Fig. 2 leitet einen Maschinenprozeß ein, indem die Mechanismussteuerung 116 aktiviert wird, welche die Prozeß-Warteschlange 118 behandelt. Die Wirkung die­ ser Aktivierung besteht darin, daß der Start einer Achsen­ interpolation verhindert wird und die Mechanismussteuerung 116 die erforderlichen Vor-Spannen-Maschinenprozesse aus­ führt, wie es im Schritt 134 in Fig. 3 definiert ist.
Nachdem die erforderlichen Prozesse abgeschlossen sind, veranlaßt das Prozeßausführungs-Steuerprogramm 122 die Mechanismussteuerung 116, ein Start-Freigabesignal für einen Spannen-N/C-Zyklus zu erzeugen, wodurch das CNC- Betriebssystem eine Achseninterpolation für ein Spannen­ ende oder eine Fühlelement-Unterbrechung ermöglichen kann, wie es in Schritt 136 in Fig. 3 festgelegt ist. Wenn ent­ lang einer Bewegungsachse ein Abtastzyklus ausgeführt wird, definiert der Abtast-Informationsblock einen End­ punkt innerhalb einer Werkstückoberfläche. Wenn folglich die Sonde das Werkstück berührt oder das Schneidwerkzeug das Werkstück erfaßt, erzeugt das aktive Fühlelement- Interface, d. h., das Drehmomentsteuermodul 66 oder das Sonden-Interface 62 eine Unterbrechung, die eine Behand­ lung durch das Fühlelement-Unterbrechungs- und Service­ programm 110 erforderlich macht. Dies veranlaßt eine un­ mittelbare Sperre der Schlittenbewegung; nach Beendigung des Abtastzyklus wird ein Spannen-Ende-Signal erzeugt. Wenn das Werkstück nicht vorhanden ist, wird ein Spannen- Ende auf normalem Wege erreicht. In jedem Fall erfordert der Prozeßschritt 38, daß das Ausgabesteuerprogramm 102 die Ausführung der Nach-Spannen-Maschinenprozesse einlei­ tet.
Die nach einer Interpolation auszuführenden speziellen Prozesse beinhalten solche Funktionen wie das Anhalten der Spindel, das Absperren des Kühlmittels und das Wechseln der Werkzeuge. Das CNC-Betriebssystem aktiviert die Mecha­ nismussteuerung 116, die diese Prozesse ausführt, wie es in dem Schritt 140 in Fig. 3 vorgesehen ist. Das Be­ triebssystem wird an der erneuten Fortsetzung des auto­ matischen Maschinenzyklus verhindert, bis die Mechanismus­ steuerung 116 ein Spannen-Ende-Freigabesignal für den N/C-Zyklus erzeugt. Entsprechend dem Prozeßschritt 142 in Fig. 3 leitet die endgültige N/C-Zyklusfreigabe, falls das Maschinenprogramm nicht beendet ist, den Transfer eines weiteren Informationsblocks und die Ausführung eines weiteren Maschinenzyklus ein. Der Prozeß gemäß Fig. 3 dauert bis zum Ende des Teileprogramms an.
Die Erfindung verschafft dem Programmierer die Möglichkeit, Oberflächenerfassungselemente zu verwenden, um die Stellun­ gen der Werkstück-Merkmale zu messen und die Stellungen für die anschließende Verwendung zu speichern. In dem be­ vorzugten Ausführungsbeispiel wird ein Oberflächenmeß­ zyklus mit speziellen Vorbereitungsfunktionen, die von einer G-Adresse markiert sind, eingeleitet. In Entspre­ chung der Programmvereinbarungen kann ein aus zwei Ziffern bestehendes G-Wort willkürlich gewählt werden. Als Beispiel wird hier Gpp einen Meßzyklus unter Ver­ wendung der Oberflächen-Berührungssonde und Gtt einen Meßzyklus unter Verwendung eines Schneidwerkzeug-Dreh­ moments definieren.
Wie oben bereits erläutert wurde, ist die Werkzeugwech­ selfunktion eine Spannen-End-Funktion. Daher muß der Pro­ grammierer in dem einem Meßzyklus vorausgehenden Infor­ mationsblock einen Werkzeug-Wechselzyklus definieren, um entweder die Sonde oder das geeignete Schneidwerkzeug in dem Werkzeughalter anzuordnen.
Beim Bearbeiten eines Werkstücks ist es im allgemeinen zunächst erforderlich, die Lage des Werkstücks in Relation zu den programmierten Koordinatendaten zu definieren. Danach können verschiedene Werkstückeigenschaften defi­ niert werden. Typischerweise weist ein Roh-Werkzeug zu­ vor behandelte Anordnungsbezugsflächen in den X-,Y- und Z-Achsen auf. Daher kann der Programmierer entlang je­ der dieser Bewegungsachsen aufeinanderfolgende Meßzyklen definieren, um die exakte Lage dieser Oberfläche zu messen und hieraus einen Programm-Startpunkt einzurich­ ten. Wenn man davon ausgeht, daß eine Oberflächen-Berüh­ rungssonde verwendet wird, so würde der Programmierer in der Praxis die Sonde in dem Werkzeughalter anordnen und die Sonde in eine Position entgegen der X-Bezugs­ ebene bewegen. In dem Maschinenprogramm würden die folgen­ den Blockdaten programmiert werden, die einen Werkstück- Anordnungsbefehlsblock definieren:
Nnnn Gpp Xxxxxxxx Iiiiiiii
Nnnn definiert die laufende Nummer des Blocks in dem Be­ arbeitungsprogramm. Gpp ist ein Oberflächen-Meßbefehl, der einen Oberflächen-Berührungsmeßzyklus definiert. Die X-Adresse definiert die Achse, in der der Meßzyklus er­ folgen soll und die numerischen Daten des X-Wortes defi­ nieren eine Stelle auf der X-Achse. Iiiiiiii, eine an­ genommene Koordinate, definiert den Koordinatenwert, der der X-Achsen-Anordnungsbezugsebene zuzuordnen ist.
Nimmt man an, daß der Teile-Anordnungszyklus erfolgen soll, nachdem die Bedienungsperson die Maschine initiali­ siert und die Schlitten ausgerichtet hat, so erzeugen an­ schließend sämtliche Schlittenbewegungen Ist-Positions­ daten, deren Werte bezüglich des Maschinen-Koordinaten­ systems gemessen sind. Wie oben bereits gesagt wurde, werden jedoch die Bearbeitungsprogramm-Koordinatenwerte relativ zu einem von dem Programmierer definierten Pro­ grammkoordinatensystem gemessen. Die Wirkung der Zuord­ nung eines programmierten Koordinatenwertes zu einer tatsächlichen oder Ist-Schlittenposition besteht darin, eine umgesetzte laufende Schlittenposition zu generieren, die eine Translation oder Umsetzung der laufenden Schlit­ tenposition bezüglich des Maschinen-Koordinatensystems wiederspiegelt. Danach werden sämtliche durch die Steue­ rung in Abhängigkeit des Bearbeitungsprogramms generier­ ten Schlittenpositionsbefehle modifiziert, um diese Trans­ lation oder Umsetzung wiederzuspiegeln. Somit wird das Programm-Koordinatensystem wirksam bezüglich des Maschinen­ koordinatensystems umgesetzt. Der obige Informationsblock wird von dem N/C-Blockprogramm gelesen und decodiert. Die Datenaufbereitungsprogramme 86 decodieren die Vorberei­ tungsfunktion und bereiten einen Meßzyklus vor, der durch die Ausgabesteuerung 102 auszuführen ist. Die Prozeß­ schritte zum Ausführen des Betriebszyklus sind in Fig. 4a bis 4c niedergelegt.
Gemäß Fig. 4a erfordert der Prozeßschritt 144, daß das Fühlelement-Unterbrechnungsprogramm 110 eine Unterbre­ chung des aktiven Fühlelement-Interface ermöglicht (scharf macht), d. h., eine Unterbrechung des Drehmomentmoduls 66 oder des Sonden-Interface 62 ermöglicht. Der Prozeß­ schritt 146 sieht vor, daß die Ausgabesteuerung 102 sämt­ liche notwendigen Vorspannfunktionen ausführt. Bei dem bevorzugten Ausführungsbeispiel kann ein Informations­ block mit einem Meßzyklusbefehl irgendeine der üblichen gemischten Spindelgeschwindigkeits- und Werkzeugfunktionen enthalten. Als nächstes veranlaßt der Prozeßblock 148 die Steuerung, Abtastbefehlssignale zu erzeugen, um mit einer vorgegebenen Vorschubgeschwindigkeit eine Angriffsspanne entlang des programmierten Weges durchzuführen. Es wird eine nicht-programmierte mögliche voreingestellte Vor­ schubgeschwindigkeit gewählt, um die Wiederholbarkeit zu verbessern und die Zykluszeit zu minimieren. Wenn die Vorschubgeschwindigkeit mit den Meßzyklusbefehlen programmiert wird, so wird sie für den nächsten Informati­ onsblock, der nicht für die Messung vorgesehen ist, ge­ speichert. Die Sonde bewegt sich entlang der X-Achse in Richtung auf die X-Achsen-Anordnungsbezugsfläche. Der Entscheidungsblock 150 ermittelt, ob eine Sensor-Unterbre­ chung entlang dieses Weges auftritt. Tritt keine Unter­ brechung auf und erreicht die Sonde die programmierte X- Position, wie es im Entscheidungsschritt 151 vorgegeben wird, so hält der Prozeßschritt 153 die Schlitten an und meldet eine Fehlerbedingung, weil das Werkstück sich nicht an der durch den Programmierer vorgegebenen Stelle befin­ det. Wenn die Sonde einen Punkt auf der Bezugsfläche be­ rührt und eine Unterbrechung für das System hervorruft, hat das Durchlaufen des Entscheidungsschritts 150 zur Folge, daß der Prozeßschritt 152 die Schlitten anhält. Der Prozeßschritt 154 sieht vor, daß ein Anfangsstel­ lungssignal aufgezeichnet wird, welches die Position des Punktes auf der Bezugsfläche repräsentiert.
Nach erfolgter Berührung kann die Stellung des Fühlele­ mentes aus verschiedenen Quellen abgeleitet werden. In einigen Situationen wird die Schlitten-Servosteuerung 30 Register beinhalten, die die laufende Schlittenstellung anzeigen. In solchen Situationen können die Registerin­ halte ausgelesen werden, um ein Achsen-Stellungssignal aufzuzeichnen. In anderen Situationen kann die Spannen- Ausführungssteuerung innerhalb der Ausgabesteuerung 102 eine Tabelle der laufenden Schlittenstellungen enthalten. Für den Fall, daß das Fühlelement-Unterbrechungsbehandlungs­ programm 110 eine Unterbrechung feststellt und das Spannen- Abschlußprogramm 108 eine Schlittenbewegung sperrt, kann das Achsen-Stellungssignal aus der laufenden Schlittenstel­ lungstabelle in der Spannen-Ausführungssteuerung 104 ge­ lesen werden. Wenn ein Meßzyklus entlang Bewegungsachsen ausgeführt wird, die senkrecht zu der Mittellinie des Fühlelementes verlaufen, wird das Achsenstellungssignal, das die Stellung des Fühlelementes angibt, durch einen ersten Kompensationswert modifiziert, welcher den Radius des Fühlelementes darstellt, damit das aufgezeichnete An­ fangsstellungssignal die Stellung oder Position des er­ faßten Punktes auf der Bezugsfläche wiedergibt. Wenn ein Meßzyklus parallel zu der Mittellinie des Fühlelementes ausgeführt wird, wird das Achsenstellungssignal durch ein zweites Kompensationssignal modifiziert, welches die Fühl­ elementlänge angibt, um das aufgezeichnete Anfangsposi­ tionssignal zu erzeugen.
Die Angriffsspanne der Sonde auf die X-Bezugsebene erfolgt typischerweise bei einer relativ hohen Vorschubgeschwindig­ keit. Daher wird aufgrund der nachfolgenden Fehler und weiterer Eigenschaften des Systems die aufgezeichnete An­ fangsstellung nicht innerhalb annehmbarer Toleranzen lie­ gen. Wenn die Oberflächen-Berührungssonde verwendet wird, erfolgt nach dem Entscheidungsschritt 156 der Prozeß­ schritt 158, der ein Rückzugsbefehlssignal erzeugt, das eine weitere Bewegung entlang der X-Achse zu einer Stellung darstellt, welche um eine vorbestimmte Entfernung inner­ halb der Anordnungsbezugsfläche liegt, so, wie es durch das Anfangspositionssignal definiert wird. Der Prozeß geht dann zum Schritt 160 gemäß Fig. 4b über, bei dem erneut eine Sensorunterbrechung ermöglicht wird. Im An­ schluß daran erzeugt der Prozeßschritt 162 ein Datener­ fassungs-Befehlssignal, das eine Bewegung über einen festen Versetzungsabstand zu einem Punkt außerhalb der Anordnungs­ bezugsfläche verursacht; diese Bewegung erfolgt bei einer geringeren Vorschubgeschwindigkeit. Im Entscheidungsschritt 164 wird die Sensor-Unterbrechung festgestellt, die be­ deutet, daß die Sonde den Kontakt mit dem erfaßten Punkt auf der X-Achsen-Anordnungsbezugsfläche verloren hat. In Abhängigkeit dieser Unterbrechung sperrt der Prozeßschritt 166 die Schlittenbewegung. Prozeßschritt 168 zeichnet ein X-Koordinatensignal auf, das die Stellung des Punktes auf der Bezugsoberfläche angibt, d. h., die Stellung des Fühl­ elementes, modifiziert mit der Länge oder dem Radius des Fühlelementes. Falls keine Sensor-Unterbrechung erfolgt, und das Ende der Spanne erreicht wird, was im Entschei­ dungsschritt 170 ermittelt wird, wird die Schlittenbewe­ gung gesperrt und es wird ein Fehler angezeigt. Wenn man annimmt, daß in Abhängigkeit davon, daß die Sonde den Be­ rührkontakt mit dem Werkstück verloren hat, eine Sensor- Unterbrechung erfolgte, erzeugt der Prozeßschritt 174 ein abschließendes Befehlssignal, um die Sonde mit niedriger vorgegebener Geschwindigkeit in eine Position zu bewe­ gen, die der X-Achsen-Anordnungsbezugsfläche benachbart ist. Die Werkzeughalte-Mittellinie wird von der Fläche um eine Entfernung versetzt, die dem Sondenradius entspricht.
Der Prozeß geht dann zum Entscheidungsschritt 176 über, wo das Vorhandensein der I-Adresse ermittelt wird. Die I-Adresse macht es erforderlich, daß der Prozeßschritt 178 festlegt, daß der erfaßte Punkt auf der Bezugsfläche, der dargestellt wird durch die laufende Stellung der Sonde, modifiziert mit dem Sondenradius, dem durch das I-Wort definierten Koordinatenwert zugeordnet wird. Es sei da­ rauf hingewiesen, daß beim Einstellen der Maschine in Vorbereitung auf die Ausführung des Programms die Bedie­ nungsperson der Maschine nach dem Anordnen der Sonde in dem Werkzeug-Speicherbereich der Maschine auch die Daten betreffend die Sondenlänge und den Sondendurchmesser eingeben muß. Diese Daten werden in dem Werkzeugdatenspei­ cher 87 zusammen mit weiterer Werkzeuginformation gespei­ chert. Da in diesem speziellen Block keine weitere Infor­ mation programmiert war, sind keine Nachspannfunktionen erforderlich. Der Prozeß geht zum nächsten Informations­ block weiter.
Um die Koordinaten für die Y- und Z-Bezugsflächen zu defi­ nieren, würde der Programmierer zuerst einen Werkstück- Anordnungsbefehlsblock definieren, welcher Abtastbefehls­ signale generieren würde, um die Sonde gegenüber der Y- Achsen-Anordnungsbezugsfläche zu positionieren. Dann wür­ de der folgende Informationsblock definiert werden:
Nnnn Gpp Yyyyyyyy Jjjjjjjj
Nach Erfassen des Gpp-Befehls und der Y-Adresse würden das Datenaufbereitungsprogramm 86 und die Ausgabesteuerung 102 eine Angriffspanne, eine Rückzugsspanne, eine Daten­ erfassungsspanne und eine Abschluß- oder Endspanne vor­ bereiten bzw. ausführen, um die Sonde entlang der Y-Be­ wegungsachse zu bewegen und sie in Berührungskontakt mit der Y-Achsenanordnungsbezugsfläche zu bringen. An diesem Punkt würde der Entscheidungsschritt 180 die J-Adresse erfassen und den Prozeßblock 182 veranlassen, die Y-Achsen- Anordnungsbezugsfläche als das J-Wort zu definieren.
Der Prozeß würde dadurch abgeschlossen, daß die Blöcke 184 und 186 für die Z-Bewegungsachse die Z-Achsen-Anord­ nungsbezugsfläche als das K-Wort festlegen, indem der fol­ gende Informationsblock für den Werkstück-Anordnungsbefehl verwendet wird:
Nnnn Gpp Zzzzzzzz Kkkkkkkk Rrrrrrrr
In dem obigen Informationsblock erfaßt der Entscheidungs­ schritt 188 das Vorhandensein der R-Adresse. Das R-Wort definiert in einem vorbestimmten Abstand oberhalb der Werkstückoberfläche eine Abstandsebene für einen festen Zyklus, um das Werkzeug zwischen festen Zyklen des Loch­ schneidens und Endbearbeitens zu bewegen. Der Meßzyklus gestattet dem Programmierer, die Anordnung dieser Ebene exakt einzustellen. Das R-Wort stellt ein auf die Oberflä­ chenlage zum Definieren der R-Ebene zu addierendes Inkre­ ment dar. Daher würde gemäß Fig. 4b, nachdem die R-Adresse im Schritt 188 gelesen wurde, der Schritt 190 die R-Ebene einstellen, auf das durch das R-Wort definierte Inkrement zuzüglich des Betrags des Z-Koordinatensignals, das im Block 168 aufgezeichnet wurde.
Wenn der Teile-Programmierer entschieden hat, zum Erfas­ sen der Bezugsflächen das Schneidwerkzeug-Drehmoment heran­ zuziehen, wären die obigen Informationsblöcke identisch mit den geschilderten, mit der Ausnahme, daß anstelle von Gpp nun Gtt verwendet und Fffff programmiert würde. Nach­ dem das Datenaufbereitungsprogramm den Drehmoment-Aufbe­ reitungscode erfaßt hätte, würde es die Ausgabesteuerung 102 veranlassen, die Drehmomentsteuermodul-Unterbrechung zu ermöglichen, welche darauf ansprechen würde, daß das Schneid-Drehmoment gleich oder größer wäre als ein vor­ ab definierter Drehmoment-Grenzwert. Der Drehmoment-Grenz­ wert repräsentiert ein Drehmoment, welches einen ober­ flächlichen Kontakt des Schneidwerkzeugs mit dem Werk­ stück darstellt. Hinsichtlich der Prozeßschritte 144, 146 und 148 in Fig. 4a würden das Datenaufbereitungs­ programm 86 und die Ausgabensteuerung 102 in der zuvor beschriebenen Weise arbeiten, um eine Angriffsspanne ent­ lang der programmierten Achse in Richtung der Anordnungs­ bezugsfläche einzuleiten, und zwar mit einer Vorschub­ geschwindigkeit, die durch das F-Wort festgelegt wird.
Die Sensor-Unterbrechung würde erfolgen, wenn das Dreh­ momentsteuermodul ein Berührungssignal erzeugt, das ein Schneid-Drehmoment anzeigen würde, welches gleich oder größer wäre als der Drehmoment-Grenzwert, und die Unter­ brechung würde bewirken, daß das Unterbrechungsbehandlungs­ programm 110 die Schlittenbewegung sperrt und ein Z-Koordi­ natensignal aufzeichnet, welches die Oberflächenstellung darstellt. Über den Entscheidungsschritt 156 würde im Schritt 192 ein Rückzugsbefehlssignal in Abhängigkeit des Z-Koordinatensignals erzeugt werden, um entlang der programmierten Achse zu der aufgezeichneten Stellung eine Rückzugsspanne durchzuführen. An dieser Stelle würde der Prozeß zum Entscheidungsschritt 176 gehen und in der oben beschriebenen Weise funktionieren.
Die Beschreibung von Fig. 4 bis zu diesem Punkt beschreibt eine erste Meßzyklus-Betriebsart, bei der die Bezugsflä­ chen relativ gut definiert sind, d. h. es handelt sich um behandelte Oberflächen. Rohgußstücke jedoch können rauhe Oberflächen und Rippen aufweisen, die beträchtlichen Schwankungen unterworfen sind. In diesem Fall kann das Tasten lediglich eines einzelnen Punkts auf der Oberfläche keine akkurate Definition der Lage einer Oberfläche geben. Daher weist der Oberflächenfühlzyklus eine zweite Betriebs­ art auf, die dem Programmierer gestattet, viele Punkte entlang der Oberfläche zu tasten und die relevanten statis­ tischen Eigenschaften der gemessenen Koordinaten, d. h., die Maximumwerte, die Minimumwerte, die Durchschnitts­ werte, die Standardabweichung, den Medianwert usw., zu sammeln.
Es sei angenommen, das Werkstück enthalte eine nicht be­ handelte Gußrippe, die parallel zu der Y-Bewegungsachse verlaufe, und der Programmierer wünsche, die Stellung einer Kante der Rippe in X-Bewegungsrichtung zu definieren. Um dies zu erreichen, muß die Sonde an verschiedenen Stellen entlang der Y-Achse positioniert werden, und an jeder Stelle wird ein Meßzyklus entlang der X-Bewegungsachse unter Verwendung der folgenden Blockinformation definiert:
Nnnn Gpp Xxxxxxxx Hhh
Der Vorbereitungscode zeigt wiederum an, daß die die Ober­ fläche berührende Sonde in dem Meßzyklus verwendet wird. Das Datenaufbereitungsprogramm 86 und die Ausgabesteuerung 102 bereiten eine Angriffsspanne in Richtung auf die Kante der Rippe entlang der X-Achse mit der vorgegebenen Vor­ schubgeschwindigkeit vor. Da die Sonde zum Fühlen der Oberfläche verwendet wird, werden eine Rückzugsspanne, eine Datenerfassungsspanne und eine Abschlußspanne ausge­ führt. Ein X-Koordinatensignal, das die Position eines Punkts an der Kante der Rippe repräsentiert, wird aufge­ zeichnet, wie es im Block 168 in Fig. 4b vorgesehen ist. Dann schreitet der Prozeß zum Schritt 194 in Fig. 4c fort, wo bestimmt wird, ob die H-Adresse vorhanden ist. Der H- Adresse ist ein aus zwei Ziffern bestehendes Wort zuge­ ordnet, das einen aktiven Oberflächenspeicherplatz defi­ niert, der in dem Identifizierprogramm für aktive Ober­ fläche, 90, gespeichert ist. Jeder H-Wort-Speicher weist fünf Hauptspeicherplätze zum Speichern ausgewählter Koordi­ natensignale auf. Die erste Stelle speichert einen Satz von X-, Y- und Z-Koordinatensignalen, die die Maximalwer­ te der gemessenen Koordinatenpositionen speichern; die zweite Stelle speichert einen Satz von X-, Y- und Z-Koordi­ natensignalen, die die Minimalwerte der gemessenen Koordi­ natenpositionen darstellen; die dritte Speicherstelle spei­ chert einen Satz von X-, Y- und Z-Koordinatensignalen, die die Summe der gemessenen Positionen darstellen, und die vierte Speicherstelle speichert ein Inkrementzahl- Signal, das die Anzal von Messungen darstellt, die zum Definieren einer Bezugsfläche erfolgen. Daher kann unter Heranziehung der Signale aus den dritten und vierten Speicherstellen der Durchschnittswert der gemessenen Ko­ ordinatenpositionen über den gesamten Meßzyklus hinweg errechnet werden. Die fünfte Speicherstelle speichert einen Satz von X-, Y- und Z-Offsetsignalen, die nachstehend noch erläutert werden.
Rückkehrend zum Prozeßschritt 194 in Fig. 4c erfordert das Vorhandensein der H-Adresse, daß der Prozeßblock 196 ein zuvor gespeichertes X-Koordinatensignal aus der ersten Stelle des Speichers, die durch das H-Wort identifiziert wird, wiederholt. Um das größere Koordinatensignal zu be­ stimmen, vergleicht der Prozeßschritt 198 die Werte des zuvor gespeicherten Signals und des laufenden X-Koordina­ tensignals. Wenn das laufende Koordinatensignal größer ist, veranlaßt Prozeßschritt 200, daß das laufende X- Koordinatensignal als maximal gemessene Position in der ersten Speicherstelle, die durch das H-Wort definiert wird, gespeichert wird; andernfalls bleibt das gespeicherte Ko­ ordinatensignal in der ersten Speicherstelle unverändert. Als nächstes holt der Prozeßschritt 202 ein zuvor ge­ speichertes X-Koordinatensignal aus der zweiten Speicher­ stelle in den H-Wort-Speicher. Der Prozeßschritt 204 ver­ gleicht die Größe des laufenden X-Koordinatensignals mit dem zuvor gespeicherten Signal, um das kleinere Koordi­ natensignal zu bestimmen. Wenn das laufende X-Koordi­ natensignal kleiner ist, so wird es in der zweiten Spei­ cherstelle des H-Wort-Speichers als neue minimale ge­ messene Position gespeichert, vgl. Prozeßschritt 206. Andernfalls bleibt der gespeicherte minimale Positions­ wert ungeändert. Als nächstes wird das laufende X-Koordi­ natensignal mit den zuvor gespeicherten X-Koordinatensig­ nalen in der dritten Speicherstelle des H-Wort-Speichers im Prozeßblock 208 summiert. Im Prozeßblock 210 wird die in der vierten Speicherstelle des H-Wort-Speichers ent­ haltene Zahl einmal inkrementiert (erhöht). Danach fährt der Prozeß mit dem Schritt 193 zur Ausführung der Vor­ spannfunktionen fort.
Bei jeder Ausführung des Meßzyklus an einer anderen Stelle entlang der Y-Achse wird ein anderes X-Koordinatensignal, das die Position der Kante der Rippe definiert, erzeugt, und die Signale in den Speicherstellen des H-Wort-Spei­ chers werden aktualisiert. Nach einer Anzahl von Meß­ zyklen hat der Programmierer also die Kante der Rippe identifizierende signifikante Daten gesammelt. Er kennt die hohen Punkte entlang der Kante, die niedrigen Punkte und ist in der Lage, ein durchschnittliches X-Koordinaten­ signal zu generieren, welches die durchschnittliche Meß­ position der Rippe in der X-Achse darstellt. Die gemesse­ nen Maximum- und Minimum-Positionen können dazu heran­ gezogen werden, die Materialmenge zu bestimmen, die ent­ fernt werden muß, um die Oberfläche gerade zu putzen oder den tatsächlichen lichten Abstand oberhalb der Oberfläche zu definieren. Wenn es erforderlich ist, in einer gewissen Entfernung von der Kante der Rippe entlang einer Linie Löcher vorzusehen, kann die durchschnittliche Meßposition der Kante dazu herangezogen werden, die Linie zu lokali­ sieren. Wenn die Löcher jedoch entlang der Mittellinie der Rippe anzuordnen sind, wird ein Meßzyklus mit einer glei­ chen Anzahl von Punkten auf jeder Rippenkante ausgeführt. Die gemessene durchschnittliche Lage der Punkte definiert die durchschnittliche Mittellinie der Rippe. Während bei dem obigen Beispiel das Abtasten und Sammeln von Meß­ stellen entlang der X-Bewegungsachse dargestellt wurde, so können durch einen ähnlichen Vorgang Positionen be­ züglich der Y- und Z-Bewegungsachse gemessen und ge­ speichert werden.
Um die Löcher entlang der Mittellinie der Rippe zu bohren, muß der Programmierer die Mitte jedes Lochs von der Kante der Rippe in der X-Achse lokalisieren. Daher muß eine programmierte X-Achsenkoordinate, die die programmierer­ seitige Definition der Kante der Rippe darstellt, korreliert werden mit der tatsächlichen Kantenlage, wie sie durch die Sonde ermittelt wird. Wie oben bereits erläutert wur­ de, kann die erste Meßbetriebsart in Verbindung mit einem programmierten I-Wort, das die programmiererseitige De­ finition der Rippenkante darstellt, herangezogen werden. Der Effekt dieses Vorgangs besteht darin, sämtliche pro­ grammierten Koordinaten bezüglich der gemessenen Lage umzusetzen. Dies ist beim anfänglichen Anordnen des Werk­ stücks wünschenswert. Beim Definieren der individuellen Werkstückmerkmale, z. B. einer Kante einer Rippe, ist es lediglich notwendig, die programmierten Koordinaten, die den Maschinenbetrieb bezüglich dieser Merkmale definieren, zu modifizieren. Die anderen programmierten Koordinaten sollten nicht beeinflußt werden. Die Erfindung schafft daher verschiedene arithmetische Vorbereitungscodes, von denen einer zum Berechnen eines Offsetsignals herangezo­ gen werden kann, welches die Differenz zwischen einer ge­ messenen Werkstückmerkmal-Position, z. B. einer Rippen­ kante, und der programmiererseitigen Definition dieser Position darstellt. Jedesmal wenn der Programmierer rela­ tiv zu einem solchen Werkstückmerkmal zu arbeiten wünscht, verwendet er den zugehörigen Offsetwert, der eine Modi­ fikation von Befehlssignalen bewirkt, die abgeleitet wer­ den von den programmierten Koordinatenwerten, und zwar nach Maßgabe der gemessenen tatsächlichen Position eines Werkstückmerkmals; von anderen Programmkoordinaten abge­ leitete Befehlssignale werden jedoch nicht geändert.
Um eine Versetzung (Offset) bezüglich der Kante der Rippe zu berechnen, würde daher der Programmierer den folgenden Datenblock definieren:
Nnnn (OFS Gl Hhh Xxxxxxxx)
Nnnn definiert die Stelle in dem Programm, die Klammern werden entsprechend empfohlener Programmiervereinbarungen verwendet. Der OFS-Befehl wird durch das Oberflächen­ funktionsprogramm 100 des Datenaufbereitungsprogramms 86 erfaßt. Das Programm spricht an auf das aktive Oberflächen­ wort und die Koordinatendaten in dem Informationsblock und veranlaßt das Offset- und Testprogramm 112 sowie den Ausgabesteuerabschnitt 120, den geeigneten Offset zu be­ rechnen. Die Erfindung sieht die Berechnung eines von vier möglichen Offsets vor. Die gewünschte Berechnung wird ausgewählt durch Verwendung eines von vier G-Codes, nämlich G 0 bis G 3. Wenn in dem Informationsblock ein G 0 programmiert ist, wird ein X-Offsetsignal berechnet, das die Differenz der Werte zwischen dem programmierten X- Wort und einem aufgezeichneten laufenden X-Koordinaten­ signal, wie es entweder im Block 168 in Fig. 4b und Block 154 in Fig. 4a abhängig davon, ob Berührkontakt-Abtastung oder Drehmoment-Abtastung verwendet wird, bestimmt wird, darstellt. Das X-Wort ist ein Bezugswert, der die pro­ grammiererseitige Definition einer Position eines be­ stimmten Punktes auf dem Werkstück repräsentiert. Das X-Offsetsignal wird berechnet und in der fünften Speicher­ stelle des programmierten H-Wortes gespeichert. Bei dem Beispiel der Rippenkante wird lediglich die X-Achse abge­ tastet und gemessen; es können jedoch die Y- und Z-Off­ setsignale für die Y- bzw. Z-Achsen einfach dadurch be­ rechnet werden, daß die Y- und Z-Wörter zu dem Offset- Informationsblock addiert werden.
Wenn in dem Offset-Informationsblock ein G 3 programmiert ist, wird ein X-Offsetsignal berechnet, das die Differenz zwischen dem X-Wort und der in dem H-Wort-Speicher gespei­ cherten maximalen gemessenen X-Position darstellt. Wenn in dem Offsetblock ein G 2 programmiert ist, wird ein X- Offsetsignal berechnet, das die Differenz zwischen dem X-Wort und der in dem H-Wort-Speicher gespeicherten mini­ malen gemessenen X-Position darstellt. Wenn, wie es oben dargestellt wurde, in dem Offsetblock ein G 1 programmiert ist, wird ein X-Offsetsignal berechnet, das die Differenz darstellt zwischen dem X-Wort und der durchschnittlich gemessenen X-Position, die in dem H-Wort-Speicher gespei­ chert ist. Beim vorliegenden Beispiel ist es erwünscht, die Löcher entlang der Mittellinie der Rippe anzuordnen, und es ist in hohem Maße wünschenswert, diese Löcher von der durchschnittlich gemessenen X-Position, die die Rippen­ kanten definiert, anzuordnen.
Fig. 5a und 5b zeigen ein Flußdiagramm , das die Prozeß­ schritte der Ausführung eines Offset-Informationsblocks ver­ deutlicht. Nachdem von dem Datenaufbereitungsprogramm 86 (s. Fig. 2) der OFS-Befehl decodiert wurde, geht der Pro­ zeß zum Schritt 212 (s. Fig. 5a), um das Vorhandensein einer H-Adresse zu bestimmen. Ist in dem Block des Bandes keine H-Adresse vorhanden, so ist es nicht möglich, einen berechneten Offsetwert zu speichern, und daher wird das Offsetprogramm nicht ausgeführt. Wird eine H-Adresse de­ codiert, so bestimmt Block 214, ob ein G 0 vorliegt. Ist dies der Fall, prüft Schritt 216 eine X-Adresse. Liegt eine X-Adresse vor, berechnet Block 218 einen X-Offset­ wert dadurch, daß der Wert des X-Wortes von dem Wert des laufenden X-Koordinatensignals subtrahiert wird. Ein X- Offsetsignal wird in der fünften Speicherstelle des H- Wort-Speichers abgelegt. Auf ähnliche Weise erfassen die Prozeßschritte 220 bis 226 das Vorhandensein von Y- oder Z-Adressen, berechnen Y- und Z-Offsets und speichern die Y- und Z-Offsetsignale.
Der Entscheidungsschritt 228 bestimmt, ob ein G 1-Befehl vorliegt. Ist dies der Fall, und liegt eine X-Adresse vor, was im Block 230 ermittelt wird, so verwenden die Blöcke 232 und 234 die Summe der gemessenen Positionen und die Inkrementierungszahl des identifizierten H-Wortes, um ein durchschnittliches X-Koordinatensignal zu berechnen. Im Schritt 236 wird ein Offset dadurch berechnet, daß der Wert des X-Wortes von dem Wert des durchschnittlichen X-Koordinatensignals subtrahiert wird. Es wird ein ent­ sprechendes X-Offsetsignal gespeichert. In ähnlicher Weise ermittelt der Prozeß in den Schritten 238 bis 252, ob Y- oder Z-Adressen programmiert sind. Y- und Z-Off­ setsignale werden auf der Grundlage der durchschnittli­ chen Y- und Z-Koordinatensignale gespeichert. Entschei­ dungsschritt 253 in Fig. 5b bestimmt, ob ein G 2-Befehl vorliegt. Ist dies der Fall, prüft der Schritt 254 das Vorhandensein einer X-Adresse. Ist sie vorhanden, be­ rechnet der Schritt 256 einen Offsetwert dadurch, daß der Wert des X-Wortes von dem Wert der gemessenen mini­ malen X-Position subtrahiert wird, und es wird ein ent­ sprechendes X-Offsetsignal in der fünften Speicherstelle des H-Wort-Speichers gespeichert. In ähnlicher Weise er­ mitteln die Schritte 258 bis 264 das Vorhandensein von Y- oder Z-Adressen und speichern demgemäß Y- bzw. Z- Offsetsignale. Ein Entscheidungsschritt 268 prüft das Vorliegen eines G 3-Befehls. Dieser Befehl veranlaßt in Kombination mit einer im Schritt 270 definierten X-Adresse, daß der Prozeßschritt 272 einen X-Offsetwert dadurch be­ rechnet, daß der Wert des X-Wortes von dem Wert der ge­ messenen maximalen X-Position subtrahiert wird; es wird ein entsprechendes X-Offsetsignal in dem H-Wort-Speicher abgespeichert. In ähnlicher Weise ermitteln die Prozeß­ schritte 274 bis 280, ob Y- oder Z-Adressen in dem Off­ set-Informationsblock enthalten sind; entsprechend werden Y- und Z-Offsetsignale gespeichert.
Die Erfindung schafft weiterhin die Möglichkeit, eine ge­ messene Koordinatenposition gegenüber programmierten Grenzen, welche Maxima und Minima darstellen, arithme­ tisch zu testen. In dem obigen Beispiel nehme man an, der Programmierer wünsche, das durchschnittliche X-Koordi­ natensignal, das die Rippenkante definiert, bezüglich oberer und unterer Grenzen zu testen. Hierzu würde der folgende In­ formationsblock programmiert:
Nnnn (TST Gl Hhh Xxxxxxxx Iiiiiiii)
Der TST-Befehl wird von dem Oberflächenfunktionsprogramm 100 des Datenaufbereitungsprogramms 86 erkannt. Es spricht auf die anderen Daten in dem Test-Informationsblock an und führt zusammen mit dem Offset- und Testprogramm 212 sowie der Ausgabesteuerung 102 den gewünschten Test durch. Unter Verwendung der Testfunktion hat der Programmierer die Wahl­ möglichkeit, bis zu sechs unterschiedliche Werte zu testen, abhängig von dem programmierten G-Wort. Beispielsweise re­ präsentiert G 1 einen Test der durchschnittlichen Meßpo­ sition bezüglich programmierter X- und I-Wörter. Das X- Wort repräsentiert eine ein Minimum definierende Unter­ grenze; das I-Wort repräsentiert eine ein Maximum definie­ rende Obergrenze. Wenn der Programmierer wünscht, gemessene Y- oder Test-Positionen zu testen, muß ein Y-Wort und ein zugehöriges J-Wort, bzw. ein Z-Wort und ein zugehöriges K-Wort programmiert werden. Das Vorhandensein der X-, Y- oder Z-Adressen hat zur Folge, daß der entsprechende Test durchgeführt wird. Es sei darauf hingewiesen, daß entwe­ der ein Test bezüglich einer unteren oder einer oberen Grenze ausgeführt werden kann, und zwar abhängig davon, ob X-, Y- und Z- oder I-, J- und K-Adressen programmiert sind. Wenn daher lediglich die X-Adresse programmiert ist, erfolgt lediglich ein Test bezüglich der unteren Grenze.
Wenn nur die I-Adresse programmiert ist, erfolgt nur ein Test bezüglich der oberen Grenze.
Wenn ein G 0-Befehl in dem Test-Informationsblock pro­ grammiert ist, wird der Wert des aufgezeichneten laufen­ den Koordinatensignals getestet. Wenn ein G 2-Befehl pro­ grammiert ist, wird die gemessene Minimum-Koordinatenpo­ sition getestet. Ist ein G 3-Befehl in dem Testblock pro­ grammiert, wird die gemessene Maximum-Koordinatenposition getestet. Ist ein G 4-Befehl programmiert, wird die Diffe­ renz zwischen den gemessenen Maximum- und Minimum-Koordi­ natenpositionen getestet. Wenn ein G 5-Befehl programmiert ist, wird der Wert des Offsetsignals in dem H-Wort-Speicher getestet.
Nachdem der Oberflächenfunktionsblock 100 den TST- oder Testbefehl erfaßt hat, erfolgt der Prozeßablauf, wie es in den Fig. 6a bis 6e dargestellt ist. Schritt 284 prüft das Vorhandensein eines G 0-Befehls. Liegt ein G 0-Befehl vor, ermittelt der Prozeßschritt 286 das Vorhandensein einer X-Adresse. Ist eine solche X-Adresse vorhanden, er­ mittelt ein Prozeßschritt 288, ob der Wert des laufenden X-Koordinatensignals größer als der Wert des ein Minimum definierenden X-Wortes ist. Falls nicht, wird im Schritt 293 ein Fehlerflag gesetzt, was anzeigt, daß die gemessene Position außerhalb der Toleranzgrenzen liegt. Im Schritt 290 wird das Vorhandensein eines I-Wortes ermittelt und Schritt 292 bestimmt, ob der Wert des X-Koordinaten­ signals kleiner als der Wert des I-Wortes oder des Maxi­ mums ist. Falls nicht, wird wiederum ein Fehlerflag ge­ setzt, welches anzeigt, daß die gemessene Meßposition außerhalb des Toleranzbereichs liegt. In ähnlicher Weise vollziehen die Schritte 294 bis 310 einen Test bezüglich der laufenden Y- und Z-Koordinatensignale. Da die übrigen Tests Daten aus einem H-Wort-Speicher benötigen, kann der Test nicht durchgeführt werden, wenn die H-Adresse nicht vorliegt. Im Entscheidungsschritt 312 wird das Vorhanden­ sein einer H-Adresse ermittelt. Schritt 314 stellt das Vorhandensein eines G 1-Codes fest. Entscheidungsschritt 316 führt eine Prüfung bezüglich einer X-Adresse durch. Liegt eine X-Adresse vor, verwendet Prozeßschritt 318 die gemessene Summe und die Inkrementzahl aus dem gekennzeich­ neten H-Wort-Speicher zum Berechnen einer durchschnittli­ chen X-Meßposition. In Fig. 6b vergleicht der Prozeß­ schritt 320 den Wert der durchschnittlichen X-Meßposition mit dem Wert des ein Minimum darstellenden X-Wortes. Wenn die durchschnittliche X-Position größer als das Minimum ist, ermittelt der Prozeßschritt 322 das Vorhandensein eines I-Wortes. Prozeßschritt 324 bestimmt, ob der Wert einer gemessenen durchschnittlichen X-Position kleiner ist als der Wert des I-Wortes oder des programmierten Maximums. Wenn einer der beiden Tests negativ ausgeht, liegt die durchschnittliche X-Meßposition außerhalb der Toleranz­ grenzen; Prozeßschritt 326 setzt ein Fehlerflag, das an­ gibt, daß der Wert außerhalb der Toleranzgrenzen liegt. Auf ähnliche Weise werden die durchschnittliche Y- und Z-Meßposition bezüglich der programmierten oberen und unteren Grenze durch die Schritte 328 bis 350 geprüft.
In den Prozeßschritten 352 bis 382 werden die Werte der Minimum-Koordinatenpositionen des H-Wortes mit den Werten der programmierten Maxima und Minima verglichen. In den Prozeßblöcken 384 bis 414 werden die Werte der gemessenen Maximum-Koordinatenpositionen des H-Wort-Speichers mit den Werten der programmierten Maxima und Minima verglichen. In den Prozeßblöcken 416 bis 452 wird die Differenz zwischen den gemessenen Maximum- und Minimum-Koordina­ tenpositionen des identifizierten H-Wortes bezüglich der programmierten Maxima und Minima geprüft. Die Pro­ zeßblöcke 454 bis 484 dienen zum Prüfen des Wertes des gespeicherten Offsetsignals im Hinblick auf den Wert der programmierten Maxima und Minima.
Fig. 7 zeigt die Verarbeitungsschritte zum Rückstellen der H-Speicher. Hierzu wird ein Informationsblock program­ miert, der eine Folgezahl, einen RST-Befehl sowie ein H-Wort enthält. Prozeßschritt 486 ermittelt das Vorhanden­ sein der H-Adresse, und Prozeßschritt 488 veranlaßt, daß die fünf dem H-Wort zugeordneten Speicherplätze auf Null gesetzt werden. Daher werden die dem programmierten H- Wort zugeordneten Werte des gemessenen Maximums, des ge­ messenen Minimums, der gemessenen Summe, der Inkrement­ zahl und der Offsetpositionen auf Null zurückgesetzt.
Aus der obigen Beschreibung ergibt sich, daß die Hauptur­ sachen für Eingriffe seitens der Bedienungsperson bei dem Bearbeitungsvorgang durch die Realisierung der vorliegen­ den Erfindung eliminiert wurden. Die Erfindung stattet den Programmierer mit der Möglichkeit aus, nicht nur zu Beginn das Teil auf der Maschine zu lokalisieren, sondern darüber hinaus die Position der Merkmale des Werkstücks zu bestimmen. Zusätzlich zu dem Anordnen des Werkstücks in der Maschine und zu dem Messen der Position oder Lage der Bezugsebene an dem Werkstück kann der Meßzyklus dazu herangezogen werden, die Lage der Mitte eines Lochs oder eines Vorsprungs zu definieren.
Um die tatsächliche Mitte eines Lochs zu definieren, kann ein Abtastzyklus durchgeführt werden, der von einer ange­ nommenen programmierten Mitte ausgeht und in eine Richtung entlang einer Bewegungsachse erfolgt, um die Position eines Punktes an dem Umfang zu messen. Es wird ein weiterer Meßzyklus in die entgegengesetzte Richtung entlang der Achse ausgeführt, um die Position eines weiteren Punkts an dem Umfang zu messen. Dadurch, daß zusätzlich zu den Befehlen für den Meßzyklus weitere Befehle zum Speichern der gemessenen durchschnittlichen oder mittleren Position vorgesehen werden, kann ein Offsetblock programmiert wer­ den, um einen Offset (Versetzung) von der gemessenen mittle­ ren Position zu berechnen; wird der Offset zu der ange­ nommenen Mittenlage addiert, erhält man entlang der Achse eine Position oder eine Lage, die den wirklichen Mittel­ punkt zwischen den zwei erfaßten Punkten am Umfang dar­ stellt. Durch Wiederholen des oben geschilderten Vorgangs zwecks Ermittlung zweier weiterer Umfangspunkte entlang einer anderen Bewegungsachse kann die tatsächliche Position der Mitte des Lochs definiert werden. Ein ähnlicher Vor­ gang kann zum lokalisieren der Mitte eines Vorsprungs oder einer Warze durchgeführt werden.
Die Sonde, die seitens der Anmelderin gewählt wurde, ist in der Lage, Ablenkungen der Sonden-Abtastnadel in irgendeiner von drei orthogonalen Achsen zu erfassen. Durch geeignete Auswahl des Schneidwerkzeugs kann das Drehmoment-Steuer­ modul 66 Drehmomentbelastungen erfassen, die durch die oberflächliche Berührung des Schneidwerkzeugs mit Flächen in irgendeiner Ebene, einschließlich der drei zueinander senkrechten Ebenen, die durch die drei orthogonalen Achsen definiert werden, erzeugt werden.
Aus praktischen Gründen beschränken Meßzyklen die Ober­ flächenabtastung auf einzelne Ebenen, die parallel zu den­ jenigen Ebenen ausgerichtet sind, die durch die orthogona­ len Bewegungsachsen der Maschinenschlitten definiert werden. Daher muß eine Meßspanne in einer einzelnen Achse program­ miert werden. Um die Meßspannen relativ kurz zu halten und gleichzeitig sicherzustellen, daß die Ausgangspo­ sition der Meßspanne einen lichten Abstand von der Ober­ fläche für das Fühlelement aufweist, ist eine Vorberei­ tungsfunktion für die betriebsmäßige Aktivierung des Fühl­ elements vorgesehen, damit das Vorpositionieren der Aus­ gangsstellung der Meßspanne erleichtert wird. Diese Funktion schützt das Fühlelement für den Fall, daß es auf ein Hindernis, z. B. eine dem Programmierer nicht bekannte Befestigungsklammer stößt. Diese Funktion ge­ stattet weiterhin das Programmieren von Spannen in mehrfachen Achsen und veranlaßt die Erzeugung eines Fehlersignals, wenn das Fühlelement während der Aus­ führung dieser nicht zur Messung gehörenden Spannen er­ faßt. Zum Aktivieren des Fühlelementes wird ein Gaa pro­ grammiert. Danach erzeugen sämtliche von dem Fühlelement erfaßten Oberflächenberührungen Fehlersignale, bis das Fühlelement deaktiviert wird durch Programmierung einer Fühlelementdeaktivierungs-Vorbereitungsfunktion Gdd, einen Meßzyklus, oder durch eine andere prozeßgenerierte Deaktivierungsfunktion, z. B. ein Programmende, eine Steuer­ daten-Rücksetzung, usw.
Fig. 8 ist ein Flußdiagramm, das die Beschaffenheit der Fühlelement-Aktivierungs/Deaktivierungs-Vorbereitungs­ funktionen veranschaulicht. Wie vorher, decodiert das Datenaufbereitungsprogramm 86 aus den Programmblock-Daten den Gaa und speichert ihn. Unter der Leitung des Maschinen­ zyklus-Steuerprogramms 80 schreiten die Ausgabesteuer­ programme 102 mit der Blockverarbeitung zum Prozeßschritt 500 gemäß Fig. 8 vor, mit der Folge, daß das Fühlelement aktiviert wird. Durch das Fühlelement-Unterbrechungs- und Serviceprogramm 110 wird die Unterbrechung des aktiven Fühlelement-Interface freigegeben, d. h. ermöglicht. Der Prozeß läuft weiter zu dem Prozeßschritt 502 "Blockaus­ führung" der die Ausführung von Vorspannfunktionen, der Spanne, sowie Nachspannfunktionen beinhaltet, wie es oben erläutert wurde. Der Ausführung dieser Funktionen wird durch den Empfang der Fühlelement-Unterbrechung zuvorge­ kommen, wie es durch den Entscheidungsschritt 504 darge­ stellt ist. Erfolgt eine Unterbrechung, verhindert der Prozeßschritt 506 eine Schlittenbewegung und setzt einen Fehler entsprechend dem Unterbrechungs-Service-(Behandlungs-) Programm 110, das dem Gaa zugeordnet ist. Der Prozeß kann nur dann fortgesetzt werden, wenn die Fehlerbedingung ge­ löscht oder übersprungen wird, wie durch den Entscheidungs­ schritt 508 dargestellt ist. Wird der Fehler gelöscht oder übersprungen, veranlaßt der Prozeßschritt 510 das Fühl­ element-Unterbrechungs- und -Serviceprogramm 110, die Fühlelement-Interface-Unterbrechung erneut freizugeben, d. h. zu ermöglichen.
Falls keine Fühlelement-Unterbrechung erfolgt, fährt der Prozeß mit dem Entscheidungsschritt 512 fort, bei dem be­ stimmt wird, ob die Blockausführung abgeschlossen ist. Falls dies nicht der Fall ist, wird der Prozeß in der Schleife zurück zum Blockausführungsschritt 502 geführt. Ist die Blockausführung einmal abgeschlossen, erfolgt die Verarbeitung der Gaa-Funktion, wie es durch die Ent­ scheidungsschritte 514, 518, 520 und 522 dargestellt ist. Im Schritt 514 wird ein Programmende abgefragt, im Schritt 518 wird die aus anschließenden Programmblöcken decodierte, sich gegenseitig ausschließende Vorbereitungsfunktion Gdd geprüft. Im Schritt 520 werden die Vorbereitungsfunktionen für den Abbruch des Meßzyklus geprüft, und Schritt 522 prüft andere, prozeßgenerierte Rückstellschritte. Wird in irgendeinem dieser Tests die getestete Bedingung er­ faßt, endet der Prozeß im Schritt 524, der das Unter­ brechungs- und Serviceprogramm 110 veranlaßt, die Element- Interface-Unterbrechnung zu sperren. Falls irgendeine getestete Bedingung nicht vorliegt, geht der Prozeß zu anschließenden Entscheidungsschritten über. Falls keine getestete Bedingung angetroffen wird, fährt der Prozeß mit der Blockausführung im Prozeßschritt 502 fort. Der Schritt 516 zeigt, daß der aktive Zustand des Fühlelements während der Ausführung nachfolgender Blöcke desselben Pro­ gramms beibehalten wird, da dieser Prozeßschritt veranlaßt, daß das Maschinenzyklus-Steuerprogramm 80 die Eingabe an­ schließender Programmblöcke bewirkt.
Der Fachmann erkennt, daß die zur Ausführung der obigen Funktionen tatsächlich verwendeten Codes von dem System­ entwurf und den Eigenarten einer speziellen numerischen Rechnersteuerung abhängen. Daher sind die in der obigen Erläuterung verwendeten speziellen Codes nicht als Be­ schränkung der Erfindung aufzufassen; wie oben bereits vorgeschlagen wurde, können daher andere Kraftmeßsysteme anstelle des oben im einzelnen beschriebenen Fühlelements verwendet werden. Derartige Systeme sind solche Systeme, die in der Lage sind, Belastungen zu messen, die auf die Maschinenschlitten, die Spindel oder den Werkzeughalter in Form von Auslenkungen und dgl. einwirken.

Claims (9)

1. Verfahren zum Messen der Ist-Position von Werkstück­ oberflächen und zum Modifizieren von Befehlsignalen, die aus einem den Betriebszyklus einer Maschine definierten Maschinenprogramm abgeleitet werden, wobei die Maschine entlang der Bewegungsachsen laufende Maschinenschlitten aufweist, um eine Relativbewegung zwischen dem Werkstück und einem Werkzeughalter, dem ein Fühlelement zugeordnet ist, zu erhalten, und die Maschine an eine Steuerung an­ geschlossen ist, die zum Speichern des Maschinenprogramms dient und Befehlsignale zum Steuern der Relativbewegung erzeugt, wobei das Verfahren die Schritte umfaßt, die Position einer Werkstückoberfläche relativ zu genau einer Bewegungsachse unter Verwendung des Fühlelements zum Er­ zeugen von Koordinatensignalen, die Werte der Oberflächen- Position darstellen, zu ermitteln, und modifizierte Befehls­ signale in Abhängigkeit von den Koordinatensignalen und den Befehlssignalen zu erzeugen, wobei die modifizierten Befehlssignale eine Relativbewegung zwischen dem Werkzeug­ halter und dem Werkstück nach Maßgabe des Maschinenprogramms und unabhängig von Schwankungen der Ist-Position der Ober­ fläche bewirken, dadurch gekennzeichnet,
  • a) daß an der unbearbeiteten Oberfläche als Bezugsfläche die Oberflächen-Position an einer Vielzahl von Punk­ ten gemessen wird, an denen die gemessenen Werte der Koordinatensignale idealerweise gleich sein sollten,
  • b) daß der Betriebszyklus aus einem Abtastzyklus, in dem die Koordinatensignale erzeugt und gespeichert wer­ den, und einem darauf folgenden Bearbeitungszyklus be­ stehen und
  • c) daß die modifizierten Befehlssignale in Abhängigkeit ausgewählter Koordinatensignale erzeugt werden.
2. Verfahren nach Anspruch 1, bei dem das Fühlelement eine durch Berührkontakt betätigte Sonde aufweist, gekennzeichnet durch folgende Schritte:
  • a) Beendigen der Bewegung des Fühlelements in Abhängigkeit davon, daß das Fühlelement einen Punkt der Bezugsflä­ che berührt;
  • b) Erzeugen eines Anfangs-Positionssignals, das die Posi­ tion des Punkts der Bezugsfläche in Abhängigkeit da­ von repräsentiert, daß das Fühlelement den Punkt der Bezugsfläche berührt;
  • c) Erzeugen eines Rückzugsbefehlsignals in Abhängigkeit des Anfangs- Positionssignals, um das Fühlelement ent­ lang der Bewegungsachse zu einer Position zu bewegen, die eine bestimmte Entfernung von der Bezugsfläche in­ nerhalb derselben aufweist;
  • d) Erzeugen eines Datenerfassungs-Befehlssignals zum Be­ wegen des Fühlelements mit einer vorgegebenen, geringe­ ren Vorschubgeschwindigkeit entlang der Bewegungsachse von der Bezugsfläche fort;
  • e) Beendigen der Bewegung des Fühlelements in Abhängig­ keit davon, daß das Fühlelement den Berührkontakt mit dem Punkt der Bezugfläche verliert;
  • f) Erzeugen eines Koordinatensignals, das die Position des Punkts der Bezugsfläche entlang der Bewegungsachse repräsentiert, und zwar in Abhängigkeit davon, daß das Fühlelement den Berührkontakt mit der Be­ zugsfläche verliert; und
  • g) Erzeugen eines Abschlußbefehlsignals in Abhängigkeit des Koordinatensignals, um das Fühlelement entlang der einen Bewegungsachse in Richtung auf die Bezugsfläche zu einer Position zu bewegen, die dem Punkt der Bezugs­ fläche benachbart ist.
3. Verfahren nach Anspruch 1, bei dem das Fühlelement ein Schneidwerkzeug aufweist und die Steuerung eine Drehmoment-Meßschaltung besitzt, die auf das Schneid­ werkzeug anspricht und ein Berührkontaktsignal in Ab­ hängigkeit davon erzeugt, daß das auf das Schneidwerk­ zeug aufgebrachte Schneid-Drehmoment wenigstens gleich groß ist wie ein vorgegebener Drehmoment-Grenzwert, der repräsentativ ist für den Oberflächenkontakt des Schneidwerkzeugs mit dem Werkzeug, gekennzeichnet durch folgende Schritte:
  • a) Beendigen der Bewegung des Fühlelements in Abhängig­ keit des Berührkontaktsignals;
  • b) Erzeugen eines Koordinatensignals in Abhängigkeit des Berührkontaktsignals, das repräsentativ ist für die Position des Schneidwerkzeugs; und
  • c) Erzeugen eines Rückzugsbefehlsignals in Abhängigkeit des Koordinatensignals, um das Fühlelement von der Bezugsfläche fort entlang der Bewegungsachse zu be­ wegen
4. Verfahren nach Anspruch 1, bei dem das Maschinenpro­ gramm einen Bezugswert enthält, der repräsentativ ist für einen vordefinierten Punkt relativ zu dem Werkstück, gekennzeichnet durch folgende Schritte:
  • a) Speichern des größten im Abtastzyklus erhaltenen Ko­ ordinatensignals, daß die gemessene Maximum-Koordina­ tenposition an der Bezugsfläche repräsentiert;
  • b) Erzeugen eines ersten Offsetsignals, das repräsen­ tativ ist für die Differenz der Größe zwischen dem Koordinatensignal der Maximum-Koordinatenposition und dem Bezugswert; und
  • c) Speichern des ersten Offsetsignals.
5. Verfahren nach Anspruch 4 gekennzeichnet durch folgen­ de Schritte:
  • a) Speichern des kleinsten, im Abstandzyklus erhaltenen Koordinatensignals, das repräsentativ ist für die gemessene Minimum-Koordinatenposition auf der Bezugs­ fläche;
  • b) Erzeugen eines zweiten Offsetsignals, welches reprä­ sentativ ist für die Differenz der Größen zwischen dem Koordinatensignal der Minimum-Koordinatenposition und dem Bezugswert; und
  • c) Speichern des zweiten Offsetsignals.
6. Verfahren nach Anspruch 5, gekennzeichnet durch fol­ gende Schritte:
  • a) Summieren der im Abstandzyklus enthaltenen Koordina­ tensignale;
  • b) Speichern der Anzahl der erhaltenen Koordinatensig­ nale;
  • c) Erzeugen eines mittleren Koordinatensignals, das repräsentativ ist für den Quotienten der Summe der Größen der Koordinatensignale, geteilt durch die An­ zahl der Koordinatensignale;
  • d) Erzeugen eines dritten Offsetsignals, das repräsenta­ tiv ist für die Differenz der Größen zwischen dem mittleren Koordinatensignal und dem Bezugswert; und
  • e) Speichern des dritten Offsetsignals.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß ein erstes Fehlersignal in Abhängigkeit davon er­ zeugt wird, daß die Größe eines der Offsetsignale die Größe einer oberen Grenze überschreitet.
8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß ein zweites Fehlersignal in Abhängigkeit davon erzeugt wird, daß die Größe eines der Offsetsignale kleiner ist als die Größe einer unteren Grenze.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, daß ein drittes Fehlersignal in Abhängigkeit davon erzeugt wird, daß die Größe eines der im Abtastzyklus erhaltenen Koordinatensignale eine Bezugsgrenze über­ schreitet.
DE3134315A 1980-09-02 1981-08-31 Verfahren zum Messen der Ist-Position von Werkstückoberflächen und zum Modifizieren von Befehlssignalen Expired - Lifetime DE3134315C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/183,193 US4370721A (en) 1980-09-02 1980-09-02 Method for modifying programmed positions by using a programmably controlled surface sensing element

Publications (3)

Publication Number Publication Date
DE3134315A1 DE3134315A1 (de) 1982-04-08
DE3134315C3 DE3134315C3 (de) 1994-09-15
DE3134315C2 true DE3134315C2 (de) 1994-09-15

Family

ID=22671833

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3134315A Expired - Lifetime DE3134315C3 (de) 1980-09-02 1981-08-31 Verfahren zum Messen der Ist-Position von Werkstückoberflächen und zum Modifizieren von Befehlssignalen

Country Status (5)

Country Link
US (1) US4370721A (de)
JP (1) JPS5776609A (de)
DE (1) DE3134315C3 (de)
FR (1) FR2489200B1 (de)
GB (1) GB2083658B (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4006949A1 (de) * 1990-03-06 1991-09-12 Bayerische Motoren Werke Ag Verfahren und vorrichtung zum punktweisen abtasten der oberflaeche eines werkstuecks
DE4392930C2 (de) * 1992-06-29 1998-01-15 Komatsu Mfg Co Ltd Vorrichtung zur zylindrischen Bearbeitung

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57114340A (en) * 1980-12-30 1982-07-16 Fanuc Ltd Thermal displacement compensation
JPS57113118A (en) * 1980-12-30 1982-07-14 Fanuc Ltd Robot control system
US4620281A (en) * 1981-09-22 1986-10-28 General Electric Company In-process cutting tool condition compensation and part inspection
US4432063A (en) * 1981-10-06 1984-02-14 Cincinnati Milacron Inc. Apparatus for automatically moving a robot arm along a nonprogrammed path
DE3150977A1 (de) * 1981-12-23 1983-06-30 Fa. Carl Zeiss, 7920 Heidenheim Verfahren und einrichtung zur ermittlung und korrektur von fuehrungsfehlern
US4535414A (en) * 1982-02-26 1985-08-13 Lemelson Jerome H Position indicating system and method
JPS58206364A (ja) * 1982-05-24 1983-12-01 Toshiba Mach Co Ltd 工作機械
US4542467A (en) * 1982-09-16 1985-09-17 Renishaw Electrical Limited Method of operating a machine tool with a sensing probe in order to gather positional data for the calculation of tool offset parameters
CA1184273A (en) * 1982-09-23 1985-03-19 Kazuyoshi Yasukawa Robot control apparatus
JPS5969248A (ja) * 1982-10-12 1984-04-19 Okuma Mach Works Ltd 工具径自動計測補正方法
US4501094A (en) * 1982-11-22 1985-02-26 Western Gear Machinery Co. Workpiece profile-following control system for conditioning grinders
EP0114914B1 (de) * 1983-01-29 1987-04-22 M.A.N.-ROLAND Druckmaschinen Aktiengesellschaft Vorrichtung zum Ermitteln und Auswerten von Farbmessfeldern auf einem Druckbogen
JPS59140510A (ja) * 1983-02-01 1984-08-11 Mitsubishi Electric Corp 数値制御装置
DE3311526A1 (de) * 1983-03-30 1984-10-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V., 8000 München Verfahren zum halbautomatischen programmieren von industrierobotern
JPS60189008A (ja) * 1984-03-07 1985-09-26 Shin Meiwa Ind Co Ltd 産業用ロボツト
US4696707A (en) * 1987-08-18 1987-09-29 The Ingersoll Milling Machine Company Composite tape placement apparatus with natural path generation means
US4750965A (en) * 1986-03-28 1988-06-14 The Ingersoll Milling Machine Company Adaptive control for tape laying head having natural path generation
GB8626499D0 (en) * 1986-11-06 1986-12-10 Busm Co Ltd Treating workpieces
DE3700617A1 (de) * 1987-01-10 1988-07-21 Dirk Leimbach Signalschranken-sicherheitsvorrichtung
US4796195A (en) * 1987-05-13 1989-01-03 Cincinnati Milacron Inc. Method for machining with improved accuracy
FR2620242B1 (fr) * 1987-09-09 1990-03-02 Snecma Procede d'utilisation d'un robot d'ebavurage
EP0308539A1 (de) * 1987-09-25 1989-03-29 Waldrich Siegen Werkzeugmaschinenbau GmbH Verfahren zum Ausrichten einer konkreten bzw. wirklichen Fläche, z. B. einer Form, auf ein internes Koordinatensystem einer sich relativ zu ihr bewegenden Maschine, insbesondere einer Mehrachsen-Bandlegemaschine sowie Positionierungssystem bzw. -vorrichtung zur Durchführung des verfahrens
US4926345A (en) * 1988-03-25 1990-05-15 Hughes Aircraft Company Robotic component lead trimmer
US4969108A (en) * 1988-04-08 1990-11-06 Cincinnati Milacron Inc. Vision seam tracking method and apparatus for a manipulator
JP2619520B2 (ja) * 1989-03-10 1997-06-11 ファナック株式会社 トランスファーマシン用数値制御装置
US5208763A (en) * 1990-09-14 1993-05-04 New York University Method and apparatus for determining position and orientation of mechanical objects
US5255199A (en) * 1990-12-14 1993-10-19 Martin Marietta Energy Systems, Inc. Cutting tool form compensaton system and method
US5387061A (en) * 1990-12-14 1995-02-07 The United States Of America As Represented By The United States Department Of Energy Parameter monitoring compensation system and method
US5339249A (en) * 1991-10-29 1994-08-16 Parker Hannifin Corporation Machine control system
CA2082708C (en) * 1991-12-02 2004-01-13 James Edward Randolph Jr. Tool point compensation for hardware displacement and inclination
CA2082790A1 (en) * 1991-12-02 1993-06-03 R. David Hemmerle Automated maintenance system for computer numerically controlled machines
US5288209A (en) * 1991-12-19 1994-02-22 General Electric Company Automatic adaptive sculptured machining
US5442565A (en) * 1992-05-01 1995-08-15 Seamx Autonomous selective cutting method and apparatus
US6681145B1 (en) 1996-06-06 2004-01-20 The Boeing Company Method for improving the accuracy of machines
AU3294197A (en) * 1996-06-06 1998-01-05 Boeing Company, The Method for improving the accuracy of machines
US5949685A (en) * 1997-06-03 1999-09-07 The Boeing Company Real-time orientation of machine media to improve machine accuracy
US6052628A (en) * 1997-08-08 2000-04-18 Hong; Jaiwei Method and system for continuous motion digital probe routing
US6106204A (en) * 1997-09-05 2000-08-22 United Technologies Corporation Apparatus for forming the edge of an airfoil
US7394347B2 (en) * 1997-10-27 2008-07-01 World Wide Innovations, Llc Locking device for electronic equipment
MXPA00004123A (es) * 1997-10-27 2005-06-01 Kady Darren J Dispositivo de seguro para herramientas y equipo.
US8963681B2 (en) 1997-10-27 2015-02-24 Direct Source International, Llc Operating control system for electronic equipment
US6256546B1 (en) 1998-09-28 2001-07-03 General Electric Company System and method for numerical control processing of an in-processing part
US6745101B2 (en) * 2002-06-11 2004-06-01 The Boeing Company Deflection compensation for numerical controlled manufacturing
US7725206B2 (en) * 2003-11-12 2010-05-25 The Boeing Company System and method for manufacturing and after-market support using as-built data
JP4840144B2 (ja) * 2005-01-19 2011-12-21 三菱電機株式会社 位置決め装置及び位置決め方法
US7366583B2 (en) * 2005-09-01 2008-04-29 General Electric Company Methods and systems for fabricating components
SE530700C2 (sv) * 2006-12-21 2008-08-19 Hexagon Metrology Ab Förfarande och anordning för kompensering av geometriska fel i bearbetningsmaskiner
EP2018934A1 (de) * 2007-07-26 2009-01-28 Renishaw plc Messvorrichtung mit Authentifizierungsmodul
EP2028439A1 (de) * 2007-07-26 2009-02-25 Renishaw plc Abschaltbares Messgerät
DE102007048588A1 (de) * 2007-10-01 2009-04-02 Eew Maschinenbau Gmbh Verfahren zum Nachbearbeiten eines extern vorgefertigten Formteils
US8387158B2 (en) * 2009-08-05 2013-02-26 The United States of America as represented by the Secretary of Commerce, the National Institute of Standards and Technology Laser guided tip approach with 3D registration to a surface
US8676373B2 (en) * 2011-02-23 2014-03-18 GM Global Technology Operations LLC Global offset compensation for a CNC machine
JP6130674B2 (ja) * 2013-01-15 2017-05-17 株式会社東芝 支援装置及び支援方法
CN104369052A (zh) * 2013-08-14 2015-02-25 鸿富锦精密工业(深圳)有限公司 加工治具、双轮廓加工系统及方法
US11178166B2 (en) * 2016-02-22 2021-11-16 The Regents Of The University Of California Information leakage-aware computer aided cyber-physical manufacturing
JP7417356B2 (ja) * 2019-01-25 2024-01-18 株式会社ソニー・インタラクティブエンタテインメント ロボット制御システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3628002A (en) * 1967-11-21 1971-12-14 Gen Electric On-machine inspection systems
US3623216A (en) * 1968-07-17 1971-11-30 Ikegai Iron Works Ltd Automatic tool position compensating system for a numerically controlled machine tool
US3633011A (en) * 1968-08-29 1972-01-04 Ibm Method and apparatus for precisely contouring a workpiece imprecisely positioned on a supporting fixture
FR2023492A1 (de) * 1968-11-18 1970-08-21 American Welding Manufac
US3641849A (en) * 1970-08-13 1972-02-15 American Welding Mfg Co Method and apparatus for calibrating the position of a tool and for gauging the dimensions of a workpiece
JPS5082488A (de) * 1973-11-26 1975-07-03
US4061952A (en) * 1975-04-14 1977-12-06 Cranfield Institute Of Technology Computer-controlled machine tool
US3986007A (en) * 1975-08-20 1976-10-12 The Bendix Corporation Method and apparatus for calibrating mechanical-visual part manipulating system
JPS604486B2 (ja) * 1976-10-22 1985-02-04 株式会社日立製作所 位置合わせ方法
DE2918249A1 (de) * 1979-05-05 1980-11-06 Goetze Ag Maschine zum vorzugsweise spanenden umfangsbearbeiten von unrunden werkstuecken, insbesondere kolbenringen
US4237408A (en) * 1979-08-10 1980-12-02 Cincinnati Milacron Inc. Method and apparatus for modifying the operation of a machine tool as a function of torque

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4006949A1 (de) * 1990-03-06 1991-09-12 Bayerische Motoren Werke Ag Verfahren und vorrichtung zum punktweisen abtasten der oberflaeche eines werkstuecks
DE4006949C5 (de) * 1990-03-06 2008-07-17 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum punktweisen Abtasten der Oberfläche eines Werkstücks
DE4392930C2 (de) * 1992-06-29 1998-01-15 Komatsu Mfg Co Ltd Vorrichtung zur zylindrischen Bearbeitung

Also Published As

Publication number Publication date
DE3134315C3 (de) 1994-09-15
US4370721A (en) 1983-01-25
GB2083658A (en) 1982-03-24
FR2489200A1 (fr) 1982-03-05
GB2083658B (en) 1984-09-12
JPS5776609A (en) 1982-05-13
FR2489200B1 (fr) 1986-08-14
DE3134315A1 (de) 1982-04-08

Similar Documents

Publication Publication Date Title
DE3134315C2 (de)
DE3530576C2 (de) Verfahren und Vorrichtung zum Bestimmen der Abmessungen eines Werkstücks
DE69627198T2 (de) Erzeugung eines messprogramms für nc-bearbeitung und darauf gestütztes bearbeitungsmanagement
DE3329658C2 (de)
DE3111425C2 (de)
DE102017008879B4 (de) Numerische Steuerung
EP0744676A2 (de) Verfahren und Einrichtung zum sicheren Betrieb einer numerischen Steuerung auf Werkzeugmaschinen oder Robotern
DE3620608A1 (de) Selbsttaetige rueckfuehrung und rueckkehr eines werkzeuges einer numerisch gesteuerten werkzeugmaschine
DE102005027947A1 (de) Vorrichtung zum Überprüfen einer Störung
EP0328750A2 (de) Nachformanordnung
DE3609246A1 (de) Verfahren zum messen mittels eines koordinatenmessinstruments
DE102012104195A1 (de) Steuerung für eine Werkzeugmaschine zum Schneiden von Gewinden
DE3234241C2 (de)
DE1945017B2 (de) Vorrichtung zum einstellen des arbeitspunktes eines in einem werkzeugtraeger befestigten werkzeuges
CH673612A5 (en) Key cutting machine allowing automatic key copying - with central processor receiving data obtained from original key to control orthogonal stepping motors
DE102020120635A1 (de) In-maschinen-messvorrichtung, werkzeugmaschine und in-maschinen-messverfahren
DE4134750C2 (de) Verfahren und Anordnung zur Erzeugung eines NC-Arbeitsprogramms für eine numerische Werkzeugmaschinensteuerung einer Werkzeugmaschine
DE3134360C2 (de)
DE102016004185B4 (de) Numerische Steuerung mit Kontrolle eines Eingriffs zwischen Werkzeug und Werkstück
DE102020203770A1 (de) Steuergerät und Werkzeugmaschine
DE19614201A1 (de) Verfahren und Vorrichtung zur Steuerung einer Werkzeugmaschine, insbesondere einer Funkenerosionsmaschine
DE10257229A1 (de) Vorrichtung zur Steuerung einer Werkzeugmaschine sowie Werkzeugmaschinen mit einer solchen Vorrichtung
EP0313775A1 (de) Berührungsloses Messsystem für Genauigkeitskenngrössen, insbesondere von Industrierobotern
DE102007017048A1 (de) Vorrichtung und Verfahren zur Kontrolle eines Werkzeugs
DE102009039540A1 (de) Bearbeitungsverfahren

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: CINCINNATI MILACRON INDUSTRIES, INC., CINCINNATI,

8128 New person/name/address of the agent

Representative=s name: BROSE, D., DIPL.-ING., PAT.-ANW., 8023 PULLACH

8127 New person/name/address of the applicant

Owner name: CINCINNATI MILACRON INC. (EINE GES. N.D. GESETZEN

8128 New person/name/address of the agent

Representative=s name: BROSE, D., DIPL.-ING. RESCH, M., DIPL.-PHYS., PAT.

8128 New person/name/address of the agent

Representative=s name: BROSE, D., DIPL.-ING.DIPL.-WIRTSCH.-ING., PAT.-ANW

D2 Grant after examination
8363 Opposition against the patent
8366 Restricted maintained after opposition proceedings
8305 Restricted maintenance of patent after opposition
D2 Grant after examination
D4 Patent maintained restricted