FileWriteLine
Description
This function block writes a string value to a file. An end-of-line character is systematically written after the string value.
Figure 7-206: The FileWriteLine Function Block
String Escape Sequences
For greater formatting control over your STRING output, you may escape the STRING by prepending a $ and use a pre-defined sequence. This is called a string escape sequence.
| Escape Sequence | Result |
|---|---|
| $$ | $ |
| $' | ' |
| $L | linefeed |
| $N | newline |
| $P | page (form feed) |
| $R | return |
| $T | tab |
| $xx | hex value |
The following is an example of how STRING escape sequences can be used.
ID:=FileOpenW('c:\ myfile.txt');
WOK:=FileWriteLine(ID,'123456$N');
//WOK:=FileWriteLine(ID,'$N');
WOK:=FileWriteLine(ID,'abcd$N');
WOK:=FileWriteLine(ID,'the end');
WOK:=FileClose(ID);
The example outputs a file which reads:
123456
abcd
the end
Related Functions
FileClose, FileEOF, FileOpenA, FileOpenR, FileOpenW, FileReadBinData, FileReadLine, FileSeek, FileWriteBinData
See also: File Management
Arguments
Input
| Execute | Description | On the rising edge |
| Data Type | BOOL | |
| Range | 0, 1 | |
| Unit | N/A | |
| Default | — | |
| ID | Description | ID of the open file. |
| Data Type | UDINT | |
| Range | N/A | |
| Unit | N/A | |
| Default | — | |
| IN | Description | The string value to be written. |
| Data Type | STRING | |
| Range | N/A | |
| Unit | N/A | |
| Default | — |
Output
| Done | Description | If TRUE, then the command completed successfully |
| Data Type | BOOL | |
| Error | Description | If TRUE, an error has occurred |
| Data Type | BOOL | |
| ErrorID | Description | Indicates the error if Error output is set to TRUE. See the table in Search IndexFile and TCP/IP Function Block ErrorID Output |
| Data Type | DINT |
Example
Structured Text
(* FileWriteLine example *)
CASE StepCounter OF
0:
Inst_FileWriteLine(TRUE, MyOutputFileID, 'Hello, world.');
StepCounter := StepCounter + 1;
1:
Inst_FileWriteLine(TRUE, MyOutputFileID, 'Hello, world.');
IF Inst_FileWriteLine.Done THEN
Inst_FileWriteLine(FALSE, 0, '');
StepCounter := StepCounter + 1;
END_IF;
END_CASE;





