ADSLOGLREAL

ADSLOGLREAL 1:

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

ADSLOGLREAL 2: 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:

ADSLOGLREAL 3:

Die resultierende Message-Box:

ADSLOGLREAL 4:

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)