using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace IStation.Calculation.DispatchAna.Model
|
{
|
/// <summary>
|
/// 机泵基本信息
|
/// </summary>
|
public class MachineDetail
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public long PumpID { get; set; }
|
/// <summary>
|
///
|
/// </summary>
|
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 Ratedn { get; set; }
|
/// <summary>
|
/// 最大
|
/// </summary>
|
public IStation.Model.CurveExpress MaxCurveInfoQH;//
|
/// <summary>
|
/// 最大
|
/// </summary>
|
public IStation.Model.CurveExpress MaxCurveInfoQP;//
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="engine"></param>
|
/// <param name="pump"></param>
|
public MachineDetail(IStation.Model.Product<IStation.Model.EnginePump> engine, IStation.Model.Product<IStation.Model.Pump> pump)
|
{
|
this.MachineID = engine.ID;
|
this.PumpID = pump.ID;
|
this.MachineName = engine.Name;
|
this.PumpCode = pump.Code;
|
if (string.IsNullOrEmpty(this.PumpCode))
|
this.PumpCode = pump.ID + "|" + engine.ID;//保证为空时 不会影响同型号判断
|
this.IsFrequency = pump.RatedParas.IsFrequency;
|
this.Ratedn = pump.RatedParas.N;
|
}
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="engine"></param>
|
/// <param name="pump"></param>
|
/// <param name="pump_curve"></param>
|
public MachineDetail(IStation.Model.Product<IStation.Model.EnginePump> engine,
|
IStation.Model.Product<IStation.Model.Pump> pump, IStation.Model.PumpCurve pump_curve) : this(engine, pump)
|
{
|
this.MachineID = engine.ID;
|
this.PumpID = pump.ID;
|
this.MachineName = engine.Name;
|
this.PumpCode = pump.Code;
|
if (string.IsNullOrEmpty(this.PumpCode))
|
this.PumpCode = pump.ID + "|" + engine.ID;//保证为空时 不会影响同型号判断
|
this.IsFrequency = pump.RatedParas.IsFrequency;
|
this.Ratedn = pump.RatedParas.N;
|
if (pump_curve != null && pump_curve.CurveInfo != null)
|
{
|
this.MaxCurveInfoQH = pump_curve.CurveInfo.CurveQH;
|
this.MaxCurveInfoQP = pump_curve.CurveInfo.CurveQP;
|
}
|
}
|
/// <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);
|
}
|
}
|
|
}
|