Der Funktionsbaustein FB_CsvWrite ermöglicht das Schreiben von Werten in eine CSV-Datei, die sich im Dateisystem der Steuerung oder in einem Erweiterungsspeicher (z. B. SD-Speicherkarte) befindet. Er ermöglicht ebenfalls die Erstellung einer neuen Datei. Informationen zum Dateisystem finden Sie im Kapitel zur Flash-Speicheranordnung im Programmierhandbuch Ihrer Steuerung.
Die in die Datei zu schreibenden Daten werden in dem von der Anwendung bereitgestellten Puffer als Variablen des Typs STRING gespeichert. Deklarieren Sie den Puffer in der Anwendung als zweidimensionales ARRAY des Typs STRING. Verwenden Sie den Eingang i_stTableWriteValues zur Bereitstellung der Dimensionen und des Zeigers des Arrays für den Funktionsbaustein. Weitere Informationen finden Sie in der Struktur ST_CsvTable.
Bei der Ausführung des Funktionsbausteins wird der Eingang i_stTableReadValues.pbyTable intern zur weiteren Verwendung gespeichert. Wenn während der Ausführung des Funktionsbausteins (q_xBusy = TRUE) eine Online-Änderung erkannt wird, werden die intern verwendeten Variablen mit dem aktuellen Wert des Eingangs aktualisiert.
Das zweidimensionale Array repräsentiert die Tabellenstrukture mit Zeilen und Spalten. Jede Zeile entspricht einem Datensatz. Die Anzahl der Spalten entspricht der maximalen Anzahl an Werten, die ein Datensatz aufnehmen kann.
Der Eingang i_stWriteParameter stellt den Parameter zur Steuerung des Schreibvorgangs bereit. Verwenden Sie den Parameter sDelimiter zur Festlegung des Zeichencodes für die Trennzeichen, die zur Trennung der einzelnen Werte in der Datei eingefügt werden. Der Wert des Parameters etModeFileOpen ermöglicht Ihnen die Angabe, ob die Daten an eine bereits vorhandene Datei angefügt werden sollen oder ob eine neue Datei erstellt werden soll. Mithilfe der Parameter uiNumOfRows und uiNumOfColumns können Sie die Menge der zu schreibenden Daten festlegen.
Der Zeichencode LF (0A hex) wird eingefügt, um einen Zeilenumbruch zwischen zwei Datensätzen auszulösen.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_xExecute |
BOOL |
Bei einer steigenden Flanke an diesem Eingang öffnet bzw. erstellt der Funktionsbaustein die angegebene CSV-Datei und schreibt den angegebenen Inhalt in die Datei. |
i_sFilePath |
STRING[255] |
Dateipfad der CSV-Datei. Wenn ein Dateiname ohne Dateierweiterung angegeben wird, fügt der Funktionsbaustein die Erweiterung .csv hinzu. |
i_stWriteParameter |
ST_WriteParameter |
Gibt den Modus für das Öffnen der CSV-Datei und den in die Datei zu schreibenden Inhalt an. |
i_timTimeout |
TIME |
Nach Ablauf dieses Zeitraums wird die Ausführung abgebrochen. Wenn der Wert T#0s ist, wird der Standardwert T#2s angewendet. |
i_stTableWriteValues |
ST_CsvTable |
Struktur zur Übergabe des von der Anwendung bereitgestellten Puffers an den Funktionsbaustein (siehe die ST_CsvTable-Struktur). |
Ausgang |
Datentyp |
Beschreibung |
---|---|---|
q_xDone |
BOOL |
Wenn dieser Ausgang auf TRUE gesetzt wird, wurde die Ausführung erfolgreich abgeschlossen. |
q_xBusy |
BOOL |
Wenn dieser Ausgang auf TRUE gesetzt wird, bedeutet das, dass der Funktionsbaustein ausgeführt wird. |
q_xError |
BOOL |
Wenn dieser Ausgang auf TRUE gesetzt wird, wurde ein Fehler identifiziert. Für weitere Informationen, siehe q_etResult und q_etResultMsg. |
q_etResult |
ET_Result |
Stellt Diagnose- und Statusinformationen in Form numerischer Werte bereit. Wenn q_xBusy = TRUE, dann gibt der Wert den Status an. Wenn q_xDone oder q_xError = TRUE, dann entspricht der Wert dem Ergebnis. |
q_sResultMsg |
STRING[80] |
Stellt zusätzliche Diagnose- und Statusinformationen in Form von Textmeldungen bereit. |
q_udiFileSize |
UDINT |
Gibt die Dateigröße der zuletzt verarbeiteten Datei in Byte an. |
Der Funktionsbaustein stellt Eingänge und/oder Ein-/Ausgänge vom Typ POINTER TO… oder REFERENCE TO… bereit. Mithilfe eines derartigen Zeigers bzw. einer derartigen Referenz greift der Funktionsbaustein auf den adressierten Speicherbereich zu.