|
@@ -3250,18 +3250,11 @@ namespace Venus_RT.Modules
|
|
|
outLLModule.ReayForTMInTime(10) &&
|
|
|
_lstWaferTasks.Count(wt => ModuleHelper.IsPm(wt.currentMod) && ModuleHelper.IsLoadPort(wt.destMod)) > 0 )
|
|
|
{
|
|
|
- // try to match a double place
|
|
|
+ // try to get one wafer from PM, and match a double place next time
|
|
|
var readyOutWafer = _lstWaferTasks.Find(wt => ModuleHelper.IsPm(wt.currentMod) && ModuleHelper.IsLoadPort(wt.destMod));
|
|
|
- if(readyOutWafer != null)
|
|
|
+ if(readyOutWafer != null && _dictModuleTask[readyOutWafer.currentMod].TimeToReady < 5)
|
|
|
{
|
|
|
- _tmSchdActions.Enqueue(new List<MoveItem> { new MoveItem(readyOutWafer.currentMod, 0, ModuleName.TM, (int)freeHands[0], freeHands[0]) });
|
|
|
-
|
|
|
- var doublePlace = new List<MoveItem>
|
|
|
- {
|
|
|
- new MoveItem(ModuleName.TMRobot, 0, outLL, 0, Hand.Blade1),
|
|
|
- new MoveItem(ModuleName.TMRobot, 1, outLL, 1, Hand.Blade2)
|
|
|
- };
|
|
|
- _tmSchdActions.Enqueue(doublePlace);
|
|
|
+ _tmSchdActions.Enqueue(new List<MoveItem> { new MoveItem(readyOutWafer.currentMod, 0, ModuleName.TMRobot, (int)freeHands[0], freeHands[0]) });
|
|
|
return;
|
|
|
}
|
|
|
}
|