|
@@ -22,10 +22,12 @@ namespace Venus_RT.Modules.TM
|
|
|
PickPrepare,
|
|
|
PickExtend,
|
|
|
DropDownWafer,
|
|
|
+ PickDelay,
|
|
|
PickRetract,
|
|
|
PlacePrepare,
|
|
|
PlaceExtend,
|
|
|
LiftUpWafer,
|
|
|
+ PlaceDelay,
|
|
|
PlaceRetract,
|
|
|
NotifyDone,
|
|
|
}
|
|
@@ -34,11 +36,13 @@ namespace Venus_RT.Modules.TM
|
|
|
private readonly ITransferRobot _robot;
|
|
|
|
|
|
private int _swapingTimeout = 120 * 1000;
|
|
|
+ private int _placeDelayTime = 0;
|
|
|
+ private int _pickDelayTime = 0;
|
|
|
private ModuleName _targetModule;
|
|
|
private PMEntity _pmModule;
|
|
|
- int _targetSlot;
|
|
|
- Hand _pickHand;
|
|
|
- Hand _placeHand;
|
|
|
+ private int _targetSlot;
|
|
|
+ private Hand _pickHand;
|
|
|
+ private Hand _placeHand;
|
|
|
|
|
|
public MFPMSwapRoutine(JetTM tm, ITransferRobot robot) : base(ModuleName.TM)
|
|
|
{
|
|
@@ -90,6 +94,8 @@ namespace Venus_RT.Modules.TM
|
|
|
|
|
|
Reset();
|
|
|
_swapingTimeout = SC.GetValue<int>($"{Module}.SwapTimeout") * 1000;
|
|
|
+ _pickDelayTime = SC.GetValue<int>($"{_targetModule}.PickDelayTime");
|
|
|
+ _placeDelayTime = SC.GetValue<int>($"{_targetModule}.PlaceDelayTime");
|
|
|
|
|
|
return Runner.Start(Module, $"Swap with {_targetModule}");
|
|
|
}
|
|
@@ -100,10 +106,12 @@ namespace Venus_RT.Modules.TM
|
|
|
.Run((int)SwapStep.PickPrepare, PickPrepare, IsModuleReadyForPick)
|
|
|
.Run((int)SwapStep.PickExtend, PickExtend, WaitRobotExtendDone)
|
|
|
.Run((int)SwapStep.DropDownWafer, NotifyPMPickWafer, WaitPMWaferDropDown)
|
|
|
+ .Delay((int)SwapStep.PickDelay, _pickDelayTime)
|
|
|
.Run((int)SwapStep.PickRetract, PickRetract, WaitRobotRetractDone)
|
|
|
.Run((int)SwapStep.PlacePrepare, PlacePrepare, IsModuleReadyForPlace)
|
|
|
.Run((int)SwapStep.PlaceExtend, PlaceExtend, WaitRobotExtendDone)
|
|
|
.Run((int)SwapStep.LiftUpWafer, NotifyLiftUpWafer, WaitPMWaferLiftUp)
|
|
|
+ .Delay((int)SwapStep.PlaceDelay, _placeDelayTime)
|
|
|
.Run((int)SwapStep.PlaceRetract, PlaceRetract, WaitRobotRetractDone)
|
|
|
.End((int)SwapStep.NotifyDone, NotifyPMDone, _delay_50ms);
|
|
|
|