F_BA_LogMessage1

F_BA_LogMessage1 1:

Intern arbeitet die Funktion mit dem Baustein FB_FormatString.
Im ersten Durchlauf wird ein Melde-String aus sLogText erzeugt, welche tArg1 zugeordnet ist. Die zugeordnete Variable muss mit der richtigen Datentypkonvertierung auf tArg1 verknüpft werden, der Text sLogText braucht neben dem Meldetext eine gültige Formatspezifikation.
Dem daraus entstandenen Text wird im zweiten Durchlauf von FB_FormatString ein Textargument in eckigen Klammern vorangestellt.

Beispiel

F_BA_LogMessage1 2:

Die Funktion F_BA_LogMessage1 wird in zehn aufeinanderfolgenden Zyklen durchlaufen, danach nicht mehr. Der Logtyp ist ADSLOG_MSGTYPE_ERROR, das bedeutet, die Meldeausgabe ist vom Typ Fehlermeldung. Der Variable sLogCode wird die Laufvariable i zugeordnet, welche im Text in eckigen Klammern auftritt. Die Eingangsvariable sLogText der Funktion enthält neben dem Text "Meldung" auch noch eine Formatspezifikation "%s", welche den Text "Appendix" der Variable sText1 mit anzeigen lässt. Ohne die Formatspezifikation würde " Appendix " nicht erscheinen.

Ausgabe

F_BA_LogMessage1 3:

Der erzeugte Code dient zur Identifizierung einer bestimmten Stelle im Quellcode. Das oben gezeigte Beispiel dient zur Verdeutlichung der Funktionsweise dieser Funktion. Grundsätzlich sollen zur Erzeugung der Log Messages explizit ein markantes Kürzel (z.B. „IO50“ wenn innerhalb der Methode InitObject in Zeile 50 eine Meldung ausgegeben wird) angegeben sein.

Damit wird ein Fehler zur Laufzeit angezeigt und durch die Tastenkombination „Strg+F“ wird die fehlerhafte Stelle erreicht.

Syntax

FUNCTION F_BA_LogMessage
VAR_INPUT
  nLogType    : DWORD     := ADSLOG_MSGTYPE_ERROR;
  sLogCode    : STRING    := '';
  sLogText    : T_MaxString;
  tArg1       : T_Arg;
END_VAR

F_BA_LogMessage1 4: Eingänge

Name

Typ

Beschreibung

nLogType

DWORD

Logtyp, der als Maske gesetzt werden kann. Die Meldung wird dann je nach Setzen dieser Maske ausgegeben. Die Maske für ADSLOG_MSGTYPE_LOG wird intern mit gesetzt.

sLogCode

STRING

Ein Argument in textueller Form, welches der Meldung vorangestellt wird.

sLogText

T_MaxString

Meldung als Text.

tArg1

T_Arg

Weiterer Meldetext, welcher hinten angestellt wird.

Voraussetzungen

Entwicklungsumgebung

Erforderliche SPS-Bibliothek

TwinCAT3.1 4024.35

Tc3_BA2_Common ab V2.1.20.0