TestMethods.SensitivityTest added, STOP handled correctly in SensitivityTestSeq, ver. 2.18.1261

This commit is contained in:
Milan Hanajik
2019-07-08 12:52:28 +02:00
parent b57d22e276
commit 4fbf471ea0
11 changed files with 510 additions and 162 deletions
@@ -107,6 +107,7 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
//--------------------------------
State.Create(string.Format("{0}({1}) : Stop diverter gate etc", test.Method, test.Name))
.AddOperation(checkUiOp)
.AddOperations(readTempPressOps)
.AddOperation(cBrd.StopPreviousOp())
.EnterState();
do {
@@ -331,9 +332,9 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
case Event.UiCmdStop: goto stopTest;
}
int diff = RegisterReaders[(test.Part - 1) * 2 + 1].WMPulses - lastWMPulses[(test.Part - 1) * 2 + 1];
flowsForDetection[0] = cBrd.ReferenceFreq * outPath.FlowMeter.NominalFlow / 2000.0;
pulseFreqsForDetection[0] = (double)diff / (double)(StateMachine.Time - lastTime);
double diff = RegisterReaders[(test.Part - 1) * 2 + 1].WMPulses - lastWMPulses[(test.Part - 1) * 2 + 1];
pulseFreqsForDetection[0] = diff / (double)(StateMachine.Time - lastTime);
lastTime = StateMachine.Time;
}
@@ -395,20 +396,20 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
aveFreqBefore.ToString("F2"),
aveFreqAfter.ToString("F2")));
//detectedFlow = (aveFlowBefore + aveFlowAfter) / 2.0f;
//detectedFlow = (aveFlowBefore + aveFlowAfter) / 2;
detectedFlow = aveFlowBefore;
if (rvPulse > 0)
{
/// rise
detected = (aveFreqAfter < aveFreqBefore * (1.0f - testParams.DetectionThreshold));
targetReached = ((aveFlowAfter + aveFlowBefore) / 2.0f) > testParams.TargetQ;
detected = (aveFreqAfter < aveFreqBefore * (1 - testParams.DetectionThreshold));
targetReached = ((aveFlowAfter + aveFlowBefore) / 2) > testParams.TargetQ;
}
else
{
/// fall
detected = (aveFreqAfter > (aveFreqBefore + testParams.OffsetPulsesFreq) * (1.0f + testParams.DetectionThreshold));
targetReached = ((aveFlowAfter + aveFlowBefore) / 2.0f) < testParams.TargetQ;
detected = (aveFreqAfter > (aveFreqBefore + testParams.OffsetPulsesFreq) * (1 + testParams.DetectionThreshold));
targetReached = ((aveFlowAfter + aveFlowBefore) / 2) < testParams.TargetQ;
}
}