ModuleHomeAllRoutine.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using Aitex.Core.RT.Fsm;
  2. using Aitex.Core.RT.Routine;
  3. using Aitex.Core.Util;
  4. using MECF.Framework.Common.Equipment;
  5. using MECF.Framework.Common.Routine;
  6. using PunkHPX8_Core;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. using PunkHPX8_RT.Modules.Transporter;
  13. namespace PunkHPX8_RT.Modules
  14. {
  15. public class ModuleHomeAllRoutine : RoutineBase, IRoutine
  16. {
  17. private enum HomeStep
  18. {
  19. Init,
  20. End
  21. }
  22. /// <summary>
  23. /// 构造函数
  24. /// </summary>
  25. /// <param name="module"></param>
  26. public ModuleHomeAllRoutine(string module) : base(module)
  27. {
  28. }
  29. /// <summary>
  30. /// 中止
  31. /// </summary>
  32. public void Abort()
  33. {
  34. Runner.Stop("Manual Stop");
  35. }
  36. /// <summary>
  37. /// 监控
  38. /// </summary>
  39. /// <returns></returns>
  40. public RState Monitor()
  41. {
  42. Runner.Run(HomeStep.Init, NullFun, _delay_1ms)
  43. .End(HomeStep.End, NullFun, _delay_1ms);
  44. return Runner.Status;
  45. }
  46. public RState Start(params object[] objs)
  47. {
  48. return Runner.Start("System", "System Home All");
  49. }
  50. }
  51. }