TolerRed parameter premenovany a pouzity ako Filter

This commit is contained in:
Milan Hanajik
2014-07-31 00:50:42 +02:00
parent 26b2c1f1a9
commit 9a9a09f16d
8 changed files with 19 additions and 11 deletions
@@ -321,9 +321,9 @@ namespace TBF.BenchControl.Elde
/// <param name="readers">An array of register readers</param> /// <param name="readers">An array of register readers</param>
/// <param name="refPulses">Number of reference pulses to complete the test</param> /// <param name="refPulses">Number of reference pulses to complete the test</param>
/// <returns>Created operation</returns> /// <returns>Created operation</returns>
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);
} }
/// <summary> /// <summary>
@@ -77,7 +77,7 @@ namespace TBF.BenchControl.Elde.RegulValve
/// <param name="measuredFlow">Measured flow [m3/h]</param> /// <param name="measuredFlow">Measured flow [m3/h]</param>
/// <param name="timeout">Timeout in [s]</param> /// <param name="timeout">Timeout in [s]</param>
/// <returns>SetFlowOp instance</returns> /// <returns>SetFlowOp instance</returns>
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); return new SetFlowOp(controlBoard, this, flowMeter, requiredFlowLo, requiredFlowHi, measuredFlow, timeout, true);
} }
@@ -13,6 +13,7 @@ namespace TBF.BenchControl.Elde
readonly Elde.FlowMeter.FlowMeter flowMeter; readonly Elde.FlowMeter.FlowMeter flowMeter;
readonly int refPulses; /// Number of reference pulses for a complete test readonly int refPulses; /// Number of reference pulses for a complete test
readonly TestMethods testMethod; readonly TestMethods testMethod;
readonly float filterConstant;
bool started = false; bool started = false;
@@ -24,7 +25,8 @@ namespace TBF.BenchControl.Elde
/// <param name="flowMeter">Flow meter component reference</param> /// <param name="flowMeter">Flow meter component reference</param>
/// <param name="readers">Register readers references</param> /// <param name="readers">Register readers references</param>
/// <param name="volume">Water volume for the test in liters</param> /// <param name="volume">Water volume for the test in liters</param>
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"); if (controlBoardDev == null) throw new ArgumentNullException("controlBoardDev");
this.controlBoard = controlBoardDev; this.controlBoard = controlBoardDev;
@@ -34,6 +36,7 @@ namespace TBF.BenchControl.Elde
this.refPulses = refPulses; this.refPulses = refPulses;
this.testMethod = method; this.testMethod = method;
this.filterConstant = filterConstant;
log.Debug(this.ToString()); log.Debug(this.ToString());
} }
@@ -42,7 +45,7 @@ namespace TBF.BenchControl.Elde
public void Start() public void Start()
{ {
controlBoard.SendCommand(Command.Start, flowMeter.Position, controlBoard.RRoute, refPulses, testMethod, controlBoard.SendCommand(Command.Start, flowMeter.Position, controlBoard.RRoute, refPulses, testMethod,
0.0f, 20, 0, StopDevs.None); filterConstant, 20, 0, StopDevs.None);
} }
/// <summary>Run this operation</summary> /// <summary>Run this operation</summary>
@@ -27,8 +27,9 @@ namespace TBF.BenchControl.GenericDevices
/// <param name="requiredFlowHi">Higher limit of the required flow [m3/h]</param> /// <param name="requiredFlowHi">Higher limit of the required flow [m3/h]</param>
/// <param name="measuredFlow">Measured flow [m3/h]</param> /// <param name="measuredFlow">Measured flow [m3/h]</param>
/// <param name="timeout">Timeout in [s]</param> /// <param name="timeout">Timeout in [s]</param>
/// <param name="filter">Passed to SendCommand() as argument filterContant</param>
/// <returns>SetFlowOp instance</returns> /// <returns>SetFlowOp instance</returns>
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);
/// <summary> /// <summary>
/// Operation to set the regulation valve to a required position /// Operation to set the regulation valve to a required position
@@ -188,7 +188,7 @@ namespace TBF.BenchControl.TestMethods.CombinedMeters
State.Create("CombinedMeters : Starting the test") State.Create("CombinedMeters : Starting the test")
.AddOperation(checkUiOp) .AddOperation(checkUiOp)
.AddOperations(measureOperations) .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(); .EnterState();
do do
{ {
@@ -153,7 +153,7 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
State.Create("CombinedWithDetection : Set the initial flow") State.Create("CombinedWithDetection : Set the initial flow")
.AddOperation(checkUiOp) .AddOperation(checkUiOp)
.AddOperations(measureOperations) .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(); .EnterState();
do do
{ {
@@ -373,7 +373,7 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
State.Create(Strings.Start_the_test) State.Create(Strings.Start_the_test)
.AddOperation(checkUiOp) .AddOperation(checkUiOp)
.AddOperations(measureOperations) .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(); .EnterState();
do do
{ {
@@ -182,7 +182,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartCollectionMethod
State.Create("FlyingStartCollectionMethod : Starting the test") State.Create("FlyingStartCollectionMethod : Starting the test")
.AddOperation(checkUiOp) .AddOperation(checkUiOp)
.AddOperations(measureOperations) .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(); .EnterState();
do do
{ {
+5 -1
View File
@@ -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.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_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.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.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_neg_pct_chdr, Width = 90 });
metrology2ListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Err_cor_pos_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; float errLimHi;
allOk &= Utils.TryParseSFloat(lvi.SubItems[4].Text, out errLimHi); allOk &= Utils.TryParseSFloat(lvi.SubItems[4].Text, out errLimHi);
entity.ErrLimHi = errLimHi; entity.ErrLimHi = errLimHi;
float filter;
allOk &= Utils.TryParseUFloat(lvi.SubItems[5].Text, out filter);
entity.TolerRed = (double)filter;
} }
} }