DE3134315A1 - Verfahren zum modifizieren programmierter positionenunter verwendung eines programmgesteuerten oberflaechen-fuehlelements - Google Patents

Verfahren zum modifizieren programmierter positionenunter verwendung eines programmgesteuerten oberflaechen-fuehlelements

Info

Publication number
DE3134315A1
DE3134315A1 DE19813134315 DE3134315A DE3134315A1 DE 3134315 A1 DE3134315 A1 DE 3134315A1 DE 19813134315 DE19813134315 DE 19813134315 DE 3134315 A DE3134315 A DE 3134315A DE 3134315 A1 DE3134315 A1 DE 3134315A1
Authority
DE
Germany
Prior art keywords
signal
coordinate
sensing element
generating
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.)
Granted
Application number
DE19813134315
Other languages
English (en)
Other versions
DE3134315C3 (de
DE3134315C2 (de
Inventor
John Albert 45241 Cincinnati Ohio Berenberg
William Andrew Haggerty
Richard Linder 45242 Cincinnati Ohio Kegg
Myron Jeffrey 45150 Milford Ohio Schmenk
jun. Ralph Charles 45069 West Chester Ohio 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
Cincinnati Milacron Inc 45209 Cincinnati Ohio
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 Cincinnati Milacron Inc 45209 Cincinnati Ohio, Milacron Inc filed Critical Cincinnati Milacron Inc 45209 Cincinnati Ohio
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Description

ηΛ~,~ BROSE &
— Q —.
Case 801-^F
CINCINNATI MILACRON INC., 4701 Marburg Avemia, Cincinnatir Ohio 45 209, USA
Verfahren zum Modifizieren programmierter Positionen unter Verwendung eines programmgesteuerten Oberflächen-Fühlelements
Die Erfindung bezieht sich allgemein auf numerisch gesteuerte Maschinen. Speziell schafft die Erfindung eine numerisch gesteuerte Maschine mit einem programmgesteuerten Fühlelement zum Erfassen der Stellung und Lage eines Bezugsmerkmals eines Werkstücks. Hierdurch ist der Programmierer in der Lage, mit EinstellungsSchwankungen und von Teil zu Teil auftretenden Änderungen fertigzuwerden, um dadurch notwendige Eingriffe durch Bedienungspersonen auf ein Mindestmaß herabzusetzen und die Produktivität beträchtlich zu erhöhen.
Während durch die numerische Steuerung die Geschwindigkeit und die Zuverlässigkeit der Bearbeitung vieler Werkstücke sehr stark verbessert wurde, so gibt es dennoch viele Werkstücke, die das zeitaufwendige Eingreifen einer mit dem Bearbeitsvorgang vertrauten Bedienungsperson erforderlich machen.
Der BearbeitungsVorgang beginnt beim NC-Programmierer, der auf der Grundlage von Zeichnungen eines fertiggestellten Teils ein Bearbeitungsprogramm erstellt.- Beim Vorbereiten
des Programms definiert der Programmierer eine bestimmte Stellung des Werkstücks in der Maschine sowie spezielle dimensionsmäßig orientierte Bezugsflächen auf dem unbearbeiteten Teil. Dann erstellt der Programmierer ein Maschinenprogramm, das aus Befehlsblöcken und Datenblöcken besteht, die in Beziehung zu dem von einem Programmierer vorgegebenen Programmkoordinatensystem stehen. Im Betrieb erzeugt eine an die Maschine angeschlossene Steuerung in Abhängigkeit des Bearbeitungsprogramms Befehlssignale, um ein Schneidwerkzeug relativ zu dem Werkstück zu bewegen und dadurch das Werkstück zu bearbeiten, um das gewünschte Endprodukt zu erhalten.
Vor der Bearbeitung jedoch muß der Maschinenführer das zu bearbeitende Teil innerhalb des Maschinen-Koordinatensystems in einer Stellung positionieren, die durch den NC-Programmierer definiert wurde. Typischerweise wird das Maschinen-Koordinatensystem dargestellt durch drei zueinander senkrechte lineare Bewegungsachsen. Nach dem Positionieren des Teils bringt der Maschinenführer den Werkzeughalter von Hand dicht an die gekennzeichneten Bezugsflächen auf dem Teil oder auf dessen Befestigungseinrichtung. Dann positioniert der Maschinenführer mit der Meßlehre in der Hand unter Ausführung immer kleiner werdender Schritte den Werkzeughalter mit einer Genauigkeit so dicht an dem Werkstück, wie es einem Menschen möglich ist. Wenn die Achsen positioniert sind, betätigt die Bedienungs* person einen Positions-Einstellknopf, der der angeordneten Werkstückoberfläche eine spezielle Programmkoordinate zuordnet. Das genaue Definieren der Stellung des Werkstücks innerhalb des Maschinen-Koordinatensystems kann zwischen 10 und 15 Minuten in Anspruch nehmen»
Viele Rohgußstücke weisen beträchtliche-Abmessungsschwan-" kungen auf, die von den Abmessungen ablaichen, die der Programmierer angenommen hat. Beispielsweise kann die Lage von Löchern und Warzen von einem Gußstück zum anderen bis-zu einem 1/2 Zoll (12,8 mm) von der Nennlage.ab—. weichen. Daher muß die Bedienungsperson vor der Bearbeitung der Löcher oder Flächen die Koordinaten des Programms mit der tatsächlichen Lage der Elemente am Werkstück neu ausrichten.
Im Hinblick auf das oben erläuterte Problem enthält die numerische Steuerung eine sogenannte Offset-Möglichkeit, die eine mittels programmauswählbare Koordinatenversetzung (Offset) gestattet, um sämtliche Abmessungen innerhalb eines Teils des Programms um ein seitens der Bedienungsperson eingegebenes Stück in jeder der linearen Haupt-Maschinenachsen zu verschieben. Daher mißt die Bedienungsperson in Befolgung der Anweisungen des Programmierers die Entfernungen zwischen einer Bezugsstelle und den Löchern oder Warzen. Dann gibt die Bedienungsperson von Hand die Differenz zwischen diesen Entfernungen und die von dem Programmierer angegebenen Entfernungen für die vorgewählten Versetzungen ein. Da ein großes Teil eine große Anzahl von Versetzungen erforderlich machen kann, ergibt sich in einem solchen Fall ein beträchtlicher Produktivitätsmangel. Nicht nur, daß die oben geschilderten, von Hand vorzunehmenden Tätigkeiten einen relativ hohen Ausbildungsstand der Bedienungsperson voraussetzen, durch diese Tätigkeiten wird eine an sich in hohem Maße entwickelte und teuere numerisch gesteuerte Maschine in Wirklichkeit zu einer handbetätigten Maschine.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zu schaffen, welches es ermöglicht, die Unterbrechung des Maschinenzyklus durch eine Bedienungsperson, um die
exakte Lage des Werkstücks und die Position der Bezugsmerkmale an dem Werkstück zu definieren, überflüssig zu machen.
Durch die Erfindung soll weiterhin ein Werkstück-Meßsystem zum Messen der Position mehrerer Punkte auf einer Bezugsfläche und zum Bestimmen der Maximum-, Minimum- und Durchschnittswerte der Messungen geschaffen werden» Die Durchschnittswerte können dazu herangezogen werden, die Mitte einer vorbereiteten öffnung, eines vorbereiteten Loches oder einer vorbereiteten Warze zu lokalisieren, oder sie können dazu herangezogen werden, die beste Passung auf einer rauhen Oberfläche herauszufinden» Der Maximalwert kann dazu verwendet werden, den lichten Abstand von einer rauhen Oberfläche zu definieren, und der Minimumwert kann dazu herangezogen werden, die minimale abzutragende Materialmenge festzulegen, um eine rauhe Oberfläche zu putzen.
Erfindungsgemäß soll die gemessene Position iiner Fläche dazu herangezogen werden, einen Offset-Wert von einer programmgemäß vorgegebenen Fläche zu berechnen„ Die Erfindung schafft weiterhin eine Prüfung von Meßwerten und Offset-Werten bezüglich Maxima und Minima, die von dem Programmierer definiert werden, um zu garantieren, daß das Teil innerhalb der Toleranzgrenzen liegt- Schließlich wird erfindungsgemäß ein Schneidwerkzeug und eine Drehmomentmeßschaltung dazu verwendet, eine Oberfläche abzufühlen und die Werkstücklage und die Werkstückoberflächen-Position exakt zu messen=
Gemäß einer Ausführungsform der Erfindung werden Koordina- Qy tendaten in einem Bearbeitungsprogramm nach Maßgabe der Oberflächenpositionen eines Werkstücks, wie sie von einem Fühlelement gemessen werden, modifiziert» In Abhängigkeit des Programms wird ein Abtastzyklus durchgeführt, um die Lage einer Anzahl von Punkten auf der Werkstückoberfläche aufzuzeichnen. Der Abtastzyklus kann durchgeführt werden
unter Verwendung eines Schneidwerkzeugs und einer Drehmomentmeßschaltung oder irgendeiner anderen Oberflächenabtastvorrichtung. Das erfindungsgemäße Verfahren beinhaltet das Speichern der Maximum-, Minimum- und Durchschnittsgrößen der gemessenen Werte. Das Verfahren beinhaltet weiterhin die Berechnung von Versetzungen (Offsets), die zum Ausrichten der programmierten Daten mit dem Werkstück herangezogen werden. Darüber hinaus können die gemessenen Werte im Hinblick auf die programmierten Maximum- und Minimumwerte geprüft werden, um zu bestimmen, ob das Werkstück innerhalb der Toleranzgrenzen liegt.
Im folgenden werden Ausführungsbeispiele der Erfindung anhand der Zeichnung näher erläutert. Es zeigen:
Fig. 1 eine perspektivische Ansicht von Teilen einer Maschine, bei der die vorliegende Erfindung anwendbar ist,
Fig. 2 ein Blockdiagramm einer numerischen Rechnersteuerung als Ausführungsbeispiel der vorliegen- " den Erfindung,
Fig. 3 ein Flußdiagramm der Prozeßschritte zum Ausführen eines allgemeinen Maschinen-Betriebszyklus1,
Fig. 4a bis 4c ein Flußdiagramm der Prozeßschritte zum Messen eines Punkts an dem Werkstück,
Fig. 5a und 5b ein Flußdiagramm der Prozeßschritte zum Berechnen von Offsets,
Fig. 6a bis 6f ein Fiußdiagramm der Verarbeitungsschritte 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ücksetzen des Oberflächendatenspeichers, und
Fig. 8 ein Flußdiagramm der Prozeßschritte zum wahlweisen aktivieren und deaktivieren einer Oberflächen-Fühlsonde.
Fig. 1 zeigt in schematischer Form eine 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 stationären Gleitschienen 13 zu bewegen und Signale zu erzeugen, die die relative Position der jeweiligen Schlitten 10 kennzeichnen. Die Schlitten 12 und die stationären Schienen sind parallel zu zueinander senkrecht stehenden Achsen eines kartesischen Koordinatensystems 17 angeordnet. Ein mechanisches 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 denjenigen 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 Werkzeughalter 15 befestigt. Diesem ist ein Fühlelement 16 zugeordnet, 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. Vorausgesetzt, daß das dargestellte Werkstück 14 richtig auf dem Tisch 18 ausgerichtet ist, definieren die Anordnungsbezugsflä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 2 3 aufweisen, deren Position
bezüglich der Anordnungsbezugsf lasche 19 von einem Werkstück zum anderen als Folge von Herstellungsvariablen schwankt. Weiterhin kann die exakte Position der Anordnungsbezugsflächen 19 bezüglich des Maschinen-Koordinatensystems von Werkstück zu Werkstück variieren, aufgrund der Abweichungen der Befestigungsklammern 21 oder deren Bewegung.
Jegliche Bewegungen der Schlitten 12. werden gesteuert durch eine Steuerung 25, die in Fig. 2 dargestellt ist. Die Steuerung erfolgt durch erzeugte Signale, die mit den Schlitten-Motorantrieben und Positionswandlern 42 ausgetauscht werden. Die Erfindung wird hier anhand eines Verfahrens zum Bestimmen der PositionsSchwankungen der Anordnungsbezugsflächen 19 und der Werkstückmerkmale\ wie des Merkmals 23, und zum automatischen Modifizieren der von der Steuerung 25 erzeugten Positionierungsbefehle beschrieben; somit kann das Werkstück 14 nach Maßgabe eines in der Steuerung 25 gespeicherten Bearbeitungsprogramms unabhängig von diesen Positionsschwankungen bearbeitet werden^
Fig. 2 ist ein allgemeines Blockdiagramm, das die Architektur einer numerischen Rechnersteuerung 25 darstellt, durch die die vorliegende Erfindung ausgeführt werden kann. Wenngleich die speziell dargestellten Bauteile die Elemente 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 Rechnerarchitektur sincjäaher nicht als Beschränkung des Erfindungsgedankens aufzufassen.
Die hauptsächliche Nachrichtenverbindung zwischen Bedienungsperson und Steuerung besteht in den Steuerkonsoleneinrichtungen mit Bildschirm 20, Tastatur 22, Programmeingabegeräten 24 und 26 und Steuerknöpfen und -anzeige-
lämpchen 28o 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 und einen Ausgangsdatenbus 46= Diese Buse (Datensammelschienen) 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 Schlitten-Servosteuerung 30, das Maschinen-Solenoidinterface 32, das Maschinenlämpchen-Interface 34, das Maschinen-Grenzschalterinterface 36, das Maschinen-Tasten-Interface 38 und die Spindelgeschwindigkeitssteuerung 40o Diese Interfacedinheiten steuern die folgenden entsprechenden Maschinenefemente. Die Schlittenmotorantriebe und Stellungswandler 42, die Werkzeugwechselelemente und andere diverse Mechanismen 44, die Maschinenanzeigelämpchen 5O7 die Maschinenschlitten-Überlaufschalter und andere Grenzscnalter 56, die Bediener-Funktionstasten 58 und die Spindelmotorantriebssteuerung 60= Diese Maschinenelement® sind über ihre zugehörigen Schnittstellen (Interfaces) an den Rechner über einen Maschinen-Interfacebus 42 angeschlossenund jeglicher Informationsaustausch zwischen diesen Elementen und dem Rechner erfolgt über den Eingabedatenbus 48 und den Ausgabedatenbus 46.
Die Oberflachen-Abfühlinformation wird von einer Sonde ermittelt, die über eine Sondenschnittstelle 62 an den Maschinen-Interfacebus 52 angeschlossen ist» Bei der bei der Änmelderin fabrizierten Ausführungsform handelt es sich bei der Sonde 64 um eine käuflich erwerbbare dreidimensionale 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 Strahlungs-Fühleinrichtung ausgeführt werden kann.
Als Alternative zu der Oberflachen-Berührungssonde 64 sieht die Erfindung ein Drehmomentsteuermodul 66 vor, das die Spindelmotorwandler 68 überprüft. Die Spindelmotörwandler messen den Strom, die Spannung und die Winkelgeschwindigkeit des Spindelmotors. Die Einzelheiten des Drehmomentsteuermoduls 66 sind in der US-Patentanmeldung SN 065,583 vom 10. August 1979 beschrieben. Anstelle des Moduls 66 und der Wandler 68 könnte ein anderes käuflich erwerbbares Schneidkraft-Fühlsystem verwendet werden, das dem Programmierer gestattet, eine ermittelbare Kraftgrenze zu definieren.
Der Rechner 51 besteht grundsätzlich aus einem Speicher 72 zum Speichern von Programmbefehlen und Programmdaten, sowie einer zentralen Verarbeitungseinheit (CPU) 70, die die Programmbefehle interpretiert und die Programmdaten manipuliert. Ein Betriebssystemprogramm 81 steuert den Ausführungsablauf der Programme innerhalb des Rechners. Unter derAufsicht 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 ankommenden 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 un^flie Daten in den zugehörigen Speicherstellen zu speichern. Unter Steuerung des Datenaufbereitungsprogramms 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 Werkzeugnummerinformation, 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 Vorbereitungsfunktions-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 sowie die definierenden Drehmomentgrenzen zu aktivieren und abzugleichen. Ein Identifizierprogramm für aktive Oberflächen 90, aktiviert eine durch den Programmierer angeforderte Versetzung (Offset) und aktiviert die geeigneten Oberflächendatentabellen 92 zum Speichern der gemessenen Information. Der Speicher 9 4 für Ist- und Soll-Vorschubgeschwindigkeit und -Position enthält die Daten betreffend die derzeitige und zukünftige Vorschubgeschwindigkeit und
313431b
-Information. Bei gegebenen Positions,-^ und Vorschubgeschwindigkeitsdaten und weiterer Information zum Modifizieren der Werkzeugposition bestimmt das Meßspannendaten-Berechnungsprogramm 96 den Betrag der laufenden Meßspannenlänge und legt die axialen Versetzungen und Vorschubgeschwindigkeiten fest, um die gewünschte Spanne zu erreichen. Der Speicher 98 für Spindelgeschwindigkeit und Werkzeugbefehl definiert diejenigen Spindelgeschwindigkeiten 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 Naehspannen-Maschinenfunktionen. Ein Spannen- oder Prozeß-Abschlußprogramm 108 folgt der Ausführung-einer speziellen Bearbeitungsspanne durch die Maschine und bestimmt die erfolgreiche Ausführung einer speziellen Bearbeitungsspanne oder ihre vorzeitige Beendigung. Ein Fühlelement-Unterbrechungsund Serviceprogramm 110 steuert das Aktivieren der Sonde 64 oder des Drehmomentfühlmoduls 66. Wenn das Oberflächenfühlelement aktiviert ist, führt das Programm eine überwachung hinsichtlich einer Unterbrechung des Oberflächenfü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 Oberflächenabtastung durchzuführen. .
313431b
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 Anzahl von erforderlichen Prozessen. Ein Prozeßeinleitungsprogramm 120 behandelt die Warteschlange und leitet die dort gespeicherten Prozesse ein- Ein Prozeßausführungs-Steuerprogramm 122 überwacht die Ausführung der aktivierten Prozesse und bestimmt, wann diese Prozesse ihre Aktivität beendet haben.
FIg0 3 ist ein Flußdiagramm eines allgemeinen Maschinenzyklus , 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 Bedienungsperson einen Zyklus-Startknopf^herabdrückt. Ansprechend auf den Erhalt eines Eingangssignals von dem Zyklus-Startknopf legt das Maschinenzyklus-Steuerprogramm 80 (vglο Figo 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-Eingabegeräte, wie sie hier zum Einsatz gelangen. Das derzeit aktive Eingabegerät wird identifiziert durch das Teile- rw% programm und das Lese/Anzeige-Steuerprogramxn 74, das aus dem Satz von Programmen 76 das geeignete Eingabegerät-Steuerprogram m auswählt. Dann werden von dem aktiven Eingabegerät Teileprogramm-Daten in einen Pufferspeicherbereich übertragen, der dem N/C-Blockprogramm 82 zugeordnet ist.
j I J 4 cJ I
Der Prozeßschritt 126 gemäß Fig. 3 stellt die Verarbeitung des Informationsblocks dar. Die N/C-Blockprogramme 82 gemäß Fig. 2 übernehmen Datenfehlerprüfungen und wandeln die Daten aus dem Code u, in dem sie von dem Eingabegerät empfangen wurden, in einen Binärcode um. Das Maschinenzyklus-Steuerprogramm 80 legt dann fest, daß das Datenaufbereitungsprogramm 86 die Maschinenschlittendaten von den Maschinen-Mechanismusdaten separiert und die inkrementalen Versetzungen der Maschinenschlitten berechnet. Das Maschinenzyklus-Steuerprogramm 80 veranlaßt das Ausgabesteuerprogramm 102, Achsen- und.Interpolationsdaten von solchen Mechanismus-Betriebsabläufen, wie Spindelgeschwindigkeit, Werkzeugnummer und verschiedene Funktionsbefehle zu separieren. Das Ausgabesteuerprogramm 102 überträgt dann Daten betreffend die Spannenlänge und die Vorschubgeschv/xndigkeit über den Maschinen-. Interfacebus 52 an die Servosteuerung 30.
Im Prozeßschritt 128 wird entschieden, ob eine Interpolation 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 arithmetischen 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 Speicherblock 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 erforderlichen 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 Ausführung jener Maschinenprozesse einleitet, die vor der Bewegung der Maschinenschlitten stattfinden müssen, z.B. das Einschalten der Spindel und des Kühlmittels, das Aktivieren des Drehmomentsteuermoduls, das Einstellen einer bestimmten Drehmomentgrenze usw. Das Ausgabesteuerprogramm 102 gemäß Fig. 2 leitet einen Maschinenprozeß ein, indem die Mechanismussteuerung 116 aktiviert wird, welche die Prozeß-Warteschlange 118 behandelt. Die Wirkung dieser Aktivierung besteht darin, daß der Start einer Achseninterpolation verhindert wird und die Mechanismussteuerung 116 die erforderlichen Vor-Spannen-Maschinenprozesse ausfü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 Spannenende oder eine Fühlelement-Unterbrechung ermöglichen kann, wie es in Schritt 136 in Fig. 3 festgelegt ist. Wenn entlang einer Bewegungsachse ein Abtastzyklus ausgeführt wird, definiert der Abtast-Informationsblock einen Entpunkt 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 Behandlung durch das Fühlelement-Unterbrechungs- und Serviceprogramm 110 erforderlich macht. Dies veranlaßt eine unmittelbare Sperre der Schlittenbewegung; nach Beendigung
des Ab;tastzykl-us 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 138, daß das Ausgabesteuerprogramm die Ausführung der Nach-Spannen-Maschinenprozesse einleitet.
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 Mechanismussteuerung 116, die diese Prozesse ausführt, wie es in dem Schritt 140 in Fig. 3 vorgesehen ist. Das Betriebssystem wird an der erneuten Fortsetzung des automatischen Maschinenzyklus verhindert, bis die Mechanismussteuerung 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-Zyklusfreigäbe, 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 Stellungen der Werkstück-Merkmale zu messen und die Stellungen für die anschließende Verwendung zu speichern. In dem bevorzugten Ausführungsbeispiel wird ein Oberflächenmeßzyklus mit speziellen Vorbereitungsfunktionen, die von einer G-Adresse markiert sind, eingeleitet. In Entsprechung der Programmvereinbarungen kann ein aus zwei Ziffern bestehendes G-Wort willkürlich gewählt werden. Als Beispiel wird hier Gpp einen Meßzyklus unter Verwendung der Oberflächen-Berührungssonde und Gtt einen Meßzyklus unter Verwendung eines Schneidwerkzeug-Drehmoments definieren.
Wie oben bereits erläutert wurde,, ist die Werkzeugwechselfunktion eine Spannen-End-Funktion. Daher muß der Programmierer in dem einem Meßzyklus vorausgehenden Informationsblock 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 definiert werden. Typischerweise weist ein Roh-Werkzeug zuvor behandelte Anordnungsbezugsflächen in den X-,Y- und Z-Achsen auf. Daher kann der Programmierer entlang jeder dieser Bewegungsachsen aufeinanderfolgende Meßzyklen definieren, um die exakte Lage dieser Oberfläche zu messen und hieraus einen Programm-Startpunkt einzurichten. Wenn man davon ausgeht, daß eine Oberflächen-Berührungssonde verwendet wird, so würde der Progr-umierer in der Praxis die Sonde in dem Werkzeughalter anordnen und die Sonde in eine Position entgegen der X- Bezugsebene bewegen» In dem Maschinenprogramm würden die folgenden Blockdaten programmiert werden, die einen Werkstück-Anordnungsbefehlsblock definierens
Nnnn Gpp Xxxxxxxx liiiiiii
Nnnn definiert die laufende Nummer des Blocks in dem Bearbeitungsprogramnu 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ßsyklus er- , folgen soll und die numerischen Daten des X-Wortes definieren eine Stelle auf der X-Achse. liiiiiii, eine angenommene 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 initialisiert und die Schlitten ausgerichtet hat, so erzeugen anschließend sämtliche Schlittenbewegungen Ist-Positionsdaten, deren Werte bezüglich des Maschinen-Koordinatensystems gemessen sind. Wie oben bereits gesagt wurde, werden jedoch die Bearbeitungsprogramm-Koordinatenwerte relativ zu einem von dem Programmierer definierten Programmkoordinatensystem gemessen. Die Wirkung der Zuordnung 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 Schlittenposition bezüglich des Maschinen-Koordinatensystems wiederspiegelt. Danach werden sämtliche durch die Steuerung in Abhängigkeit des Bearbeitungsprogramms generierten Schlittenpositionsbefehle modifiziert, um diese Translation oder Umsetzung wiederzuspiegeln. Somit wird das Programm-Koordinatensystem wirksam bezüglich des Maschinenkoordinatensystems umgesetzt. Der obige Informationsblock wird von dem N/C-Blockprogramm gelesen und decodiert. Die Datenaufbereitungsprogramme 86 decodieren die Vorbereitungsfunktion 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 Unterbrechung 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ämtliche notwendigen Vorspannfunktionen ausführt. Bei dem bevorzugten Ausführungsbeispiel kann ein Informationsblock mit einem Meßzyklusbefehl irgendeine der üblichen
3 1 3 A3 1 5
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 Vorschubgeschwindigkeit gewählt, um die Wiederholbarkeit zu verbessern und die Zykluszeit zu minimieren. Wenn die Vorschubgeschwindigkeit mit den Meßzyklusbefehlen programmiert wird, so vird sie für den nächsten Informationsblock, der nicht für die Messung vorgesehen ist, gespeichert. Die Sonde bewegt sich entlang der X-Achse in Richtung auf die X-Achsen-Anordnungsbezugsfläche. Der Entscheidungsblock 150 ermittelt, ob eine Sensor-Unterbrechung entlang dieses Weges auftritt. Tritt keine Unterbrechung 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 befindet. Wenn die Sonde einen Punkt auf der Bezugsfläche berü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 Anfangsstellungssignal aufgezeichnet wird, welches die Position des Punktes auf der Bezugsfläche repräsentiert.
Wach erfolgter Berührung kann die Stellung des Fühlelementes aus verschiedenen Quellen abgeleitet werden. In einigen Situationen wird die Schlitten-Servosteuerung Register beinhalten, die die laufende Schlittenstellung anzeigen. In solchen Situationen können die Registerinhalte 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-Unterbrechungsbehahdlungsprogranon. ^1O eine Unterbrechung feststellt und das Spannen-Abs chlußprogramm 108 eine Schlittenbewegurig sperrt, kann das Achsen-Stellungssignal aus der laufenden Schlittenstellungstabelle in der Spannen-Ausführungssteuerung 104 gelesen 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 r welcher den Radius des Fühlelementes darstellt, damit das aufgezeichnete Anfangsstellungssignal die Stellung oder Position des erfaß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ühlelementlänge angibt, um das aufgezeichnete Anfangspositionssignal zu erzeugen.
Die Angriffsspanne der Sonde auf die X-Bezugsebene erfolgt typischerweise bei einer relativ hohen Vorschubgeschwindigkeit. Daher wird aufgrund der nachfolgenden Fehler und weiterer Eigenschaften des Systems die aufgezeichnete Anfangsstellung nicht innerhalb annehmbarer Toleranzen liegen. 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 innerhalb 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 Anschluß daran erzeugt der Prozeßschritt 162ein Datenerfassungs-Befehlssignal, das eine Bewegung über einen festen
Versetzungsabstand zu einem Punkt außerhalb der Anordnungsbezugsfläche verursacht; diese Bewegung erfolgt bei einer geringeren Vorschubgeschwindigkeit= Im Entscheidungsschritt 164 wird die Sensor-Unterbrechung festgestellt, die bedeutet, 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 Proseß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ühlelementes, 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 Entscheidungsschritt 170 ermittelt wird, wird die Schlittenbewegung gesperrt und es wird ein Fehler angezeigt» Wenn man annimmt, daß in Abhängigkeit davon, daß die Sonde den Berührkontakt mit dem Werkstück verloren hat, eine Sensor-Unterbrechungarfolgte, erzeugt der Prozeßschritt 174 ein abschließendes Befehlssignal, um die Sonde mit niedriger vorgegebener Geschwindigkeit in eine Position zu bewegen, die der X-Achsen-Anordnungsbezugsflache^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- ■ C* rauf hingewiesen, daß beim Einstellen der Maschine in Vorbereitung auf die Ausführung des Programms die Bedienungsperson 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 Werkzeugdatenspeicher 87 zusammen mit weiterer Werkzeuginformation gespeichert. Da in diesem speziellen Block keine weitere Information programmiert war, sind keine Nachspannfunktionen erforderlich. Der Prozeß geht zum nächsten Informationsblock weiter.
Um die Koordinaten für die Y- und Z-Bezugsflachen zu definieren, würde der Programmierer zuerst einen Werkstück-Anordnungsbefehlsblock definieren, welcher Abtastbefehlssignale generieren würde, um die Sonde gegenüber der Y-Achsen-Anordnungsbezugsflache zu positionieren. Dann würde 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 Datenerfassungsspanne und eine Abschluß- oder Endspanne vorbereiten bzw. ausführen, um die Sonde entlang der Y-Bewegungsachse zu bewegen und sie in Berührungskontakt mit der Y-Achsenanordnungsbezugsflache zu bringen. An diesem Punkt würde derEntscheidungsschritt 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-Anordnungsbezugsfläche als das K-Wort festlegen, indem der folgende Informationsbiock für den Werkstück^Anordnungsbefehl verwendet wird: ■. - -
Nnnn Gpp Zzzzzzzz Kkkkkkkk Rrrrrrrr
In dem obigen Informationsblock erfaßt der Entscheidungsschritt 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 Lochschneidens und Endbearbeiten 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 Inkrement 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 16 8 aufgezeichnet wurde.
Wenn der Teile-Programmierer entschieden hat, zum Erfassen der Bezugsflächen das Schneidwerkzeug-Drehmoment heranzuziehen, 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« Nachdem das Datenaufbereitungsprogramm den Drehmoment-Aufbereitungscode 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 vorab definierter Drehmoment-Grenzwert. Der Drehmoment-Grenzwert repräsentiert ein Drehmoment, welches einen oberflächlichen Kontakt des Schneidwerkzeugs mit dem Werkstück darstellt. Hinsichtlich der Prozeßschritte 144, 146 und 148 in Fig. 4a würden das Datenaufbereitungsprogramm 86 und die Ausgabensteuerung 102 in der zuvor beschriebenen Weise arbeiten, um eine Angriffsspanne entlang der programmierten Achse in Richtung der Anordnungsbezugsfläche einzuleiten, und zwar mit einer Vorschubgeschwindigkeit, die durch das F-Wort festgelegt wird.
Die Sensor-Unterbrechung würde erfolgen, wenn das Drehmcijnentsteuermodul e?:n Berührungssignal erzeugt, das ein SÜ*ineid-DrehKioment anzeigen würde, welches gleich oder ■ ■ größer wäre als der Drehmoment-Grenzwert, und die Unterbrechung würde bewirken, daß das Unterbrechungsbehandlungsprogramm 110 die Schlittenbewegung sperrt und ein Z-Koordinatensignal 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 Entseheidungsschritt 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 Betriebsart auf, die dem Programmierer gestattet, viele Punkte entlang der Oberfläche zu tasten und die relevanten statistischen Eigenschaften der gemessenen Koordinaten, d.h., die Maximumwerte, die Minimumwerte, die Durchschnittswerte, die Standardabweichung, den Medianwert usw., zu sammeln.
Es sei angenommen, das Werkstück enthalte eine nicht behandelte 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 X-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 eineAngriffsspanne in Richtung auf die Kante der Rippe entlang der X-Achse mit der vorgegebenen Vorschubgeschwindigkeit vor. Da die Sonde zum Fühlen der Oberfläche verwendet wird, werden eine Rückzugsspanne, eine Datenerfassungsspanne und eine Äbschlußspanne ausgeführt. Ein X-Koordinatensignal, das die Position eines Punkts an der Kante der Rippe repräsentiert, wird aufgezeichnet, 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 Ziffernjoestehendes Wort zugeordnet, das einen aktiven Oberflächenspeicherplatz definiert, der in dem Xdentifizierprogramm für aktive Oberflä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 Maximalwerte der gemessenen Koordinatenpositionen speichern? die zweite Stelle speichert einen Satz von X-, Y- und Z-Koordinatensignalen, die die Minimalwerte der gemessenen Koordinatenpositionen darstellen; die dritte Speicherstelle speichert 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 Anzahl 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 Koordinatenpositionen ü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 Η-Wort identifiziert wird, wiederholt. Um das größere Koordinatensignal zu bestimmen, vergleicht der Prozeßschritt 198 die Werte des zuvor gespeicherten Signals und des laufenden X-Koordinatensignals. 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 Η-Wort definiert wird, gespeichert wird; andernfalls bleibt das gespeicherte Koordinatensignal in der ersten Speicherstelle unverändert. Als nächstes holt der Prozeßschritt 202 ein zuvor gespeichertes X-Koordinatensignal aus der zweiten Speicherstelle in dem H-Wort-Speicher. Der Prozeßschritt 204 vergleicht die Größe des laufenden X-Koordinatensignals mit dem zuvor gespeicherten Signal, um das kleinere Koordinatensignal zu bestimmen. Wenn das laufende X-Koordinatensignal kleiner ist, so wird es in der zweiten Speicherstelle des Η-Wort-Speichers als neue minimale gemessene Position gespeichert, vgl. Prozeßschritt 206. Andernfalls bleibt der gespeicherte minimale Positionswert ungeändert. Als nächstes wird das laufende X-Koordinatensignal mit den zuvor gespeicherten X-Koordinatensignalen 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 enthaltene Zahl einmal inkrementiert (erhöht). Danach fährt der Prozeß mit dem Schritt 193 zur Ausführung der Vorspannfunktionen 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-Speichers 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-Koordinatensignal zu generieren, welches die durchschnittliche Meßposition der Rippe in der X-Achse darstellt. Die gemessenen Maximum- und Minimum-Positionen können dazu herangezogen werden, die Materialmenge zu bestimmen, die entfernt 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 lokaliasren. Wenn die Löcher jedoch entlang der Mittellinie der Rippe anzuordnen sind, wird ein Meßzyklus mit einer gleichen 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 bezüglich der Y- und Z-Bewegungsachse gemessen und gespeichert werden.
TJrr^ die Lpcher entlang der Mittellinie derRippe zu bohren,
■"'Po ■ " ]>■-
m\j.Q der Programmierer die Mitte jedes Lochs von der Kante der Rippe in der X-A,chse lokalisieren. Daher muß eine programmierte X-Achsenkoordinate , die die programmiererseitige Definition der Kante der Rippe darstellt, korreliert werden mit der tatsachlichen Kantenlage, wie sie durch die Sonde ermittelt wird. Wie oben bereits erläutert wurde, kann die erste Meßbetriebsart in Verbindung mit einem programmierten I-Wort, das die Programmiererseitige Definition der Rippenkante darstellt, herangezogen werden. Der Effekt dieses Vorgangs besteht darin, sämtliche programmierten Koordinaten bezüglich der gemessenen Lage umzusetzen. Dies ist beim anfänglichen Anordnen des Werkstücks wünschenswert. Beim Definieren der individuellen Werkstückmerkmale, ζ .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 herangezogen werden kann, welches die Differenz zwischen einer gemessenen Werkstückmerkmal-Position, z.B. einer Rippenkante, und der programmiererseitigen Definition dieser Position darstellt. Jedesmal.wenn der Programmierer relativ zu einem solchen Werkstückmerkmal zu arbeiten wünscht, verwendet er den zugehörigen Offsetwert, der eine Modifikation von Befehlssignälen bewirkt, die abgeleitet werden von den programmierten Koordinatenwerten, und zwar nach Maßgabe der gemessenen tatsächlichen Position eines Werkstückmerkmals; von anderen Programmkoordinaten abgeleitete 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ächenfunktionsprogramm 100 des Datenaufbereitungsprogramms 86 erfaßt ο Das Programm spdLcht an auf das aktive Oberflächenwort und die Koordinatendaten in dem Informationsblock und veranlaßt das Offset- und Testprogramra 112 sowie den Ausgabesteuerabschnitt 120, den geeigneten Offset zu berechnen» 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 GO bis G3» Wenn in dem Informationsblock ein GO programmiert ist, wird ein X-Offsetsignal berechnet, das die Differenz der Werte zwischen dem programmierten X-Wort und einem aufgezeichneten laufenden X'-Koordinatensignal, 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, darstellte Das X-Wort ist ein BezÄ^ewerfe? der die programmiererseitige Definition einer Position eines bestimmten Punktes auf dem Werkstück repräsentiert« Das X-Offsetsignal wird berechnet und in der fünften Speicherstelle des programmierten Η-Wortes gespeichert» Bei dem Beispiel der Rippenkante wird lediglich die X-Achse abgetastet und gemessen? es können jedoch die Y- und Z-Offsetsignale für die Y- bzw» Z-Achsen einfach dadurch berechnet werden, daß die Y- und Z-Wörter zu dem Offset-Informationsblock addiert werden»
Wenn in dem Offset-Informationsblock ein G3 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 G2 programmiert ist, wird ein X-
Offsetsignal berechnet, das die Differenz zwischen dem X-Wort undßer in dem H-Wort-Speicher gespeicherten minimalen gemessenen X-Positon darstellt. Wenn, wie es oben dargestellt wurde, in dem Offsetblock ein Gl 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 gespeichert 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 Rippenkanten definiert, anzuordnen.
Fig. 5a und 5b zeigen ein Flußdiagramm , das die Prozeßschritte der Ausführung eines Offset-Informationsblocks verdeutlicht. Nachdem von dem Datenaufbereitungsprogramm (sh. Fig. 2) der OFS-Befehl decodiert wurde, geht der Prozeß zum Schritt 212 (sh. Fig. 5a), um das Vorhandensein einer H-Adresse zu bestimmen. Ist in dem Block des Bandes keine Η-Adresse vorhanden, so ist es nicht möglich, einen berechneten Offsetwert zu speichern, und daher wird das Offsetprogramm nicht ausgeführt. Wird eine Η-Adresse decodiert, so bestimmt Block 214, ob ein GO vorliegt. Ist dies der Fall, prüft Schritt 216 eine X-Adresse. Liegt eine X-Adresse vor, berechnet Block 218 einen X-Offsetwert dadurch, daß der Wert des X-Wortes von äera, 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 Gl-Befehl vorliegt. Ist dies der Fall, und liegt eine X-Adresse vor, was im Block 2 30 ermittelt wird, so verwenden die Blöcke 232 und 234 die Summe der gemessenen Positionen und die Inkrementierungszahl des identifizierten Η-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 entsprechendes X-Offsetsignal gespeichert. In ähnlicher Weise ermittelt der Prozeß in den Schritten 238 bis 252, ob Υ- oder Z-Adressen programmiert sind. Y- und Z-Offsetsignale werden auf der Grundlage der durchschnittlichen Y- und Z-Koordinatensignale gespeichert. Entscheidungsschritt 253 in Fig. 5b bestimmt, ob ein G2-Befehl vorliegt. Ist dies der Fall, prüft der Schritt 254 das Vorhandensein einer X-Adresse. Ist sie vorhanden, berechnet der Schritt 256 einen Offsetwert dadurch, daß der Wert des X-Wortes von dem Wert der gemessenen minimalen X-Position subtrahiert wird, und es wird ein entsprechendes X-Offsetsignal in der fünften Speicherstelle des H-Wort-Speichers gespeichert. In ähnlicher Weise ermitteln 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 G3-Befehls. Dieser Befehl veranlaß in Kombination mit einer im Schritt 270 definierten X-Adresse,-daß der Prozeßschritt 272 einen X-Offsetwert dadurch berechnet, daß der Wert des X-Wortes von dem Wert der gemessenen 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 Offset-Informationsblock enthalten sind; entsprechend werden Y-und Z-Offsetsignale gespeichert«
Die Erfindung schafft weiterhin die Möglichkeit, eine ge-
f#s) ·♦ ■ ■ ■■ - "v - " ■ * -
messsene Koordinatenposirdon gegenüber programmierten Grenzen, welche Maxima und Minima darstellen, arithmetisch zu testen. In dem obigen Beispiel nehme man an, der Programmierer wünsche, das durchschnittliche X-Koordinatensignal, das die Rippenkante definiert, bezüglich oberer und unterer Grenzen zu testen. Hierzu würde der folgende Informationsblock 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 Testprögramm 212 sowie der Ausgabesteuerung 102 den gewünschten Test durch. Unter Verwendung der Testfunktion hat der Programmierer die Wahlmöglichkeit, bis zu sechs unterschiedliche Werte zu testen, abhängig von dem programmierten G-Wort. Beispielsweise repräsentiert Gl einen Test der durchschnittlichen Meßposition bezüglich programmierter X- und I-Wörter. Das X-Wort repräsentiert eine ein Minimum definierende Untergrenze; das I-Wort repräsentiert eine ein Maximum definierende 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ß entweder 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-Ädressen 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 GO-Befehl in dem Test-Informationsblock programmiert ist, wird der Wert des aufgezeichneten laufenden Koordinatensignals getestet» Wenn ein G2-Befehl programmiert ist, wird die gemessene Minimum-Koordinatenposition getestet. Ist ein G3-Eefehl in dem Testblqck programmiert, wird die gemessene Maximum-Koordxnatenpositxon getestet. Ist ein G4-Befehl programmiert, wird die Differenz zwischen den gemessenen Maximum- und Minimum-Koordinatenpositionen getestet. Wenn ein G5-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 GO-Befehls. Liegt ein GO-Befehl vor, ermittelt der Prozeßschritt 286 das Vorhandensein einer X-Adresse. Ist eine solche X-Adresse vorhanden, ermittelt 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-Koordinatensignals kleiner als der Wert des I-Wortes oder des Maximums ist» Falls nicht, wird wiederum ein Fehlerflag gesetzt, 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
40 -
Test nicht durchgeführt werden, wenn die Η-Adresse nicht . ,/^ vorliegt. Im Entscheidungsschritt 312 wird das Vorhanden- \ sein einer Η-Adresse ermittelt. Schritt 314 stellt das Vorhandensein eines Gl-Codes fest. Entscheidungsschritt 316 führt eine Prüfung bezüglich einer X-Ädresse durch. Liegt eine X-Adresse vor, verwendet Prozeßschritt 318 die gemessene Summe und die Inkrementzahl aus dem gekennzeichneten H-Wort-Speicher zum Berechnen einer durchschnittlichen 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 Toleranzgrenzen; Prozeßschritt 326 setzt ein Fehlerflag, das angibt, 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 Η-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-Koordinatenpositionen des identifizierten Η-Wortes bezüglich der programmierten Maxima und Minima geprüft. Die Prozeß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 Η-Speicher. Hierzu wird ein Informationsblock programmiert, der eine Folgezahl, einen RST-Befehl sowie ein Η-Wort enthält. Prozeßschritt 486 ermittelt das Vorhandensein der Η-Adresse, und Prozeßschritt 488 veranlaßt, daß die fünf dem Η-Wort zugeordneten Speicherplätze auf Null gesetzt werden. Daher werden die dem programmierten H-Wort zugeordneten Werte des gemessenen Maximums, des gemessenen Minimums, der gemessenen Summe, der Inkrementzahl und der Offsetpositionen auf Null zurückgesetzt.
Aus der obigen Beschreibung ergibt sich, daß die Hauptursachen für Eingriffe seitens der Bedienungsperson bei dem Bearbeitungsvorgang durch die Realisierung der vorliegenden 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 angenommenen 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
f ür den Meßzyfe1;'ps weitere Befehle zum'Speichern ä'kx gemessenen durchschnittliehen oder'mittleren Position
■■·■;/-/ ■."■-■■■ ·>■■■ · - -
vorgesehen werden, kann ein Offsetblock programmiert werden, um einen Offset (Versetzung) von der gemessenen mittleren Position zu berechnen; wird der Offset zu der angenommenen Mittenlage addiert, erhält man entlang der Achse eine Position oder eine Lage, die den wirklichen Mittelpunkt zwischen den zwei erfaßten Punkten am Umfang darstellt. 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 Vorgang 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-Steuermodul 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 Oberflächenabtastung auf einzelne Ebenen, die parallel zu denjenigen Ebenen ausgerichtet sind, die durch die orthogonalen Bewegungsachsen der Maschinenschlitten definiert werden. Daher muß eine Meßspanne in einer einzelnen Achse programmiert werden. Um die Meßspannen relativ kurz zu halten und gleichzeitig sicherzustellen, daß die Ausgangsposition der Meßspanne einen lichten Abstand von der Oberfläche für das Fühlelement aufweist, ist eine Vorbereitungsfunktion für die betriebsmäßige Aktivierung des Fühl-
elements vorgesehen, damit das Vorpositionieren der Ausgangsstellung 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 gestattet weiterhin das Programmieren von Spannen in mehrfachen Achsen und veranlaßt die Erzeugung eines Fehlersignals, wenn das Fühlelement während der Ausführung dieser nicht zur Messung gehörenden Spannen erfaßt» Zum Aktivieren des Fühlelementes wird ein Gaa programmiert. 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, ζ »Β» ein Programmende, eine Steuerdaten-Rücksetzung, USWo
Fig. 8 ist ein Flußdiagramm, das die Beschaffenheit der Fühlelement-Aktivierungs/Deaktivierungs-Vorbereitungsfunktionen veranschaulicht»jtfie^yorher, decodiert das Datenaufbereitungsprogramm 85 aus den Programmbloek-Daten den Gaa und speichert ihn= Unter der Leitung des Maschinenzyklus-Steuerprogramms 80 schreiten die Äusgabesteuerprogramme 102 mit der Blockverarbeitung zum Prozeßsahritt 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 den Prozeßschritt 502 "Blockausfü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 zuvorgekommen, 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 gelöscht oder übersprungen wird, wie durch den Entscheidungsschritt 508 dargestellt ist. Wird der Fehler gelöscht oder übersprungen, veranlaßt der Prozeßschritt 510 das Fühlelement-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 bestimmt 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 Entscheidungsschritte 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 r 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 Test die getestete Bedingung erfaßt, endet der Prozeß im Schritt 524, der das Unterbrechnungs- 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 Programms beibehalten wird, da dieser Prozeßschritt veranlaßt,
daß das Maschinenzyklus-Steuerprogramm 80 die Eingabe anschließender Programmblöcke bewirkt.
Der Fachmann erkennt, daß die zur Ausführung der obigen Funktionen tatsächlich verwendeten Codes von dem Systementwurf und den Eigenarten einer speziellen numerischen Rechnersteuerung abhängen. Daher sind die in der obigen Erläuterung verwendeten speziellen Codes nicht als Beschrä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.
Leerseite
ψ ^ * '■■- -■
-■■ι--.'

Claims (1)

  1. Diplom Ingenieure
    B4TENI4NW«flLTEKrtA BROSE0K8'BRQSE
    D-8023 Munchen-Pullach. Wiener Str 2; Tel (089) 7 93 30 71. Telex 5 2ι·2 147 hros «i; cWes «Pit-snlibUE- München
    Ihr Zeichen: Tag:
    Your ret: 801^F Date: 28* August 1981
    Ore.
    CINCINNATI MILACRON INC., 4701 Marburg Avenue, . Cincinnati, Ohio 45 209, USA
    Patentansprüche
    Verfahren zum Messen der Ist-Position von Werkstück- '{
    is
    oberflächen und zum Modifizieren von Befehlssignalen, die aus einem den Betrieb einer Maschine definierenden Bearbeitungsprogramm abgeleitet werden, wobei die Maschine entlang 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 angeschlossen ist, die zum Speichern des Maschinenprogramms dient und Befehlssignale zum Steuern der Relativbewegung erzeugt, gekennzeichnet durch folgende Schrittes
    a) Speichern von Abtastprogrammbefehlen in Verbindung mit dem Maschinenprogramm, um einen Abtastzyklus zum Messen der Ist-Position einer Werkstück-Bezugsfläche zu definieren;
    b) Erzeugen von Abtastbefehlssignalen,,um das Fühlelement gegenüberliegend ei^am Punkt^der Bezügsfläche zu positionieren;
    c) Erzeugen weiterer Abtastbefehlssignale, um das Fühlelement zu veranlassen, sich entlang einer Bewegungsachse auf die Bezugsfläche hin zu bewegen;
    d) Beendigen der Bewegung des Fühlelements in Abhängigkeit davon, daß das Fühlelement einen Punkt der Bezugsfläche erfaßt;
    e) Erzeugen eines Koordiriatensignals, das die Position des erfaßten Punkts entlang der Bewegungsachse definiert;
    f) Wiederholen der Schritte b) bis e) entsprechend einer vorbestimmten Zahl von Durchgängen, die definiert wird durch den Abtastzyklus, um die Position einer Anzahl unterschiedlicher Punkte zu messen und dadurch die Position der Bezugsfläche zu definieren;
    g) Speichern einer Anzahl ausgewählter Koordinatensignale; und
    h) Erzeugen modifizierter Befehlssignale in Abhängigkeit der ausgewählten Koordinatensignale und der von dem Bearbeitungsprogramm abgeleiteten Befehlssignale, wobei die modifizierten Befehlssignale eine Relativbewegung zwischen dem Werkzeughalter und dem Werkstück nach Maßgabe des, Maschinenprogramms und unabhängig von Schwankungen der Position der Bezugsfläche bewirken. "..■-"":
    2. Verfahren nach Anspruch 1, bei dem das Fühlelement eine durch Berührkontakt betätigte Sonde aufweist und die Schritte zum Beendigen der Bewegung des Fühlelements und zum Erzeugen eines Koordinatensignals weiterhin gekennzeichnet sind durch folgende Schritte:
    31343·
    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 Position des Punkts der Bezugsfläche in Abhängigkeit davon repräsentiert, daß das Fühlelement den Punkt der Bezugsfläche berührt?
    c) Erzeugen eines Rückzugsbefehlssignals in Abhängigkeit des Anfangs-Positionssignals, um das Fühlelement entlang der Bewegungsachse zu einer Position zu bewegen, die eine vorbestimmte Entfernung von der Bezugsfläche innerhalb derselben aufweist?
    d) Erzeugen eines Datenerfassungs-Befehlssignals zum Bewegen des Fühlelements mit einer vorgegeben, geringeren Vorschubgeschwindigkeit entlang der Bewegungsachse von der Bezugsfläche fort?
    e) Beendigen der Bewegung des Fühlelements in Abhängigkeit davon, daß das Fühlelement den Berührkontakt mit dem Punkt der Bezugsfläche verliert?
    f) Erzeugen eines Koordinatensignals, das die Position des Punkts der BezugsfJLäch©.. entlang der Bewegungsachse repräsentiert, und zwar in Abhängigkeit davon, daß das Fühlelement den Berührungskontakt mit der Bezugsfläche verliert? und
    g) Erzeugen eines Äbschlußbefehlssignals 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 Bezugsfläche benachbart ist»
    Verfahren nach Anspruch 1, bei dem das Fühlelement ein Schneidwerkzeug aufweist und die Steuerung eine Drehmomentmeßschaltung besitzt, die auf das Schneidwerkzeug anspricht und ein Berührungssignal in Abhängigkeit davon erzeugt, daß das auf das Schneidwerkzeug aufge=
    brachte Schneid-Drehmoment wenigstens gleich groß ist wie ein vorgegebener Drehmoment-Grenzwert, der repräsentativ ist für den Oberflächenkontakt des Schneidwerkzeugs mit dem Werkstück, wobei die Schritte zum Beendigen der Bewegung des Fühlelements und zum Erzeugen eines Koordinatensignals gekennzeichnet sind durch folgende weitere Schritte:
    a) Beendigen der Bewegung des Fühlelements in Abhängigkeit des Berührkontaktsignals;
    b) in Abhängigkeit des Berührkontaktsignals Erzeugen eines Koordinatensignals, das repräsentativ ist für die Position des Schneidwerkzeugs; und
    c) Erzeugen eines Rückzugsbefehlssignals in Abhängigkeit des Koordinatensignals, um das Fühlelement von der Bezugsfläche fort entlang der Bewegungsachse zu bewegen .
    4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das Bearbeitungsprogramm einen Bezugswert beinhaltet, der repräsentativ ist für einen vordefinierten Punkt relativ zu dem Werkstück, dadurch gekennzeichnet, daß der Schritt des Speicherns ausgewählter Koordinatensignale weiterhin folgende Schritte aufweist:
    a) Erzeugen eines ersten Offsetsignals, das repräsentativ ist für die Differenz der Größen eines laufenden Koordinatensignals und des Bezugswertes; und
    b) Speichern des ersten Offsetsignals.
    5. Verfahren nach Anspruch 1, bei dem das Bearbeitungsprogramm einen Bezugswert enthält, der repräsentativ ist für einen vordefinierten Punkt relativ zu dem Werkstück, dadurch gekennzeichnet, daß der Schritt zum Speichern ausgewählter Koordinatensignale weiterhin
    folgende Schritte aufweist:
    a) Vergleichen eines laufenden Koordinatensignals mit einem zuvor gespeicherten Koordinatensignal während jedes Iterationsschritts;
    b) Speichern des größeren Koordinatensignals, das die gemessene Maximum-Koordinatenposition an der Bezugsfläche repräsentiert;
    c) Erzeugen eines zweiten Offsetsignals, das repräsentativ ist für die Differenz der Größen zwischen dem größeren Koordinatensignal und dem Bezugswert; und
    d) Speichern des zweiten Offsetsignals.
    6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, daß der Schritt zum Speichern ausgewählter Koordinatensignale weiterhin folgende Schritte enthält:
    a) Vergleichen eines laufenden Koordinatensignals mit einem zuvor gespeicherten Koordinatensignal bei jedem Iterationsschritt;
    b) Speichern des kleineren Koordinatensignals, das repräsentativ ist für die gemessene Minimum-Koordinatenposition auf der Bezugsfläche;
    c) Erzeugen eines dritten Offsetsignals, welches repräsentativ ist für die Differenz der Größen zwischen dem kleineren Koordinatensignal und dem Bezugswert; und
    d) Speichern des dritten Offsetsignals.
    7„ Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß der Schritt zum Speichern ausgewählter Koordinatensignale weiterhin folgende Schritte enthält:
    a) Addieren eines laufenden Koordinatensignals zu einer Summe zuvor gespeicherter Koordinatensignale bei jedem Iterationsschritt, um eine Summe der gemessenen
    Positionen zu erhalten;
    b) Speichern der Anzahl von Iterationsschritten;
    c) Erzeugen eines mittleren Koordinatenwertsignals, das repräsentativ ist für den Quotienten der Summe der
    Größen der gespeicherten Koordinatensignale, geteilt durch die Anzahl der Iterationsschritte;
    d) Erzeugen eines vierten Offsetsignals, das repräsentativ ist für die Differenz der Größen zwischen dem durchschnittlichen oder mittleren Koordinatensignal und dem Bezugswert; und
    e) Speichern des vierten Offsetsignals.
    8. Verfahren nach Anspruch 7, gekennzeichnet durch
    folgende Schritte:
    a) Speichern eines Abtastprogramms mit Testbefehlen, die eine für ein Maximum repräsentative obere Grenze definieren;
    b) Vergleichen eines der Offsetsignale mit der oberen
    Grenze; und
    c) Erzeugen eines Fehlersignals in Abhängigkeit davon, daß die Größe eines der Offsetsignale die Größe der oberen Grenze überschreitet.
    Verfahren nach Anspruch 8, gekennzeichnet durch
    folgende Schritte: .
    a) Speichern eines Abtastprogramms mit Testbefehlen,
    die eine ein Minimum darstellende untere Grenze definieren;
    b) Vergleichen eines der Offsetsignale mit der unteren Grenze; und
    c) Erzeugen eines Fehlersignals in Abhängigkeit davon, daß die Größe eines der Offsetsignale kleiner ist
    als die Größe der unteren Grenze.
    ιο. Verfahren nach Anspruch 9, dadurch gekennzeichnet, daß bei dem Erzeugen von modifizierten Befehlssignalen die Befehlssignale modifiziert werden, die von dem Bearbeitungsprogramm durch eines der Offsetsignale abgeleitet wurden.
    11. Verfahren nach Anspruch 10, gekennzeichnet durch folgende Schrittes -
    a) Speichern eines Abtastprogramms mit Testbefehlen, die eine Bezugsgrenze definieren?
    b) Vergleichen eines der gespeicherten Koordinatensignale mit der Bezugsgrenze? und
    c) Erzeugen eines Fehlersignals in Abhängigkeit davon, daß die Größe eines der gespeicherten Koordinatensignale die Bezugsgrenze überschreitet»
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 true DE3134315A1 (de) 1982-04-08
DE3134315C3 DE3134315C3 (de) 1994-09-15
DE3134315C2 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
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
DE3700617A1 (de) * 1987-01-10 1988-07-21 Dirk Leimbach Signalschranken-sicherheitsvorrichtung

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57113118A (en) * 1980-12-30 1982-07-14 Fanuc Ltd Robot control system
JPS57114340A (en) * 1980-12-30 1982-07-16 Fanuc Ltd Thermal displacement compensation
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
ATE26674T1 (de) * 1983-01-29 1987-05-15 Roland Man Druckmasch Vorrichtung zum ermitteln und auswerten von farbmessfeldern auf einem druckbogen.
JPS59140510A (ja) * 1983-02-01 1984-08-11 Mitsubishi Electric Corp 数値制御装置
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
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 ファナック株式会社 トランスファーマシン用数値制御装置
DE4006949C5 (de) * 1990-03-06 2008-07-17 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum punktweisen Abtasten der Oberfläche eines Werkstücks
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
EP0640231A4 (de) * 1992-05-01 1995-11-02 Zev Galel Autonomes selektives schneiden, verfahren und gerät.
JPH068105A (ja) * 1992-06-29 1994-01-18 Komatsu Ltd 円筒形状加工装置
AU3294197A (en) * 1996-06-06 1998-01-05 Boeing Company, The Method for improving the accuracy of machines
US6681145B1 (en) 1996-06-06 2004-01-20 The Boeing Company 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
US8963681B2 (en) 1997-10-27 2015-02-24 Direct Source International, Llc Operating control system for electronic equipment
EP1025468A4 (de) * 1997-10-27 2003-07-16 Cady Darren J Verriegelungsvorrichtung fuer werkzeuge und ausruestung
US7394347B2 (en) * 1997-10-27 2008-07-01 World Wide Innovations, Llc Locking device 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
US8131385B2 (en) * 2005-01-19 2012-03-06 Mitsubishi Electric Corporation Positioning device and positioning method with non-contact measurement
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 株式会社ソニー・インタラクティブエンタテインメント ロボット制御システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1269999A (en) * 1968-07-17 1972-04-12 Ikegai Iron Works Ltd An automatic tool position compensating system for a numerically controlled machine tool
DE2918249A1 (de) * 1979-05-05 1980-11-06 Goetze Ag Maschine zum vorzugsweise spanenden umfangsbearbeiten von unrunden werkstuecken, insbesondere kolbenringen
DE1943558B2 (de) * 1968-08-29 1980-11-06 International Business Machines Corp., Armonk, N.Y. (V.St.A.) Werkzeugmaschinensteuerung
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

Family Cites Families (7)

* 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
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 株式会社日立製作所 位置合わせ方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1269999A (en) * 1968-07-17 1972-04-12 Ikegai Iron Works Ltd An automatic tool position compensating system for a numerically controlled machine tool
DE1943558B2 (de) * 1968-08-29 1980-11-06 International Business Machines Corp., Armonk, N.Y. (V.St.A.) Werkzeugmaschinensteuerung
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
STUTE, G., ERNE, H.: "Neue Entwicklungen in der Steuerungstechnik für Handhabungssysteme" in wt-Z. ind. Fertig. 70 (1980) H.8, S.505-509 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
DE3700617A1 (de) * 1987-01-10 1988-07-21 Dirk Leimbach Signalschranken-sicherheitsvorrichtung

Also Published As

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

Similar Documents

Publication Publication Date Title
DE3134315A1 (de) Verfahren zum modifizieren programmierter positionenunter verwendung eines programmgesteuerten oberflaechen-fuehlelements
DE3530576C2 (de) Verfahren und Vorrichtung zum Bestimmen der Abmessungen eines Werkstücks
DE102017008879B4 (de) Numerische Steuerung
EP1663573B1 (de) Schleifmaschine mit rundlaufkorrektur
DE3329658C2 (de)
DE102015107436B4 (de) Lernfähige Bahnsteuerung
DE112017000203B4 (de) Numerische Steuerung und numerisches Steuerungsverfahren
DE102005027947A1 (de) Vorrichtung zum Überprüfen einer Störung
EP0328750A2 (de) Nachformanordnung
DE3530567A1 (de) Verfahren und vorrichtung zur werkzeugtastpruefung
DE102017126243A1 (de) System und verfahren zum kompensieren von mehrachsigen fertigungssystemen
EP3403051B1 (de) Verfahren und vorrichtung zum vorgeben von vorgabedaten für eine vermessung eines zu vermessenden werkstücks durch ein koordinatenmessgerät und/oder für eine auswertung von messergebnissen einer vermessung eines vermessenen werkstücks durch ein koordinatenmessgerät
CH673612A5 (en) Key cutting machine allowing automatic key copying - with central processor receiving data obtained from original key to control orthogonal stepping motors
DE102019200762A1 (de) Bearbeitungssimulationsvorrichtung einer Werkzeugmaschine
DE102019202908A1 (de) Numerisches Steuersystem
WO2002020213A2 (de) Werkzeugmaschine mit kollisionsprüfung
DE102004041469A1 (de) CNC-Fertigungsanordnung mit zentraler Datenbank
DE102004019653B4 (de) Simulationsvorrichtung
DE1908757A1 (de) Einrichtung zum direkten Steuern von Werkzeugmaschinen durch Computer
DE102016004185B4 (de) Numerische Steuerung mit Kontrolle eines Eingriffs zwischen Werkzeug und Werkstück
DE3119629A1 (de) Verfahren zum spannen und positionieren von praezisionsteilen
WO2022101197A1 (de) Messkörper zur überprüfung von geometrischen abweichungen einer 3-achsigen werkzeugmaschine, 3-achsige werkzeugmaschine und verfahren zur kompensation geometrischer abweichungen einer 3-achsigen werkzeugmaschine
DE3134360C2 (de)
DE102020203770A1 (de) Steuergerät und Werkzeugmaschine
DE102018100490A1 (de) Steuerung

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