PostProcess.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. using Aitex.Core.RT.Routine;
  2. using Aitex.Core.RT.SCCore;
  3. using MECF.Framework.Common.Equipment;
  4. using FurnaceRT.Equipments.PMs.Routines;
  5. namespace FurnaceRT.Equipments.PMs.RecipeExecutions
  6. {
  7. public class PostProcess : PMBaseRoutine
  8. {
  9. private enum RoutineStep
  10. {
  11. RFPowerOff,
  12. MWPowerOff,
  13. StopGasFlow,
  14. PinUp,
  15. Vent,
  16. }
  17. private int _rfOffTimeout;
  18. private int _mwOffTimeout;
  19. private int _liftTimeout;
  20. public PostProcess(ModuleName module, PMModule pm) : base(module, pm)
  21. {
  22. Module = module.ToString();
  23. Name = "PostProcess";
  24. }
  25. public bool Initialize()
  26. {
  27. return true;
  28. }
  29. public void Terminate()
  30. {
  31. }
  32. public override Result Start(params object[] objs)
  33. {
  34. //_rfOffTimeout = SC.GetValue<int>($"PM.{PMModule.Name}.RF.PowerOnTimeout");
  35. //_mwOffTimeout = SC.GetValue<int>($"PM.{PMModule.Name}.Microwave.PowerOnTimeout");
  36. Reset();
  37. //_ventRoutine = new PMVentRoutine(ModuleHelper.Converter(Module), PMModule);
  38. //_liftTimeout = SC.GetValue<int>($"PM.{PMModule.Name}.ChamberLiftPin.MoveTimeout");
  39. return Result.RUN;
  40. }
  41. public override Result Monitor()
  42. {
  43. try
  44. {
  45. //StopAllGasFlow((int)RoutineStep.StopGasFlow, PMModule);
  46. //MovePinUp((int)RoutineStep.PinUp, PMModule, _liftTimeout);
  47. //ExecuteRoutine((int)RoutineStep.Vent, _ventRoutine);
  48. }
  49. catch (RoutineBreakException)
  50. {
  51. return Result.RUN;
  52. }
  53. catch (RoutineFaildException)
  54. {
  55. return Result.FAIL;
  56. }
  57. return Result.DONE;
  58. }
  59. public void Exit()
  60. {
  61. PMModule.RecipeRunningInfo.StepName = string.Empty;
  62. }
  63. public override void Abort()
  64. {
  65. //PMModule.GasSticks.ForEach(x=>x.SetFlow(out _, 0, 0));
  66. PMModule.RecipeRunningInfo.StepName = string.Empty;
  67. }
  68. }
  69. }