| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | //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 LoadLockPumpRoutine : PMRoutineBase, IRoutine//    {//        private enum PumpStep//        {//            kClosePendulumValve,//            kCloseValves,//            KCloseISO,//            kPump,//            kClosePumpValves,//        }//        private int _basePressureLL = 100;//        private int _pumpTimeLimitLL = 120;                //        public LoadLockPumpRoutine(JetPMBase chamber) : base(chamber)//        {//            Name = "Loadlock Pump";//        }//        public RState Start(params object[] objs)//        {//            if (CheckLidLoadLock() &&//                CheckSlitDoor() &&//                CheckDryPump())//            {//                Reset();//                //_chamber.CloseValves();//                _basePressureLL = SC.GetValue<int>($"{Module}.Pump.LoadLockPumpBasePressure");//                _pumpTimeLimitLL = SC.GetValue<int>($"{Module}.Pump.LoadLockPumpTimeLimit");               //                return Runner.Start(Module, Name);//            }//            return RState.Failed;//        }//        public RState Monitor()//        {//          Runner.Run(PumpStep.kClosePendulumValve,  ClosePendulumValve,                                                         _delay_1s)//                .Run(PumpStep.kCloseValves,         CloseValves,                                                                _delay_1s)//                .Run(PumpStep.KCloseISO,            HOFs.WrapAction(_chamber.OpenValve, ValveType.TurboPumpPumping, false))//                .Run(PumpStep.kPump,                HOFs.WrapAction(_chamber.OpenValve, ValveType.LoadlockPumping, true),        () => { return _chamber.LoadlockPressure <= _basePressureLL; }, _pumpTimeLimitLL * 1000)//                .End(PumpStep.kClosePumpValves,     HOFs.WrapAction(_chamber.OpenValve, ValveType.LoadlockPumping, false),       _delay_1s);//            return Runner.Status;//        }//        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 void Abort()//        {//            CloseAllValves();//        }//    }//}
 |