dtDate:=SysRTC23.SysRtcGetTime(TRUE);; //grab RTC date and time
FileName := GVL_Log.sDefaultPath;
FileName := CONCAT(FileName, '#A_#D_#H_Sys.CSV');
IF init THEN
enable:=FALSE;
init:=FALSE;
// x:=x_blank; //reset circular buffer
ELSE
enable:=TRUE;
END_IF
DateLog(x:=x,Column:='TimeStamp');
// Inverter Details
// BESS Outputs
IntLog0(X := x, Column := 'BESS State', Value := Main_v1.BESS_v4.o_BESS_State);
IntLog1(X := x, Column := 'Agg DCDC State', Value := Main_v1.BESS_v4.o_Agg_DCDCState);
IntLog2(X := x, Column := 'LG State', Value := GVL_Main.bmsBatt_State);
RealLog1(x:=x,Column:='SOC (%)',value:= GVL_Main.ONDBattData.AvgSOC,n:=1,d:='.');
RealLog2(x:=x,Column:='SOH (%)',value:=GVL_Main.ONDBattData.AvgSOH,n:=1,d:='.');
RealLog3(x:=x,Column:='Avg Cell Voltage (V)',value:= GVL_Main.ONDBattData.OND_AvgSUMCellVolt,n:=1,d:='.');
RealLog4(x:=x,Column:='Avg Cell Temperature (°C)',value:= GVL_Main.ONDBattData.OND_AvgModTemp,n:=1,d:='.');
BoolLog1(X:=x, Column := 'Battery ON', State := GVL_Main.bBatt_ON, OFF := 'OFF', ON := 'ON');
BoolLog2(X:=x, Column := 'Battery Fault', State := GVL_Main.bBatt_Fault, OFF := 'OK', ON := 'FAULT');
BoolLog3(X:=x, Column := 'Battery Warning', State := GVL_Main.bBatt_Warning, OFF := 'OK', ON := 'Warning');
RealLog5(x:=x,Column:='PV Production (kW)',value:= Main_v1.BESS_v4.o_rPVProd,n:=1,d:='.');
// Temperatures
RealLog6(x:=x,Column:='External Temperature (°C)',value:= GVL_AnalogueInputs.rPO_Ext_Temp,n:=1,d:='.');
RealLog7(x:=x,Column:='Internal Temperature 1 (°C)',value:= GVL_AnalogueInputs.rPO_Int_Temp1,n:=1,d:='.');
RealLog8(x:=x,Column:='Internal Temperature 2 (°C)',value:= GVL_AnalogueInputs.rPO_Int_Temp2,n:=1,d:='.');
RealLog9(x:=x,Column:='Internal Humidity (%)',value:= GVL_AnalogueInputs.rPO_Int_RH,n:=1,d:='.');
// Temperatures
RealLog10(x:=x,Column:='BESS2 Ext Temperature (°C)',value:= GVL_IOComms.unSlv_RegIn.strRegIn.fSys_ExtTemp,n:=1,d:='.');
RealLog11(x:=x,Column:='BESS2 Int Temperature 1 (°C)',value:= GVL_IOComms.unSlv_RegIn.strRegIn.fSys_ContTemp1,n:=1,d:='.');
RealLog12(x:=x,Column:='BESS2 Int Temperature 2 (°C)',value:= GVL_IOComms.unSlv_RegIn.strRegIn.fSys_ContTemp2,n:=1,d:='.');
RealLog13(x:=x,Column:='BESS2 Int Humidity (%)',value:= GVL_IOComms.unSlv_RegIn.strRegIn.fSys_ContRH,n:=1,d:='.');
// Digital IO
BoolLog4(X:=x, Column := 'Emergency Stop', State := GVL_DigitalIO.bSftyCntrler_E_Stop, OFF := 'OK', ON := 'EStop');
// Digital IO
BoolLog5(X:=x, Column := 'Emergency Stop BESS2', State := GVL_IOComms.unSlv_RegIn.strRegIn.wSys_EStopSts.0, OFF := 'OK', ON := 'EStop');
// LogCSV
LogCSV(x:=x,enable:=enable,Trig_M:=manual,Filename:=FileName,DTI:=dtDate,sep:=44,trig_t:=lograte);
////////////////////