From f083fe568ed3adbcbe965fa73f9fd8beccf35818 Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Tue, 30 Mar 2021 00:03:35 +0200 Subject: [PATCH] FlyingStartMassCollectionSeq and FlyingStartMassCollProlongedSeq cleanup. --- .../FlyingStartMassCollProlongedSeq.cs | 9 +-- .../FlyingStartMassCollectionSeq.cs | 68 +++++++++++++------ 2 files changed, 52 insertions(+), 25 deletions(-) diff --git a/TBF/Rig/TestMethods/FlyingStartMassCollProlonged/FlyingStartMassCollProlongedSeq.cs b/TBF/Rig/TestMethods/FlyingStartMassCollProlonged/FlyingStartMassCollProlongedSeq.cs index e526c524e..d621f947f 100644 --- a/TBF/Rig/TestMethods/FlyingStartMassCollProlonged/FlyingStartMassCollProlongedSeq.cs +++ b/TBF/Rig/TestMethods/FlyingStartMassCollProlonged/FlyingStartMassCollProlongedSeq.cs @@ -705,10 +705,11 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollProlonged tstRslt.VolumeCTV *= tstRslt.TestTime + tstRslt.TestTimeCorrection; tstRslt.VolumeCTV /= tstRslt.TestTime; } - tstRslt.ConstMasterRaw = outPath.FlowMeter.LtrPerPulse; /// Uncorrected master flowmeter coefficient - tstRslt.ConstMasterCorr = outPath.FlowMeter.LtrPerPulseCorrected(tstRslt.FlowVolume, rangeIx); /// Corrected master pulses per liter - tstRslt.ConstMaster = (massPulses == 0) ? tstRslt.ConstMasterCorr : (tstRslt.VolumeCTV / massPulses); - tstRslt.VolumeMaster = LtrPerRefPulse * massPulses; /// [l] volume from the master flow meter + tstRslt.VolumeMaster = LtrPerRefPulse * massPulses; /// [l] volume from the master flow meter + tstRslt.ConstMasterRaw = outPath.FlowMeter.LtrPerPulse; /// Uncorrected master flowmeter coefficient + tstRslt.ConstMasterCorr = outPath.FlowMeter.LtrPerPulseCorrected(tstRslt.FlowVolume, rangeIx); /// Master pulses per liter from a correction table and a flow + tstRslt.ConstMaster = (massPulses != 0) ? (tstRslt.VolumeCTV / massPulses) : tstRslt.ConstMasterCorr; + /// Master pulses per liter from the measured mass tstRslt.ErrorMaster = Formulas.ErrorFromVolumes(tstRslt.VolumeMaster, tstRslt.VolumeCTV); tstRslt.FlowMean = (float)RefFlowStat.Average; diff --git a/TBF/Rig/TestMethods/FlyingStartMassCollection/FlyingStartMassCollectionSeq.cs b/TBF/Rig/TestMethods/FlyingStartMassCollection/FlyingStartMassCollectionSeq.cs index 61cd7513c..cf21816aa 100644 --- a/TBF/Rig/TestMethods/FlyingStartMassCollection/FlyingStartMassCollectionSeq.cs +++ b/TBF/Rig/TestMethods/FlyingStartMassCollection/FlyingStartMassCollectionSeq.cs @@ -730,11 +730,11 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollection tstRslt.VolumeCTV *= tstRslt.TestTime + tstRslt.TestTimeCorrection; tstRslt.VolumeCTV /= tstRslt.TestTime; } - tstRslt.VolumeMaster = LtrPerRefPulse * tstRslt.PulsesMaster; /// [l] volume from the master flow meter - tstRslt.ConstMasterRaw = outPath.FlowMeter.LtrPerPulse; /// Uncorrected master flowmeter coefficient - tstRslt.ConstMasterCorr = outPath.FlowMeter.LtrPerPulseCorrected(tstRslt.FlowVolume, rangeIx); /// Corrected master pulses per liter - tstRslt.ConstMaster = (tstRslt.VolumeMaster == 0) ? tstRslt.ConstMasterCorr : (LtrPerRefPulse * tstRslt.VolumeCTV / tstRslt.VolumeMaster); - /// Calculated master pulses per liter + tstRslt.VolumeMaster = LtrPerRefPulse * tstRslt.PulsesMaster; /// [l] volume from the master flow meter + tstRslt.ConstMasterRaw = outPath.FlowMeter.LtrPerPulse; /// Uncorrected master flowmeter coefficient + tstRslt.ConstMasterCorr = outPath.FlowMeter.LtrPerPulseCorrected(tstRslt.FlowVolume, rangeIx); /// Master pulses per liter from a correction table and a flow + tstRslt.ConstMaster = (tstRslt.PulsesMaster != 0) ? (tstRslt.VolumeCTV / tstRslt.PulsesMaster) : tstRslt.ConstMasterCorr; + /// Master pulses per liter from the measured mass tstRslt.ErrorMaster = Config.Formulas.ErrorFromVolumes(tstRslt.VolumeMaster, tstRslt.VolumeCTV); tstRslt.FlowMean = (float)RefFlowStat.Average; @@ -914,7 +914,7 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollection { meterRslt.TimestampStart = dstrReader.TimestampSecStart; - meterRslt.TimestampEnd = dstrReader.NoSamples ? (dstrReader.TimestampSecStart + tstRslt.TestTime) : dstrReader.TimestampSecEnd; + meterRslt.TimestampEnd = !dstrReader.NoSamples ? dstrReader.TimestampSecEnd : (dstrReader.TimestampSecStart + tstRslt.TestTime); meterRslt.TestTime = meterRslt.TimestampEnd - meterRslt.TimestampStart; meterRslt.VolumeStart = dstrReader.VolumeLtrStart; /// liter meterRslt.VolumeEnd = dstrReader.VolumeLtrEnd; /// liter @@ -934,20 +934,29 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollection iPerl.LastTestResult2 = iPerl.LastTestResult; /// Save shift previous test result iPerl.LastTestResult = meterRslt; /// Save this test result } + + log.DebugFormat("Datastream: Tst={0} Tend={1} Tmtr={2} Ttime={3} Vst={4} Vend={5} Vmtr={6} Vref={7}", + meterRslt.TimestampStart, + meterRslt.TimestampEnd, + meterRslt.TestTime, + tstRslt.TestTime, + meterRslt.VolumeStart, + meterRslt.VolumeEnd, + meterRslt.VolumeMeter, + meterRslt.VolumeRef); } else if (cameraRoi != null) { - meterRslt.TimestampStart = cameraRoi.TimestampStart; /// second - meterRslt.TimestampEnd = cameraRoi.TimestampEnd; /// second - - meterRslt.VolumeStart = cameraRoi.VolumeStart; /// liter - meterRslt.VolumeEnd = cameraRoi.VolumeEnd; /// liter - meterRslt.VolumeMeter = cameraRoi.VolumeEnd - cameraRoi.VolumeStart; /// liter + meterRslt.TimestampStart = cameraRoi.TimestampStart; /// [s] + meterRslt.TimestampEnd = cameraRoi.TimestampEnd; /// [s] + meterRslt.VolumeStart = cameraRoi.VolumeStart; /// [l] + meterRslt.VolumeEnd = cameraRoi.VolumeEnd; /// [l] + meterRslt.VolumeMeter = cameraRoi.VolumeEnd - cameraRoi.VolumeStart; /// [l] if (meterRslt.VolumeMeter != 0) { /// Normal measurement with camera - meterRslt.TestTime = cameraRoi.TimestampEnd - cameraRoi.TimestampStart; /// second + meterRslt.TestTime = cameraRoi.TimestampEnd - cameraRoi.TimestampStart; /// [s] meterRslt.VolumeRef = tstRslt.VolumeCTV * meterRslt.TestTime / tstRslt.TestTime; meterRslt.PulsesMaster = tstRslt.PulsesMaster * meterRslt.TestTime / tstRslt.TestTime; } @@ -958,27 +967,44 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollection meterRslt.VolumeRef = tstRslt.VolumeCTV; meterRslt.PulsesMaster = tstRslt.PulsesMaster; } - } + + log.DebugFormat("Camera: Tst={0} Tend={1} Tmtr={2} Ttime={3} Vst={4} Vend={5} Vmtr={6} Vref={7}", + meterRslt.TimestampStart, + meterRslt.TimestampEnd, + meterRslt.TestTime, + tstRslt.TestTime, + meterRslt.VolumeStart, + meterRslt.VolumeEnd, + meterRslt.VolumeMeter, + meterRslt.VolumeRef); + } else { meterRslt.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses); - meterRslt.VolumeStart = 0; /// liter - meterRslt.VolumeEnd = 0; /// liter - meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// liter - /// + meterRslt.VolumeStart = 0; + meterRslt.VolumeEnd = 0; + meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// [l] + if (regReader.WMPulses >= 1) { /// Normal measurement meterRslt.TestTime = cBrd.TestTimeWM(regReader.Position); - meterRslt.VolumeRef = meterRslt.PulsesMaster * tstRslt.ConstMaster; /// liter + meterRslt.VolumeRef = meterRslt.PulsesMaster * tstRslt.ConstMaster; /// [l] } else { /// None or one pulse from the water meter meterRslt.TestTime = tstRslt.TestTime; - meterRslt.VolumeRef = tstRslt.VolumeCTV; /// liter + meterRslt.VolumeRef = tstRslt.VolumeCTV; /// [l] } - } + + log.DebugFormat("Pulses: Pref4meter={0} Vmeter={1} Vref4meter={2} Ttime4meter={3} Ttime={4}", + meterRslt.PulsesMaster, + meterRslt.VolumeMeter, + meterRslt.VolumeRef, + meterRslt.TestTime, + tstRslt.TestTime); + } meterRslt.Error = Config.Formulas.ErrorFromVolumes(meterRslt.VolumeMeter, meterRslt.VolumeRef); meterRslt.Passed = (meterRslt.Error >= test.GetErrLimLo(tstRslt.VolumeCTV, tstRslt.TestTime) + test.Uncertainty)