*-----------------------------------------------------------------------------
*  WZW Help - Service
*-----------------------------------------------------------------------------
*  Modul-Beschreibung
*    Bei angewählter Help-Datei (SERVICE.HLP) lassen sich in Betriebsart
*    Manuell mittels NC-Start-Taste einzelne Funktionen des WZW aufrufen.
*-----------------------------------------------------------------------------

#define /s    ML_T0_Vorwahl_OK                         M
#define /s    ML_WZW_Pos_Z_einsetzen                   M
#define /s    ML_WZW_Pos_Y_einsetzen                   M
#define /s    ML_WZW_Pos_X                             M
#define /s    ML_Taste_NC_Start_Stop_P_Impuls          M
#define /s    ML_Taste_Start_Stop                      M
#define /s    ML_WZ_Greifer_Bremse                     M
#define /s    ML_WZ_Greif_Bremse_P_Impuls              M
#define /s    ML_WZ_Greifer_Spindel_Pos                M
#define /s    ML_WZ_Greif_Spindel_Pos_P_Impuls         M
#define /s    ML_WZ_Greifer_Grundstellung              M
#define /s    ML_WZ_Greif_Grundstellung_P_Impuls       M
#define /s    ML_WZW_Help_aktiv                        M
#define /s    ML_Stack_synchronisieren                 M

#define /s /r ML_WZ_Greifer_Zangen_zu                  M
#define /s /r ML_WZ_Greifer_einsetzen                  M
#define /s /r ML_WZ_Greifer_ausheben                   M
#define /s /r ML_WZ_Schleuse_auf                       M
#define /s /r ML_WZ_Schleuse_zu                        M

#define /s    BL_Schritt_Help                          B

#include Mac_Lib.inc

EXTERN WZM_rechts_drehen
EXTERN WZM_links_drehen
EXTERN WZ_Greif_Position
EXTERN WZ_Greif_Richtung
EXTERN Start_Posit
EXTERN In_Posit

GLOBAL WZW_Help
GLOBAL WZW_Output_Restore
GLOBAL WZW_Output_Backup

;----------------------------
LBL WZW_Help
;----------------------------

  LN     MG_WZW_Auto_aktiv
  EMT

  L      MG_Taste_NC_Stop
  A      MG_Taste_NC_Start
  AN     ML_Taste_Start_Stop
  =      ML_Taste_NC_Start_Stop_P_Impuls

  L      MG_Taste_NC_Stop
  A      MG_Taste_NC_Start
  =      ML_Taste_Start_Stop

  L      I_WZ_Greifer_Brems_Position
  AN     ML_WZ_Greifer_Bremse
  =      ML_WZ_Greif_Bremse_P_Impuls

  L      I_WZ_Greifer_Brems_Position
  =      ML_WZ_Greifer_Bremse

  L      I_WZ_Greifer_Spindel_Position
  AN     ML_WZ_Greifer_Spindel_Pos
  =      ML_WZ_Greif_Spindel_Pos_P_Impuls

  L      I_WZ_Greifer_Spindel_Position
  =      ML_WZ_Greifer_Spindel_Pos

  L      I_WZ_Greifer_Grundstellung
  AN     ML_WZ_Greifer_Grundstellung
  =      ML_WZ_Greif_Grundstellung_P_Impuls

  L      I_WZ_Greifer_Grundstellung
  =      ML_WZ_Greifer_Grundstellung

  CM     Grund_Stellung

  L      PN_Fehler_Funktion_OK
  R      PN_Fehler_Funktion_OK

  L      NP_W270_Help_Datei_Zeilen_Nr
  /      K+100
  ==     K+3
  =      ML_WZW_Help_aktiv

  L      ML_WZW_Help_aktiv
  XO     MG_WZW_Help
  CMT    Service_Reset

  L      MG_BA_Manuell
  AN     MG_BA_Editieren
  O      MG_Inbetriebnahme
  A      ML_WZW_Help_aktiv
  =      MG_WZW_Help
  R      PN_Fehler_WZW_Grund_Stellung
  EMF

  L      NP_W270_Help_Datei_Zeilen_Nr
  MOD    K+100
  <>     BL_Schritt_Help
  ON     MG_Steuerung_betriebsbereit
  CMT    Service_Reset

  L      NP_W270_Help_Datei_Zeilen_Nr
  MOD    K+100
  =      BL_Schritt_Help

  LN     MG_Steuerung_betriebsbereit
  EMT

  CASE   BL_Schritt_Help
    CM     EndOfModul                  ;00
    CM     S_WZW_Position              ;01
    CM     Z_WZW_Position              ;02
    CM     Y_WZW_Position              ;03
    CM     X_WZW_Position              ;04
    CM     WZ_Schleuse_auf             ;05
    CM     WZ_Schleuse_zu              ;06
    CM     WZW_entspannen              ;07
    CM     WZW_spannen                 ;08
    CM     WZ_Zange_zu                 ;09
    CM     WZ_Zange_auf                ;10
    CM     WZ_Platz_ausklappen         ;11
    CM     WZ_Platz_einsetzen          ;12
    CM     WZ_Greif_zu_Entspannen      ;13
    CM     WZ_Greif_zu_Spannen         ;14
    CM     WZ_Greif_zu_Grundstellung   ;15
    CM     WZ_Greif_rueck_Spannen      ;16
    CM     WZ_Greif_rueck_Entspannen   ;17
    CM     WZ_Greif_rueck_Grundstellung ;18
    CM     Magazin_rechts              ;19
    CM     Magazin_links               ;20
    CM     Magazin_Referenz            ;21
    CM     T0_Vorwahl                  ;22
  ENDC

LBL EndOfModul

EM

;----------------------------
LBL S_WZW_Position                     ;01

  LN     I_WZ_Greifer_Grundstellung
  O      I_WZ_Greifer_Spindel_Position
  ON     I_WZ_Greifer_Brems_Position
  =      MG_Win_WZ_Greifer_Grundstellung

  LN     MG_Sn_I_WZ_gespannt
  O      MG_Sn_I_WZ_entspannt
  =      MG_Win_WZ_spannen

  L      MG_Taste_NC_Start
  AN     MG_Win_WZ_Greifer_Grundstellung
  AN     MG_Win_WZ_spannen
  AN     MG_Spindel_in_WZW_Position
  O[
    L      MG_Taste_NC_Stop
    A      MG_Taste_NC_Start
  ]
  A      MG_Spindel_mit_Messgeraet
  S      MG_WZW_Spindel_Richten_ein

  L      MG_Spindel_in_WZW_Position
  ON     MG_Spindel_mit_Messgeraet
  =      PN_Fehler_Funktion_OK

EM

;----------------------------
LBL Z_WZW_Position                     ;02

  L      NP_D1116_Referenz_notwendig
  BT     KG_Achse_Z
  =      PN_Fehler_Referenz_notwendig
  EMT

  CM     Z_in_WZW_Pos

  L      ML_WZW_Pos_Z_einsetzen
  =      PN_Fehler_Funktion_OK

  LN     MG_Taste_NC_Start
  O      MG_PLC_Posit_aktiv[KG_Achse_Z]
  EMT

  PS     KG_Achse_Z
  PS     DG_WZW_Pos_Z_einsetzen
  CM     Start_Posit
  PL     ML_Stack_synchronisieren

EM

;----------------------------
LBL Z_in_WZW_Pos

  L      NP_D1116_Referenz_notwendig
  BT     KG_Achse_Z
  =      PN_Fehler_Referenz_notwendig
  EMT

  PS     KG_Achse_Z
  PS     DG_WZW_Pos_Z_einsetzen
  CM     In_Posit
  PLL
  =      ML_WZW_Pos_Z_einsetzen

EM

;----------------------------
LBL Y_WZW_Position                     ;03

  L      NP_D1116_Referenz_notwendig
  BT     KG_Achse_Y
  =      PN_Fehler_Referenz_notwendig
  EMT

  CM     Y_in_WZW_Pos

  L      ML_WZW_Pos_Y_einsetzen
  =      PN_Fehler_Funktion_OK

  LN     MG_Taste_NC_Start
  O      MG_PLC_Posit_aktiv[KG_Achse_Y]
  EMT

  PS     KG_Achse_Y
  PS     DG_WZW_Pos_Y
  CM     Start_Posit
  PL     ML_Stack_synchronisieren

EM

;----------------------------
LBL Y_in_WZW_Pos

  L      NP_D1116_Referenz_notwendig
  BT     KG_Achse_Y
  =      PN_Fehler_Referenz_notwendig
  EMT

  PS     KG_Achse_Y
  PS     DG_WZW_Pos_Y
  CM     In_Posit
  PLL
  =      ML_WZW_Pos_Y_einsetzen

EM

;----------------------------
LBL X_WZW_Position                     ;04

  L      NP_D1116_Referenz_notwendig
  BT     KG_Achse_X
  =      PN_Fehler_Referenz_notwendig
  EMT

  CM     X_in_WZW_Pos

  L      ML_WZW_Pos_X
  =      PN_Fehler_Funktion_OK

  LN     MG_Taste_NC_Start
  O      PN_M4120_Strobe_PLC_Posit_Achse_X
  EMT

  PS     KG_Achse_X
  PS     DG_WZW_Pos_X
  CM     Start_Posit
  PL     ML_Stack_synchronisieren

EM

;----------------------------
LBL X_in_WZW_Pos

  L      NP_D1116_Referenz_notwendig
  BT     KG_Achse_X
  =      PN_Fehler_Referenz_notwendig
  EMT

  PS     KG_Achse_X
  PS     DG_WZW_Pos_X
  CM     In_Posit
  PLL
  =      ML_WZW_Pos_X

EM
;----------------------------
LBL WZ_Schleuse_auf                    ;05

#if CFG_WZ_Magazin_Schleuse = "aktiv"

  L      MG_Taste_NC_Start
  S      O_WZ_Schleuse_auf
  R      O_WZ_Schleuse_zu

  L      MG_Taste_NC_Start_N_Impuls
  S      O_WZ_Schleuse_auf
  S      O_WZ_Schleuse_zu

  L      I_WZ_Schleuse_auf
  AN     I_WZ_Schleuse_zu
  S      O_WZ_Schleuse_auf
  R      O_WZ_Schleuse_zu
  =      PN_Fehler_Funktion_OK

#else

  L      MG_Taste_NC_Start
  S      PN_Fehler_Funktion_nicht_aktiv

#endif

EM

;----------------------------
LBL WZ_Schleuse_zu                     ;06

#if CFG_WZ_Magazin_Schleuse = "aktiv"

  L      MG_WZ_Greifer_in_Grundstellung
  =      MG_Win_WZ_Greifer_einsetzen

  LN     MG_Win_WZ_Greifer_Grundstellung
  A      MG_Taste_NC_Start
  O[
    L      MG_Taste_NC_Stop
    A      MG_Taste_NC_Start
  ]
  R      O_WZ_Schleuse_auf
  S      O_WZ_Schleuse_zu

  L      MG_Taste_NC_Start_N_Impuls
  S      O_WZ_Schleuse_auf
  S      O_WZ_Schleuse_zu

  LN     I_WZ_Schleuse_auf
  A      I_WZ_Schleuse_zu
  R      O_WZ_Schleuse_auf
  S      O_WZ_Schleuse_zu
  =      PN_Fehler_Funktion_OK

#else

  L      MG_Taste_NC_Start
  S      PN_Fehler_Funktion_nicht_aktiv

#endif

EM

;----------------------------
LBL WZW_entspannen                     ;05

  L      MG_Taste_NC_Start
  S      MG_Sn_O_WZ_entspannen
  R      MG_Sn_O_WZ_spannen

  LN     MG_Sn_I_WZ_gespannt
  A      MG_Sn_I_WZ_entspannt
  =      PN_Fehler_Funktion_OK

EM

;----------------------------
LBL WZW_spannen                        ;06

  L      MG_Taste_NC_Start
  R      MG_Sn_O_WZ_entspannen
  S      MG_Sn_O_WZ_spannen

  L      MG_Sn_I_WZ_gespannt
  AN     MG_Sn_I_WZ_entspannt
  =      PN_Fehler_Funktion_OK

EM

;----------------------------
LBL WZ_Zange_zu                        ;07

  LN     MG_Spindel_in_WZW_Position
  A      MG_Spindel_mit_Messgeraet
  =      MG_Win_WZW_Position_S

  L      MG_Taste_NC_Start
  AN     MG_Win_WZW_Position_S
  O[
    L      MG_Taste_NC_Stop
    A      MG_Taste_NC_Start
  ]
  S      O_WZ_Greifer_Zangen_zu

  LN     I_WZ_Greifer_Zangen_auf
  =      PN_Fehler_Funktion_OK

EM

;----------------------------
LBL WZ_Zange_auf                       ;08

  L      MG_Taste_NC_Start
  R      O_WZ_Greifer_Zangen_zu

  L      I_WZ_Greifer_Zangen_auf
  =      PN_Fehler_Funktion_OK

EM

;----------------------------
LBL WZ_Platz_ausklappen                ;09

#if CFG_WZ_Magazin_Schleuse = "aktiv"
  LN     I_WZ_Schleuse_auf
  O      I_WZ_Schleuse_zu
  =      MG_Win_WZ_Schleuse_auf
#endif

  LN     I_WZ_Greifer_Grundstellung
  O      I_WZ_Greifer_Spindel_Position
  ON     I_WZ_Greifer_Brems_Position
  =      MG_Win_WZ_Greifer_Grundstellung

  LN     STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Zaehler
  ON     STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Genauhalt
  S      PN_Fehler_WZM_Referenz

  L      STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Zaehler
  A      STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Genauhalt
  AN     MG_Win_WZ_Greifer_Grundstellung
  AN     MG_Win_WZ_Schleuse_auf
  AN     STG_WZM[BG_WZM_Index_Tool_Call].MG_O_WZM_Rechtslauf
  AN     STG_WZM[BG_WZM_Index_Tool_Call].MG_O_WZM_Linkslauf
  A      MG_Taste_NC_Start
  O[
    L      MG_Taste_NC_Stop
    A      MG_Taste_NC_Start
  ]
  S      STG_WZM[BG_WZM_Index_Tool_Call].MG_O_WZM_Platz_ausklappen
  R      STG_WZM[BG_WZM_Index_Tool_Call].MG_O_WZM_Platz_einklappen

  L      STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Platz_ausgeklappt
  AN     STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Platz_eingeklappt
  =      PN_Fehler_Funktion_OK

EM

;----------------------------
LBL WZ_Platz_einsetzen                 ;10

#if CFG_WZ_Magazin_Schleuse = "aktiv"
  LN     I_WZ_Schleuse_auf
  O      I_WZ_Schleuse_zu
  =      MG_Win_WZ_Schleuse_auf
#endif

  LN     I_WZ_Greifer_Grundstellung
  O      I_WZ_Greifer_Spindel_Position
  ON     I_WZ_Greifer_Brems_Position
  =      MG_Win_WZ_Greifer_Grundstellung

  LN     STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Zaehler
  ON     STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Genauhalt
  S      PN_Fehler_WZM_Referenz

  L      STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Zaehler
  A      STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Genauhalt
  AN     MG_Win_WZ_Greifer_Grundstellung
  AN     MG_Win_WZ_Schleuse_auf
  AN     STG_WZM[BG_WZM_Index_Tool_Call].MG_O_WZM_Rechtslauf
  AN     STG_WZM[BG_WZM_Index_Tool_Call].MG_O_WZM_Linkslauf
  A      MG_Taste_NC_Start
  O[
    L      MG_Taste_NC_Stop
    A      MG_Taste_NC_Start
  ]
  R      STG_WZM[BG_WZM_Index_Tool_Call].MG_O_WZM_Platz_ausklappen
  S      STG_WZM[BG_WZM_Index_Tool_Call].MG_O_WZM_Platz_einklappen

  LN     STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Platz_ausgeklappt
  A      STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Platz_eingeklappt
  =      PN_Fehler_Funktion_OK

EM

;----------------------------
LBL WZ_Greif_zu_Entspannen             ;11

#if CFG_WZ_Magazin_Schleuse = "aktiv"
  LN     I_WZ_Schleuse_auf
  O      I_WZ_Schleuse_zu
  =      MG_Win_WZ_Schleuse_auf
#endif

  LN     MG_WZ_Greifer_in_Grundstellung
  AN     MG_WZ_Greifer_zu_Entspannen
  =      MG_Win_WZ_Greifer_Funktion_gesperrt

  CM     Z_in_WZW_Pos

  LN     ML_WZW_Pos_Z_einsetzen
  A      MG_WZ_Greifer_in_Grundstellung
  AN     MG_Win_WZ_Greifer_Funktion_gesperrt
  =      MG_Win_WZW_Pos_Z_einsetzen

  LN     MG_Spindel_in_WZW_Position
  A      MG_WZ_Greifer_in_Grundstellung
  AN     MG_Win_WZ_Greifer_Funktion_gesperrt
  A      MG_Spindel_mit_Messgeraet
  =      MG_Win_WZW_Position_S

  LN     MG_Sn_I_WZ_gespannt
  O      MG_Sn_I_WZ_entspannt
  AN     MG_Win_WZ_Greifer_Funktion_gesperrt
  =      MG_Win_WZ_spannen

  LN     STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Platz_ausgeklappt
  O      STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Platz_eingeklappt
  A      MG_WZ_Greifer_in_Grundstellung
  AN     MG_Win_WZ_Greifer_Funktion_gesperrt
  =      MG_Win_WZ_Platz_ausklappen

  LN     MG_Win_WZ_Greifer_Funktion_gesperrt
  AN     MG_Win_WZ_spannen
  AN     MG_Win_WZ_Schleuse_auf
  A[
    L      MG_WZ_Greifer_in_Grundstellung
    AN     MG_Win_WZW_Pos_Z_einsetzen
    AN     MG_Win_WZW_Position_S
    AN     MG_Win_WZ_Platz_ausklappen
    O      MG_WZ_Greifer_zu_Entspannen
  ]
  A      MG_Taste_NC_Start_P_Impuls
  O      ML_Taste_NC_Start_Stop_P_Impuls
  S      O_WZ_Greifer_drehen_cw_rechts
  R      O_WZ_Greifer_drehen_ccw_links

  L      ML_WZ_Greif_Bremse_P_Impuls
  O      ML_WZ_Greif_Spindel_Pos_P_Impuls
  A      I_WZ_Greifer_Brems_Position
  R      O_WZ_Greifer_drehen_cw_rechts
  R      O_WZ_Greifer_drehen_ccw_links

  L      MG_WZ_Greifer_in_Entspannen
  =      PN_Fehler_Funktion_OK

EM

;----------------------------
LBL WZ_Greif_zu_Spannen                ;12

#if CFG_WZ_Magazin_Schleuse = "aktiv"
  LN     I_WZ_Schleuse_auf
  O      I_WZ_Schleuse_zu
  =      MG_Win_WZ_Schleuse_auf
#endif

  LN     MG_WZ_Greifer_in_Entspannen
  AN     MG_WZ_Greifer_Wechseln
  =      MG_Win_WZ_Greifer_Funktion_gesperrt

  LN     MG_Sn_I_WZ_entspannt
  O      MG_Sn_I_WZ_gespannt
  AN     MG_Win_WZ_Greifer_Funktion_gesperrt
  =      MG_Win_WZ_entspannen

  LN     MG_Win_WZ_Greifer_Funktion_gesperrt
  AN     MG_Win_WZ_entspannen
  AN     MG_Win_WZ_Schleuse_auf
  A      MG_Taste_NC_Start_P_Impuls
  O      ML_Taste_NC_Start_Stop_P_Impuls
  S      O_WZ_Greifer_drehen_cw_rechts
  R      O_WZ_Greifer_drehen_ccw_links

  L      ML_WZ_Greif_Bremse_P_Impuls
  O      ML_WZ_Greif_Spindel_Pos_P_Impuls
  A      I_WZ_Greifer_Brems_Position
  R      O_WZ_Greifer_drehen_cw_rechts
  R      O_WZ_Greifer_drehen_ccw_links

  L      MG_WZ_Greifer_in_Spannen
  =      PN_Fehler_Funktion_OK

EM

;----------------------------
LBL WZ_Greif_zu_Grundstellung          ;13

#if CFG_WZ_Magazin_Schleuse = "aktiv"
  LN     I_WZ_Schleuse_auf
  O      I_WZ_Schleuse_zu
  =      MG_Win_WZ_Schleuse_auf
#endif

  LN     MG_WZ_Greifer_in_Spannen
  AN     MG_WZ_Greifer_zu_Grundstellung
  =      MG_Win_WZ_Greifer_Funktion_gesperrt

  LN     MG_Sn_I_WZ_gespannt
  O      MG_Sn_I_WZ_entspannt
  AN     MG_Win_WZ_Greifer_Funktion_gesperrt
  =      MG_Win_WZ_spannen

  LN     MG_Win_WZ_Greifer_Funktion_gesperrt
  AN     MG_Win_WZ_spannen
  AN     MG_Win_WZ_Schleuse_auf
  A      MG_Taste_NC_Start_P_Impuls
  O      ML_Taste_NC_Start_Stop_P_Impuls
  S      O_WZ_Greifer_drehen_cw_rechts
  R      O_WZ_Greifer_drehen_ccw_links

  L      ML_WZ_Greif_Bremse_P_Impuls
  O      ML_WZ_Greif_Grundstellung_P_Impuls
  A      I_WZ_Greifer_Brems_Position
  R      O_WZ_Greifer_drehen_cw_rechts
  R      O_WZ_Greifer_drehen_ccw_links

  L      MG_WZ_Greifer_in_Grundstellung
  =      PN_Fehler_Funktion_OK

EM

;----------------------------
LBL WZ_Greif_rueck_Spannen             ;14

#if CFG_WZ_Magazin_Schleuse = "aktiv"
  LN     I_WZ_Schleuse_auf
  O      I_WZ_Schleuse_zu
  =      MG_Win_WZ_Schleuse_auf
#endif

  LN     MG_WZ_Greifer_in_Grundstellung
  AN     MG_WZ_Greifer_zu_Grundstellung
  =      MG_Win_WZ_Greifer_Funktion_gesperrt

  CM     Z_in_WZW_Pos

  LN     ML_WZW_Pos_Z_einsetzen
  A      MG_WZ_Greifer_in_Grundstellung
  AN     MG_Win_WZ_Greifer_Funktion_gesperrt
  =      MG_Win_WZW_Pos_Z_einsetzen

  LN     MG_Spindel_in_WZW_Position
  A      MG_WZ_Greifer_in_Grundstellung
  AN     MG_Win_WZ_Greifer_Funktion_gesperrt
  A      MG_Spindel_mit_Messgeraet
  =      MG_Win_WZW_Position_S

  LN     MG_Sn_I_WZ_gespannt
  O      MG_Sn_I_WZ_entspannt
  AN     MG_Win_WZ_Greifer_Funktion_gesperrt
  =      MG_Win_WZ_spannen

  LN     STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Platz_ausgeklappt
  O      STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Platz_eingeklappt
  A      MG_WZ_Greifer_in_Grundstellung
  AN     MG_Win_WZ_Greifer_Funktion_gesperrt
  =      MG_Win_WZ_Platz_ausklappen

  LN     MG_Win_WZ_Greifer_Funktion_gesperrt
  AN     MG_Win_WZ_spannen
  AN     MG_Win_WZ_Schleuse_auf
  A[
    L      MG_WZ_Greifer_in_Grundstellung
    AN     MG_Win_WZW_Pos_Z_einsetzen
    AN     MG_Win_WZW_Position_S
    AN     MG_Win_WZ_Platz_ausklappen
    O      MG_WZ_Greifer_zu_Grundstellung
  ]
  A      MG_Taste_NC_Start_P_Impuls
  O      ML_Taste_NC_Start_Stop_P_Impuls
  R      O_WZ_Greifer_drehen_cw_rechts
  S      O_WZ_Greifer_drehen_ccw_links

  L      ML_WZ_Greif_Bremse_P_Impuls
  O      ML_WZ_Greif_Spindel_Pos_P_Impuls
  A      I_WZ_Greifer_Brems_Position
  R      O_WZ_Greifer_drehen_cw_rechts
  R      O_WZ_Greifer_drehen_ccw_links

  L      MG_WZ_Greifer_in_Spannen
  =      PN_Fehler_Funktion_OK

EM

;----------------------------
LBL WZ_Greif_rueck_Entspannen          ;15

#if CFG_WZ_Magazin_Schleuse = "aktiv"
  LN     I_WZ_Schleuse_auf
  O      I_WZ_Schleuse_zu
  =      MG_Win_WZ_Schleuse_auf
#endif

  LN     MG_WZ_Greifer_in_Spannen
  AN     MG_WZ_Greifer_Wechseln
  =      MG_Win_WZ_Greifer_Funktion_gesperrt

  LN     MG_Sn_I_WZ_entspannt
  O      MG_Sn_I_WZ_gespannt
  AN     MG_Win_WZ_Greifer_Funktion_gesperrt
  =      MG_Win_WZ_entspannen

  LN     MG_Win_WZ_Greifer_Funktion_gesperrt
  AN     MG_Win_WZ_entspannen
  AN     MG_Win_WZ_Schleuse_auf
  A      MG_Taste_NC_Start_P_Impuls
  O      ML_Taste_NC_Start_Stop_P_Impuls
  R      O_WZ_Greifer_drehen_cw_rechts
  S      O_WZ_Greifer_drehen_ccw_links

  L      ML_WZ_Greif_Bremse_P_Impuls
  O      ML_WZ_Greif_Spindel_Pos_P_Impuls
  A      I_WZ_Greifer_Brems_Position
  R      O_WZ_Greifer_drehen_cw_rechts
  R      O_WZ_Greifer_drehen_ccw_links

  L      MG_WZ_Greifer_in_Entspannen
  =      PN_Fehler_Funktion_OK

EM

;----------------------------
LBL WZ_Greif_rueck_Grundstellung       ;16

#if CFG_WZ_Magazin_Schleuse = "aktiv"
  LN     I_WZ_Schleuse_auf
  O      I_WZ_Schleuse_zu
  =      MG_Win_WZ_Schleuse_auf
#endif

  LN     MG_WZ_Greifer_in_Entspannen
  AN     MG_WZ_Greifer_zu_Entspannen
  =      MG_Win_WZ_Greifer_Funktion_gesperrt

  LN     MG_Sn_I_WZ_gespannt
  O      MG_Sn_I_WZ_entspannt
  AN     MG_Win_WZ_Greifer_Funktion_gesperrt
  =      MG_Win_WZ_spannen

  LN     MG_Win_WZ_Greifer_Funktion_gesperrt
  AN     MG_Win_WZ_spannen
  AN     MG_Win_WZ_Schleuse_auf
  A      MG_Taste_NC_Start_P_Impuls
  O      ML_Taste_NC_Start_Stop_P_Impuls
  R      O_WZ_Greifer_drehen_cw_rechts
  S      O_WZ_Greifer_drehen_ccw_links

  L      ML_WZ_Greif_Bremse_P_Impuls
  O      ML_WZ_Greif_Grundstellung_P_Impuls
  A      I_WZ_Greifer_Brems_Position
  R      O_WZ_Greifer_drehen_cw_rechts
  R      O_WZ_Greifer_drehen_ccw_links

  L      MG_WZ_Greifer_in_Grundstellung
  =      PN_Fehler_Funktion_OK

EM

;----------------------------
LBL Magazin_rechts                     ;17

  LN     I_WZM_Tuer_zu
  =      MG_Win_Magazin_Tuer_schliessen

  LN     I_WZ_Greifer_Grundstellung
  O      I_WZ_Greifer_Spindel_Position
  ON     I_WZ_Greifer_Brems_Position
  =      MG_Win_WZ_Greifer_Grundstellung

#if WZ_Platz_ausklappen_90_Grad = &aktiv
  L      STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Platz_ausgeklappt
  ON     STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Platz_eingeklappt
  =      MG_Win_WZ_Platz_einklappen
#endif

  LN     MG_Win_Magazin_Tuer_schliessen
  AN     MG_Win_WZ_Greifer_Grundstellung
  AN     MG_Win_WZ_Platz_einklappen
  A      MG_Taste_NC_Start
  O[
    L      MG_Taste_NC_Stop
    A      MG_Taste_NC_Start
  ]
  CMT    WZM_rechts_drehen

EM

;----------------------------
LBL Magazin_links                      ;18

  LN     I_WZM_Tuer_zu
  =      MG_Win_Magazin_Tuer_schliessen

  LN     I_WZ_Greifer_Grundstellung
  O      I_WZ_Greifer_Spindel_Position
  ON     I_WZ_Greifer_Brems_Position
  =      MG_Win_WZ_Greifer_Grundstellung

#if WZ_Platz_ausklappen_90_Grad = &aktiv
  L      STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Platz_ausgeklappt
  ON     STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Platz_eingeklappt
  =      MG_Win_WZ_Platz_einklappen
#endif

  LN     MG_Win_Magazin_Tuer_schliessen
  AN     MG_Win_WZ_Greifer_Grundstellung
  AN     MG_Win_WZ_Platz_einklappen
  A      MG_Taste_NC_Start
  O[
    L      MG_Taste_NC_Stop
    A      MG_Taste_NC_Start
  ]
  CMT    WZM_links_drehen

EM

;----------------------------
LBL Magazin_Referenz                   ;19

#if WZ_Magazin = &Impuls
#if WZ_Magazin_Referenz_Sensor = &aktiv
  LN     STG_WZM[BG_WZM_Index_Tool_Call].MG_WZM_Referenz_notwendig
  =      PN_Fehler_Funktion_OK

  L      MG_Taste_NC_Start_P_Impuls
  S      STG_WZM[BG_WZM_Index_Tool_Call].MG_WZM_Referenz_notwendig
  S      STG_WZM[BG_WZM_Index_Tool_Call].MG_WZM_Start

#else
  L      STG_WZM[BG_WZM_Index_Tool_Call].WG_WZM_Ist_Platz
  ==     K+1
  A[
    L      STG_WZM[BG_WZM_Index_Tool_Call].WG_WZM_Ist_2_Platz_Zaehler
    ==     K+1
  ]
  =      PN_Fehler_Funktion_OK
  R      STG_WZM[BG_WZM_Index_Tool_Call].MG_WZM_Referenz_notwendig

  L      MG_Taste_NC_Start_P_Impuls
  =      STG_WZM[BG_WZM_Index_Tool_Call].MG_I_WZM_Referenz

#endif
#endif

#if WZ_Magazin = &Asynchron
*$WS Referenzaufnahme asynchrone Achse über Modul
#endif
EM

;----------------------------
LBL T0_Vorwahl                         ;20

  L      ML_T0_Vorwahl_OK
  =      PN_Fehler_Funktion_OK

  LN     MG_Taste_NC_Start_P_Impuls
  EMT

  L      K+0
  =      NP_W264_Werkzeug_Nummer
  =      WG_Werkzeug_in_Spindel

  L      MG_Eins_Merker
  S      PN_M4538_Vorwahl_Werkzeug
  S      ML_T0_Vorwahl_OK
  S      MG_Platz_Tabelle_pruefen
  S      MG_WZ_Status_lesen

EM

;----------------------------
LBL Grund_Stellung

  L      MG_Sn_I_WZ_gespannt
  AN     MG_Sn_I_WZ_entspannt
  A      I_WZ_Greifer_Grundstellung
  AN     I_WZ_Greifer_Spindel_Position
  A      I_WZ_Greifer_Brems_Position
#if WZ_Zange = &aktiv
  A      I_WZ_Greifer_Zangen_auf
#endif
#if CFG_WZ_Magazin_Schleuse = "aktiv"
  AN     I_WZ_Schleuse_auf
  A      I_WZ_Schleuse_zu
#endif
  =      MG_WZW_Grund_Stellung

  L      MG_WZW_automatisch
  O      MG_WZW_manuell
  O      MG_WZW_Help
  O      MG_WZM_Beladen_aktiv
  EMT

  LN     MG_WZW_Grund_Stellung
  A      MG_Steuer_Spannung_verzoegert_ein
  S      PN_Fehler_WZW_Grund_Stellung

  LN     MG_Sn_I_WZ_gespannt
  O      MG_Sn_I_WZ_entspannt
  =      MG_Win_WZ_spannen

  LN     I_WZ_Greifer_Grundstellung
  O      I_WZ_Greifer_Spindel_Position
  ON     I_WZ_Greifer_Brems_Position
  =      MG_Win_WZ_Greifer_Grundstellung

#if WZ_Zange = &aktiv
  LN     I_WZ_Greifer_Zangen_auf
  =      MG_Win_WZ_Zangen_auf
#endif

#if CFG_WZ_Magazin_Schleuse = "aktiv"
  L      I_WZ_Schleuse_auf
  ON     I_WZ_Schleuse_zu
  =      MG_Win_WZ_Schleuse_zu
#endif

EM

;----------------------------
LBL Service_Reset

  L      MG_Eins_Merker
  R      MG_PLC_Posit_aktiv[KG_Achse_X]
  R      MG_PLC_Posit_aktiv[KG_Achse_Y]
  R      MG_PLC_Posit_aktiv[KG_Achse_Z]
  R      ML_T0_Vorwahl_OK
  R      PN_Fehler_Funktion_OK
  R      PN_Fehler_WZW_Grund_Stellung
  R      PN_Fehler_WZM_Referenz
  R      MG_Win_WZW_Pos_X
  R      MG_Win_WZW_Pos_Y_vor
  R      MG_Win_WZW_Pos_Y
  R      MG_Win_WZW_Pos_Z_ausheben
  R      MG_Win_WZW_Pos_Z_einsetzen
  R      MG_Win_WZW_Position_S
  R      MG_Win_WZ_spannen
  R      MG_Win_WZ_entspannen
  R      MG_Win_Magazin_Tuer_schliessen
  R      MG_Win_WZ_Zangen_auf
  R      MG_Win_WZ_Greifer_drehen
  R      MG_Win_WZ_Greifer_einsetzen
  R      MG_Win_WZ_Greifer_ausheben
  R      MG_Win_WZ_Platz_ausklappen
  R      MG_Win_WZ_Greifer_Grundstellung
  R      MG_Win_WZ_Schleuse_auf
  R      MG_Win_WZ_Schleuse_zu
  R      MG_Win_WZ_Greifer_Funktion_gesperrt
  R      O_WZ_Greifer_drehen_cw_rechts
  R      O_WZ_Greifer_drehen_ccw_links

EM

;----------------------------
LBL WZW_Output_Restore

#ifdef $iTNC530Prog$
  L      NP_M4172_1_PLC_Durchlauf_nach_Netz_Ein
  R      ML_WZ_Greifer_Zangen_zu
  R      ML_WZ_Schleuse_auf
  S      ML_WZ_Schleuse_zu
#endif

  CM     WZ_Greif_Position

  L      ML_WZ_Greifer_Zangen_zu
  =      O_WZ_Greifer_Zangen_zu

#if CFG_WZ_Magazin_Schleuse = "aktiv"
  L      ML_WZ_Schleuse_auf
  =      O_WZ_Schleuse_auf

  L      ML_WZ_Schleuse_zu
  =      O_WZ_Schleuse_zu
#endif

EM

;----------------------------
LBL WZW_Output_Backup

  CM     WZ_Greif_Richtung

  LN     MG_Steuerung_betriebsbereit
  R      O_WZ_Greifer_Zangen_zu
  R      O_WZ_Schleuse_zu
  EMT

  L      O_WZ_Greifer_Zangen_zu
  =      ML_WZ_Greifer_Zangen_zu

#if CFG_WZ_Magazin_Schleuse = "aktiv"
  L      O_WZ_Schleuse_auf
  =      ML_WZ_Schleuse_auf

  L      O_WZ_Schleuse_zu
  =      ML_WZ_Schleuse_zu
#endif

EM
