|
@@ -49,7 +49,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
private Dictionary<string, Stopwatch> _allTimeDict = new Dictionary<string, Stopwatch>();
|
|
|
private void InitN2PurgeData()
|
|
|
{
|
|
|
- DATA.Subscribe($"{Module}.O2DensityData", () => GetO2DensityData(), SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
+ DATA.Subscribe($"{Module}.O2DensityData", () => GetO2Density().ToString("f3"), SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
DATA.Subscribe($"{Module}.CheckO2Location", () => GetCheckO2Location(), SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
DATA.Subscribe($"{Module}.O2SetCheckSetPoint", () => GetO2SetCheckSetPoint(), SubscriptionAttribute.FLAG.IgnoreSaveDB);
|
|
|
|
|
@@ -57,6 +57,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
|
var selectN2PurgeMode = SC.ContainsItem("PM1.SelectN2PurgeMode") ? SC.GetStringValue("PM1.SelectN2PurgeMode") : "";
|
|
|
if (!string.IsNullOrEmpty(selectN2PurgeMode))
|
|
|
{
|
|
@@ -66,6 +67,12 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ var currentPhase = SC.ContainsItem("PM1.SelectN2PurgeModePhase") ? SC.GetStringValue("PM1.SelectN2PurgeModePhase") : "";
|
|
|
+ if (!string.IsNullOrEmpty(currentPhase))
|
|
|
+ {
|
|
|
+ var enumCurrentPhase = (N2PurgeModeEnum)Enum.Parse(typeof(N2PurgeModeEnum), currentPhase);
|
|
|
+ _currentPhase = enumCurrentPhase;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void InitN2PurgeConfigData()
|
|
@@ -339,6 +346,10 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
|
|
|
_currentPhase = (N2PurgeModeEnum)Enum.Parse(typeof(N2PurgeModeEnum), mode);
|
|
|
|
|
|
+ if (SC.ContainsItem("PM1.SelectN2PurgeModePhase"))
|
|
|
+ {
|
|
|
+ SC.SetItemValue("PM1.SelectN2PurgeModePhase", mode);
|
|
|
+ }
|
|
|
foreach (var operateItem in value.Item2)
|
|
|
{
|
|
|
if (operateItem.Item1 is IoMFC)
|
|
@@ -420,36 +431,30 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
/// 获取当前O2浓度
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
- private string GetO2DensityData()
|
|
|
- {
|
|
|
- var result = "";
|
|
|
-
|
|
|
- result = GetO2Density().ToString("f3");
|
|
|
- return result;
|
|
|
- }
|
|
|
+
|
|
|
private float GetO2Density()
|
|
|
{
|
|
|
return IO.AI[$"PM1.AI_O2Concentration"].FloatValue;
|
|
|
}
|
|
|
private bool GetN2PurgePhase1()
|
|
|
{
|
|
|
- return (GetO2Density() >= _n2PurgeData) && GetLADoorOpenStatus();
|
|
|
+ return ((int)GetO2Density() >= _n2PurgeData) && GetLADoorOpenStatus();
|
|
|
}
|
|
|
private bool GetN2PurgePhase2()
|
|
|
{
|
|
|
- return (GetO2Density() < _n2PurgeData) && GetLADoorOpenStatus();
|
|
|
+ return ((int)GetO2Density() < _n2PurgeData) && GetLADoorOpenStatus();
|
|
|
}
|
|
|
private bool GetN2PurgePhase3()
|
|
|
{
|
|
|
- return GetO2Density() < _n2ToAirData && GetLADoorOpenStatus();
|
|
|
+ return ((int)GetO2Density()) < _n2ToAirData && GetLADoorOpenStatus();
|
|
|
}
|
|
|
private bool GetN2PurgePhase5()
|
|
|
{
|
|
|
- return GetO2Density() >= _n2ToAirData && !GetLADoorOpenStatus();
|
|
|
+ return ((int)GetO2Density()) >= _n2ToAirData && !GetLADoorOpenStatus();
|
|
|
}
|
|
|
private bool GetN2PurgePhase4()
|
|
|
{
|
|
|
- return GetO2Density() >= _n2ToAirData && GetLADoorOpenStatus();
|
|
|
+ return ((int)GetO2Density()) >= _n2ToAirData && GetLADoorOpenStatus();
|
|
|
}
|
|
|
private bool GetN2PurgeAIRTo20PPMStatus()
|
|
|
{
|