ControlConfigView 控制参数使能的问题
This commit is contained in:
@@ -732,6 +732,10 @@ namespace OrpaonEMS.App.Services
|
|||||||
|
|
||||||
Task.Run(() =>
|
Task.Run(() =>
|
||||||
{
|
{
|
||||||
|
double? lastSlaveNightTargetSoc = null;
|
||||||
|
bool? lastSlaveShouldCharge = null;
|
||||||
|
bool? lastSlaveInWeekendTime = null;
|
||||||
|
|
||||||
//判断状态是否正确
|
//判断状态是否正确
|
||||||
while (CurESChargInfo == ESChargInfo.Night_Slave)
|
while (CurESChargInfo == ESChargInfo.Night_Slave)
|
||||||
{
|
{
|
||||||
@@ -759,7 +763,34 @@ namespace OrpaonEMS.App.Services
|
|||||||
// OpenSolar();
|
// OpenSolar();
|
||||||
//}
|
//}
|
||||||
|
|
||||||
if (!IsInWeekendTime())
|
bool inWeekendTime = IsInWeekendTime();
|
||||||
|
var slaveNightTargetSoc = Math.Min(NightSlave_ToSlaveFullSoc, ConfigDataService.energyStorageRunConfig.BMSSocUpSignLimitValue);
|
||||||
|
bool shouldCharge = !inWeekendTime && SlaveClient.ClientInfo!.SOC < slaveNightTargetSoc;
|
||||||
|
|
||||||
|
if (lastSlaveNightTargetSoc == null
|
||||||
|
|| Math.Abs(lastSlaveNightTargetSoc.Value - slaveNightTargetSoc) > 0.0001
|
||||||
|
|| lastSlaveInWeekendTime == null
|
||||||
|
|| lastSlaveInWeekendTime.Value != inWeekendTime)
|
||||||
|
{
|
||||||
|
LogService.Info($"时间:{DateTime.Now}-【夜间充电目标】-模式:Night_Slave,从储能SOC:{SlaveClient.ClientInfo!.SOC:0.##},配置目标SOC:{NightSlave_ToSlaveFullSoc:0.##},BMS上限:{ConfigDataService.energyStorageRunConfig.BMSSocUpSignLimitValue:0.##},采用目标SOC:{slaveNightTargetSoc:0.##},是否周末禁充:{inWeekendTime}");
|
||||||
|
lastSlaveNightTargetSoc = slaveNightTargetSoc;
|
||||||
|
lastSlaveInWeekendTime = inWeekendTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (lastSlaveShouldCharge == null || lastSlaveShouldCharge.Value != shouldCharge)
|
||||||
|
{
|
||||||
|
if (shouldCharge)
|
||||||
|
{
|
||||||
|
LogService.Info($"时间:{DateTime.Now}-【夜间充电开始】-模式:Night_Slave,从储能SOC:{SlaveClient.ClientInfo!.SOC:0.##},目标SOC:{slaveNightTargetSoc:0.##}");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LogService.Info($"时间:{DateTime.Now}-【夜间充电停止】-模式:Night_Slave,从储能SOC:{SlaveClient.ClientInfo!.SOC:0.##},目标SOC:{slaveNightTargetSoc:0.##},是否周末禁充:{inWeekendTime}");
|
||||||
|
}
|
||||||
|
lastSlaveShouldCharge = shouldCharge;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!inWeekendTime)
|
||||||
{
|
{
|
||||||
//展示用
|
//展示用
|
||||||
ManageRealPw = EsEleMeter4.AvePw - EsEleMeter1.AvePw;
|
ManageRealPw = EsEleMeter4.AvePw - EsEleMeter1.AvePw;
|
||||||
@@ -767,7 +798,7 @@ namespace OrpaonEMS.App.Services
|
|||||||
|
|
||||||
//循环执行方法
|
//循环执行方法
|
||||||
//从储能箱充满为止
|
//从储能箱充满为止
|
||||||
if (SlaveClient.ClientInfo!.SOC < 90)
|
if (SlaveClient.ClientInfo!.SOC < slaveNightTargetSoc)
|
||||||
{
|
{
|
||||||
//主储能箱充电
|
//主储能箱充电
|
||||||
SlaveClient.ServerCmd.CmdType = "Charg";
|
SlaveClient.ServerCmd.CmdType = "Charg";
|
||||||
@@ -841,6 +872,10 @@ namespace OrpaonEMS.App.Services
|
|||||||
|
|
||||||
Task.Run(() =>
|
Task.Run(() =>
|
||||||
{
|
{
|
||||||
|
double? lastMasterNightTargetSoc = null;
|
||||||
|
bool? lastMasterShouldCharge = null;
|
||||||
|
bool? lastMasterInWeekendTime = null;
|
||||||
|
|
||||||
//判断状态是否正确
|
//判断状态是否正确
|
||||||
while (CurESChargInfo == ESChargInfo.Night_Master)
|
while (CurESChargInfo == ESChargInfo.Night_Master)
|
||||||
{
|
{
|
||||||
@@ -868,7 +903,34 @@ namespace OrpaonEMS.App.Services
|
|||||||
// OpenSolar();
|
// OpenSolar();
|
||||||
//}
|
//}
|
||||||
|
|
||||||
if (!IsInWeekendTime())
|
bool inWeekendTime = IsInWeekendTime();
|
||||||
|
var masterNightTargetSoc = Math.Min(NightMaster_ToMasterFullSoc, ConfigDataService.energyStorageRunConfig.BMSSocUpSignLimitValue);
|
||||||
|
bool shouldCharge = !inWeekendTime && MasterClient.ClientInfo!.SOC < masterNightTargetSoc;
|
||||||
|
|
||||||
|
if (lastMasterNightTargetSoc == null
|
||||||
|
|| Math.Abs(lastMasterNightTargetSoc.Value - masterNightTargetSoc) > 0.0001
|
||||||
|
|| lastMasterInWeekendTime == null
|
||||||
|
|| lastMasterInWeekendTime.Value != inWeekendTime)
|
||||||
|
{
|
||||||
|
LogService.Info($"时间:{DateTime.Now}-【夜间充电目标】-模式:Night_Master,主储能SOC:{MasterClient.ClientInfo!.SOC:0.##},配置目标SOC:{NightMaster_ToMasterFullSoc:0.##},BMS上限:{ConfigDataService.energyStorageRunConfig.BMSSocUpSignLimitValue:0.##},采用目标SOC:{masterNightTargetSoc:0.##},是否周末禁充:{inWeekendTime}");
|
||||||
|
lastMasterNightTargetSoc = masterNightTargetSoc;
|
||||||
|
lastMasterInWeekendTime = inWeekendTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (lastMasterShouldCharge == null || lastMasterShouldCharge.Value != shouldCharge)
|
||||||
|
{
|
||||||
|
if (shouldCharge)
|
||||||
|
{
|
||||||
|
LogService.Info($"时间:{DateTime.Now}-【夜间充电开始】-模式:Night_Master,主储能SOC:{MasterClient.ClientInfo!.SOC:0.##},目标SOC:{masterNightTargetSoc:0.##}");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LogService.Info($"时间:{DateTime.Now}-【夜间充电停止】-模式:Night_Master,主储能SOC:{MasterClient.ClientInfo!.SOC:0.##},目标SOC:{masterNightTargetSoc:0.##},是否周末禁充:{inWeekendTime}");
|
||||||
|
}
|
||||||
|
lastMasterShouldCharge = shouldCharge;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!inWeekendTime)
|
||||||
{
|
{
|
||||||
//展示用
|
//展示用
|
||||||
ManageRealPw = EsEleMeter4.AvePw - EsEleMeter1.AvePw;
|
ManageRealPw = EsEleMeter4.AvePw - EsEleMeter1.AvePw;
|
||||||
@@ -876,7 +938,7 @@ namespace OrpaonEMS.App.Services
|
|||||||
|
|
||||||
//循环执行方法
|
//循环执行方法
|
||||||
//主储能箱充满为止
|
//主储能箱充满为止
|
||||||
if (MasterClient.ClientInfo!.SOC < ConfigDataService.energyStorageRunConfig.BMSSocUpSignLimitValue)
|
if (MasterClient.ClientInfo!.SOC < masterNightTargetSoc)
|
||||||
{
|
{
|
||||||
//主储能箱充电
|
//主储能箱充电
|
||||||
MasterClient.ServerCmd.CmdType = "Charg";
|
MasterClient.ServerCmd.CmdType = "Charg";
|
||||||
@@ -2838,7 +2900,8 @@ namespace OrpaonEMS.App.Services
|
|||||||
//SetControlModel(ESChargInfo.Night_Master);
|
//SetControlModel(ESChargInfo.Night_Master);
|
||||||
|
|
||||||
//主储能箱充满为止
|
//主储能箱充满为止
|
||||||
if (MasterClient.ClientInfo!.SOC < ConfigDataService.energyStorageRunConfig.BMSSocUpSignLimitValue)
|
var masterNightTargetSoc = Math.Min(NightMaster_ToMasterFullSoc, ConfigDataService.energyStorageRunConfig.BMSSocUpSignLimitValue);
|
||||||
|
if (MasterClient.ClientInfo!.SOC < masterNightTargetSoc)
|
||||||
{
|
{
|
||||||
//主储能箱充电
|
//主储能箱充电
|
||||||
MasterClient.ServerCmd.CmdType = "Charg";
|
MasterClient.ServerCmd.CmdType = "Charg";
|
||||||
|
|||||||
Reference in New Issue
Block a user