BEGIN PGM 404 MM
FN 18: SYSREAD Q0 = ID 210 NR 6
FN 10: IF +Q0 NE -1 GOTO LBL "3D-ROT_OK"
    FN 14: ERROR = 1006
LBL "3D-ROT_OK"
FN 18: SYSREAD Q1 = ID 20 NR 3                      ; WZ-Achse
FN 18: SYSREAD Q2 = ID 530 NR 1                     ; active Preset
FN 12: IF +Q305 LT +0 GOTO LBL "ACTIVE_PRESET"
FN 9: IF +Q305 EQU +Q2 GOTO LBL "ACTIVE_PRESET"
FN 9: IF +Q305 EQU +0 GOTO LBL "MAN_PRESET"
LBL "OTHER_PRESET"
    FN 9: IF +Q1 EQU +0 GOTO LBL "OTHER_TOOLAX_X"
    FN 9: IF +Q1 EQU +1 GOTO LBL "OTHER_TOOLAX_Y"
    FN 9: IF +Q1 EQU +2 GOTO LBL "OTHER_TOOLAX_Z"
    FN 9: IF +Q1 EQU +6 GOTO LBL "OTHER_TOOLAX_X"
    FN 9: IF +Q1 EQU +7 GOTO LBL "OTHER_TOOLAX_Y"
    FN 9: IF +Q1 EQU +8 GOTO LBL "OTHER_TOOLAX_Z"
    FN 14: ERROR = 1079
    LBL "OTHER_TOOLAX_X"
        FN 17: SYSWRITE ID 507 NR Q305 IDX 4 = +Q307   ; SPA
        FN 9: IF +0 EQU +0 GOTO LBL "END"
    LBL "OTHER_TOOLAX_Y"
        FN 17: SYSWRITE ID 507 NR Q305 IDX 5 = +Q307   ; SPB
        FN 9: IF +0 EQU +0 GOTO LBL "END"
    LBL "OTHER_TOOLAX_Z"
        FN 17: SYSWRITE ID 507 NR Q305 IDX 6 = +Q307   ; SPC
        FN 9: IF +0 EQU +0 GOTO LBL "END"
LBL "MAN_PRESET"
    FN 18: SYSREAD QL1 = ID 507 NR Q2 IDX 1         ; X
    FN 18: SYSREAD QL2 = ID 507 NR Q2 IDX 2         ; Y
    FN 18: SYSREAD QL3 = ID 507 NR Q2 IDX 3         ; Z
    FN 18: SYSREAD QL4 = ID 507 NR Q2 IDX 4         ; SPA
    FN 18: SYSREAD QL5 = ID 507 NR Q2 IDX 5         ; SPB
    FN 18: SYSREAD QL6 = ID 507 NR Q2 IDX 6         ; SPC
    FN 18: SYSREAD QL11 = ID 508 NR Q2 IDX 1        ; OFFS-X
    FN 18: SYSREAD QL12 = ID 508 NR Q2 IDX 2        ; OFFS-Y
    FN 18: SYSREAD QL13 = ID 508 NR Q2 IDX 3        ; OFFS-Z
    FN 18: SYSREAD QL14 = ID 508 NR Q2 IDX 4        ; OFFS-A
    FN 18: SYSREAD QL15 = ID 508 NR Q2 IDX 5        ; OFFS-B
    FN 18: SYSREAD QL16 = ID 508 NR Q2 IDX 6        ; OFFS-C
    FN 18: SYSREAD QL17 = ID 508 NR Q2 IDX 7        ; OFFS-U
    FN 18: SYSREAD QL18 = ID 508 NR Q2 IDX 8        ; OFFS-V
    FN 18: SYSREAD QL19 = ID 508 NR Q2 IDX 9        ; OFFS-W
    FN 17: SYSWRITE ID 507 NR 0 IDX 1 = QL1         ; X
    FN 17: SYSWRITE ID 507 NR 0 IDX 2 = QL2         ; Y
    FN 17: SYSWRITE ID 507 NR 0 IDX 3 = QL3         ; Z
    FN 17: SYSWRITE ID 507 NR 0 IDX 4 = QL4         ; SPA
    FN 17: SYSWRITE ID 507 NR 0 IDX 5 = QL5         ; SPB
    FN 17: SYSWRITE ID 507 NR 0 IDX 6 = QL6         ; SPC
    FN 17: SYSWRITE ID 508 NR 0 IDX 1 = QL11        ; OFFS-X
    FN 17: SYSWRITE ID 508 NR 0 IDX 2 = QL12        ; OFFS-Y
    FN 17: SYSWRITE ID 508 NR 0 IDX 3 = QL13        ; OFFS-Z
    FN 17: SYSWRITE ID 508 NR 0 IDX 4 = QL14        ; OFFS-A
    FN 17: SYSWRITE ID 508 NR 0 IDX 5 = QL15        ; OFFS-B
    FN 17: SYSWRITE ID 508 NR 0 IDX 6 = QL16        ; OFFS-C
    FN 17: SYSWRITE ID 508 NR 0 IDX 7 = QL17        ; OFFS-U
    FN 17: SYSWRITE ID 508 NR 0 IDX 8 = QL18        ; OFFS-V
    FN 17: SYSWRITE ID 508 NR 0 IDX 9 = QL19        ; OFFS-W
    FN 17: SYSWRITE ID 530 NR 1 = 0                 ; activate line 0
LBL "ACTIVE_PRESET"
    FN 17: SYSWRITE ID 210 NR 1 = +Q307
    FN 9: IF +0 EQU +0 GOTO LBL "END"
LBL "END"
END PGM 404 MM
