|
@@ -219,7 +219,7 @@ namespace Venus_RT.Modules
|
|
|
public ModuleStatus Status { get; set; }
|
|
|
public SchedulerModule Scheduler { get; }
|
|
|
public virtual int SlotNum { get; protected set; }
|
|
|
- public virtual bool IsIdle { get { return Status == ModuleStatus.Idle; } }
|
|
|
+ public virtual bool IsIdle { get { return Status == ModuleStatus.Idle || Status == ModuleStatus.PreHeating; } }
|
|
|
|
|
|
private int _currentActionTime = 0;
|
|
|
|
|
@@ -317,7 +317,6 @@ namespace Venus_RT.Modules
|
|
|
{
|
|
|
return Scheduler.IsAvailable ? 0 : (Scheduler.TimeToReady + 500) / 1000;
|
|
|
}
|
|
|
- break;
|
|
|
case ModuleStatus.PostJobClean:
|
|
|
case ModuleStatus.WTWClean:
|
|
|
{
|
|
@@ -2287,6 +2286,9 @@ namespace Venus_RT.Modules
|
|
|
if (nextActions.Exists(action => !_lstWaferTasks.Exists(wafer => (wafer.movingStatus == RState.End || wafer.movingStatus == RState.Init) && wafer.currentMod == action.SourceModule && wafer.currentSlot == action.SourceSlot)))
|
|
|
return;
|
|
|
|
|
|
+ if (ModuleHelper.IsPm(nextActions.First().Module) && !_dictModuleTask[nextActions.First().Module].IsIdle) /// wait PMTask status update to idle
|
|
|
+ return;
|
|
|
+
|
|
|
_curTmAction = _tmSchdActions.Dequeue();
|
|
|
foreach(var action in _curTmAction)
|
|
|
{
|