BoosterPumpEnableRoutine.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. using Aitex.Core.RT.Routine;
  2. using MECF.Framework.Common.Persistent.Prewet;
  3. using MECF.Framework.Common.Routine;
  4. using PunkHPX8_Core;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. namespace PunkHPX8_RT.Devices.VpwMain
  11. {
  12. public class BoosterPumpEnableRoutine : RoutineBase, IRoutine
  13. {
  14. private enum PumpEnableStep
  15. {
  16. PumpValve,
  17. Delay,
  18. PumpEnable,
  19. WritePumpSpeed,
  20. LastDelay,
  21. End
  22. }
  23. #region 内部变量
  24. VpwMainDevice _device;
  25. #endregion
  26. /// <summary>
  27. /// 构造函数
  28. /// </summary>
  29. /// <param name="module"></param>
  30. public BoosterPumpEnableRoutine(string module,VpwMainDevice device) : base(module)
  31. {
  32. _device = device;
  33. }
  34. /// <summary>
  35. /// 中止
  36. /// </summary>
  37. public void Abort()
  38. {
  39. Runner.Stop("Manual Abort");
  40. }
  41. /// <summary>
  42. /// 监控
  43. /// </summary>
  44. /// <returns></returns>
  45. public RState Monitor()
  46. {
  47. Runner.Run(PumpEnableStep.PumpValve, _device.DiwProcessOn, () => { return _device.CommonData.DiwProcess; }, _delay_1s)
  48. .Delay(PumpEnableStep.Delay, 200)
  49. .Run(PumpEnableStep.PumpEnable, _device.BoosterPumpEnable, () => { return _device.CommonData.BoosterPumpEnable; }, _delay_1s)
  50. .Run(PumpEnableStep.WritePumpSpeed, () => { return _device.BoosterPumpSpeed(); }, _delay_1ms)
  51. .Delay(PumpEnableStep.LastDelay, 500)
  52. .End(PumpEnableStep.End, NullFun, _delay_1ms);
  53. return Runner.Status;
  54. }
  55. /// <summary>
  56. /// 启动
  57. /// </summary>
  58. /// <param name="objs"></param>
  59. /// <returns></returns>
  60. public RState Start(params object[] objs)
  61. {
  62. return Runner.Start(Module, "Pump Enable");
  63. }
  64. }
  65. }