|
@@ -43,7 +43,7 @@ namespace CyberX8_RT.Dispatch
|
|
|
/// </summary>
|
|
|
public bool CreateWaferHolderTask(List<ProcessJobInfo> jobs)
|
|
|
{
|
|
|
- if (CheckEnableCreateWaferHolderTask())
|
|
|
+ if (!CheckEnableCreateWaferHolderTask())
|
|
|
{
|
|
|
return false;
|
|
|
}
|
|
@@ -253,39 +253,40 @@ namespace CyberX8_RT.Dispatch
|
|
|
/// </summary>
|
|
|
public void CreateDummyWaferHolderTask()
|
|
|
{
|
|
|
+ if (!CheckEnableCreateWaferHolderTask())
|
|
|
+ {
|
|
|
+ return;
|
|
|
+ }
|
|
|
List<WaferHolderInfo> waferHolderInfos = DummyWaferManager.Instance.LoadCompletedWaferHolderInfo();
|
|
|
|
|
|
foreach (WaferHolderInfo waferHolderInfo in waferHolderInfos)
|
|
|
{
|
|
|
if (CheckWaferHolderNotExist(waferHolderInfo))
|
|
|
{
|
|
|
- if (CheckEnableCreateWaferHolderTask())
|
|
|
+ int waferTaskCount = 0;
|
|
|
+ WaferInfo waferInfo = GetPreLoaderHasWafer();
|
|
|
+ if (waferInfo == null)
|
|
|
{
|
|
|
- int waferTaskCount = 0;
|
|
|
- WaferInfo waferInfo = GetPreLoaderHasWafer();
|
|
|
- if (waferInfo == null)
|
|
|
+ List<WaferInfo> waferInfos = DummyWaferManager.Instance.LoadDummyWafersByWaferHolder(waferHolderInfo);
|
|
|
+ if (waferInfos.Count != 0)
|
|
|
{
|
|
|
- List<WaferInfo> waferInfos = DummyWaferManager.Instance.LoadDummyWafersByWaferHolder(waferHolderInfo);
|
|
|
- if (waferInfos.Count != 0)
|
|
|
+ WaferHolderTask waferHolderTask = new WaferHolderTask(waferHolderInfo, null);
|
|
|
+ waferHolderTask.OnTaskComplete += WaferHolderTask_OnTaskComplete;
|
|
|
+ waferTaskCount = WaferTaskManager.Instance.CreateDummyWaferTask(waferInfos, waferHolderInfo.SequenceRecipe, waferHolderTask);
|
|
|
+ if (waferTaskCount == 0)
|
|
|
{
|
|
|
- WaferHolderTask waferHolderTask = new WaferHolderTask(waferHolderInfo, null);
|
|
|
- waferHolderTask.OnTaskComplete += WaferHolderTask_OnTaskComplete;
|
|
|
- waferTaskCount = WaferTaskManager.Instance.CreateDummyWaferTask(waferInfos, waferHolderInfo.SequenceRecipe, waferHolderTask);
|
|
|
- if (waferTaskCount == 0)
|
|
|
- {
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- _waferHolderTaskDic.TryAdd(waferHolderTask.ID, waferHolderTask);
|
|
|
- lock (_waferHolderTaskObject)
|
|
|
- {
|
|
|
- _waferTaskList.Add(waferHolderTask);
|
|
|
- }
|
|
|
- LOG.WriteLog(eEvent.EV_SEQUENCE, "Scheduler", $"Create dummy wafer Shuttle {waferHolderInfo.Id} task");
|
|
|
- List<SchedulerSequence> sequences = SchedulerSequenceManager.Instance.AnalyseDummyWaferHolderAllSchedulerSequence(waferHolderInfo,0, waferTaskCount);
|
|
|
- waferHolderTask.InitialSchedulers(sequences);
|
|
|
break;
|
|
|
}
|
|
|
+
|
|
|
+ _waferHolderTaskDic.TryAdd(waferHolderTask.ID, waferHolderTask);
|
|
|
+ lock (_waferHolderTaskObject)
|
|
|
+ {
|
|
|
+ _waferTaskList.Add(waferHolderTask);
|
|
|
+ }
|
|
|
+ LOG.WriteLog(eEvent.EV_SEQUENCE, "Scheduler", $"Create dummy wafer Shuttle {waferHolderInfo.Id} task");
|
|
|
+ List<SchedulerSequence> sequences = SchedulerSequenceManager.Instance.AnalyseDummyWaferHolderAllSchedulerSequence(waferHolderInfo,0, waferTaskCount);
|
|
|
+ waferHolderTask.InitialSchedulers(sequences);
|
|
|
+ break;
|
|
|
}
|
|
|
}
|
|
|
}
|