Browse Source

fix the routing bug which missing calling RouteTo().

sangwq 1 year ago
parent
commit
210098481b
1 changed files with 7 additions and 1 deletions
  1. 7 1
      Venus/Venus_RT/Modules/SystemDispatcher.cs

+ 7 - 1
Venus/Venus_RT/Modules/SystemDispatcher.cs

@@ -2847,7 +2847,12 @@ namespace Venus_RT.Modules
                                 if(pickCount == 1)
                                 {
                                     int remainSlot = swapActions.First().SourceSlot == inLLWaferStatus.inSlot[0] ? inLLWaferStatus.inSlot[1] : inLLWaferStatus.inSlot[0];
-                                    swapActions.Add(new MoveItem(inLL, remainSlot, ModuleName.TMRobot, 1, Hand.Blade2));
+                                    var remainWafer = _lstWaferTasks.Find(wt => wt.currentMod == inLL && wt.currentSlot == remainSlot);
+                                    if (remainWafer != null)
+                                    {
+                                        remainWafer.RouteTo(ModuleName.TMRobot, 1);
+                                        swapActions.Add(new MoveItem(inLL, remainSlot, ModuleName.TMRobot, 1, Hand.Blade2));
+                                    }
                                 }
 
                                 if(swapActions.Count > 0)
@@ -2874,6 +2879,7 @@ namespace Venus_RT.Modules
                                             swapActions.Add(new MoveItem(inLL, remainSlot, ModuleName.TMRobot, 1, Hand.Blade2));
                                             _tmSchdActions.Enqueue(swapActions);
 
+                                            llWafer.RouteTo(ModuleName.TMRobot, 0);
                                             if (_dictModuleTask[llWafer.destMod].TimeToReady <= 30)
                                             {
                                                 llWafer.RouteTo(llWafer.destMod, 0);