Der Funktionsbaustein FB_WriteFile ermöglicht das Öffnen bzw. die Erstellung einer Datei im Dateisystem der Steuerung oder in einem erweiterten Speicher (z. B. SD-Speicherkarte) und das Schreiben des angegebenen Inhalts in die Datei. Informationen zum Dateisystem finden Sie im Kapitel zur Flash-Speicheranordnung im Programmierhandbuch Ihrer Steuerung. Das Dateiformat und der zu schreibende Inhalt haben keinen Einfluss auf den Funktionsbaustein.
Der Wert der ET_ModeFileOpen-Enumeration 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.
Der in die Datei zu schreibende Inhalt wird über einen Zeiger auf den Puffer im Anwendungsspeicher bereitgestellt, in dem die Daten gespeichert sind. Der Umfang der Daten wird in Byte angegeben und darf die Puffergröße nicht überschreiten.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_xExecute |
BOOL |
Bei einer steigenden Flanke an diesem Eingang öffnet bzw. erstellt der Funktionsbaustein die angegebene Datei und schreibt den angegebenen Inhalt in die Datei. Siehe auch das Kapitel Verhalten der Funktionsbausteine mit dem Eingang i_xExecute. |
i_sFilePath |
STRING[255] |
Dateipfad der Datei. |
i_etModeFileOpen |
ET_ModeFileOpen |
Gibt den Modus für das Öffnen der 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_pbyBuffer |
POINTER TO BYTE |
Zeiger auf den von der Anwendung bereitgestellten Puffer. Er enthält den Inhalt, der in die Datei geschrieben werden soll. |
i_udiSize |
UDINT |
Gibt die Anzahl der zu schreibenden Bytes an. Der Wert darf die Größe des Puffers nicht überschreiten. |
Beispiel:
fbWriteFile.i_pbyBuffer := ADR(abyBuffer);
fbWriteFile.i_udiSize := SIZEOF(abyBuffer);
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.