FB_BA_LogMessage

Der Funktionsbaustein dient zum Ausgeben von Meldungen im Ausgabe-Fenster von TwinCAT.
Für jede auszugebende Meldung wird der Symbolpfad des Funktionsbausteins eingefügt, sodass der Benutzer anhand der Meldung die aufrufende Funktionsbaustein-Instanz erkennen kann.
![]() | Instanzen dieses Funktionsbausteins können nicht explizit aufgerufen werden. Es sind separate Funktionen für verschiedene Anwendungsfälle verfügbar, welche im nachfolgenden Teil dieser Dokumentation beschrieben werden. |
![]() | Die Funktionalität zur Ausgabe von Meldungen wird von der Funktion ADSLOGDINT bereitgestellt, welche intern angewendet wird. |
VAR_OUTPUT
sResult : T_MaxSTRING;
sResult: Inhalt der zuletzt ausgegebenen Meldung.
Anwendung
Kontextbezogene Zusatzinformationen
Der Entwickler hat die Möglichkeit ein Kürzel in jeder Meldung auszugeben.
Über dieses Kürzel können Meldungen einfacher im Quellcode lokalisiert werden (wenn z.B. mittels Suchfunktion nach dem ausgegebenen Kürzel gesucht wird).
Unterdrücken zyklisch wiederholter Meldungen
Um das zyklische Ausgeben derselben Meldung zu unterdrücken wird der aktuelle Log-Code mit dem zuletzt angewendeten Log-Code verglichen. Wenn beide Werte übereinstimmen wird die Ausgabe der Meldung unterdrückt, was im Umkehrschluss bedeutet, dass unterschiedliche, aufeinanderfolgende Meldungen angezeigt würden.
Dieses Verhalten kann mit der Option bIgnoreBlock, aus der Funktion Show, beeinflusst werden:
TRUE verhindert das Unterdrücken einer zyklisch wiederholten Meldung.
Beispiel1:
Die Beispielfunktion DoWork() gibt in Zeile 150 eine Warnung aus:
FUNCTION_BLOCK FB_TEST
VAR
fbLogMsg : FB_BA_LogMessage;
END_VAR
FUNCTION DoWork
fbLogMsg.Show(ADSLOG_MSGTYPE_WARN, 'DW150', 'Function not ready.', FALSE;
Beispiel2:
Die Beispielfunktion Init() gibt in Zeile 80 eine Fehlermeldung aus, welche zyklisch wiederholt werden könnte:
FUNCTION_BLOCK FB_TEST
VAR
fbLogMsg : FB_BA_LogMessage;
iState : INT := 0;
sDevice : STRING := 'CX9020';
END_VAR
FUNCTION Init
fbLogMsg.Show1(ADSLOG_MSGTYPE_ERROR, 'I80', 'device %s has an Invalid state "%d".', F_STRINGEx(sDevice), F_INT(iState), TRUE;
Voraussetzungen
Entwicklungsumgebung | Erforderliche Bibliothek | Erforderliche Function |
---|---|---|
TwinCAT3.1 4022.16 | Tc3_BA_Common ab V1.0.4.3 | TF8040 | TwinCAT Building Automation ab V1.0.5.0 |