VAR bWrite BOOL VAR pEnd POINTER TO STRING VAR resultdata_csv ARRAY[1..400000] OF BYTE VAR handleFile DWORD VAR dwWritten DWORD VAR szSeperator STRING(1) ';' VAR iCounter1 INT VAR Copy_of_bWrite BOOL TRUE VAR FilePathAndName String 'cd \home\pi\Downloads\test.csv VAR CRLF STRING(2) '$R$N' VAR LF String(1) '$N' VAR Copy_of_resultdata_csv ARRAY[1..400000] OF BYTE VAR big DINT VAR i DINT VAR z DINT VAR zahl REAL VAR Copy_of_pEnd POINTER TO STRING VAR fopen FILE.Open VAR fwrite file.Write VAR fclose file.Close (* ---------------------------- Fill Head Data -------------------------------- *) IF bWrite THEN pEnd := ADR(resultdata_csv); pEnd := StrCatPtr('987654321', pEnd); fopen( xExecute:= TRUE, xDone=> , xBusy=> , xError=> , sFileName:= FilePathAndName, eFileMode:= 0, xExclusive:= , eError=> , hFile=> handleFile); fwrite( xExecute:= fopen.xDone, xAbort:= , udiTimeOut:= , xDone=> , xBusy=> , xError=> , xAborted=> , hFile:= handleFile, pBuffer:= ADR(resultdata_csv), szSize:= pEnd - ADR(resultdata_csv) , eError=> ); fclose( xExecute:= fwrite.xDone, xDone=> , xBusy=> , xError=> , hFile:= handleFile, eError=> ); IF fclose.xDone THEN bWrite:= FALSE; END_IF END_IF