From 5db53ca6e33695f6d29093072c65e556e16f0d66 Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Sun, 16 Aug 2015 18:05:35 +0200 Subject: [PATCH] Generic improvements: process page fixes, error format F2 or F3 (master), results page fixes, Comet ambient serial parameters (comment). --- TODO.txt | 1 + .../BenchControl/Ambient/Comet/Ambient.cs | 2 +- .../BenchControl/Elde/FlowMeter/FlowMeter.cs | 4 +++- .../BenchControl/Sequences/SequenceBase.cs | 4 ++-- .../Screens/ProcessTabPageCtrl24.cs | 8 ++++---- .../Screens/ProcessTabPageCtrl48.cs | 8 ++++---- .../Screens/ProcessTabPageCtrl6.cs | 20 +++++++++---------- .../Screens/ResultsTabPageCtrl.cs | 18 ++++++++++++++--- 8 files changed, 40 insertions(+), 25 deletions(-) diff --git a/TODO.txt b/TODO.txt index f7acd2454..6d1bd7155 100644 --- a/TODO.txt +++ b/TODO.txt @@ -4,6 +4,7 @@ iPerl: - STOP nefunguje pocas communikacie - na Process obrazovke posunut stupacku a rezervoar uplne doprava +- ked su Q3 part 1 a Q3 part 2 neda sa vybrat cez UI Q3 part 2 - export the DB (=make a backup of configuration) from TBF program diff --git a/TestBenchFramework/BenchControl/Ambient/Comet/Ambient.cs b/TestBenchFramework/BenchControl/Ambient/Comet/Ambient.cs index ff8b95632..943212a86 100644 --- a/TestBenchFramework/BenchControl/Ambient/Comet/Ambient.cs +++ b/TestBenchFramework/BenchControl/Ambient/Comet/Ambient.cs @@ -14,7 +14,7 @@ namespace TBF.BenchControl.Ambient.Comet { /// /// Ambient temperature / humidity / pressure meter 'Greco' connected via serial interface (RS232) - /// Connection settings: 19200 Bd 8-bits No-parity 1-stop-bit Flow control: none or hardware. + /// Connection settings: 9600 Bd 8-bits No-parity 2-stop-bits Flow control: none. /// public class Ambient : ComponentBase, IDevice, IOperation, GenericDevices.IAmbient { diff --git a/TestBenchFramework/BenchControl/Elde/FlowMeter/FlowMeter.cs b/TestBenchFramework/BenchControl/Elde/FlowMeter/FlowMeter.cs index 3d778ae8e..27666b5ba 100644 --- a/TestBenchFramework/BenchControl/Elde/FlowMeter/FlowMeter.cs +++ b/TestBenchFramework/BenchControl/Elde/FlowMeter/FlowMeter.cs @@ -25,7 +25,9 @@ namespace TBF.BenchControl.Elde.FlowMeter public float LtrPerPulseCorrected(float flow) { - //return LtrPerPulse; /// TODO: apply correction + if (flow < 0.1f * NominalFlow) return LtrPerPulse; /// No correction for small flow + + /// Apply correction float correctedFlow = BenchControl.Formulas.CorrectedValue(flow, Corrections); return LtrPerPulse * correctedFlow / flow; } diff --git a/TestBenchFramework/BenchControl/Sequences/SequenceBase.cs b/TestBenchFramework/BenchControl/Sequences/SequenceBase.cs index fdad8b727..0d3c8e384 100644 --- a/TestBenchFramework/BenchControl/Sequences/SequenceBase.cs +++ b/TestBenchFramework/BenchControl/Sequences/SequenceBase.cs @@ -803,8 +803,8 @@ namespace TBF.BenchControl.Sequences data.TestResult.Meters[i].PulsesMeter = WMPulses[i]; data.TestResult.Meters[i].PulsesMaster = WMRefPulses[i]; data.TestResult.Meters[i].VolumeMeter = Formulas.VolumeFromPulses(WMPulses[i], sensPath.RegisterReaders[i].PulsesPerLtr); - data.TestResult.Meters[i].VolumeRef = data.Volume.Val; - data.TestResult.Meters[i].VolumeErrorPct = Formulas.ErrorFromVolumes(data.TestResult.Meters[i].VolumeMeter, data.Volume.Val); + data.TestResult.Meters[i].VolumeRef = Formulas.VolumeFromPulses(WMRefPulses[i], refPulsesPerLtr); + data.TestResult.Meters[i].VolumeErrorPct = Formulas.ErrorFromVolumes(data.TestResult.Meters[i].VolumeMeter, data.TestResult.Meters[i].VolumeRef); } } } diff --git a/TestBenchFramework/Screens/ProcessTabPageCtrl24.cs b/TestBenchFramework/Screens/ProcessTabPageCtrl24.cs index f3d374eee..676757176 100644 --- a/TestBenchFramework/Screens/ProcessTabPageCtrl24.cs +++ b/TestBenchFramework/Screens/ProcessTabPageCtrl24.cs @@ -403,7 +403,7 @@ namespace TBF.Screens pulses[i].Text = args.TestResult.Meters[i].PulsesMeter.ToString(); refPulses[i].Text = args.TestResult.Meters[i].PulsesMaster.ToString(); volume[i].Text = args.TestResult.Meters[i].VolumeMeter.ToString(); - error[i].Text = args.TestResult.Meters[i].VolumeErrorPct.ToString(); + error[i].Text = args.TestResult.Meters[i].VolumeErrorPct.ToString("F2"); } } else if (currentMetersKind == Entities.MetersKind.Combined) @@ -413,10 +413,10 @@ namespace TBF.Screens pulses[i].Text = args.TestResult.Meters[i].PulsesMeter.ToString(); refPulses[i].Text = args.TestResult.Meters[i].PulsesMaster.ToString(); volume[i].Text = args.TestResult.Meters[i].VolumeMeter.ToString(); - error[i].Text = args.TestResult.Meters[i].VolumeErrorPct.ToString(); + error[i].Text = args.TestResult.Meters[i].VolumeErrorPct.ToString("F2"); } volume1zLabel.Text = args.TestResult.CombinedMeters[0].VolumeMeter.ToString(); - error1zLabel.Text = args.TestResult.CombinedMeters[0].VolumeErrorPct.ToString(); + error1zLabel.Text = args.TestResult.CombinedMeters[0].VolumeErrorPct.ToString("F2"); } tInLabel.Text = args.Tin.ToString(); @@ -466,7 +466,7 @@ namespace TBF.Screens //massLabel.Text = tstRslt. volumeCtvLabel.Text = args.TestResult.VolumeCTV.ToString("F1"); - refErrorLabel.Text = (tRes.ErrorMaster == 0) ? "---" : tRes.ErrorMaster.ToString("F2"); + refErrorLabel.Text = (tRes.ErrorMaster == 0) ? "---" : tRes.ErrorMaster.ToString("F3"); if (tRes.MetersKind == Entities.MetersKind.Single) { diff --git a/TestBenchFramework/Screens/ProcessTabPageCtrl48.cs b/TestBenchFramework/Screens/ProcessTabPageCtrl48.cs index 9a063d208..2b14c69f9 100644 --- a/TestBenchFramework/Screens/ProcessTabPageCtrl48.cs +++ b/TestBenchFramework/Screens/ProcessTabPageCtrl48.cs @@ -432,7 +432,7 @@ namespace TBF.Screens pulses[i].Text = args.TestResult.Meters[i].PulsesMeter.ToString(); refPulses[i].Text = args.TestResult.Meters[i].PulsesMaster.ToString(); volume[i].Text = args.TestResult.Meters[i].VolumeMeter.ToString(); - error[i].Text = args.TestResult.Meters[i].VolumeErrorPct.ToString(); + error[i].Text = args.TestResult.Meters[i].VolumeErrorPct.ToString("F2"); } } else if (currentMetersKind == Entities.MetersKind.Combined) @@ -442,10 +442,10 @@ namespace TBF.Screens pulses[i].Text = args.TestResult.Meters[i].PulsesMeter.ToString(); refPulses[i].Text = args.TestResult.Meters[i].PulsesMaster.ToString(); volume[i].Text = args.TestResult.Meters[i].VolumeMeter.ToString(); - error[i].Text = args.TestResult.Meters[i].VolumeErrorPct.ToString(); + error[i].Text = args.TestResult.Meters[i].VolumeErrorPct.ToString("F2"); } volume1zLabel.Text = args.TestResult.CombinedMeters[0].VolumeMeter.ToString(); - error1zLabel.Text = args.TestResult.CombinedMeters[0].VolumeErrorPct.ToString(); + error1zLabel.Text = args.TestResult.CombinedMeters[0].VolumeErrorPct.ToString("F2"); } tInLabel.Text = args.Tin.ToString(); @@ -495,7 +495,7 @@ namespace TBF.Screens //massLabel.Text = tstRslt. volumeCtvLabel.Text = args.TestResult.VolumeCTV.ToString("F1"); - refErrorLabel.Text = (tRes.ErrorMaster == 0) ? "---" : tRes.ErrorMaster.ToString("F2"); + refErrorLabel.Text = (tRes.ErrorMaster == 0) ? "---" : tRes.ErrorMaster.ToString("F3"); if (tRes.MetersKind == Entities.MetersKind.Single) { diff --git a/TestBenchFramework/Screens/ProcessTabPageCtrl6.cs b/TestBenchFramework/Screens/ProcessTabPageCtrl6.cs index de8ad7a09..77d4bb1eb 100644 --- a/TestBenchFramework/Screens/ProcessTabPageCtrl6.cs +++ b/TestBenchFramework/Screens/ProcessTabPageCtrl6.cs @@ -370,19 +370,19 @@ namespace TBF.Screens pulses1Label.Text = args.TestResult.Meters[0].PulsesMeter.ToString(); refPulses1Label.Text = args.TestResult.Meters[0].PulsesMaster.ToString(); volume1Label.Text = args.TestResult.Meters[0].VolumeMeter.ToString(); - error1Label.Text = args.TestResult.Meters[0].VolumeErrorPct.ToString(); + error1Label.Text = args.TestResult.Meters[0].VolumeErrorPct.ToString("F2"); if (Program.WMsCount >= 2) { pulses2Label.Text = args.TestResult.Meters[1].PulsesMeter.ToString(); refPulses2Label.Text = args.TestResult.Meters[1].PulsesMaster.ToString(); volume2Label.Text = args.TestResult.Meters[1].VolumeMeter.ToString(); - error2Label.Text = args.TestResult.Meters[1].VolumeErrorPct.ToString(); + error2Label.Text = args.TestResult.Meters[1].VolumeErrorPct.ToString("F2"); } if (currentMetersKind == Entities.MetersKind.Combined && Program.WMsCount >= 2) { volume1zLabel.Text = args.TestResult.CombinedMeters[0].VolumeMeter.ToString(); - error1zLabel.Text = args.TestResult.CombinedMeters[0].VolumeErrorPct.ToString(); + error1zLabel.Text = args.TestResult.CombinedMeters[0].VolumeErrorPct.ToString("F2"); } if ((currentMetersKind == Entities.MetersKind.Single && Program.WMsCount >= 3) || @@ -391,19 +391,19 @@ namespace TBF.Screens pulses3Label.Text = args.TestResult.Meters[2].PulsesMeter.ToString(); refPulses3Label.Text = args.TestResult.Meters[2].PulsesMaster.ToString(); volume3Label.Text = args.TestResult.Meters[2].VolumeMeter.ToString(); - error3Label.Text = args.TestResult.Meters[2].VolumeErrorPct.ToString(); + error3Label.Text = args.TestResult.Meters[2].VolumeErrorPct.ToString("F2"); } if (Program.WMsCount >= 4) { pulses4Label.Text = args.TestResult.Meters[3].PulsesMeter.ToString(); refPulses4Label.Text = args.TestResult.Meters[3].PulsesMaster.ToString(); volume4Label.Text = args.TestResult.Meters[3].VolumeMeter.ToString(); - error4Label.Text = args.TestResult.Meters[3].VolumeErrorPct.ToString(); + error4Label.Text = args.TestResult.Meters[3].VolumeErrorPct.ToString("F2"); } if (currentMetersKind == Entities.MetersKind.Combined && Program.WMsCount >= 4) { volume2zLabel.Text = args.TestResult.CombinedMeters[1].VolumeMeter.ToString(); - error2zLabel.Text = args.TestResult.CombinedMeters[1].VolumeErrorPct.ToString(); + error2zLabel.Text = args.TestResult.CombinedMeters[1].VolumeErrorPct.ToString("F2"); } if ((currentMetersKind == Entities.MetersKind.Single && Program.WMsCount >= 5) || @@ -412,19 +412,19 @@ namespace TBF.Screens pulses5Label.Text = args.TestResult.Meters[4].PulsesMeter.ToString(); refPulses5Label.Text = args.TestResult.Meters[4].PulsesMaster.ToString(); volume5Label.Text = args.TestResult.Meters[4].VolumeMeter.ToString(); - error5Label.Text = args.TestResult.Meters[4].VolumeErrorPct.ToString(); + error5Label.Text = args.TestResult.Meters[4].VolumeErrorPct.ToString("F2"); } if (Program.WMsCount >= 6) { pulses6Label.Text = args.TestResult.Meters[5].PulsesMeter.ToString(); refPulses6Label.Text = args.TestResult.Meters[5].PulsesMaster.ToString(); volume6Label.Text = args.TestResult.Meters[5].VolumeMeter.ToString(); - error6Label.Text = args.TestResult.Meters[5].VolumeErrorPct.ToString(); + error6Label.Text = args.TestResult.Meters[5].VolumeErrorPct.ToString("F2"); } if (currentMetersKind == Entities.MetersKind.Combined && Program.WMsCount >= 6) { volume3zLabel.Text = args.TestResult.CombinedMeters[2].VolumeMeter.ToString(); - error3zLabel.Text = args.TestResult.CombinedMeters[2].VolumeErrorPct.ToString(); + error3zLabel.Text = args.TestResult.CombinedMeters[2].VolumeErrorPct.ToString("F2"); } tInLabel.Text = args.Tin.ToString(); @@ -474,7 +474,7 @@ namespace TBF.Screens //massLabel.Text = tstRslt. volumeCtvLabel.Text = args.TestResult.VolumeCTV.ToString("F1"); - refErrorLabel.Text = (tRes.ErrorMaster == 0) ? "---" : tRes.ErrorMaster.ToString("F2"); + refErrorLabel.Text = (tRes.ErrorMaster == 0) ? "---" : tRes.ErrorMaster.ToString("F3"); if (tRes.MetersKind == Entities.MetersKind.Single) { diff --git a/TestBenchFramework/Screens/ResultsTabPageCtrl.cs b/TestBenchFramework/Screens/ResultsTabPageCtrl.cs index b4dfac12b..b448c54b9 100644 --- a/TestBenchFramework/Screens/ResultsTabPageCtrl.cs +++ b/TestBenchFramework/Screens/ResultsTabPageCtrl.cs @@ -146,6 +146,8 @@ namespace TBF.Screens /// Determine how many water meters were enabled for result evaluation and printing int enabledWMsCount = 0; + bool[] wmIsEnabled = new bool[Program.WMsCount]; + if (combined) { enabledWMsCount = Program.CompoundWMsCount; @@ -154,8 +156,18 @@ namespace TBF.Screens { for (int mtr0 = 0; mtr0 < Program.WMsCount; mtr0++) { - if ((testResults != null) && (testResults.Count > 0) && !testResults[0].Meters[mtr0].Disabled) - enabledWMsCount++; + if (testResults != null) + { + for (int t = 0; t < testResults.Count; t++) + { + if ((testResults[t].Meters.Count > mtr0) && !testResults[t].Meters[mtr0].Disabled) + { + wmIsEnabled[mtr0] = true; + enabledWMsCount++; + break; + } + } + } } } @@ -181,7 +193,7 @@ namespace TBF.Screens bool first = true; for (int mtr = 1; mtr <= (combined ? Program.CompoundWMsCount : Program.WMsCount); mtr++) { - if (combined || (testResults != null && testResults.Count > 0 && !testResults[0].Meters[mtr - 1].Disabled)) + if (combined || (testResults != null && testResults.Count > 0 && wmIsEnabled[mtr - 1])) { if (TestsArrangement == Forms.ResultsConfig.TestsAre.Rows) {