Elde.FlowMeterTwins bug-fix in calculation of ref. pulses and flow.

This commit is contained in:
Milan Hanajik 2016-12-12 13:59:36 +01:00
parent 72418d802c
commit be52e2df96
12 changed files with 74 additions and 18 deletions

View File

@ -42,7 +42,8 @@ namespace TBF.BenchControl.Elde
public StatusP StatusP { get { return controlCom.StatusP; } }
public double ReferenceFreq { get { return controlCom.ReferenceFreq; } } /// In [Hz] 0..2500, nom.=2000
public int EtPulses(int wmNr0) { return (int)controlCom.EtPulses(wmNr0); }
public UInt16 WMeterPulses(int wmNr0) { return controlCom.WMeterPulses(wmNr0); }
public int EtPulses2 { get { return controlCom.EtPulses2; } }
public UInt16 WMeterPulses(int wmNr0) { return controlCom.WMeterPulses(wmNr0); }
public int WMeterReference(int wmNr0) { return controlCom.WMeterReference(wmNr0); }
public uint RegulValveDAC { get { return controlCom.RegulValveDAC; } }
public float Pressure(int prsNr0) { return controlCom.Pressure(prsNr0); }

View File

@ -24,6 +24,7 @@ namespace TBF.BenchControl.Elde
{
return etPulses[wmNr1and0];
}
public int EtPulses2 { get { return 0; } }
float[] errFactor = new float[Config.Data.WMsCount + 1]; /// Internal
float[] wMeterPulsesF = new float[Config.Data.WMsCount + 1]; /// Internal

View File

@ -31,7 +31,12 @@ namespace TBF.BenchControl.Elde
public float ReferenceFreq { get { return 1000.0f * ctrlBrdComponent.referenceFreq[0]; } } /// In [Hz] 0..2500, nom.=2000
#endif
public int EtPulses(int wmNr0) { return (int)ctrlBrdComponent.etPulses[wmNr0]; }
public UInt16 WMeterPulses(int wmNr0) { return (UInt16)ctrlBrdComponent.wMeterPuls[wmNr0]; }
#if FUZHOU300 || PT200IL || PUCHONG_PT200 || GENESIS
public int EtPulses2 { get { return (int)ctrlBrdComponent.EtPulses2; } }
#else
public int EtPulses2 { get { return 0; } }
#endif
public UInt16 WMeterPulses(int wmNr0) { return (UInt16)ctrlBrdComponent.wMeterPuls[wmNr0]; }
public int WMeterReference(int wmNr0) { return (int)ctrlBrdComponent.wMeterReference[wmNr0]; }
public uint RegulValveDAC { get { return ctrlBrdComponent.StavDA; } }
public float Pressure(int prsNr0) { return ctrlBrdComponent.pressure[prsNr0]; }

View File

@ -1,5 +1,5 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
/// Copyright (c) 2013-2016 Sensus Metering Systems
///
using System;
@ -10,7 +10,8 @@ namespace TBF.BenchControl.Elde
StatusP StatusP { get; }
float ReferenceFreq { get; }
int EtPulses(int wmNr0);
UInt16 WMeterPulses(int wmNr0);
int EtPulses2 { get; }
UInt16 WMeterPulses(int wmNr0);
int WMeterReference(int wmNr0);
uint RegulValveDAC { get; }
float Pressure(int prsNr0);

View File

@ -316,8 +316,14 @@ namespace TBF.BenchControl.TestMethods.Adjustment
tstRslt.EndTime = TestEndTime;
tstRslt.FlowSetTime = flowSetTime;
tstRslt.TestTime = cBrd.TTime; /// [s] measurement time
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0)); /// Pulses of the master flow meter (test total)
tstRslt.MassStart = 0;
/// Pulses of the master flow meter (test total)
if (outPath.FlowMeter is Elde.FlowMeterTwins.FlowMeter)
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0) + cBrd.EtPulses2);
else
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0));
tstRslt.MassStart = 0;
tstRslt.MassEnd = 0;
tstRslt.FlowMass = 0; /// [kg/h]
tstRslt.FlowVolume = 3.6 * LtrPerRefPulse * cBrd.EtPulses(0) / tstRslt.TestTime; /// [m3/h]

View File

@ -630,8 +630,14 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
tstRslt.EndTime = TestEndTime;
tstRslt.FlowSetTime = flowSetTime;
tstRslt.TestTime = cBrd.TTime; /// [s] measurement time
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0)); /// Pulses of the master flow meter (test total)
tstRslt.MassStartRaw = StartMass.Val;
/// Pulses of the master flow meter (test total)
if (outPath.FlowMeter is Elde.FlowMeterTwins.FlowMeter)
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0) + cBrd.EtPulses2);
else
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0));
tstRslt.MassStartRaw = StartMass.Val;
tstRslt.MassStart = Formulas.CorrectedValue(tstRslt.MassStartRaw, outPath.Balance.Corrections);
tstRslt.MassEndRaw = EndMass.Val;
tstRslt.MassEnd = Formulas.CorrectedValue(tstRslt.MassEndRaw, outPath.Balance.Corrections);

View File

@ -331,7 +331,13 @@ namespace TBF.BenchControl.TestMethods.Endurance
tstRslt.EndTime = TestEndTime;
tstRslt.FlowSetTime = flowSetTime;
tstRslt.TestTime = cBrd.TTime; /// [s] measurement time
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0)); /// Pulses of the master flow meter (test total)
/// Pulses of the master flow meter (test total)
if (outPath.FlowMeter is Elde.FlowMeterTwins.FlowMeter)
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0) + cBrd.EtPulses2);
else
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0));
tstRslt.MassStartRaw = 0;
tstRslt.MassStart = 0;
tstRslt.MassEndRaw = 0;

View File

@ -534,8 +534,14 @@ namespace TBF.BenchControl.TestMethods.FixedStartAdvanced
tstRslt.EndTime = TestEndTime;
tstRslt.FlowSetTime = flowSetTime;
tstRslt.TestTime = cBrd.TTime; /// [s] measurement time
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0)); /// Pulses of the master flow meter (test total)
tstRslt.MassStartRaw = StartMass.Val;
/// Pulses of the master flow meter (test total)
if (outPath.FlowMeter is Elde.FlowMeterTwins.FlowMeter)
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0) + cBrd.EtPulses2);
else
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0));
tstRslt.MassStartRaw = StartMass.Val;
tstRslt.MassStart = massStart; /// [kg] calculated before displaying 'End state' dialog
tstRslt.MassEndRaw = EndMass.Val;
tstRslt.MassEnd = massEnd; /// [kg] calculated before displaying 'End state' dialog

View File

@ -721,7 +721,13 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
tstRslt.EndTime = TestEndTime;
tstRslt.FlowSetTime = flowSetTime;
tstRslt.TestTime = cBrd.TTime; /// [s] measurement time
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0)); /// Pulses of the master flow meter (test total)
/// Pulses of the master flow meter (test total)
if (outPath.FlowMeter is Elde.FlowMeterTwins.FlowMeter)
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0) + cBrd.EtPulses2);
else
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0));
tstRslt.MassStartRaw = StartMass.Val;
tstRslt.MassStart = massStart;
tstRslt.MassEndRaw = EndMass.Val;

View File

@ -442,8 +442,14 @@ namespace TBF.BenchControl.TestMethods.FlyingStart
tstRslt.EndTime = TestEndTime;
tstRslt.FlowSetTime = flowSetTime;
tstRslt.TestTime = cBrd.TTime; /// [s] measurement time
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0)); /// Pulses of the master flow meter (test total)
tstRslt.MassStartRaw = 0;
/// Pulses of the master flow meter (test total)
if (outPath.FlowMeter is Elde.FlowMeterTwins.FlowMeter)
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0) + cBrd.EtPulses2);
else
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0));
tstRslt.MassStartRaw = 0;
tstRslt.MassStart = 0;
tstRslt.MassEndRaw = 0;
tstRslt.MassEnd = 0;

View File

@ -699,8 +699,14 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
tstRslt.EndTime = TestEndTime;
tstRslt.FlowSetTime = flowSetTime;
tstRslt.TestTime = cBrd.TTime; /// [s] measurement time
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0)); /// Pulses of the master flow meter (test total)
tstRslt.MassStartRaw = StartMass.Val;
/// Pulses of the master flow meter (test total)
if (outPath.FlowMeter is Elde.FlowMeterTwins.FlowMeter)
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0) + cBrd.EtPulses2);
else
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0));
tstRslt.MassStartRaw = StartMass.Val;
tstRslt.MassStart = Formulas.CorrectedValue(tstRslt.MassStartRaw, outPath.Balance.Corrections);
tstRslt.MassEndRaw = EndMass.Val;
tstRslt.MassEnd = Formulas.CorrectedValue(tstRslt.MassEndRaw, outPath.Balance.Corrections);

View File

@ -360,8 +360,14 @@ namespace TBF.BenchControl.TestMethods.ReferenceFlowmeterCalibration
tstRslt.EndTime = TestEndTime;
tstRslt.FlowSetTime = flowSetTime;
tstRslt.TestTime = cBrd.TTime; /// [s] measurement time
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0)); /// Pulses of the master flow meter (test total)
tstRslt.MassStartRaw = StartMass.Val;
/// Pulses of the master flow meter (test total)
if (outPath.FlowMeter is Elde.FlowMeterTwins.FlowMeter)
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0) + cBrd.EtPulses2);
else
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.EtPulses(0));
tstRslt.MassStartRaw = StartMass.Val;
tstRslt.MassStart = Formulas.CorrectedValue(tstRslt.MassStartRaw, outPath.Balance.Corrections);
tstRslt.MassEndRaw = EndMass.Val;
tstRslt.MassEnd = Formulas.CorrectedValue(tstRslt.MassEndRaw, outPath.Balance.Corrections);