BEGIN PGM MILL_T MM 
; PARAMETER FUER TIEFENSCHLICHTEN
; Q1 FRAESTIEFE				/INCH								  
; Q2 BAHN-UEBERLAPPUNG
; Q374  BETRAG DER BAHNUEBERLAPPUNG /INCH
; Q3 SCHLICHTAUFMASS SEITE	/INCH
; Q4 SCHLICHTAUFMASS TIEFE	/INCH
; Q5 WERKSTUECKOBERFLAECHE	/INCH
; Q6 SICHERHEITSABSTAND		/INCH
; Q7 RUECKZUGSHOEHE			/INCH
; Q8 RUNDUNGSRADIUS			/INCH
; Q373 EPS (MAX:ABWEICHUNG) /INCH
; Q9 DREHSINN -1/+1
; Q10 ZUSTELLTIEFE			/INCH
; Q11 VORSCHUB TIEFENZUSTELLUNG	/VINCH
; Q12 VORSCHUB RAEUMEN		/VINCH
; Q13 NR. AUSRAEUMWERKZEUG
; Q14 SCHLICHTAUFMASS SEITE	/INCH
; Q18 NR. VORAEUMWERKZEUG
; Q19	PENDELVORSCHUB		/VINCH
; Q370  PENDELWINKEL
; Q371  PENDELLAENGE		/INCH
; Q372  PENDELHOEHE			/INCH
; BEARBEITUNGART
;  Q375 (KONTURPARALLEL ODER MAEANDER)	
; LOCALE Q-PARAMETER
; && WC WORST CASE  |BETRAG|
; Q20 WC |SICHERER ABSTAND|
; Q21 WC ZYKLUSANFANGSHOEHE
; Q22 |REALE BEARBEITUNGSTIEFE|
; Q23 REALE BEARBEITUNGSTIEFE
; Q24 RADIUS FUER AEQUIDISTANTENBERECHNUNG
; Q25 RADIUS DES BEARBEITUNGSWERKZEUGS
; Q26 REALES SEITENAUFMASS
; Q27 |AKT.BEARBEITUNGSTIEFE|
; Q28 RADIUS VORRAEUMWERKZEUG
; Q29 MM/INCH
 FN 22: FUNCT Q0 FNR1 PIN0 PIN1 ;INIT KONTURBEARBEITUNG
 FN 22: FUNCT Q0 FNR121 PIN0 PIN0 PIN29 ;SAVE Q0-Q29
 ; SYSTEMPARAMETER BESCHREIBEN
 FN 17: SYSWRITE ID30 NR11 =+Q9 ;DREHRICHTUNG
 FN 17: SYSWRITE ID30 NR14 =+Q3 ;AUFMASS
 FN 17: SYSWRITE ID31 NR16 =+0 ;T_AUFMASS
 FN 17: SYSWRITE ID31 NR17 =+0 ;S_AUFMASS
 ; KONTURUEBERGAENGE
 FN 0: Q26 =+Q373 ; AUS UEBERGANGSRADIUS BAHNABWEICHUNG
 FN 10: IF +Q26 NE +0 GOTO LBL 4
 FN 0: Q26 =+Q8 ; AUS UEBERGANGSRADIUS BAHNABWEICHUNG
 FN 9: IF +Q26 EQU +0 GOTO LBL 4
 FN 4: Q26 =+Q26 DIV +4 ; BAHNABWEICHUNG
 FN 11: IF +Q26 GT +0,016 GOTO LBL 4
 FN 0: Q26 =+0,016 ; MIN.BAHNABWEICHUNG
 FN 17: SYSWRITE ID31 NR18 =+Q26 ; MIN. ABHNABWEICHUNG
 ; ZUSTELLBREITE
 LBL 4
 FN 18: SYSREAD Q24 = ID200 NR6 IDX0 ; AKT. FRAESRADIUS
 FN 9: IF +Q374 EQU +0 GOTO LBL 5
 FN 11: IF +Q374 GT +Q24 GOTO LBL 5
 FN 0: Q24 =+Q373 ; ZUSTELLBREITE
 FN 9: IF +0 EQU +0 GOTO LBL 6
 LBL 5
 FN 9: IF +Q2 EQU +0 GOTO LBL 5
 FN 11: IF +Q2 GT +1 GOTO LBL 5
 FN 3: Q24 =+Q24 * +Q2 ; ABSTAND DER AEQUIDISTANTEN
 LBL 6
 FN 17: SYSWRITE ID31 NR26 =+Q24 ;RAD.ZUSTELLUNG
 ; RUECKZUGS- UND WERKZEUGSTUECKHOEHE 
 FN 18: SYSREAD Q21 = ID20 NR3 ;WZ-Achse 
 FN 1:  Q21 =+Q21 + 1 ; WG. CODIERUNG X==1
 FN 18: SYSREAD Q22 = ID220 NR2 IDXQ21 ;VERSCHIEBUNG
 FN 18: SYSREAD Q23 = ID210 NR4 IDXQ21 ;SKALIERUNG
 Q21 = Q23*Q5 + Q22 ;WS-HOEHE ; TRANSFORMATION 
 Q22 = Q23*Q7 + Q22 ;RZG-HOEHE ; TRANSFORMATION 
 FN 17: SYSWRITE ID31 NR23 =+Q21 ;WS-HOEHE
 FN 17: SYSWRITE ID31 NR22 =+Q22 ;RZG-HOEHE
 FN 2: Q20 = Q22 - Q21 ; RZG-HOEHE - WS-HOEHE
 FN 9: IF +Q20 EQU +0 GOTO LBL 8
 ; VZ. DIFFERENZ MIT VZ. TIEFE VERGLEICHEN
 FN 9: IF +Q1 EQU +0 GOTO LBL 7
 FN 12: IF +Q1 LT +0 GOTO LBL 7
 FN 0: Q20 =-Q20	 
 LBL 7
 FN 11: IF +Q20 GT +0 GOTO LBL 8
 FN 14: ERROR= 1011 ;RICHTUNG FALSCH
 FN 9: IF +0 EQU +0 GOTO LBL 20
 ; SICHERHEITSABSTAND UND ZYKLUSANFANGSHOEHE
 LBL 8
 Q20 = ABS Q20 ;  |SICHERER ABSTAND|
 Q22 = ABS Q6 * Q23; 
 FN 12: IF +Q20 LT +Q22 GOTO LBL 9
 FN 0: Q20 = Q22
 LBL 9
 FN 3: Q23 =+Q1 * +Q22 ; BEARBEITUNGSTIEFE(SKALIERUNG IN WZ-ACHSE)
 Q22 = ABS Q23 ; BETRAG BEARBEITUNGSTIEFE
 FN 17: SYSWRITE ID30 NR1 =+Q20 ; SICHERHEITSABSTAND
 Q21 = Q21 - SGN Q1 * Q20
 FN 17: SYSWRITE ID31 NR24 =+Q21 ; ZYKLUSANFANGSHOEHE
 ; BOHRTIEFE ,ZUSTELLUNG
 FN 0: Q23 = 0
 FN 12: IF +Q22 LT +0.001 GOTO LBL 10
 Q23 = SGN Q1 * Q22
 LBL 10
 FN 17: SYSWRITE ID30 NR2 =+Q23 ;BOHRTIEFE
 Q20 = ABS Q10 ; BETRAG ZUSTELLUNG
 FN 17: SYSWRITE ID30 NR3 =+Q20 ;BETRAG ZUSTELLUNG
 ; VORSCHUEBE
 FN 17: SYSWRITE ID30 NR4 =+Q11 ;V-TIEF
 FN 17: SYSWRITE ID30 NR10 =+Q12 ;V-FRAES
 ; BEARBEITUNGSART
 FN 17: SYSWRITE ID 214 NR6 =+132 ; K-PARL. BEARB.
 ; DREHSINN 
 LBL 10
 FN 17: SYSWRITE ID 214 NR6 IDX1 =Q9 ; DREHSINN
 ; KONTUREN LESEN 
 FN 22: FUNCT Q0 FNR3 ; KONTUREN LESEN
 FN 17: SYSWRITE ID31 NR27 =+0 ;RAD. BREITE
 FN 18: SYSREAD Q27 = ID31 NR32 
 FN 12: IF +Q27 LT +32 GOTO LBL 11 ;VORHER SEITESCHLICHTEN 
 FN 17: SYSWRITE ID30 NR14 =+0 ;AUFMASS
 ; KONTUREN LESEN 
 ; SELECT PGM vorher oder CYCLUS 14 LBL	vorher
 FN 22: FUNCT Q0 FNR3 ; KONTUREN LESEN
 FN 10: IF Q376 EQU +1 GOTO LBL 20 ; Bearbeitung von RPOCK
 FN 10: IF Q376 EQU +2 GOTO LBL 21 ; Bearbeitung von CPOCK
 LBL 11
 ; PI1 0 KONTUR IM ARBEITSSPEICHER
 ; PI2 1 KORRIGIEREN (FRAESERRADIUS+TOOLAUFMASS)
 ; PI3 2 FILTER FUER KONTURUEBERGAENGE (Q8-RADIUS) BENUTZEN
 ; PE1 3 FRAESBAHNEN IN EBENE VERBINDEN
 ; PE2   AUFMASS FUER TIEFEANSCHLICHTEN(Q4)
 FN 22: FUNCT Q0 FNR46 PIN0 PIN1 PIN2 PEX+7 PEX+Q4
 FN 9: IF +0 EQU +0 GOTO LBL 254
 LBL 20	; RECHTECKTASCHE  SEL CONTOUR "RPOCK"
; GEOOBJ HAT ZUVOR GEO-SYSTEMPARAMETER (LAENGE,BREITE) ERZEUGT
; PE1 wird noch nicht ausgewertet
 FN 22: FUNCT Q0 FNR53 PIN0 PIN1 PIN2 PEX+7 PEX+Q4
 FN 9: IF +0 EQU +0 GOTO LBL 254
 LBL 21 ; KREISTASCHE  SEL CONTOUR "CPOCK"
; GEOOBJ HAT ZUVOR SYSTEMPARAMETER (RADIUS ..) ERZEUGT
; PE1 wird noch nicht ausgewertet
 FN 22: FUNCT Q0 FNR54 PIN0 PIN1 PIN2 PEX+7 PEX+Q4
 FN 9: IF +0 EQU +0 GOTO LBL 254
 LBL 253
 FN 14: ERROR= 1003
 LBL 254
 FN 22: FUNCT Q0 FNR121 PIN1 PIN0 PIN29 ;RESTORE Q0-Q29
 FN 22: FUNCT Q0 FNR2
 END PGM MILL_T MM 
