| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 | 
							- 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((int)ControlPressureStep.PumpDown,              PumpingDown,          StopPumpDone)
 
-                 .Delay((int)ControlPressureStep.Delay1s,               _delay_1s)
 
-                 .Run((int)ControlPressureStep.StartControlPressure,    StartControlPressure)
 
-                 .End((int)ControlPressureStep.End,                     End);
 
-             return Runner.Status;
 
-         }
 
-         private bool PumpingDown()
 
-         {
 
-             return _pumpDownRoutine.Start() == RState.Running;
 
-         }
 
-         private bool StopPumpDone()
 
-         {
 
-             var status = _pumpDownRoutine.Monitor();
 
-             if (_JetTM.TMPressure <= _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);
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |