|
@@ -3245,6 +3245,27 @@ namespace Venus_RT.Modules
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
+ if (freeHands.Count > 0 &&
|
|
|
+ outLLWaferStatus.emptySlot.Count == 2 &&
|
|
|
+ outLLModule.ReayForTMInTime(10) &&
|
|
|
+ _lstWaferTasks.Count(wt => ModuleHelper.IsPm(wt.currentMod) && ModuleHelper.IsLoadPort(wt.destMod)) > 0 )
|
|
|
+ {
|
|
|
+ // try to match a double place
|
|
|
+ var readyOutWafer = _lstWaferTasks.Find(wt => ModuleHelper.IsPm(wt.currentMod) && ModuleHelper.IsLoadPort(wt.destMod));
|
|
|
+ if(readyOutWafer != null)
|
|
|
+ {
|
|
|
+ _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);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
if (outLLModule.ReayForTMInTime(5))
|
|
|
{
|
|
|
// try match a double place
|