BEGIN PGM MILL MM 
; PARAMETER FUER SCHRUPPEN :
; 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 (BETRAG 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)	
;  Q376 EINTAUCHART
;  Q377 GEOOBJ 
; LOCALE Q-PARAMETER
; Q20 MAX. |SICHERER ABSTAND|
; Q21 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 =+Q4 ;T_AUFMASS
 FN 17: SYSWRITE ID31 NR17 =+0 ;S_AUFMASS
 ; Pendelparameter (PENDELWINKEL,PENDELHOEHE) aus TOOL-tabelle werden 
 ; im Zyklusabarbeiten beruecksichtigt, wenn Pendelvorschub != 0 
 FN 0: Q20 = +Q19  ;PENDELVORSCHUB
 FN 10: IF +Q376 NE +0 GOTO LBL 1
 FN 0: Q20 = 0;
 LBL 1
 FN 0: Q21 =Q371 ; PENDELHUB
 FN 17: SYSWRITE ID31 NR21 =+Q20  ;PENDELVORSCHUB
 FN 17: SYSWRITE ID31 NR19 =+Q370 ;PENDELWINKEL
 FN 9: IF +Q20 EQU +0 GOTO LBL 3
 FN 9: IF +Q370 EQU +0 GOTO LBL 3
 FN 10: IF +Q371 NE +0 GOTO LBL 3
 FN 4:  Q21 =+Q10 DIV +2	 ; HALBE ZUSTELLTIEFE 
 LBL 3
 FN 17: SYSWRITE ID31 NR20 =+Q21 ; PENDELHUB DEF
 ; 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 0: Q25 =+Q24 ; 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 6
 FN 11: IF +Q2 GT +1 GOTO LBL 6
 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
 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 253
 ; 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 V_TIEF
 Q22 = Q22 - Q4 ; BETRAG BEARBEITUNGSTIEFE (-AUSFMASS TIEFE)
 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
 ; ART DER BEARBEITUNG KONTURPARALLEL ODER MAEANDER
 FN 9: IF +Q375 EQU +Q22 GOTO LBL 11
 FN 17: SYSWRITE ID 214 NR6 =+132 ; K-PARL. BEARB.
 ; DREHSINN 
 LBL 11
 FN 17: SYSWRITE ID 214 NR6 IDX1 =Q9 ; DREHSINN
 FN 0: Q24 =+0
 FN 0: Q28 =+0
 FN 9: IF +Q18 EQU +0 GOTO LBL 12 ; NR.VORRAEUMWERKZEUG
 FN 12: IF +Q18 LT +0 GOTO LBL 12 ; 
 FN 18: SYSREAD Q24 = ID200 NR6 IDXQ18 ; RADIUS VORRAEUMW.
 FN 0: Q28 =+Q24 ; FUER REST-RAEUMEN
 FN 4: Q24 =+Q24 DIV +2
 LBL 12
 FN 17: SYSWRITE ID31 NR27 =+Q24 ;RAD. BREITE
 FN 17: SYSWRITE ID30 NR14 =+Q3 ; AUFMASS KORREKTUR
 FN 17: SYSWRITE ID31 NR25 =+Q25 ;RAEUMRADIUS
 ; KONTUREN LESEN 
 ; SELECT PGM vorher oder CYCLUS 14 LBL	vorher
 FN 11: IF Q377 LT +3 GOTO LBL 13 ; Bearbeitung von CPOCK
 SEL CONTOUR "CIRC_POC"
 FN 9: IF Q375 EQU 2 GOTO LBL 31
 FN 9: IF O EQU 0 GOTO LBL 14
 LBL 13
 FN 11: IF Q377 LT +1 GOTO LBL 14 ; Bearbeitung von RPOCK
 SEL CONTOUR "RECT_POC"
 FN 9: IF Q375 EQU 2 GOTO LBL 30
 LBL 14
 FN 22: FUNCT Q0 FNR3 ; KONTUREN LESEN
 FN 11: IF +Q24 GT +Q25 GOTO LBL 15 ; RAD. BREITE > WZ.RAD.
 FN 0: Q29 = 0 ; NORMALER RAEUMEN-FALL
 CALL LBL 20
 FN 9: IF +0 U +0 GOTO LBL 254
 LBL 15	; NACHRAEUMEN
 FN 1:  Q25 =+Q25 + Q3 ; RAEUM-WZ.RADIUS + AUFMASS
 FN 1:  Q28 =+Q28 + Q3 ; VORAEUM-WZ.RADIUS + AUFMASS
 FN 22: FUNCT Q0 FNR4 PIN0 PIN258 ; LOC.KONTUR(258)
 FN 22: FUNCT Q0 FNR30 PIN0 PIN257 PEX+Q25 ; MIT AKT. WERKZEUG KORRIGIEREN
 FN 22: FUNCT Q0 FNR30 PIN258 PIN258 PEX+Q28 ; MIT RAD.VORAEUMWERKZEUG KORRIGIEREN
 FN 2:  Q28 =+Q28 - +Q25  ; RADIUS + WERKZEUGRADIUS
 FN 1:  Q28 =+Q28 + 0.01 ; RADIUS + 10u
 FN 22: FUNCT Q0 FNR11 PIN258 PIN0 ; TASCHE IN INSEL LOC(258)
 FN 22: FUNCT Q0 FNR30 PIN0 PIN258 PEX+Q28 ; INSEL KORRIGIEREN
 FN 22: FUNCT Q0 FNR4 PIN257 PIN258 PIN2	; KONTUREN IN ARBEITSBEREICH LADEN 
 FN 22: FUNCT Q0 FNR33 PIN0 PIN0 PIN2 ; KONTUREN KOMBINIEREN TASCHE-INSEL
 ; BEIM RESTRAEUMEN KEIN EINTAUCHEN
 FN 0: Q29 = 8 ; RESTRAEUMBEREICHE AN UEBERGANGSKREISEN ANTAUCHEN
 CALL LBL 20
 FN 9: IF +0 EQU +0 GOTO LBL 254
 ; KONTUREN BEARBEITEN 
 LBL 20
 FN 1: Q29 = Q0 + 4
 FN 10: IF +Q375 NE +0 GOTO LBL 21 ; ART DER BEARBEITUNG
 FN 1:  Q29 = Q29 + Q376 ; MAEANDER BEARBEITUNG
 FN 22: FUNCT Q0 FNR30 PIN0  ; KORREKTUR
 FN 22: FUNCT Q0 FNR42 PIN0 PIN0 PIN2 PEX+Q29 PEX+Q370 PEX+Q371	; MAEANDERN
 FN 22: FUNCT Q0 FNR40 PIN0 PIN0 PIN2 PEX+Q29 PEX+Q370 PEX+Q371 ; RAND FRAESEN
 LBL 0
 LBL 21	; KONTURPARALLELE  BEARBEITUNG
 FN 1: Q29 = Q29 + Q376
 FN 10: IF +Q376 NE +0 GOTO LBL 16 ; NR.RAEUMWERKZEUG
 ; PIN 1 0 KONTUR IM ARBEITSSPEICHER
 ; PIN 2 1 VORHER KORRIGIEREN
 ; PIN 3 2 FILTER FUER KONTURUEBERGAENGE VORGEBEN
 ; PEX 1 ANFAHRSTRATEGIE 
 ;		 0 SENKRECHT EINTAUCHEN
 ;       1 EINPENDELN (ZICK-ZACK) 
 ;       2 EINPENDELN (HELIX) 
 ;      +4 FRAESERBAHNEN IN BEARBEITUNGSEBENE VERBINDEN
 ; 	   	+8 AUF UEBERGANGSKREIS REST RAEUMBEREICHE ANTAUCHEN UND FRAESBAHNEN VERBINDEN
 ; PEX 2 EINFAHRWINKEL (FUER EINPENDELN)                           
 ; PEX 3 EINFAHRDURCHMESSER(HELIKAL) / EINFAHRLAENGE(ZICKZACK)                      
 FN 22: FUNCT Q0 FNR48 PIN0 PIN1 PIN2 PEX+Q0 PEX+Q370 PEX+Q371
 LBL 0
 LBL 30	; RECHTECKTASCHE  SEL CONTOUR "RPOCK"
; GEOOBJ HAT ZUVOR GEO-SYSTEMPARAMETER (LAENGE,BREITE) ERZEUGT
 FN 22: FUNCT Q0 FNR53 PIN0 PIN1 PIN2 PEX+Q0 PEX+Q370 PEX+Q371
 FN 9: IF +0 EQU +0 GOTO LBL 254
 LBL 31 ; KREISTASCHE  SEL CONTOUR "CPOCK"
; GEOOBJ HAT ZUVOR SYSTEMPARAMETER (RADIUS ..) ERZEUGT
 FN 22: FUNCT Q0 FNR54 PIN0 PIN0 PIN2 PEX+Q0 PEX+Q370 PEX+Q371
 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 MM 
 