//using Aitex.Core.RT.Routine; //using Aitex.Core.RT.SCCore; //using Venus_RT.Devices; //using MECF.Framework.Common.Routine; //using Venus_Core; //namespace Venus_RT.Modules.PMs //{ // class LoadLockVentRoutine : PMRoutineBase, IRoutine // { // private enum VentStep // { // kClosePendulumValve, // kCloseValves, // kVent, // kOverVent, // kCloseVentValves, // } // private int _overVentTime = 2000; // private int _checkATMTimeout = 90000; // //private int _ATMPressureLL = 720000; // public LoadLockVentRoutine(JetPMBase chamber) : base(chamber) // { // Name = "Loadlock Vent"; // } // public RState Start(params object[] objs) // { // if (CheckLidLoadLock()&& // CheckSlitDoor()&& // CheckATMLoadLock()) // { // Reset(); // // _chamber.CloseValves(); // //_chamber.TurnPendulumValve(false); // _checkATMTimeout = SC.GetValue($"{Module}.CheckATMTimeout") * 1000; // _overVentTime = SC.GetValue($"{Module}.OverVentTime"); // return Runner.Start(Module, Name); // } // return RState.Failed; // } // public RState Monitor() // { // Runner.Run(VentStep.kClosePendulumValve, ClosePendulumValve, _delay_1s) // .Run(VentStep.kCloseValves, CloseValves, _delay_1s) // //.Run(VentStep.kVent, HOFs.WrapAction(_chamber.OpenValve, ValveType.LoadlockVent, true), () => { return _chamber.LoadlockPressure >= _ATMPressureLL; }, _checkATMTimeout) // .Run(VentStep.kVent, HOFs.WrapAction(_chamber.OpenValve, ValveType.LoadlockVent, true), () => { return _chamber.IsATMLoadlock; }, _checkATMTimeout) // .Delay(VentStep.kOverVent, _overVentTime) // .End(VentStep.kCloseVentValves, HOFs.WrapAction(_chamber.OpenValve, ValveType.LoadlockVent, false), _delay_1s); // return Runner.Status; // } // public void Abort() // { // CloseAllValves(); // } // public bool ClosePendulumValve() // { // if (_chamber.PendulumValveIsOpen() == true) // { // _chamber.TurnPendulumValve(false); // } // _chamber.OpenValve(ValveType.TurboPumpPurge, false); // _chamber.OpenValve(ValveType.Guage, false); // return true; // } // public bool CloseValves() // { // _chamber.OpenValve(ValveType.TurboPumpPumping, false); // return true; // } // public bool CheckATMLoadLock() // { // if (_chamber.IsATMLoadlock) // { // this.Stop("LoadLock 是ATM状态"); // return false; // } // return true; // } // } //}