From a677c878e836c3d6db02c551f8a16b3138409b98 Mon Sep 17 00:00:00 2001 From: atef Date: Mon, 24 Jul 2023 10:50:41 +0200 Subject: [PATCH] Add reference and Window Dc/Dc voltage to the config file --- csharp/App/SaliMax/src/SystemConfig/Config.cs | 78 ++++++++++++------- 1 file changed, 49 insertions(+), 29 deletions(-) diff --git a/csharp/App/SaliMax/src/SystemConfig/Config.cs b/csharp/App/SaliMax/src/SystemConfig/Config.cs index 36ef337d5..426bcf294 100644 --- a/csharp/App/SaliMax/src/SystemConfig/Config.cs +++ b/csharp/App/SaliMax/src/SystemConfig/Config.cs @@ -14,34 +14,47 @@ 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 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 MaxDcBusVoltage { get; set; } - public required Double MinDcBusVoltage { get; set; } - public required Double ReferenceDcBusVoltage { get; set; } + public required Double MaxDcLinkVoltageFromAcDc { get; set; } + public required Double MinDcLinkVoltageFromAcDc { get; set; } + public required Double ReferenceDcLinkVoltageFromAcDc { get; set; } - public required DeviceConfig Devices { get; set; } - public required S3Config? S3 { 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 MaxChargeBatteryVoltage { get; set; } + public required Double MinDischargeBatteryVoltage { get; set; } + + public required DeviceConfig Devices { get; set; } + public required S3Config? S3 { get; set; } #if DEBUG public static Config Default => new() { - MinSoc = 20, - LastEoc = UnixTime.Epoch, // TODO: remove, use new LastEoc feature from BMS - PConstant = .5, - GridSetPoint = 0, - BatterySelfDischargePower = 200, - HoldSocZone = 1, // TODO: find better name, - MinDcBusVoltage = 690, - ReferenceDcBusVoltage = 750, - MaxDcBusVoltage = 810, + MinSoc = 20, + LastEoc = UnixTime.Epoch, // TODO: remove, use new LastEoc feature from BMS + PConstant = .5, + GridSetPoint = 0, + BatterySelfDischargePower = 200, + HoldSocZone = 1, // TODO: find better name, + MinDcBusVoltage = 690, + ReferenceDcBusVoltage = 750, + MaxDcBusVoltage = 810, + LowerDcBusVoltageWindow = 50, + ReferenceDcBusVoltageWindow = 750, + UpperDcBusVoltageWindow = 50, Devices = new () { TruConvertAcIp = new() { Host = "localhost", Port = 5001}, @@ -58,15 +71,22 @@ public class Config //TODO: let IE choose from config files (Json) and connect t #else public static Config Default => new() { - MinSoc = 20, - LastEoc = UnixTime.Epoch, // TODO: remove, use new LastEoc feature from BMS - PConstant = .5, - GridSetPoint = 0, - BatterySelfDischargePower = 200, - HoldSocZone = 1, // TODO: find better name, - MinDcBusVoltage = 690, - ReferenceDcBusVoltage = 750, - MaxDcBusVoltage = 810, + MinSoc = 20, + LastEoc = UnixTime.Epoch, // TODO: remove, use new LastEoc feature from BMS + PConstant = .5, + GridSetPoint = 0, + BatterySelfDischargePower = 200, + HoldSocZone = 1, // TODO: find better name, + MinDcLinkVoltageFromAcDc = 690, + ReferenceDcLinkVoltageFromAcDc = 750, + MaxDcLinkVoltageFromAcDc = 810, + LowerDcLinkVoltageFromDc = 50, + ReferenceDcLinkVoltageFromDc = 750, + UpperDcLinkVoltageFromDc = 50, + MaxBatteryChargingCurrent = 210, + MaxBatteryDischargingCurrent = 210, + MaxChargeBatteryVoltage = 57, + MinDischargeBatteryVoltage = 0, S3 = new() { Bucket = "saliomameiringen",