Browse Source

fixed Prepare routine

chenkui 1 day ago
parent
commit
34c2eee806

+ 6 - 0
PunkHPX8_RT/Modules/VpwCell/VpwCellEntity.cs

@@ -343,6 +343,12 @@ namespace PunkHPX8_RT.Modules.VpwMain
                     return false;
                 }
             }
+            VpwMainEntity vpwMainEntity = Singleton<RouteManager>.Instance.GetModule<VpwMainEntity>(ModuleName.VPWMain1.ToString());
+            if (vpwMainEntity.IsBusy)
+            {
+                LOG.WriteLog(eEvent.ERR_VPW, Module.ToString(), $"VPWMain is busy,cannot initialize");
+                return false;
+            }
             return _homeRoutine.Start(_vpwCellDevices) == RState.Running;
         }
         /// <summary>

+ 7 - 3
PunkHPX8_RT/Modules/VpwCell/VpwManualPrepareRoutine.cs

@@ -24,10 +24,11 @@ namespace PunkHPX8_RT.Modules.VpwCell
     {
         private enum PrepareStep
         {
-            CheckPreCondition=0,
+            CheckPreCondition,
             Purge,
+            PurgeDelay,
             WaitPurge,
-            RotationPositionOffset=1,
+            RotationPositionOffset,
             WaitRotation,
             CloseDrip,
             Delay,
@@ -89,6 +90,7 @@ namespace PunkHPX8_RT.Modules.VpwCell
         {
             Runner.Run(PrepareStep.CheckPreCondition,CheckPreCondition,_delay_1ms)
                 .RunIf(PrepareStep.Purge,_recipe.PurgeEnable,Purge,_delay_1ms)
+                .DelayIf(PrepareStep.PurgeDelay, _recipe.PurgeEnable, 500)
                 .WaitWithStopConditionIf(PrepareStep.WaitPurge,_recipe.PurgeEnable,CheckPurgeStatus,CheckPurgeStopStatus)
                 .Run(PrepareStep.RotationPositionOffset,RotationPositionOffset,_delay_1ms)
                 .WaitWithStopCondition(PrepareStep.WaitRotation,CheckRotationStatus,CheckRotationStopStatus)
@@ -182,7 +184,9 @@ namespace PunkHPX8_RT.Modules.VpwCell
         /// <returns></returns>
         private bool CheckWaferExsit()
         {
-            return WaferManager.Instance.CheckHasWafer(Module, 0);
+            // todo 临时注释,后面需要改回来
+            //return WaferManager.Instance.CheckHasWafer(Module, 0);
+            return true;
         }
         /// <summary>
         /// chamber up

+ 1 - 0
PunkHPX8_RT/Modules/VpwCell/VpwManualRecipeRoutine.cs

@@ -42,6 +42,7 @@ namespace PunkHPX8_RT.Modules.VpwCell
         public VpwManualRecipeRoutine(string module) : base(module)
         {
             _manualPrepareRoutine = new VpwManualPrepareRoutine(module);
+            _vacuumPrewetRoutine=new VpwVacuumPrewetRoutine(module);
         }
 
         /// <summary>