|
@@ -1,6 +1,7 @@
|
|
|
using Aitex.Core.RT.DataCenter;
|
|
|
using Aitex.Core.RT.Device;
|
|
|
using Aitex.Core.RT.Device.Unit;
|
|
|
+using Aitex.Core.RT.IOCore;
|
|
|
using Aitex.Core.RT.Log;
|
|
|
using Aitex.Core.RT.SCCore;
|
|
|
using Aitex.Core.Util;
|
|
@@ -129,7 +130,8 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
{
|
|
|
if (_n2PurgeSequenceStatus[N2PurgeModeEnum.Manual_phase2.ToString()].Invoke() && _canSwitchToPhase2)
|
|
|
{
|
|
|
- SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase2.ToString(), "from Manual_phase1 to Manual_phase2");
|
|
|
+ LOG.Info($" N2PurgeMode Trigger from Manual_phase1 to Manual_phase2,O2:{GetO2Density()}");
|
|
|
+ SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase2.ToString());
|
|
|
}
|
|
|
}
|
|
|
else if (_currentPhase == N2PurgeModeEnum.Manual_phase2)
|
|
@@ -143,19 +145,19 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
{
|
|
|
if (_n2PurgeSequenceStatus[N2PurgeModeEnum.Manual_phase1.ToString()].Invoke())
|
|
|
{
|
|
|
- SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase1.ToString(), "from Manual_phase2 to Manual_phase1");
|
|
|
-
|
|
|
+ LOG.Info($"N2PurgeMode Trigger Manual_phase1 was triggered {_manualPhase2StabilityTime} seconds later,O2:{GetO2Density()}");
|
|
|
N2PurgeFaileAlarm.Set();
|
|
|
|
|
|
_allTimeDict[N2PurgeModeEnum.Manual_phase2.ToString()].Restart();
|
|
|
_allTimeDict[N2PurgeModeEnum.Manual_phase2.ToString()].Stop();
|
|
|
-
|
|
|
_canSwitchToPhase2 = false;
|
|
|
- LOG.Info($"N2PurgeMode Trigger Manual_phase1 was triggered {_manualPhase2StabilityTime} seconds later");
|
|
|
+
|
|
|
+ SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase1.ToString());
|
|
|
+
|
|
|
}
|
|
|
if (_n2PurgeSequenceStatus[N2PurgeModeEnum.Manual_phase2.ToString()].Invoke())
|
|
|
{
|
|
|
- LOG.Info($"N2PurgeMode Trigger Hold Manual_phase2 was triggered {_manualPhase2StabilityTime} seconds later");
|
|
|
+ LOG.Info($"N2PurgeMode Trigger Hold Manual_phase2 was triggered {_manualPhase2StabilityTime} seconds later,O2:{GetO2Density()}");
|
|
|
_allTimeDict[N2PurgeModeEnum.Manual_phase2.ToString()].Restart();
|
|
|
_allTimeDict[N2PurgeModeEnum.Manual_phase2.ToString()].Stop();
|
|
|
_canSwitchToPhase2 = false;
|
|
@@ -167,10 +169,13 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
{
|
|
|
if (_n2PurgeSequenceStatus[N2PurgeModeEnum.Manual_phase1.ToString()].Invoke())
|
|
|
{
|
|
|
+ LOG.Info($"N2PurgeMode Trigger Directly triggered Manual_phase1,O2:{GetO2Density()}");
|
|
|
SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase1.ToString());
|
|
|
}
|
|
|
else if (_n2PurgeSequenceStatus[N2PurgeModeEnum.Manual_phase2.ToString()].Invoke())
|
|
|
{
|
|
|
+ LOG.Info($"N2PurgeMode Trigger Directly triggered Manual_phase2,O2:{GetO2Density()}");
|
|
|
+
|
|
|
SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase2.ToString());
|
|
|
|
|
|
}
|
|
@@ -192,7 +197,9 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
|
|
|
if (second >= _manualPhase4StabilityTime)
|
|
|
{
|
|
|
- SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase4.ToString(), "from Manual_phase3 to Manual_phase4");
|
|
|
+ LOG.Info($"N2PurgeMode Trigger from Manual_phase3 to Manual_phase4 is triggered {_manualPhase4StabilityTime} seconds later,O2:{GetO2Density()}");
|
|
|
+
|
|
|
+ SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase4.ToString());
|
|
|
_allTimeDict[N2PurgeModeEnum.Manual_phase4.ToString()].Stop();
|
|
|
}
|
|
|
|
|
@@ -202,11 +209,15 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
{
|
|
|
if (_n2PurgeSequenceStatus[N2PurgeModeEnum.Manual_phase5.ToString()].Invoke())
|
|
|
{
|
|
|
- SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase5.ToString(), "from Manual_phase4 to Manual_phase5");
|
|
|
+ LOG.Info($"N2PurgeMode Trigger from Manual_phase4 to Manual_phase5,O2:{GetO2Density()}");
|
|
|
+
|
|
|
+ SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase5.ToString());
|
|
|
}
|
|
|
if (_n2PurgeSequenceStatus[N2PurgeModeEnum.Manual_phase3.ToString()].Invoke())
|
|
|
{
|
|
|
- SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase3.ToString(), "from Manual_phase4 to Manual_phase3");
|
|
|
+ LOG.Info($"N2PurgeMode Trigger from Manual_phase4 to Manual_phase3,O2:{GetO2Density()}");
|
|
|
+
|
|
|
+ SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase3.ToString());
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -214,25 +225,35 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
{
|
|
|
if (_n2PurgeSequenceStatus[N2PurgeModeEnum.Manual_phase4.ToString()].Invoke())
|
|
|
{
|
|
|
- SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase4.ToString(), "from Manual_phase5 to Manual_phase4");
|
|
|
+ LOG.Info($"N2PurgeMode Trigger from Manual_phase5 to Manual_phase4,O2:{GetO2Density()}");
|
|
|
+
|
|
|
+ SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase4.ToString());
|
|
|
}
|
|
|
if (_n2PurgeSequenceStatus[N2PurgeModeEnum.Manual_phase3.ToString()].Invoke())
|
|
|
{
|
|
|
- SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase3.ToString(), "from Manual_phase5 to Manual_phase3");
|
|
|
+ LOG.Info($"N2PurgeMode Trigger from Manual_phase5 to Manual_phase3,O2:{GetO2Density()}");
|
|
|
+
|
|
|
+ SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase3.ToString());
|
|
|
}
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
if (_n2PurgeSequenceStatus[N2PurgeModeEnum.Manual_phase3.ToString()].Invoke())
|
|
|
{
|
|
|
+ LOG.Info($"N2PurgeMode Trigger Directly triggered Manual_phase3,O2:{GetO2Density()}");
|
|
|
+
|
|
|
SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase3.ToString());
|
|
|
}
|
|
|
if (_n2PurgeSequenceStatus[N2PurgeModeEnum.Manual_phase5.ToString()].Invoke())
|
|
|
{
|
|
|
+ LOG.Info($"N2PurgeMode Trigger Directly triggered Manual_phase5,O2:{GetO2Density()}");
|
|
|
+
|
|
|
SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase5.ToString());
|
|
|
}
|
|
|
if (_n2PurgeSequenceStatus[N2PurgeModeEnum.Manual_phase4.ToString()].Invoke())
|
|
|
{
|
|
|
+ LOG.Info($"N2PurgeMode Trigger Directly triggered Manual_phase4,O2:{GetO2Density()}");
|
|
|
+
|
|
|
SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase4.ToString());
|
|
|
}
|
|
|
}
|
|
@@ -313,8 +334,7 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
}
|
|
|
private void SetN2PurgeValveData(string mode, string msg = "")
|
|
|
{
|
|
|
- string message = string.IsNullOrEmpty(msg) ? $"N2PurgeMode Trigger {mode},O2:{GetO2Density()}" : $"N2PurgeMode Trigger {msg},O2:{GetO2Density()}";
|
|
|
- LOG.Info(message);
|
|
|
+
|
|
|
var value = _n2PurgeSequenceAction[mode];
|
|
|
|
|
|
_currentPhase = (N2PurgeModeEnum)Enum.Parse(typeof(N2PurgeModeEnum), mode);
|
|
@@ -404,13 +424,12 @@ namespace FurnaceRT.Equipments.PMs
|
|
|
{
|
|
|
var result = "";
|
|
|
|
|
|
- result = ConcentrationO2.FeedBack.ToString("f3");
|
|
|
+ result = GetO2Density().ToString("f3");
|
|
|
return result;
|
|
|
}
|
|
|
- private double GetO2Density()
|
|
|
+ private float GetO2Density()
|
|
|
{
|
|
|
-
|
|
|
- return ConcentrationO2.FeedBack;
|
|
|
+ return IO.AI[$"PM1.AI_O2Concentration"].FloatValue;
|
|
|
}
|
|
|
private bool GetN2PurgePhase1()
|
|
|
{
|