Merge branch 'Sic8ToSic6' into 整理机台兼容内容

This commit is contained in:
Han Qiang Qiang 2023-12-01 16:14:18 +08:00
commit f55efcecbf
1 changed files with 21 additions and 3 deletions

View File

@ -65,13 +65,25 @@ namespace SicRT.Modules.Schedulers
return true;
}
[Obsolete("Cassette等待传盘时不要使用这个函数用另一个包含三个参数的函数。")]
/// <summary>
/// Manual模式进入等待时调用此函数_lastTransferAction被设置为 **TransferTarget**。
/// </summary>
/// <param name="robot"></param>
/// <returns></returns>
/// <exception cref="NotSupportedException"></exception>
public override bool WaitTransfer(ModuleName robot)
{
Debug.Assert(false, "DO NOT use this method for cassette scheduler.");
throw new NotSupportedException();
_lastTransferSlot = -1;
return base.WaitTransfer(robot);
}
/// <summary>
/// AutoRun模式进入等待时调用此函数_lastTransferAction被设置为 **Pick** 或 **Place** 。
/// </summary>
/// <param name="robot"></param>
/// <param name="isPick"></param>
/// <param name="slot"></param>
/// <returns></returns>
public bool WaitTransfer(ModuleName robot, bool isPick, int slot)
{
_lastTransferAction = isPick ? TaskType.Pick : TaskType.Place;
@ -86,6 +98,12 @@ namespace SicRT.Modules.Schedulers
if (ret)
{
// 当Wafer返回到Cassette时触发警告响蜂鸣器
//! 注意报警提示逻辑仅在AutoRun模式时生效Manual模式没有此逻辑。
// 如何区分AutoRun还是ManualRun参考WaitTransfer()调用:
// 1. 当调用WaitTransfer(ModuleName robot)是表示Manual模式
// 2. 当调用WaitTransfer(ModuleName robot, bool isPick, int slot)表示AutoRun模式
// WaitTransfer()两个重载中对_lastTransferAction的赋值不同AutoRun模式_lastTransferAction为Pick或Place而Manual模式为TransferTarget
if (robot == ModuleName.WaferRobot
&& _lastTransferAction == TaskType.Place
&& WaferManager.Instance.CheckHasWafer(_module, _lastTransferSlot))