FileReadBinData

PLCopen motion icon

 Function Block - Read binary data from a file.

  • FileReadBinData stops reading from the file if it fills the passed Frame array, reads FrameSize bytes, or encounters the end of file, whichever comes first.
  • After a successful call to FileReadBinData, use SerializeIn to extract variable data from the binary data read from a file.

Inputs

Input

Data Type

See Data Types.

Range

Unit

Default

Description

Execute

BOOL

FALSE, TRUE

N/A

No default

On the rising edge, read the size of a file.

ID

UDINT

N/A

N/A

No default

The ID of the open file.

Frame

USINT[ ]

N/A

N/A

No default

Where the binary data is stored.

FrameSize

DINT

N/A

N/A

No default

Number of bytes to store in the Frame array.

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

 

 

Indicates the error if Error output is TRUE.

See the table in File, Recipe, and TCP/IP Function Block ErrorIDs.

NbRead

DINT

 

 

The number of bytes read from the file.

FBD Language Example

Not available.

FFLD Language Example

Not available.

IL Language Example

Not available.

ST Language Example

(* FileReadBinData example *)
CASE StepCounter OF
0:
  Inst_FileReadBinData(TRUE, MyInputFileID, InputFrame, 128);
  StepCounter := StepCounter + 1;
1:
  Inst_FileReadBinData(TRUE, MyInputFileID, InputFrame, 128);
  IF Inst_FileReadBinData.Done THEN
     BytesRead := Inst_FileReadBinData.NbRead;
     Inst_FileReadBinData(FALSE, 0, InputFrame, 0);
     StepCounter := StepCounter + 1;
  END_IF;
END_CASE;

See Also