ProcessAction.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using SKMC.Api.Core;
  2. using SKMC.Api.Motion.Control;
  3. using System;
  4. namespace SKMC.Api.Process.Model
  5. {
  6. /// <summary>
  7. /// 流程站点的必要动作接口
  8. /// </summary>
  9. public abstract class ProcessAction
  10. {
  11. protected readonly IMotionChecker motionChecker = ObjectFactory.Resolve<IMotionChecker>();
  12. protected readonly IMotionControl motionControl = ObjectFactory.Resolve<IMotionControl>();
  13. public ProcessStation ProcessStation { get; set; }
  14. /// <summary>
  15. /// 运动安全检查函数
  16. /// </summary>
  17. public Func<bool> SafeChecker { get; set; }
  18. /// <summary>
  19. /// 流程站点的复位前检查
  20. /// 例如站内是否有物料残留等
  21. /// </summary>
  22. /// <returns></returns>
  23. public abstract bool ResetCheck();
  24. /// <summary>
  25. /// 流程站点的复位动作
  26. /// </summary>
  27. public abstract void Reset();
  28. /// <summary>
  29. /// 流程站点的快速复位动作
  30. /// </summary>
  31. //public abstract void ResetFast();
  32. /// <summary>
  33. /// 流程站点的自检动作
  34. /// </summary>
  35. public virtual void SelfCheck() { }
  36. /// <summary>
  37. /// 动作初始化以及变量等数据初始化
  38. /// </summary>
  39. public abstract void Init();
  40. /// <summary>
  41. /// 流程每次循环开始前的准备动作
  42. /// </summary>
  43. public virtual void Prepare() { }
  44. /// <summary>
  45. /// 暂停
  46. /// </summary>
  47. public virtual void Pause() { }
  48. /// <summary>
  49. /// 继续
  50. /// </summary>
  51. public virtual void Resume() { }
  52. /// <summary>
  53. /// 停止
  54. /// </summary>
  55. public virtual void Stop() { }
  56. }
  57. }