Przeglądaj źródła

Merge branch 'master' of http://git.jetplasma-oa.com/JetPlasma/Venus

hecl 11 miesięcy temu
rodzic
commit
4bebab5f8b
1 zmienionych plików z 74 dodań i 60 usunięć
  1. 74 60
      Venus/Venus_RT/Modules/PMs/PMProcessRoutine.cs

+ 74 - 60
Venus/Venus_RT/Modules/PMs/PMProcessRoutine.cs

@@ -297,49 +297,53 @@ namespace Venus_RT.Modules.PMs
             //}
             _faCallback.RecipeStart(_chamber.Module.ToString(), recipeName);
             WaferManager.Instance.UpdateWaferProcessStatus(Module, 0, EnumWaferProcessStatus.InProcess);
-            switch (_jetChamber)
-            {
-                case JetChamber.Kepler2200A:
-                case JetChamber.Kepler2200B:             
-                    List<string> kepler2200Names = new List<string>();
-                    kepler2200Names.Add($"{Module}.MfcGas1.FeedBack");
-                    kepler2200Names.Add($"{Module}.MfcGas2.FeedBack");
-                    kepler2200Names.Add($"{Module}.MfcGas3.FeedBack");
-                    kepler2200Names.Add($"{Module}.MfcGas4.FeedBack");
-                    kepler2200Names.Add($"{Module}.MfcGas5.FeedBack");
-                    kepler2200Names.Add($"{Module}.MfcGas6.FeedBack");
-                    kepler2200Names.Add($"{Module}.Rf.ForwardPower");                
-                    _fdc.Reset(kepler2200Names);
-                    break;
 
-                case JetChamber.Kepler2300:
-                    List<string> kepler2300Names = new List<string>();
-                    kepler2300Names.Add($"{Module}.MfcGas1.FeedBack");
-                    kepler2300Names.Add($"{Module}.MfcGas2.FeedBack");
-                    kepler2300Names.Add($"{Module}.MfcGas3.FeedBack");
-                    kepler2300Names.Add($"{Module}.MfcGas4.FeedBack");
-                    kepler2300Names.Add($"{Module}.MfcGas5.FeedBack");
-                    kepler2300Names.Add($"{Module}.MfcGas6.FeedBack");
-                    kepler2300Names.Add($"{Module}.MfcGas7.FeedBack");
-                    kepler2300Names.Add($"{Module}.MfcGas8.FeedBack");
-                    kepler2300Names.Add($"{Module}.Rf.ForwardPower");
-                    kepler2300Names.Add($"{Module}.BiasRf.ForwardPower");
-
-                    _fdc.Reset(kepler2300Names);
-                    break;
+            if (_recipeType == RecipeType.Process)
+            {
+                switch (_jetChamber)
+                {
+                    case JetChamber.Kepler2200A:
+                    case JetChamber.Kepler2200B:
+                        List<string> kepler2200Names = new List<string>();
+                        kepler2200Names.Add($"{Module}.MfcGas1.FeedBack");
+                        kepler2200Names.Add($"{Module}.MfcGas2.FeedBack");
+                        kepler2200Names.Add($"{Module}.MfcGas3.FeedBack");
+                        kepler2200Names.Add($"{Module}.MfcGas4.FeedBack");
+                        kepler2200Names.Add($"{Module}.MfcGas5.FeedBack");
+                        kepler2200Names.Add($"{Module}.MfcGas6.FeedBack");
+                        kepler2200Names.Add($"{Module}.Rf.ForwardPower");
+                        _fdc.Reset(kepler2200Names);
+                        break;
+
+                    case JetChamber.Kepler2300:
+                        List<string> kepler2300Names = new List<string>();
+                        kepler2300Names.Add($"{Module}.MfcGas1.FeedBack");
+                        kepler2300Names.Add($"{Module}.MfcGas2.FeedBack");
+                        kepler2300Names.Add($"{Module}.MfcGas3.FeedBack");
+                        kepler2300Names.Add($"{Module}.MfcGas4.FeedBack");
+                        kepler2300Names.Add($"{Module}.MfcGas5.FeedBack");
+                        kepler2300Names.Add($"{Module}.MfcGas6.FeedBack");
+                        kepler2300Names.Add($"{Module}.MfcGas7.FeedBack");
+                        kepler2300Names.Add($"{Module}.MfcGas8.FeedBack");
+                        kepler2300Names.Add($"{Module}.Rf.ForwardPower");
+                        kepler2300Names.Add($"{Module}.BiasRf.ForwardPower");
+
+                        _fdc.Reset(kepler2300Names);
+                        break;
+                }
             }
             return Runner.Start(Module, Name);
         }
         public RState Monitor()
         {
             Runner
-                  .Run(ProcessStep.PreparePressure,    PreparePressure,   IsPressureReady)
-                  .Run(ProcessStep.PrepareTemperature, PrepareTemp,       IsTempReady)
-                  .RunIf(ProcessStep.RunChuckRecipe,   needchuck,         StartChuckRecipe, CheckRecipeDone, 5 * 60 * 60 * 1000)
-                  .RunIf(ProcessStep.RunProcessRecipe, needprocess,       StartProcessRecipe, CheckRecipeDone, 5 * 60 * 60 * 1000)
-                  .RunIf(ProcessStep.RunDechuckRecipe, needdechuck,       StartDechuckRecipe, CheckRecipeDone, 5 * 60 * 60 * 1000)
-                  .RunIf(ProcessStep.RunCleanRecipe,   needclean,         StartCleanRecipe, CheckRecipeDone, 5 * 60 * 60 * 1000)
-                  .End(ProcessStep.End,                ProcessDone,       _delay_1s);
+                  .Run(ProcessStep.PreparePressure, PreparePressure, IsPressureReady)
+                  .Run(ProcessStep.PrepareTemperature, PrepareTemp, IsTempReady)
+                  .RunIf(ProcessStep.RunChuckRecipe, needchuck, StartChuckRecipe, CheckRecipeDone, 5 * 60 * 60 * 1000)
+                  .RunIf(ProcessStep.RunProcessRecipe, needprocess, StartProcessRecipe, CheckRecipeDone, 5 * 60 * 60 * 1000)
+                  .RunIf(ProcessStep.RunDechuckRecipe, needdechuck, StartDechuckRecipe, CheckRecipeDone, 5 * 60 * 60 * 1000)
+                  .RunIf(ProcessStep.RunCleanRecipe, needclean, StartCleanRecipe, CheckRecipeDone, 5 * 60 * 60 * 1000)
+                  .End(ProcessStep.End, ProcessDone, _delay_1s);
 
             return Runner.Status;
         }
@@ -408,25 +412,29 @@ namespace Venus_RT.Modules.PMs
 
             ProcessDataRecorder.StepStart(RecipeId, _currentRecipe.Steps[_currentStep].StepNo, $"{Module}:{_currentRecipe.Header.Name}:{_currentRecipe.Steps[_currentStep].Description}", _currentRecipe.Steps[_currentStep].Time);
             _stepTime.Restart();
-            switch (_jetChamber)
+            if (_recipeType == RecipeType.Process)
             {
-                case JetChamber.Kepler2200A:
-                    var kepler2200AGasSetPoints = _currentRecipe.Steps[_currentStep].LstUnit[1] as Kepler2200GasControlUnit;
-                    var kepler2200ARFSetPoints = _currentRecipe.Steps[_currentStep].LstUnit[3] as TCPUnit;
-                    _fdc.Start(kepler2200AGasSetPoints.Gas1, kepler2200AGasSetPoints.Gas2, kepler2200AGasSetPoints.Gas3, kepler2200AGasSetPoints.Gas4, kepler2200AGasSetPoints.Gas5, kepler2200AGasSetPoints.Gas6, kepler2200ARFSetPoints.RFPower);
-                    break;
-                case JetChamber.Kepler2200B:
-                    var kepler2200BGasSetPoints = _currentRecipe.Steps[_currentStep].LstUnit[1] as Kepler2200GasControlUnit;
-                    var kepler2200BRFSetPoints = _currentRecipe.Steps[_currentStep].LstUnit[4] as TCPUnit;
-                    _fdc.Start(kepler2200BGasSetPoints.Gas1, kepler2200BGasSetPoints.Gas2, kepler2200BGasSetPoints.Gas3, kepler2200BGasSetPoints.Gas4, kepler2200BGasSetPoints.Gas5, kepler2200BGasSetPoints.Gas6, kepler2200BRFSetPoints.RFPower);
-                    break;
-                case JetChamber.Kepler2300:
-                    var kepler2300GasSetPoints = _currentRecipe.Steps[_currentStep].LstUnit[3] as GasControlUnit;
-                    var kepler2300RFSetPoints = _currentRecipe.Steps[_currentStep].LstUnit[1] as TCPUnit;
-                    var kepler2300BiasRFSetPoints = _currentRecipe.Steps[_currentStep].LstUnit[2] as BiasUnit;
+                switch (_jetChamber)
+                {
+                    case JetChamber.Kepler2200A:
+                        var kepler2200AGasSetPoints = _currentRecipe.Steps[_currentStep].LstUnit[1] as Kepler2200GasControlUnit;
+                        var kepler2200ARFSetPoints = _currentRecipe.Steps[_currentStep].LstUnit[3] as TCPUnit;
+                        _fdc.Start(kepler2200AGasSetPoints.Gas1, kepler2200AGasSetPoints.Gas2, kepler2200AGasSetPoints.Gas3, kepler2200AGasSetPoints.Gas4, kepler2200AGasSetPoints.Gas5, kepler2200AGasSetPoints.Gas6, kepler2200ARFSetPoints.RFPower);
+                        break;
+                    case JetChamber.Kepler2200B:
+                        var kepler2200BGasSetPoints = _currentRecipe.Steps[_currentStep].LstUnit[1] as Kepler2200GasControlUnit;
+                        var kepler2200BRFSetPoints = _currentRecipe.Steps[_currentStep].LstUnit[4] as TCPUnit;
+                        _fdc.Start(kepler2200BGasSetPoints.Gas1, kepler2200BGasSetPoints.Gas2, kepler2200BGasSetPoints.Gas3, kepler2200BGasSetPoints.Gas4, kepler2200BGasSetPoints.Gas5, kepler2200BGasSetPoints.Gas6, kepler2200BRFSetPoints.RFPower);
+                        break;
+                    case JetChamber.Kepler2300:
+                        var kepler2300GasSetPoints = _currentRecipe.Steps[_currentStep].LstUnit[3] as GasControlUnit;
+                        var kepler2300RFSetPoints = _currentRecipe.Steps[_currentStep].LstUnit[1] as TCPUnit;
+                        var kepler2300BiasRFSetPoints = _currentRecipe.Steps[_currentStep].LstUnit[2] as BiasUnit;
+
+                        _fdc.Start(kepler2300GasSetPoints.Gas1, kepler2300GasSetPoints.Gas2, kepler2300GasSetPoints.Gas3, kepler2300GasSetPoints.Gas4, kepler2300GasSetPoints.Gas5, kepler2300GasSetPoints.Gas6, kepler2300GasSetPoints.Gas7, kepler2300GasSetPoints.Gas8, kepler2300RFSetPoints.RFPower, kepler2300BiasRFSetPoints.BiasRFPower);
+                        break;
+                }
 
-                    _fdc.Start(kepler2300GasSetPoints.Gas1, kepler2300GasSetPoints.Gas2, kepler2300GasSetPoints.Gas3, kepler2300GasSetPoints.Gas4, kepler2300GasSetPoints.Gas5, kepler2300GasSetPoints.Gas6, kepler2300GasSetPoints.Gas7, kepler2300GasSetPoints.Gas8,kepler2300RFSetPoints.RFPower,kepler2300BiasRFSetPoints.BiasRFPower);
-                    break;
             }
             var state = _currentRecipe.Steps[_currentStep].Start();
             LOG.Write(eEvent.INFO_PROCESS, Module, $"Recipe:{CurrentRunningRecipe} Step{_currentStep + 1} Start");
@@ -505,10 +513,10 @@ namespace Venus_RT.Modules.PMs
             switch (step.Type)
             {
                 case StepType.Time:
-                    currentRecipeResult.RecipeStepSetTime =  step.Time;
+                    currentRecipeResult.RecipeStepSetTime = step.Time;
                     break;
                 case StepType.OverEtch:
-                    currentRecipeResult.RecipeStepSetTime =  (int)_processHelper.lastEPDStepTime / 1000 ;
+                    currentRecipeResult.RecipeStepSetTime = (int)_processHelper.lastEPDStepTime / 1000;
                     break;
                 default:
                     currentRecipeResult.RecipeStepSetTime = null;
@@ -562,7 +570,10 @@ namespace Venus_RT.Modules.PMs
                     _currentStep++;
                     LOG.Write(eEvent.INFO_PROCESS, Module, $"Recipe:{CurrentRunningRecipe} Step{_currentStep} End");
                     ProcessDataRecorder.StepStart(RecipeId, _currentRecipe.Steps[_currentStep].StepNo, $"{Module}:{_currentRecipe.Header.Name}:{_currentRecipe.Steps[_currentStep].Description}", _currentRecipe.Steps[_currentStep].Time);
-                    ProcessDataRecorder.StepEnd(RecipeId, _currentRecipe.Steps[_currentStep].StepNo-1, _fdc.DataList);
+                    if (_recipeType == RecipeType.Process)
+                    { 
+                        ProcessDataRecorder.StepEnd(RecipeId, _currentRecipe.Steps[_currentStep].StepNo - 1, _fdc.DataList);
+                    }
                     _faCallback.RecipeStepEnd(Module.ToString(), CurrentRunningRecipe, _currentStep);
                     return StartNewStep() != RState.Running;
                 }
@@ -609,15 +620,18 @@ namespace Venus_RT.Modules.PMs
                     ProcessDataRecorder.RecordPrecess(RecipeId, RecipeStartTime, RecipeEndTime, _currentRecipe.Header.Name, result, WaferId, _chamber.Name, LotID, SlotID, _currentRecipe.Header.Type.ToString());
                     break;
             }
-            ProcessDataRecorder.StepEnd(RecipeId, _currentRecipe.Steps[_currentStep].StepNo, _fdc.DataList);
-            _fdc.Stop();
+            if (_recipeType == RecipeType.Process)
+            {
+                ProcessDataRecorder.StepEnd(RecipeId, _currentRecipe.Steps[_currentStep].StepNo, _fdc.DataList);
+                _fdc.Stop();
+            }            
         }
         private bool ProcessDone()
         {
             _currentRecipe.Steps[_currentStep].End();
 
             _faCallback.RecipeComplete(Module.ToString(), CurrentRunningRecipe);
-            RecipeFileManager.Instance.SaveRecipe(Module.ToString(), _currentRecipe.Header.Type.ToString(), _currentRecipe.Header.Name, RecipeUnity.RecipeToString(_currentRecipe),false,false);
+            RecipeFileManager.Instance.SaveRecipe(Module.ToString(), _currentRecipe.Header.Type.ToString(), _currentRecipe.Header.Name, RecipeUnity.RecipeToString(_currentRecipe), false, false);
             _stepTime.Stop();
             WaferManager.Instance.UpdateWaferProcessStatus(Module, 0, EnumWaferProcessStatus.Idle);
             WaferManager.Instance.UpdateWaferProcessStatus(Module, 0, EnumWaferProcessStatus.Completed);
@@ -675,7 +689,7 @@ namespace Venus_RT.Modules.PMs
             _chamber.OpenValve(ValveType.TurboPumpPumping, true);
             _chamber.OpenValve(ValveType.TurboPumpPurge, true);
 
-            if ( _chamber.ChamberType == JetChamber.VenusSE)
+            if (_chamber.ChamberType == JetChamber.VenusSE)
             {
                 await Task.Delay(3000);
                 _chamber.OnOffSetESCHV(false);