0 BEGIN PGM 82601_DE MM 1 ;NC-Program um die Toleranzwerte einer Passung 2 ;zu ermitteln. Anschliessend fuehrt die 3 ;Steuerung einen Messzyklus aus. Danach 4 ;wertet sie das Messergebnis aus und bestimmt, 5 ;ob die gemessene Passung in der definierten 6 ;Toleranz liegt. Danach zeigt sie den Status, 7 ;das Messergebnis und die Abmasse 8 ;auf dem Bildschirm an. 9 ;Die Definition aller benoetigten Parameter 10 ;erfolg im NC-Programm 8255_de.h. 11 ;Wenn Sie alle benoetigten Dateien im selben 12 ;Verzeichnis gespeichert haben, muessen Sie 13 ;an diesem NC-Programm nichts anpassen. 14 ;Sollten die Dateien in unterschiedlichen 15 ;Verzeichnissen gespeichert sein, muessen 16 ;Sie die Pfade in den Dateidefinitionen 17 ;anpassen. 18 ; 19 QS2 = "a" ;Kleinbuchstabe zur Pruefung definieren 20 ; 21 ;Pruefen ob Einheitsbohrung oder Einheitswelle 22 Q2 = STRCOMP( SRC_QS1 SEA_QS2 ) 23 ; 24 ;Tabelle fuer Einheitsbohrung oeffnen 25 FN 26: TABOPEN Hole_82603.TAB 26 ; 27 ;Wenn Bohrung Sprung zum LBL1 28 FN 9: IF +Q2 EQU -1 GOTO LBL 1 29 ; 30 ;Tabelle fuer Einheitswelle oeffnen 31 FN 26: TABOPEN Shaft_82603.TAB 32 ; 33 ;Sprungmarke LBL1 34 LBL 1 35 ; 36 Q22 = 0 ;Zaehler Zeilennummer 37 ; 38 ;Wert aus Zeile 0 Spalte "Bereich" der Tabelle lesen 39 FN 28: TABREAD Q3 =Q22 /"BEREICH" 40 ; 41 ;Sprungmarke LBL11 42 LBL 11 43 ; 44 ;Pruefen ob die definierte Passung im Bereich liegt 45 FN 11: IF +Q1 GT +Q3 GOTO LBL 12 46 ; 47 ;Oberes Abmass aus der Tabelle lesen 48 FN 28: TABREAD Q4 =Q22 / QS1 49 ; 50 ;Zeilenummer um eins erhoehen 51 Q22 = Q22 + 1 52 ; 53 ;Unteres Abmass aus Tabelle lesen 54 FN 28: TABREAD Q5 =Q22 / QS1 55 ; 56 ;Sprung zum LBL99 57 FN 9: IF +1 EQU +1 GOTO LBL 99 58 ; 59 ;Sprungmarke LBL12 60 LBL 12 61 ;Zeilennummer um zwei erhoehen 62 Q22 = Q22 + 2 63 ; 64 ;Wert aus Zeile Q2 Spalte "Bereich" der Tabelle lesen 65 FN 28: TABREAD Q3 =Q22 /"BEREICH" 66 ; 67 ;Sprung zum LBL11 68 FN 9: IF +1 EQU +1 GOTO LBL 11 69 ; 70 ;Sprungmarke LBL99 71 LBL 99 72 ; 73 ;Groesstmass in mm berechnen 74 Q23 = Q1 + ( Q4 / 1000 ) 75 ; 76 ;Kleinstmass in mm berechnen 77 Q33 = Q1 + ( Q5 / 1000 ) 78 ; 79 ;Werkzeugaufruf 3D-Taster 80 TOOL CALL "TOUCH_PROBE" Z S50 81 ;Vorpositionieren 82 L Z+100 R0 FMAX 83 L X+Q11 Y+Q21 R0 FMAX 84 ; 85 ;Sprung zum Messen 86 ;Wenn Bohrung, Sprung zu LBL 14 87 FN 9: IF +Q2 EQU -1 GOTO LBL 14 88 ;Wenn Welle, Sprung zu LBL 15 89 FN 11: IF +Q2 GT -1 GOTO LBL 15 90 ; 91 ;Messen Bohrung 92 LBL 14 93 TCH PROBE 421 MESSEN BOHRUNG ~ Q273=+Q11 ;MITTE 1. ACHSE ~ Q274=+Q21 ;MITTE 2. ACHSE ~ Q262=+Q1 ;SOLL-DURCHMESSER ~ Q325=+Q41 ;STARTWINKEL ~ Q247=+90 ;WINKELSCHRITT ~ Q261=+Q31 ;MESSHOEHE ~ Q320=+Q51 ;SICHERHEITS-ABST. ~ Q260=+100 ;SICHERE HOEHE ~ Q301=+1 ;FAHREN AUF S. HOEHE ~ Q275=+Q23 ;GROESSTMASS ~ Q276=+Q33 ;KLEINSTMASS ~ Q279=+0 ;TOLERANZ 1. MITTE ~ Q280=+0 ;TOLERANZ 2. MITTE ~ Q281=+0 ;MESSPROTOKOLL ~ Q309=+0 ;PGM-STOP BEI FEHLER ~ Q330=+0 ;WERKZEUG ~ Q423=+4 ;ANZAHL ANTASTUNGEN ~ Q365=+1 ;VERFAHRART 94 M140 MB MAX F9999 95 ;Sprung zur Statusermittlung 96 FN 9: IF +1 EQU +1 GOTO LBL 16 97 ; 98 ;Messen Welle 99 LBL 15 100 TCH PROBE 422 MESSEN KREIS AUSSEN ~ Q273=+Q11 ;MITTE 1. ACHSE ~ Q274=+Q21 ;MITTE 2. ACHSE ~ Q262=+Q1 ;SOLL-DURCHMESSER ~ Q325=+Q41 ;STARTWINKEL ~ Q247=+90 ;WINKELSCHRITT ~ Q261=+Q31 ;MESSHOEHE ~ Q320=+Q51 ;SICHERHEITS-ABST. ~ Q260=+100 ;SICHERE HOEHE ~ Q301=+1 ;FAHREN AUF S. HOEHE ~ Q277=+Q23 ;GROESSTMASS ~ Q278=+Q33 ;KLEINSTMASS ~ Q279=+0 ;TOLERANZ 1. MITTE ~ Q280=+0 ;TOLERANZ 2. MITTE ~ Q281=+0 ;MESSPROTOKOLL ~ Q309=+0 ;PGM-STOP BEI FEHLER ~ Q330=+0 ;WERKZEUG ~ Q423=+4 ;ANZAHL ANTASTUNGEN ~ Q365=+1 ;VERFAHRART 101 M140 MB MAX F9999 102 ;Sprung zur Statusermittlung 103 FN 9: IF +1 EQU +1 GOTO LBL 16 104 ; 105 LBL 16 106 ;Ermitteln Status 107 FN 9: IF +Q180 EQU +1 GOTO LBL 20 108 FN 9: IF +Q181 EQU +1 GOTO LBL 21 109 FN 9: IF +Q182 EQU +1 GOTO LBL 22 110 ; 111 LBL 20 112 QS3 = "GUT" 113 FN 9: IF +1 EQU +1 GOTO LBL 23 114 ; 115 LBL 21 116 QS3 = "NACHARBEIT" 117 FN 9: IF +1 EQU +1 GOTO LBL 23 118 ; 119 LBL 22 120 QS3 = "AUSSCHUSS" 121 FN 9: IF +1 EQU +1 GOTO LBL 23 122 ; 123 LBL 23 124 ;Text fuer Passung zusammensetzen 125 QS2 = TOCHAR( DAT+Q1 DECIMALS0 ) || QS1 126 ; 127 ;Inhalt der Maskendatei 82552_de.a auf Bildschirm anzeigen 128 FN 16: F-PRINT 82602_de.A / SCREEN: 129 ; 130 ;Programmende 131 END PGM 82601_DE MM