FileSeek

PLCopen motion icon

 Function Block - Sets the current position in an open file.

Inputs

Input

Data Type

See Data Types.

Range

Unit

Default

Description

Execute

BOOL

FALSE, TRUE

N/A

No default

On the rising edge, test if the end of the file is reached in a file that is open for reading.

ID

UDINT

No range

N/A

No default

The ID of the open file.

POS

DINT

No range

N/A

No default

Number of bytes to offset from ORG.

  • If ORG = SEEK_SET, then POS should be ≥ 0 (zero).
  • If ORG = SEEK_END, then POS should be ≤ 0 (zero).
  • If ORG = SEEK_CUR, then POS can be positive or negative.

ORG

DINT

  • SEEK_SET
  • SEEK_CUR
  • SEEK_END

N/A

No default

Origin of the move.

  • SEEK_SET = Beginning of the file.
  • SEEK_CUR = Current position.
  • SEEK_END = End of the file.

Outputs

Output

Data Type

See Data Types.

Range

Unit

Description

Done

BOOL

FALSE, TRUE

N/A

If TRUE, the command completed successfully.

Error

BOOL

FALSE, TRUE

N/A

If TRUE, an error has occurred.

ErrorID

DINT

Enumerated

N/A

FBD Language Example

Not available.

FFLD Language Example

Not available.

IL Language Example

Not available.

ST Language Example

(* FileSeek example *)
CASE StepCounter OF
0:
  (* Move to beginning of the file *)
  Inst_FileSeek(TRUE, MyInputFileID, 0, SEEK_SET);
  StepCounter := StepCounter + 1;
1:
  Inst_FileSeek(TRUE, MyInputFileID, 0, SEEK_SET);
  IF Inst_FileSeek.Done THEN
     Inst_FileSeek(FALSE, 0, 0, SEEK_SET);
     StepCounter := StepCounter + 1;
  END_IF;
END_CASE;

See Also