DE3134315A1 - Verfahren zum modifizieren programmierter positionenunter verwendung eines programmgesteuerten oberflaechen-fuehlelements - Google Patents
Verfahren zum modifizieren programmierter positionenunter verwendung eines programmgesteuerten oberflaechen-fuehlelementsInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 117
- 239000000523 sample Substances 0.000 claims description 47
- 238000012360 testing method Methods 0.000 claims description 27
- 238000005520 cutting process Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 50
- 230000006870 function Effects 0.000 description 42
- 230000015654 memory Effects 0.000 description 42
- 238000005259 measurement Methods 0.000 description 20
- 230000007246 mechanism Effects 0.000 description 12
- 238000002360 preparation method Methods 0.000 description 10
- 238000003754 machining Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 230000000875 corresponding effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 208000000260 Warts Diseases 0.000 description 4
- 230000004913 activation Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 201000010153 skin papilloma Diseases 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000005266 casting Methods 0.000 description 3
- 230000009849 deactivation Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003750 conditioning effect Effects 0.000 description 2
- 239000002826 coolant Substances 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000036316 preload Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 101100334009 Caenorhabditis elegans rib-2 gene Proteins 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009958 sewing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000002344 surface layer Substances 0.000 description 1
- 238000004441 surface measurement Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/408—Numerical 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/4083—Adapting programme, configuration
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34393—Stop program if needed workpiece, tool or data lacks, misses
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/36—Nc in input of data, input key till input tape
- G05B2219/36503—Adapt program to real coordinates, software orientation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37052—Sense surface, mean value used as reference surface
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37357—Force, pressure, weight or deflection
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37405—Contact detection between workpiece and tool, probe, feeler
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/41—Servomotor, servo controller till figures
- G05B2219/41363—Excess in error, error too large, follow up error
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/49—Nc machine tool, till multiple
- G05B2219/49157—Limitation, collision, interference, forbidden zones, avoid obstacles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/49—Nc machine tool, till multiple
- G05B2219/49302—Part, workpiece, code, tool identification
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/50—Machine tool, machine tool null till machine tool work handling
- G05B2219/50252—Replace, 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 angeschlossen„ und 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)
- Diplom IngenieureB4TENI4NW«flLTEKrtA BROSE0K8'BRQSED-8023 Munchen-Pullach. Wiener Str 2; Tel (089) 7 93 30 71. Telex 5 2ι·2 147 hros «i; cWes «Pit-snlibUE- MünchenIhr Zeichen: Tag:Your ret: 801^F Date: 28* August 1981Ore.CINCINNATI MILACRON INC., 4701 Marburg Avenue, . Cincinnati, Ohio 45 209, USAPatentansprücheVerfahren zum Messen der Ist-Position von Werkstück- '{isoberflä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 Schrittesa) 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; undh) 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? undg) 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; undc) 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; undb) 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 weiterhinfolgende 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; undd) 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; undd) 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 gemessenenPositionen 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; unde) 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; undc) 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; undc) 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? undc) Erzeugen eines Fehlersignals in Abhängigkeit davon, daß die Größe eines der gespeicherten Koordinatensignale die Bezugsgrenze überschreitet»
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)
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)
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)
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)
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 | 株式会社日立製作所 | 位置合わせ方法 |
-
1980
- 1980-09-02 US US06/183,193 patent/US4370721A/en not_active Expired - Lifetime
-
1981
- 1981-08-28 GB GB8126277A patent/GB2083658B/en not_active Expired
- 1981-08-31 DE DE3134315A patent/DE3134315C3/de not_active Expired - Lifetime
- 1981-09-02 JP JP56138300A patent/JPS5776609A/ja active Pending
- 1981-09-02 FR FR8116709A patent/FR2489200B1/fr not_active Expired
Patent Citations (4)
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)
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)
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 |