diff --git a/csharp/App/SaliMax/src/SystemConfig/Config.cs b/csharp/App/SaliMax/src/SystemConfig/Config.cs index 8613a63ce..d6c7be511 100644 --- a/csharp/App/SaliMax/src/SystemConfig/Config.cs +++ b/csharp/App/SaliMax/src/SystemConfig/Config.cs @@ -14,23 +14,16 @@ public class Config //TODO: let IE choose from config files (Json) and connect t private static readonly JsonSerializerOptions JsonOptions = new() { WriteIndented = true }; - public required Double MinSoc { get; set; } - public required UnixTime LastEoc { get; set; } - public required Double PConstant { get; set; } - public required Double GridSetPoint { get; set; } - public required Double BatterySelfDischargePower { get; set; } - public required Double HoldSocZone { get; set; } - - public required Double MaxDcLinkVoltageFromAcDc { get; set; } - public required Double MinDcLinkVoltageFromAcDc { get; set; } - public required Double ReferenceDcLinkVoltageFromAcDc { get; set; } - - public required Double LowerDcLinkVoltageFromDc { get; set; } - public required Double ReferenceDcLinkVoltageFromDc { get; set; } - public required Double UpperDcLinkVoltageFromDc { get; set; } - - public required Double MaxBatteryChargingCurrent { get; set; } - public required Double MaxBatteryDischargingCurrent { get; set; } + public required Double MinSoc { get; set; } + public required UnixTime LastEoc { get; set; } + public required Double PConstant { get; set; } + public required Double GridSetPoint { get; set; } + public required Double BatterySelfDischargePower { get; set; } + public required Double HoldSocZone { get; set; } + public required DevicesConfig IslandMode { get; set; } + public required DevicesConfig GridTie { get; set; } + public required Double MaxBatteryChargingCurrent { get; set; } + public required Double MaxBatteryDischargingCurrent { get; set; } public required Double MaxChargeBatteryVoltage { get; set; } public required Double MinDischargeBatteryVoltage { get; set; } @@ -49,12 +42,40 @@ public class Config //TODO: let IE choose from config files (Json) and connect t GridSetPoint = 0, BatterySelfDischargePower = 200, HoldSocZone = 1, // TODO: find better name, - MinDcLinkVoltageFromAcDc = 690, - ReferenceDcLinkVoltageFromAcDc = 750, - MaxDcLinkVoltageFromAcDc = 810, - LowerDcLinkVoltageFromDc = 50, - ReferenceDcLinkVoltageFromDc = 750, - UpperDcLinkVoltageFromDc = 50, + IslandMode = new() + { + AcDc = new () + { + MinDcLinkVoltage = 690, + ReferenceDcLinkVoltage = 750, + MaxDcLinkVoltage = 810, + }, + + DcDc = new () + { + UpperDcLinkVoltage = 50, + LowerDcLinkVoltage = 50, + ReferenceDcLinkVoltage = 750, + }, + }, + + GridTie = new() + { + AcDc = new () + { + MinDcLinkVoltage = 720, + ReferenceDcLinkVoltage = 750, + MaxDcLinkVoltage = 810, + }, + + DcDc = new () + { + UpperDcLinkVoltage = 50, + LowerDcLinkVoltage = 50, + ReferenceDcLinkVoltage = 750, + }, + }, + MaxBatteryChargingCurrent = 210, MaxBatteryDischargingCurrent = 210, MaxChargeBatteryVoltage = 57, @@ -81,12 +102,41 @@ public class Config //TODO: let IE choose from config files (Json) and connect t GridSetPoint = 0, BatterySelfDischargePower = 200, HoldSocZone = 1, // TODO: find better name, - MinDcLinkVoltageFromAcDc = 690, - ReferenceDcLinkVoltageFromAcDc = 750, - MaxDcLinkVoltageFromAcDc = 810, - LowerDcLinkVoltageFromDc = 50, - ReferenceDcLinkVoltageFromDc = 750, - UpperDcLinkVoltageFromDc = 50, + IslandMode = new() + { + AcDc = new () + { + MinDcLinkVoltage = 690, + ReferenceDcLinkVoltage = 750, + MaxDcLinkVoltage = 810, + }, + + DcDc = new () + { + UpperDcLinkVoltage = 50, + LowerDcLinkVoltage = 50, + ReferenceDcLinkVoltage = 750, + }, + }, + + GridTie = new() + { + AcDc = new () + { + MinDcLinkVoltage = 720, + ReferenceDcLinkVoltage = 750, + MaxDcLinkVoltage = 780, + }, + + DcDc = new () + { + UpperDcLinkVoltage = 20, + LowerDcLinkVoltage = 20, + ReferenceDcLinkVoltage = 750, + }, + }, + + MaxBatteryChargingCurrent = 210, MaxBatteryDischargingCurrent = 210, MaxChargeBatteryVoltage = 57,