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 bitte, dass auch hier, wie im Beispiel gezeigt, die Funktion flankengesteuert aufgerufen werden muss (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). Aufzählung aller z. Zt. in der Bibliothek als globale Konstanten implementierten Kontrollmasken für die Meldungsausgabe (siehe Beschreibung der Funktion ADSLOGDINT). |
msgFmtStr | T_MaxString | Enthält die auszugebende Meldung (Typ: T_MaxString). Sie kann das Formatierzeichen %d für die Ausgabe eines DINT-Wertes an beliebiger Stelle enthalten. |
lrealArg | LREAL | Enthält den in die Meldung einzufügenden numerischen Wert. |
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) |