|
@@ -2008,6 +2008,13 @@ namespace Venus_RT.Modules
|
|
notAlignedWafer.First().RouteTo(ModuleName.Aligner1, 0);
|
|
notAlignedWafer.First().RouteTo(ModuleName.Aligner1, 0);
|
|
_efemSchdActions.Enqueue(new List<MoveItem> { new MoveItem(notAlignedWafer.First().currentMod, notAlignedWafer.First().currentSlot, ModuleName.Aligner1, 0, (Hand)notAlignedWafer.First().currentSlot) });
|
|
_efemSchdActions.Enqueue(new List<MoveItem> { new MoveItem(notAlignedWafer.First().currentMod, notAlignedWafer.First().currentSlot, ModuleName.Aligner1, 0, (Hand)notAlignedWafer.First().currentSlot) });
|
|
}
|
|
}
|
|
|
|
+ // forward aligner wafer
|
|
|
|
+ else if (atmWafers.Count == 1 && emptySlots.Count >= 2 && ModuleHelper.IsAligner(atmWafers.First().currentMod) && freeHands.Count > 1)
|
|
|
|
+ {
|
|
|
|
+ atmWafers.First().RouteTo(ModuleName.EfemRobot, (int)freeHands[1]);
|
|
|
|
+
|
|
|
|
+ _efemSchdActions.Enqueue(new List<MoveItem> { new MoveItem(atmWafers.First().currentMod, atmWafers.First().currentSlot, ModuleName.EfemRobot, (int)freeHands[1], freeHands[1]) });
|
|
|
|
+ }
|
|
// forward one wafer
|
|
// forward one wafer
|
|
else if ((readyInWafers.Length > 0) && (atmWafers.Count == 0 || (atmWafers.Count == 1 && emptySlots.Count >= 2)))
|
|
else if ((readyInWafers.Length > 0) && (atmWafers.Count == 0 || (atmWafers.Count == 1 && emptySlots.Count >= 2)))
|
|
{
|
|
{
|
|
@@ -2027,13 +2034,6 @@ namespace Venus_RT.Modules
|
|
_efemSchdActions.Enqueue(new List<MoveItem> { new MoveItem(ModuleName.EfemRobot, (int)freeHands[0], ModuleName.Aligner1, 0, freeHands[0]) });
|
|
_efemSchdActions.Enqueue(new List<MoveItem> { new MoveItem(ModuleName.EfemRobot, (int)freeHands[0], ModuleName.Aligner1, 0, freeHands[0]) });
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- // forward aligner wafer
|
|
|
|
- else if (atmWafers.Count == 1 && emptySlots.Count >= 2 && ModuleHelper.IsAligner(atmWafers.First().currentMod) && freeHands.Count > 1)
|
|
|
|
- {
|
|
|
|
- atmWafers.First().RouteTo(ModuleName.EfemRobot, (int)freeHands[1]);
|
|
|
|
-
|
|
|
|
- _efemSchdActions.Enqueue(new List<MoveItem> { new MoveItem(atmWafers.First().currentMod, atmWafers.First().currentSlot, ModuleName.EfemRobot, (int)freeHands[1], freeHands[1]) });
|
|
|
|
- }
|
|
|
|
|
|
|
|
return _efemSchdActions.Count > 0;
|
|
return _efemSchdActions.Count > 0;
|
|
}
|
|
}
|