FB_FileGets
The function block "FB_FileGets" reads zero terminated strings from a file. The string is read up to the line feed character and inclusive the line feed character, or to the end of the file, or until the number of characters read is equal to max.length of sLine. The result stored in sLine is appended with a null character. The line feed character, if read, is included in the string. The file must previously have been opened in the text mode.
VAR_INPUT
VAR_INPUT
sNetId : T_AmsNetId;
hFile : UINT;
bExecute : BOOL;
tTimeout : TIME;
END_VAR
sNetId : Is a string containing the AMS network identifier of the target device to which the ADS command is directed.
hFile : Is occupied by the file handle already created by FB_FileOpen.
bExecute : The ADS command is triggered by a rising edge at this input.
tTimeout : States the time before the function is cancelled.
VAR_OUTPUT
VAR_OUTPUT
bBusy : BOOL;
bError : BOOL;
nErrId : UDINT;
sLine : T_MaxString;
bEOF : BOOL;
END_VAR
bBusy: This output remains TRUE until the block has executed a command, but at the longest for the duration supplied to the ‘tTimeout’ input. While bBusy = TRUE, no new command will be accepted at the inputs. Please note that it is not the execution of the service but its acceptance whose time is monitored.
bError: This output is switched to TRUE if an error occurs during the execution of a command. The command-specific error code is contained in ‘nErrId’.
nErrId: Contains the command-specific ADS error code of the most recently executed command.
sLine : Contains the read string.
bEOF : This output is switched to TRUE if the end of file is reached and no more data bytes could be read (cbRead=0). This output is not set if some data bytes could be read (cbRead>0).
Function specific ADS error code | Possible reason |
---|---|
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 ). |
Example of calling the block in FBD:
PROGRAM Test
VAR
fbFileGets : FB_FileGets;
hFile : UINT;
bFileGets : BOOL;
bFileGetsBusy : BOOL;
bFileGetsError : BOOL;
nFileGetsErrorId: UDINT;
strBuffer : STRING;
bFileGetsEOF :BOOL;
END_VAR
Requirements
Development environment | Target system type | PLC libraries to include |
---|---|---|
TwinCAT v2.8.0 | PC or CX (x86) | TcSystem.Lib |
TwinCAT v2.10.0 Build >= 1301 | CX (ARM) | TcSystem.Lib |