using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace NEIntelligentControl2.Models.Windturbine { /// <summary> /// 风机信息 /// </summary> public class WindturbineInfo { /// <summary> /// 风机编号 /// </summary> public string WindturbineId { set; get; } /// <summary> /// 风机型号 /// </summary> public string ModelId { set; get; } /// <summary> /// 风场编号 /// </summary> public string StationId { set; get; } private int id = -1; /// <summary> /// 风机序号 /// </summary> public int ID { get { if (id < 0) { if (WindturbineId == null) return id; var vs = WindturbineId.Substring(2); int.TryParse(vs, out id); } return id; } } private string name; public string Name { get { if (name != null) return name; var vs = WindturbineId.Split('_'); name = $"{vs[0].Substring(0, vs[0].Length - 2)}{vs[1]}"; return name; } set => name = value; } public string Code { get; set; } /// <summary> /// 项目编号 /// </summary> public string ProjectId { get; set; } /// <summary> /// 风速统一编码 /// </summary> public string WindSpeedCode { set; get; } /// <summary> /// 功率统一编码 /// </summary> public string PowerCode { set; get; } /// <summary> /// 转速统一编码 /// </summary> public string RollSpeedCode { set; get; } /// <summary> /// 状态统一编码 /// </summary> public string StatusCode { set; get; } /// <summary> /// 挂牌统一编码 /// </summary> public string LockCode { set; get; } /// <summary> /// 风速值 /// </summary> public double WindSpeed { set; get; } /// <summary> /// 功率值 /// </summary> public double Power { set; get; } /// <summary> /// 转速值 /// </summary> public double RollSpeed { set; get; } /// <summary> /// 状态值 /// </summary> public double Status { set; get; } /// <summary> /// 风机状态 /// </summary> public WindturbineState State { get => (WindturbineState)Status; } /// <summary> /// 挂牌状态 /// </summary> public double LockValue { set; get; } /// <summary> /// 是否挂牌 /// </summary> public bool IsLocked { get => LockValue > 0; } /// <summary> /// 状态持续时长 /// </summary> public long Ts { set; get; } /// <summary> /// 挂牌类型 /// </summary> public HungType LockType { get; set; } /// <summary> /// 控制类型 /// </summary> public OperateStyle OperateStyle { get; set; } } }