FB_BinaryReader

 

FB_BinaryReader - Allgemeine Informationen

Übersicht

Typ

Funktionsbaustein

Verfügbar ab

V1.0.3.0

Übernommen aus

-

Implementiert

-

Versionen:

Aktuelle Version

Aufgabe

Effizientes Lesen beliebiger Datenstrukturen aus einer Binärdatei.

Beschreibung

Der Funktionsbaustein liest die in i_diBufferSize angegebene Anzahl von Bytes aus einer Datei, die zuvor mit FB_BinaryWriter erzeugt wurde, und speichert das Gelesene an der über i_dwBufferAdr angegebenen Adresse im Speicher. An der Position von i_dwBufferAdr muss entsprechend viel Speicher reserviert sein.

Der Lesevorgang startet bei einer positiven Flanke an i_xExecute und hält bei Erkennung eines Fehlers oder nach erfolgreichem Lesen aller Daten an. Während des Lesevorgangs darf kein Parameter (außer i_xExecute) geändert werden. Zudem darf auf den Speicherbereich, auf den i_dwBufferAdr zeigt, nicht schreibend zugegriffen werden.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_xExecute

BOOL

FALSE -> TRUE: Baustein wird aktiviert. Der Lesevorgang beginnt.

i_sFileName

STRING[80]

Name der Textdatei, aus der Variablen ausgelesen werden sollen.

i_diBufferSize

DINT

Anzahl der zu lesenden Bytes

i_dwBufferAdr

DWORD

Adresse des Arrays, in dem die Daten gespeichert werden sollen. Es muss entsprechend viel Speicher reserviert sein.

Ausgang

Datentyp

Beschreibung

q_xBusy

BOOL

TRUE: Der Lesevorgang ist aktiv.

q_xDone

BOOL

Der Lesevorgang ist abgeschlossen

q_etDiag

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose.

Ein Wert ungleich ET_Diag.Ok entspricht einer Diagnosemeldung.

q_etDiagExt

ET_DiagExt

POU-spezifischer, diagnosebezogener Ausgang.

q_etDiag = ET_Diag.Ok -> Statusmeldung

q_etDiag <> ET_Diag.Ok -> Diagnosemeldung

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Executing

128

Version

OK

WaitForExecute

180

Warten auf Ausführung.

FileHandlingInvalid

FileNotExisting

104

Die Datei ist nicht vorhanden.

FileHandlingInvalid

FileReadingInvalid

106

Fehler beim Auslesen aus Datei.

FileHandlingInvalid

TooManyFilesOpen

105

Es sind zu viele Dateien geöffnet.

UnexpectedProgramBehavior

UnexpectedFeedback

1

Es ist ein unbeabsichtigter Fehler während der Ausführung aufgetreten.

Executing

Enumerationsname:

Executing

Enumerationswert:

128

Beschreibung:

Version

Die Daten werden ausgelesen.

FileNotExisting

Enumerationsname:

FileNotExisting

Enumerationswert:

104

Beschreibung:

Die Datei ist nicht vorhanden.

Problem

Ursache

Lösung

-

Die Datei ist nicht vorhanden.

Kopieren Sie die Datei in das Flash-Laufwerk der Steuerung.

-

Auf den Eingang i_sFilename wurde ein nicht existierender Dateiname angewendet.

Überprüfen Sie den Dateinamen an i_sFilename.

FileReadingInvalid

Enumerationsname:

FileReadingInvalid

Enumerationswert:

106

Beschreibung:

Fehler beim Auslesen aus Datei.

Problem

Ursache

Lösung

-

Die Datei ist beschädigt.

Erstellen Sie die Datei neu.

TooManyFilesOpen

Enumerationsname:

TooManyFilesOpen

Enumerationswert:

105

Beschreibung:

Es sind zu viele Dateien geöffnet.

Problem

Ursache

Lösung

-

Es sind zu viele Dateien geöffnet.

Schließen Sie mit SystemInterface.FC_CloseFile nicht mehr benötigte Dateien.

UnexpectedFeedback

Enumerationsname:

UnexpectedFeedback

Enumerationswert:

1

Beschreibung:

Es ist ein unbeabsichtigter Fehler während der Ausführung aufgetreten.

Problem

Ursache

Lösung

-

Es ist ein Fehler in der internen Abarbeitung aufgetreten.

Es ist ein Fehler in der internen Abarbeitung aufgetreten.

WaitForExecute

Enumerationsname:

WaitForExecute

Enumerationswert:

180

Beschreibung:

Warten auf Ausführung.

Der Funktionsbaustein ist funktionsbereit. Auf eine positive Flanke von i_xExecute hin werden die Daten ausgelesen.