diff --git a/TestBenchFramework/BenchControl/Elde/ControlBoardDev.cs b/TestBenchFramework/BenchControl/Elde/ControlBoardDev.cs
index 9bcc6a3e6..ec8f4d2de 100644
--- a/TestBenchFramework/BenchControl/Elde/ControlBoardDev.cs
+++ b/TestBenchFramework/BenchControl/Elde/ControlBoardDev.cs
@@ -321,9 +321,9 @@ namespace TBF.BenchControl.Elde
/// An array of register readers
/// Number of reference pulses to complete the test
/// Created operation
- public IOperation StartMeasurementOp(IFlowMeter flowMeter, int refPulses, TestMethods method)
+ public IOperation StartMeasurementOp(IFlowMeter flowMeter, int refPulses, TestMethods method, float filterConstant)
{
- return new StartMeasurementOp(this, flowMeter, refPulses, method);
+ return new StartMeasurementOp(this, flowMeter, refPulses, method, filterConstant);
}
///
diff --git a/TestBenchFramework/BenchControl/Elde/RegulValve/RegulValve.cs b/TestBenchFramework/BenchControl/Elde/RegulValve/RegulValve.cs
index 62a6c51e4..af1b8de20 100644
--- a/TestBenchFramework/BenchControl/Elde/RegulValve/RegulValve.cs
+++ b/TestBenchFramework/BenchControl/Elde/RegulValve/RegulValve.cs
@@ -77,7 +77,7 @@ namespace TBF.BenchControl.Elde.RegulValve
/// Measured flow [m3/h]
/// Timeout in [s]
/// SetFlowOp instance
- public IOperation SetFlowAndMeasureOp(GenericDevices.IFlowMeter flowMeter, float requiredFlowLo, float requiredFlowHi, FloatBox measuredFlow, int timeout)
+ public IOperation SetFlowAndMeasureOp(GenericDevices.IFlowMeter flowMeter, float requiredFlowLo, float requiredFlowHi, FloatBox measuredFlow, int timeout, float filterConstant)
{
return new SetFlowOp(controlBoard, this, flowMeter, requiredFlowLo, requiredFlowHi, measuredFlow, timeout, true);
}
diff --git a/TestBenchFramework/BenchControl/Elde/StartMeasurementOp.cs b/TestBenchFramework/BenchControl/Elde/StartMeasurementOp.cs
index 569a600cb..ca6bd7993 100644
--- a/TestBenchFramework/BenchControl/Elde/StartMeasurementOp.cs
+++ b/TestBenchFramework/BenchControl/Elde/StartMeasurementOp.cs
@@ -13,6 +13,7 @@ namespace TBF.BenchControl.Elde
readonly Elde.FlowMeter.FlowMeter flowMeter;
readonly int refPulses; /// Number of reference pulses for a complete test
readonly TestMethods testMethod;
+ readonly float filterConstant;
bool started = false;
@@ -24,7 +25,8 @@ namespace TBF.BenchControl.Elde
/// Flow meter component reference
/// Register readers references
/// Water volume for the test in liters
- public StartMeasurementOp(ControlBoardDev controlBoardDev, GenericDevices.IFlowMeter flowMeter, int refPulses, TestMethods method)
+ public StartMeasurementOp(ControlBoardDev controlBoardDev, GenericDevices.IFlowMeter flowMeter,
+ int refPulses, TestMethods method, float filterConstant)
{
if (controlBoardDev == null) throw new ArgumentNullException("controlBoardDev");
this.controlBoard = controlBoardDev;
@@ -34,6 +36,7 @@ namespace TBF.BenchControl.Elde
this.refPulses = refPulses;
this.testMethod = method;
+ this.filterConstant = filterConstant;
log.Debug(this.ToString());
}
@@ -42,7 +45,7 @@ namespace TBF.BenchControl.Elde
public void Start()
{
controlBoard.SendCommand(Command.Start, flowMeter.Position, controlBoard.RRoute, refPulses, testMethod,
- 0.0f, 20, 0, StopDevs.None);
+ filterConstant, 20, 0, StopDevs.None);
}
/// Run this operation
diff --git a/TestBenchFramework/BenchControl/GenericDevices/IRegulValve.cs b/TestBenchFramework/BenchControl/GenericDevices/IRegulValve.cs
index 4b55c1513..6ebd4887c 100644
--- a/TestBenchFramework/BenchControl/GenericDevices/IRegulValve.cs
+++ b/TestBenchFramework/BenchControl/GenericDevices/IRegulValve.cs
@@ -27,8 +27,9 @@ namespace TBF.BenchControl.GenericDevices
/// Higher limit of the required flow [m3/h]
/// Measured flow [m3/h]
/// Timeout in [s]
+ /// Passed to SendCommand() as argument filterContant
/// SetFlowOp instance
- IOperation SetFlowAndMeasureOp(IFlowMeter flowMeter, float requiredFlowLo, float requiredFlowHi, FloatBox measuredFlow, int timeout);
+ IOperation SetFlowAndMeasureOp(IFlowMeter flowMeter, float requiredFlowLo, float requiredFlowHi, FloatBox measuredFlow, int timeout, float filter);
///
/// Operation to set the regulation valve to a required position
diff --git a/TestBenchFramework/BenchControl/TestMethods/CombinedMeters/CombinedMetersSeq.cs b/TestBenchFramework/BenchControl/TestMethods/CombinedMeters/CombinedMetersSeq.cs
index 5c4e54218..5ce10c89c 100644
--- a/TestBenchFramework/BenchControl/TestMethods/CombinedMeters/CombinedMetersSeq.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/CombinedMeters/CombinedMetersSeq.cs
@@ -188,7 +188,7 @@ namespace TBF.BenchControl.TestMethods.CombinedMeters
State.Create("CombinedMeters : Starting the test")
.AddOperation(checkUiOp)
.AddOperations(measureOperations)
- .AddOperation(cBrd.StartMeasurementOp(outPath.FlowMeter, totalPulses, Elde.TestMethods.Diverter | Elde.TestMethods.Synchro))
+ .AddOperation(cBrd.StartMeasurementOp(outPath.FlowMeter, totalPulses, Elde.TestMethods.Diverter | Elde.TestMethods.Synchro, (float)test.TolerRed))
.EnterState();
do
{
diff --git a/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetectionSeq.cs b/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetectionSeq.cs
index 0fa598245..7acf187c7 100644
--- a/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetectionSeq.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetectionSeq.cs
@@ -153,7 +153,7 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
State.Create("CombinedWithDetection : Set the initial flow")
.AddOperation(checkUiOp)
.AddOperations(measureOperations)
- .AddOperation(outPath.RegulValve.SetFlowAndMeasureOp(outPath.FlowMeter, test.Qfrom, test.Qto, measuredFlow, 600)) /// timeout = 10 min.
+ .AddOperation(outPath.RegulValve.SetFlowAndMeasureOp(outPath.FlowMeter, test.Qfrom, test.Qto, measuredFlow, 600, (float)test.TolerRed)) /// timeout = 10 min.
.EnterState();
do
{
@@ -373,7 +373,7 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
State.Create(Strings.Start_the_test)
.AddOperation(checkUiOp)
.AddOperations(measureOperations)
- .AddOperation(cBrd.StartMeasurementOp(outPath.FlowMeter, totalPulses, Elde.TestMethods.Diverter | Elde.TestMethods.Synchro))
+ .AddOperation(cBrd.StartMeasurementOp(outPath.FlowMeter, totalPulses, Elde.TestMethods.Diverter | Elde.TestMethods.Synchro, (float)test.TolerRed))
.EnterState();
do
{
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/FlyingStartCollectionMethodSeq.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/FlyingStartCollectionMethodSeq.cs
index a0cc95483..781137d40 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/FlyingStartCollectionMethodSeq.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/FlyingStartCollectionMethodSeq.cs
@@ -182,7 +182,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartCollectionMethod
State.Create("FlyingStartCollectionMethod : Starting the test")
.AddOperation(checkUiOp)
.AddOperations(measureOperations)
- .AddOperation(cBrd.StartMeasurementOp(outPath.FlowMeter, totalPulses, Elde.TestMethods.Diverter | Elde.TestMethods.Synchro))
+ .AddOperation(cBrd.StartMeasurementOp(outPath.FlowMeter, totalPulses, Elde.TestMethods.Diverter | Elde.TestMethods.Synchro, (float)test.TolerRed))
.EnterState();
do
{
diff --git a/TestBenchFramework/ProcedureDlg.cs b/TestBenchFramework/ProcedureDlg.cs
index e08401b5d..af59b010e 100644
--- a/TestBenchFramework/ProcedureDlg.cs
+++ b/TestBenchFramework/ProcedureDlg.cs
@@ -343,7 +343,7 @@ namespace TBF
metrology2ListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Q_to_m3h, Width = 80 });
metrology2ListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Err_limit_neg_pct_chdr, Width = 100 });
metrology2ListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Err_limit_pos_pct_chdr, Width = 100 });
- metrology2ListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Tol_red_pct_chdr, Width = 80 });
+ metrology2ListViewEx.Columns.Add(new ColumnHeader { Text = "Filter", Width = 80 }); /// Strings.Tol_red_pct_chdr
metrology2ListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Red_type_chdr, Width = 80 });
metrology2ListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Err_cor_neg_pct_chdr, Width = 90 });
metrology2ListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Err_cor_pos_pct_chdr, Width = 90 });
@@ -546,6 +546,10 @@ namespace TBF
float errLimHi;
allOk &= Utils.TryParseSFloat(lvi.SubItems[4].Text, out errLimHi);
entity.ErrLimHi = errLimHi;
+
+ float filter;
+ allOk &= Utils.TryParseUFloat(lvi.SubItems[5].Text, out filter);
+ entity.TolerRed = (double)filter;
}
}