BEGIN PGM SCHRUPPEN 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
; 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
 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 ; |SICHE 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
 FN 18: SYSREAD Q27 = ID31 NR32 
 FN 12: IF +Q27 LT +16 GOTO LBL 10 ;VORHER TIEFESCHLICHTEN 
 Q22 = Q22 - Q4 ; BETRAG BEARBEITUNGSTIEFE (-AUSFMASS TIEFE)
 FN 0: Q23 = 0
 LBL 10
 FN 12: IF +Q22 LT +0.001 GOTO LBL 11
 Q22 = 0
 LBL 11
 Q23 = SGN Q1 * Q22
 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 12
 FN 17: SYSWRITE ID 214 NR6 =+132 ; K-PARL. BEARB.
 ; DREHSINN 
 LBL 12
 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 13
 FN 17: SYSWRITE ID31 NR27 =+Q24 ;RAD. BREITE
 FN 17: SYSWRITE ID30 NR14 =+Q3 ; AUFMASS KORREKTUR
 ; KONTUREN LESEN 
 FN 22: FUNCT Q0 FNR3 ; KONTUREN LESEN
 ; SEITENSCHLICHTEN
 FN 18: SYSREAD Q25 = ID31 NR25 ; RAEUMRAD. 
 FN 18: SYSREAD Q26 = ID200 NR6 IDX0 ; SCHLICHTRAD.   
 FN 17: SYSWRITE ID 31 NR17 =+Q14 ; SCHLICHTAUFMASS SEITE
 FN 11: IF +Q25 GT +0 GOTO LBL 14 ; RAEUMRADIUS
 ; EINFACHES KONTURABFAHREN
 FN 17: SYSWRITE ID 31 NR17 = 0 ; S_AUFMASS
 FN 22: FUNCT Q0 FNR45 PIN0 PIN1 PIN2 PEX+1 
 FN 9: IF 0 EQU 0 GOTO LBL 254
 LBL 14
 Q25 = Q25 + Q3 - Q26 -Q14; RESTBREITE
 FN 11: IF +Q25 GT +0 GOTO LBL 15
 FN 14: ERROR= 1003
 LBL 15
 Q14 = ABS Q14
 FN 9: IF +Q14 EQU +0 GOTO LBL 16
 Q27 = Q27 % 2
 FN 9: IF +Q27 EQU 0 GOTO LBL 16
 Q24 = Q25 / Q14	; ANZAHL DER ZUSTELLUNEGEN
 FN 11: IF +Q24 GT +1.0 GOTO LBL 17
 LBL 16
 FN 17: SYSWRITE ID31 NR17 =+Q25 ; SCHLICHTAUFMASS SEITE
 FN 22: FUNCT Q0 FNR45 PIN0 PIN1 PIN2 PEX+1 PEX+Q14
 FN 9: IF 0 EQU 0 GOTO LBL 254
 LBL 17
 Q24 = Q25 % Q14	; MOD. RESTBREITE
 FN 11: IF +Q24 GT +0.016 GOTO LBL 16
 FN 12: IF +Q25 LT Q14 GOTO LBL 16
 FN 2: Q25 =+Q25 - Q14
 FN 1: Q24 =+Q24 + Q14
 LBL 18
 ; PI1 0 KONTUR IM ARBEITSSPEICHER
 ; PI2 1 KORRIGIEREN (FRAESERRADIUS+TOOLAUFMASS)
 ; PI3 2 FILTER FUER KONTURUEBERGAENGE BENUTZEN
 ; PE1 SEITLICH ANSCHLICHTEN
 ; PE2 RESTBREITE
 FN 17: SYSWRITE ID31 NR17 =+Q24 ; SCHLICHTAUFMASS SEITE
 FN 22: FUNCT Q0 FNR45 PIN0 PIN1 PIN2 PEX+1 PEX+Q25
 FN 2: Q25 =+Q25 - +Q24
 Q24 = Q14
 FN 11: IF +Q25 GT +0.001 GOTO LBL 41
 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_S MM 
   

   
