BEGIN PGM PREST_40X MM
; Verwendet in Zyklus 408, 409
FN 18: SYSREAD Q89 = ID210 NR1
FN 18: SYSREAD Q5 = ID210 NR1 ;ROTMAN
FN 18: SYSREAD Q6 = ID210 NR2 ;ROTPROG
Q5 = Q5 + Q6
Q1005 = Q5
FN 18: SYSREAD Q70 = ID270 NR1 IDX1
FN 18: SYSREAD Q71 = ID270 NR1 IDX2
FN 18: SYSREAD Q72 = ID270 NR1 IDX3
FN 9: IF +Q109 EQU +0 GOTO LBL "TOOLAX_X"
FN 9: IF +Q109 EQU +1 GOTO LBL "TOOLAX_Y"
FN 9: IF +Q109 EQU +2 GOTO LBL "TOOLAX_Z"
LBL "TOOLAX_X"
FN 9: IF +Q303 EQU +0 GOTO LBL "TOOLAX_X_WRITE_DATUM"
Q22 = Q261 ; Messhoehe
Q23 = Q141 ; Y
Q24 = Q142 ; Z
Q25 = Q405 ; Bezugspunkt
FN 9: IF +Q272 EQU +1 GOTO LBL "TOOLAX_X_WRITE_PRESET_Y"
FN 9: IF +Q272 EQU +2 GOTO LBL "TOOLAX_X_WRITE_PRESET_Z"
FN 9: IF +0 EQU +0 GOTO LBL 254
LBL "TOOLAX_X_WRITE_PRESET_Y"
FN 17: SYSWRITE ID 532 NRQ305 IDX2 = BLOCK Q22 - Q25
FN 9: IF +0 EQU +0 GOTO LBL 254
LBL "TOOLAX_X_WRITE_PRESET_Z"
FN 17: SYSWRITE ID 532 NRQ305 IDX3 = BLOCK Q22 - Q25
FN 9: IF +0 EQU +0 GOTO LBL 254
LBL "TOOLAX_X_WRITE_DATUM"
CALL LBL "SHIFT_DATUM"
FN 9: IF +Q272 EQU +2 GOTO LBL "TOOLAX_X_WRITE_DATUM_Z"
Q141 = Q141 - Q405
Q142 = Q142 - Q322
FN 17: SYSWRITE ID 500 NRQ305 IDX2 =+Q141
FN 9: IF +Q5 EQU +0 GOTO LBL 254
FN 17: SYSWRITE ID 500 NRQ305 IDX3 =+Q142
FN 9: IF +0 EQU +0 GOTO LBL 254
LBL "TOOLAX_X_WRITE_DATUM_Z"
Q141 = Q141 - Q321
Q142 = Q142 - Q405
FN 17: SYSWRITE ID 500 NRQ305 IDX3 =+Q142
FN 9: IF +Q5 EQU +0 GOTO LBL 254
FN 17: SYSWRITE ID 500 NRQ305 IDX2 =+Q141
FN 9: IF +0 EQU +0 GOTO LBL 254
LBL "TOOLAX_Y"
FN 9: IF +Q303 EQU +0 GOTO LBL "TOOLAX_Y_WRITE_DATUM"
Q22 = Q142 ; X
Q23 = Q261 ; Messhoehe
Q24 = Q141 ; Z
Q25 = Q405 ; Bezugspunkt
FN 9: IF +Q272 EQU +1 GOTO LBL "TOOLAX_Y_WRITE_PRESET_Z"
FN 9: IF +Q272 EQU +2 GOTO LBL "TOOLAX_Y_WRITE_PRESET_X"
FN 9: IF +0 EQU +0 GOTO LBL 254
LBL "TOOLAX_Y_WRITE_PRESET_Z"
FN 17: SYSWRITE ID 532 NRQ305 IDX3 = BLOCK Q22 - Q25
FN 9: IF +0 EQU +0 GOTO LBL 254
LBL "TOOLAX_Y_WRITE_PRESET_X"
FN 17: SYSWRITE ID 532 NRQ305 IDX1 = BLOCK Q22 - Q25
FN 9: IF +0 EQU +0 GOTO LBL 254
LBL "TOOLAX_Y_WRITE_DATUM"
CALL LBL "SHIFT_DATUM"
FN 9: IF +Q272 EQU +2 GOTO LBL "TOOLAX_Y_WRITE_DATUM_X"
Q141 = Q141 - Q405
Q142 = Q142 - Q322
FN 17: SYSWRITE ID 500 NRQ305 IDX3 =+Q141
FN 9: IF +Q5 EQU +0 GOTO LBL 254
FN 17: SYSWRITE ID 500 NRQ305 IDX1 =+Q142
FN 9: IF +0 EQU +0 GOTO LBL 254
LBL "TOOLAX_Y_WRITE_DATUM_X"
Q141 = Q141 - Q321
Q142 = Q142 - Q405
FN 17: SYSWRITE ID 500 NRQ305 IDX1 =+Q142
FN 9: IF +Q5 EQU +0 GOTO LBL 254
FN 17: SYSWRITE ID 500 NRQ305 IDX3 =+Q141
FN 9: IF +0 EQU +0 GOTO LBL 254
LBL "TOOLAX_Z"
FN 9: IF +Q303 EQU +0 GOTO LBL "TOOLAX_Z_WRITE_DATUM"
Q22 = Q141 ; X
Q23 = Q142 ; Y
Q24 = Q261 ; Messhoehe
Q25 = Q405 ; Bezugspunkt
FN 9: IF +Q272 EQU +1 GOTO LBL "TOOLAX_Z_WRITE_PRESET_X"
FN 9: IF +Q272 EQU +2 GOTO LBL "TOOLAX_Z_WRITE_PRESET_Y"
FN 9: IF +0 EQU +0 GOTO LBL 254
LBL "TOOLAX_Z_WRITE_PRESET_X"
FN 17: SYSWRITE ID 532 NRQ305 IDX1 = BLOCK Q22 - Q25
FN 9: IF +0 EQU +0 GOTO LBL 254
LBL "TOOLAX_Z_WRITE_PRESET_Y"
FN 17: SYSWRITE ID 532 NRQ305 IDX2 = BLOCK Q22 - Q25
FN 9: IF +0 EQU +0 GOTO LBL 254
LBL "TOOLAX_Z_WRITE_DATUM"
CALL LBL "SHIFT_DATUM"
FN 9: IF +Q272 EQU +2 GOTO LBL "TOOLAX_Z_WRITE_DATUM_Y"
Q141 = Q141 - Q405
Q142 = Q142 - Q322
FN 17: SYSWRITE ID 500 NRQ305 IDX1 =+Q141
FN 9: IF +Q5 EQU +0 GOTO LBL 254
FN 17: SYSWRITE ID 500 NRQ305 IDX2 =+Q142
FN 9: IF +0 EQU +0 GOTO LBL 254
LBL "TOOLAX_Z_WRITE_DATUM_Y"
Q141 = Q141 - Q321
Q142 = Q142 - Q405
FN 17: SYSWRITE ID 500 NRQ305 IDX2 =+Q142
FN 9: IF +Q5 EQU +0 GOTO LBL 254
FN 17: SYSWRITE ID 500 NRQ305 IDX1 =+Q141
FN 9: IF +0 EQU +0 GOTO LBL 254
LBL "SHIFT_DATUM"
Q141 = Q141 + Q50
Q142 = Q142 + Q51
LBL 0
LBL 254
END PGM PREST_40X MM
