| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- using SKMC.Api.Recipe.Config;
- using SKMC.Api.Recipe.Model;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- namespace SKMC.Api.Recipe
- {
- /// <summary>
- /// 配方数据缓存器
- /// </summary>
- public abstract class RecipeCacher
- {
- /// <summary>
- /// 当前使用的配方
- /// </summary>
- public RecipeProfile RecipeProfile { get; set; }
- /// <summary>
- /// 流程参数配置集(基础开关型)
- /// </summary>
- public ObservableCollection<RecipeParam> GetRecipePublicSwitchParams() => RecipeProfile.RecipePublicSwitchParams;
- /// <summary>
- /// 流程参数配置集(基础数值型)
- /// </summary>
- public ObservableCollection<RecipeParam> GetRecipePublicValueParams() => RecipeProfile.RecipePublicValueParams;
- /// <summary>
- /// 流程参数配置集(内部开关型)
- /// </summary>
- public ObservableCollection<RecipeParam> GetRecipePrivateSwitchParams() => RecipeProfile.RecipePrivateSwitchParams;
- /// <summary>
- /// 流程参数配置集(内部数值型)
- /// </summary>
- public ObservableCollection<RecipeParam> GetRecipePrivateValueParams() => RecipeProfile.RecipePrivateValueParams;
- /// <summary>
- /// 速度配置集
- /// </summary>
- public ObservableCollection<RecipeSpeed> GetRecipeSpeeds() => RecipeProfile.RecipeSpeeds;
- /// <summary>
- /// 点位配置集
- /// </summary>
- public ObservableCollection<RecipePointGroup> GetRecipePointGroups() => RecipeProfile.RecipePointGroups;
- /// <summary>
- /// 获取流程参数对象
- /// </summary>
- /// <param name="paramCode"></param>
- /// <returns></returns>
- public abstract RecipeParam GetRecipeParam(string paramCode);
- /// <summary>
- /// 获取流程参数配置(根据数据库配置加载)
- /// </summary>
- /// <param name="paramCode"></param>
- /// <returns></returns>
- public abstract T GetRecipeParamValue<T>(string paramCode);
- /// <summary>
- /// 获取流程点位
- /// </summary>
- /// <param name="code"></param>
- /// <returns></returns>
- public abstract RecipePoint GetRecipePoint(string code);
- /// <summary>
- /// 获取流程点位的轴位置数值
- /// </summary>
- /// <param name="code">点位码</param>
- /// <param name="index">点位中多个轴位置的序号, 默认为第一个</param>
- /// <returns></returns>
- public abstract double GetRecipePointVal(string code, int index = 0);
- /// <summary>
- /// 获取流程点位的轴位置数值
- /// </summary>
- /// <param name="recipePoint">点位对象</param>
- /// <param name="index">点位中多个轴位置的序号, 默认为第一个</param>
- /// <returns></returns>
- public abstract double GetRecipePointVal(RecipePoint recipePoint, int index = 0);
- /// <summary>
- /// 获取速度配置对象
- /// </summary>
- /// <param name="speedCode">速度码</param>
- /// <returns></returns>
- public abstract RecipeSpeed GetRecipeSpeed(string speedCode);
- }
- }
|