-

FILE_SEEK_2

Type Function block
Description Moves the current file pointer to a new position.

Assign the valid handle of the file to be processed to the HANDLE input. This handle is created when the file is opened with the FILE_OPEN_2 function block.
Write the relative offset to be used to move the file pointer to the OFFSET input. Enter the reference to be used to move the pointer at the MODE input (see description of the MODE input).

As soon as the REQ input is set to TRUE, the inputs are validated. The REQ input must remain set to TRUE, until the file seek operation is completed (regardless of whether the operation succeeded or failed). The BUSY output is TRUE while the operation is being executed asynchronously on a Service Thread. Execution of the function block is complete when the DONE output is set to TRUE.

If an error occurred during execution, ERROR is set to TRUE, and the error code can be read from the STATUS output.
Notes
  • The status of the DONE, BUSY, ERROR, and STATUS outputs are maintained as long as REQ is TRUE.

    Do not reset the REQ input until the FB is finished by setting the DONE state. Resetting the REQ input will result in resetting the outputs to their default values.

  • Specifying a position beyond the end of file is possible. If the position is written, the gap between the end of file and the current writing position is filled with zeros.
  • When the function block is used as global function block, it is not thread-safe. In this case, make sure to prevent concurrent calls (e.g., by using the MUTEX function block).
  • Function blocks have to be instantiated. The instance name of the function block has to be declared in the 'Variables' table of the POU where the FB is going to be used. The instance name must be unique within the POU.
Parameters Inputs

REQ

HANDLE

OFFSET

MODE

Outputs

DONE

BUSY

ERROR

STATUS

POSITION