RecipeCacher.cs 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. using SKMC.Api.Recipe.Config;
  2. using SKMC.Api.Recipe.Model;
  3. using System.Collections.Generic;
  4. using System.Collections.ObjectModel;
  5. namespace SKMC.Api.Recipe
  6. {
  7. /// <summary>
  8. /// 流程数据及对象缓存器
  9. /// </summary>
  10. public abstract class RecipeCacher
  11. {
  12. public ObservableCollection<RecipeProfile> RecipeProfiles { get; set; }
  13. /// <summary>
  14. /// 流程参数配置集(基础开关型)
  15. /// </summary>
  16. public ObservableCollection<RecipeParam> RecipePublicSwitchParams { get; set; }
  17. /// <summary>
  18. /// 流程参数配置集(基础数值型)
  19. /// </summary>
  20. public ObservableCollection<RecipeParam> RecipePublicValueParams { get; set; }
  21. /// <summary>
  22. /// 流程参数配置集(内部开关型)
  23. /// </summary>
  24. public ObservableCollection<RecipeParam> RecipePrivateSwitchParams { get; set; }
  25. /// <summary>
  26. /// 流程参数配置集(内部数值型)
  27. /// </summary>
  28. public ObservableCollection<RecipeParam> RecipePrivateValueParams { get; set; }
  29. /// <summary>
  30. /// 速度配置集
  31. /// </summary>
  32. public ObservableCollection<RecipeSpeed> RecipeSpeeds { get; set; }
  33. /// <summary>
  34. /// 点位配置集
  35. /// </summary>
  36. public ObservableCollection<RecipePointGroup> RecipePointGroups { get; set; }
  37. /// <summary>
  38. /// 获取流程参数对象
  39. /// </summary>
  40. /// <param name="paramCode"></param>
  41. /// <returns></returns>
  42. public abstract RecipeParam GetRecipeParam(string paramCode);
  43. /// <summary>
  44. /// 获取流程参数配置(根据数据库配置加载)
  45. /// </summary>
  46. /// <typeparam name="T"></typeparam>
  47. /// <param name="paramCode"></param>
  48. /// <returns></returns>
  49. public abstract T GetRecipeParamValue<T>(string paramCode);
  50. /// <summary>
  51. /// 获取流程点位
  52. /// </summary>
  53. /// <param name="code"></param>
  54. /// <returns></returns>
  55. public abstract RecipePoint GetRecipePoint(string code);
  56. /// <summary>
  57. /// 获取流程点位的轴位置数值
  58. /// </summary>
  59. /// <param name="code">点位码</param>
  60. /// <param name="index">点位中多个轴位置的序号, 默认为第一个</param>
  61. /// <returns></returns>
  62. public abstract double GetRecipePointVal(string code, int index = 0);
  63. /// <summary>
  64. /// 获取流程点位的轴位置数值
  65. /// </summary>
  66. /// <param name="processPoint">点位对象</param>
  67. /// <param name="index">点位中多个轴位置的序号, 默认为第一个</param>
  68. /// <returns></returns>
  69. public abstract double GetRecipePointVal(RecipePoint processPoint, int index = 0);
  70. /// <summary>
  71. /// 获取速度配置对象
  72. /// </summary>
  73. /// <param name="code">速度码</param>
  74. /// <returns></returns>
  75. public abstract RecipeSpeed GetRecipeSpeed(string code);
  76. }
  77. }