-

FILE_READ

TypFunktionsbaustein
BeschreibungLiest Daten aus einer Datei, die zuvor mit dem Funktionsbaustein FILE_OPEN geöffnet wurde.

Geben Sie das gültige Datei-Handle der Datei, aus der gelesen werden soll, am Eingang Handle an.

Erzeugen Sie einen Datenpuffer in ausreichender Größe für die zu lesenden Daten (Ein-/Ausgang Buffer). Der Datenpuffer für die zu lesenden Daten kann auf verschiedene Weise deklariert werden. Der Typ des Datenpuffers ist ein anwenderdefinierter Datentyp, z.B. ein Byte-Array (siehe folgendes Beispiel). Zeichenfolgen können nicht direkt als Datenpuffer verwendet werden. Sollen die gelesenen Daten als Zeichenfolge behandelt werden, müssen diese zunächst als Array gespeichert und dann mit dem Funktionsbaustein BUF_TO_STRING in eine Zeichenfolge umgewandelt werden.

Beispiel: Byte-Array verwendet als Datenpuffer

Die Anzahl der zu lesenden Bytes wird am Eingang MaxLength angegeben.

Der Funktionsbaustein wird mit einer steigenden Flanke am Eingang Execute aktiviert. Die Ausführung des Funktionsbausteins ist abgeschlossen, wenn der Ausgang Done auf 1 gesetzt wird. Tritt bei der Ausführung ein Fehler auf, wird der Ausgang Error auf 1 gesetzt. Die ErrorID gibt die Nummer der Fehlerursache an.

Nach erfolgreicher Ausführung werden die Daten in den Puffer kopiert. Die Anzahl der gelesenen Zeichen wird am Ausgang LengthRead zurückgeliefert. Die Anzahl der gelesenen Zeichen kann kleiner sein als MaxLength. Dies ist dann der Fall, wenn das Dateiende erreicht wurde, bevor die Anzahl der angegebenen Zeichen verarbeitet wurde.
Hinweise
  • Der Status der Ausgänge Done, LengthRead, Error und ErrorID bleibt solange erhalten, bis am Eingang Execute eine fallende Flanke erkannt wird.
  • Funktionsbausteine müssen instanziiert werden. Der FB-Instanzname muss in der 'Variablen'-Tabelle der POE deklariert werden, in welcher der FB verwendet werden soll. Der Instanzname muss innerhalb der POE eindeutig sein.
ParameterEingänge

Execute

Handle

MaxLength

Ein-/Ausgang

Buffer

Ausgänge

Done

LengthRead

Error

ErrorID