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 auszugebende 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 Beschreibung ADSLOGDINT). Der Rückgabeparameter enthält den Funktionsfehlercode oder 0 falls erfolgreich.   

FUNCTION ADSLOGLREAL : DINT

VAR_INPUT
    msgCtrlMask     : DWORD;
    msgFmtStr       : T_MaxString;
    lrealArg        : LREAL;
END_VAR

msgCtrlMask : 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 (s. Beschreibung der Funktion ADSLOGDINT).

msgFmtStr : Enthält die auszugebende Meldung. Sie kann das Formatierzeichen ‚%d' für die Ausgabe eines DINT-Wertes an beliebiger Stelle enthalten.

lrealArg : Enthält den in die Meldung einzufügenden numerischen Wert .

 

Beispiel für den Aufruf der Funktion in FBD:

ADSLOGLREAL 2:

Die resultierende Message- Box

ADSLOGLREAL 3:

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:

rtMessageOutput: R_TRIG; (* Declaration*)
bTemperatureTooHigh: BOOL;
udiAdsLogRes: UDINT;
(*--------------------------------------*)
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

TwinCAT v2.7.0

PC or CX (x86)

PLCSystem.Lib

TwinCAT v2.8.0

PC or CX (x86)

TcSystem.Lib

TwinCAT v2.10.0 Build >= 1301

CX (ARM)

TcSystem.Lib