Ich poste jetzt mal hier meinen Programmcode vom Messprozess. Vielleicht fällt ja jemandem eine unzulässige Bewegung auf oder eine Aktion, die zu dem Fehler eventuell führen könnte.
N100 DEF INT COUNT=1 ; Einstich Zaehler
N101 DEF REAL MESS[30,2] ; Messtabelle definieren
N102 DEF INT ERROR ; Definition fuer WRITE-Befehl
N103 DEF INT SCHLEIFE ; Schleifenzaehler
N104 DEF STRING[30] PFAD ; Verzeichnis-Pfad
N105 DEF STRING[10] NAME ; Zeichnungsnummer/Sachnummer
N106 DEF STRING[7] SERIE ; Zeichnungsnummer/Sachnummer
N107 DEF REAL ENGRAVE[10,10]
N108 DEF STRING[90] ENGRAVETXT[5]
N109 DEF REAL GROOVE[10,5]
;======= Einstichtabelle auslesen ========
N110 EXTERN _N_ARRAY_GROOVE_MPF(VAR REAL[,5])
N111 EXTERN _N_ARRAY_ENGRAVETXT_MPF(VAR STRING[90] [])
N112 EXTERN _N_ARRAY_ENGRAVE_MPF(VAR REAL[,5])
N113 _N_ARRAY_GROOVE_MPF(GROOVE)
N114 _N_ARRAY_ENGRAVETXT_MPF(ENGRAVETXT)
N115 _N_ARRAY_ENGRAVE_MPF(ENGRAVE)
N116 IF($P_SIM OR $P_SEARCH OR $P_ISTEST) GOTOF NN9999
N117 $P_UIFR[1,Z,FI]=RG950 ; Feinverschiebung setzen!
;NCG#TAILINIT#gm_eqc75.com#TAILINIT#*NCG;*RO*;*HD*
;#"Reitstock Initialisierung"#1#1#1#1#2#3#0#*NCG;*RO*;*HD*
N118 TAILINIT(1,0,0,0,10,500)
;#END#*NCG;*RO*;*HD*
;=============================================================
N119 R1=5.05 ;Kugeldurchmesser
N120 R2=90 ;B1-Lage
N121 R3=0 ;C4-Lage
N122 R4=0.02 ;Korrektur linke Schulter
N123 R5=0.14 ;Korrektur rechte Schulter
;Diese Werte nicht veraendern!
;=============================================================
N124 G18 M814 ;
Arbeitsebene + ???
N125 DIAMON ; Durchmesser Programmierung X
N126 G54 ; NP 1 aktivieren
N127 TOWSTD ; WKZ-Verrechnung bei B1-Achs Schraeglage
N128 T="RENISHAW" ; WKZ Voranwahl
N129 TC(2,0,0,2,R2,0)
N130 L707(0) ; C4-Einschalten
N131 SETMS(4) ; S4=Masterspindel
N132 g90 g0 B1=R2 M1=5 M109 ; B-Achse in Position und Spindel aus
N133 R500=GROOVE[COUNT,0] ; Bauteildurchmesser uebergeben
;NCG#tails75x#gm_eqc75.com#move_ride#*NCG;*RO*;*HD*
;#"Reitstock vor und Abst?zen,ZP=10,F=250"#1#1#241.8#1#2#2#2#3#1#"L?ette"#1#1#1#1#1#"Achtung: Eingabewert zu klein !"#"Bitte Betriebsanleitung beachten!"#0#0#3#0#2#250#600#860.1#*NCG;*RO*;*HD*
N134 TAILSTOK(,,,,4,1,1,10,250,0,0,0,0,30,20,0,0)
;#END#*NCG;*RO*;*HD*
N135 g0 z5 y0 c4=R3 ; Messposition anfahren
N136 g0 x=R500+20 z=5 g94 f1500
N137 g1 x=R500-3
N138 m120 ; Messtaster einschalten
;===============================================
; Stirnflaeche antasten und Position speichern
;===============================================
N139 L770("Z",5,-20,0) ; Messung Z-Achse
N140 R520=R50 ; Stirnmass umspeichern
N141 M121 ; Messtaster ausschalten
N142 g0 x=R500+20 ; vom Bauteil abheben
N143 R520=ROUND(R520*1000)/1000 ; Messergebnis auf 3 Nachkommastellen kuerzen
;==============================================
;= S t e u e r k a n t e n m e s s e n
;==============================================
N144 MESSUNGEN:
N145 R521=GROOVE[COUNT,1] ; Position linke Kante
N146 R522=GROOVE[COUNT,2] ; Position rechte Kante
N147 R523=GROOVE[COUNT,3] ; Radius im Grund
N148 R524=GROOVE[COUNT,4] ; Einstichdurchmesser
;=== Messposition anfahren
N149 TC_BC_POS(2,0,0,2,R2,0) ; C1=0 ohne WKZ-Wechsel
N150 g0 z=(R521+R522)/2
N151 g1 x=R524+R1+1.5+R523
N152 m120 ; Messtaster einschalten
N153 L770("Z",R521+4,R521-5,0) ; Messung linke Flanke
N154 R540=R50 ; Schultermass umspeichern
N155 M121 ; Messtaster ausschalten
N156 R540=ROUND(R540*1000)/1000 ; Messergebnis auf 3 Nachkommastellen kuerzen
;=====gemessene Position verrechnen und schreiben
N157 MESS[COUNT,0]=(((R540)-(R520))+R4)*(-1)
N158 TC_BC_POS(2,0,0,2,R2,180) ; C1=180 ohne WKZ-Wechsel
N159 m120 ; Messtaster einschalten
N160 L770("Z",R522-4,R522+5,0) ; Messung rechte Flanke
N161 R542=R50 ; Schultermass umspeichern
N162 M121 ; Messtaster ausschalten
N163 g0 x=R500+50 ; vom Bauteil abheben
N164 R542=ROUND(R542*1000)/1000 ; Messergebnis auf 3 Nachkommastellen kuerzen
;=====gemessene Position verrechnen und schreiben
N165 MESS[COUNT,1]=(((R542)-(R520)+R1)-R5)*(-1)
N166 COUNT=COUNT+1
N167 if GROOVE[COUNT,0]<>0
N168 gotob MESSUNGEN
N169 endif
Den Reitstock habe ich für den Testzweck und aus Zeitgründen auskommentiert.