diff --git a/TODO.txt b/TODO.txt index 1054df658..0ee70c571 100644 --- a/TODO.txt +++ b/TODO.txt @@ -2,9 +2,9 @@ iPerl: - log pre pevny start, podobne (zarazky) ako pre letmy - 'Q2 corrected from ...' Evaluate a Publish parametre - STOP nefunguje vzdy (alebo pomaly) - zlepsit uzivatelsky dojem -- Oracle DB: UPDATE ... -- MeterType v iPerl.WaterMeter zmenit na test parameter +- zapamatat si sirku stlpcov v okne Procedures +- vyuzit sirku obrazovky na Activity, Progress bar, Drop down menu - v iPerlCommunication ponukat stringy v drop-down menu - na Process obrazovke posunut stupacku a rezervoar uplne doprava diff --git a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationForm.cs b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationForm.cs index 4eeb78fb0..5215cef2a 100644 --- a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationForm.cs +++ b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationForm.cs @@ -1036,12 +1036,18 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication { if (wm.CommFailed) return CommErr.CommFailed; - if (OpenPort(wm) != 0) return CommErr.OpenPort; /// Open RFID port - - CommErr error = CommErr.Write; - /// Write Q2 corrections double q2CorrectionFactor = wm.Q2CorrectionFactor(); + if (q2CorrectionFactor == 0) + { + resultStr = string.Format("Q2 factors = 0 (writing bypassed)"); + return CommErr.None; + } + + if (OpenPort(wm) != 0) return CommErr.OpenPort; /// Open RFID port + + CommErr error = CommErr.Write; + Byte q2CorrRFlow = (byte)((int)Math.Round(q2CorrectionFactor / 2) & 0x000000FF); Byte q2CorrLFlow = (byte)((int)Math.Round(q2CorrectionFactor) & 0x000000FF); byte[] wrData = new byte[2] { q2CorrRFlow, q2CorrLFlow }; diff --git a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationSeq.cs b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationSeq.cs index 67f3bfe18..4542e720c 100644 --- a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationSeq.cs +++ b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationSeq.cs @@ -218,7 +218,10 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication tstRslt.Meters[i].PulsesMaster = oriTestRslt.Meters[i].PulsesMaster; tstRslt.Meters[i].Disabled = oriTestRslt.Meters[i].Disabled; - if ((iPerl == null) || (Math.Abs(oriTestRslt.Meters[i].VolumeErrorPct) <= 0.5f)) + if (iPerl == null || + Math.Abs(oriTestRslt.Meters[i].VolumeErrorPct) <= 0.5f || + oriTestRslt.Meters[i].VolumeErrorPct < oriTestRslt.ErrLimLo || + oriTestRslt.Meters[i].VolumeErrorPct > oriTestRslt.ErrLimHi) { /// Normal meter or iPerl without correction tstRslt.Meters[i].VolumeStart = oriTestRslt.Meters[i].VolumeStart; diff --git a/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeter.cs b/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeter.cs index b9700831f..df98d5dc5 100644 --- a/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeter.cs +++ b/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeter.cs @@ -157,6 +157,9 @@ namespace TBF.BenchControl.WaterMeters.iPerl float errLimitLo = LastTestResult.TestResult.ErrLimLo; float errLimitHi = LastTestResult.TestResult.ErrLimHi; + if (LastTestResult.VolumeErrorPct < errLimitLo) return 0; /// No Q2 correction if error too large -> WM failed + if (LastTestResult.VolumeErrorPct > errLimitHi) return 0; /// No Q2 correction if error too large -> WM failed + float volumeMeterErrLimLo = LastTestResult.VolumeRef * (100.0f + errLimitLo) / 100.0f; float volumeMeterErrLimHi = LastTestResult.VolumeRef * (100.0f + errLimitHi) / 100.0f; @@ -166,17 +169,11 @@ namespace TBF.BenchControl.WaterMeters.iPerl double corrFactor = (-1) * (LastTestResult.VolumeErrorPct / G) * (LastTestResult.VolumeRef / LastTestResult.VolumeMeter); double origCalulatedCorrFactor = corrFactor; - if (corrFactor < corrFactorLo) corrFactor = corrFactorLo; - if (corrFactor > corrFactorHi) corrFactor = corrFactorHi; - - log.WarnFormat("Q2 correction: {0}, corrFactor={7}, corrOrig={6} [{4}, {5}], error={3}% [{1}%, errLimHi={2}%]", + log.WarnFormat("Q2 correction: {0}, corrFactor={4}, error={3}% [Lo={1}%, Hi={2}%]", Name, errLimitLo.ToString("F1"), errLimitHi.ToString("F1"), LastTestResult.VolumeErrorPct.ToString("F2"), - corrFactorLo.ToString("F1"), - corrFactorHi.ToString("F1"), - origCalulatedCorrFactor.ToString("F1"), corrFactor.ToString("F1")); return corrFactor; diff --git a/TestBenchFramework/Properties/AssemblyInfo.cs b/TestBenchFramework/Properties/AssemblyInfo.cs index dfd24c266..9c032afdc 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.134.1")] -[assembly: AssemblyFileVersion("1.5.134.1")] +[assembly: AssemblyVersion("1.5.136.1")] +[assembly: AssemblyFileVersion("1.5.136.1")]