浏览代码

fix Recipe N2PurgeMode None选项不做逻辑

jiangjy 2 周之前
父节点
当前提交
02b0234f5d

+ 11 - 7
Furnace/FurnaceRT/Equipments/PMs/PMModule.cs

@@ -264,9 +264,9 @@ namespace FurnaceRT.Equipments.PMs
             var isEnable = SC.GetValue<bool>("BufferPurge.IsEnable");
             if (isEnable)
             {
-               var sequence= SC.GetStringValue("BufferPurge.OperationOrder")?.Split(';');
+                var sequence = SC.GetStringValue("BufferPurge.OperationOrder")?.Split(';');
                 string[] names = SC.GetStringValue("BufferPurge.NameList")?.Split(';');
-                if (sequence?.Length > 0&&names?.Length>0)
+                if (sequence?.Length > 0 && names?.Length > 0)
                 {
                     List<PurgeParameter> purge = new List<PurgeParameter>();
                     foreach (string p in sequence)
@@ -779,9 +779,9 @@ namespace FurnaceRT.Equipments.PMs
                 reason = string.Empty;
                 if (param.Length > 0 && param[0] is List<PurgeParameter> purge)
                 {
-                   reason= SetBufferPurge(purge);
-                   if (!string.IsNullOrEmpty(reason)) return false;
-                    SC.SetItemValue("BufferPurge.OperationOrder", $"{purge[0].Name},{purge[0].Speed},Time({purge[0].Time}),{(purge[0].IsOpen ? "Open" : (purge[0].IsClose?"Close":""))}");
+                    reason = SetBufferPurge(purge);
+                    if (!string.IsNullOrEmpty(reason)) return false;
+                    SC.SetItemValue("BufferPurge.OperationOrder", $"{purge[0].Name},{purge[0].Speed},Time({purge[0].Time}),{(purge[0].IsOpen ? "Open" : (purge[0].IsClose ? "Close" : ""))}");
                 }
                 return true;
             });
@@ -1262,11 +1262,15 @@ namespace FurnaceRT.Equipments.PMs
             {
                 return N2PurgeModeEnum.ATMMode.ToString();
             }
-            if ((str == N2PurgeModeEnum.N2PurgeMode.ToString()) || (str == N2PurgeModeEnum.N2PurgeMode.ToDescription()) || (str.StartsWith("N2")))
+            else if ((str == N2PurgeModeEnum.N2PurgeMode.ToString()) || (str == N2PurgeModeEnum.N2PurgeMode.ToDescription()) || (str.StartsWith("N2")))
             {
                 return N2PurgeModeEnum.N2PurgeMode.ToString();
             }
-            return N2PurgeModeEnum.ManualMode.ToString();
+            else
+            {
+                return SC.ContainsItem("PM1.SelectN2PurgeMode") ? SC.GetStringValue("PM1.SelectN2PurgeMode") : N2PurgeModeEnum.ManualMode.ToString();
+
+            }
         }
         private bool FsmStartContinue(object[] param)
         {

+ 6 - 9
Furnace/FurnaceRT/Equipments/PMs/PMN2Purge.cs

@@ -645,17 +645,14 @@ namespace FurnaceRT.Equipments.PMs
 
         public void InitN2PurgeMode(string n2PurgeModeStr, bool isN2Purge)
         {
+            if (!isN2Purge)
+                return;
+
             if (SC.ContainsItem("PM1.RecipeRelevancyN2Purge") && SC.GetValue<bool>("PM1.RecipeRelevancyN2Purge") && SC.ContainsItem("PM1.SelectN2PurgeMode"))
             {
-                if (!isN2Purge)
-                {
-                    SC.SetItemValueFromString("PM1.SelectN2PurgeMode", N2PurgeModeEnum.ManualMode.ToString());
-                }
-                else
-                {
-                    var setValue = GetN2PurgeModeEnumByStr(n2PurgeModeStr);
-                    SC.SetItemValueFromString("PM1.SelectN2PurgeMode", setValue);
-                }
+
+                var setValue = GetN2PurgeModeEnumByStr(n2PurgeModeStr);
+                SC.SetItemValueFromString("PM1.SelectN2PurgeMode", setValue);
                 RestAllN2PrugeRD();
             }
         }

+ 3 - 3
Furnace/FurnaceRT/Equipments/PMs/RecipeExecutions/RecipeParser.cs

@@ -206,7 +206,7 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                         recipeHead.ProfileCondition = nodeConfig.HasAttribute("Combination.ProfileCondition") ? nodeConfig.Attributes["Combination.ProfileCondition"].Value : "";
                         if (nodeConfig.HasAttribute("N2PurgeMode"))
                         {
-                            recipeHead.IsN2PurgeMode = nodeConfig.Attributes["N2PurgeMode"].Value.Replace(" ", "").ToLower() == "n2purge";
+                            recipeHead.IsN2PurgeMode = nodeConfig.Attributes["N2PurgeMode"].Value.Replace(" ", "").ToLower() != "none";
                             recipeHead.N2PurgeModeStr = nodeConfig.Attributes["N2PurgeMode"].Value;
                         }
                         else
@@ -699,7 +699,7 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                       "ValveAV51",
                       "ValveAV52",
                       "ValveAV53",
-                    
+
                       "ValveAV60",
                       "ValveAV61",
                       "ValveAV62",
@@ -1814,7 +1814,7 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                       "ValveAV51",
                       "ValveAV52",
                       "ValveAV53",
-                 
+
                       "ValveAV60",
                       "ValveAV61",
                       "ValveAV62",