diff --git a/SicRT/Config/System.sccfg b/SicRT/Config/System.sccfg index 11747cbf..87d3333c 100644 --- a/SicRT/Config/System.sccfg +++ b/SicRT/Config/System.sccfg @@ -1764,7 +1764,7 @@ - + diff --git a/SicRT/Equipments/AutoTransfer.cs b/SicRT/Equipments/AutoTransfer.cs index 068b4ea4..9cd9061a 100644 --- a/SicRT/Equipments/AutoTransfer.cs +++ b/SicRT/Equipments/AutoTransfer.cs @@ -2358,6 +2358,29 @@ namespace SicRT.Modules } } + if (!_tmRobot.IsAvailable || !_buffer.IsAvailable) + { + return; + } + + //第三种情况,如果Buffer1中有用尽次数的Tray,先取Tray,Load腔需没有Tray + canPick = _buffer.HasTrayAndExceedProcessCount(0) + && _tmRobot.NoTray(0) + && _load.IsAvailable + && _load.IsReadyForPlace(ModuleName.TMRobot, 0) + && _load.NoTray(0); + if (canPick) + { + if (_buffer.IsReadyForPick(ModuleName.TMRobot, 0)) + { + if (_tmRobot.Pick(_buffer.Module, 0, Hand.Blade1)) + { + _buffer.WaitTransfer(ModuleName.TMRobot); + return; + } + } + } + } private void MonitorTmRobotBuffer2PickTask() @@ -2417,6 +2440,28 @@ namespace SicRT.Modules } } } + + if (!_tmRobot.IsAvailable || !_buffer.IsAvailable) + { + return; + } + //第三种情况,如果Buffer2中有用尽次数的Tray,先取Tray,Load腔需没有Tray + canPick = _buffer.HasTrayAndExceedProcessCount(1) + && _tmRobot.NoTray(0) + && _load.IsAvailable + && _load.IsReadyForPlace(ModuleName.TMRobot, 0) + && _load.NoTray(0); + if (canPick) + { + if (_buffer.IsReadyForPick(ModuleName.TMRobot, 0)) + { + if (_tmRobot.Pick(_buffer.Module, 1, Hand.Blade1)) + { + _buffer.WaitTransfer(ModuleName.TMRobot); + return; + } + } + } } private void MonitorTmRobotBuffer3PickTask() @@ -2509,6 +2554,28 @@ namespace SicRT.Modules } } } + + if (!_tmRobot.IsAvailable || !_buffer.IsAvailable) + { + return; + } + //第三种情况,如果Buffer3中有用尽次数的Tray,先取Tray,Load腔需没有Tray + canPick = _buffer.HasTrayAndExceedProcessCount(2) + && _tmRobot.NoTray(0) + && _load.IsAvailable + && _load.IsReadyForPlace(ModuleName.TMRobot, 0) + && _load.NoTray(0); + if (canPick) + { + if (_buffer.IsReadyForPick(ModuleName.TMRobot, 0)) + { + if (_tmRobot.Pick(_buffer.Module, 2, Hand.Blade1)) + { + _buffer.WaitTransfer(ModuleName.TMRobot); + return; + } + } + } } private void MonitorTmRobotPMPlaceTask() diff --git a/SicRT/ReleaseNotes.md b/SicRT/ReleaseNotes.md index 0e99d4e5..091875cd 100644 --- a/SicRT/ReleaseNotes.md +++ b/SicRT/ReleaseNotes.md @@ -6,7 +6,7 @@ Auto-GE 自动通用版(适用有EFEM设备) ## 下次发行备忘 - Bug修复 - + -修正AutoTranfer时TMRobot不取Buffer中已用完次数的Tray的问题 - 新特性