| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 | 
							- //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<int>($"{Module}.CheckATMTimeout") * 1000;
 
- //                _overVentTime = SC.GetValue<int>($"{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;
 
- //        }
 
- //    }
 
- //}
 
 
  |