更改了周五和周六晚上不充电
关闭后进程不关闭的操作 Mqtt的发布,关闭这个功能
This commit is contained in:
@@ -184,6 +184,10 @@ namespace OrpaonEMS.App
|
||||
|
||||
protected override void OnExit(ExitEventArgs e)
|
||||
{
|
||||
ContainerLocator.Container.Resolve<YuePuRunModelService>().ThreadEnable = false;
|
||||
ContainerLocator.Container.Resolve<EnergyStorageService>().WebSocketThreadEnable = false;
|
||||
ContainerLocator.Container.Resolve<EMSService>().ThreadEnable = false;
|
||||
|
||||
energyStorageService.EnergyStorageStateMachine.Fire(Core.Enums.EnergyStorageStateTrig.HandTrig);
|
||||
base.OnExit(e);
|
||||
}
|
||||
|
||||
@@ -185,7 +185,7 @@ namespace OrpaonEMS.App.Services
|
||||
|
||||
ListDistClient.Find(a => a.ServerCmd.Station == 0)!.EMSSocketServerConState.ServerSendState = true;
|
||||
ListDistClient.Find(a => a.ServerCmd.Station == 1)!.EMSSocketServerConState.ServerSendState = true;
|
||||
|
||||
//发布消息
|
||||
wsServer.PublishAllClientPayload(JsonSerializer.Serialize<List<ServerCmd>>(ListDistClient.Select(a => a.ServerCmd).ToList()));
|
||||
|
||||
}
|
||||
@@ -1235,19 +1235,19 @@ namespace OrpaonEMS.App.Services
|
||||
var Data = Encoding.UTF8.GetString(message.Payload);
|
||||
//反序列化数据
|
||||
ClientInfo data = JsonSerializer.Deserialize<ClientInfo>(Data);
|
||||
if (data.Station == 1)
|
||||
{
|
||||
var dd = 1;
|
||||
}
|
||||
//if (data.Station == 1)
|
||||
//{
|
||||
// var dd = 1;
|
||||
//}
|
||||
|
||||
foreach (var item in ListDistClient)
|
||||
{
|
||||
if (item.ClientInfo!.Station == data.Station)
|
||||
{
|
||||
if (data.Station == 1)
|
||||
{
|
||||
var dd = 1;
|
||||
}
|
||||
//if (data.Station == 1)
|
||||
//{
|
||||
// var dd = 1;
|
||||
//}
|
||||
item.ClientInfo = data;
|
||||
item.EMSSocketServerConState.ServerRecvState = true;
|
||||
break;
|
||||
@@ -1294,7 +1294,7 @@ namespace OrpaonEMS.App.Services
|
||||
/// </summary>
|
||||
private bool WebSocketServerState { get; set; } = false;
|
||||
|
||||
private bool ThreadEnable = true;
|
||||
public bool ThreadEnable = true;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -1363,7 +1363,7 @@ namespace OrpaonEMS.App.Services
|
||||
/// <summary>
|
||||
/// 线程使能
|
||||
/// </summary>
|
||||
private bool WebSocketThreadEnable { get; set; } = true;
|
||||
public bool WebSocketThreadEnable { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 当前的客户端状态指令内容
|
||||
|
||||
@@ -32,9 +32,9 @@ namespace OrpaonEMS.App.Services
|
||||
InPowerPCSDataService = inPowerPCSDataService;
|
||||
if (ConfigDataService.IsMaster)
|
||||
{
|
||||
MqttClientInit();
|
||||
//MqttClientInit();
|
||||
|
||||
CycleSendStart();
|
||||
//CycleSendStart();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -514,7 +514,6 @@ namespace OrpaonEMS.App.Services
|
||||
{
|
||||
try
|
||||
{
|
||||
Thread.Sleep(1000);
|
||||
if (WaitTokenSource.IsCancellationRequested)
|
||||
{
|
||||
break;
|
||||
@@ -532,6 +531,7 @@ namespace OrpaonEMS.App.Services
|
||||
SlaveClient.ServerCmd.CoolOnOffCmd = false;
|
||||
MasterClient.ServerCmd.CoolOnOffCmd = false;
|
||||
|
||||
Thread.Sleep(30000);
|
||||
|
||||
//WaitEnvActionResult
|
||||
|
||||
@@ -695,9 +695,8 @@ namespace OrpaonEMS.App.Services
|
||||
// OpenSolar();
|
||||
//}
|
||||
|
||||
//if (!IsSpecialWeekDay())
|
||||
//{
|
||||
|
||||
if (!IsInWeekendTime())
|
||||
{
|
||||
//展示用
|
||||
ManageRealPw = EsEleMeter4.AvePw - EsEleMeter1.AvePw;
|
||||
TaxRealPw = SolarEleMeter5.AvePw - SolarEleMeter3.AvePw;//光伏和市电供应给税务大楼的负载
|
||||
@@ -723,19 +722,19 @@ namespace OrpaonEMS.App.Services
|
||||
MasterClient.ServerCmd.CmdPw = 0;
|
||||
|
||||
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// //周五或者周六
|
||||
// //主从都不充电
|
||||
// MasterClient.ServerCmd.CmdType = "Charg";
|
||||
// MasterClient.ServerCmd.CmdPw = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
//周五或者周六
|
||||
//主从都不充电
|
||||
MasterClient.ServerCmd.CmdType = "Charg";
|
||||
MasterClient.ServerCmd.CmdPw = 0;
|
||||
//MasterControlMsg = "【主储能】周五周六晚上不充电,【主储能】不动作";
|
||||
|
||||
// SlaveClient.ServerCmd.CmdType = "Charg";
|
||||
// SlaveClient.ServerCmd.CmdPw = 0;
|
||||
SlaveClient.ServerCmd.CmdType = "Charg";
|
||||
SlaveClient.ServerCmd.CmdPw = 0;
|
||||
//SlaveControlMsg = "【从储能】周五周六晚上不充电,【从储能】不动作";
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -805,9 +804,8 @@ namespace OrpaonEMS.App.Services
|
||||
// OpenSolar();
|
||||
//}
|
||||
|
||||
//if (!IsSpecialWeekDay())
|
||||
//{
|
||||
|
||||
if (!IsInWeekendTime())
|
||||
{
|
||||
//展示用
|
||||
ManageRealPw = EsEleMeter4.AvePw - EsEleMeter1.AvePw;
|
||||
TaxRealPw = SolarEleMeter5.AvePw - SolarEleMeter3.AvePw;//光伏和市电供应给税务大楼的负载
|
||||
@@ -832,20 +830,19 @@ namespace OrpaonEMS.App.Services
|
||||
SlaveClient.ServerCmd.CmdType = "Charg";
|
||||
SlaveClient.ServerCmd.CmdPw = 0;
|
||||
|
||||
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// //周五或者周六
|
||||
// //主从都不充电
|
||||
// MasterClient.ServerCmd.CmdType = "Charg";
|
||||
// MasterClient.ServerCmd.CmdPw = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
//周五或者周六
|
||||
//主从都不充电
|
||||
MasterClient.ServerCmd.CmdType = "Charg";
|
||||
MasterClient.ServerCmd.CmdPw = 0;
|
||||
//MasterControlMsg = "【主储能】周五周六晚上不充电,【主储能】不动作";
|
||||
|
||||
// SlaveClient.ServerCmd.CmdType = "Charg";
|
||||
// SlaveClient.ServerCmd.CmdPw = 0;
|
||||
SlaveClient.ServerCmd.CmdType = "Charg";
|
||||
SlaveClient.ServerCmd.CmdPw = 0;
|
||||
//SlaveControlMsg = "【从储能】周五周六晚上不充电,【从储能】不动作";
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -3275,13 +3272,43 @@ namespace OrpaonEMS.App.Services
|
||||
return (DateTime.Now.DayOfWeek == DayOfWeek.Friday && IsPm()) || (DateTime.Now.DayOfWeek == DayOfWeek.Saturday && IsPm());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 是周五还是周六
|
||||
/// 在晚上判断是周五晚上还是周六晚上,腾出储能给光伏充电用
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public bool IsInWeekendTime()
|
||||
{
|
||||
DateTime now = DateTime.Now;
|
||||
DayOfWeek currentDay = now.DayOfWeek;
|
||||
TimeSpan currentTime = now.TimeOfDay;
|
||||
|
||||
// 周五情况:时间 >= 23:00
|
||||
if (currentDay == DayOfWeek.Friday && currentTime.Hours >= 23)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
// 周六情况:全天有效
|
||||
else if (currentDay == DayOfWeek.Saturday)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
// 周日情况:时间 < 07:00
|
||||
else if (currentDay == DayOfWeek.Sunday && currentTime.Hours < 7)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 是否时下午
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private bool IsPm()
|
||||
{
|
||||
return DateTime.Now.Hour > 18;
|
||||
return DateTime.Now.Hour >= 23;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user