Browse Source

fix SVID:ProcessRecipeStepName/SubRecipeStepName/SubRecipeStepNumber数据赋值

jiangjy 1 month ago
parent
commit
4fbb27d114

+ 35 - 8
Furnace/FurnaceRT/Equipments/PMs/PMModule.cs

@@ -41,6 +41,7 @@ using MECF.Framework.Common.CommonData;
 using System.ServiceModel;
 using FabConnect.SecsGemInterface.Application.Objects.ObjectService;
 using DocumentFormat.OpenXml.Packaging;
+using System.Runtime.Remoting.Metadata.W3cXsd2001;
 
 namespace FurnaceRT.Equipments.PMs
 {
@@ -458,14 +459,6 @@ namespace FurnaceRT.Equipments.PMs
             InitScheduleMaintenanceSubscribe();
         }
 
-        public void FDCSubscribe()
-        {
-
-            DATA.Subscribe($"ProcessRecipeStepName", "");
-            DATA.Subscribe($"SubRecipeStepName", "");
-            DATA.Subscribe($"SubRecipeStepNumber", "");
-
-        }
         private void InitStats()
         {
             _statTubeCleanNumber = new StatsData($"{Module}.Tube Clean Number", "Tube clean number", 0);
@@ -1743,7 +1736,41 @@ namespace FurnaceRT.Equipments.PMs
 
 
         }
+        #region 
+        private string _processRecipeStepName = "";
+        private string _subRecipeStepName = "";
+        private string _subRecipeStepNumber = "";
+        public void SetFDCRecipeStepName(bool isSub, string stepName, string stepNo = "")
+        {
+            if (isSub)
+            {
+                _subRecipeStepName = stepName;
+                _subRecipeStepNumber = stepNo;
+            }
+            else
+            {
+                _processRecipeStepName = stepName;
+
+            }
+        }
+        public void ResetFDCRecipeStepName()
+        {
+
+            _subRecipeStepName = "";
+            _subRecipeStepNumber = "";
+            _processRecipeStepName = "";
+
+        }
 
+        public void FDCSubscribe()
+        {
+
+            DATA.Subscribe($"ProcessRecipeStepName", () => _processRecipeStepName);
+            DATA.Subscribe($"SubRecipeStepName", () => _subRecipeStepName);
+            DATA.Subscribe($"SubRecipeStepNumber", () => _subRecipeStepNumber);
+
+        }
+        #endregion
     }
     #endregion
 }

+ 5 - 3
Furnace/FurnaceRT/Equipments/PMs/RecipeExecutions/Process.cs

@@ -305,6 +305,7 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
 
             WaferManager.Instance.UpdateWaferProcessStatus(ModuleHelper.Converter(Module), 0, EnumWaferProcessStatus.InProcess);
 
+            PMModule.ResetFDCRecipeStepName();
             PMModule.HeaterEnable(true);
 
             #region 把pj_id更新到process表
@@ -395,7 +396,7 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                     {
                                         _currentSubRecipeStepNumber = curSteps[_currentSubRecipeStepNumber].JumpStepNo;
                                     }
-
+                                    PMModule.SetFDCRecipeStepName(IsSubReciep, curSteps[_currentSubRecipeStepNumber].StepName, (_currentSubRecipeStepNumber + 1).ToString());
                                     RecipeExec("Sub recipe", curSteps, _currentSubRecipeStepNumber, _curStepElpasedTimeBeforePaused, _currentSubRecipeStepNumber + 1);
                                 }
                                 else
@@ -413,7 +414,7 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                         curSteps[_currentStepNumber].IsJumpStep = false;//只执行一次
                                         _currentStepNumber = curSteps[_currentStepNumber].JumpStepNo;
                                     }
-
+                                    PMModule.SetFDCRecipeStepName(IsSubReciep, curSteps[_currentStepNumber].StepName, _currentStepNumber.ToString());
                                     RecipeExec("Main recipe", curSteps, _currentStepNumber, _curStepElpasedTimeBeforePaused);
                                 }
                             }
@@ -689,6 +690,7 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
                                 else
                                 {
                                     stepName = PMModule.RecipeRunningInfo.RecipeStepList[_currentStepNumber].StepName;
+
                                     float.TryParse(PMModule.RecipeRunningInfo.RecipeStepList[_currentStepNumber].FilmThickFormula, out thickness);
 
                                     //放在前面,stepnumber后面会被更新
@@ -1796,6 +1798,6 @@ namespace FurnaceRT.Equipments.PMs.RecipeExecutions
             _fdc.Start(curSteps[currentStepNumber].RecipeCommands);
         }
 
-     
+
     }
 }