Browse Source

fix 调整氧气获取值

jiangjy 2 weeks ago
parent
commit
ac42514d1c
1 changed files with 48 additions and 52 deletions
  1. 48 52
      Furnace/FurnaceRT/Equipments/PMs/PMN2Purge.cs

+ 48 - 52
Furnace/FurnaceRT/Equipments/PMs/PMN2Purge.cs

@@ -49,7 +49,7 @@ namespace FurnaceRT.Equipments.PMs
         private Dictionary<string, Stopwatch> _allTimeDict = new Dictionary<string, Stopwatch>();
         private void InitN2PurgeData()
         {
-            DATA.Subscribe($"{Module}.O2DensityData", () => GetO2Density().ToString("f3"), SubscriptionAttribute.FLAG.IgnoreSaveDB);
+            DATA.Subscribe($"{Module}.O2DensityData", () => ConcentrationO2.Value.ToString("f3"), SubscriptionAttribute.FLAG.IgnoreSaveDB);
             DATA.Subscribe($"{Module}.CheckO2Location", () => GetCheckO2Location(), SubscriptionAttribute.FLAG.IgnoreSaveDB);
             DATA.Subscribe($"{Module}.O2SetCheckSetPoint", () => GetO2SetCheckSetPoint(), SubscriptionAttribute.FLAG.IgnoreSaveDB);
 
@@ -98,11 +98,11 @@ namespace FurnaceRT.Equipments.PMs
                 {"Foup1",()=> GetN2PurgeFoup1Status()},
                 {"Foup2",()=> GetN2PurgeFoup2Status()},
 
-                {N2PurgeModeEnum.Manual_phase1.ToString(),()=>  CheckN2PurgePhase1(out float o2Value) },
-                {N2PurgeModeEnum.Manual_phase2.ToString(),()=>  CheckN2PurgePhase2(out float o2Value)},
-                {N2PurgeModeEnum.Manual_phase3.ToString(),()=>  CheckN2PurgePhase3(out float o2Value) },
-                {N2PurgeModeEnum.Manual_phase4.ToString(),()=>  CheckN2PurgePhase4(out float o2Value) },
-                {N2PurgeModeEnum.Manual_phase5.ToString(),()=>  CheckN2PurgePhase5(out float o2Value) },
+                {N2PurgeModeEnum.Manual_phase1.ToString(),()=>  CheckN2PurgePhase1() },
+                {N2PurgeModeEnum.Manual_phase2.ToString(),()=>  CheckN2PurgePhase2()},
+                {N2PurgeModeEnum.Manual_phase3.ToString(),()=>  CheckN2PurgePhase3() },
+                {N2PurgeModeEnum.Manual_phase4.ToString(),()=>  CheckN2PurgePhase4() },
+                {N2PurgeModeEnum.Manual_phase5.ToString(),()=>  CheckN2PurgePhase5() },
 
             };
             _allTimeDict = new Dictionary<string, Stopwatch>()
@@ -135,9 +135,9 @@ namespace FurnaceRT.Equipments.PMs
             {
                 if (_currentPhase == N2PurgeModeEnum.Manual_phase1)
                 {
-                    if (CheckN2PurgePhase2(out float o2Value) && _canSwitchToPhase2)
+                    if (CheckN2PurgePhase2( ) && _canSwitchToPhase2)
                     {
-                        LOG.Info($" N2PurgeMode Trigger from Manual_phase1 to Manual_phase2,O2:{o2Value}");
+                        LOG.Info($" N2PurgeMode Trigger from Manual_phase1 to Manual_phase2,O2:{ConcentrationO2.Value}");
                         SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase2.ToString());
                     }
                 }
@@ -150,9 +150,9 @@ namespace FurnaceRT.Equipments.PMs
                     var second = _allTimeDict[N2PurgeModeEnum.Manual_phase2.ToString()].Elapsed.TotalSeconds;
                     if (second >= _manualPhase2StabilityTime)
                     {
-                        if (CheckN2PurgePhase1(out float o2Value))
+                        if (CheckN2PurgePhase1( ))
                         {
-                            LOG.Info($"N2PurgeMode Trigger Manual_phase1 was triggered {second} seconds later,O2:{o2Value}");
+                            LOG.Info($"N2PurgeMode Trigger Manual_phase1 was triggered {second} seconds later,O2:{ConcentrationO2.Value}");
                             N2PurgeFaileAlarm.Set();
 
                             _allTimeDict[N2PurgeModeEnum.Manual_phase2.ToString()].Restart();
@@ -162,9 +162,9 @@ namespace FurnaceRT.Equipments.PMs
                             SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase1.ToString());
 
                         }
-                        if (CheckN2PurgePhase2(out o2Value))
+                        if (CheckN2PurgePhase2( ))
                         {
-                            LOG.Info($"N2PurgeMode Trigger Hold Manual_phase2 was triggered {second} seconds later,O2:{o2Value}");
+                            LOG.Info($"N2PurgeMode Trigger Hold Manual_phase2 was triggered {second} seconds later,O2:{ConcentrationO2.Value}");
                             _allTimeDict[N2PurgeModeEnum.Manual_phase2.ToString()].Restart();
                             _allTimeDict[N2PurgeModeEnum.Manual_phase2.ToString()].Stop();
                             _canSwitchToPhase2 = false;
@@ -174,14 +174,14 @@ namespace FurnaceRT.Equipments.PMs
                 }
                 else
                 {
-                    if (CheckN2PurgePhase1(out float o2Value))
+                    if (CheckN2PurgePhase1( ))
                     {
-                        LOG.Info($"N2PurgeMode Trigger Directly  triggered Manual_phase1,O2:{o2Value}");
+                        LOG.Info($"N2PurgeMode Trigger Directly  triggered Manual_phase1,O2:{ConcentrationO2.Value}");
                         SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase1.ToString());
                     }
-                    else if (CheckN2PurgePhase2(out o2Value))
+                    else if (CheckN2PurgePhase2( ))
                     {
-                        LOG.Info($"N2PurgeMode Trigger Directly  triggered Manual_phase2,O2:{o2Value}");
+                        LOG.Info($"N2PurgeMode Trigger Directly  triggered Manual_phase2,O2:{ConcentrationO2.Value}");
 
                         SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase2.ToString());
 
@@ -193,7 +193,7 @@ namespace FurnaceRT.Equipments.PMs
 
                 if (_currentPhase == N2PurgeModeEnum.Manual_phase3)
                 {
-                    var checkResult = CheckN2PurgePhase4(out float o2Value);
+                    var checkResult = CheckN2PurgePhase4( );
 
                     if (!_allTimeDict[N2PurgeModeEnum.Manual_phase4.ToString()].IsRunning)
                     {
@@ -203,7 +203,7 @@ namespace FurnaceRT.Equipments.PMs
 
                     if (second >= _manualPhase4StabilityTime && checkResult)
                     {
-                        LOG.Info($"N2PurgeMode Trigger from  Manual_phase3 to Manual_phase4 is triggered {second} seconds later,O2:{o2Value}");
+                        LOG.Info($"N2PurgeMode Trigger from  Manual_phase3 to Manual_phase4 is triggered {second} seconds later,O2:{ConcentrationO2.Value}");
 
                         SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase4.ToString());
                         _allTimeDict[N2PurgeModeEnum.Manual_phase4.ToString()].Restart();
@@ -213,13 +213,13 @@ namespace FurnaceRT.Equipments.PMs
                 }
                 else if (_currentPhase == N2PurgeModeEnum.Manual_phase4)
                 {
-                    if (CheckN2PurgePhase5(out float o2Value))
+                    if (CheckN2PurgePhase5( ))
                     {
-                        LOG.Info($"N2PurgeMode Trigger from Manual_phase4 to Manual_phase5,O2:{o2Value}");
+                        LOG.Info($"N2PurgeMode Trigger from Manual_phase4 to Manual_phase5,O2:{ConcentrationO2.Value}");
 
                         SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase5.ToString());
                     }
-                    //if (CheckN2PurgePhase3(out o2Value))
+                    //if (CheckN2PurgePhase3( ))
                     //{
                     //    LOG.Info($"N2PurgeMode Trigger from Manual_phase4 to Manual_phase3,O2:{o2Value}");
 
@@ -229,13 +229,13 @@ namespace FurnaceRT.Equipments.PMs
                 }
                 else if (_currentPhase == N2PurgeModeEnum.Manual_phase5)
                 {
-                    if (CheckN2PurgePhase4(out float o2Value))
+                    if (CheckN2PurgePhase4( ))
                     {
-                        LOG.Info($"N2PurgeMode Trigger from Manual_phase5 to Manual_phase4,O2:{o2Value}");
+                        LOG.Info($"N2PurgeMode Trigger from Manual_phase5 to Manual_phase4,O2:{ConcentrationO2.Value}");
 
                         SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase4.ToString());
                     }
-                    //if (CheckN2PurgePhase3(out o2Value))
+                    //if (CheckN2PurgePhase3( ))
                     //{
                     //    LOG.Info($"N2PurgeMode Trigger from Manual_phase5 to Manual_phase3,O2:{o2Value}");
 
@@ -244,30 +244,33 @@ namespace FurnaceRT.Equipments.PMs
                 }
                 else
                 {
-                    if (CheckN2PurgePhase3(out float o2Value))
+                    if (CheckN2PurgePhase3( ))
                     {
-                        LOG.Info($"N2PurgeMode Trigger Directly  triggered Manual_phase3,O2:{o2Value}");
+                        LOG.Info($"N2PurgeMode Trigger Directly  triggered Manual_phase3,O2:{ConcentrationO2.Value}");
 
                         SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase3.ToString());
                         return;
                     }
-                    if (CheckN2PurgePhase5(out o2Value))
+                    if (CheckN2PurgePhase5( ))
                     {
-                        LOG.Info($"N2PurgeMode Trigger Directly  triggered Manual_phase5,O2:{o2Value}");
+                        LOG.Info($"N2PurgeMode Trigger Directly  triggered Manual_phase5,O2:{ConcentrationO2.Value}");
 
                         SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase5.ToString());
                         return;
                     }
-                    if (CheckN2PurgePhase4(out o2Value))
+                    if (CheckN2PurgePhase4( ))
                     {
-                        LOG.Info($"N2PurgeMode Trigger Directly  triggered Manual_phase4,O2:{o2Value}");
+                        LOG.Info($"N2PurgeMode Trigger Directly  triggered Manual_phase4,O2:{ConcentrationO2.Value}");
 
                         SetN2PurgeValveData(N2PurgeModeEnum.Manual_phase4.ToString());
-                          return;
+                        return;
                     }
                 }
             }
-
+            if (_N2PurgeMode == N2PurgeModeEnum.ManualMode || _N2PurgeMode == N2PurgeModeEnum.Auto)
+            {
+              
+            }
             //switch (_N2PurgeMode)
             //{
             //    case N2PurgeModeEnum.Auto:
@@ -321,7 +324,7 @@ namespace FurnaceRT.Equipments.PMs
             r_TRIG.CLK = needCheck ? (CheckConditionInTime(modeKey, time, () => _n2PurgeSequenceStatus[modeKey].Invoke())) : _n2PurgeSequenceStatus[modeKey].Invoke();
             if (r_TRIG.Q)
             {
-                LOG.Info($"N2PurgeMode Trigger {modeKey}!,O2:{GetO2Density()},time:{_allTimeDict[modeKey].ElapsedMilliseconds}");
+                LOG.Info($"N2PurgeMode Trigger {modeKey}!,O2:{ConcentrationO2.Value},time:{_allTimeDict[modeKey].ElapsedMilliseconds}");
                 SetN2PurgeValveData(modeKey);
                 _allTimeDict[modeKey].Stop();
                 _allTimeDict[modeKey].Reset();
@@ -434,34 +437,27 @@ namespace FurnaceRT.Equipments.PMs
         /// </summary>
         /// <returns></returns>
 
-        private float GetO2Density()
-        {
-            return IO.AI[$"PM1.AI_O2Concentration"].FloatValue;
-        }
-        private bool CheckN2PurgePhase1(out float o2Value)
+     
+        private bool CheckN2PurgePhase1()
         {
-            o2Value = GetO2Density();
-            return ((int)o2Value >= _n2PurgeData) && GetLADoorOpenStatus();
+            return ((int)ConcentrationO2.Value >= _n2PurgeData) && GetLADoorOpenStatus();
         }
-        private bool CheckN2PurgePhase2(out float o2Value)
+        private bool CheckN2PurgePhase2()
         {
-            o2Value = GetO2Density();
-            return (o2Value < _n2PurgeData) && GetLADoorOpenStatus();
+            return ((int)ConcentrationO2.Value < _n2PurgeData) && GetLADoorOpenStatus();
         }
-        private bool CheckN2PurgePhase3(out float o2Value)
+        private bool CheckN2PurgePhase3()
         {
-            o2Value = GetO2Density();
-            return ((int)o2Value) < _n2ToAirData && GetLADoorOpenStatus();
+            return ((int)ConcentrationO2.Value) < _n2ToAirData && GetLADoorOpenStatus();
         }
-        private bool CheckN2PurgePhase5(out float o2Value)
+        private bool CheckN2PurgePhase5()
         {
-            o2Value = GetO2Density();
-            return ((int)o2Value) >= _n2ToAirData && !GetLADoorOpenStatus();
+            return ((int)ConcentrationO2.Value) >= _n2ToAirData && !GetLADoorOpenStatus();
         }
-        private bool CheckN2PurgePhase4(out float o2Value)
+        private bool CheckN2PurgePhase4()
         {
-            o2Value = GetO2Density();
-            return (((int)o2Value)) >= _n2ToAirData && GetLADoorOpenStatus();
+      
+            return (((int)ConcentrationO2.Value)) >= _n2ToAirData && GetLADoorOpenStatus();
         }
         private bool GetN2PurgeAIRTo20PPMStatus()
         {