*-----------------------------------------------------------------------------
*  Logbuch
*-----------------------------------------------------------------------------
*  Modul-Beschreibung
*    Zur Diagnose bzw. Fehleranalyse von sporadischen Ereignissen besteht
*    die Möglichkeit zusätzliche Informationen im Logbuch abzulegen.
*    Im Beispiel werden bei jedem TOOL CALL Daten des WZW gespeichert.
*
*-----------------------------------------------------------------------------

#define /s    KL_Prioritaet_Info                       K +0
#define /s    KL_Datentyp_Wort                         K +6
#define /s    KL_Anzahl_4_Operanden                    K +4
#define /s    KL_Mode_rechts_Vorzeichen                K +2
#define /s    KL_nach_Komma_0                          K +0
#define /s    KL_vor_Komma_5                           K +5

#define /s    ML_Strobe_TOOL_CALL                      M
#define /s    ML_WZW_Info_in_Logbuch_schreiben         M

#define /s    BL_Identifier                            B


#include Mac_Lib.inc

GLOBAL Logbuch

;----------------------------
LBL Logbuch
;----------------------------

  LN     MG_zusaetzliche_Logbuch_Eintraege_aktiv
  EMT

  L      NP_M4073_Strobe_TOOL_CALL
  AN     ML_Strobe_TOOL_CALL
  A      ML_WZW_Info_in_Logbuch_schreiben
  S      PN_Fehler_Logbuch_schreiben

  L      NP_M4073_Strobe_TOOL_CALL
  AN     ML_Strobe_TOOL_CALL
  S      ML_WZW_Info_in_Logbuch_schreiben

  L      NP_M4073_Strobe_TOOL_CALL
  =      ML_Strobe_TOOL_CALL

  LN     ML_WZW_Info_in_Logbuch_schreiben
  EMT

  RPLY   BL_Identifier
  <>     K+0
  EMT

  SUBM   Logbuch_schreiben
  =      BL_Identifier
  ==     K+0
  S      PN_Fehler_Submit_Spawn_Queue_voll

EM

;----------------------------
LBL Logbuch_schreiben

  PS     NP_W262_Werkzeug_Platz_Nummer
  PS     KL_Mode_rechts_Vorzeichen
  PS     KL_nach_Komma_0
  PS     KL_vor_Komma_5
  PS     K &SG_Zahlenwert
  CM     9051                          ;Binärzahl in Dezimalstring wandeln (Format)
  M_Modul_Fehler_anzeigen

  PS     NP_W264_Werkzeug_Nummer
  PS     KL_Mode_rechts_Vorzeichen
  PS     KL_nach_Komma_0
  PS     KL_vor_Komma_5
  PS     K &SG_Logbuch
  CM     9051                          ;Binärzahl in Dezimalstring wandeln (Format)
  M_Modul_Fehler_anzeigen

  L      S"W262: "
  +      SG_Zahlenwert
  +      S" W264: "
  +      SG_Logbuch
  +      S" M4520..24:"
  =      SG_Logbuch

  L      K+0
  =X

  REPEAT
    LB     NP_M4520_TOOL_CALL_2_Strobe
    BTX
    IFT
      L      SG_Logbuch
      +      S" 1"
      =      SG_Logbuch
    ELSE
      L      SG_Logbuch
      +      S" 0"
      =      SG_Logbuch
    ENDI

    INCX

    LX
    >      K+4
  UNTILT

  PS     K &SG_Logbuch
  PS     S"WZW"
  PS     KL_Prioritaet_Info
  CM     9275                          ;Schreiben von Zeichenketten in das Logbuch der TNC
  M_Modul_Fehler_anzeigen

  L      ML_WZW_Info_in_Logbuch_schreiben
  R      ML_WZW_Info_in_Logbuch_schreiben

EM
