1.修改因Buffer改为1层导致的AutoTransfer流程的错误

This commit is contained in:
HCL 2024-06-13 15:57:18 +08:00
parent 70cb318553
commit 95697f2f2f
3 changed files with 34 additions and 58 deletions

View File

@ -1540,22 +1540,15 @@ namespace SicRT.Modules
{
SlotItem bufferEmptySlot = null;
//if (_tmRobot.CheckWaferNeedProcess(0, _pm1.Module)
// && _buffer.NoTray(2)
// && _buffer.NoWafer(2)
// && _buffer.CheckWaferNextStepIsThis(ModuleName.TMRobot, 0))
//{
// bufferEmptySlot = new SlotItem(ModuleName.Buffer, 2);
//}
//else if (_tmRobot.CheckWaferNeedProcess(0, _pm2.Module)
// && _buffer.NoTray(1)
// && _buffer.NoWafer(1)
// && _buffer.CheckWaferNextStepIsThis(ModuleName.TMRobot, 0))
//{
// bufferEmptySlot = new SlotItem(ModuleName.Buffer, 1);
//}
if (_tmRobot.CheckWaferNeedProcess(0)
&& _buffer.NoTray(0)
&& _buffer.NoWafer(0)
&& _buffer.CheckWaferNextStepIsThis(ModuleName.TMRobot, 0))
{
bufferEmptySlot = new SlotItem(ModuleName.Buffer, 0);
}
//TMRobot的下一步是Buffer3
if (!_tmRobot.CheckWaferNeedProcess(0)
else if (!_tmRobot.CheckWaferNeedProcess(0)
&& _buffer.NoTray(0)
&& _buffer.NoWafer(0)
&& _buffer.CheckWaferNextStepIsThis(ModuleName.TMRobot, 0))
@ -1598,8 +1591,8 @@ namespace SicRT.Modules
//pick,Buffer有Tray,机械手没有Tray
MonitorTmRobotBuffer1PickTask();
//MonitorTmRobotBuffer2PickTask();
//MonitorTmRobotBuffer3PickTask();
MonitorTmRobotBuffer2PickTask();
MonitorTmRobotBuffer3PickTask();
}
private void MonitorTmRobotBuffer3PickTask()
@ -1613,30 +1606,30 @@ namespace SicRT.Modules
var canPick = _tmRobot.NoTray(0);
if (canPick)
{
if (_buffer.HasTray(2) && _buffer.HasWafer(2))
if (_buffer.HasTray(0) && _buffer.HasWafer(0))
{
//if (_buffer.CheckWaferNextStepIsThis(ModuleName.Buffer, 2))
//{
// return;
//}
if (_buffer.CheckWaferNextStepIsThis(ModuleName.Buffer, 0))
{
return;
}
//下一步如果去PM1判断PM1是否准备好
//if (_pm1.CheckWaferNextStepIsThis(ModuleName.Buffer, 2))
//{
// if (!_pm1.IsAvailable || _pm1.HasTray(0) || _pm1.HasWafer(0) || !_pm1.IsReadyForPlace(ModuleName.TMRobot, 0))
// {
// return;
// }
if (_pm1.CheckWaferNextStepIsThis(ModuleName.Buffer, 0))
{
if (!_pm1.IsAvailable || _pm1.HasTray(0) || _pm1.HasWafer(0) || !_pm1.IsReadyForPlace(ModuleName.TMRobot, 0))
{
return;
}
// if(!_pm1.CheckBufferToPMTemp())
// {
// return;
// }
//}
if (!_pm1.CheckBufferToPMTemp())
{
return;
}
}
if (_buffer.IsReadyForPick(ModuleName.TMRobot, 0))
{
if (_tmRobot.Pick(_buffer.Module, 2, Hand.Blade1))
if (_tmRobot.Pick(_buffer.Module, 0, Hand.Blade1))
{
_buffer.WaitTransfer(ModuleName.TMRobot);
return;
@ -1658,15 +1651,15 @@ namespace SicRT.Modules
var canPick = _tmRobot.NoTray(0);
if (canPick)
{
if (_buffer.HasTray(1) && _buffer.HasWafer(1))
if (_buffer.HasTray(0) && _buffer.HasWafer(0))
{
if (_buffer.CheckWaferNextStepIsThis(ModuleName.Buffer, 1))
if (_buffer.CheckWaferNextStepIsThis(ModuleName.Buffer, 0))
{
return;
}
//下一步如果去PM2判断PM2是否准备好
if (_pm2.CheckWaferNextStepIsThis(ModuleName.Buffer, 1))
if (_pm2.CheckWaferNextStepIsThis(ModuleName.Buffer, 0))
{
if (!_pm2.IsAvailable || _pm2.HasTray(0) || _pm2.HasWafer(0) || !_pm2.IsReadyForPlace(ModuleName.TMRobot, 0))
{
@ -1679,11 +1672,11 @@ namespace SicRT.Modules
}
}
if (_buffer.CheckWaferNextStepModuleNoTray(1))
if (_buffer.CheckWaferNextStepModuleNoTray(0))
{
if (_buffer.IsReadyForPick(ModuleName.TMRobot, 0))
{
if (_tmRobot.Pick(_buffer.Module, 1, Hand.Blade1))
if (_tmRobot.Pick(_buffer.Module, 0, Hand.Blade1))
{
_buffer.WaitTransfer(ModuleName.TMRobot);
return;

View File

@ -380,24 +380,7 @@ namespace SicRT.Modules.Schedulers
{
for (int j = 0; j < lstModuleName.Count; j++)
{
if (lstModuleName[j] == ModuleName.Buffer)
{
if (CheckWaferNeedProcess(slot, ModuleName.PM1))
{
if (WaferManager.Instance.CheckNoTray(ModuleName.Buffer, 2))
{
return true;
}
}
else if (CheckWaferNeedProcess(slot, ModuleName.PM2))
{
if (WaferManager.Instance.CheckNoTray(ModuleName.Buffer, 1))
{
return true;
}
}
}
else if (WaferManager.Instance.CheckNoTray(lstModuleName[j], 0))
if (WaferManager.Instance.CheckNoTray(lstModuleName[j], 0))
{
return true;
}

View File

@ -54,5 +54,5 @@ using System.Windows;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.3.1.40516")]
[assembly: AssemblyVersion("1.3.1.40517")]