//using Aitex.Core.RT.Routine; //using Aitex.Core.RT.SCCore; //using MECF.Framework.Common.Equipment; //using System; //using System.Collections.Generic; //using System.Linq; //using System.Text; //using System.Threading.Tasks; //using Venus_Core; //using Venus_RT.Devices; //using Venus_RT.Modules.PMs; //namespace Venus_RT.Modules.TM //{ // class MFControlPressureRoutine : ModuleRoutineBase, IRoutine // { // private enum ControlPressureStep // { // PumpDown, // Delay1s, // StartControlPressure, // End // } // private readonly JetTM _JetTM; // private readonly MFPumpRoutine _pumpDownRoutine; // private int _controlPressureCheckPoint = 100; // private int _controlPressureSetPoint = 90; // private int _controlFlowSetPoint = 90; // public MFControlPressureRoutine(JetTM jetTM, MFPumpRoutine pumpDownRoutine) : base(ModuleName.TM) // { // _JetTM = jetTM; // _pumpDownRoutine = pumpDownRoutine; // } // public RState Start(params object[] objs) // { // _controlPressureCheckPoint= SC.GetValue<int>($"TM.ControlPressureCheckPoint"); // _controlPressureSetPoint= SC.GetValue<int>($"TM.ControlPressureSetPoint"); // _controlFlowSetPoint= SC.GetValue<int>($"TM.TM_MFC1.DefaultSetPoint"); // return Runner.Start(Module, Name); // } // public RState Monitor() // { // Runner.Run(ControlPressureStep.PumpDown, PumpingDown, StopPumpDone) // .Delay(ControlPressureStep.Delay1s, _delay_1s) // .Run(ControlPressureStep.StartControlPressure, StartControlPressure) // .End(ControlPressureStep.End, End); // return Runner.Status; // } // private bool PumpingDown() // { // return _pumpDownRoutine.Start() == RState.Running; // } // private bool StopPumpDone() // { // var status = _pumpDownRoutine.Monitor(); // if (_JetTM.ChamberPressure <= _controlPressureCheckPoint && status == RState.End) // { // _JetTM.TurnSoftPumpValve(ModuleName.TM, false); // _JetTM.TurnFastPumpValve(ModuleName.TM, false); // _JetTM.TurnFastPumpValve(ModuleName.TM,true); // return true; // } // else // { // return false; // } // } // private bool StartControlPressure() // { // _JetTM.TurnN2Valve(true); // _JetTM.TurnPurgeValve(ModuleName.TM, true); // if (_JetTM.AllPMSlitDoorClosed) // { // _JetTM.SwitchTMPressureMode(true); // _JetTM.SetTMPressure(_controlPressureSetPoint); // } // else // { // _JetTM.SwitchTMPressureMode(false); // _JetTM.SetTMFlow(_controlFlowSetPoint); // } // return true; // } // private bool End() // { // return true; // } // public void Abort() // { // if(_JetTM != null) // { // _JetTM.TurnFastPumpValve(ModuleName.TM, false); // _JetTM.TurnN2Valve(false); // _JetTM.TurnPurgeValve(ModuleName.TM, false); // _JetTM.SetTMPressure(0); // _JetTM.SetTMFlow(0); // } // } // } //}