FB_CTRL_LOG_DATA
Der Funktionsbaustein ermöglicht das Erstellen eines Log-Files im *.csv Format (comma separated values), in dem maximal 10 Größen aufgezeichnet werden können. In die erste Zeile dieser Datei werden die vom Benutzer angegebenen Spaltenüberschriften geschrieben. In die folgenden Zeilen werden die Eingangsdaten in zeitlich äquidistanten Abständen geschrieben. Die einzelnen Einträge werden durch ein Komma getrennt. Mit dem Parameter tLogCycleTime
wird der zeitliche Abstand der Eintragungen festgelegt. Wenn zum Beispiel tLogCycleTime := T\#2s
gewählt wird, wird alle 2s ein Eintrag in die Datei geschrieben. Die erzeugten Dateien können beispielsweise mit einem Tabellenkalkulationsprogramm ausgewertet werden.
In die erste Spalte der Datei wird der Zeitstempel des Log-Eintrags in s gespeichert. In den weiteren Spalten folgen die Daten des Bausteineingangs fLogData
.
Wenn der Mode auf Bevor die Log-Datei ausgewertet werden kann, muss sie unbedingt durch ein Umschalten in den |
Der Baustein ermöglicht es, mit und ohne einen externen Puffer zu arbeiten.
Betrieb ohne externen Puffer: | Wenn das Loggen einer Zeile gestartet ist, wird der Ausgang |
Betrieb mit externem Puffer: | Der Benutzer muss einen Puffer des Typs |
Wenn eine Pufferadresse und eine Puffergröße ungleich Null parametriert wird, wird der externe Puffer genutzt. Ohne einen externen Puffer wird ein interner Puffer mit einer Größe von 255 Byte verwendet. |
VAR_INPUT
VAR_INPUT
fLogData : T_CTRL_LOGGER_DATA;
eMode : E_CTRL_MODE;
END_VAR
VAR_GLOBAL CONSTANT
nCTRL_LOGGER_DATA_ARRAY_SIZE : UINT := 10;
END_VAR
TYPE T_CTRL_LOGGER_DATA :
ARRAY [1..nCTRL_LOGGER_DATA_ARRAY_SIZE] OF FLOAT;
END_TYPE
Name | Typ | Beschreibung |
---|---|---|
fLogData | T_CTRL_ | Array mit den Werten, die in das Log-File geschrieben werden. |
eMode | E_CTRL_MODE | Eingang, der die Betriebsart des Bausteins festlegt. |
VAR_OUTPUT
VAR_OUTPUT
eState : E_CTRL_STATE;
bFileOpen : BOOL
bFileClosed : BOOL
fBufferUsage : FLOAT
bBusy : BOOL
eErrorId : E_CTRL_ERRORCODES;
bError : BOOL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
eState | E_CTRL_STATE | State des Funktionsbausteins |
bFileOpen | BOOL | Ein TRUE an diesem Ausgang signalisiert, dass die Datei erfolgreich geöffnet wurde. |
bFileClosed | BOOL | Ein TRUE an diesem Ausgang signalisiert, dass die Datei erfolgreich geschlossen wurde. |
fBufferUsage | FLOAT | Aktueller Füllstand des externen Puffers in Prozent |
bBusy | BOOL | Ein TRUE an diesem Ausgang signalisiert, dass das Loggen einer Zeile aktiv ist. |
eErrorId | E_CTRL_ERRORCODES | Liefert bei einem gesetzten |
bError | BOOL | Wird TRUE, sobald ein Fehler eintritt. |
VAR_IN_OUT
VAR_IN_OUT
stParams : ST_CTRL_LOG_DATA_PARAMS;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
stParams | ST_CTRL_LOG_DATA_PARAMS | Parameterstruktur des Log-Bausteins |
stParams
besteht aus den folgenden Elementen:
TYPE ST_CTRL_LOG_DATA_PARAMS:
STRUCT
tLogCycleTime : TIME := T#0ms;
tTaskCycleTime : TIME := T#0ms;
sFileName : STRING;
sNetId : T_AmsNetId := '';
tFileOperationTimeou : TIME := T#3s;
nNumberOfColumn : INT(1..10);
arColumnHeadings : ARRAY [1..10] OF STRING;
bAppendData : BOOL := FALSE;
bWriteTimeStamps : BOOL := TRUE;
bWriteColumnHeadings : BOOL := TRUE;
bWriteAbsoluteTimeStamps : BOOL := FALSE
pLogBuffer_ADR : POINTER TO BYTE;
nLogBuffer_SIZEOF : UDINT;
END_STRUCT
END_TYPE
Name | Typ | Beschreibung |
---|---|---|
tLogCycleTime | TIME | Zykluszeit, mit der Einträge in das Log-File geschrieben werden. Diese muss größer oder gleich der TaskCycleTime sein. |
tTaskCycleTime | TIME | Zykluszeit, mit der der Funktionsbaustein aufgerufen wird. Diese entspricht der Task-Zykluszeit der aufrufenden Task, wenn der Baustein in jedem Zyklus aufgerufen wird. |
sFileName | STRING | Name und Pfad des Log-Files, z.B.: d:\Logfile.csv |
sNetId | T_AmsNetId | Das Log-File wird auf das System mit der hier angegebenen NetId geschrieben. |
tFileOperation | TIME | Timeout für alle Dateioperationen |
nNumberOf | INT | Anzahl der Spalten, die in die Datei geschrieben werden (maximal 10) |
arColumn | ARRAY | Array aus Strings, die die Spaltenüberschriften enthalten. |
bAppendData | BOOL | Wenn dieser Parameter auf TRUE gesetzt ist, wird beim erneuten Öffnen einer Datei der neue Datensatz angehängt, anderenfalls wird die Datei ohne Rückfrage überschrieben und somit der bereits bestehende Inhalt gelöscht. |
bWriteTime | BOOL | Wenn dieser Parameter auf TRUE gesetzt ist, wird in die erste Spalte der Datei der Zeitstempel der Messung geschrieben. |
bWriteColumn | BOOL | Wenn dieser Parameter auf TRUE gesetzt ist, werden in die 1. Zeile der Datei die Spaltenüberschriften geschrieben. |
bWriteAbsolute | BOOL | Wenn dieser Parameter auf TRUE gesetzt wird, wird als Timestamp die lokale NT-Zeit verwendet. In diesem Fall beträgt die minimale |
pLogBuffer_ADR | POINTER TO BYTE | Adresse des externen |
nLogBuffer_ | UDINT | Größe des |
Hinweis | |
Fehler beim Dateihandling Der Parametersatz darf nur dann geändert werden, wenn die Datei geschlossen ist (bFileClosed = TRUE). Anderenfalls kann es zu Fehlern bei dem Dateihandling kommen. |