Funktionsblock FS_READ

Der Funktionsblock FS_READ liest Daten aus einer Datei.

Achtung: Beim Lesen von sehr grossen Dateien kann die SPS oder das gesamte System abstürzen und nicht mehr gestartet werden. Verwenden Sie nur mit Vorsicht den Eingang LENGTH=0.

Das Dateisystem muss vorher mittels FS_INIT initialisiert worden sein. Alle Operationen erfolgen dabei asynchron pro angelegtem Speichermedium.

Eingang READ

Bei einer positiven Flanke werden die Daten vom Speichermedium gelesen.

Eingang DEV

Definiert das Gerät, von wo aus auf die Dateien zugegriffen werden soll. Das Gerät wird pro Projekt verwendet und kann im Kontextmenü unter Projekt Externer Speicher verwaltet werden.

Eingang PATH

Gibt den Pfad zur Datei auf dem Speichermedium an. Der Pfad entspricht dabei einem Unix-Dateipfad im UTF-8 Format, falls dieses unterstützt wird. Der Pfad wird wie folgt dargestellt:

Ordner/Unterordner/Datei.txt

Eingang OFFSET

Definiert das Offset in Bytes, von welchem aus gelesen werden soll. Ist kein Offset definiert, wird vom Anfang der Datei gelesen.

Eingang LENGTH

Definiert die maximale Länge, bis das Lesen beendet wird. Ist der Eingang nicht definiert, so wird bis ans Dateiende gelesen.

Hinweis: Die maximale lesbare Grösse bei LENGTH=0 beträgt als Sicherheitsgründen 1024'000 Bytes.

Ausgang DONE

Der Ausgang gibt bei Erfolg einen Impuls zurück, um die nächste Operation durchzuführen. Der Impuls erfolgt beim Beenden des Vorgangs, auch wenn ein Fehler aufgetreten ist.

Ausgang DATA

Gibt die gelesenen Daten zurück. Der Zustand wird für die spätere Verwendung gespeichert.

Ausgang EOF

Wurde das Ende der Datei erreicht, ist der Eingang wahr.

Ausgang BOM

Wurde das UTF-8 Byte Order Mark gefunden, ist der Ausgang wahr. Das BOM wird bei jedem Lesevorgang ermittelt.

Ausgang ERROR

Gibt im Fehlerfall einen Text mit einer Fehlermeldung zurück. Dieser ist FALSE, wenn kein Fehler aufgetreten ist. Der Zustand wird für die spätere Verwendung gespeichert.

Mögliche Ursachen:

  • Der Dienst des Speichermediums wurde nicht gestartet.
  • Der Speicher wurde nicht initialisiert.
  • Die Logindaten sind ungültig.
  • Der entfernte Server konnte nicht erreicht werden.
  • Das Speichermedium existiert nicht.
  • Der angegebene Pfad ist ungültig.