ADSLOGLREAL

Die Funktion gibt bei Aufruf eine Message-Box mit einem vorgebbaren Text auf den Bildschirm aus und schreibt einen Eintrag in das Ereignislogbuch des Systems. In den auszugebenden Text kann ein LREAL-Wert (Gleitkommazahl) an eine von dem Benutzer vorgebbare Stelle eingearbeitet werden. Dazu muss der angelegte Formatstring an der gewünschten Stelle die Zeichenfolge ‚%f' enthalten. Bedenken Sie, dass die Funktion flankengesteuert aufgerufen werden muss, wie im Beispiel gezeigt (siehe auch Hinweis bei Beschreibung ADSLOGDINT). Der Rückgabeparameter enthält den Funktionsfehlercode oder 0 falls erfolgreich.
FUNCTION ADSLOGLREAL : DINT
Eingänge
VAR_INPUT
msgCtrlMask : DWORD;
msgFmtStr : T_MaxString;
lrealArg : LREAL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
msgCtrlMask | DWORD | Kontrollmaske, die den Typ und die Wirkung der Meldungsausgabe bestimmt (siehe separate Tabelle). |
msgFmtStr | Enthält die auszugebende Meldung. Sie kann das Formatierungszeichen %f für die Ausgabe eines LREAL-Wertes an beliebiger Stelle enthalten. Information: Die Länge der Meldung ist auf 253 Bytes begrenzt (entspricht 253 Zeichen bei Strings im Standardformat). | |
lrealArg | LREAL | Enthält den in die Meldung einzufügenden numerischen Wert. |
Konstante | Beschreibung |
---|---|
ADSLOG_MSGTYPE_HINT | Meldungstyp ist Hinweis. |
ADSLOG_MSGTYPE_WARN | Meldungstyp ist Warnung. |
ADSLOG_MSGTYPE_ERROR | Meldungstyp ist Fehler. |
ADSLOG_MSGTYPE_LOG | Meldung wird in das Logbuch geschrieben. |
ADSLOG_MSGTYPE_MSGBOX | Meldung wird in einer Messagebox ausgegeben. |
ADSLOG_MSGTYPE_STRING | Meldung ist direkt angegebener String (default). |
Die Kontrollmasken können in der gewünschten Kombination mit ODER verknüpft werden.
Beispiel für den Aufruf der Funktion in FBD:

Die resultierende Message-Box:

Hierbei wird der LREAL-Wert 187.203045 in eine Meldung eingefügt. Die Einfügestelle ist durch das Zeichen %f im Formatstring markiert. Die Zahl wird bei der Ausgabe nach der sechsten Nachkommastelle abgeschnitten.
Beispiel für den Aufruf der Funktion in ST:
PROGRAM MAIN
VAR
rtMessageOutput: R_TRIG; (* Declaration *)
bTemperatureTooHigh: BOOL;
udiAdsLogRes: UDINT;
END_VAR
rtMessageOutput(CLK := bTemperatureTooHigh);
IF rtMessageOutput.Q THEN
udiAdsLogRes := ADSLOGLREAL( msgCtrlMask := ADSLOG_MSGTYPE_HINT OR ADSLOG_MSGTYPE_MSGBOX, msgFmtStr := 'PLC Msg.: Max Temp. reached ! Temperature: %f', lrealArg := 187.203045);
END_IF;
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken (Kategoriegruppe) |
---|---|---|
TwinCAT v3.1.0 | PC oder CX (x86, x64, Arm®) | Tc2_System (System) |