FB_FileGets
Der Funktionsbaustein FB_FileGest 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.
Dieser Funktionsbaustein ist nur bedingt für ein Logging in Echtzeit geeignet. |
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. |
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
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken (Kategoriegruppe) |
---|---|---|
TwinCAT v3.1.0 | PC oder CX (x86, x64, ARM) | Tc2_System (System) |