|
@@ -38,6 +38,7 @@ namespace Venus_RT.Modules.VCE
|
|
|
int _timeout;
|
|
|
SEMFPumpRoutine pumpRoutine;
|
|
|
bool _isATMMode = false;
|
|
|
+ bool _NeedPump = true; //判定是否需要pump以及打开内门
|
|
|
|
|
|
public LoadRoutine(ModuleName module, VCEModuleBase vce) : base(module)
|
|
|
{
|
|
@@ -55,12 +56,14 @@ namespace Venus_RT.Modules.VCE
|
|
|
|
|
|
pumpRoutine = new SEMFPumpRoutine(_tm, module);
|
|
|
_isATMMode = SC.GetValue<bool>("System.IsATMMode");
|
|
|
+ _NeedPump = !SC.GetValue<bool>("System.IsPumpBeforeJob");
|
|
|
}
|
|
|
|
|
|
public RState Start(params object[] objs)
|
|
|
{
|
|
|
|
|
|
_timeout = SC.GetValue<int>($"{Module}.MotionTimeout") *1000;
|
|
|
+
|
|
|
//if vce inner door not close cannot do it as it will pump
|
|
|
|
|
|
if (!Singleton<RouteManager>.Instance.seTM.IsVCESlitDoorClosed(Module))
|
|
@@ -75,11 +78,11 @@ namespace Venus_RT.Modules.VCE
|
|
|
public RState Monitor()
|
|
|
{
|
|
|
Runner.Run(LoadStep.CloseOutDoor, CloseOutDoor, CheckVceIdle, _timeout)
|
|
|
- .Run(LoadStep.GotoLP, _vce.GotoLP, CheckVceIdle, _timeout)
|
|
|
- .Run(LoadStep.VcePumpDown, VCEPumpDown, CheckPumpOver)
|
|
|
+ .Run(LoadStep.GotoLP, _vce.GotoLP, CheckVceIdle, _timeout)
|
|
|
+ .RunIf(LoadStep.VcePumpDown, _NeedPump, VCEPumpDown, CheckPumpOver)
|
|
|
.Run(LoadStep.Mapping, Mapping, CheckVceIdle, 25 *1000)
|
|
|
.Run(LoadStep.ReadMap, ReadMap, CheckVceIdle, _timeout)
|
|
|
- .Run(LoadStep.OpenInnerDoor, OpenInnerDoor, CheckInnerDoorOpen)
|
|
|
+ .RunIf(LoadStep.OpenInnerDoor, _NeedPump, OpenInnerDoor, CheckInnerDoorOpen)
|
|
|
.End(LoadStep.NotifyOver, NullFun, 100);
|
|
|
return Runner.Status;
|
|
|
}
|