123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- using Aitex.Core.RT.Routine;
- using Aitex.Core.RT.SCCore;
- using VirgoRT.Devices;
- namespace VirgoRT.Modules.PMs
- {
- class VentRoutine : PMRoutineBase, IRoutine
- {
- private enum VentSequence
- {
- kCloseValves,
- kOpenSoftVentValve,
- kOpenFastVentValve,
- kVentToPrecision,
- kVentDelay,
- kCloseVentValve,
- kEnd,
- kCheckLidSignal,
- kCheckSlitDoor,
- kCheckThrottleValveStatus,
- kCheckN2,
- kOpenProcessValve,
- kOpenN2Supply,
- kCheckChamberPressure,
- kCheckATM
- }
- private int _ventTime;
- private int _ventTimeDelay = 1;
- private int _checkATMTimeout = 90;
- public VentRoutine(JetPM chamber) : base(chamber)
- {
- Name = "vent";
- bUINotify = true;
- }
- public Result Start(params object[] objs)
- {
-
- if (CheckLid() == Result.RUN &&
- CheckSlitDoor() == Result.RUN &&
- CheckCDA() == Result.RUN)
- {
- Reset();
- _chamber.CloseValves();
-
- _ventTime = (int)SC.GetValue<double>($"{Module}.VentTime");
- _checkATMTimeout = SC.GetValue<int>($"{Module}.CheckATMTimeout");
- _ventTimeDelay = SC.GetValue<int>($"{Module}.VentTimeDelay");
- Notify("开始");
- return Result.RUN;
- }
- return Result.FAIL;
- }
- public Result Monitor()
- {
- try
- {
-
-
-
- SetValve((int)VentSequence.kOpenProcessValve, ValveType.PROCESS, true);
-
-
-
- SetValve((int)VentSequence.kOpenFastVentValve, ValveType.FAST_VENT, true);
- CheckATM2((int)VentSequence.kCheckATM, true, _checkATMTimeout);
-
- TimeDelay((int)VentSequence.kVentDelay, _ventTimeDelay);
-
- CloseAllValve((int)VentSequence.kCloseValves, 0);
- End((int)VentSequence.kEnd);
- }
- catch (RoutineBreakException)
- {
- return Result.RUN;
- }
- catch (RoutineFaildException)
- {
-
- _chamber.SetValveOnOff(ValveType.FAST_VENT, false);
- _chamber.SetValveOnOff(ValveType.PURGE, false);
- _chamber.SetValveOnOff(ValveType.PROCESS, false);
- Notify("出错");
- return Result.FAIL;
- }
- catch (System.Exception ex)
- {
- Stop(ex.Message);
- return Result.FAIL;
- }
- Notify("结束");
- return Result.DONE;
- }
- public override void Abort()
- {
- _chamber.CloseValves();
- }
- }
- }
|