BEGIN PGM PRESET MM 
FN 18: SYSREAD Q0 = ID530 NR1
FN 10: IF +Q0 NE -1 GOTO LBL 1
Q0 = 0
LBL 1
;Abfrage ob Anzeige setzen
FN 10: IF +Q305 NE +0 GOTO LBL 2
CALL LBL 60
LBL 2
;** Preset-Tabelle /Nullpunkt-Tabelle
FN 9: IF +Q109 EQU +0 GOTO LBL 40
FN 9: IF +Q109 EQU +6 GOTO LBL 40
FN 9: IF +Q109 EQU +1 GOTO LBL 41
FN 9: IF +Q109 EQU +7 GOTO LBL 41
FN 9: IF +Q109 EQU +2 GOTO LBL 42
FN 9: IF +Q109 EQU +8 GOTO LBL 42
LBL 40
;** TOOL AXIS X
FN 9: IF +Q303 EQU +0 GOTO LBL 196
;** Write into PRESET table
FN 12: IF +Q198 LT +414 GOTO LBL 80
FN 11: IF +Q198 GT +415 GOTO LBL 80
FN 10: IF +Q304 NE +1 GOTO LBL 80
FN 10: IF +Q41 NE +0 GOTO LBL 80
Q41 = Q41 + Q47
CALL LBL 57
FN 9: IF +0 EQU +0 GOTO LBL 81
LBL 80
CALL LBL 56
LBL 81
FN 17: SYSWRITE ID 502 NRQ305 IDX2 =+Q31
FN 17: SYSWRITE ID 502 NRQ305 IDX3 =+Q32
FN 9: IF +0 EQU +0 GOTO LBL 199
LBL 196
;** Write into DATUM table
CALL LBL 50
Q31 = Q31 - Q331
Q32 = Q32 - Q332
FN 17: SYSWRITE ID 500 NRQ305 IDX2 =+Q31
FN 17: SYSWRITE ID 500 NRQ305 IDX3 =+Q32
FN 9: IF +0 EQU +0 GOTO LBL 199
;** TOOL AXIS Y
LBL 41
FN 9: IF +Q303 EQU +0 GOTO LBL 197
;** Write into PRESET table
FN 12: IF +Q198 LT +414 GOTO LBL 90
FN 11: IF +Q198 GT +415 GOTO LBL 90
FN 10: IF +Q304 NE +1 GOTO LBL 90
FN 10: IF +Q41 NE +0 GOTO LBL 90
Q41 = Q41 + Q47
CALL LBL 57
FN 9: IF +0 EQU +0 GOTO LBL 91
LBL 90
CALL LBL 56
LBL 91
FN 17: SYSWRITE ID 502 NRQ305 IDX3 =+Q31
FN 17: SYSWRITE ID 502 NRQ305 IDX1 =+Q32
FN 9: IF +0 EQU +0 GOTO LBL 199
LBL 197
;** Write into DATUM table
CALL LBL 50
Q31 = Q31 - Q331
Q32 = Q32 - Q332
FN 17: SYSWRITE ID 500 NRQ305 IDX3 =+Q31
FN 17: SYSWRITE ID 500 NRQ305 IDX1 =+Q32
FN 9: IF +0 EQU +0 GOTO LBL 199
;** TOOL AXIS Z
LBL 42
FN 9: IF +Q303 EQU +0 GOTO LBL 198
;** Write into PRESET table
FN 12: IF +Q198 LT +414 GOTO LBL 100
FN 11: IF +Q198 GT +415 GOTO LBL 100
FN 10: IF +Q304 NE +1 GOTO LBL 100
FN 10: IF +Q41 NE +0 GOTO LBL 100
Q41 = Q41 + Q47
CALL LBL 57
FN 9: IF +0 EQU +0 GOTO LBL 101
LBL 100
;** Write into PRESET table
CALL LBL 56
LBL 101
FN 17: SYSWRITE ID 502 NRQ305 IDX1 =+Q31
FN 17: SYSWRITE ID 502 NRQ305 IDX2 =+Q32
FN 9: IF +0 EQU +0 GOTO LBL 199
LBL 198
CALL LBL 50
Q31 = Q31 - Q331
Q32 = Q32 - Q332
FN 17: SYSWRITE ID 500 NRQ305 IDX1 =+Q31
FN 17: SYSWRITE ID 500 NRQ305 IDX2 =+Q32
FN 9: IF +0 EQU +0 GOTO LBL 199
;** SUB PGM's
;** WRITE INTO DATUM TABLE
LBL 50
Q44 = ( Q50 * COS Q41 ) + ( Q51 * SIN Q41 )
Q45 = - ( Q50 * SIN Q41 ) + ( Q51 * COS Q41 )
Q31 = Q31 + Q44
Q32 = Q32 + Q45
LBL 0
;** WRITE INTO PRESET TABLE
LBL 56
Q48 = ( Q331 * COS - Q41 ) + ( Q332 * SIN - Q41 )
Q49 = - ( Q331 * SIN - Q41 ) + ( Q332 * COS - Q41 )
Q46 = ( Q31 * COS - Q41 ) + ( Q32 * SIN - Q41 )
Q47 = - ( Q31 * SIN - Q41 ) + ( Q32 * COS - Q41 )
Q31 = Q46 - Q48
Q32 = Q47 - Q49
LBL 0
;** WRITE INTO PRESET TABLE CYCL 414, 415
LBL 57
Q48 = ( Q331 * COS - Q41 ) + ( Q332 * SIN - Q41 )
Q49 = - ( Q331 * SIN - Q41 ) + ( Q332 * COS - Q41 )
Q31 = Q31 - Q48
Q32 = Q32 - Q49
LBL 0
;** WRITE INTO DATUM TABLE CYCL 414, 415
LBL 58
Q22 = ( Q50 * COS Q41 ) + ( Q51 * SIN Q41 )
Q23 = - ( Q50 * SIN Q41 ) + ( Q51 * COS Q41 )
Q33 = ( Q31 * COS Q41 ) + ( Q32 * SIN Q41 )
Q34 = - ( Q31 * SIN Q41 ) + ( Q32 * COS Q41 )
Q31 = Q33 + Q22
Q32 = Q34 + Q23
LBL 0
;** COPY ACTIVE LINE INTO LINE 0
LBL 60
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 18: SYSREAD QL10 = ID504 NRQ0
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
FN 17: SYSWRITE ID 504 NRQ305 =+QL10
LBL 0
LBL 199
FN 10: IF +Q305 NE +0 GOTO LBL 200
FN 17: SYSWRITE ID 530 NR1 =+Q305
LBL 200
Q199 = -1
END PGM PRESET MM 
