Make Q2 correction from ... modifications, no Q2 factors written in case of large error, version. 1.5.136
This commit is contained in:
parent
1892f9de9f
commit
e52f9ea9e7
4
TODO.txt
4
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
|
||||
|
||||
|
||||
@ -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 };
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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")]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user