|
@@ -101,14 +101,14 @@ namespace Venus_RT.Modules.EFEM
|
|
|
if(_bDoublePick)
|
|
|
{
|
|
|
Runner.Wait(PickStep.WaitModuleReady, WaitModuleReady)
|
|
|
- .Run(PickStep.Picking1, Pick1, Pick1Done, _moveTimeout)
|
|
|
- .Run(PickStep.Picking2, Pick2, Pick2Done, _moveTimeout)
|
|
|
+ .Run(PickStep.Picking1, Pick1, Pick1Done, _moveTimeout + _delay_1s)
|
|
|
+ .Run(PickStep.Picking2, Pick2, Pick2Done, _moveTimeout + _delay_1s)
|
|
|
.End(PickStep.End, ActionDone);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
Runner.Wait(PickStep.WaitModuleReady, WaitModuleReady)
|
|
|
- .Run(PickStep.Picking1, Pick1, Pick1Done, _moveTimeout)
|
|
|
+ .Run(PickStep.Picking1, Pick1, Pick1Done, _moveTimeout + _delay_1s)
|
|
|
.End(PickStep.End, ActionDone);
|
|
|
}
|
|
|
|
|
@@ -140,7 +140,14 @@ namespace Venus_RT.Modules.EFEM
|
|
|
else if (_efem.Status != RState.Running)
|
|
|
{
|
|
|
WaferManager.Instance.CreateDuplicatedWafer(_targetModule, _targetSlot, ModuleName.EfemRobot, (int)_hand);
|
|
|
- LOG.Write(eEvent.ERR_EFEM_ROBOT, Module, $"Efem robot picking failed: {_efem.Status}");
|
|
|
+ Runner.Stop($"EFEM Robot pick wafer from {_targetModule}.{_targetSlot + 1} failed, {_efem.Status}");
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(Runner.StepElapsedMS > _moveTimeout)
|
|
|
+ {
|
|
|
+ WaferManager.Instance.CreateDuplicatedWafer(_targetModule, _targetSlot, ModuleName.EfemRobot, (int)_hand);
|
|
|
+ Runner.Stop($"EFEM Robot pick wafer from {_targetModule}.{_targetSlot + 1} timeout, {_moveTimeout}ms");
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -162,7 +169,14 @@ namespace Venus_RT.Modules.EFEM
|
|
|
else if (_efem.Status != RState.Running)
|
|
|
{
|
|
|
WaferManager.Instance.CreateDuplicatedWafer(_targetModule, _targetSlot2, ModuleName.EfemRobot, (int)_hand2);
|
|
|
- LOG.Write(eEvent.ERR_EFEM_ROBOT, Module, $"Efem robot picking failed: {_efem.Status}");
|
|
|
+ Runner.Stop($"Efem robot picking wafer from {_targetModule}.{_targetSlot2 + 1} failed: {_efem.Status}");
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (Runner.StepElapsedMS > _moveTimeout)
|
|
|
+ {
|
|
|
+ WaferManager.Instance.CreateDuplicatedWafer(_targetModule, _targetSlot2, ModuleName.EfemRobot, (int)_hand2);
|
|
|
+ Runner.Stop($"EFEM Robot pick wafer from {_targetModule}.{_targetSlot2 + 1} timeout");
|
|
|
return true;
|
|
|
}
|
|
|
|