namespace Yw.WinFrmUI
|
{
|
/// <summary>
|
/// 水泵属性视图
|
/// </summary>
|
public class HydroPumpViewModel : HydroLinkViewModel, IHydroCalcuPumpResult
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public HydroPumpViewModel() { }
|
|
/// <summary>
|
///
|
/// </summary>
|
public HydroPumpViewModel(Yw.Model.HydroPumpInfo rhs, Yw.Model.HydroModelInfo hydroInfo) : base(rhs, hydroInfo)
|
{
|
this.RatedP = rhs.RatedP;
|
this.RatedQ = rhs.RatedQ;
|
this.RatedH = rhs.RatedH;
|
this.RatedN = rhs.RatedN;
|
this.RatedHz = rhs.RatedHz;
|
this.InletDiameter = rhs.InletDiameter;
|
this.OutletDiameter = rhs.OutletDiameter;
|
this.Elev = Math.Round(rhs.Elev, 4);
|
this.CurveQH = rhs.CurveQH;
|
this.CurveQP = rhs.CurveQP;
|
this.CurveQE = rhs.CurveQE;
|
}
|
|
/// <summary>
|
/// 运行状态
|
/// </summary>
|
[Category("数据")]
|
[Display(Name = "运行状态")]
|
[DisplayName("运行状态")]
|
[HydroRealPro(Yw.Hydro.ParterProp.LinkStatus)]
|
[PropertyOrder(2001)]
|
[Browsable(true)]
|
public ePumpMode PumpMode
|
{
|
get
|
{
|
var mode = ePumpMode.Closed;
|
switch (this.Vmo.LinkStatus)
|
{
|
case Yw.Hydro.PumpStatus.Closed:
|
{
|
mode = ePumpMode.Closed;
|
}
|
break;
|
case Yw.Hydro.PumpStatus.Open:
|
{
|
mode = ePumpMode.Open;
|
}
|
break;
|
default: break;
|
}
|
return mode;
|
}
|
set
|
{
|
switch (value)
|
{
|
case ePumpMode.Closed:
|
{
|
this.Vmo.LinkStatus = Yw.Hydro.PumpStatus.Closed;
|
}
|
break;
|
case ePumpMode.Open:
|
{
|
this.Vmo.LinkStatus = Yw.Hydro.PumpStatus.Open;
|
}
|
break;
|
default: break;
|
}
|
}
|
}
|
|
/// <summary>
|
/// 额定流量
|
/// </summary>
|
[Category("数据")]
|
[Display(Name = "额定流量(m³/h)")]
|
[DisplayUnit("m³/h")]
|
[DisplayName("额定流量")]
|
[PropertyOrder(2002)]
|
[Browsable(true)]
|
public double RatedQ { get; set; }
|
|
/// <summary>
|
/// 额定扬程
|
/// </summary>
|
[Category("数据")]
|
[Display(Name = "额定扬程(m)")]
|
[DisplayName("额定扬程")]
|
[DisplayUnit("m")]
|
[PropertyOrder(2003)]
|
[Browsable(true)]
|
public double RatedH { get; set; }
|
|
/// <summary>
|
/// 额定功率
|
/// </summary>
|
[Category("数据")]
|
[Display(Name = "额定功率(kW)")]
|
[DisplayName("额定功率")]
|
[DisplayUnit("kW")]
|
[PropertyOrder(2004)]
|
[Browsable(true)]
|
public double RatedP { get; set; }
|
|
/// <summary>
|
/// 额定转速
|
/// </summary>
|
[Category("数据")]
|
[Display(Name = "额定转速(r/min)")]
|
[DisplayName("额定转速")]
|
[DisplayUnit("r/min")]
|
[PropertyOrder(2005)]
|
[Browsable(true)]
|
public double RatedN { get; set; }
|
|
/// <summary>
|
/// 额定频率
|
/// </summary>
|
[Category("数据")]
|
[Display(Name = "额定频率")]
|
[DisplayName("额定频率")]
|
[DisplayUnit("hz")]
|
[PropertyOrder(2006)]
|
[Browsable(true)]
|
public double RatedHz { get; set; }
|
|
/// <summary>
|
/// 进口口径
|
/// </summary>
|
[Category("数据")]
|
[Display(Name = "进口口径(mm)")]
|
[DisplayName("进口口径")]
|
[DisplayUnit("mm")]
|
[PropertyOrder(2007)]
|
[Browsable(true)]
|
public double? InletDiameter { get; set; }
|
|
/// <summary>
|
/// 出口口径
|
/// </summary>
|
[Category("数据")]
|
[Display(Name = "出口口径(mm)")]
|
[DisplayName("出口口径")]
|
[DisplayUnit("mm")]
|
[PropertyOrder(2008)]
|
[Browsable(true)]
|
public double? OutletDiameter { get; set; }
|
|
/// <summary>
|
/// 标高/高程
|
/// </summary>
|
[Category("数据")]
|
[DisplayName("标高")]
|
[DisplayUnit("m")]
|
[Display(Name = "标高(m)")]
|
[PropertyOrder(2009)]
|
[Browsable(true)]
|
public virtual double Elev { get; set; }
|
|
/// <summary>
|
/// 设定频率
|
/// </summary>
|
[Category("数据")]
|
[Display(Name = "设定频率")]
|
[DisplayName("设定频率")]
|
[DisplayUnit("hz")]
|
[PropertyOrder(2010)]
|
[Browsable(true)]
|
public double CurrentHz
|
{
|
get { return this.Vmo.SpeedRatio * this.RatedHz; }
|
set
|
{
|
if (this.RatedHz <= 0)
|
{
|
return;
|
}
|
this.Vmo.SpeedRatio = value / this.RatedHz;
|
}
|
}
|
|
|
/// <summary>
|
/// 性能曲线
|
/// </summary>
|
[Category("数据")]
|
[DisplayName("性能曲线")]
|
[PropertyOrder(2011)]
|
[HydroCurvePro(HydroCurve.Pump)]
|
[Browsable(true)]
|
public string Curve
|
{
|
get
|
{
|
if (string.IsNullOrEmpty(this.CurveQH))
|
{
|
return "未配置";
|
}
|
return "已配置";
|
}
|
}
|
|
/// <summary>
|
/// 流量扬程曲线
|
/// </summary>
|
[Category("数据")]
|
[DisplayName("流量扬程曲线")]
|
[PropertyOrder(2012)]
|
[HydroCurvePro(HydroCurve.Pump, HydroCurveType.CurveQH)]
|
[Browsable(false)]
|
public string CurveQH { get; set; }
|
|
/// <summary>
|
/// 流量功率曲线
|
/// </summary>
|
[Category("数据")]
|
[DisplayName("流量功率曲线")]
|
[PropertyOrder(2013)]
|
[HydroCurvePro(HydroCurve.Pump, HydroCurveType.CurveQP)]
|
[Browsable(false)]
|
public string CurveQP { get; set; }
|
|
/// <summary>
|
/// 流量效率曲线
|
/// </summary>
|
[Category("数据")]
|
[DisplayName("流量效率曲线")]
|
[PropertyOrder(2014)]
|
[HydroCurvePro(HydroCurve.Pump, HydroCurveType.CurveQE)]
|
[Browsable(false)]
|
public string CurveQE { get; set; }
|
|
/// <summary>
|
/// 流量
|
/// </summary>
|
[Category("计算结果")]
|
[DisplayName("流量")]
|
[DisplayUnit("m³/h")]
|
[Display(Name = "流量(m³/h)")]
|
[PropertyOrder(11001)]
|
[HydroCalcuPro]
|
[ShowEditor(false)]
|
[Browsable(true)]
|
public double? CalcuQ { get; set; }
|
|
/// <summary>
|
/// 进口压力
|
/// </summary>
|
[Category("计算结果")]
|
[DisplayName("进口压力")]
|
[DisplayUnit("m")]
|
[Display(Name = "进口压力(m)")]
|
[PropertyOrder(11002)]
|
[HydroCalcuPro]
|
[ShowEditor(false)]
|
[Browsable(true)]
|
public virtual double? CalcuPr1 { get; set; }
|
|
/// <summary>
|
/// 出口压力
|
/// </summary>
|
[Category("计算结果")]
|
[DisplayName("出口压力")]
|
[DisplayUnit("m")]
|
[Display(Name = "出口压力(m)")]
|
[PropertyOrder(11003)]
|
[HydroCalcuPro]
|
[ShowEditor(false)]
|
[Browsable(true)]
|
public virtual double? CalcuPr2 { get; set; }
|
|
/// <summary>
|
/// 扬程
|
/// </summary>
|
[Category("计算结果")]
|
[DisplayName("扬程")]
|
[DisplayUnit("m")]
|
[Display(Name = "扬程(m)")]
|
[PropertyOrder(11004)]
|
[HydroCalcuPro]
|
[ShowEditor(false)]
|
[Browsable(true)]
|
public double? CalcuH { get; set; }
|
|
/// <summary>
|
/// 功率
|
/// </summary>
|
[Category("计算结果")]
|
[DisplayName("功率")]
|
[DisplayUnit("kW")]
|
[Display(Name = "功率(kW)")]
|
[PropertyOrder(11005)]
|
[HydroCalcuPro]
|
[ShowEditor(false)]
|
[Browsable(true)]
|
public double? CalcuP { get; set; }
|
|
/// <summary>
|
/// 效率
|
/// </summary>
|
[Category("计算结果")]
|
[DisplayName("效率")]
|
[DisplayUnit("%")]
|
[Display(Name = "效率(%)")]
|
[PropertyOrder(11006)]
|
[HydroCalcuPro]
|
[ShowEditor(false)]
|
[Browsable(true)]
|
public double? CalcuE { get; set; }
|
|
/// <summary>
|
///
|
/// </summary>
|
[Browsable(false)]
|
public new Yw.Model.HydroPumpInfo Vmo
|
{
|
get { return _vmo as Yw.Model.HydroPumpInfo; }
|
set { _vmo = value; }
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
public override void UpdateProperty()
|
{
|
base.UpdateProperty();
|
this.RatedP = this.Vmo.RatedP;
|
this.RatedQ = this.Vmo.RatedQ;
|
this.RatedH = this.Vmo.RatedH;
|
this.RatedN = this.Vmo.RatedN;
|
this.RatedHz = this.Vmo.RatedHz;
|
this.CurveQH = this.Vmo.CurveQH;
|
this.CurveQP = this.Vmo.CurveQP;
|
this.CurveQE = this.Vmo.CurveQE;
|
}
|
|
public override void UpdateVmoProperty()
|
{
|
base.UpdateVmoProperty();
|
this.Vmo.RatedQ = this.RatedQ;
|
this.Vmo.RatedH = this.RatedH;
|
this.Vmo.RatedP = this.RatedP;
|
this.Vmo.RatedN = this.RatedN;
|
this.Vmo.RatedHz = this.RatedHz;
|
this.Vmo.CurveQH = this.CurveQH;
|
this.Vmo.CurveQP = this.CurveQP;
|
this.Vmo.CurveQE = this.CurveQE;
|
}
|
|
|
/// <summary>
|
/// 更新计算属性
|
/// </summary>
|
public override void UpdateCalcuProperty(HydroCalcuVisualResult rhs)
|
{
|
base.UpdateCalcuProperty(rhs);
|
if (rhs is HydroCalcuPumpResult calcuPumpProperty)
|
{
|
this.CalcuQ = calcuPumpProperty.CalcuQ.HasValue ? Math.Round(calcuPumpProperty.CalcuQ.Value, 1) : null;
|
this.CalcuPr1 = calcuPumpProperty.CalcuPr1.HasValue ? Math.Round(calcuPumpProperty.CalcuPr1.Value, 2) : null;
|
this.CalcuPr2 = calcuPumpProperty.CalcuPr2.HasValue ? Math.Round(calcuPumpProperty.CalcuPr2.Value, 2) : null;
|
this.CalcuH = calcuPumpProperty.CalcuH.HasValue ? Math.Round(calcuPumpProperty.CalcuH.Value, 2) : null;
|
this.CalcuP = calcuPumpProperty.CalcuP.HasValue ? Math.Round(calcuPumpProperty.CalcuP.Value, 1) : null;
|
this.CalcuE = calcuPumpProperty.CalcuE.HasValue ? Math.Round(calcuPumpProperty.CalcuE.Value, 1) : null;
|
}
|
}
|
|
}
|
}
|