namespace PBS.WinFrmUI.Hydro.Dispatch.Model
|
{
|
/// <summary>
|
/// 机泵基本信息
|
/// </summary>
|
public class MachineDetailEx
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public long PumpID { get; set; }
|
|
public long MachineID { get; set; }
|
|
/// <summary>
|
///
|
/// </summary>
|
public string MachineName { get; set; }
|
/// <summary>
|
/// 泵型号
|
/// </summary>
|
public string PumpCode { get; set; }
|
/// <summary>
|
///
|
/// </summary>
|
public bool IsFrequency { get; set; }
|
/// <summary>
|
///
|
/// </summary>
|
public double RatedQ { get; set; }
|
/// <summary>
|
///
|
/// </summary>
|
public double RatedH { get; set; }
|
/// <summary>
|
///
|
/// </summary>
|
public double RatedN { get; set; }
|
|
/// <summary>
|
///
|
/// </summary>
|
public double RatedP { get; set; }
|
|
/// <summary>
|
/// 出口口径
|
/// </summary>
|
public double? OutletCaliber { get; set; }
|
|
/// <summary>
|
/// 进口口径
|
/// </summary>
|
public double? InletCaliber { get; set; }
|
|
public long PumpCurveID { get; set; }
|
|
/// <summary>
|
/// 曲线延长百分比
|
/// </summary>
|
public double Percentage { get; set; } = 1;
|
|
/// <summary>
|
/// 最大扬程曲线
|
/// </summary>
|
public Yw.Ahart.CubicCurve MaxCurveInfoQH;
|
/// <summary>
|
/// 最大功率曲线
|
/// </summary>
|
public Yw.Ahart.CubicCurve MaxCurveInfoQP;
|
|
|
public MachineDetailEx(SimuPumpViewModel pump)
|
{
|
this.PumpID = pump.ID;
|
this.MachineID = pump.ID;
|
this.MachineName = pump.Name;
|
this.PumpCode = pump.Code;
|
this.IsFrequency = true;
|
this.RatedN = pump.Nr;
|
this.RatedQ = pump.Qr;
|
this.RatedH = pump.Hr;
|
this.RatedP = pump.Pr;
|
this.InletCaliber = pump.Ic;
|
this.OutletCaliber = pump.Oc;
|
|
this.MaxCurveInfoQH =(Yw.Ahart.CubicCurve) pump.CurveQH.FeatCurve;
|
this.MaxCurveInfoQP = (Yw.Ahart.CubicCurve)pump.CurveQP.FeatCurve;
|
|
this.InletCaliber = pump.Ic;
|
this.OutletCaliber = pump.Oc;
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="Frq"></param>
|
/// <returns></returns>
|
public double CalcSpeedByFrequence(double Frq)
|
{
|
if (!IsFrequency)
|
return RatedN;
|
return Math.Round(RatedN * Frq / 50.0, 1);
|
}
|
}
|
|
}
|