LogFileCSV

PLCopen motion icon

 Function Block - Create a log file in CSV format for a list of variables.


    • Calling this function can lead to missing several PLC cycles.
    • Files are opened and closed directly by the target's Operating System.
    • Opening some files may be dangerous for system safety and integrity.
    • The number of open files may be limited by the target system.

Inputs

Input

Data Type

See Data Types.

Range

Unit

Default

Description

LOG

BOOL

FALSE, TRUE

N/A

No default

Variables are saved on any rising edge of this input.

RST

BOOL

FALSE, TRUE

N/A

No default

Reset the contents of the CSV file.

LIST

DINT

No range

N/A

No default

ID of the list of variables to log (use VLID function).

PATH

STRING

1 to 255

N/A

No default

Path name of the CSV file.

  • Controller flash memory
  • SD card (PxMM)
  • USB flash drive (PCMM2G)
  • Shared Directory

Outputs

Output

Data Type

See Data Types.

Range

Unit

Description

Q

BOOL

FALSE, TRUE

N/A

TRUE if the requested operation has been performed without error.

ERR

DINT

No range

N/A

Error report for the last requested operation.

0 (zero) is OK.

Remarks

  • By default, the LogFileCsv block uses:
    • Semicolons ( ; ) as field separators.
    • Dots ( . ) as decimal points.
    • The SetCsvOpt function to modify these characters to suit specific formatting requirements.
  • Opening a file may be unsuccessful (e.g., invalid path or file name, too many open files, etc.)
    Your application has to process such error cases in a safe way.
  • Valid paths for storing files depend on the controller and the type of file storage media being used.
  • This function enables to log values of a list of variables in a CSV file.
    • On each rising edge of the LOG input, one more line of values is added to the file.
    • There is one column for each variable, as they are defined in the list.
  • The list of variables is prepared using a text editor.
    • Use the VLID function to get the identifier of the list.
  • On a rising edge of the RST command, the file is emptied.
  • When a LOG or RST command is requested, the Q output is set to TRUE if successful.
  • In case of error, a report is given in the ERR output.
    • Possible error values are:
      • 1 = Cannot reset file on a RST command.
      • 2 = Cannot open file for data storing on a LOG command.
      • 3 = Embedded lists are not supported by the runtime.
      • 4 = Invalid list ID.
      • 5 = Error while writing to file.
  • Combined with real time clock management functions, this block provides a very easy way to generate a periodical log file.

Figure 1 () shows a list and a program that log values every day at 14h23m (2:23 pm).

Figure 1: Example: LogFileCSV

FBD Language Example

FFLD Language Example

IL Language Example

Not available.

ST Language Example

(* MyLOG is a declared instance of LogFileCSV function block *)
MyLOG (b_LOG, RST, LIST, PATH);
Q := MyLOG.Q;
ERR := MyLog.ERR;

See Also