CH678761A5 - - Google Patents
Download PDFInfo
- Publication number
- CH678761A5 CH678761A5 CH3003/87A CH300387A CH678761A5 CH 678761 A5 CH678761 A5 CH 678761A5 CH 3003/87 A CH3003/87 A CH 3003/87A CH 300387 A CH300387 A CH 300387A CH 678761 A5 CH678761 A5 CH 678761A5
- Authority
- CH
- Switzerland
- Prior art keywords
- workpiece
- tolerance
- call
- test
- model
- Prior art date
Links
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—Program-control systems
- G05B19/02—Program-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 program data in numerical form
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B65—CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
- B65G—TRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
- B65G2207/00—Indexing codes relating to constructional details, configuration and additional features of a handling device, e.g. Conveyors
- B65G2207/14—Combination of conveyors
-
- 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/35—Nc in input of data, input till input file format
- G05B2219/35223—Tolerance, consider tolerance in design, design for assembly
-
- 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/37441—Use nc machining program, cad data for measuring, inspection
-
- 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/37617—Tolerance of form, shape or position
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30164—Workpiece; Machine component
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
5
10
15
20
25
30
35
40
45
50
55
60
CH 678 761 A5
Beschreibung
Die Erfindung betrifft ein Verfahren zum Prüfen eines Bauteils mit bekannten Abmessungen und Toleranzvorgaben unter Verwendung eines Rechners, der an eine mehrdimensional bewegbare Positionsmessvorrichtung angeschlossen ist, um die Orte von baulichen Merkmalen des Werkstücks zu bestimmen, und eine Vorrichtung zur Durchführung des Verfahrens.
Dieses Verfahren ist erfindungsgemäss durch die kennzeichnenden Merkmale des Anspruches 1 gekennzeichnet
Die Vorrichtung zur Ausführung des Verfahrens ist erfindungsgemäss durch die Merkmale des Anspruches 8 gekennzeichnet.
Vorteilhafte Ausführungsformen der Erfindung ergeben sich aus den abhängigen Ansprüchen. Die Erfindung wird nachfolgend an Ausführungsbeispielen anhand der beigefügten Zeichnung näher erläutert. In der Zeichnung zeigen:
Fig. 1 als Blockdiagramm die Bestandteile des erfindungsgemässen Systems,
Fig. 2 ein Flussdiagramm für das computerintegrierte Prüfsystem,
Fig. 3 eine Perspektivdarstellung eines Modells eines zu prüfenden gefertigten Teils,
Fig. 4 eine Perspektivdarstellung einer erfindungsgemäss aufgebauten Prüflehre,
Fig. 5 schaubildlich das Erstellen eines Prüfweges,
Fig. 6A eine Draufsicht der Prüflehre nach Fig. 4,
Fig. 6B eine Draufsicht des Fertigungsteiles nach Fig. 1,
Fig. 7 ein Flussdiagramm mit Einzelheiten des Anfangs des Flussdiagramms der Fig. 2,
Fig. 8 ein Flussdiagramm, das Einzelheiten nachfolgender Teile des Flussdiagramms nach Fig. 2 zeigt, Fig.'9 ein weiteres Flussdiagramm mit Einzelheiten flussabwärtiger Teile des Flussdiagramms nach Fig. 2,
Fig. 10 ein Datenflussdiagramm des Systems,
Fig. 11 eine Tabelle repräsentativer ANSI-Normsymbole für Toleranzvorgaben (Toleranzrahmen), Fig. 12 eine Perspektivdarstellung eines gefertigten Bauteils mit Bezugsorten,
Fig. 13A-13C tabellarisch Prüflehren und Bezugsorte für das gefertigte Teil nach Fig. 12,
Fig. 14 eine Draufsichtdarstellung eines Teils mit syntaktisch falscher Merkmalsangabe,
Fig. 15 eine Draufsicht des Teils nach Fig. 14 mit einer weiteren syntaktisch falschen Merkmalsangabe,
Fig. 16 eine Draufsicht gepaarter Teile, die verträgliche Angaben für Teilemerkmale zeigt.
Eine Kurzbeschreibung für die vom beschriebenen System ausgeführte Funktion ist QIG (Computer Integrateti Gaging = rechnerintegriertes Prüfen).
Das System ist in Fig. 1 gezeigt, in der eine Rechenanlage 11 beispielsweise des Typs VAX 11/780 an eine Sichteinheit 12 beispielsweise des Typs Textronics 4115 angeschlossen ist. Mit einer Tastatur 13 lassen sich Daten in das System eingeben, die der Rechner dann für die Systemsteuerung benutzt. Die Tastatureingaben werden auch auf dem Sichtgerät 12 dargestellt. Bei der Mechanik bzw. dem Roboter 14, der eine dreidimensionale Bewegung in einem vorgegebenen Raumbereich ausführen kann, kann es sich um das Modell Automatix AID 800 handeln. Eine Kamera 16 ist an einem bekannten Ort über dem Arbeitsbereich angeordnet und dient dazu, die Orientierung eines auf der Auflagefläche 18 befindlichen Teils 17 zu bestimmen. Ein Fühler 19 ist am Roboter 14 angebracht; es kann sich dabei um eine berührungsfrei arbeitende (NG1) Prüfeinrichtung handeln, wie sie in Fig. 1 als Laser der Firma SELCOM dargestellt ist. Es wird darauf hingewiesen, dass die Positionsfühlvorrichtung 19 auch eine Koordinatenmessmaschine (CMM) oder eine NC-Werkzeugmaschine mit einer Tastsonde sein kann.
Wie das Flussdiagramm der Fig. 2 zeigt, ist der erste Schritt des Verfahrens das Erstellen einer Prüflehre. Hierzu werden CAD-Konstruktionsdaten für ein Teil 17 an den Rechner 11 gegeben (Fig. 1) und danach in einer Perspektivdarstellung (vergi. Fig. 3) zusammen mit Abmessungs- und Toleranzangaben entsprechend den Abmessungs- und Toleranznormen («geometricdimensioning and tolerancing standards»; GD&T-Normen) dargestellt (vergi. 20). Die gewählte Darsteliungsnorm entspricht hier der ANSI-Norm Y 14,5 der Regierung der Vereinigten Staaten. Es sind drei Flächenbezüge A, B und C gezeigt. Alternativ kann es sich bei den Bezügen auch um den Rand eines Teils, einen Punkt auf einem Teil, ein Loch und dergleichen handeln. Wie in Fig. 3 gezeigt ist, weisen die Abmessungsvorgaben vier Bohrungen mit jeweils 25,4 mm (1 in.) plus 3,18 mm (0,125 in.) minus 0,0 mm auf dem Modell 20 des Teils 17aus. Diese Abmessungs- und Toleranzvorgaben stellen ein kritisches und wesentliches Merkmal des dargestellten Teils dar. Die Positionen der Bohrungen Sind mit dem im Toleranzrahmen verwendeten Symbol als «wahre Positionen» («true position») - vergi. Fig. 11 - gekennzeichnet. Es sind für die Toleranzangaben auch andere Bezeichnungsweisen möglich, beispielsweise als Flächenprofil oder Über- bzw. Unter-mass. Die Bohrungen in Fig. 3 müssen so angeordnet sein, dass ihre Mittelpunkte am gefertigten Teil unter MMC-Bedingungen (»maximum material conditions», kleinstes Loch) nur innerhalb eines Kreises mit 1,52 mm (0,06 in.) Durchmesser verschoben liegen. Ist die Bohrung grösser als die MMC-Angabe, wächst der Durchmesser des Toleranzkreises proportional. Die «wahre Position» jedes Lochs wird bezüglich der drei angegebenen Flächen A, B, C angegeben.
2
CH 678 761 A5
Die Bedienungsperson beobachtet die ideale Ausbildung oder das Modell 20 des Teils 17 auf dem Sichtgerät 12 und kann dem System über die Tastatur 13 eine der verschiedenen Toleranz-Angabekonventionen bezeichnen, die als Menü auf dem Bildschirm erscheinen. In der Darstellung nach Fig. 3 ist die «wahre Position» vorgegeben, und eine Laufmarke (Cursor) wird auf dem Bildschirm so verschoben, 5 dass sie das Abmessungs- und Toleranzfeld für die vier Bohrungen des Teils 17 bezeichnet; diese Abmessungs- und Toleranzangabe wird vom Rechner übernommen und von ihm auf korrekte Syntax geprüft. Ist die Toleranz-Syntax einwandfrei, erzeugt der Rechner ein Modell 21 einer Prüflehre, wie sie in Fig. 4 gezeigt ist; die Konsistenz der Toleranzsymbolik wird damit bestätigt. Aus der vorherigen Beschreibung des Teils anhand seiner Konstruktionsdaten und den auf die beschriebenen Merkmale 10 angewandten Toleranzen erstellt nun der Rechner eine Prüf- bzw. Funktionslehre mit den gleichen Toleranzbezügen, die für das Teil gelten, und stellt sie auf dem Bildschirm dar; dieser Schritt ist in Fig. 2 bei A gezeigt. Die Prüflehrendaten werden zwecks weiterer Verwendung abgespeichert.
Der Konstrukteur hat für das in einer Anordnung zu verwendende Bauteil bestimmte Abmessungsund Toleranzvorgaben gemacht. Für dieses Bauteil sind soeben Prüfdaten erstellt worden. Das System 15 führt nun durch, was in Fig. 2 als Toleranzanalyse bezeichnet ist. Der Zweck der Toleranzanalyse ist, zu bestimmen, ob das Bauteil mit seinen Toleranzvorgaben unter allen Toleranzbedingungen mit dem ihm zugehörigen Teil in der Anordnung zusammenpasst. Einzelheiten dieses Prüfvorgangs sind in Fig. 7 gezeigt. Die Bedienungsperson muss entscheiden, ob die dem Teil vom Konstrukteur zugewiesenen Toleranzen analysiert oder neue optimale Toleranzen für das Bauteil definiert werden sollen. Sollen vorlie-20 gende Toleranzen analysiert werden, generiert der Rechner ein Worst-Case-Bauteil im sogenannten «virtuellen Zustand» (ANSI Y 14.5), in dem sich sämtliche Bohrungen an der unteren Toleranzgrenze und alle Ansätze, Flansche usw. an der oberen Toleranzgrenze befinden. Sind weiterhin die Bohrungen bezüglich der «wahren Position» bemessen, wird ihre Grösse weiter um die angegebene Positionstoleranz verringert. Diese Verfahrensweise simuliert einen Zustand, in dem die Bohrungen zur Darstel-25 lung des «worst case» - an den entgegengesetzten Grenzen ihres zulässigen Toleranzbereiches liegen.
Nachdem der Rechner das Worst-Case-Bauteil (virtueller Zustand, MMG-Zustand und maximale Positionsabweichung) erstellt hat, werden die Bezüge der Toleranzvorgaben mit denen des gepaarten Teils ausgerichtet. Der Rechner generiert dabei auch dieses gepaarte Teil in seinem virtuellen Zustand. Er prüft die Verträglichkeit des toleranzanalysierten Bauteils mit dem mit ihm gepaarten Bauteil. Passen sie 30 zueinander, werden die Toleranz- zusammen mit den Konstruktionsdaten zur weiteren Verwendung gespeichert; passen sie nicht zueinander, geht der Prozess zum Punkt G (Fig. 7) zurück, damit die Konstruktion toleranzmässig durch das Ansetzen von Bohrungen und/oder Einsätzen mit anderen Nennmassen verbessert werden kann (d.h. zur Änderung der Modellgeometrie).
Wie in Fig. 7 gezeigt ist, wird, wenn die vorgegebenen analysierten Toleranzen nicht passen, das Bau-35 teil beginnend bei G erneut geprüft oder modifiziert. In einem Fall lassen sich neue Toleranzen vom Konstrukteur in das System eingeben; an diesen erfolgt dann eine Syntaxprüfung. Alternativ werden zur Änderung der Modellgeometrie die Toleranzen analysiert; unter der Annahme einer korrekten Toleranzsyntax erstellt dann der Rechner eine neue Prüflehre. Die Analyse eines beliebigen Satzes bestehender Toleranzen erfordert die Wiederholung des soeben beschriebenen Vorgangs.
40 Das CIGMA-System kann einen beliebigen Satz Toleranzen nach GD&T-Angaben analysieren. Derzeit kann es jedoch nur für zwei bestimmte Konstruktionsfälle neue Toleranzen definieren, d.h. feste und schwimmende Befestiger. In diesen Spezialfällen, in denen Teile unter Spannung zusammengehalten werden, erfolgt die FFF-Analyse («fixed and floating fastener»). Ein Bolzen ist ein Beispiel für einen Befestiger. Er kann durch ein Teil hindurchverlaufen oder in es eingeschraubt sein. Ein Befestiger wird im 45 allgemeinen nach der US-Norm H-28 ausgewählt. Dabei geht der Konstrukteur aufgrund einer Spannungsanalyse vor. Die angegebene US-Norm gibt die Bolzenmasse für US-Bundesdienste an, einschliesslich des Körperdurchmessers, der Auflagefläche und der Gewindelänge. Die Grösse der zugehörigen Bohrung wird dann mit der Ober- und Untergrenze berechnet und eine auf die «wahre Position» bezogene Toleranz für die Bohrung angegeben. Die Bezüge für die Position der Bohrung werden mit Toso leranzdaten wie Flachheit, Gradheit, Rundheit und Zylindrizität versehen, um sicherzustellen, dass etwaige Positionsabweichungen von den Bezügen geringer sind als 10% des angegebenen Fehlers bezüglich der wahren Position. Beträgt beispielsweise die Positionstoleranz der Bohrung (wahre Position) 1,52 mm (0,06 in.) dürfen Fehler infolge von Flachheitsabweichungen der als Bezug für die Lochposition dienenden Bezugsfläche nicht mehr als 0,152 mm (0,006 in.) zur Lochlageabweichung beitragen. Auf diese 55 Weise ist die Austauschbarkeit der Teile gewährleistet.
Danach werden die Toleranzen vom Programm analysiert, um zu gewährleisten, dass die Auflagefläche des Befestigers durch den Lochpositionsfehler bezüglich des zugehörigen Teils des Bauteilepaars für das analysierte Bauteil nicht verringert wird, nämlich als Folge einer seitlichen Verschiebung des analysierten Teils derart, dass die Auflagefläche unter dem Kopf beispielsweise eines Gewindebolzens 60 teilweise über der Lochfläche, nicht auf der das Loch umgebenden Werkstückoberfläche aufliegt. Wie ersichtlich, erfolgt eine optimale Toleranzanalyse (Definition neuer Toleranzen) durch das CIGMA-System für zwei spezielle Fälle der GD&T-Toleranzvorgabe, nämlich für feste und schwimmende Befestiger, während das CIGMA-System eine Worst-Case-Analyse (Analyse vorliegender Toleranzen) für alle Fälle der GD&T-Toleranzvorgabe durchführt.
65 Die Fig. 2 zeigt nun den auf die Toleranzanalyse folgenden Schritt, nämlich das Erzeugen eines Prüf3
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
weges für das dreidimensional bewegbare Element, das Teil des Roboters 14 der Fig. 1 ist. Die Einzelheiten dieser Prüfwegerzeugung sind im Flussdiagramm nach Fig. 7 dargelegt. Dieser Prozess kann nicht anlaufen, bevor gewährleistet ist, dass eine Prüflehre für das jeweilige Teil gebaut worden ist und die Analyse der Konsfruktionstoleranzen gezeigt hat, dass das Bauteil einwandfrei mit dem zugehörigen Bauteil zusammenpasst. Nachdem die Prüflehre gebaut und die Toleranzanalyse erfolgreich abgeschlossen ist, wird die Prüfweggraphik erzeugt und dargestellt, wie dies in Fig. 5 gezeigt ist. Die x-markierten Punkte stellen Messpunkte auf den Flächen A, B, C dar. Drei Prüfpunkte auf jeder der Flächen A, B, C definieren diese. Auf dem Bildschirm 12 wird eine Sonde 22 mit einer Anzahl von Spitzen 22a gezeigt, die wahlweise einen der Prüfpunkte (auf Fläche C gezeigt) des CAD-Bauteilmodells 20 berühren. Der Gegenstand 22 in Fig. 5 wird als Sondensatz bezeichnet; Ein Sondenvektor erstreckt sich vom Sondensatz und ist an seinem freien Ende mît einer Sondenspitze 22a versehen. Im System ist eine Anzahl von Sichtdarstellungen verfügbar. Ein Sondenvektor kann auf dem Bildschirm zu jedem der x-markierten Prüfpunkte der Fig. 5 geführt werden.
Alternativ kann die Spitze 22a des jeweils verwendeten Sondenvektors auf dem Bildschirm blinken. Ebenfalls verfügbar ist eine Darstellung, bei der der Sondensatz 22 das Bauteilmodell 20 umfährt und dabei die Sondenspitzen nacheinander an die Prüfpunkte angesetzt werden. Der Weg der Sondenspitze in der jeweils eingesetzten Darstellungsweise ist ein logisches Fortschreiten von einem Punkt (x) zum nächsten, unter Berücksichtigung der kürzesten Verbindung zwischen ihnen und unter Umgehung von Hindernissen. Dieses Fortschreiten soll dem Benutzer die Richtung angeben, aus der die Sonde die zu prüfende Fläche anfährt, und Informationen liefern, die dazu verwendet werden können, Kollisionen zwischen dem Sondensatz und dem Bauteil zu vermeiden. Für jedes spezielle Bauteilmerkmal werden an jedem Berührungspunkt der Sonde Messwerte erzeugt. Es ist weiterhin zu ersehen, dass jeder der vier Bohrungen im Teil 17 drei Messpunkte zugeordnet sind, die jedes der Löcher vollständig definieren. Nach dem Abtasten der Prüfweggraphik erzeugt der Rechner auf Befehl ein Wegprogramm entsprechend dem auf dem Bildschirm dargestellten Prüfweg. Dieses Wegprogramm wird zu einem für den Roboter 14 lesbaren Programm umgewandelt; die Prüfwegdaten werden zwecks späterer Verwendung gespeichert. Dieser Teil des Prozesses ist bei B in Fig. 2 und Fig. 7 gezeigt.
Soll der Prüfweg modifiziert werden, wird über die Tastatur 13 eine Funktion eingegeben und die Lauf-marke bzw. der Vektor auf dem Bildschirm 12 vom Benutzer gesteuert. Ein Menü der erwünschten Änderungen im Prüfweg wird ausgegeben, wobei der Benutzer beispielsweise einen Prüfpunkt auf einer Oberfläche hinzufügen oder die Bewegung des bewegbaren Elements umrichten kann, um ein Hindernis zu vermeiden. Falls ein weiterer Prüfpunkt auf einer Oberfläche zwecks Prüfung vorgegeben werden soll, wird die zugehörige Funktion angewählt, die Laufmarke auf den zusätzlichen Prüfpunkt gesetzt und das Programm über die Tastatur von der Hinzufügung unterrichtet. Falls ein Teil des Prüfweges des bewegbaren Elements geändert werden soll, um ein Hindernis zu umfahren, wird die angewiesene Funktion ausgewählt und mit der Laufmarke ein Punkt bzw. eine Punktfolge auf dem Bildschirm markiert, die das bewegbare Element nun berühren bzw. durchfahren soll, um das Hindernis zu vermeiden. Die neuen Punkte werden in das Prüfprogramm mit der Tastatur eingegeben und so das den Weg des bewegbaren Elements beschreibende Programm geändert. Nach dem Erzeugen und/oder Ändern des Prüfwegs kann das Prüfwegprogramm aufgerufen und auf dem Bildschirm dargestellt werden, wobei die Laufmarke den gesamten Prüfweg durchläuft zur Anzeige der Bewegungsfolge des bewegbaren Elements auf dem Roboter 14.
Wie in Fig. 2 gezeigt ist, betrifft nach dem Erzeugen des Prüfwegs und den gegebenenfalls erwünschten Änderungen an ihm der nächste Prozessabschnitt die Jobausführung. Ein «Job» ist dabei eine Aufgabe, die das CIGMA-System ausführen kann, einschliesslich des Schneidens von Teilen, einer statistischen Prozesssteuerung usw. Jobs lassen sich von Hand durch Tastatureingabe oder selbsttätig unter Rechnersteuerung durchführen. Ist eine automatische Ausführung erwünscht, wird zunächst die Job-steuersprache definiert, wie im folgenden beschrieben. Danach wird die Jobausführung durch eine Sichtdarstellung auf dem Bildschirm simuliert. Alle durchzuführenden Schritte werden auf dem Bildschirm simuliert. Nachdem sie die Brauchbarkeit der Simulation festgestellt hat, ruft die Bedienungsperson eine Jobausführungsautomatik auf. Das Brauchbarkeitskriterium ist, dass alle Analyseläufe mit Nullabwerchung vom Perfektzustand korrekt verliefen. Die Wahl der selbsttätigen Jobausführung durch die Bedienungsperson erfolgt an einem Bildschirmmenü «Run Job» (Jobausführung), aus dem sie die Hand- oder die selbsttätige Durchführung wählt.
Wie weiter in Fig. 2 gezeigt ist, ist der nächste Verfahrensschritt das Messen von Daten am gefertigten Teil 17, aber erst, nachdem die Prüflehre gebaut und der Prüfweg erzeugt worden sind, wie oben beschrieben und in Fig. 8 dargestellt ist. Weiterhin erfolgt eine Feststellung, ob der Job durch die Bedienungsperson von Hand oder vom System selbsttätig durchgeführt werden soll, wie ebenfalls oben beschrieben ist. Falls eine automatische Jobsteuerung implementiert ist, wird das gespeicherte Jobsteuerprogramm aufgerufen, wie dies in Fig. 8 bei E gezeigt ist, und der Prozess läuft rechnergesteuert weiter. Ansonsten werden die nachfolgenden Funktionen nacheinander mit der Tastatur unter Anwahl der verschiedenen Menüpositionen von der Bedienungsperson ausgeführt.
Die Ausrichtung des Teils 17 auf der Auflagefläche 18 wird mit der Kamera 16 erfasst, die an einem bekannten Ort über dem definierten Arbeitsraum angeordnet ist. Die Teileausrichtung dient dazu, den Prüfweg festzulegen, wie er vom bewegbaren Element durchfahren werden soll. Das bewegbare Ele-
4
5
10
15
20
25
30
35
40
45
50
55
CH 678 761 A5
ment wird durch Betätigen des Roboters 14 auf dem orientierten Prüfweg geführt. Der Sensor 19 (NCI oder CMM), der am Roboter angebracht ist, nimmt Positionsdaten für die interessierenden körperlichen Merkmale des Werkstücks auf, die dann in eine Form gebracht werden, in der sie als Modell 17a des Werkstücks auf der Sichteinheit 12 dargestellt werden können. Das gemessene Modell 17a des Werkstücks 17 wird dann zur weiteren Verwendung abgespeichert. Dies ist in den Fig. 2 und 8 bei C gezeigt.
Wie in Fig. 2 nach C gezeigt, werden am Werkstück 17 aufgenommene Messdaten (die zur Konstruktion des Messmodells 17a dienen) statistisch analysiert, wie unten ausführlich unter Bezug auf die Fig. 9 erläutert. Dabei bestimmt entweder die Bedienungsperson oder das Jobsteuerprogramm (je nachdem, wer die Kontrolle hat), ob die Messdaten relativ zur bei A konstruierten Prüflehre oder zu den bereits an Stichproben des gleichen Bauteils aufgenommenen Messwerten (oder beiden) analysiert werden. Falls letzteres zutrifft, wird die Messung statistisch analysiert und aus dem Ergebnis bestimmt, ob der Prozess die Kontrolle hat, wie im folgenden beschrieben. Ein ausser Kontrolle geratener Prozess wird abgebrochen und die Ursache der statischen Abweichung ermittelt. Falls die Analyse relativ zur konstruierten Prüflehre erfolgt, werden die Messdaten mit der Prüflehre 21 der Fig. 4 verglichen. Wie die Fig. 9 zeigt, müssen die die Prüflehre 21, den Prüfweg zwischen den Prüfpunkten der Fig. 5 darstellenden Daten und die Messungen am Werkstück 117 abgeschlossen und vollständig sein, bevor der Vergleich oder die statistische Untersuchung durchgeführt werden kann. Die statistischen Daten aus dem Prozess werden unter Berücksichtigung der gemessenen Werkstückdaten aktualisiert. Die Art der durchzuführenden Analyse, d.h. eine statistische oder eine relativ zur Prüflehre, wird von der Bedienungsperson oder von der Jobsteuersprache entschieden. Ist eine Analyse relativ zur Lehre gewählt worden, werden die Daten der Prüflehre 21 und des ausgemessenen Werkstücks 17a aufgerufen und graphisch auf der Sichteinheit 12 und mathematisch im Rechner 11 verglichen. Die Prüflehre 21 der Fig. 6A wird allgemein auf dem Bildschirm grün, das Modell 17a des Werkstücks 17 cyan (hellblau) dargestellt. Das Lehren- und das Werkstückmodell werden dann übereinandergelegt, so dass das Werkstück mit der Lehre unmittelbar sichtbar verglichen werden kann. Es findet auch eine mathematische Analyse statt. Die farbige Sichtdarstellung zum Vergleich durch die Bedienungsperson erfolgt lediglich zu deren Komfort und zur Verifikation. Es lässt sich nach Sicht unmittelbar feststellen, ob die Lehre und das Werkstück einander schneidende Flächen haben, da sie farblich unterschiedlich dargestellt werden. Es sind jedoch die vom Rechner generierten Ergebnisse des mathematischen Vergleichs, die danach verwendet werden und zu diesem Zeitpunkt abgespeichert werden, wie bei D gezeigt. Die Vergleichsergebnisse werden auch zur Auswertung in anderen Systemen bereitgehalten, die dem hier offenbarten integrierten Prüfsystem zugeordnet werden können.
Danach werden die Vergleichsergebnisse in Form eines Fehlerberichts formuliert, wie in Fig. 9 zu sehen ist, der auf den Bildschirm 12 aufgerufen wird. Falls keine Fehler vorliegen, wird eine grüne Leuchte erregt als Anzeige, dass das Werkstück toleranzhaltig ist. Haben die Messungen Toleranzüberschreitungen ergeben, werden diese daraufhin untersucht, ob sich das Werkstück durch Nacharbeiten retten lässt. Dies erfolgt im dargestellten Fall durch graphisches Erweitern der Bohrungen auf ihre erlaubte Maximalgrösse (LMC-Zustand, geringstes Material) und erneuten Vergleich der nachgearbeiteten Bohrungen im Werkstückmodell mit der Prüflehre 21. Falls die Lehre in das Werkstück passt, wird eine gelbe Leuchte erregt und damit angezeigt, dass das Werkstück sich nacharbeiten lässt. Passt die Prüflehre nicht in das nachgearbeitete Werkstückmodell, leuchtet eine rote Leuchte auf und zeigt damit an, dass es nicht mehr nacharbeitbar und Schrott ist.
Ist eine statistische Analyse gewählt worden, wird die statistische Geschichte einer gemessenen Abmessung eines angegebenen Werkstücks geprüft. Hierzu werden die gemessenen Abmessungen fortwährend überwacht. Die zuletzt eingegebene Werkstückmessung wird untersucht, um zu bestimmen, ob das Verfahren noch unter Kontrolle ist; es wird also festgestellt, ob der Messwert innerhalb des Bereichs unter der Glockenkurve einer Normalverteilung innerhalb +3 a vom Mittelwert der Normalverteilung liegt. Ist dies für den letzten Messwert der Fall, nimmt das Programm weitere Werkstückdaten auf. Fällt ein Messwert aus dem +3 er -Bereich unter der Glockenkurve hinaus, wird der Prozess angehalten und die statistischen Bereiche für die jeweilige Messgrösse ausgegeben. Die Fehlerursache lässt sich so aus einer Analyse von Tendenzen in der statistischen Prozessgeschichte ermitteln. Der Prozess wird dann repariert, so dass derartige Ausreisser weniger wahrscheinlich auftreten.
Es folgt nun ein verkürztes Programmlisting, das eine Art einer Programmformulierung zum Betrieb des hier offenbarten Mess- und Prüfprozesses zeigt. Copyright FMC Corporation 1987.
5
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
SUBROUTINE CX190
PURPOSE: TO SAVE THE CURRENT MODAL SETTINGS THAT WE CHANGE,
TO SET UP THE INITIAL CIG MODALS TO INVOKE THE CIG FUNCTIONS VIA AN ANVIL MENU SELECTION OF 5,11,7 TO RESET THE OLD MODALS ON EXIT FROM CIG MODIFIED TO SET THE IMPLICIT POINT MODE TO DEFINE AS DISPLÄYED
ON ENTRY TO CIG - RESTORES TO PREVIOUS VALUE ON EXIT
MODIFIED TO NOT CHECK THAT A DCS IS ACTIVE UPON ENTRY TO CIG SOFTWARE
MODIFIED TO SET THE DEPTH ENTRY MODAL MVIEW (15) AND TO SET THE TIME PERIOD BETWEEN FILING FLAG IMODE(39)
MODIFIED TO REENABLE THE USERS DCS ON EXIT
SET PDQFLG=0 ON ENTRY AND
SAVE SET GEOMETRY PRESENTATION MODAL
(IMODE(8))
TO INDICATE GEOMETRY IN ALL VIEWS, AND DRAFTING IN WORK VIEW ONLY.
STORE GAGE FILE RELATIVE POSITION POINTERS SO THAT OLD GAGE FILES COULD BE RESTORED IUSER(7),IUSER(8),IUSER{9)
ARGUMENTS:
TYPE NAME(PIM)
SUBROUTINES CALLED:
ANVIL VERSION 1.5 USER WRITTEN -
LOCAL VARIABLES: TYPE NAME(PIM?
I/O PESCRIPTION
DESCRIPTION
6
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
Define local COMMON block to foc âevice type to TEXA, TIRE, TEKO, and TERMA
LMODE « 1 implies last output was to alpha device
* 0 implies last output was to graphics device PMCDV « 0 implies standard mes device
* 1 implies Retro-Graphics input and output âevice
» 2 implies Code Activateâ Switch in use
DATA INITIALISATION
BEGIN PROCEDURE
CALL MVBITS tl,0,l,IMODE(30),1) ÎSET BIT POSITION
Ï1 TO 1 WHICH SAYS CTRLW ÏENABLED
SET PDQMOD FLAG SO WE KNOW WHICH CORELOAD TO RETURN TO
SET PDQFLG TO INDICATE NORMAL USER INTERACTION WITH CIG. THIS HELPS CLRALPHA/IG08 CLEAR CORRECTLY WHEN NECESSARY
SET GOSWdO)= PDQMOD, SO WE CAN REENTER AT TOP OF THIS ROUTINE
IF CX190 IS BEING REENTERED VIA A CTRLI HIT FROM INSIDE CIG, THEN DO NOT REINITIALIZE MODALS ETC.
IF (REENTER190) THEN ÌREENTER19Q IS SET BY GRU03 IF CTRLI HIT CALL PDQINIT(l) !REINITIALISE PDQ JUMP ARRAY TO INDICATE NO END IF
THIS IS PDQCON LEVEL 1 WHICH MEANS THAT IT IS THE IST
LEVEL OF IMBEDDED SUBROUTINE CALLS AFTER A CLINK IS
DONE. TO CONTROL RETURNS FROM CLINKS IN THIS LEVEL, SET PDQCON(l).
WARNING: LOCATION 9999 IN THIS GO TO IS LINKED TO
CLEANUP190, ANY CHANGE TO ITS LOCATION IN
7
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
THIS LIST MUST BE REFLECTED IM THE VARIABLE CLEANUP190
GO TO
(1000,2000,3000 , 4000,5000,6000,9999,7000,8000,8500, S 9000),PDQCON{1)
FIRST FRESH CALL TO CX190 BETWEEN FILINGS AND SET THIS LEVEL BECAUSE THIS BEFORE ANY CALL TO ANVIL.
- SAVE IMODE(146) PERIOD TO 0. THIS MUST BE DONE AT MODAL MUST BE TURNED OFF
SET RELATIVE RGAGE POINTERS
INITIALIZE THE IUSER ARRAY IF THIS IS THE FIRST TIME USER HAS RUN THIS PART THROUGH THE CIG SYSTEM
IF (IUSER(l).LT.O) THEN
FIRST TIME THROUGH DO 400 1=1,128
400 CONTINUE
END IF
INITIALIZE DEFAULT FILE NAME SPECIFICATION
SO THAT OPNPRTFIL WILL USE CURRENT PARTS NAME AS FILE
NAME
DETERMINE WHERE ALPHAOUT IS GOING AND SET ALPHAOUT ACCORDINGLY
SET ALPHA OUTPUT TERMINAL TYPE
SET ALPHA OUTPUT TERMINAL TYPE CALL LDB1T(IMODE(14),ALPHADEV,5,0)
SET WHERE ALPHA INPUT IS COMING FROM CALL LDBIT(IMODE(14),ALPHAFROM,10,9)
8
5
10
15
20
25
30
35
40
45
50
55
60
65
OH 678 761 A5
DETERMINE WHERE ALPHA OUTPUT IS GOING AND WHERE ALPHA INPUT IS COMING FROM
IF(FMCDV.EQ.0) THEN
IF(ALPHAFROM.EQ.0 ) THEN
ALPHA INPUT IS COMING FROM GRAPHICS DEVICE
DETERMINE GRAPHICS DEVICE TYPE IF(IMODE{57).EQ.0) THEN
TEKTRONIX 40XX TERMINAL BEING USED
ELSE IF (IMODE( 57 ) . EQ. 15 ) THEN
TEKTRONIX 41XX TERMINAL BEING USED
END IF
ELSE
ALPHA IS COMING FROM ALPHA DEVICE USE VT100 KEYBOARD INPUT SET
END IF
DETERMINE ALPHA OUTPUT DEVICE
IF(ALPHADEV.EQ.0} THEN
ALPHA OUTPUT IS GOING TO GRAPHICS DEVICE DETERMINE GRAPHICS DEVICE TYPE IF(IMODE(57).EQ.O) THEN
TEKTRONIX 40XX TERMINAL BEING USED
ELSE IF (IMODE(57).EQ.15) THEN
TEKTRONIX 41XX TERMINAL BEING USED
END IF
ELSE IF{ALPHADEV.EQ.l) THEN
9
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
ALPHA IS 601KG TO A VTlOO ALPHA DEVICE END IF
ELSE IF(FMCDV.EQ.1} THEN
RETRO GRAPHICS TERMINAL ÖSING VTlOO FOR ALPHA INPUT AND OUTPUT
ELSE IF{FMCDV. EQ.2) THEN
4014 WITH CAS. USING 4014 FOR ALPHA INPUT AND ALPHA TERMINAL FOR ALPHA OUTPUT
END IF
TURN OFF WRITES TO ALPHA TERMINAL CALL ALPHAOFF
ON FIRST NEW ENTRY, S AVE GOSW SETTINGS TO RETURN TO THIS CORELOAD (190} WHEN REQUIRED
SET UP MENUS TO SAVE THE CORRENT CURVE WEIGHT TABLE IN UTF
CALL MENWTSAV{NBCHARS,CURWTS}
SAVE WEIGHT TABLE CALL CLINK{2)
1000 CONTINUE
SET UP MENUS TO RESTORE PREDEFINED WEIGHT TABLE FOR LATER USE
CALL MENWTRET(NBCHARS,CIGWTS)
10
CH 678 761 A5
RESTORE THIS TABLE s CALL CLINK{2)
2000 CONTINUE
10
SAVE CURRENT PART DEFAULT CURVE WEIGHT 15 SAVE CURRENT PART DEFAULT CURVE FONT SAVE CURRENT PRESENTATION MODE MODAL
20
SAVE CURRENT PART DEFAULT CURVE COLOR 25 SAVE CURRENT PART SELECTION MODE
SAVE CURRENT PART SURFACE PATH DISPLAY MODALS
30
SAVE TEXT ORIGIN MODAL AND TEXT JUSTIFICATION
35
SAVE IMPLICIT POINT MODE 40 SAVE DEPTH ENTRY MODAL
SAVE CURRENT VALUE OF DEFAULT LEVEL
45
SET PRESENTATION MODAL TO INDICATE GEOMETRY IN ALL VIEWS, DRAFTING IN WORK VIEW ONLY
50
SAVE CORRENT IMODE 180 WHICH CONTROLS DRAFTING EXTENT, TRIM CURVE MODE/BLANK AND UNBLANK,FILLET MODE,ROTATION MODE,MIRROR MODE
55
SET IMODE 180 TO DEFAULT =0 WHICH IMPLIES 60 DRAFTING-ONE ENT ONE CHANGE,
65
11
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
TRIM CORVE-VISUAL IN WORK VIEW
BLANK/UNBLANK«TEMPORARY
FILLET « VISUAL IN WORK VIEW
ROTATION « 2D WORK VIEW
MIRROR MODE - EXISTING LINE OR PLANE
SET SELECTION HODAL TO ALLOW FOR POINTER SELECTION SET IMPLICIT POINT MODE TO DEFINE AS DISPLAYED
CALL MVBITS (2,0,2,IMODE(146),0) ÏSET BIT POSITION
10 AND 1 TO 10 ÎDISPLAY WHERE DEFINED SET THE DEPTH ENTRY MODAL TO DATA ENTRY MODE
ALLOW FOR SPECIAL JUMPS VIA A CTRL SPACE
SAVE ACTIVE DCS POINTER SO THAT THE USER DCS CAN BE REACTIVATED ON EXIT
DO WHILE REJECT OR OP COMPLETE NOT HIT
DO WHILE (. NOT . ( TERMINATE ) )
REENTER CX190 HERE ON RETURN FROM CXl91,CXl92 AND CX193
3000 CONTINUE
CALL PDQINIT(l)
DISPLAY TOP LEVEL CIG MENUS AND FIND OUT WHAT USER WANTS TO DO
TURN ON ALPHA TERMINAL CALL ALPHAON
CALL CIGMENUS(MENUNUM,INTVAL} TURN OFF ALPHA TERMINAL
12
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
CALL ALPBAOFF
MENO PICKED IS IN GOSW(4)
IF (MENUPICKED.EQ.2) THEN
USER WANTS TO RUN GAGE/ZONE CONSTRUCTION
4000 CONTINUE
CALL CX191
ELSE IF (MENUPICKED.EQ.3) THEN
OSER WANTS TO RUN INSPECTION PATH GENERATION
5000 CONTINUE
CALL CX192
ELSE IF (MENUPICKED.EQ.4Î THEN
USER WANTS TO RUN MEASURED DATA COMPARISON
6000 CONTINUE
CALL CX193
ELSE IF(MENUPICKED.EQ.98 .OR. MENUPICKED.EQ.99) THEN
END IF
END DO
9999 CONTINUE
TURN OFF ALPHA TERMINAL
CALL ALPHAOFF
13
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
OSER WANTS TO TERMINATE CIG MODULE.
RETURN ANVIL DEFAULTS TO THEIR ORIGINAL VALUES
AND RETURN USER TO APPROPRIATE ANVIL MENU
RESET ALL MODALS WE HAVE TOUCHED RESTORE OLD WEIGHT TABLE CALL MENWTRET(NBCHARS rCURWTS)
RESTORE THIS TABLE CALL CLINK(2)
7000 CONTINUE
MAKE SURE THE USERS DCS IS ACTIVE BEFORE WE LEAVE
IF (ACTDCSPTR.NE.0) THEN
CALL MENACTPTR(ACTDCSPTR) CALL GRAPHON CALL CLINK(2)
ELSE
CALL MENRTWRVU CALL CLINK(2)
END IF
8000 CONTINUE RESET OLD MODALS RESET DEFAULT LEVEL CALL MENDEF(LEVELSAVE) CALL CLINK(2) 8500 CONTINUE
14
5
10
15
20
25
30
35
40
45
50
55
60
CH 678 761 A5
BLANK ALL GASES IN CASE THEY COKRENTLY ARE NOT BLANKED
CALL MENBLKLVL(LVLl,LVL2)
CALL CLINK(2}
9000 CONTINUE
CALL GRAPHOFF
RESET REMAINING FLAGS WE USED
:iF NORMAL ANVIL JUMP KEY HIT (CF,CP...) ÏTHEN GOSW3SAV WAS SET IN GRU3A BEFORE COMING HERE
INITIALIZE PDQCON FOR NEXT ENTRY INTO CIG MODULES
CALL PDQINIT(l)
TURN ALPHA TERMINAL BACK ON
CALL ALPHAON
TURN GRAPHICS BACK ON
CALL GRAPHON
CLEAR ANY LEFT OVER ALPHA TEXT FROM DISPLAY CALL CLRALPHA SEE YOU LATER 10500 CONTINUE
IMODE(180) HAS TEMPORARY/PERM BLANK UNBLANK IMBEDDED
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
IN IT. IT MUST BE RESTORED AFTER TBE BLANK LEVELS 801 TO 899 TO AVOID POSSIBLE ERROR CONDITION
THIS FLAG IS SET AS THE VERY LAST THING BEFORE RETURNING TO ANVIL FROM CIG
IF ANY MENXXXXXX CALL TO ANVIL IS EXECUTED WITH PERIODIC FILING ON, THEN ERRORS ARE LIKELY TO OCCÜR.
CALL CLINK{2)
END
SUBROOTINE CX191
PURPOSE: TO CHECK THE GEOMETRIC TOLERANCE CALLOÜTS FOR SYNTACTIC CORRECTNESS TO SEE IF THEY CONFORM TO ANSI Y14.5 AND TO GENERATE THE GAGES AND ZONES THEY DESCRIBE
MODIFIED: ADDED GAGEHOLE TO PICKS CALL ADDED GAGEHOLE TO GAGES CALL ADDED MENU SELECTIONS FOR DISPLAY DATUM AND DEFINE BLOCK TOLERANCES ARGUMENTS: NONE
OUTPUT: RGAGE ARRAY CONTAINING ALL THE INFORMATION NECESSARY TO GENERATE THE GAGES.
ALSO, OUTPUTS ERROR MESSAGES FOR INCORRECT DESIGN.
SUBSOUTINES CALLED:
ANVIL VERSION 1.5 - CLINK,REPNT,GRU3B,IG06
USER WRITTEN: RESLVDAT
RESOLVES DATUM LETTERS STORED IN RGAGE
CIGMENUS - DISPLAYS MENU CHOICES PICKS - INPUTS THE USER ENTITY PICKS MODIFY - MODIFIES DATUMS & RGAGE (GAGES)
RESLVDAT - RESOLVES THE EXISTENCE OF ALL DATUMS BEFORE GAGE OR ZONE
16
5
10
15
20
25
30
35
40
45
50
55
60
CH 678 761 A5
CONSTRUCTION GAGES - GENERATES ALL GAGES IDGAGE
PROM 10 TO 71 ZONESP - GENERATES SP ZONE IDGAGE FROM
110 TO 113 DISPLAY - DISPLAYS GAGES/ZONES
LOCAL VARIABLES:
TYPE NAME(PIM) DESCRIPTION
INTEGER IUDAT !POINTER IGAGE FOR DATUM
FEATURE
•OF SIZE. THIS DETERMINED IN JNOTE THIS IS STORED IN COMMON
RETURN TO STATEMENT AFTER THE LAST CALL TO CLINK(2) DEFINE TYPE TO BE «GAG FOR FILE TERMINATOR
GO TO (19000,19100,19200,19700,10710,19800,19900,19910, & 20010,20100,20110,20120,20130,20140),
PDQCON(2)
INITIALIZE DATA. ALL THESE VARBS. ARE IN CX191COM.FOR
THESE ARE SET IN CX190 NOW, AND ARE PART OF PDQCOM
ITPREL = 27
ISPREL * 27
ISTORUS = 257
IARCREL = 10
IDIMREL = 10
DETERMINE IF GAGES HAVE SEEN PREVIOUSLY CREATED FOR THIS PART AND IF SO, RETRIEVE THE IGAGE/RGAGE DATA FROM FILE
IF(IUSER( 2 ) . NE. 1 .AND. IUSER(1).EQ.l) THEN
IGAGE AND RGAGE DATA HAS NOT BEEN RESTORED FROM FILE YET
OPEN FILE GAGE FILE WHICH CONSISTS OF
17
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
partname.GAG OR CREATE FILE IF IT DOESN'T EXIST
WRITE THIS MESSAGE TO SCREEM AT TOP LEFT CALL FORWRITE(0,0,0)
DO WHILE BAD FILE NAMES ENTERED, OR USER HITS REJECT IN PORCERESP
DO WHILE (STAT.LT.0)
CALL OPNPRTFIL ( IÜNIT,TYPE ,MODE ,STAT )
IF(STAT.LT.0) THEN
COULDN1T OPEN GAGE FILE
CALL FORWRITE(0,ERR_LINE,0)
CALL FORCERESP(1,1) ïREJECT WILL GO BACK TO MAIN CIG MENUS
END IF
END DO
READ IN GAGE DATA IF IT SHOULD BE ON FILE
IF (IUSER(l).EQ.l) THEN
CALL RËSTGAGEUUNIT, ERROR)
END IF
CLOSE GAGE FILE AFTER READING DATA
IF(ERROR) THEN
CALL FORWRITE(0,0,0)
CALL FORCERESP(1,1) ïREJECT WILL GO BACK
TO MAIN CIG MENU
GO BACK TO MAIN MENÜS GO TO 9000
END IF
18
5
10
15
20
25
30
35
40
45
50
55
60
CH 678 761 A5
END IF
1000 CONTINUE
DETERMINE IGAGE STARTING LOCATION FOR NEXT GAGE/ZONE CREATED BASED ON THE TOTAL NUMBER OF GAGES/ZONES SO FAR CREATED
DETERMINE THE STARTING VALUE FOR IGAGE(IUSTART} WHICH POINTS TO SUBSCRIPT OF RGAGE TO START STÔRING STUFF
IF(IUSTART .GT. 1) THEN
IF IGAGECIUSTART-1) IS TP,SP,COMBO,ARCS, OR DIMENSIONING THEN HAVE TO COMPUTE THE NUMBER OF ENTITIES DIFFERENTLY. . THE PROCEDURE HERE MUST BE UPDATED WITH CHANGES IN FUNCTIONAL SPECIFICATIONS.
IF(IDGAGE .EQ. 140 .OR. {IDGAGE .GE. 10 .AND. IDGAGE .LE. 81)} & THEN
HAVE A TP COR COMBO) CALLOUT IN IGAGE {IUSTART - 1)
ELSE IF(IDGAGE .GE. 110 .AND. IDGAGE .LE. 113} THEN
HAVE A SP CALLOUT IN IGAGE ( IUSTART - 1)
IF(ZONETYPE.EQ.1) THEN
THIS IS A BILATERAL PROFILE TOLERANCE ZONE SO WE STORE NOMINAL AND INNER AND OUTER ZONE PTRS
ELSE
THIS IS A UNILATERAL PROFILE TOLERANCE ZONE SO WE STORE NOMINAL AND INNER OR OUTER ZONE PTRS
END IF
ELSE IF(IDGAGE .EQ. 120} THEN HAVE A +/- DIMENSION
ELSE IF(IDGAGE .EQ. 130} THEN HAVE A +/- HOLE POSITION
19
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
END IF
END IF
WBILE THE USER BAS NOT SPECIFIED [OR] DO
DO KHILE (.NOT. TERMINATE)
11000 CONTINUE
FIRST ERASE ANY MESSAGES ON THE ALPHA SCREEN CALL CLRALPHA
RETURN THROUGH HERE IF USER HITS R,CR or Z
19000 CONTINUE
REQÜEST MENU CHOICES 1-2
CALL CIGMENUS(12 , IDDM)
CALL PDQNIT(2) ÏINITIALIZE PDQCON
FROM 2 ON...
IF (MCHOICE.EQ.98 .OR. MCHOICE.EQ.99} THEN REJECT OR OP COMPLETE HIT
ELSE
DON'T TERMINATE YET
END IF
1400 CONTINUE
IF{.NOT.TERMINATE .AND.
& MCHOICE .GE. O .AND. MCHOICE .LE. 8) THEN IF(MCHOICE .EQ. 1) THEN
20
5
10
15
20
25
30
35
40
45
50
55
CH 678 761 A5
DEFINE DATUMS
19100 CONTINUE
CALL DDPICKS(ERROR)
ELSE IFCMCHOICE .EQ. 2) THEN
DEFINE TP, SP> PT, CX, SP
19200 CONTINUE
CALL TPPICKS(GAGEHOLES, ERROR) ELSE IF(MCHOICE .EQ. 3) THEN
CREATE PLUS MINUS ZONE
CALL PDQINITC2)
19700 CONTINUE
CALL PMPICKStERROR)
ELSE IF(MCHOICE .EQ. 4) THEN DISPLAY A GAGE CALL PDQINITC2Ï
19710 CONTINUE
CALL DISPLAY ELSE IF (MCHOICE.EQ.5) THEN DELETE A GAGE CALL PDQINITC2)
19800 CONTINUE
CALL DELGAGES ELSE IF(MCHOICE .EQ. 6) THEN DISPLAY DATUMS CALL PDQINIT(2)
19900 CONTINUE
CALL DISPDAT ÎDISPLAY DATUM DEFINITIONS ELSE IF (MCHOICE.EQ.7) THEN DEFINE BLOCK TOLERANCES CALL PDQINIT(2)
21
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
19910 CONTINUE
CALL DEFINBLK END IF
CALL PDQINITC2) ilNITIALIZE PDQCON FOR LATER USE
ELSE IF (MCHOICE.EQ.98 .OR. MCHOICE.EQ.99) THEN
REJECT OR OP COMPLETE HIT, SO RETURN TO MAIN CIG CORELOAD NAMELY CX190
ELSE
NOT A VALID CHOICE
END IF
IF(.NOT. TERMINATE .AND. .NOT. ERROR .AND. VALID .AND. & (MCHOICE .EQ. 2 .OR.MCHOICE.EQ.3)) THEN
THE ANVIL DATABASE HAS BEEN PROCESSED AND STORED INTO RGAGE. THE RGAGE(IGAGE(IU}) ARRAY CONTAINS THE DATA NECESSARY TO GENERATE A GAGE. ALL TEST HAS PASSED PARSING TESTS.
IF A COMPOSITE GAGE, I.E., MULTIPLE TP*S OR CZ'S OR PT'S (MAX OF 3), THEN DISPLAY THE GAGES IN THE ORDER THEY WERE PICKED . IU = INDEX FOR THE GAGE WHICH WILL BE DEFINED NEXT AT THIS POINT IN THE CODE WE HAVE (IU - 1) GAGES DEFINED.
IUGAGE = INDEX OF THE NEXT GAGE TO BE DISPLAYED.
SET RGAGESTRT FOR LATER USE IN NM03
DISPLAY THE GAGES/ZONES
DO WHILE (IUGAGE .LT. IUMAX)
NOW RGAGE FOR CURRENT GAGE IS COMPLETELY FILLED, DETERMINE THE GAGE TYPE AND THEN CONSTRUCT GAGE.
CALL GDTTYPE(ERROR)
IF(.NOT. ERROR) THEN
IF (IDGAGE.EQ.80) GO TO 20010 GO TO (20010, 20010, 20010, 20010, 20010, & 20010, 20010, 20080, 20090, 20100, 20110, & 20120, 20130, 20140),
22
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
IDGAGE/10
CALL PDQINIT(2) !INITIALIZE FROM2 ON
20010 CONTINUE
CONSTRDCT THE GAGE SPECIFICED BY IDGAGE •
CALL GAGES (GAGEHOLES)
GO TO 30000
20080 CONTINUE
DUMMY GAGE
20090 CONTINUE
DUMMY GAGE
20100 CONTINUE
CONSTRUCT A LINE PROFILE
CALL ZONESP GO TO 30000
20110 CONTINUE
CONSTRUCT A SURFACE PROFILE (SAME AS LINE PROFILE FOR NOW)
CALL ZONESP GO TO 30000
20120 CONTINUE
CONSTRUCT A +/- ZONE FOR ENTITY
CALL ZONEPLMI GO TO 30000
20130 CONTINUE
CONSTRUCT A +/- ZONE FOR HOLE POSITION
CALL ZONEDUMY(IDGAGE)
GO TO 30000
20140 CONTINUE
23
5
10
15
20
25
30
35
40
45
50
55
sa
CH 678 761 A5
CONSTRUCT A COMBINATION GAGE CALL ZONEDUKYtIDGAGE)
30000 CONTINUE
END OF COMPUTED GO TO ON GAGE TYPE
SET PDQCON SO THAT OTHER ANVIL CALLS ARE
HANDLED LOCALLY.
END IF
CALL PDQINIT(2)
. END DO
END IF END DO
9000 CONTINUE
TERMINATE CX191 EXECUTION AND RETURN TO CX190
SET IGAGE TO BE CONSISTANT WITH NUMBER OF GAGES ACTUALLY.CREATED CIUSER(3))
RESET IUSER(l) AND IUSER(2) IF NO GAGES/ZONES HAVE BEEN CREATED
IF (IUSER(3).LE.0) THEN
NO GAGES/ZONES EXIST FOR THIS PART YET
END IF
GO TO CIG MAIN MENUS CX190 INITIAL!ZE PDQCON FROM (2) TO (7)
CALL PDQINITC2)
SET PDQCON(1)=3 SO THAT WE REENTER CXI90 AT THE MAIN MENU REQUEST
24
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
CALL CLINK(PDQMOD)
END
SUBROUTINE CX192
PURPOSE: HAIN DRIVER FOR NC PATH GENERATION
TO GENERATE A NC PATH THAT CONTAINS POINTS ON EACH ENTITY OF A PART THAT IS TO BE CHECKED FOR TOLERANCES
MODIFIED:
REARRANGED THIS DRIVER TO ALSO ALLOW FOR 5 AXIS POINT TO POINT PATH GENERATION
ARGUMENTS:
TYPE ARGUMENT I/O DIM DESCRIPTION
SUBROUTINES CALLED:
ANVIL VERSION 1.5 - CLINK
USER WRITTEN SUBROUTINES - INSPCNTRL,DISPPATH, MODIFPATH/PDQINIT
LOCAL VARIABLES;
TYPE NAME DIM DESCRIPTION
THIS IS PDQCON LEVEL 2 WHICH MEANS THAT IT IS THE 2ND LEVEL OF IMBEDDED SUBROUTINE CALLS AFTER A CLINK IS DONE. TO CONTROL RETURNS FROM CLINKS IN THIS LEVEL# SET PDQCON(2).
GO TO (1000,2000,3000,4000,5000,6000,7000),PDQCON(2)
DATA INITIALISATION
SET DEFADLT LEVEL FOR PATHS AND POINTS CREATED
DO WHILE {.NOT.TERMINATE)
25
5
10
15
20
25
30
35
40
45
50
55
art
CH 678 761 A5
2000 CONTINUE
ASK USER TO PICK INSPECTION MENU CALL CIGMENUS(13,IDUM)
CALL PDQINITU)
«s
IF{MCHOICE.EQ.98 .OR. MCHOICE.EQ.99) THEN
REJECT OR OP COMPLETE HIT DO NOT ALLOW AN EXIT ÜNLESS PATH PILED • OR DELETED. ALSO DELETE HOME PT IF ONE CREATED.
CHECK TO SEE IF A HOME POINT HAS BEEN CREATED
IP(HOMEXIST) THEN
HOME POINT EXISTS. CHECK TO SEE IF A PATH HAS BEEN CREATED.
IF(PHEXIST) THEN
SINCE A PATH EXISTS, THE USER HAS NOT FILED THE PATH. THEREFORE, FIND OUT IF WISHES TO FILE OR DELETE THE PATH OR RETURN TO THE MENUS
2000 CONTINUE
CALL CIGMENUS(16, IDUM)
CALL PDQINIT(2)
IF(IANS .EQ. 1) THEN
USER WISHES TO FILE THE PART
CALL FILEPATH ELSE IF(IANS .EQ. 2) THEN
USER WISHES TO DELETE THE PATH
CALL DELEPATH ELSE IFCIANS .EQ. 3) THEN
RETURN TO MENUS FOR CREAT/MODIF/ DISP/FILE
ELSE IF(IANS .EQ. 98 .OR. IANS .EQ. 99} THEN
REJECT OR OP/COMP. SEND WARNING THAT MUST ANSWER WITH 1,2, OR 3.
CALL FORWRITE(0, 0, 0)
CALL FORCERESP(2, 2)
END IF
26
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
ELSE
NO PATH EXISTS, BUT HOHE PT DOES.
DELETE THE HOHE POINT BEFORE EXITING
CALL MENDELPTR(1, HOMEPTR)
CALL CLINK { 2 )
3000 CONTINUE
END IF
ELSE
HOME PT DOES NOT EXIST
END IF
ELSE IF(MCHOICE.EQ.l) THEN
USER WANTS TO CREATE INSPECTION PATH
CALL MENDEF(PATHLEV)
CALL CLINK(2}
4000 CONTINUE
NOTE: DOUBLE USER OF S.N. 4000 FOR CLINK & INSPCNTRL GO TO THE DRIVER FOR PATH GENERATION CALL INSPCNTRL
CALL PDQINIT(2) UNITI ALIZE FROM 2 ON
ELSE IF CMCHOICE.EQ.2) THEN
USER WANTS TO MODIFY INSPECTION PATH FOR A GIVEN LEVEL OR POSSIBLY JOIN PATHS ON DIFFERENT LEVELS
5000 CONTINUE
CALL MODIFPATH CALL PDQINIT(2) ilNITIALIZE FROM 2 ON
ELSE IF CMCHOICE.EQ.3) THEN
USER WANTS TO DISPLAY PATHS AGAIN
6000 CONTINUE
CALL DISPPATH
27
5
10
15
20
25
30
35
40
45
50
55
60
rç;
CH 678 761 A5
CALL PDQINIT(2) !INITIAL!ZE FROM 2 ON
ELSE IF(MCHOICE .EQ. 4) THEN
OSER WISHES TO FILE THE PATH CREATED
7000 CONTINUE
CALL FILEPATH CALL PDQINIT(2)
END IF END DO
GO TO CIG MAIN MENÜS CX19Q INITIALIZE PDQCON •
CALL PDQINIT(2}
SET PDQCON(1) SO WE ASK FOR MAIN CIG MENUS IN CX190
CALL CLINK(PDQMOD)
END
SUBROUTINE CX193 PURPOSEï
MAIN CORELOAD TO COMPARE MEASURED DATA AGAINST GAGES OR ZONES
ARGUMENTS:
TYPE NAME(DIM) I/D DESCRIPTION
SUBROUTINES CALLEDî
ANVIL VERSION 1.5 -USER WRITTEN -
LOCAL VARIABLES:
TYPE NAME(PIM)
THIS IS PDQCON LEVEL
DESCRIPTION 2 WHICH MEANS THAT .IT IS THE
28
5
10
15
20
25
30
35
40
45
50
55
CH 678 761 A5
SECOND LEVEL OF IMBEDDED SUBROUTINE CALLS AFTER A CLINK IS DONE. TO CONTROL RETURNS FROM CLINKS IN THIS LEVEL, SET PDQCON(2).
GO TO (1000,2000,3000,4000,5000),PDQCON(2)
ASK USER TO PICK INSPECTION MENU DO WHILE(.NOT TERMINATE)
1000 CONTINUE
CLEAR ALPHA SCREEN
CALL CLRALPHA
CALL CIGMENUS(14,IDUM }
CALL PDQINIT(2)
IF(MCHOICE.EQ.98 .OR. MCHOICE.EQ.99) THEN REJECT OROP COMPLETE HIT
ELSE IF (MCHOICE.EQ.l) THEN
USER WANTS TO RETRIEVE NEW MEASURED DATA FROM MACHINE
2000 CONTINUE
CALL READMEAS
CALL PDQINITC2) UNITI ALIZE FROM 2 ON
ELSE IF (MCHOICE.EQ.2) THEN
USER WANTS TO RETRIEVE OLD MEASURED DATA FROM FILE
3000 CONTINUE
CALL READMEAS
CALL PDQINIT(2) ÏINITIALIZE FROM 2 ON
ELSE IF (MCHOICE.EQ.3) THEN
USER WANTS TO ANALYZE RETRIEVED MEASURED DATA
29
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
4000 CONTINUE
CALL PROCMEAS
CALL PDQINIT(2) ÎINITIALIZE FROM 2 ON
ELSE IF (MCHOICE.EQ.4) THEN
USER WANTS TO DELETE ALL MEASURED DATA
5000 CONTINUE
CALL DELMDATA END IF END DO
SET UP PDQCON12) TO RETURN TO THIS ROUTINE ON CLINKS 9999 CONTINUE
ERROR REQUESTED TO SKIP OVER REST OF ROUTINE GO TO CIG MAIN MENUS CX190 INITIALIZE PDQCON CALL PDQINIT(2}
SET PDQCON( 1 ) SO WE ASK FOR MAIN CIG MENUS IN CX190
CALL CLINK(PDQMOD)
END
Unter Bezug auf das Datenflussdiagramm der Fig. 10 sollen nun die Systemteile gezeigt werden, innerhalb deren die CIGMA-Module ausgeführt werden. Der Benutzer bzw. die Bedienungsperson kommuniziert mit dem CIGMA-System über eine oder mehrere Eingabe/Ausgabe-Einrichtungen (E/A-Einrichtungen), wie sie als Benutzer-E/A-Einrichtung 30 in Fig. 10 dargestellt sind. Dabei kann es sich um ein interaktives Graphikterminal handeln, mit dem dreidimensionale Drahtnetzbilder sowie auch alphanumerischer Text dargestellt, manipuliert und identifiziert werden können. Die Treiber für die E/A-Einrichtungen und die zugehörigen Software-Routinen werden von dem bei 31 gezeigten CAD-Datenbasengenerator bereitgestellt. Ein CIGMA-E/A-Prozessor (in Fig. 10 bei 32 gezeigt) stellt ein weiteres Glied in der Wechselwirkung zwischen einem Benutzer und dem CIGMA-System dar, ebenso wie dies für den CAD-Datenbasengenerator 31 der Fig. 10 zutrifft. Beispielhaft für diese Interaktion sind die Auswahl verschiedener CIGMA-Module, die Zahleneingabe über eine Tastatur oder durch Geometrie30
5
10
15
20
25
30
35
40
45
50
55
60
CH 678761 A5
wähl, wie sie als Eingabe für das Erzeugen einer Prüflehre erforderlich ist, über den E/A-Prozessor. Die Fähigkeiten des CAD-Datenbasengenerators werden tatsächlich zum Erzeugen der Prüfiehrengra-phik eingesetzt; der CIGMA-E/A-Prozessor kreiert jedoch die Befehle, mit denen die jeweils geeigneten CIGMA-Routinen aktiviert und Daten aus der Datenbasis abgerufen werden. Eine Schnittstellen-Spezifikation wird dem CAD-Verkäufer überlassen, der damit Unterprogramme schreibt, mit denen der CAD-Datenbasengenerator unmittelbar an das CIGMA-System angeschlossen werden kann. Die sich aus diesen Schnittstellen-Spezifikationen ergebenden Routinen stellen das Mittel dar, mit dem das CIGMA-System Daten vom Benutzer übernimmt und Informationen an den Benutzer zurückliefert.
Innerhalb des CIGMA-Systems erfolgt der Informations- und Datenaustausch nach einem der folgenden Verfahren, wie sie in Fig. 10 dargestellt sind:
1. Die Kommunikation zwischen den Modulen erfolgt über die CIGMA-Hauptdatenbasis 33.
2. Prüf-, Analyse- und Statistikresultate werden aus E/A-Dateien 34 gelesen bzw. in sie geschrieben.
3. Positionsdaten werden von verschiedenen elektromechanischen Prüfeinrichtungen wie Koordlna-tenmessmaschinen, Sichtsystemen, NC-Werkzeugmaschinen und Laser-Entfernungsmesseinrichtun-gen gelesen (bzw. an solche gesandt), die in Fig. 10 mit 35 symbolisiert sind.
Der CAD-Datenbasisgenerator 31 der Fig. 10 ist wesentlich für zahlreiche CIGMA-Systemfunktio-nen, die eine 3D-CAD-Geometrie als Eingabedaten liefern. Weiterhin erzeugen zahlreiche CIGMA-Funktionen 3D-CAD-Geometrie zur Ausgabe und Sichtdarstellung. Das CIGMA-System wurde so entworfen, dass ein CAD-Datenbasengenerator (d.h. Anvil-4000, Unigraphics, CADAM) unmittelbar in ihm arbeiten kann. Der CAD-Datenbasengenerator erlaubt dem Benutzer, 3D-Grundgeometrie zu erzeugen, und dem CIGMA-System, die eingebauten CAD-Funktionen zum Erzeugen und Darstellen von CAD-Geometrie zu nutzen. Durch das CAD-System führt CIGMA die E/A-Grundfunktionen der An-steuerung der Sichteinheit, der Menüdarstellung und der Dateneingänge aus. Da CIGMA betrieblich zahlreiche der Fähigkeiten des CAD-Systems ausnutzt, erkennen mit CIGMA arbeitende Benutzer unter Umständen, ob sie Verkäufer-Software oder CIGMA-Software anwenden.
Es soll nun jedes der oben beschriebenen fünf CIGMA-Module ausführlicher beschrieben werden. Das Datenflussdiagramm der Fig. 10 zeigt die fünf Module wie folgt: das Prüflehrenmodul 36, das Prüfmodul 37, das Analysemodul 38, das Jobsteuermodul 39 und das Toleranzmodul 40. Für jedes Modul sollen im folgenden (1) die Moduleingabe, (2) seine Arbeitsweise und Aufgabe sowie die angewandten Algorithmen sowie (3) die Modulausgabe erläutert werden.
Eine Beschreibung des Prüflehrenmoduls 36 der Fig. 10 beginnt mit den Eingabegrössen. Hierbei handelt es sich um die in Fig. 11 gezeigten Symbole für technische Zeichnungen (die Tabelle ist dem «American Standard for Dimensioning and Tolerancing» ANSI Y14.5M entnommen), die mit einer Über-mass-Untermass-Angabe zusammen verwendet werden. Die Übermass-Untermass-Toleranzangabe gilt für sämtliche Abmessungen ausserhalb des Systems der ANSI-Norm Y14.5M. Die 3D-Geometrie stammt aus dem in das CIGMA-System integrierten CAD-Datenbasengenerator 31.
Neben den 3D-Geometrieinformationen aus dem CAD-Datenbasengenerator 31 fordert das Prüflehrenmodul 36 aus der Datenbasis auch Zeichnungsinformationen an, um Toleranzen festzulegen. Die CIGMA-Software fragt diese Informationen in einer festgelegten Reihenfolge ab, die in einem dem Benutzer angebotenen Menü dargestellt ist. Das Menü fordert den Benutzer zunächst auf, die Bezugsorte auf der 3D~Geometriedarstellung des zu dimensionierenden Werkstücks anzugeben. Hierzu wird dem Bezugsort (Ebene, Loch usw.) ein Symbol zugeordnet und dann dem Programm das Bezugsmerkmal bezeichnet, d.h. die Kanten und der Ort einer Bezugsebene mitgeteilt. CIGMA versteht die Zeichnungssymbolik nach ANSI Y14.5M. Daher werden die Bezugsorte weiter definiert durch die vier Formeigenschaften (Gradheit, Flachheit, Zirkularität bzw. Rundheit und Zylindrtzität), wie sie in Fig. 11 angegeben sind. Die Toleranzen der den Bezugsorten zugewiesenen Formeigenschaften dürfen nie grösser als etwa 10% der zulässigen Massabweichung der anderen Werkstückmerkmale sein, die sich auf diese Bezugsorte beziehen. Ist beispielsweise die Ortstoleranz für ein anderes Werkstückmerkmal 0,152 mm (0,006 in.), darf die Flachheitsabweichung einer gewählten Bezugsebene nicht mehr als 0,0152 mm (0,0006 in.) betragen.
Das CIGMA-System versteht den gesamten Zeichnungstext der Fig. 11, der den verschiedenen Teilemerkmalen zugeordnet sein kann. Gleichzeitig mit der Eingabe des Zeichnungstexts in das CIGMA-Sy-stem erfolgen Syntaxprüfungen, für die weiter unten Beispiele angegeben werden.
Profil-, Ausrichtungs-, Orts- und Auslauftoleranzen werden allesamt relativ zu einem Bezugsort angegeben (Fig. 11). Bei der Angabe dieser Toleranzen muss ein bzw. müssen mehrere Bezugsorte im Merkmalskontrollsymbol angegeben sein. Als Beispiel eines Merkmalskontrollsymbols, wie es auf einer ein Werkstück darstellenden Zeichnung erscheint, ist wie folgt:
0 0 0,060 MABC
Diese Angaben werden vom Benutzer dem CIGMA-System gegenüber als TP CZ 0,060 M, A, B, C
31
s
10
15
20
25
30
35
40
45
50
55
60
CH 678 761 A5
mitgeteilt. In diesem Beispiel muss die Positionstoleranz von 0,060 bezüglich der drei Bezüge A, B, C betrachtet werden. Die mit diesen Merkmalskontrollsymbolen angegebenen Bezugsorte dienen zur Definition der funktionalen Anforderungen für das kontrollierte Merkmal; dies bedeutet, dass die Freiheitsgrade des kontrollierten Merkmals definiert werden. Beispiele für die Anwendung von Bezugsorten auf ein Werkstück mit bestimmten kontrollierten Merkmalen lassen sich am Werkstück 41 der Fig. 12 ersehen, Eine Anzahl von Bezügen ist in Fig. 12 auf dem Werkstück 41 mit A bis E gezeigt, wie auch einige Werkstückmerkmale. Das Werkstück 41 hat ein massives rechteckiges Unterteil mit ähnlichen Längen-und Breitenabmessungen und einer kleineren Höhenabmessung. Die Oberseite 42 des Unterteils ist als Bezugsort A bezeichnet. Das Werkstück 41 weist weiterhin vier gleiche Ansätze 43 auf, die von der Bezugsebene A aufwärts abstehen, sowie einen fünften Ansatz 44, der als Bezug E bezeichnet ist. Wie gezeigt, ist eine vertikale Seitenfläche des Unterteils als Bezugsfläche C gekennzeichnet, eine weitere Seitenfläche als Bezugsfläche B, Ein im Unterteil 42 mittig angeordnetes Loch 46 ist als Bezug D ausgewiesen.
Die Fig. 13A, B und C zeigen schaubildlich Prüflehren, die das CIGMA-System zur Überprüfung verschiedener Merkmale des Bauteils bzw. Werkstücks 41 der Fig. 12 konstruieren kann. Diese Fig. 13A-G sind Jeweils mit vier Spalten (a, b, c, d) und vier Reihen (e, f, g, h) angelegt. Wie ersichtlich, hat eine Prüflehre gemäss Fig. 13A, a, è für die vier Ansätze 43 des Teils 41, wenn in den geometrischen Toleranzen nur mit dem Bezug A aufgebaut, vier Löcher 47 und die Abmessung hat drei verbleibende Freiheitsgrade in der X-Translationsrichtung (XTT), der V-Translationsrichtung (YTT) und der Z-Rotationsrich-tung (ZTR). Dabei werden durch diesen Bezug A die Ansätze in der X- oder Y-Translationsrichtung oder in der Z-Rotationsrichtung nicht festgelegt. An den übrigen Lehren der Fig. 13A, B, C sind die für die geometrischen Abmessungen des Bauteils 41 angewandten Bezüge angegeben und weisen die verbleibenden Freiheitsgrade als Ergebnis dieser geometrischen Dimensionierung aus. Die Bezugsangaben enthalten zuweilen auch modifizierende Symbole wie M (MMC-Zustand, maximal verbleibendes Material) und S (unabhängig von der Merkmalsgrösse), die sich auf die verbleibenden Freiheitsgrade auswirken, wie dies im folgenden beschrieben wird.
Das CIGMA-System bestimmt automatisch die funktionalen Anforderungen eines gegebenen Satzes von Merkmalen. Es stellt diese Funktionalität dann auf dem Bildschirm aus, indem es ein dreidimensionales Modelt des Worst-Case-Paarungsteils erstellt (auch als «Funktionslehre» bezeichnet), von denen eine Anzahl in Fig. 13A, B, C gezeigt ist. Das CIGMA-System bestimmt die einem Satz von in einer bestimmten Reihenfolge angegebenen Bezügen und modifizierenden Symbolen zugrundeliegende Funktionalität, indem es folgende Regeln anwendet.
Die Fig. 13Â zeigt Prüflehren zum Prüfen unterschiedlicher Merkmale des Bauteils 41 der Fig. 12, wobei es sich bei dem Bezug für die Abmessungstoleranzen um eine Ebene handelt. Handelt es sich dabei um den Primärbezug, erzwingt das CIGMA-System drei Berührungspunkte zwischen diesem Bezug und dem Paarungsteil; handelt es sich um den Sekundärbezug, erzwingt das CIGMA-System zwei Berührungspunkte zwischen dem Bezug und dem Paarungsteil. Ist er der Tertiärbezug, erzwingt das CIGMA-System einen Berührungspunkt zwischen diesem Bezug und dem Paarungstell. Der Primär-, Sekundär-und Tertiärbezug sind das erste, zweite bzw. dritte Symbol im Merkmalskontrollblock und erscheinen an dessen rechtem Ende, wie dies in Fig. 13A-C gezeigt ist.
Handelt es sich bei dem im Kontrollblock angegebenen Bezug um ein Merkmal wie eine Bohrung oder einen Ansatz, gelten die Prüflehren der Fig. 13B, C. Ist als Materialzustand MMC oder M (maximales Material) angegeben, wie in Fig. 13B zu ersehen, erzwingt das CIGMA-System, wenn es sich bei dem Bezug um den Primärbezug handelt, die Achse des Paarungsteils in die Parallelität zur Achse des Bezugs in drei Dimensionen. Falls es sich um den Sekundärbezug handelt, legt das CIGMA-System das Merkmal des Paarungsteils in diesen Bezug, wenn es ein Loch ist, oder um ihn herum, wenn es ein Ansatz ist. Ist entsprechend der Bezug ein Tertiärbezug, legt das CIGMA-System das Merkmal des Paarungsteils in den Bezug, wenn er ein Loch ist, bzw. vollständig um ihn herum, wenn es der Ansatz ist.
Ist für den Materialzustand RFS bzw. S (Fig. 13C; «unabhängig von der Merkmalsgrösse» («regardless of feature size»)) angegeben, legt das CIGMA-System, wenn es sich um den Primärbezug handelt, die Achse des Paarteils parallel zur Achse dieses Bezugs in drei Dimensionen und verhindert eine Translation des Paarungsmerkmals innerhalb dieses Bezugs. Mit anderen Worten: Das Paarungsmerkmal wird durch einen verjüngten Stift auf einer axial verlaufenden Druckfeder simuliert, die das Paarungsmerkmal zwingt, Raum zwischen sich und dem Bezug einzunehmen. Dies ist in Fig. 13C dargestellt, wo ein verjüngter Stift 48 auf den Lehrendarstellungen für den Fall gezeigt ist, dass der Kontrollblock den Bezug D (mittiges Loch 46) des Teils 41 der Fig. 12 angibt. Zum Vergleich kann der Ansatz 49 der Lehren der Fig. 13B dienen, für den das MMC-Symbol M angegeben ist.
In der Fig. 13C ist RFS bzw. S angegeben. Falls es sich bei dem Bezug, für den der Materialzustand gilt, um den Sekundärbezug handelt, legt das CIGMA-System das Merkmal des Paarungsteils in den Bezug, wenn es ein Loch ist, oder vollständig um den Bezug herum, wenn er ein Ansatz ist. Wie im vorigen Fall für den Primärbezug erläutert, wird auf diese Weise das Paarungsmerkmal auf der Prüflehre (Fig. 13C) an einer Translation in Bezug - hier D auf dem Bauteil 41 der Fig. 12 gehindert. Handelt es sich um den Tertiärbezug, legt das CIGMA-System analog das Paarungsmerkmal in den Bezug, wenn er ein Loch ist, bzw. vollständig um den Bezug herum, wenn er ein Ansatz ist. Wie beim Primär- und Sekundärbezug verhindert ein solcher einem Tertiärbezug zugewiesener Materialzustand, dass das Paarungs-
32
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
merkmal auf der Lehre (der verjüngte Stift 48 auf den Lehren der Fig. 13C) innerhalb des Bezugs (in diesem Fall D auf dem Teil 41 der Rg. 12) verschoben wird.
Sind in einem Merkmalskontrollblock Bezüge angegeben, können die soeben ausgeführten Regeln angewandt werden, um die genaue Funktionalität des Paarungsteils bezüglich der kontrollierten Merkmale zu bestimmen. Ist der Primärbezug eine Ebene und erscheint der Merkmalskontrollblock als «wahre Position, Durchmesser, 0,060 M A» (mît A als Ebene), dann bestimmt körperlich diese Ebene A die Ausrichtung (Orientierung) des Paarungsteils. Mit anderen Worten: das Paarungsteil muss die drei Hochpunkte der als Primärbezug angegebenen Ebene A berühren; die Paarungsfläche kann dann eine Translation und Rotation ausführen, bleibt aber zwangsweise koplanar mit der Bezugsfläche A. Ein Beispiel für ein solches Dimensionierungsergebnis ist in Fig. 13A, g, a- zu ersehen, die ein Paarungsteil (in diesem Fall: eine Prüflehre) für das Teil 41 darstellt, das in der XT- und der YT-Richtung sich verschieben und um ZTX drehen kann. Weiterhin ist zu ersehen, dass für die Angabe «wahre Position, Durchmesser, 0,060, Bezug A» (mit A als Ebene) das Paarungsteil bzw. die Lehre der Fig. 13, e, a gilt, die eine Translation des Paarungsteils relativ zum Teil 41 der Fig. 12 in der XT- und der YT-Richtung und eine Drehung um die ZT-Achse erlaubt. Mathematisch reduziert der Bezug A eine vollständig unkontrollierte Bewegung (Translation in drei Achsen in jeweils zwei Richtungen und Rotation um drei Achsen in jeweils zwei Richtungen) auf drei Freiheitsgrade, d.h. Translation in XT und YT und Rotation um ZT.
Handelt es sich bei dem Primärbezug um ein Loch oder einen Ansatz, werden die Symbole M oder S benutzt, wie oben beschrieben. Ist für den Primärbezug als Materialzustand MMCV oder M angegeben, kann der Merkmalskontrollblock wie folgt aussehen:
0 0 0,060 M D
In dem vorgehenden Beispiel kontrolliert das Loch 46 (als Bezug D in Fig. 12 angegeben), die Orientie* rung des dem Teil 41 zugehörigen Paarungsteils. Die Achse des Paarungsteils wird parallel zu der des Bezugslochs D gelegt, entsprechend der Stift 49 der Prüflehre der Fig. 13B, e, a parallel zur Achse des Bezugslochs D. Sind der Bezug und das Paarungsteil (bzw. die Lehre) richtig orientiert, lässt man die Paarungsmerkmaie innerhalb der Bezüge (falls es Löcher sind) bzw. um die Bezüge herum (wenn es Ansätze sind) sich verschieben und drehen. Geometrisch gesehen lässt man den Paarungsteil sich entlang der XT- und der YT-Achse verschieben und um die ZT-Achse drehen, wie dies beispielsweise in Fig. 13B, f, a zu sehen ist. Das Paarungsteil wird beim Vorliegen von Bezugslöchern (D) immer innerhalb dieser oder beim Vorliegen von Bezugsansätzen (E) immer um sie herum gehalten. Mathematisch gesehen reduziert der Bezug D die sechs Freiheitsgrade der vollständig unkontrollierten Bewegung auf drei. Weiterhin begrenzt ein Bezugsloch oder -ansatz die XT- und YT-Translation um die Abweichung zwischen dem Bezugsmerkmal und dem Paarungsteilmerkmal.
Ist der Materialzustand auf dem Primärbezug als RFS bzw. S angegeben, erscheint der Merkmals-kontroliblock als «0 0 0,060 S D», wobei D ein Loch oder ein Ansatz ist. In den hier ausgeführten Beispielen ist der Bezug D ein Loch, wie in Fig. 12 gezeigt. Körperlich kontrolliert das Loch 46 die Orientierung des Paarungsteils, indem es die Parallelität von dessen Achse zu der des Bezugslochs (bzw. -an-satzes) erzwingt. Sind der Bezug und das Paarungsteil richtig orientiert, kann das Paarungsmerkmal nur noch um die vom Bezug bestimmte Achse drehen. Im Gegensatz zum oben beschriebenen Modifizierer MMC bzw. M ist keine Rotation erlaubt. Dies ist in Fig. 13C, e, a gezeigt, wo nun die Drehung um die ZT-Achse als erlaubt angegeben ist. Die Angabe RFS reduziert in diesem Fall die sechs Freiheitsgrade der unkontrollierten Bewegung mathematisch auf den einzigen Freiheitsgrad mit dem Zustand ZTR.
Das CIGMA-System prüft die Syntax der Abmessungsvorgaben nach der ANSI-Norm, wie dies oben erwähnt ist. Die Fig. 14 zeigt ein Werkstück 54 mit sieben Bohrungen 56. Wie die Fig. 14 zeigt, handelt es sich bei dem Bezug B um eine Lippe bzw. einen Ansatz auf dem Teil 54. Im Kästchen ist der Bezug B weder durch die MMC-Angabe M noch durch die RFS-Angabe S modifiziert. Dies ist ein Fehler, da ohne eine solche Vorgabe der Ansatz nicht vollständig spezifiziert und der Bezug daher nicht brauchbar ist. Das gleiche würde gelten, wenn B ein Bezugsloch wäre. Das Kästchen muss daher als
«0 00 M D BS F »
erscheinen. Das System erkennt den Fehler, gibt ihn auf dem Bildschirm aus und fordert den Benutzer, die Toleranzvorgabe in die vorerwähnte richtige Form zu bringen.
Die Fig. 15 zeigt die ANSI Normvorgabe für zwei Gewindelöcher 57 im Teil 54, wobei die Toleranz der Lochdurchmesser für den MMC-Zustand angegeben ist. Diese Angabe ist zwar vom Gesichtspunkt der Toleranz-Angabennorm nicht völlig falsch. Die Löcher haben jedoch ein Innengewinde, und die Vorgabe M würde eine Messung der Spitzen- und Wurzeldurchmesser erfordern, was hinsichtlich der Messung selbst und der Anwendung sicherlich unpraktisch ist. Die erzeugte Prüflehre erkennt die MMC-Vorga-be nicht an. Alles, was erforderlich ist, ist eine einwandfreie Positionierung des festen Befestigers, der in das Gewinde eingeschraubt wird. Das System gibt daher eine Warnung aus, dass die Prüflehre RFS-toleriert erzeugt werden wird, und fordert den Benutzer auf, für die Lochdurchmessertoleranz S (statt M) anzugeben.
33
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
Die Prüflehren der Fig. 13A-C werden auf dem Bildschirm mit einem XYZ-Koordinatensystem zusammen dargestellt und zeigen nur die kontrollierten Merkmale auf dem Bauteil, die zu prüfen sie mathematisch erstellt worden sind. Daher veranlasst die verhältnismässig einfache Vorgabe mit nur dem Bezug A für das Teil 41 der Fig. 12 das CIGMA-System, die verhältnismässig einfache Prüflehre zu konstruieren, die in Fig. 13, e, a dargestellt ist; sie besteht nur aus vier Löchern 47 in der Bezugsebene A. Wie zu ersehen, benutzt die strengere Vorgabe der Fig. 13A, h, d die Ebene A, das Loch D und den Ansatz E des Bauteils 41 der Fig. 12 als Bezüge; die Löcher 47 erscheinen also zusammen mit dem verjüngten Zapfen 48 (da der Bezug D mit dem RFS-Symbol modifiziert ist) und einem verjüngten Loch 51 (da der Bezugsansatz E ebenfalls mit dem RFS-Symbol modifiziert ist). Die Prüflehre für Vorgaben für die Primär-, Sekundär- und Tertiärebenen A, B und C ist in Fig. 13A, f, b gezeigt, wobei auf der Prüflehre Flansche 52,53 angeordnet sind, um eine Berührung mit den Bezügen B bzw. C zu erzwingen. Für die Lehren der Fig. 13A-C wird ebenfalls ein Koordinatensystem mit den drei Achsen dargestellt, entlang denen und um die die Translation bzw. Rotation entsprechend den unter den Toleranzvorgaben verbleibenden Freiheitsgraden (DF) erfolgen kann.
Es sollen nun die Funktionen des Prüfmoduls 37 der Fig. 10 beschrieben werden. Die Prüflehren der Fig. 13A-G sind gemeinsam mit der Beschreibung des Prüflehrenmoduls 36 im Rechner gespeichert, desgleichen eine 3-dimensionale CAD-Darstellung des zu prüfenden Teils. Der Rechner kennt die Gestalt des Teils, so dass er einen sinnvollen Prüfweg erstellen kann. Die Sensoranordnung (Fühlersatz) hängt von dieser Gestalt ab. Der Satz 22 der Fig. 5 verwendet Standard-Systemkomponenten der Fa. Reni-shaw Corporation. Bei einer solchen Sonde 22a handelt es sich um einen Schaft mit einer Rubinspitze. Der Sensor ist druckempfindlich und wird auf dem Roboterarm von Punkt zu Punkt um das zu prüfende Teil herumgeführt.
Das CIGMA-System beginnt nun den Prüfweg anzulegen. Hierzu bestehen zwei Optionen, in der ersten Option werden die zuvor definierten kritischen und wesentlichen Merkmale auf dem zu prüfenden Bauteil verwendet, wie sie die gespeicherte Prüflehre darstellt. Wie oben beschrieben, verwendet die Prüflehre die Abmessungs- und Toleranzvorgaben der Teilezeichnung, wie sie in der CAD-Darstellung des Teils im Rechner vorliegen. Das System wählt nun eine geeignete Spitze des Satzes 22 (Fig. 5) und erzeugt einen für die Prüfung der erforderlichen Merkmale logischen Prüfweg in drei Dimensionen. Die erforderlichen Merkmale sind dabei diejenigen, die in der Prüflehre für kritisch und wesentlich gehalten werden. Unter diesem Blickwinkel werden also die Prüflehrenmodelle zur Festlegung des Prüfweges benutzt.
Alternativ wählt der Benutzer bzw. die Bedienungsperson das zu prüfende Merkmal des Bauteils. Das System kennt die Konfiguration des Sondensatzes, bezeichnet eine geeignete Spitze 22a des Sondensatzes 22 zur Prüfung des jeweiligen Merkmals und erzeugt den Prüfweg relativ zu dem im Rechner enthaltenen CAD-Modell. An diesem Punkt kann der Benutzer in der Betriebsart «Definition des Prüfweges durch den Benutzer» fünf körperliche Merkmale des Bauteils wählen, d.h. Gewindemerkmate, Bohrungen, Ansätze, ebene Flächen und Kanten.
Der Prüfweg kann auf unterschiedliche Weise modifiziert werden. Der Benutzer kann dem System auf dem Bildschirm einen zu modifizierenden Wegabschnitt mitteilen und neue Koordinaten für jeden Wegpunkt mit der Tastatur eingeben. Alternativ kann ein neuer Punkt bzw. eine neue Koordinate dem Prüfweg hinzugefügt werden, indem man die Laufmarke auf dem Bildschirm auf den neuen Punkt setzt und diesen über eine Tastenwahl eingibt. Weiterhin lassen sich Prüfwegpunkte löschen, indem man sie mit der Laufmarke auf dem Bildschirm markiert und von der Tastatur aus löscht. Der Prüfweg lässt sich auch hinsichtlich der «Näherungsdistanz» modifizieren. Jede Berührung zwischen einer Sonde 22a und einem Bauteil erfordert ein geeignetes Positionieren der Sonde in einem Nennabstand zum Prüfpunkt, der als «Näherungsdistanz» bekannt ist Nach der Prüfung wird die Sonde 22a um die «Rückziehdistanz» abgezogen. Beide Distanzen und somit der Prüfweg lassen sich durch Tastaturan-wahl ändern.
Der Prüfweg ist nunmehr angelegt. Das CIGMA-System tritt nun in den Prozess seiner Orientierung ein. Der Ort des Bauteils liegt innerhalb bestimmter Grenzen, die als Maschinenenveloppe bezeichnet sind. Eine gewisse Näherung der Lage des Teils innerhalb der Maschinenenveloppe, wie es auf dem Bildschirm dargestellt ist, muss bereits bekannt sein. Der Sondensatz wird an das Bauteil bis zur Berührung bestimmter leicht erreichbarer bekannter Merkmale auf dem Bauteil herangeführt, während das Bauteil diese Orientierung einnimmt. Beispiele solcher Merkmalskombinationen, die eine Festlegung der Orientierung gestatten, sind drei Ebenen, eine ebene und zwei Löcher, eine Ebene und ein Zylinder mit bekannter Achslage usw. Nach der Orientierung für den Prüfweg wird der Sondensatz kalibriert. Es ist einzusehen, dass der Sondensatz selbst mit bestimmten Toleranzen hinsichtlich des Ist-Orts der Sonden 22a bezüglich des Satzkörpers 22 gefertigt ist. Hierzu wird ein Kalibrierartefakt auf dem Prüfmaschinenbett angeordnet, dessen Abmessungen genau bekannt sind. Die Maschine bringt den Sondensatz über dieses Artefakt, und jede Sonde wird an es angesetzt. Da die Abmessungen des Kalibrierartefakts bekannt sind, lassen sich aus den vom Sondensatz gelieferten Messwerten Fehler identifizieren und Ausgleichswerte speichern, mit denen die Ergebnisse der durchgeführten Prüfungen später modifiziert werden.
Es wird nun das Jobsteuermodul 30 der Fia. 10 beschrieben. Der Jobsteuerungsabschnitt des CIG-MA-Systems bestimmt die Schrittfolge für einen bestimmten Job vor dessen Ausführung. Zunächst wird
34
5
10
15
20
25
30
35
40
45
50
55
60
CH 678 761 A5
dem System die Identität einer bestimmten Art von Maschine mitgeteilt, die an das System angeschlossen werden wird - beispielsweise eine NC-Fräsmaschine der Firma Cincinnati.
Der ÄTTACH-Befehl steht für eine im System angewandte Jobsteuersprache. Er dient zum Verbinden des CIGMA-Systems mit der angegebenen CMM- oder DNC-Maschine. Wenn der ATTACH-Be-fehl in der Datei JOB auftritt, wird zunächst die angegebene Maschine mit dem CIGMA-System «verbunden».
Der bei der Rechnerzuweisung verwendete Gerätename muss durch den logischen Namen CIG MACHINE definiert sein; dies erfolgt extern zum Job. Beispielsweise kann die Datei LOGIN. COM den folgenden Befehl enthalten: ASSIGN TXC3: CIG-MACHINE. Der Bedienungsperson werden bei der Ausführung von ATTACH gewisse Anweisungen erteilt, die maschinenabhängig sind. Sind die angeforderten Vorgänge abgeschlossen, wird die Jobausführung fortgesetzt. Im folgenden ist die Jobsteuersprache erläutert, die mit dem ATTACH-Befehl zusammen Verwendung findet,
FORMAT: ATTACH (Maschinenarfl PARAMETER: (Maschinenartt
Bei der im ATTACH-Befehl angegebenen Maschinenart kann es sich um eine der folgenden handeln. -CINCINNATI für Milicron-5VC-Maschinen der Firma Cincinnati,
- DEA für die DEA-CMM-Maschine,
- AUTOMATIX für den Laserroboter CMM der Firma Automatix,
- SIMULATE zum Testen und Debuggen von Jobs. Die simulierte Maschine fordert Daten an, die die an einer Maschine aufgenommenen Messwerte simulieren. Diese Option ist zur Qualitätsprüfung der Software nützlich.
- ECHO zum Prüfen von JOB. Die ECHO-Maschine liefert eine perfekte Messung. Diese Option ist nützlich zum Verifizieren, dass ein Job korrekt läuft, wenn ein Teil korrekt gefertigt wird.
- WALDRICH für die Waldrich-Coburg-Maschinen.
QUALIFIKATOREN :
/TOOL-NUMBER = nnnn
/TOOL-NUMBER gibt die während ATTACH zu wählende Werkzeugnummer an. Falls verfügbar, wird das angeforderte Werkzeug beim erstmaligen Anschliessen der Maschine in die SPINDEL eingesetzt. Dieser Vorgang kann nützlich sein, wenn die NC-Datendatei keinen Werkzeugwechsel enthält oder der Werkzeugweg des CAD-Modells dem Nachprozessor kein Werkzeug anweist. Die Option ist nur bei DNC/CMM- oder CND-Maschinen anwendbar und wird bei allen anderen Maschinen ignoriert.
ZUGEHÖRIGE OPERATIONEN:
Ein ATTACH-Befehl muss ausgeführt werden, bevor ein DNC-oder CMM-Befehl sich anwenden lässt. Falls er nicht ausgeführt wird, erfolgt eine Systemfehlerausgabe. Der Befehl DISCONNECT kann verwendet werden, um das Gerät für die Verwendung in einem anderen Prozess freizugeben.
BEISPIEL:
ATTACH/TOOL = 9999 SIMULATE
Diese Informationen hinsichtlich der an das System angeschlossenen Maschinenart dient als «Aufwecker» für das System, das daraufhin den unter Bezug auf das Prüfmodul 37 beschriebenen Kali-brierprozess durchführt.
CALIBRATE erläutert ebenfalls die Jobsteuersprache des Systems. CALIBRATE dient dazu, die Ist-Geometrie eines Sondensatzes 22 vor dem Einsatz zu messen. Das System erfordert, dass alle Sondenspitzen 22a vor dem Einsatz beim Ausmessen von Bauteilen kalibriert werden. Wenn die Sondengeometrie genau bekannt und die Konstruktion des Sondensatzes im System genau ist und geprüft werden soll, kann eine Sonde auf die im CAD-System enthaltenen Konstruktionswerte kalibriert werden. Soll eine frühere Kalibrierung verwendet werden, können die Kalibrierungsergebnisse aus einer Datendatei eingelesen werden. Die Kalibriertabelle ist als der Vektor vom Bezugspunkt des Sondensatzes zum Mittelpunkt der Kugelspitze auf jeder Sonde definiert. Die mit dem CALIBRATE-Befehl verwendete Jobsteuersprache ist wie folgt:
FORMAT: CALIBRATE Prozessnummer CALIBRATE/DESIGN
CALIBRATE / FILE == /DATEINAMEN CALIBRATE Prozessnummer.
35
5
10
15
20
25
30
35
40
45
50
55
60
CH 678 761 A5
PARAMETER:
In dieser Form des CALIBRATE-Befehls wird die zu verwendende Prozessnummer als Parameter angegeben. Diese Form wird angewandt, wenn eine tatsächliche Kalibrierung eines Sondensatzes durchge-fiihrt werden soll. Die Verwendung von FILE, DESIGN und anderen Qualifikatoren ist nicht erlaubt (es gibt also drei unterschiedliche Formen des CALIBRATE-Befehls).
QUALIFIKATOREN:
(OUTPUT-FILE = (Dateiname)
Die Ergebnisse der Kalibrierung werden in der angegebenen Datei gespeichert. Diese Datei kann später vom CIGMA-System eingelesen werden, um eine Sonde zu kalibrieren, anstatt hierzu Maschinenzeit aufwenden zu müssen.
/MAXTIPERR = (Realwert)
Der Wert MAXTIPERR dient zur Steuerung, wie weit die kalibrierte Sonde vom Konstruktionswert abweichen kann. Der Ort jeder Spitze relativ zum Sollort wird daraufhin geprüft, ob er innerhalb dieses MAXTIPERR zum Sollort liegt. Falls der Fehler grösser ist, beendet das CIGMA-System den Prozess mit einer Fehlermeldung. Wird MAXTIPERR nicht oder zu 0,0 angegeben, erfolgt keine Prüfung.
/MAXRADERR = (Realwert)
Dieser Wert dient zur Kontrolle, wie weit der Radius der Kugelspitze vom Sollwert sein kann. Falls nicht angegeben, erfolgt keine Prüfung.
/MAX-VARIATION.
Dient zur Kontrolle, wie gross die maximale Abweichung der berechneten Sondenspitzen sein darf. Der Kalibrierprozess erzeugt fünf Punkte auf einer Kugel 10 (Fig. 1), um jede Spitze zu eichen; man erhält also für jede Kugelspitze fünf berechnete Durchmesser, aus denen ein Mittelwert gebildet wird. Falls die Abweichung vom Mittelwert für eine beliebige Sondenspitze MAX-VARIATION übersteigt, bricht CIGM A den Prozess mit einer Fehlermeldung ab.
/TOOL = (Werkzeugnummer)
Ist /TOOL angegeben, wird das angegebene Werkzeug vor der Ausführung des Kalibrierungsprozesses in die Spindel geladen.
CALIBRATE/DESIGN
Mit dieser Form des CALIBRATE-Befehls werden keine anderen Parameter oder Qualifikatoren verwendet. Er gibt an, dass die Konstruktionswerte des Sondensatzes zu dessen Kalibrierung verwendet werden sollen.
CALIBRATE/FILE = (Dateiname)
Mit dieser Form des CALIBRATE-Befehls werden keine anderen Parameter oder Qualifikatoren verwendet. Er gibt an, dass die Kalibrierung aus einer Kalibrierdatei gelesen werden soll. ANMERKUNG: Der Name des Sondensatzes ist in dieser Datei enthalten und muss zu dem Sondensatz passen, der Im Betrieb der Maschine während der folgenden Prüfoperationen verwendet werden soli.
VERWANDTE OPERATIONEN;
Die Befehle ORIENT und INSPECT verlangen die Kalibrierung des Sondensatzes. Wird ein INSPECT-oder ORIENT-Befehl mit nicht-kalibrierter Sonde versucht, bricht das System den Vorgang ab und gibt eine Fehlermeldung aus. Verwendet eine INSPECT- oder ORIENT-Operation einen anderen als den zuvor kalibrierten Sondensatz, bricht das System ebenfalls ab und gibt eine Fehlermeldung aus.
Beispiel:
CALIBRATE/DESIGN CALIBRATE/FILE = STAR-CLUSTER. CAL
CALIBRATE/OUTPUT = START— CLUSTER. CAL/MAXTIP
ERR = .0001 901
36
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
Nach der Ausführung des CALIBRATE-Befehls in der Jobsteuerung wird ein Punkt auf dem im Rechner gespeicherten CAD-Modell gefunden, indem die Laufmarke als Zielkreuz von Hand auf den gewünschten Punkt auf dem CAD-Modell gesetzt wird. Eine Ecke ist ein sinnvoller Punkt für die Bezeichnung von Hand, da es leichter ist, die Laufmarke genau damit auszurichten. Die CAD-Darstellung des Bauteils, für das die Jobkontrollfolge erzeugt wird, wird auf dem Bildschirm dargestellt. Danach läuft der im Zusammenhang mit dem Prüfmodul beschriebene Orientierungsprozess ab. Der Orientierungspro-zess kann auch für andere Zwecke verwendet werden. Bei dem Job kann es sich um die Herstellung neuer Merkmale auf dem Werkstück oder um die Prüfung bearbeiteter Merkmale handeln: beide Funktionen lassen sich anhand der anfänglich definierten Bezüge ausführen. Weiterhin kann es in bestimmten Fällen erwünscht sein, ein Werkstück zu bearbeiten und die bearbeiteten Merkmale sofort anhand der erwähnten Bezüge zu prüfen. Auf diese Weise kann ein Werkstück praktisch schrittweise unter Bezug auf die im CAD-Modell enthaltenen Bezüge und mit den oben beschriebenen Prüflehren aufbauen.
Nachdem der Prüfprozess schrittweise mit Einzelprüfung nach jedem Bearbeitungsvorgang für das gesamte Werkstück in einem Durchlauf oder nach einer gewünschten Schrittfolge ausgeführt worden ist, geht die Jobsteuerung zur Analyse der Prüfergebnisse über. Die Analyse läuft dabei für die Simulation auf die unten anhand des Analysemoduls 38 beschriebene Weise ab. Nach dem Analyseschritt in der Jobsteuerdefinition ergeht die Anweisung, die Maschine abzutrennen, und das System wird abgeschaltet.
Die Erzeugung der Jobsteuerfolge enthält weitere Funktionen, die für bestimmte Jobs erforderlich sein können. Wie beispielsweise die Ausgabe bestimmter Sichtdarstellungen während eines Joblaufs für spezielle Zwecke oder von für den jeweiligen Job geltenden Mitteilungen an die Bedienungsperson. Ist alles dieses - einschliesslich der für einen bestimmten Job geltenden anderen oder speziellen Funktionen — berücksichtigt, wird die Jobsteuerung simuliert, indem die Schrittfolge so ausgeführt wird, dass die Bedienungsperson, die sie gerade generiert hat, den Ablauf verfolgen kann. Ist die Bedienungsperson mit dem Ablauf zufrieden, kann sie die Jobsteuerung danach beliebig aufrufen.
Bei der eigentlichen Ausführung der Jobsteuerung in der Maschinenhalle liefert die Identifikation der angeschlossenen Maschine dem CIGMA-System Angaben hinsichtlich der verfügbaren Werkzeuge und/oder der Prüfeinrichtungen. Die Bedienungsperson befiehlt dann die Jobausführung (»Run the job»), und das System tritt in den Kalibrierungsprozess für den Sondensatz ein, wie er oben beschrieben ist. Der bezeichnete Orientierungspunkt auf dem Bauteil (nach dessen angenäherter Ausrichtung mit Hilfe der Bildschirmdarstellung) blinkt, und die Bedienungsperson führt die Sonde von Hand an diesen Punkt. Hiernach beginnt der Orientierungsprozess, und das CIGMA-System übernimmt die Kontrolle von der Bedienungsperson. Danach werden die vorbestimmten Bauteilemerkmale entsprechend der Bezeichnung durch die Jobsteuerung am Bauteil hergestellt (sofern in der Jobsteuerung enthalten) und/oder geprüft. Die Prüfergebnisse werden den Rechnerdaten hinzugefügt und vom Analysemodul 38 der Fig. 10 analysiert. Am Ende der Jobsteuerfolge wird die Maschine abgetrennt und der Prozess verlassen.
Es soll nun das oben erwähnte Analysemodul 38 der Fig. 10 erläutert werden. Das Analysemodul führt zwei Aufgaben aus, die Lehrenanalyse und die statistische Prozesskontrolle (SPC). Diese beiden Analysen können vom System gleichzeitig oder separat vorgenommen werden. Die Lehrenanalyse will die Frage «Ist dieses Bauteil in Ordnung?» beantworten. Die geltenden Prüflehren werden von der Jobsteuerroutine bezeichnet. Sie werden so, wie sie aus den Prüfergebnissen konstruiert worden sind, auf das Bauteil gelegt; das System versucht, innerhalb der für die Lehren erlaubten Freiheitsgrade sie mit dem Werkstück zur Passung zu bringen. Falls die Lehre passt, ist die Prüfung abgeschlossen. Falls nicht, wird die Möglichkeit eines Nacharbeitens untersucht. Ergibt sich, wie oben beschrieben, dass ein Nacharbeiten möglich ist, wird der Bedienungsperson mitgeteilt, wie sie dabei vorzugehen hat, Passt die Lehre immer noch nicht, ist ein Nacharbeiten nicht möglich; die Maschine wird abgetrennt und der Prozess ausgeschaltet.
Die statistische Prozesskontrolie beantwortet die Frage: «Erzeugt die Werkzeugmaschine die Teile so wie in der Vergangenheit, als sie einwandfrei waren?» Hierzu werden in der Systemdatei die Messwerte hinsichtlich aller geprüften Merkmale an jedem Werkstück festgehalten. Diese Aufzeichnungen ergeben eine Verteilung, die in den definierten Teiletoleranzen für die geprüfte Population enthalten ist. Die Population dient als Bezugswert für die an den entsprechenden Teilen später geprüften Merkmale. Auf diese Weise wird innerhalb der definierten Teiletoleranzen eine Normalverteilung bestimmt, in der Werte Innerhalb der +3 o-Grenzen (99,7% der Population) akzeptabel sind. Fällt ein geprüftes Merkmal aus diesem Bereich (3 von 1000) hinaus, wird für den zugehörigen Prozess eine Kontrollmarke gesetzt, auch wenn das Teil noch toleranzhaltig ist, und der Prozess untersucht. Ausreisser ausserhalb des 3 + a Bereiches können durch zahlreiche Einflüsse verursacht werden - beispielsweise eine neue Bedienungsperson, eine lockere Einspannvorrichtung, einen schlechten oder falschen Werkstoff, ein verschlissenes Werkzeug und dergleichen. An irgendeiner Stelle des Bearbeitungsvorganges erfolgt dann ein korrigierender Eingriff, und es werden etwa fünf Werkstücke nach dem gleichen Prozess gefertigt; sind sie allesamt einwandfrei, wird der Prozess wieder aufgenommen. Sind nicht alle Werkstücke einwandfrei, wird die Untersuchung fortgesetzt.
Ist ein Prozess ausser Kontrolle geraten, kann die Bedienungsperson eine bildliche Darstellung von Daten aus der Vergangenheit abrufen. Sie kann ein Laufdiagramm, das zeigt, wie ein angegebenes bear-
37
5
10
15
20
25
30
35
40
45
50
55
CH 678 76t A5
beitetes Merkmal als Ergebnis des Prüfvorgangs erscheint, oder ein Säulendiagramm X abrufen, d.h. eine bildliche Darstellung des Mittelwerts der Probenwerte der Prüfung. Alternativ kann sie ein R-Dia-gramm abrufen, das den Bereich der Prüfpunkte für das jeweilige Merkmal im betreffenden Fertigungslauf zeigt. Mit diesen Informationen ist die Bedienungsperson in einer besseren Lage, eine der oben erwähnten potentiellen Ursachen für den Fehlerzustand zu bezeichnen. Es wurde also ein intelligentes Mittel geschaffen, um den vorerwähnten Eingriff in den Prozess durchführen zu können, bevor die erwähnten fünf Proben gefertigt werden, um zu bestimmen, ob der Prozess wieder unter Kontrolle ist.
Es soll nun das Toleranzmodul 40 der Fig. 10 erläutert werden. Das Toleranzmodul ist im CIGMA-System zur Verwendung durch den Konstrukteur, weniger den Qualitätssicherungs-oder Fertigungsingenieur vorgesehen. Es führt zwei separate Funktionen aus, von denen die erste die weniger komplexe Ist. Es ist seit langem bekannt, dass es für den Konstrukteur schwierig ist, zwei gepaarte Teile mit Toleranzangaben für beide so zu erstellen, dass für beliebige Zustände innerhalb der Toleranzbereiche die Teile mit Sicherheit ohne Masskonflikte zusammengesetzt werden können. Oft wird eines von gepaarten Bauteilen von einem Konstrukteur konstruiert, das zugehörige Paarungsteil von einem anderen. Das CIGMA-System nimmt beide gepaarten Teile beschreibende Daten zusammen mit den Toleranzvorgaben nach der ANSI-Norm und untersucht sie in der Zusammensetzung, wenn an jedem Teil die Worst-Case-Abmasse für den zusammengesetzten Zustand vorliegen. Weiterhin prüft das CIGMA-System, ob jedes der gepaarten Teile mit korrekten Abmessungs- und Toleranzangaben bezüglich des jeweils anderen Teils beschrieben sind. Auf diese Welse lassen gepaarte Teile sich hinsichtlich (1) potentieller Masskonflikte und (2) Unverträglichkelten zwischen den Bezugsvorgaben zwischen den Teilen identifizieren. Die erste Funktion des Toleranzmoduls prüft also Toleranzwerte, die der bzw. die Konstrukteure bereits angegeben haben, und zeigt dem Benutzer potentielle Masskonflikte oder widersprüchliche Bezugsvorgaben an, mit denen ein ansonsten korrekt toleriertes Paarungsteil zwar toleranzhaltig ist, aber nicht passt.
Die zweite Funktion des Toleranzmoduls 40 in Fig. 10 ist die Durchführung einer Analyse von festen und schwimmenden Befestigern («fixed and floating fastener analysis»), Werkstattzeichnungen enthalten zahlreiche Toleranzangaben nur für den Ort von Merkmalen, die zum Zusammenhalten von Teilen dienen - beispielsweise Befestiger. Ein fester Befestiger kann dabei durch einen Gewindebolzen dargestellt werden, der mit Spiel durch eine Bohrung in einem Teil verläuft und in ein zweites eingeschraubt ist; ein schwimmender Befestiger kann dargestellt werden durch einen Bolzen, der mit Spiel durch Bohrungen in beiden Teilen verläuft, wobei die beiden Teile beispielsweise mit einer auf den Befestiger aufgeschraubten Mutter miteinander verspannt werden. Das zweite Toleranzmodul dient zur Erzeugung der Toleranzwerte, die der Konstrukteur auf den Werkstattzeichnungen für beide der gepaarten Teile anzugeben hat.
Die vom Benutzer zu unternehmende Analyse für einen in von ihm zu verspannenden Teilen nicht festgelegten Befestiger («floating fastener») in der zweiten Funktion des Toleranzmoduls verlangt zunächst die Wahl des zu verwendenden Befestigers. Befestiger werden nach Norm-Schaftdurchmes-sern und -Kopfgrössen (beispielsweise an Gewindebolzen) beschrieben, die bestimmte Auflageflächen unter dem Kopf aufweisen. Diese Beschreibungen lassen sich in Konstruktionstabellen finden. Dann bezeichnet der Benutzer die Orte auf einem Werkstück, an denen die gewählten Befestiger eingesetzt werden sollen. Dies geschieht, indem er auf einer Bildschirmdarstellung des Werkstücks die Laufmarke auf die Befestigungspunkte setzt und mit der Tastatur die Informationen eingibt, wie dies zuvor für die anderen Funktionen des CIGMA-Systems beschrieben ist. Der Benutzer bezeichnet nun die beim Positionieren der Merkmale auf dem Werkstück zu verwendenden Bezüge, beispielsweise Löcher, In die Befestiger eingesetzt werden, und gibt sie in das System ein. Das CIGMA-System berechnet die optimale Loch-grösse für jeden Befestiger und die wahre Position der Bohrungen auf dem gepaarten Bauteil, während es gleichzeitig die gespeicherten CAD-Modelle des Werkstücks und seines Paarungsteils untersucht. Dabei werden für beide Werkstücke die Bohrungen nach ihrer Durchmesser-Ober- und Untergrenze so berechnet, dass die gesamte Auflagefläche eines Kopfes auf der Oberfläche des durchsetzten Werkstücks aufliegt. Es ist einzusehen, dass es für die Konstruktion der Anordnung nachteilig sein kann, wenn Löcher in dem einen Befestiger aufnehmenden Teil so gross sind, dass sie ausserhalb der Abmessungen des haltenden Teils des Befestigers (Kopf) liegen.
Ebenso berücksichtigt das CIGMA-System die Eigenschaften des Werkzeugs, mit dem das betreffende Werkstückmerkmal erzeugt werden soll. Beispielsweise wird ein Bohrer mit zunehmendem Ver-schtelss immer grössere Löcher bohren; die Konstruktionstabellen geben Richtlinien zur Abschätzung des Ausmasses der AufWeitung. Beispielsweise wird ein Bohrer mit einem Durchmesser von 15,06 mm (0,593 in.) nie ein Loch von mehr als 15,88 mm (0,625 in.) Durchmesser bohren, auch wenn er völlig stumpf geworden ist. Das CIGMA-System weiss dies und nutzt es aus, um geeignete Toleranzen für die gepaarten Werkstücke festzulegen.
Als Beispiel für die Festlegung einer Lochtoleranz für einen zwei Werkstücke «schwimmend» verspannenden Befestiger durch das CIGMA-System sei auf Fig. 16 verwiesen, in welcher ein Bauteil 57 mit vier Löchern 58 gezeigt ist. In diesem Fall wählt der Konstrukteur einen Bolzen mit einem Schaft-durchmesservon 12,7 mm (0,500 in.) und einer Kopfgrösse von 19,05 mm (0,750 in.), der dasTeil 57 mit einem Teil 59 verschrauben soll, das ebenfalls vier Löcher 61 enthält. Sind die Löcher 58 maximal 15,88 mm (0,625 in,) gross, überdeckt die Auflagefläche des Bolzenkopfes die Löcher 58. Ein 15,06-mm- (0,593-
38
5
10
15
20
25
30
35
40
45
50
55
CH 678 761 A5
in.)-Bohrer, der ein grösseres Loch als 15,88 mm (0,625 in.) nie bohren kann, wie bereits erwähnt, wird gewählt, und die vier Löcher werden mit 15,06 mm + 0,81 mm (0,593 in. plus 0,032 in.) Durchmesser angegeben, was eine maximale Lochgrösse von 15,88 mm (0,625 in.) erlaubt. Die minimale Lochgrösse ist die Differenz zwischen 15,06 mm (0,593 in.) und dem Bolzenschaftdurchmesser, wobei das Abmass des Lochs max» 12,7 mm (0,500 in.) wird. Die Mass- und Toleranzangaben nach der ANSI-Norm erscheinen also in der Reihenfolge wahre Position, Durchmesser, Nulltoleranz unter MMC-Bedingungen relativ zum Bezug A (Oberseite des Teils 57), wie dies in Fig. 16 gezeigt ist.
Wird dem CIGMA-System mitgeteilt, dass ein fester (d.h. in einem der zu verspannenden Bauteile festgelegter) Befestiger mit Toleranzangaben bezüglich der gepaarten Teile zu versehen ist, erfolgt die Werteeingabe durch den Benutzer genau so, wie oben, für den «schwimmenden» Befestiger angegeben. Zusätzlich fragt das CIGMA-System nach der Dicke des die mit Spiel zu bohrenden Löcher enthaltenden Teils sowie nach der des Teils mit den entsprechenden Gewindebohrungen, wie oben erläutert. In diesem Fall sind die Durchstecklöcher mit Übermass zu bohren wie bei der Analyse eines schwimmenden Befestigers, aber das Abmass der Durchstecklöcher wird geringer, da der in die Gewindebohrungen eingeschraubte Befestiger sich nicht mehr bewegen kann, die Durchstecklöcher im «schwimmenden» Teil müssen daher enger toleriert sein. Das CIGMA-System erkennt diese Notwendigkeit bei der Analyse und - zum Vergleich - die Toleranzen für die Löcher 61 im Teil 59 der Fig. 16, die hier als Gewindebohrungen zur Aufnahme des Befestigers angenommen seien, mit 1,57 mm (0,062 in.) im MMC-Zustand, wo die Dicke des Teils 57 berücksichtigt wird. Die ANSI-Normangaben für die vier Gewindebohrungen 61 der Fig. 16 würden also wie folgt erscheinen:
1/213 UNC-2B 0 0 0,062 M A 0,510P
Es folgt ein verkürztes Programmlisting, das eine Art und Weise der Formulierung eines Programms zum Betrieb des offenbarten Systems bei der Durchführung der erläuterten Analysen, der Jobsteuerung und derToieranzmodulprozesse zeigt.
Copyright FMC Corporation 1987.
39
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
SUBROUTINE SPC DRIVER
C C
C ZWECK: GESAMTKONTROLLE FÜR DIE SPC-OPTION
C c c AÜSFÖHRONGSBEGINN
C
c SCHLEIFE za MENÜPÜNXTEN
C
C C C C
DO WHILE ( .NOT. TERMINATE )
IF ( NENULEVEL .EQ. 1 ) TBEN
£ BENUTZER WÄHLT SPC-OPTION AUS DEM MENÜ
c
CALL CÎG ENTE CBOICE ( PRIMSG , NBMENU , TXHENU » 4 CHOiCE , fiEJECT , ACCEPT )
c c OPTIONSMARKEN GEMÄß DER WAHL SETZEN
c
IP ( REJECT .OR. ACCEPT ) TBEN
ELSE
END IF
ELSE IF ( MENULEVEL .EQ. 2 ) TBEN IF ( CBOICE .EQ. 1 ) TBEN
C
£ BENUTZER HAT MENÜPUNKT 1, SPC—ANALYSE GEWÄHLT
V
c
CALL SPC ANALTSIS ELSE IP ( CHÖICE .EQ. 2 > TBEN
C
Ç BENUTZER HAT MENÖPUNKT 2 GEWÄHLT: ^
Ç SPC-DATENBASISMANAGEMENT
C
CALL DISPUT KSG (1,2, .TRUE. , ACCEPT )
ELSE
C FEHLER IN DER MENÜBEARBEITUNG
C
END IP
ELSE END IF B1D DO IMD
40
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 AS
SUBROUTINE SPC ANALTSIS
c
c ZWECK: SPC-ANALYSE DURCHFÜHREN:
C BEGINN OER AUSFÜHRUNG:
C
C DIE SPC-DATENDATEI NACH AUFSTEIGENDEM GEGENSTANDSZäHLER UND
C INNERHALB DES GEGENSTANDSZÄHLERS NACH AUFSTEIGENDEM BEAR-
C BEITUNGSZEITPUNKT SORTIEREN. ABBRECHEN, WENN SORTIERVORGANG
C ERFOLGLOS.
CALL SPC SORT ( TERMINATE )
C
Q SCHLEIFE ZU DEN MENÜPUNKtEN.
C
do «bile ( .mot. terminate )
xp ( menulevbl .eq. 1 ) tben
C
C BENUTZER ZUR EINGABE DER GRENZBEDINGUNGEN FÜR DIE SPC-ANALYSE
ç AUFFORDERN.
C
CALL CIG SNTR TEXT ( NBPRIH , PRIMSG ,
& NBMESU , ÎNSVER , PROMPT , REJECT , ACCEPT )
c -•
DATEN PRdFEN UND IN DAS ZUR DATENSATZWAHL AUS DER SPC-DATEN-g DATEI VERWANDTE FORMAT UMWANDELN, DATENSÄTZE.
C
IF C .NOT. REJECT ) CALL SPC DATE ( ANSWER { 1 ) , & PROMPT < 1 ) , USRINP ( t ) * REJECT )
IP ( .NOT. REJECT ) CALL SPC DATE ( ANSWER ( 2 ) , i PROMPT ( 2 ) , USRINP ( ? ) , REJECT )
C
c JE NACH WAHL DES BENUTZERS FLAGGEN SETZEN.
C
IP ( REJECT ) TBEN
ELSE
BND XP
ELSE ZF ( NENULEVEL .EQ. 2 ) TBEN
r
> BENUTZER AUFFORDERN ZUR EINGABE DER ZAHL DER BEOBACHTUNGEN PRO
g STICHPROBE UND DER ANZAHL DER STICHPROBEN FÖR DIE BERECHNUNG. K
C
CALL CIG ENTR DATA ( PRMSOS , NBOSMN , OSMENU , OSTTPS , k NBSASP , iNBSMP , REJECT , ACCEPT )
IP ( REJECT ) TBEN
e g ZORÖCK ZUR VORIGEN MENÜEBENE.
C
ELSE IF C ( NBSAMP ( 1 ) .LT. 2 } l .OR. ( NBSAMP ( I ) .CT. 25 )•
4 .OR. ( NBSAMP ( 2 ) .LT. 2 ) ) THEN
Q -
g BENUTZER ZU NEUEM VERSOCH AUFFORDERN,
C
41
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
call disput xsc ( nboser , oserms , 2 , .true. ,'accept )
C
C WEITER ZUM NÄCHSTEN MENÜNIVEAU.
c end if else ip ( nenulevel .eq. 3 ) tben
C
£ BENUTZER ZUR WÄHL EINES GEGENSTANDES FtjR DIE SPC-ANALYSE
ç AUFFORDERN.
C
call pick one entity ( entype f pichsg , entptr , i reject ,"accept )
C
c FLAGGEN SETZEN GEMÄß ANTWORT DES BENOTZERS.
C
ip ( reject .or. accept ) then else end ip else
C
c BENUTZER HAT GRENZBEDINGUNGEN EINGEGEBEN UND EINEN
Ç GEGENSTÄND FÜR DÎE SPC-ANALYSE GEWÄHLT. ERFORDERLICHE
c BERECHNUNGEN DURCHFÜHREN UND ERGEBNISSE AUSGEBEN.
c call spc calculations ( usrinp , nbsamp , entptr ,
& entyfe )
C
c ZURÜCK ZUM VORIGEN MENÜNIVEAU UND PRÜFEN, OB BENUTZER
c DIE ANALYSE ERNEUT FÜR ÄNDEREN GEGENSTÄND DURCHFÜHREN V
C «Dir end do end
42
5
10
15
20
25
30
35
40
45
50
55
CH 678 761 A5
subroutine to lana lis is
C
c ZWECK; TREIBER FÜR DIE TOLERANZANALYSE.
c c AUSFÜHRUNG BEGINNEN.
c c TOLERAN2ÄNÄLYSE-MENÜ AUSGÊBEN UND ANGEFORDERTE FUNKTION
c AUSFÖHREN, BIS DER BENUTZER DIE BEENDIGUNG ANFORDERT.
c c goto (1000), get cigc0n(2)
C
do vhile (.not. terminate)
call cig entr choice (primart, menlines, menu* response, 4 ' reject, accept)
C
ip (reject .or. accept) then
C
c WIR SIND HIER FERTIG - ZURÜCK ZUM HAIIPT-CIG-MENÜ.
c
C
else ip (response .eq. 1) then c
c ANALYSE FÜR SCHWIMMENDE BEFESTIGER.
c c
else ip (response .eq. 2) then
C
g ANALYSE FÜR FESTLIEGENDE BEFESTIGER.
c c else,
c g WORST-CASE-ANALYSE FÜR DEN ZUSAMMENBAU
c call set cigc0n(2,l)
1000 continue"
call vorstcase
C
end if end do end
43
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
SUBROUTINE VORSTCASB
C
c ZWECKî TREIBER FÜR DIE worst-CASE-ANA1YSE.
C
C AUSFÜHRUNG BEGINNEN.
C
c WORST-CASE-MENÜ AUSGEBEN UND ANGEFORDERTE FUNKTION AUS-
C FÜHREN, BIS DER BENUTZER BEENDIGUNG ANWEIST.
C C
GOTO (1000), GET CIGC0N(3)
C
DO VHILE (.MOT. TERMINATE)
CALL CIG ENTR CBOICE (PRIMART, MENLINES, MENU, RESPONSE, & - - REJECT, ACCEPT)
C
IP (REJECT .OR. ACCEPT) THEN
C
C WIR SIND HIER FERTIG; ZURÜCK ZUM VORIGEN MENÜ.
c c
ELSE IF (RESPONSE .EQ. 1) THEN
C
c MIT PAARUNGSTEIL ZUSAMMENSETZEN.
c
CALL MERGEKATE (PARTMERGED)
C
ELSE IF (RESPONSE .EQ. 2) THEN
C
g WORST—CASE—ANäLYSE DURCHFÜHREN.
c
CALL SET CIGCONO,!)
1000 continui"
CALL VCANALTSIS (PARTMERGEO)
C
ILSE IF (RESPONSE .EQ. 3) THEN
C
Ç WORST-CASE-MODKT.LE LÖSCHEN
C
CALL DEL VC MODEL C ~
EUE IP (RESPONSE .SQ. 4) THEN
C
c PAARUNGSTEIL ENTFERNEN
C
CALL REMOVEMATE (PARTMERGED)
C
ILSE
Ç PAÄRUNGSTEIL UMSETZEN (AUS DEM WEG BRINGEN)
C
CALL RIPOSNMATE
44
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
end if end do
C
end cxunjob c+
subroutine runjob(pdqlevel)
C
c ZWECKÎ ANGEGEBENE NC-WERKZEUGßBERGABE- UND PRÜFOPERA
c TIONEN DURCHFÜHREN. ~
c c AUSFÜHRUNG BEGINNEN
c if(pdqcon(pdqlevel).ne.o) then if(jobsevereeräor) tben
C
c FEHLER - EINFACH ABSCHLÜSSEN
c close (unit - nsunit)
close (unit - ncunit)
end if bnd if go to (1000,2000,3000,4000,5000,«000,7000,8000, & 9000,10000,11000,12000,13000,14000,15000,
& 16000,17000,18000,19000,20000), pdqcon(pdqlevel)
do 11-1,80 bnd do
C
c VORRICHTUNGSOFFSETS INITIALISIEREN (WERDEN IN "mzvmttat.—ftx'l'l ikf." GESETZT)
C C
1000 continue if(cli jobnanefrbsent) tben
C
c BEFEHLSZEILE ENTHÄLT EINEN JOBNAHEN
C
c else do vbile(.not.donb)
C
c JOB AUS HAUPTMENÜ RUN JOB WIRD AUSGEFÜHRT;
c ANFRAGEN, WIE DER BENUTZER DIE AUSFÜHRUNG WÜNSCHT.
C
call cig enir c80ice(prikart,number of menu items,
é ~ type of job,resforse,rìjict,ofcohf>
if(reject.or.opcomp) tben"
else if(resf0nse.eq.1) then call clralfba call usbrcharinp('enter name of job TO run: & userinp,0pc0mp,reject)
if(.not.reject.and.userinp.nb.' ') & then
45
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
C C C C C C
C C
c
ILSE END IP
ILSE XF(R£SF0NSE.IQ»2) THEN
JOBAUSFÜHRUNG HIT TASTATURBEFEHLSEINGABE
DATENPARAMETER HIT TEILENAHE SETZEN
call cig get partname<userinp) else
JOB AUS MENÜ DURCHFÜHREN
call cig get partname(userinp)
end if ~
END IF BND DO
CALL CLRALPHA END IF 1010 FORHAT(80Al)
CALL RENOVE SFACES(USERINP)
C ~
c PRÜFEN, DASS DER AKT. JOB NICHT S^ON IN DER DATENBASIS VORLIEGT
c c
IF( .NOT.KEYBOARD.AND. .NOT.ml IBEN
C C C
iofen
CALL CIG OFEN FILE (JOBUNITNUMBER,
USERINP,
1,
0,
0,
i t
'.CJ»',
EDIT FILS, DIRECTORY, RRROR_STATUS)
IF (DIRECTORY) GOTO 1000 IF (ERROR_STATUS) THEN
FEHLERAUFNAHME BEIM ÖFFNEN
CALL F0RCERBSF(0,0) IF(GC(l).EQ.O) RETURN GO TO 1000 IF
SRACK . CHAR POSITION (EDIT FILE,
CARAT - CHAR-POSITION (SDIT'FILE,
START - MAX ?BRACX, CARAT) ~
DOT - CHAR POSITION (EDIT FILE,
JOBNAME - EDZT'FIU (START:DOT)
! unit nuaber t user Clic
( status«old
I «ccess-sequcntial
! carriafe-list t default flit naie t default file ext
1 fìlespcc opened
'1') '>')
r «
) - i
46
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
C
CALL C8ECKJ0BSYNTAX(JOBNANB, INSPECT PRESENT, ERROR) IP(ERROR) THEN END ZP ELSE END IP
IF<INSPECT PRESENT) THEN
C
c PRÜFUNG WURDE AUS DEM JOB ANGEFORDERT
c
CALL JUMPCOMON(l)
CALL ALPHAOFP 2000 CONTINUE
CALL GETFILES(PDQLEVBUI, .FALSE. , .TRUE., FIRSTTIME, & ERROR,TERMITALL)
IF(ERROR.OR.TERMITALL) TBEN CLOSE (UNIT - MSUNIT)
CLOSE (UNIT - NCUNIT)
END IF END IF
IF(.NOT.KEYBOARD.AND..NOT.MENU) TBEN END IF -
C
END OF JOB*.FALSE.
C ~ "
c KORVENSATZ, GEWICHT UND FÄRBE SETZEN
C
C
ç EINEN DCS HIT NAMEN RUNJOB ZUSÄTZLICH ZU AKTUELLE» DCS KREIEREN
C
CALL CIG CHECK DCS NAM£('CIGJOB' ,EXIST,JOB_DCSJPTR) IF(.NOT.lXIST)"THES ILSE
C
c EXISTIERT SCHON
C
ZF(CBECX DCS PTR.EQ.JOB DCS PTR) TBEN C ~
g AKTUELLER DCS IST CIGJOB
C
ELSE
C
c AKTUELLER DCS IST NICHT CIGJOB
c
CALL CIG DEL ENI PTR(l,JOB DCS PTR»ERR0R)
END IF END IF
IF(CREATB DCS) TBEN
r -
ç DCS EXISTIERT NICHT, ZUSÄTZLICH ZU AKTUELLEM DCS KREIEREN
c
CALL CIG CXE PT COORDS(JOB ORIG.PT PTRS »ERROR)
CALL CIG~CRS~PT~COORDS(JOB'XAXIS. PÎ PTRS(2)»ERROR)
47
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
CALL CI6 CHE FT COO(tDS(JOB YAXXS,PT FTRS(3),ERR0R)
CALL CX6~CK£~DCS PTR(?T PTRS,'CIGJOS',J0B DCS RR, ERROR) Xf (ERRORI THEN "
END IT
c
ç für den dcs-&dfba.u benutzte punkte löschen
C
CALL CXG KL ENT PTR(3,PT PTRS,ERROR)
CALL CXG~ACT5CSPft(J0B KS PTR, ERROR)
xf(err0rt tben end xp end XP
C
c ersten jobbefehl holen;
C
CALL GETNEXT JOBLINE(END OF JOB,FIRSTCALL,ERROR)
DO VHILE( .NOT.END OF JOS.ARD. .NOT.ERROR) C " ~
3000 continue
IP(.NOT.ERROR) TBEN
C
C erstes zeichen leerzeichen in der zeile suchen c
DO VHILE(II.LT.LEN(JOBLINE)-1 k .AND. JOBLXNE(XXiXX).EQ«' ')
END DO *
C
g kommentar zeilen nicht analysieren
C
XF(JOBLINE.NE.* ') TBEN
IF(J0BLXNE(1:1).NE.'!') TBEN CAU LXB$ESTABLXSB(BANDLER)
XF(XSTAT.IQ.229552) TUEN
CALL LIB$SXGNAL(ZVAL(X5TAT))
CALL VAXTRESP(2)
ILSE IF(XSTAT.HI. 196609) TBEN C error in pars«
CALL VAXTRESF(2)
ELSE tPARSE OK rruri LXBSREVEXT CALL PDQINXT(PDQLEVEUl)
CALL ALPHAOFF MENUS OFF CALL JUMPCOMON(l) 1NORMAL JUMF/RETUENS TO ANVXL
C
c geforderte operation durchföhren
C
IF(J0BLINE(1:4).EQ.'DISC') THEN
C
c maschine vom rechner trennen
C
4000 CONTINUE
CALL CIG DXSCONNECI MACHINE (PDQL2VEL+1)
ELSE IF(J0iLINE(l:4).SQ. 'NC P') THEN
48
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 76t A5
c gefordertes programm nc tool path laufen lassen c
xf(machine connected) then
C
c vorrichtungen im aktuellen dcs prüfen
C
xp(.not.tip ih fxxture offset) & then ~
call fxxtures into 0cs<
& froie lesgth,
t fixtuüe offsets,
t error) ~
end xf if(.not.error) then 5000 continue call cig run nc path(pdql£vel+1, & brror) ~ ~
end xf else
5100 format(
call f0rtoxte(0f0,0)
call vaitresf(2)
end xf else xf(j0blxne(1:4).eq. 'nc f') then
C
c angeforderte nc-dabei übernehmen
C
if(machine connected) then c prüfen, ob vorrichtungen sich im aktuellen
C
x dcs befinden xf(.n0t.txf in future offset) then call fzxtukbs int0~dcs<
« fkobe iength,
& fixtufe offsets,
4 error) ~
end xf ifc.not.irror) then 6000 continue call cig run nc file(pdql£vel*1, & - - - «koR)
end xf ffry«
call f0rvrite(0,0t0)
call va1txesp(2)
end xf else if(jobline(l:2).eq.'ho') tben
C
c maschine zum angewiesenen ort bringen
C
if(machine connected) then call job hove hachxne(error) else
49
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
CALL F0RVRITE(0,0,0)
CALL VAITR£SF(2)
END IF
C
ILSE IF(J0BUNE(1:1).EQ.,I') THEN
C
C ANGEFORDERTEN PRÜFPROZESS PRÜFEN
C
if(hachine connected) then
IF(.NO¥.DELETED MEASURED DATA) THEN
CALL DELMDATA(DUMHY,?TRUE.) END IF
IF(.N0T.G0T FILES) TBEN CALL JURPCOHON(l)
CALL ALPBAOFF 20000 CONTINUE
CALL GETFILES(PDQLEVEL+1,.FALSE., « .TRUE. »FIRSTTIHE,
t ERROR, TERMITALL)
IF(ERROR. OR. TERMITALL) TBEN CLOSE (UNIT * KSUNIT)
CLOSE (UNIT • HOJNIT)
BND IF END IF
IF(.liOT.ERROR) TBEN 7000 CONTINUE
CALL CIG RUN INSPECTI0N(PDQLEVBL+1, "CURRENT CLUSTER, CLUSTER-CALIBRATION TABLE, FIZIURE"OFFSETS,TIF7 PROBE LENGTB,
TIF IR FUTURE OFFSET, ERR5R)~
END IF ELSE
CALL FORVRITE(0,0,0)
CALL VAITRESF(2)
END IF
ELSE IF(J0BLINE(1:2).EQ.'AN') TBEN
C C C
8000 cotrriNUE
ANALYSE DES TEILS DURCHFÜHREN
CALL CIG FERFORM ANALTSIS(FOQLEVEUl) ELSE IF<J0ÌLINE(1:I).IQ.'AT') THEN
C
c AN DIE ANGEGEBENE MASCHINE ANSCHALTEN
C
9000 CONTINUI
CALL CIG CONNECT HACHINE(PDQLEVBL+1) ELSE IF(J0ÎLINE(1:Î).EQ.'CA') THEN
C
c KALIBRIEREN DES SONDENSATZES
C
50
CH 678 761 A5
10
15
20
25
30
35
40
45
50
C C C
10000
c c c
11000
c
G c
12000
55
c c c ip(machine connected) tien call JSB clustex calibratx0n( ~current"cluster,
cluster'calxbratxon table,
fixtüre"offsets,hpt probe lïngth,
tip ï8 fixture offset,
errör)"
else call p0rvrxte(0,0,0)
call waitresp(2)
end zp else if(j0bline(1:2).eq.'0r') tben trtt. auf maschine ausrichten
ZP (KACHINB_CONNECTED) THEN
if(.hot.deleted measured DATA) TBEN
call delmdata(dummt,7trüe.)
end ip continue call cig orient pr0cess(pdqlevel+1,
cOrrent Cluster,
cluster**calibration table,
pixture~oppsets,tipT
probe lengts,
tip is fixture offset,
j0b~dc5 ptr, "
errqr) ~
else call p0rvrite(0,0,0)
call vaitrbspc2)
END IF
else if(j0bline(1:2).bq.'0p') then pause; auf zustimmung der bedienungsperson härten continue caa cig_pause_f0r_0pj*(pdqleveu1 )
else if(j0bline(1:1 ).bo. 'v ) then ansichten ändern continue call cig_change_vievs(fdqliveu1 )
else ip(j0blinb(1:2).sq.'re') then bildschirm ändern
60
65
51
CH 678 761 A5
10
15
20
25
30
35
40
45
50
55
60
13000
C
c c
14000
c c c
15000
c c c
16000
C
c c
17000
c c c
18000
c c c
19000
&
t &
CONTINUI
CALL CZG RIPAINT SCXESN(PDQLSVIL*1) ELSE ir(JOSUHl(liI).gQ.'Uf) TUEN
niveaulösung aufheben CONTINUI
CALL CZC UNBLANK LEVEL(POQLEVIUI)
else IP(jolLINECliT).iq.'b') then niveau löschen continue
CALL CIG BLANK LEVEL(FDQLEVEWl)
BLSB ZF(JOlLZNB(Ï!l).EQ.'B') TBEN
sitzung verlassen CONTINUE
IP(DISPLAY JOB) TBE»
CALL P(ÏRWRITE(0,0,0)
CALL CVAIT(200)
else call cig job bzit(pdqlivil4>1) end_op_j5b—îrui.
END ZP
ILSE ZP(J0BLZNE(1*.1).EQ.'P') TBEN
vorgegebene zeitdauer pausieren continue
CALL CZG PAUSB(PDQLEVEUl)
BLSB ZP(J0fLZNE(l:4).EQ.'DZ$A') IBEN
sonde stillsetzen ip(machzne connected) tben continue
CALL CIG DISASN PROBE(PDQLEVEL)
ELSE
CALL F0RSRZTE(0,0,0)
CALL VAITRESP(2)
END IP
BLSB IP (J0BLINE(1:2).EQ.'MA' ) THEN
HANDBETRIEB
ZF(MACBZNB CONNECTED) TBEN
contznOe
CALL CIG KANUAL PZÏTURE(P0QLEVEL*1, "PIXTURÎ 0PP5ETS,TIPf PROBE LfNGTB,
error?
65
52
CH 678 761 A5
flagge setzen, uh anzuzeigen, dass die ih offset benutzte spitze nicht in "fixture-offsets" enthalten ist slss
CALL FOKHtITE(0,0,0)
CALL VAltt£s?(2)
feND ir
ELSS ZP (J0BLIME(1:2).EQ.*CO*) then koordinaten ändern
CALL CIG CHAMS 0CS<J0B DCS RR,
ERRÖÄ) ~
ELSE IF(JOBLINE(1:2).EQ.'TO') THEN
werkzeugtäbellen übernehmen
XP(MAC8XNZ CONNECTED) THEN
CALL ClG DOW LOAD TOOL TABLES ELSE - - - -
call po*wrri(0,0,0)
CALL VAITSESPtf)
END ZP
ELSE ZP(JOBLXNE(i:l).EQ.'S') THEN
kommando erzeugen
IP(ZSTAT.SQ.CLI$ HEGATBD) THEH BND ZP
CALL CLI$CST fALUEfCOKMAN)' »CQHKAND) ZP(ISTAT.EQ.CLI$ MEGATBD) TIEN ELSE XF(ISTAT.lQ.261401) THEN
benutzer hat ausgabedaxei angegeben
CALL CLXSGST VALUE ('OUTPUT PILE', OWPUT'FILE)
BND ZP
ZPCZSTAT.EQ.CLZS NE6ATSD) THEN BLSB ZP{ ISTAT .ÌQ.261401) TUN
BENUTZER HAT AUSGABEDATEI ANGEGEBEN
CALL CLZ$GET VALUE('INPUT PILE', ZNPUT~PXLE)
END IP
job erzeugen; falls ncwait angegeben; hat die ast-abschlussroutine spawn_handler aufgerufen:
53
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
C C
C C C
C C C C
c c c t &
c c c
20100
C
c c c e c
16100
GRS CALUD
XP(XNPUT PXLB.BQ.' '.AND.
OUTPUT PILB.EQ.' ')
THEN ~
JOBERZEUGUNG OHNE EIN- ODER AUSGABEDATEI
ILSE IP(INPlrt_PILE.BQ.' ') TBEN
FALLS KEINE EINGABEDATEI, JOBERZEUGUNG NUR MIT AUSGABEDATEI
ILSE
SONST EXISTIEREN BEIDE
IND XP
XP(ISTAT.ilE.$S$_)IOKMAL) TBEN
ERZEUGUNG NICHT MÖGLICH - JOB ANHAT.TEyr
FORMATCTeur lub-proccss could not/',
CALL LXB$BSTABLXSB(BANDLEX)
CALL LXB$SXGNAL(XVAL(XSTAT) )
CALL UBSKBVIkT CALL F0ftCEKESP(0,0)
ILSE
EINE SEKUNDE WARTEN FÖR DEN ABSCHLUß EINES GEGEBENENFALLS LAUFENDEN AUSGABEVORGANGS
CALL CVAXT(200)
END XP ILSI
SOLLTE UNMÖGLICH SEIN
PORKAT('IMtBCOGNXZED COHNAMD IN JOB:/',
call f0kvxxts(0,0t0)
CALL VAXTXISP(2)
BND XP BND XP
C C C C
IND xr
TO IP
wd xr xrcjOBSBvnnMi(Mt) TBBH
BND IP
Xr(KITBOÂiD.OK.MENU) TBEN
BEI TASTATUREINGÄBE AUF FEHLERFREIHEIT ZURÜCKSETZEN, DAMIT ZUSÄTZLICHE BEFEHLE EINGEGEBEN WERDEN KÖNNEN
A
54
5
10
15
20
25
30
35
40
45
50
55
60
65
CH 678 761 A5
ino if if(.not.error) then call getnextj0bline(end of job, firstcall,error) ind if ~ ~
zf(jobnane.bq.'henu'.and.bnd of job) then goto 1000 igo back 1 meno llvsl bnd zf c
C PRÜFEN, DASS DER BENUTZER DCS NICHT ÄNDERN WOLLTE:
c if(. not. error. and. .not. end of job) tben if(cbeck dcs ftr.ne.jol dès ftr) tben C - - - -
c JOB—DCS WURDE WÄHREND DES LAUFS GEÄNDERT
c call cig actdcsptr(job dcs ftr, error)
end if "
end if
C
end do xf(hachine connected)
4 tben "
C
c ANGESCHLOSSENE MASCHINE ABTRENNEN
C
if(lastmachine ttfe.ne.o) tben
C
C DEA NUR ABTRENNEN? WENN KEINE FEHLER ERMITTELT WORDEN
C
ifçlastmac8inb tipe.eq.dea machine tipe.and. t . not. error)~*then call disc0nnectmacs(lastmac8ine type,.true., & .true. ,0)
bnd zf if(lastmac8zne ttfb.ne.dea machine ttfe) tben call discornectkacsclastkacbini ttfe, .true., 4 .true. ,0)
end zf bnd zf bnd zf
C
c URSPRÜNGLICHER DCS VOR EINTRITT IN DIESE ROUTINE REAKTIVIEREN:
C
zfcorig dcs rr.kb.o) tben cale czs actdcsftrcorzg dcs ftx, error)
call cig~del int ftr(1,70b 5cs ftr, error)
end zf - - - - -
ind
55
5
10
15
20
25
30
35
40
45
50
55
60
CH 678 761 A5
Claims (16)
1. Verfahren zum Prüfen eines Werkstücks mit Abmessungs- und Toleranzvorgäben unter Verwendung eines Rechners, an den eine mehrdimensional bewegbare Positionsmessvorrichtung angeschlossen ist, um die Orte von baulichen Merkmalen des Werkstücks zu bestimmen, dadurch gekennzeichnet, dass man unter Verwendung der Abmessungs- und Toleranzvorgaben für das Werkstück ein mehrdimensionales Modell einer Prüflehre erstellt, relativ zum Werkstück einen Prüfweg festlegt, der die Bewegung der Positionsmessvorrichtung definiert, die Positionsmessvorrichtung entlang des Prüfweges führt, ein mehrdimensionales Modell des Werkstücks unter Verwendung der an den Bauteilemerkmalen bestimmten Positionen erstellt, und das Modell der Prüflehre mit dem Modell des Werkstücks vergleicht, um zu bestimmen^ ob das Werkstück toleranzhaltig ist.
2. Verfahren nach Anspruch 1 zum Prüfen eines Werkstücks mit Abmessungs- und Toleranzvorgaben entsprechend einer vorgegebenen Abmessungs- und Toleranzangabenorm, dadurch gekennzeichnet, dass man das Modell des Werkstücks einschliesslich seiner Abmessungs- und Toleranzvorgaben auf einer an den Rechner angeschlossenen Sichteinheit sichtbar darstellt und für die Sichtdarstellung die vorgegebene Toleranzangabenorm sowie die Werkstückabmessungen wählt, für die diese Norm gilt.
3. Verfahren nach Anspruch 1 zum Prüfen eines Werkstücks mit Abmessungs- und Toleranzvorgaben entsprechend einer vorgegebenen Abmessungs- und Toleranzangabenorm, unter Verwendung eines Rechners, an den eine Sichteinheit angeschlossen ist, und eines dreidimensional bewegbaren Elements, das die Positionsmessvorrichtung trägt, wobei für die Darstellung auf der Sichteinheit die vorgegebene Toleranzangabenorm sowie die Werkstücksabmessungen, für die diese Norm gilt, gewählt sind, dadurch gekennzeichnet, dass man Daten entsprechend einem dreidimensionalen Modell der Prüflehre erzeugt, die der gewählten Toleranzangabenorm und den Werkstückabmessungen entsprechen, die Positionen der Werkstückmerkmale, die durch die gewählten Werkstückabmessungen verkörpert sind, misst, Daten entsprechend einem dreidimensionalen Modell der gemessenen Werkstückmerkmale erzeugt und mit Hilfe der erzeugten Daten verifiziert, ob das Modell der Prüflehre zum Werkstückmodell passt
4. Verfahren nach Anspruch 1 zum Prüfen von aus gepaarten Teilen bestehenden Werkstücken, dadurch gekennzeichnet, dass die Abmessungs- und Toleranzvorgabedaten für die gepaarten Teile des Werkstücks in einem Speicher gespeichert sind und dass man die die gepaarten Teile betreffenden Kon-struktions- und Toleranzdaten aus dem Speicher abruft, den Worst-Case-Toleranzzustand für einen Masskonflikt zwischen den gepaarten Teilen ermittelt und verifiziert, ob und gegebenenfalls wo ein Masskonflikt existiert.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die Toleranzdaten Bezugsorte auf jedem der gepaarten Teile enthalten und dass bestimmt wird, ob die Bezugsvorgaben in den Toleranzdaten für die gepaarten Teile miteinander verträglich sind, und dass verifiziert wird, ob und gegebenenfalls wo eine solche Unverträglichkeit vorliegt
6. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass man die Toleranzvorgaben vor ihrer Verwendung auf syntaktische Richtigkeit prüft, und, falls sie sich als fehlerhaft erweisen, syntaktisch korrigiert.
7. Verfahren nach den Ansprüchen 1 und 6, dadurch gekennzeichnet, dass man eine dreidimensionale Prüflehre erstellt, die der gewählten Toleranzangabenorm und den Werkstückabmessungen entspricht, ein dreidimensionales Modell der gemessenen Werkstückmerkmale erstellt, das dreidimensionale Werkstückmodell mit der dreidimensionalen Prüflehre ausrichtet und verifiziert, ob Prüflehre und Werkstück-modell zusammenpassen.
8. Vorrichtung zur Ausführung des Verfahrens nach Anspruch 1, gekennzeichnet durch eine Einrichtung, die unter Verwendung der Werkstückabmessungs- und Toleranzvorgaben das mehrdimensionale Modell der Prüflehre erstellt, eine mehrdimensional bewegbare Positionsmessvorrichtung zum Bestimmen der Orte von baulichen Merkmalen auf dem Werkstück, eine Einrichtung zum Erzeugen des Prüfweges relativ zum Werkstück, der die Bewegung der Positionsmessvorrichtung festlegt, eine Einrichtung, welche die Positionsmessvorrichtung entlang des Prüfweges führen kann, eine Einrichtung zum Erstellen des mehrdimensionalen Modells des Werkstücks unter Verwendung der ermittelten Positionen der baulichen Merkmale desselben und eine Einrichtung, die das Modell der Prüflehre mit dem Modell des Werkstücks vergleicht, um die Toleranzhaltigkeit des Werkstücks zu ermitteln.
9. Vorrichtung nach Anspruch 8 mit Zugriff auf CAD-Konstruktionsdaten für das Werkstück, gekennzeichnet durch eine Einrichtung zum Lesen der Abmessungen und Toleranzen aus den CAD-Daten für die zu prüfenden Werkstückmerkmale und dadurch, dass die Einrichtung zum Erstellen des Modells der Prüfiehre mathematisch ein dreidimensionales Modell erstellt, die Einrichtung zum Erstellen des Modells des Werkstücks mathematisch ein dreidimensionales Modell erstellt und die Einrichtung zum Vergleichen das dreidimensionale Modell des Werkstücks mit dem dreidimensionalen Modell der Prüflehre vergleicht
10. Vorrichtung nach Anspruch 8 zur Ausführung des Verfahrens nach Anspruch 3, gekennzeichnet durch einen Rechner, in den die CAD-Konstruktionsdaten für das Werkstück eingegeben werden können, eine an den Rechner angeschlossene Sichteinheit zur Sichtdarstellung der Modelle der Prüflehre und des Werkstücks, eine an den Rechner angeschlossene Tastatur zur Auswahl der Abmessungs- und
56
5
10
15
20
25
30
35
40
45
50
55
CH 678 761 A5
Toleranzvorgaben auf dem dargestellten Modell des Werkstücks, aus denen das Modell der Prüflehre beschreibende Daten abgeleitet werden, einen Positionsfühler, der an einem dreidimensional bewegbaren Element angebracht und an den Rechner angeschlossen ist, um die Positionen der geprüften Werkstückmerkmale und damit das Werkstückmodell beschreibende Daten zu ermitteln, und eine Einrichtung, um das bewegbare Element in drei Dimensionen zu bewegen, die an den Rechner so angeschlossen ist, dass der Prüfweg um das Werkstück beschrieben werden kann, wobei die Modelle der Prüflehre und des Werkstücks visuell auf der Sichteinheit und mathematisch vom Rechner miteinander verglichen werden, um die Toleranzhaltigkeit des Werkstücks zu bestimmen.
11. Vorrichtung nach Anspruch 8 zur Ausführung des Verfahrens nach Anspruch 2, gekennzeichnet durch eine an den Rechner angeschlossene Sichteinheit mit einer zur Sichtdarsteilung geeigneten Bildfläche, eine Einrichtung, die ein Modell für die Konstruktionsdaten des Werkstücks und einen PrüfWeg um das Werkstückmodell für die vorbestimmten Werkstückmerkmale gleichzeitig sichtbar darstellen kann, und eine Einrichtung, mittels welcher der Prüfweg auf der Bildfläche wahlweise geändert werden kann.
12. Vorrichtung nach Anspruch 8 zur Ausführung des Verfahrens nach Anspruch 2 mit einer an den Rechner angeschlossenen Sichteinheit, die eine zur Sichtdarstellung geeignete Bildfläche aufweist, gekennzeichnet durch eine Einrichtung, die ein Modell der gemessenen Werkstückmerkmale und gleichzeitig ein Modell der Prüflehre sichtbar darstellen kann, die aus den die vorbestimmten Werkstückmerkmale betreffenden CAD-Konstruktionsdaten bzw. aus den Toleranzdaten erstellt worden sind.
13. Vorrichtung nach Anspruch 12, dadurch gekennzeichnet, dass die genannte Einrichtung Mittel aufweist, die es ermöglichen, dass auf der Bildfläche gleichzeitig auch Prüfergebnisse dargestellt werden können.
14. Vorrichtung nach Anspruch 13, dadurch gekennzeichnet, dass die genannten Mittel es zusätzlich ermöglichen, dass auf der Bildfläche auch eine statistische Analyse der Prüfergebnisse dargestellt werden kann.
15. Vorrichtung nach Anspruch 13, gekennzeichnet durch eine Einrichtung, die aufgrund der Prüfergebnisse Anweisungen hinsichtlich einer Nacharbeitbarkeit liefert.
16. Vorrichtung nach Anspruch 12, dadurch gekennzeichnet, dass die genannte Einrichtung zur gleichzeitigen Darstellung der genannten beiden Modelle Mittel umfasst, die es ermöglichen, die genannten Modelle in unterscheidbaren Farben darzustellen.
57
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US89261686A | 1986-08-04 | 1986-08-04 | |
| US07/058,687 US4918627A (en) | 1986-08-04 | 1987-06-03 | Computer integrated gaging system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CH678761A5 true CH678761A5 (de) | 1991-10-31 |
Family
ID=26737921
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CH3003/87A CH678761A5 (de) | 1986-08-04 | 1987-08-03 |
Country Status (6)
| Country | Link |
|---|---|
| CA (1) | CA1284383C (de) |
| CH (1) | CH678761A5 (de) |
| DE (1) | DE3725347C2 (de) |
| FR (1) | FR2617306B1 (de) |
| GB (1) | GB2194367B (de) |
| IT (1) | IT1228548B (de) |
Families Citing this family (32)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2202659B (en) * | 1987-02-23 | 1991-07-17 | Mitutoyo Corp | Coordinate measuring instrument and method of generating pattern data concerning shape of work to be measured |
| DE3806686A1 (de) * | 1988-03-02 | 1989-09-14 | Wegu Messtechnik | Mehrkoordinatenmess- und -pruefeinrichtung |
| JP2668034B2 (ja) * | 1989-02-06 | 1997-10-27 | 株式会社日立製作所 | 建設装置 |
| FR2669420B1 (fr) * | 1990-11-21 | 1993-01-15 | Hispano Suiza Sa | Procede de controle de mesures dimensionnelles de pieces de fonderie. |
| DE4210957A1 (de) * | 1992-04-02 | 1993-10-07 | Heidelberger Druckmasch Ag | Verfahren zum Überwachen des Transportes von Druckerzeugnissen in einer drucktechnischen Maschine |
| FR2693011B1 (fr) * | 1992-06-29 | 1994-09-23 | Matra Sep Imagerie Inf | Procédé et dispositif de surveillance d'une scène tridimensionnelle, mettant en Óoeuvre des capteurs d'imagerie. |
| KR940009663A (ko) * | 1992-10-02 | 1994-05-20 | 이토 기요시 | 부품검사장치 및 그 장치를 사용한 검사방법 |
| CA2106146A1 (en) * | 1992-10-16 | 1994-04-17 | Peter R. Doherty, Jr. | Video-cad comparator system |
| GB2274526A (en) * | 1993-01-21 | 1994-07-27 | Motorola Inc | Verifying geometry of a part |
| DE19600002C2 (de) * | 1995-01-05 | 2002-01-17 | Blaz Santic | Integrales Verfahren für on-line Geometrieprüfung von Werkstücken aus mehreren Formflächen |
| JP3455391B2 (ja) * | 1997-04-22 | 2003-10-14 | 株式会社ミツトヨ | 測定支援システム |
| DE19805155B4 (de) * | 1998-02-10 | 2007-09-27 | Mycrona Gesellschaft für innovative Messtechnik mbH | Verfahren zum Erzeugen von Steuerdaten für Koordinatenmeßgeräte |
| US5978748A (en) * | 1998-07-07 | 1999-11-02 | Faro Technologies, Inc. | Host independent articulated arm |
| DE19842855C1 (de) * | 1998-09-18 | 2000-02-24 | Benteler Werke Ag | Verfahren zum Herstellen eines Prüfmusters mit definierten Oberflächenfehlern |
| DE19908706A1 (de) * | 1999-02-26 | 2000-11-02 | Werth Messtechnik Gmbh | Verfahren zur Feststellung der Abweichungen der geometrischen Abmessungen und/oder der Lage eines Objekts von vorgebbaren Sollwerten der geometrischen Abmessungen und/oder der Lage des Objekts |
| DE10004663A1 (de) * | 2000-02-03 | 2001-08-09 | Iwka Ag | Verfahren und Vorrichtung zum Unterstützen einer Person bei der Ausführung Genauigkeit erfordernder Arbeitsvorgänge |
| DE10062615A1 (de) * | 2000-12-15 | 2002-07-04 | Lsn Group Gmbh | Verfahren und Vorrichtung zur Prüfung von Werkstücken, insbesondere von Präzisionsdrehteilen und Kaltformteilen während der Fertigung |
| US6922599B2 (en) * | 2001-08-13 | 2005-07-26 | The Boeing Company | System and method for producing an assembly by directly implementing three-dimensional computer-aided design component definitions |
| DE10357413A1 (de) * | 2003-12-04 | 2005-07-07 | Volkswagen Ag | Verfahren und Anordnung zur Simulation von Einbausituationen für komplexe Produkte sowie entsprechendes Computerprogramm und entsprechendes computerlesbares Speichermedium |
| DE102004016077B4 (de) * | 2004-03-30 | 2008-05-08 | Daimler Ag | Positionieren einer Komponente eines optischen Systems |
| WO2008026723A1 (en) * | 2006-09-01 | 2008-03-06 | Mori Seiki Co., Ltd. | Three-dimensional model data confirming method, and three-dimensional model data confirming apparatus |
| US8087004B2 (en) * | 2006-09-28 | 2011-12-27 | Robert Bosch Gmbh | Drawing validation tool |
| DE102007008699A1 (de) * | 2007-02-20 | 2008-08-21 | Deutsche Mechatronics Gmbh | Verfahren und Vorrichtung zur Qualitätskontrolle bei Werkzeugmaschinen |
| DE102007021809A1 (de) * | 2007-04-20 | 2008-10-23 | Werth Messtechnik Gmbh | Verfahren und Vorrichtung zum dimensionellen Messen mit Koordinatenmessgeräten |
| JP6161262B2 (ja) | 2012-11-19 | 2017-07-12 | 株式会社ミツトヨ | 画像測定機のled照明方法及び装置 |
| JP6124570B2 (ja) * | 2012-11-30 | 2017-05-10 | 株式会社ミツトヨ | Xyz直交測定装置 |
| EP2857914A1 (de) * | 2013-10-01 | 2015-04-08 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur Qualitätskontrolle der Geometrie eines Bauteils |
| WO2016046729A1 (en) * | 2014-09-25 | 2016-03-31 | Bombardier Inc. | Inspection tool for manufactured components |
| US20170092003A1 (en) * | 2015-09-30 | 2017-03-30 | Schlumberger Technology Corporation | Applying Augmented Reality to an Object |
| US10591288B2 (en) * | 2017-06-27 | 2020-03-17 | The Boeing Company | System and method for evaluation of used components |
| CN110781535B (zh) * | 2018-07-27 | 2023-03-17 | 西安海平方网络科技有限公司 | 模型的出图方法、装置、计算机设备及可读存储介质 |
| FR3110143B1 (fr) * | 2020-05-12 | 2022-05-13 | Safran Eng Services | Procédé et système d’inspection visuelle d’une pièce mécanique par un opérateur |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CH645564A5 (de) * | 1980-09-05 | 1984-10-15 | Heinz Hossdorf | Verfahren und vorrichtung fuer das formen der oberflaeche eines werkstuecks. |
| EP0054596B1 (de) * | 1980-12-18 | 1985-05-29 | International Business Machines Corporation | Verfahren für die Inspektion und die automatische Sortierung von Objekten, die Konfigurationen mit dimensionellen Toleranzen aufweisen und platzabhängige Kriterien für die Verwerfung, Anlage und Schaltung dafür |
-
1987
- 1987-07-07 CA CA000541495A patent/CA1284383C/en not_active Expired - Lifetime
- 1987-07-30 DE DE3725347A patent/DE3725347C2/de not_active Expired - Fee Related
- 1987-07-31 GB GB8718181A patent/GB2194367B/en not_active Expired - Lifetime
- 1987-07-31 FR FR8710933A patent/FR2617306B1/fr not_active Expired - Fee Related
- 1987-08-03 CH CH3003/87A patent/CH678761A5/de not_active IP Right Cessation
- 1987-08-03 IT IT8721570A patent/IT1228548B/it active
Also Published As
| Publication number | Publication date |
|---|---|
| GB2194367B (en) | 1991-01-02 |
| DE3725347A1 (de) | 1988-02-18 |
| GB8718181D0 (en) | 1987-09-09 |
| IT1228548B (it) | 1991-06-20 |
| FR2617306A1 (fr) | 1988-12-30 |
| CA1284383C (en) | 1991-05-21 |
| GB2194367A (en) | 1988-03-02 |
| DE3725347C2 (de) | 1994-03-10 |
| FR2617306B1 (fr) | 1994-01-21 |
| IT8721570A0 (it) | 1987-08-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CH678761A5 (de) | ||
| AU598284B2 (en) | Computer integrated gaging system | |
| DE69627198T2 (de) | Erzeugung eines messprogramms für nc-bearbeitung und darauf gestütztes bearbeitungsmanagement | |
| EP1901149B1 (de) | Vorrichtung und Verfahren zur Simulation eines Ablaufs zur Bearbeitung eines Werkstücks an einer Werkzeugmaschine | |
| DE3784047T2 (de) | Kalibrierungsverfahren für ein Koordinatenmessgerät und ähnliche Geräte. | |
| DE69819064T2 (de) | Messungsunterstützungssystem | |
| DE102012202609A1 (de) | Electronic system and method for compensating the dimensional accuracy of a 4-axis cnc machining system using global and local offsets | |
| DE102020214959A1 (de) | Simulator, numerische Steuervorrichtung und Simulationsverfahren | |
| EP0153556A2 (de) | Verfahren zum grafischen Darstellen eines Gebildes | |
| EP3805693B1 (de) | Validieren von prüfplänen zur objektvermessung mit einem koordinatenmessgerät | |
| DE19945801A1 (de) | Einrichtung und Verfahren für eine Bearbeitung mit numerischer Steuerung von einem in Bearbeitung befindlichen Teil | |
| DE102018205913A1 (de) | Steuersystem für eine Werkzeugmaschine | |
| DE102014103194A1 (de) | Numerische Steuerung | |
| EP3794311B1 (de) | Verfahren, vorrichtung sowie computerprogrammprodukt zum erzeugen eines prüfplans für die prüfung eines messobjekts, verfahren und vorrichtung zum prüfen eines messobjekts | |
| WO2005005082A2 (de) | Verfahren und vorrichtung zum fräsen von freiformflächen | |
| EP1078305B1 (de) | Koordinatenmessgerät und verfahren zur steuerung eines solchen | |
| DE3781674T2 (de) | Positionsbestimmungsverfahren innerhalb des messraumes eines koordinatenmessgeraetes und dergleichen und system dafuer. | |
| DE19805155B4 (de) | Verfahren zum Erzeugen von Steuerdaten für Koordinatenmeßgeräte | |
| DE3921994A1 (de) | Automatisches datenverarbeitungssystem zur erstellung von bearbeitungsverfahren fuer bauteile | |
| EP0613573B1 (de) | Verfahren zur überprüfung der arbeitsgenauigkeit einer nc-maschine | |
| DE60032635T2 (de) | Verfahren und vorrichtung zum testen von werkzeugmaschinen | |
| DE102020129885A1 (de) | System und verfahren zum ableiten und anwenden von globalen offsets der numerischen computersteuerung während der messung von teilen auf einem koordinatenmessgerät | |
| EP3760392A1 (de) | Verfahren und system zur prüfung und/oder montage eines objekts mittels eines roboters | |
| DE60015586T2 (de) | Merkmalbasierte montage | |
| GB2230364A (en) | Computer-controlled display system for CAD |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PL | Patent ceased | ||
| PL | Patent ceased |