FB_FileGets

FB_FileGets 1:

Der Funktionsbaustein liest Strings aus einer Datei. Der String wird bis zum Zeilenvorschub-Character und inklusive des Zeilenvorschub-Characters oder bis zum Ende der Datei oder bis zur maximal zulässigen Länge von sLine gelesen. Die Null-Terminierung wird automatisch angehängt. Die Datei muss dafür im Textmodus geöffnet worden sein.

FB_FileGets 2: Eingänge

VAR_INPUT
    sNetId    : T_AmsNetId;
    hFile     : UINT;
    bExecute  : BOOL;
    tTimeout  : TIME := DEFAULT_ADS_TIMEOUT;
END_VAR

Name

Typ

Beschreibung

sNetId

T_AmsNetId

String, der die AMS-Netzwerkkennung des Zielgerätes enthält, an das der ADS-Befehl gerichtet wird (Typ: T_AmsNetId).

hFile

UINT

Datei-Handle, welches beim Aufruf des Funktionsbausteins FB_FileOpen erzeugt wurde.

bExecute

BOOL

Durch eine steigende Flanke an diesem Eingang wird der Funktionsbaustein aktiviert.

tTimeout

TIME

Gibt die Timeout-Zeit an, die bei der Ausführung des ADS-Kommandos nicht überschritten werden darf.

FB_FileGets 3: Ausgänge

VAR_OUTPUT
    bBusy   : BOOL;
    bError  : BOOL;
    nErrId  : UDINT;
    sLine   : T_MaxString;
    bEOF    : BOOL;
END_VAR

Name

Typ

Beschreibung

bBusy

BOOL

Bei der Aktivierung des Funktionsbausteins wird dieser Ausgang auf TRUE gesetzt und bleibt gesetzt, bis eine Rückmeldung erfolgt. Solange bBusy = TRUE ist, kann kein neuer Befehl ausgeführt werden.

bError

BOOL

Wenn ein Fehler bei der Ausführung des Befehls auftritt, wird dieser Ausgang gesetzt, nachdem der bBusy-Ausgang zurückgesetzt wurde.

nErrId  

UDINT

Liefert bei einem gesetzten bError-Ausgang den ADS-Fehlercode oder den befehlsspezifischen Fehlercode.

sLine

T_MaxString

String, der gelesen wurde (Typ: T_MaxString).

bEOF

BOOL

Dieser Ausgang wird gesetzt, wenn das Dateiende erreicht worden ist und keine weiteren Datenbytes gelesen werden konnten (cbRead=0). Dieser Ausgang wird nicht gesetzt, wenn noch Datenbytes gelesen werden konnten (cbRead>0).

Befehlsspezifischer Fehlercode

Mögliche Ursache

0x703

Invalid or unknown file handle.

0x70A

No memory for read buffer.

0x70E

File was opened with wrong method (e.g. with obsolete FILEOPEN function block).

Beispiel für den Aufruf des Bausteins in FBD:

PROGRAM Test
VAR
    fbFileGets        : FB_FileGets;
    hFile             : UINT;
    bFileGets         : BOOL;
    bFileGetsBusy     : BOOL;
    bFileGetsError    : BOOL;
    nFileGetsErrorId  : UDINT;
    strBuffer         : STRING;
    bFileGetsEOF      : BOOL;
END_VAR
FB_FileGets 4:

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken (Kategoriegruppe)

TwinCAT v3.1.0

PC oder CX (x86, x64, ARM)

Tc2_System (System)