SchedulerLoadLock中增加Wafer Place以后的Purge标记。

This commit is contained in:
DESKTOP-GPE37UV\THINKAPD 2022-11-17 10:31:18 +08:00
parent 054542eb66
commit 6574353eb6
2 changed files with 16 additions and 19 deletions

View File

@ -1654,16 +1654,7 @@ namespace SicRT.Modules
return;
}
// 如果Sequence的下一步是Load腔则进行吹扫
/*if (_load.CheckWaferNextStepIsThis(ModuleName.LoadLock, 0) && !_unload.IsInPumping && !_tmRobot.IsInPumping)
{
// Group以后执行吹扫动作
_load.Purge(_load.GetWaferPurgeCount(0), _load.GetWaferPumpDelayTime(0));
_load.GetWaferInfo(0).NextSequenceStep++;
return;
}*/
if (_load.HasPurged == false)
if (_load.HasPurgedAfterGrouped == false)
return;
// 有Wafer和石墨盘等待TM来取
@ -1993,7 +1984,7 @@ namespace SicRT.Modules
if (canPlace)
{
// TMRobot向Load喂Tray时如果Wafer还未Purge先Purge
if (_load.HasPurged == false)
if (_load.HasPurgedAfterGrouped == false)
{
if (_load.CheckWaferNextStepIsThis(ModuleName.LoadLock, 0) && !_unload.IsInPumping)
{
@ -2740,7 +2731,7 @@ namespace SicRT.Modules
return;
// 如果Tray从Cassette喂进来则等Wafer/Tray组合完毕后统一Purge
if (_load.HasPurged == false && _load.HasWafer(0) && _load.HasTray(0) && _load.CheckWaferTrayGrouped())
if (_load.HasPurgedAfterGrouped == false && _load.HasWafer(0) && _load.HasTray(0) && _load.CheckWaferTrayGrouped())
{
if (_load.CheckWaferNextStepIsThis(ModuleName.LoadLock, 0) && !_unload.IsInPumping && !_tmRobot.IsInPumping)
{

View File

@ -57,12 +57,17 @@ namespace SicRT.Scheduler
_task == TaskType.Pump || _task == TaskType.Purge || _task == TaskType.PrepareTransfer;
/// <summary>
/// 是否已执行Purge.
/// <para> 当Wafer从Cassette传入后是否Purge分两种情况</para>
/// <para> 1. 如果Tray来自Buffer则直接Purge</para>
/// <para> 2. 如果Tray来自Cassette等Tray放好后Purge</para>
/// 是否执行放Wafer后TM放Tray前的Purge。
/// <para>如果Tray来自TMRobot放完Wafer马上Purge。</para>
/// <para>如果Tray来自TrayCassette放完Tray以后统一Purge。</para>
/// </summary>
public bool HasPurged { get; private set; }
public bool HasPurgedAfterWaferPlaced { get; private set; }
/// <summary>
/// 是否已执行组合后、TM取盘前的Purge.
/// <para>无论Tray来自TMRobot还是TrayRobotGroup以后一定要Purge。</para>
/// <para>Purge次数使用Sequence中的配置。</para>
public bool HasPurgedAfterGrouped { get; private set; }
#endregion
@ -152,7 +157,8 @@ namespace SicRT.Scheduler
{
lock (SyncRoot)
{
HasPurged = false;
HasPurgedAfterWaferPlaced = false;
HasPurgedAfterGrouped = false;
}
}
@ -197,7 +203,7 @@ namespace SicRT.Scheduler
{
_task = TaskType.Purge;
LogTaskStart(_task, $"{Module} purge for new job");
HasPurged = true;
HasPurgedAfterGrouped = true;
return true;
}