125 lines
4.3 KiB
C#
125 lines
4.3 KiB
C#
///
|
|
/// Copyright (c) 2013-2017 Sensus Metering Systems
|
|
///
|
|
using log4net;
|
|
using Config.Entities;
|
|
|
|
namespace TBF.BenchControl.WaterMeters.WaterMeter
|
|
{
|
|
/// <summary>
|
|
/// This component = instance of this class is a placeholder for a combined main watermeter
|
|
/// </summary>
|
|
public class WaterMeter : ComponentBase, GenericDevices.IWaterMeter
|
|
{
|
|
private static readonly ILog log = LogManager.GetLogger(typeof(WaterMeter));
|
|
public override string ToString() { return string.Format("WaterMeter({0})", Cfg.ToString(1)); }
|
|
|
|
readonly WaterMeterCfg waterMeterCfg;
|
|
|
|
/// <summary>WaterMeter type (product name) and producer</summary>
|
|
public string ProductName { get { return waterMeterCfg.ProcParams.ProductName; } }
|
|
public string Producer { get { return waterMeterCfg.ProcParams.Producer; } }
|
|
|
|
public double PulsesPerLtr { get { return (double)waterMeterCfg.ProcParams.PulsesPerLtr; } }
|
|
|
|
/// <summary>Pipe diameter [mm]</summary>
|
|
public float DN { get { return waterMeterCfg.ProcParams.DN; } }
|
|
|
|
/// <summary>Build lenght [mm]</summary>
|
|
public float L { get { return waterMeterCfg.ProcParams.L; } }
|
|
|
|
public Mounting Mounting { get { return waterMeterCfg.ProcParams.Mounting; } }
|
|
|
|
/// <summary>Nominal water flow in [m3/h]</summary>
|
|
public bool NewQnames { get { return waterMeterCfg.ProcParams.NewQnames; } }
|
|
public float Q4_Qmax { get { return waterMeterCfg.ProcParams.Qmax; } }
|
|
public float Q3_Qn { get { return waterMeterCfg.ProcParams.Qn; } }
|
|
public float Q2_Qt { get { return waterMeterCfg.ProcParams.Qt; } }
|
|
public float Q1_Qmin { get { return waterMeterCfg.ProcParams.Qmin; } }
|
|
|
|
/// <summary>Metrological class, etc</summary>
|
|
public string MetrologicalClass { get { return waterMeterCfg.ProcParams.MetrologicalClass; } }
|
|
public TemperatureClass TemperatureClass { get { return waterMeterCfg.ProcParams.TemperatureClass; } }
|
|
public PressureLossClass PressureLossClass { get { return waterMeterCfg.ProcParams.PressureLossClass; } }
|
|
public MaxAdmissiblePressure MaxAdmissiblePressure { get { return waterMeterCfg.ProcParams.MaxAdmissiblePressure; } }
|
|
public FlowProfileSensitivityClass FlowProfileSensitivityClass { get { return waterMeterCfg.ProcParams.FlowProfileSensitivityClass; } }
|
|
|
|
/// <summary>WaterMeter approval information or signature</summary>
|
|
public string ApprovalInfo { get { return waterMeterCfg.ProcParams.ApprovalInfo; } }
|
|
public string Certificate { get { return waterMeterCfg.ProcParams.Certificate; } }
|
|
|
|
public string Text1 { get { return waterMeterCfg.ProcParams.Text1; } }
|
|
public string Text2 { get { return waterMeterCfg.ProcParams.Text2; } }
|
|
public string Text3 { get { return waterMeterCfg.ProcParams.Text3; } }
|
|
public string Text4 { get { return waterMeterCfg.ProcParams.Text4; } }
|
|
public string Text5 { get { return waterMeterCfg.ProcParams.Text5; } }
|
|
|
|
/// <summary>Water: cold / hot</summary>
|
|
public Config.Entities.Medium WaterTemp { get { return waterMeterCfg.ProcParams.WaterTemp; } }
|
|
|
|
#if IPERL
|
|
public ushort OriginalCalibFactor;
|
|
public ushort CalibFactor;
|
|
public double Q2ErrorWOCorrection;
|
|
public bool Q2CorrectionDone;
|
|
public double Q2Correction;
|
|
public int Q2CorrRFlow;
|
|
public int Q2CorrLFlow;
|
|
public double Diff2Hz8Hz;
|
|
public bool Hz2CorrectionDone;
|
|
public int Hz2CorrectionFactor;
|
|
public string FWVersion;
|
|
#endif
|
|
|
|
/// Properties set by the Begin and the End form or the iPerl head
|
|
public string SerialNr
|
|
{
|
|
get { return serialNr; }
|
|
set { serialNr = value; }
|
|
}
|
|
string serialNr;
|
|
|
|
public string EndState
|
|
{
|
|
get { return endState; }
|
|
set { endState = value; }
|
|
}
|
|
string endState;
|
|
|
|
public string BeginState
|
|
{
|
|
get { return beginState; }
|
|
set { beginState = value; }
|
|
}
|
|
string beginState;
|
|
|
|
public bool Disabled
|
|
{
|
|
get { return disabled; }
|
|
set { disabled = value; }
|
|
}
|
|
bool disabled;
|
|
|
|
public WaterMeter()
|
|
{
|
|
ClearData();
|
|
}
|
|
|
|
public WaterMeter(Generic.IComponentCfg cfg)
|
|
: base(cfg)
|
|
{
|
|
ClearData();
|
|
waterMeterCfg = cfg as WaterMeterCfg;
|
|
log.Debug(this.ToString());
|
|
}
|
|
|
|
public void ClearData()
|
|
{
|
|
serialNr = string.Empty;
|
|
endState = string.Empty;
|
|
beginState = string.Empty;
|
|
disabled = false;
|
|
}
|
|
}
|
|
}
|