模拟器增加水温模拟。

修正Shutdown操作无权限时的对话框样式。
修正PMOperViewModel对象中确实#endregion的问题。
This commit is contained in:
SL 2023-08-14 11:15:22 +08:00
parent b7fb5b6e6a
commit e2d341de58
3 changed files with 32 additions and 5 deletions

View File

@ -14,8 +14,8 @@ namespace SicSimulator.Instances
public class SimulatorSystem : Singleton<SimulatorSystem>
{
private PeriodicJob _thread;
Random _rd = new Random();
private readonly Random _rnd = new();
private const float WaterTempBase = 30.0f;
public SimulatorSystem()
{
@ -104,6 +104,8 @@ namespace SicSimulator.Instances
private void SetDefaultValue(string mod)
{
SetWaterTemp(mod);
IO.DI[$"{mod}.DI_ConfinementRingDone"].Value = true;
IO.DI[$"{mod}.DI_DryPumpAlarm"].Value = true;
IO.DI[$"{mod}.DI_DryPump1Warning"].Value = true;
@ -307,6 +309,28 @@ namespace SicSimulator.Instances
IO.DI[$"{mod}.DI_ReactorHCLDetectorSW"].Value = true;
}
private void SetWaterTemp(string mod)
{
#region Water Flow
IO.AI[$"{mod}.AI_ChamMiddleFlow2Temp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_SHFlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_ChamTopFlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_ChamMiddleFlow1Temp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_ChamBottomFlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_TMPump2FlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_PowerRod1FlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_PowerRod2FlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_Foreline1FlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_ElectrodeWFlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_TMPump1FlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_TransformerFlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_TMTopLidFlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_TMBufferFlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
IO.AI[$"{mod}.AI_SpareFlowTemp"].FloatValue = (float)(WaterTempBase * _rnd.NextDouble()); ;
#endregion
}
private bool OnMonitor()
{
@ -445,7 +469,7 @@ namespace SicSimulator.Instances
result = setpoint;
}
result = result + (float)_rd.NextDouble();
result = result + (float)_rnd.NextDouble();
IO.AI[$"{pm}.{item.Item1}"].FloatValue = result;
}

View File

@ -564,7 +564,7 @@ namespace SicUI.Client
InvokeClient.Instance.Service.DoOperation("System.ShutDown");
else
{
MessageBox.Show("No Permission for ShutDown.","Warning");
DialogBox.ShowError("No Permission for ShutDown");
}
break;
}
@ -581,7 +581,8 @@ namespace SicUI.Client
AccountClient.Instance.Service.LogoutEx(BaseApp.Instance.UserContext.LoginName, BaseApp.Instance.UserContext.LoginId);
BaseApp.Instance.UserContext.IsLogin = false;
LOG.Info(string.Format("{0} logoff as {1}", BaseApp.Instance.UserContext.LoginName, BaseApp.Instance.UserContext.RoleName));
LOG.Info(
$"{BaseApp.Instance.UserContext.LoginName} logoff as {BaseApp.Instance.UserContext.RoleName}");
}
catch (Exception exp)
{

View File

@ -496,6 +496,8 @@ namespace SicUI.Models.PMs
[Subscription("TC1.L3InputTempSetPoint")]
public float L3InputTemp { get; set; }
#endregion
#region CoolingWater Temp Data
[Subscription("FlowTemp1.DeviceData")]
public AITWaterFlowData FlowTemp1 { get; set; }