| Typ | Funktionsbaustein | 
| Beschreibung | Liest 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.
TYPEFileBuffer : ARRAY [1..100] OF BYTE;
 END_TYPE
 
 Die Größe des Datenpuffers beträgt in diesem Fall 100 Zeichen.
 | 
| 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. | 
| Parameter | Eingänge  Execute 
 
| Datentyp: | BOOL |  
| Beschreibung: | Liest Daten aus der Datei, wenn eine steigende Flanke erkannt wurde. |   Handle 
 
| Datentyp: | UINT |  
| Beschreibung: | Datei-Handle der Datei, aus der Daten gelesen werden sollen. |   MaxLength 
Ein-/Ausgang
 
| Datentyp: | ANY_INT |  
| Beschreibung: | Anzahl der zu lesenden Zeichen. Der Wert muss größer oder gleich 0 sein. |   Buffer 
Ausgänge
 
| Datentyp: | ANY |  
| Beschreibung: | Datenpuffer für die zu lesenden Daten. |   Done 
 
| Datentyp: | BOOL |  
| Beschreibung: | 
| 0 | Der Funktionsbaustein wurde nicht ausgeführt. |  
| 1 | Der Funktionsbaustein wurde ausgeführt. |  |   LengthRead 
 
| Datentyp: | UDINT |  
| Beschreibung: | Anzahl der gelesenen Zeichen. |   Error 
 
| Datentyp: | BOOL |  
| Beschreibung: | 
| 0 | Beim Lesen ist kein Fehler aufgetreten. |  
| 1 | Beim Lesen ist ein Fehler aufgetreten. |  |   ErrorID 
 
| Datentyp: | UINT |  
| Beschreibung: | Fehlernummer des beim Lesen der Datei aufgetretenen Fehlers: 
| 0 | Keine Fehlerinformationen vorhanden. |  
| 1 | Ungültiges Datei-Handle. |  
| 10 | Dateiende erreicht. |  
| 12 | Die Anzahl der zu lesenden Zeichen ist größer als der Datenpuffer. |  
| 14 | Ungültige Länge. Der Wert muss >= 0 sein. |  
| 22 | Es konnten keine Daten gelesen werden. |  |  |