Funktionsblock FS_READLINE

Der Funktionsblock FS_READLINE liest Daten zeilenweise aus einer Datei.

Achtung: Beim Lesen von sehr grossen Dateien kann die SPS oder das gesamte System abstürzen und nicht mehr gestartet werden.

Hinweis: Die maximale lesbare Grösse einer Zeile beträgt als Sicherheitsgründen 1024'000 Bytes.

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 LINE

Definiert die Zeile, welche gelesen werden sollen. Die erste Zeile beginnt mit der Nummer 0.

Eingang ENDING

Definiert den Zeilenumbruch. Dieser wird mit Escapes angegeben: "\r\n". Wird der Eingang nicht definiert, so wird "\n" angenommen.

Bei folgenden Zeichen wird der Escape beachtet:

  • "\t" (ASCII 9 (0x09)), ein Tabulatorzeichen.
  • "\n" (ASCII 10 (0x0A)), einen Zeilenvorschub (Line Feed).
  • "\r" (ASCII 13 (0x0D)), ein Wagenrücklaufzeichen (Carriage Return).
  • "\0" (ASCII 0 (0x00)), das NUL-Byte.
  • '\xEF' Schreibform für Bytes.

Hinweis: Damit auch binäre Zeichen, wie z.B. '\xEF' definiert werden können, müssen diese in einfachen Anführungszeichen definiert werden.

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 gelesene Zeile, inklusive dem Zeilenende 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.