diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/FlyingStartSeq.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/FlyingStartSeq.cs index 6bd973101..f384f05e0 100644 --- a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/FlyingStartSeq.cs +++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/FlyingStartSeq.cs @@ -255,18 +255,45 @@ namespace TBF.BenchControl.TestMethods.FlyingStart for (int i = 0; i < Program.WMsCount; i++) { + /// Reference to iPerl water meter or null: + WaterMeters.iPerl.WaterMeter iPerl = ((sensPath.RegisterReaders != null) && (i < sensPath.RegisterReaders.Length)) + ? (sensPath.RegisterReaders[i] as WaterMeters.iPerl.WaterMeter) + : null; + if ((sensPath.RegisterReaders[i] != null) && (WaterMeters.Count > i) && !WaterMeters[i].Disabled) { tstRslt.Meters[i].SerialNr = (WaterMeters.Count > i) ? WaterMeters[i].SerialNr : string.Empty; - tstRslt.Meters[i].VolumeStart = 0; /// liter - tstRslt.Meters[i].VolumeEnd = 0; /// liter - tstRslt.Meters[i].PulsesPerLiter = (sensPath.RegisterReaders[i] == null ? 1.0f : sensPath.RegisterReaders[i].PulsesPerLtr); - if (sensPath.RegisterReaders[i].PulsesPerLtr <= float.Epsilon) tstRslt.Meters[i].VolumeMeter = 0; - else tstRslt.Meters[i].VolumeMeter = Convert.ToSingle(WMPulses[i]) / sensPath.RegisterReaders[i].PulsesPerLtr; - tstRslt.Meters[i].VolumeRef = tstRslt.ConstMaster * WMRefPulses[i]; /// liter + tstRslt.Meters[i].PulsesPerLiter = sensPath.RegisterReaders[i].PulsesPerLtr; + + if (iPerl != null) + { + tstRslt.Meters[i].VolumeStart = (float)iPerl.VolumeLtrStart; /// liter + tstRslt.Meters[i].VolumeEnd = (float)iPerl.VolumeLtrEnd; /// liter + tstRslt.Meters[i].VolumeMeter = (float)Math.Abs(iPerl.VolumeLtrEnd - iPerl.VolumeLtrStart); + tstRslt.Meters[i].VolumeRef = tstRslt.VolumeCTV * (float)(iPerl.TimestampSecEnd - iPerl.TimestampSecStart) / tstRslt.Time; + iPerl.VolumeLtrRef = (double)tstRslt.Meters[i].VolumeRef; + tstRslt.Meters[i].Time = (float)(iPerl.TimestampSecEnd - iPerl.TimestampSecStart); + tstRslt.Meters[i].TimeStart = (float)iPerl.TimestampSecStart; + tstRslt.Meters[i].TimeEnd = (float)iPerl.TimestampSecEnd; + tstRslt.Meters[i].CalibFactor = (iPerl.CalibrationStruct != null) ? iPerl.CalibrationStruct.Calibration : 0; + tstRslt.Meters[i].Q2Correction = iPerl.CurrentQ2Correction; + } + else + { + tstRslt.Meters[i].VolumeStart = 0; /// liter + tstRslt.Meters[i].VolumeEnd = 0; /// liter + if (sensPath.RegisterReaders[i].PulsesPerLtr <= float.Epsilon) tstRslt.Meters[i].VolumeMeter = 0; + else tstRslt.Meters[i].VolumeMeter = Convert.ToSingle(WMPulses[i]) / sensPath.RegisterReaders[i].PulsesPerLtr; + tstRslt.Meters[i].VolumeRef = tstRslt.ConstMaster * WMRefPulses[i]; /// liter + tstRslt.Meters[i].Time = cBrd.TTime; + tstRslt.Meters[i].TimeStart = 0; + tstRslt.Meters[i].TimeEnd = 0; + tstRslt.Meters[i].CalibFactor = 0; + tstRslt.Meters[i].Q2Correction = 0; + } + tstRslt.Meters[i].PulsesMeter = WMPulses[i]; tstRslt.Meters[i].PulsesMaster = WMRefPulses[i]; - tstRslt.Meters[i].Time = cBrd.TTime; if (WMPulses[i] > 0 && tstRslt.Meters[i].VolumeRef > 0) { tstRslt.Meters[i].VolumeErrorPct = @@ -278,13 +305,17 @@ namespace TBF.BenchControl.TestMethods.FlyingStart tstRslt.Meters[i].VolumeErrorPct = -100; } tstRslt.Meters[i].Passed = (tstRslt.ErrLimLo <= tstRslt.Meters[i].VolumeErrorPct) && (tstRslt.Meters[i].VolumeErrorPct <= tstRslt.ErrLimHi); - - tstRslt.Meters[i].Disabled = false; } else { tstRslt.Meters[i].Disabled = true; } + + if (iPerl != null) + { + iPerl.LastTestResult = tstRslt.Meters[i]; /// Save this water meter test result to iPerl WM + iPerl.NominalTestFlow = 500.0 * (double)(test.Qfrom + test.Qto); /// Ave. + convert to liter/hour + } } /// Add data - end diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/FlyingStartCollectionMethodSeq.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/FlyingStartCollectionMethodSeq.cs index 65ea3ca68..5960e405f 100644 --- a/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/FlyingStartCollectionMethodSeq.cs +++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/FlyingStartCollectionMethodSeq.cs @@ -509,8 +509,6 @@ namespace TBF.BenchControl.TestMethods.FlyingStartCollectionMethod tstRslt.Meters[i].VolumeErrorPct = -100; } tstRslt.Meters[i].Passed = (tstRslt.ErrLimLo <= tstRslt.Meters[i].VolumeErrorPct) && (tstRslt.Meters[i].VolumeErrorPct <= tstRslt.ErrLimHi); - - tstRslt.Meters[i].Disabled = false; } else { diff --git a/TestBenchFramework/Properties/AssemblyInfo.cs b/TestBenchFramework/Properties/AssemblyInfo.cs index df368f2db..8c3256951 100644 --- a/TestBenchFramework/Properties/AssemblyInfo.cs +++ b/TestBenchFramework/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("1.5.142.1")] -[assembly: AssemblyFileVersion("1.5.142.1")] +[assembly: AssemblyVersion("1.5.143.1")] +[assembly: AssemblyFileVersion("1.5.143.1")]