ADSLOGSTR

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 STRING (Zeichenkette) an eine von dem Benutzer vorgebbare Stelle eingearbeitet werden. Dazu muss der angelegte Formatstring an der gewünschten Stelle die Zeichenfolge %s 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 ADSLOGSTR : DINT
Eingänge
VAR_INPUT
msgCtrlMask : DWORD;
msgFmtStr : T_MaxString;
strArg : T_MaxString;
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 %s für die Ausgabe eines Text-Argumentes an beliebiger Stelle enthalten. Information: Die Länge der Meldung ist auf 253 Bytes begrenzt (entspricht 253 Zeichen bei Strings im Standardformat). | |
strArg | Enthält den in die Meldung einzufügenden String. |
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 String‚ welcher in der Variable strSFCErrorStep steht, von dem SPS-Programmierer in die Meldung eingefügt. Die Einfügestelle ist durch das Zeichen %s im Formatstring markiert.
Beispiel für den Aufruf der Funktion in ST:
PROGRAM MAIN
VAR
strSFCErrorStep : STRING; (* Declaration*)
rtMessageOutput: R_TRIG;
bSFCError: BOOL;
END_VAR
rtMessageOutput(CLK := bSFCError);
IF rtMessageOutput.Q THEN
udiAdsLogRes := ADSLOGSTR( msgCtrlMask := ADSLOG_MSGTYPE_ERROR OR ADSLOG_MSGTYPE_MSGBOX, msgFmtStr := 'PLC Msg.: Guarding time executed in SFC step: %s', strArg := strSFCErrorStep);
END_IF;
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken (Kategoriegruppe) |
---|---|---|
TwinCAT v3.1.0 | PC oder CX (x86, x64, Arm®) | Tc2_System (System) |