BEGIN PGM 400 MM 
FN 18: SYSREAD Q0 = ID2000 NR10 IDX4158
FN 9: IF +Q0 EQU +1 GOTO LBL 254
FN 18: SYSREAD Q0 = ID990 NR2 IDX16
FN 9: IF +Q0 EQU +0 GOTO LBL 254
Q198 = 400
CALL PGM CHCK_INP.CYC
CALL PGM INIT.CYC
Q320 = Q320 + Q2 + Q3
FN 10: IF +Q267 NE +0 GOTO LBL 12
FN 14: ERROR= 1042
LBL 12
; ** Y-RICHTUNG ************** 
FN 12: IF +Q261 LT +Q260 GOTO LBL 130
FN 0: Q260 =+Q261
LBL 130
FN 1: Q1 =+Q109 + +1
FN 18: SYSREAD Q0 = ID270 NR1 IDXQ1
FN 11: IF +Q0 GT +Q260 GOTO LBL 120
L  Z+Q260 R0 FQ59
LBL 120
FN 9: IF +Q272 EQU +1 GOTO LBL 21
FN 9: IF +Q267 EQU -1 GOTO LBL 20
FN 2: Q22 =+Q264 - +Q320
FN 2: Q32 =+Q266 - +Q320
L  X+Q263  Y+Q22 R0 FQ59
TCH PROBE 0.0 BEZUGSEBENE Q4 Y+
TCH PROBE 0.1  Z+Q261
FN 9: IF +Q301 EQU +0 GOTO LBL 1
L  Z+Q260 FQ59
LBL 1
L  X+Q265  Y+Q32 FQ59
TCH PROBE 0.0 BEZUGSEBENE Q5 Y+
TCH PROBE 0.1  Z+Q261
FN 9: IF +0 EQU +0 GOTO LBL 92
LBL 20
FN 1: Q22 =+Q264 + +Q320
FN 1: Q32 =+Q266 + +Q320
L  X+Q263  Y+Q22 R0 FQ59
TCH PROBE 0.0 BEZUGSEBENE Q4 Y-
TCH PROBE 0.1  Z+Q261
FN 9: IF +Q301 EQU +0 GOTO LBL 2
L  Z+Q260 FQ59
LBL 2
L  X+Q265  Y+Q32 FQ59
TCH PROBE 0.0 BEZUGSEBENE Q5 Y-
TCH PROBE 0.1  Z+Q261
FN 9: IF +0 EQU +0 GOTO LBL 92
LBL 21
; ** X-RICHTUNG *************** 
FN 9: IF +Q267 EQU -1 GOTO LBL 22
FN 2: Q21 =+Q263 - +Q320
FN 2: Q31 =+Q265 - +Q320
L  X+Q21  Y+Q264 R0 FQ59
TCH PROBE 0.0 BEZUGSEBENE Q4 X+
TCH PROBE 0.1  Z+Q261
FN 9: IF +Q301 EQU +0 GOTO LBL 3
L  Z+Q260 FQ59
LBL 3
L  X+Q31  Y+Q266 FQ59
TCH PROBE 0.0 BEZUGSEBENE Q5 X+
TCH PROBE 0.1  Z+Q261
FN 9: IF +0 EQU +0 GOTO LBL 91
LBL 22
FN 1: Q21 =+Q263 + +Q320
FN 1: Q31 =+Q265 + +Q320
L  X+Q21  Y+Q264 R0 FQ59
TCH PROBE 0.0 BEZUGSEBENE Q4 X-
TCH PROBE 0.1  Z+Q261
FN 9: IF +Q301 EQU +0 GOTO LBL 4
L  Z+Q260 FQ59
LBL 4
L  X+Q31  Y+Q266 FQ59
TCH PROBE 0.0 BEZUGSEBENE Q5 X-
TCH PROBE 0.1  Z+Q261
FN 9: IF +0 EQU +0 GOTO LBL 91
; Z-RICHTUNG 
LBL 91
Q50 = 90 - ATAN ( ( Q4 - Q5 ) / ( Q264 - Q266 ) )
Q50 = Q50 - Q307
CALL LBL 30
FN 9: IF +0 EQU +0 GOTO LBL 99
LBL 92
Q50 = ATAN ( ( Q5 - Q4 ) / ( Q265 - Q263 ) )
Q50 = Q50 - Q307
CALL LBL 30
FN 9: IF +0 EQU +0 GOTO LBL 99
LBL 30
FN 11: IF +Q50 GT +0 GOTO LBL 31
FN 11: IF +Q50 GT -360.0001 GOTO LBL 32
Q50 = Q50 + 360
FN 9: IF +0 EQU +0 GOTO LBL 32
LBL 31
FN 12: IF +Q50 LT +360.0001 GOTO LBL 32
Q50 = Q50 - 360
LBL 32
FN 11: IF +Q50 GT +0 GOTO LBL 40
FN 11: IF +Q50 GT -90.0001 GOTO LBL 98
FN 11: IF +Q50 GT -270.0001 GOTO LBL 33
Q50 = Q50 + 360
FN 9: IF +0 EQU +0 GOTO LBL 98
LBL 33
Q50 = Q50 + 180
FN 9: IF +0 EQU +0 GOTO LBL 98
LBL 40
FN 12: IF +Q50 LT +90.0001 GOTO LBL 98
FN 12: IF +Q50 LT +270.0001 GOTO LBL 34
Q50 = Q50 - 360
FN 9: IF +0 EQU +0 GOTO LBL 98
LBL 34
Q50 = Q50 - 180
LBL 98
LBL 0
LBL 99
L  Z+Q260 R0 FQ59
FN 11: IF +Q305 GT +0 GOTO LBL 252
; Aktiven Preset lesen
FN 18: SYSREAD Q0 = ID530 NR1
FN 9: IF +Q0 EQU +0 GOTO LBL 101
; Wenn Zeile 0 aktiv, dann copy ueberspringen
FN 10: IF +Q0 NE -1 GOTO LBL 100
Q0 = 0
LBL 100
; Aktive Zeile Kopieren
FN 18: SYSREAD QL1 = ID503 NRQ0 IDX1
FN 18: SYSREAD QL2 = ID503 NRQ0 IDX2
FN 18: SYSREAD QL3 = ID503 NRQ0 IDX3
FN 18: SYSREAD QL4 = ID503 NRQ0 IDX4
FN 18: SYSREAD QL5 = ID503 NRQ0 IDX5
FN 18: SYSREAD QL6 = ID503 NRQ0 IDX6
FN 18: SYSREAD QL7 = ID503 NRQ0 IDX7
FN 18: SYSREAD QL8 = ID503 NRQ0 IDX8
FN 18: SYSREAD QL9 = ID503 NRQ0 IDX9
FN 17: SYSWRITE ID 503 NRQ305 IDX1 =+QL1
FN 17: SYSWRITE ID 503 NRQ305 IDX2 =+QL2
FN 17: SYSWRITE ID 503 NRQ305 IDX3 =+QL3
FN 17: SYSWRITE ID 503 NRQ305 IDX4 =+QL4
FN 17: SYSWRITE ID 503 NRQ305 IDX5 =+QL5
FN 17: SYSWRITE ID 503 NRQ305 IDX6 =+QL6
FN 17: SYSWRITE ID 503 NRQ305 IDX7 =+QL7
FN 17: SYSWRITE ID 503 NRQ305 IDX8 =+QL8
FN 17: SYSWRITE ID 503 NRQ305 IDX9 =+QL9
LBL 101
FN 17: SYSWRITE ID 504 NRQ305 =+Q50
; Preset 0 aktivieren
FN 17: SYSWRITE ID 530 NR1 =+Q305
FN 9: IF +0 EQU +0 GOTO LBL 253
LBL 252
FN 17: SYSWRITE ID 504 NRQ305 =+Q50
LBL 253
FN 17: SYSWRITE ID 990 NR1 =+0
FN 17: SYSWRITE ID 990 NR2 =+0
LBL 254
END PGM 400 MM 
