IF Start_CSV = TRUE THEN
(*Data logging every 5s*)
Timer(IN:=NOT Timer.q , PT:=Messintervall2);
xStrobeWriteData:=Timer.q;
(*Take Header if the file is new*)
IF xStrobeWriteData THEN
uiLoggingCounter:=uiLoggingCounter+1;
(*Header*)
sHeader:='Datum;Zeit;Temperatur;Druck;Strecke;Geschwindigkeit;$N';
(*sHeader:='Datum;Zeit;Temperatur;Druck;Strecke;Geschwindigkeit;$0D$0A';*)
(*Date and Time for file name and data*)
S40_GetRealTimeClock1(
Month=>usiMonth ,
Day=>usiDay ,
Hour=>usiHour ,
Minute=>usiMinute ,
Second=>usiSecond );
uiYear:=USINT_TO_UINT(S40_GetRealTimeClock1.Year)+2000;
(*Data String*)
sDataString1:= CONCAT(sDataString1,USINT_TO_STRING(usiDay));
sDataString1:= CONCAT(sDataString1,'.');
sDataString1:= CONCAT(sDataString1,USINT_TO_STRING(usiMonth));
sDataString1:= CONCAT(sDataString1,'.');
sDataString1:= CONCAT(sDataString1,UINT_TO_STRING(uiYear));
sDataString1:= CONCAT(sDataString1,';');
sDataString1:= CONCAT(sDataString1,USINT_TO_STRING(usiHour));
sDataString1:= CONCAT(sDataString1,':');
sDataString1:= CONCAT(sDataString1,USINT_TO_STRING(usiMinute));
sDataString1:= CONCAT(sDataString1,':');
sDataString1:= CONCAT(sDataString1,USINT_TO_STRING(usiSecond));
sDataString1:= CONCAT(sDataString1,';');
sDataString1:= CONCAT(sDataString1,REAL_TO_STRING(PLC_PRG.Output_Temp));
sDataString1:= CONCAT(sDataString1,';');
sDataString1:= CONCAT(sDataString1, REAL_TO_STRING(PLC_PRG.Output_Druck));
sDataString1:= CONCAT(sDataString1,';');
sDataString1:= CONCAT(sDataString1,REAL_TO_STRING(PLC_PRG.Strecke_Encoder));
sDataString1:= CONCAT(sDataString1,';');
sDataString1:= CONCAT(sDataString1, REAL_TO_STRING(PLC_PRG.Geschwindigkeit_Encoder));
sDataString1:= CONCAT(sDataString1,'$N');
(*sDataString1:= CONCAT(sDataString1,'$0D$0A');*)
(*Filename for data logging. Every day a new file name*)
IF xSD_card THEN
sDataloggingFileName:= '\StorageCard\' ;
ELSE
sDataloggingFileName:= '\UsbStorage\' ;
END_IF
(*sDataloggingFileName:= CONCAT(sDataloggingFileName, 'Directory\');*)
sDataloggingFileName:= CONCAT(sDataloggingFileName, 'DataloggingFile_F');
sDataloggingFileName:= CONCAT(sDataloggingFileName,'_');
sDataloggingFileName:= CONCAT(sDataloggingFileName,USINT_TO_STRING(usiDay));
sDataloggingFileName:= CONCAT(sDataloggingFileName,'-');
sDataloggingFileName:= CONCAT(sDataloggingFileName,USINT_TO_STRING(usiMonth));
sDataloggingFileName:= CONCAT(sDataloggingFileName,'-');
sDataloggingFileName:= CONCAT(sDataloggingFileName,UINT_TO_STRING(uiYear));
sDataloggingFileName:= CONCAT(sDataloggingFileName,'.csv');
(*Header or Data*)
xHeader:=sDataloggingFileNameOld<>sDataloggingFileName;
sDataloggingFileNameOld:=sDataloggingFileName;
END_IF
END_IF
OpenWriteCloseFileAsync1(
xStrobeWriteData:=xStrobeWriteData ,
xHeader:=xHeader ,
sHeader:=sHeader ,
sDataString:=sDataString1 ,
sFileName:=sDataloggingFileName ,
xFileOpen=> ,
xDone=> ,
xBusy=> ,
xOpen=> ,
xWriteHeader=> ,
xWrite=> ,
xClose=> ,
udiErrorCounterOpen=> ,
udiErrorCounterWrite=> ,
udiErrorCounterClose=> ,
udiBytesWrittenHeader=> ,
udiBytesWritten=> ,
udiWriteCounter=> );