MeterTestRslt.Passed set correctly in iPerlCommunicationSeq.MakeQ2CorrectedFrom( ), etc., ver. 3.1.1845

This commit is contained in:
Milan Hanajik
2022-01-05 08:18:48 +01:00
parent 8da5512eb0
commit 1b767f6298
2 changed files with 13 additions and 10 deletions
+2 -2
View File
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("3.1.1843.0")]
[assembly: AssemblyFileVersion("3.1.1843.0")]
[assembly: AssemblyVersion("3.1.1845.0")]
[assembly: AssemblyFileVersion("3.1.1845.0")]
@@ -47,7 +47,7 @@ namespace TBF.Rig.TestMethods.iPerlCommunication
/// Event.OpArgumentError . Target flow is out of range
/// Event.Error . . . . . . Unspecified error
/// </returns>
public IList<Event> Execute(Config.Entities.Test test, int repetitionNr, TestMethodCfg cfg, iPerlCommunicationParams testParams)
public IList<Event> Execute(Test test, int repetitionNr, TestMethodCfg cfg, iPerlCommunicationParams testParams)
{
IList<Event> e; /// Events from currently running operations
checkUiOp = new Operations.CheckUIOp(true); /// Runs in more then one state
@@ -576,11 +576,12 @@ namespace TBF.Rig.TestMethods.iPerlCommunication
if (iPerl == null || ((iPerl.Q2CorrRL == 0) && (iPerl.Q2CorrLR == 0)))
{
/// Either no iPerl head or no Q2 correction
meterRslt.VolumeStart = oriMeterRslt.VolumeStart;
meterRslt.Error = oriMeterRslt.Error;
meterRslt.VolumeMeter = oriMeterRslt.VolumeMeter;
meterRslt.VolumeStart = oriMeterRslt.VolumeStart;
meterRslt.VolumeEnd = oriMeterRslt.VolumeEnd;
meterRslt.VolumeMeter = oriMeterRslt.VolumeMeter;
meterRslt.Error = oriMeterRslt.Error;
meterRslt.Passed = oriMeterRslt.Passed;
meterRslt.Passed = (meterRslt.Error >= tstRslt.ErrLimLo() + tstRslt.ErrLimMargin()
&& meterRslt.Error <= tstRslt.ErrLimHi() - tstRslt.ErrLimMargin());
meterRslt.TestDone = true;
tstRslt.TestDone = true;
}
@@ -588,11 +589,13 @@ namespace TBF.Rig.TestMethods.iPerlCommunication
{
/// iPerl with Q2 correction => generate an artificial error equal to -1/10 of the original one (relative to Q2 target error)
double targetError = iPerl.CalibTargetQ2;
meterRslt.VolumeStart = 0;
meterRslt.VolumeEnd = 0;
meterRslt.Error = targetError - 0.1 * (oriMeterRslt.Error - targetError);
meterRslt.VolumeMeter = oriMeterRslt.VolumeRef * (100.0 + meterRslt.Error) / 100.0;
meterRslt.Passed = true;
meterRslt.VolumeStart = oriMeterRslt.VolumeStart;
double signature = (oriMeterRslt.VolumeEnd > oriMeterRslt.VolumeStart) ? (+1) : (-1);
meterRslt.VolumeEnd = meterRslt.VolumeStart + signature * meterRslt.VolumeMeter;
meterRslt.Passed = (meterRslt.Error >= tstRslt.ErrLimLo() + tstRslt.ErrLimMargin()
&& meterRslt.Error <= tstRslt.ErrLimHi() - tstRslt.ErrLimMargin());
meterRslt.TestDone = true;
tstRslt.TestDone = true;
}