Browse Source

Reset PMTask while after system abort.

sangwq 10 months ago
parent
commit
9d5c9aa491

+ 5 - 0
Venus/Venus_RT/Modules/SystemDispatcher.cs

@@ -282,6 +282,11 @@ namespace Venus_RT.Modules
         {
 
         }
+
+        public virtual void ResetTask()
+        {
+
+        }
     }
 
     public class PMTask : ModuleTask

+ 10 - 0
Venus/Venus_RT/Modules/VenusDispatcher.cs

@@ -323,6 +323,15 @@ namespace Venus_RT.Modules
             return _runingWaferTask.Key == wafer.waferId && _runingWaferTask.Value.Count > 0 && _runingWaferTask.Value.First().Key == RecipeJobType.Process;
         }
 
+        public override void ResetTask()
+        {
+            base.ResetTask();
+
+            _wafer = null;
+            _pendingWaferTasks.Clear();
+            _runingWaferTask = new KeyValuePair<Guid, Queue<KeyValuePair<RecipeJobType, string>>>(Guid.Empty, new Queue<KeyValuePair<RecipeJobType, string>>());
+        }
+
 
     }
 
@@ -906,6 +915,7 @@ namespace Venus_RT.Modules
             {
                 module.Value.Status = ModuleStatus.Idle;
                 module.Value.Scheduler.ResetTask();
+                module.Value.ResetTask();
             }
 
             List<string> keys = _loadportControlJobDic.Keys.ToList();