diff --git a/TestBenchFramework/BenchControl/Cameras/CameraRoi/CameraRoi.cs b/TestBenchFramework/BenchControl/Cameras/CameraRoi/CameraRoi.cs
index 142ea42da..a4d44e111 100644
--- a/TestBenchFramework/BenchControl/Cameras/CameraRoi/CameraRoi.cs
+++ b/TestBenchFramework/BenchControl/Cameras/CameraRoi/CameraRoi.cs
@@ -35,8 +35,8 @@ namespace TBF.BenchControl.Cameras.CameraRoi
public int WMRefPulses { get { return wmRefPulses; } }
public double WMVolume { get { return ltrsPerPulse * (double)wmPulses; } }
- int wmPulses;
- int wmRefPulses;
+ public int wmPulses;
+ public int wmRefPulses;
public CameraRoi()
@@ -77,30 +77,9 @@ namespace TBF.BenchControl.Cameras.CameraRoi
///
/// Reference to a variable for the water meter pulses
/// ReadWaterMeter instance reference casted to IOperaton
- public IOperation ReadRegisterOp(ref IntBox pulses)
+ public IOperation ReadRegisterOp()
{
- return new ReadRegisterOp(this, ref pulses);
- }
-
- ///
- /// Events: Event.ReadRegisterDone, Event.Error
- ///
- /// Reference to a variable for the water meter pulses
- /// Reference to a variable for the related reference flow meter pulses
- /// ReadWaterMeter instance reference casted to IOperaton
- public IOperation ReadRegisterOp(ref IntBox pulses, ref IntBox refPulses)
- {
- return new ReadRegisterOp(this, ref pulses, ref refPulses);
- }
-
- ///
- /// Events: ReadReferenceDone, Error
- ///
- /// Reference to a variable for the water meter pulses
- /// ReadWaterMeter instance reference casted to IOperaton
- public IOperation ReadReferenceForRegisterOp(ref IntBox pulses, ref IntBox refPulses)
- {
- return null; /// not implemented
+ return new ReadRegisterOp(this);
}
///
diff --git a/TestBenchFramework/BenchControl/Cameras/CameraRoi/ReadRegisterOp.cs b/TestBenchFramework/BenchControl/Cameras/CameraRoi/ReadRegisterOp.cs
index 44a549090..4be796f6d 100644
--- a/TestBenchFramework/BenchControl/Cameras/CameraRoi/ReadRegisterOp.cs
+++ b/TestBenchFramework/BenchControl/Cameras/CameraRoi/ReadRegisterOp.cs
@@ -13,47 +13,28 @@ namespace TBF.BenchControl.Cameras.CameraRoi
public override string ToString() { return string.Format("ReadRegisterOp({0})", cameraRoi.Cfg.Name); }
/// Set by the constructor
- readonly GenericDevices.ICameraRoi cameraRoi;
+ readonly CameraRoi cameraRoi;
readonly BenchControl.Cameras.IdcCamera.IdcCamera camera;
- IntBox pulses;
- IntBox refPulses;
///
/// Events: Event.ReadRegisterDone or Event.Error
///
/// Register reader reference
/// Reference to a field with the water meter pulses
- public ReadRegisterOp(GenericDevices.ICameraRoi cameraRoi, ref IntBox pulses)
+ public ReadRegisterOp(CameraRoi cameraRoi)
{
this.cameraRoi = cameraRoi;
if (cameraRoi == null) throw new ArgumentNullException("reader is null or it is not IdcCamera");
camera = cameraRoi.Camera as BenchControl.Cameras.IdcCamera.IdcCamera;
- this.pulses = pulses;
log.Debug(this.ToString());
}
- ///
- /// Events: Event.ReadRegisterDone or Event.Error
- ///
- /// Register reader reference
- /// Reference to a Box with the water meter pulses
- /// Reference to a Box with the reference flow meter pulses synchronized with the water meter
- public ReadRegisterOp(GenericDevices.ICameraRoi cameraRoi, ref IntBox pulses, ref IntBox refPulses)
- : this(cameraRoi, ref pulses)
- {
- this.refPulses = refPulses;
- log.Debug(this.ToString());
- }
-
private void ReadPulses()
{
- pulses.Val = camera.Idc100.Pulses;
- if (refPulses != null)
- {
- refPulses.Val = StateMachine.ControlBoard.EtPulses(0);
- }
+ cameraRoi.wmPulses = camera.Idc100.Pulses;
+ cameraRoi.wmRefPulses = StateMachine.ControlBoard.EtPulses(0);
}
/// Start this operation
diff --git a/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RegisterReader.cs b/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RegisterReader.cs
index 1ee585add..7bfea1663 100644
--- a/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RegisterReader.cs
+++ b/TestBenchFramework/BenchControl/Elde/FixedStartRegisterReader/RegisterReader.cs
@@ -28,8 +28,6 @@ namespace TBF.BenchControl.Elde.FixedStartRegisterReader
int wmPulses;
int wmRefPulses;
- IntBox pulsesBox;
- IntBox refPulsesBox;
readonly ControlBoardDev controlBoard;
@@ -67,35 +65,16 @@ namespace TBF.BenchControl.Elde.FixedStartRegisterReader
///
/// Events: Event.ReadRegisterDone, Event.Error
///
- /// Reference to a variable for the water meter pulses
/// ReadWaterMeter instance reference casted to IOperaton
- public IOperation ReadRegisterOp(ref IntBox pulsesBox)
+ public IOperation ReadRegisterOp()
{
- this.pulsesBox = pulsesBox;
return this;
}
- ///
- /// Events: Event.ReadRegisterDone, Event.Error
- ///
- /// Reference to a variable for the water meter pulses
- /// Reference to a variable for the related reference flowmeter pulses
- /// Reference to operation object instance
- public IOperation ReadRegisterOp(ref IntBox pulsesBox, ref IntBox refPulsesBox)
- {
- this.pulsesBox = pulsesBox;
- this.refPulsesBox = refPulsesBox;
- return this;
- }
-
-
private void ReadPulses()
{
wmPulses = (int)(EndWMState - BeginWMState); /// TODO: replace 0
wmRefPulses = (int)controlBoard.EtPulses(0);
-
- pulsesBox.Val = wmPulses;
- if (refPulsesBox != null) refPulsesBox.Val = wmRefPulses;
}
/// Start this operation
diff --git a/TestBenchFramework/BenchControl/Elde/RegisterReader/RegisterReader.cs b/TestBenchFramework/BenchControl/Elde/RegisterReader/RegisterReader.cs
index 3a6fdfb39..ed2d60ea6 100644
--- a/TestBenchFramework/BenchControl/Elde/RegisterReader/RegisterReader.cs
+++ b/TestBenchFramework/BenchControl/Elde/RegisterReader/RegisterReader.cs
@@ -27,8 +27,6 @@ namespace TBF.BenchControl.Elde.RegisterReader
int wmPulses;
int wmRefPulses;
- IntBox pulsesBox;
- IntBox refPulsesBox;
/// This is to cope with counter overflow
int lastPulses;
@@ -71,28 +69,12 @@ namespace TBF.BenchControl.Elde.RegisterReader
///
/// Events: Event.ReadRegisterDone, Event.Error
///
- /// Reference to a variable for the water meter pulses
/// ReadWaterMeter instance reference casted to IOperaton
- public IOperation ReadRegisterOp(ref IntBox pulsesBox)
+ public IOperation ReadRegisterOp()
{
- this.pulsesBox = pulsesBox;
return this;
}
- ///
- /// Events: Event.ReadRegisterDone, Event.Error
- ///
- /// Reference to a variable for the water meter pulses
- /// Reference to a variable for the related reference flowmeter pulses
- /// Reference to operation object instance
- public IOperation ReadRegisterOp(ref IntBox pulsesBox, ref IntBox refPulsesBox)
- {
- this.pulsesBox = pulsesBox;
- this.refPulsesBox = refPulsesBox;
- return this;
- }
-
-
private void ReadPulses()
{
if (!lastPulsesValid)
@@ -120,9 +102,6 @@ namespace TBF.BenchControl.Elde.RegisterReader
wmPulses = lastPulses;
wmRefPulses = (int)controlBoard.EtPulses(Position);
-
- pulsesBox.Val = wmPulses;
- if (refPulsesBox != null) refPulsesBox.Val = wmRefPulses;
}
/// Start this operation
diff --git a/TestBenchFramework/BenchControl/GenericDevices/IRegisterReader.cs b/TestBenchFramework/BenchControl/GenericDevices/IRegisterReader.cs
index 07620969e..23ae1f306 100644
--- a/TestBenchFramework/BenchControl/GenericDevices/IRegisterReader.cs
+++ b/TestBenchFramework/BenchControl/GenericDevices/IRegisterReader.cs
@@ -20,7 +20,6 @@ namespace TBF.BenchControl.GenericDevices
void TestCompleted(); /// To be used when the test is completed ...
/// ... for more accurate WMPulses, WMRefPulses calculation
- IOperation ReadRegisterOp(ref IntBox pulses);
- IOperation ReadRegisterOp(ref IntBox pulses, ref IntBox refPulses);
+ IOperation ReadRegisterOp();
}
}
diff --git a/TestBenchFramework/BenchControl/Operations/ReadMoreRegistersOp.cs b/TestBenchFramework/BenchControl/Operations/ReadMoreRegistersOp.cs
index 5fc59e90c..1f9496f37 100644
--- a/TestBenchFramework/BenchControl/Operations/ReadMoreRegistersOp.cs
+++ b/TestBenchFramework/BenchControl/Operations/ReadMoreRegistersOp.cs
@@ -15,12 +15,6 @@ namespace TBF.BenchControl.Operations
/// Set by the constructor
int readersCount;
- int[] iPulses;
- int[] iRefPulses;
- double[] dTimes;
- IntBox[] pulses;
- IntBox[] refPulses;
- DoubleBox[] times;
IOperation[] readRegOps;
///
@@ -28,117 +22,21 @@ namespace TBF.BenchControl.Operations
///
/// Register reader reference
/// Reference to the water meter register state in pulses
- public ReadMoreRegistersOp(GenericDevices.IRegisterReader[] readers, ref int[] iPulses)
+ public ReadMoreRegistersOp(GenericDevices.IRegisterReader[] readers)
{
if (readers == null) throw new ArgumentNullException("readers");
readersCount = readers.Length;
- if (iPulses == null || iPulses.Length != readersCount)
- {
- throw new ArgumentException("iPulses");
- }
- this.iPulses = iPulses;
-
- pulses = new IntBox[Config.Data.WMsCount];
-
readRegOps = new IOperation[readersCount];
for (int i = 0; i < readersCount; i++)
{
- pulses[i] = new IntBox(iPulses[i]);
-
- if (readers[i] != null)
- {
- readRegOps[i] = readers[i].ReadRegisterOp(ref pulses[i]);
- }
+ if (readers[i] != null) readRegOps[i] = readers[i].ReadRegisterOp();
}
+
log.Debug(this.ToString());
}
- ///
- /// Events: eventDone (default=Event.ReadRegisterDone) or Event.Error
- ///
- /// Register reader reference
- /// Reference to the water meter register state in pulses
- public ReadMoreRegistersOp(GenericDevices.IRegisterReader[] readers, ref int[] iPulses, ref int[] iRefPulses)
- : this(readers, ref iPulses)
- {
- if (readers == null) throw new ArgumentNullException("readers");
-
- readersCount = readers.Length;
-
- if (iPulses == null || iPulses.Length != readersCount ||
- iRefPulses == null || iRefPulses.Length != readersCount)
- {
- throw new ArgumentException("iPulses or iRefPulses");
- }
- this.iPulses = iPulses;
- this.iRefPulses = iRefPulses;
-
- pulses = new IntBox[Config.Data.WMsCount];
- refPulses = new IntBox[Config.Data.WMsCount];
-
- readRegOps = new IOperation[readersCount];
- for (int i = 0; i < readersCount; i++)
- {
- pulses[i] = new IntBox(iPulses[i]);
- refPulses[i] = new IntBox(iRefPulses[i]);
-
- if (readers[i] != null)
- {
- readRegOps[i] = readers[i].ReadRegisterOp(ref pulses[i], ref refPulses[i]);
- }
- }
- log.Debug(this.ToString());
- }
-
- ///
- /// Events: eventDone (default=Event.ReadRegisterDone) or Event.Error
- ///
- /// Register reader reference
- /// Reference to the water meter register state in pulses
- public ReadMoreRegistersOp(GenericDevices.IRegisterReader[] readers, ref int[] iPulses, ref double[] dTimes, ref int[] iRefPulses)
- : this(readers, ref iPulses)
- {
- if (readers == null) throw new ArgumentNullException("readers");
-
- readersCount = readers.Length;
-
- if (iPulses == null || iPulses.Length != readersCount ||
- dTimes == null || dTimes.Length != readersCount ||
- iRefPulses == null || iRefPulses.Length != readersCount)
- {
- throw new ArgumentException("iPulses or iRefPulses");
- }
- this.iPulses = iPulses;
- this.dTimes = dTimes;
- this.iRefPulses = iRefPulses;
-
- pulses = new IntBox[Config.Data.WMsCount];
- times = new DoubleBox[Config.Data.WMsCount];
- refPulses = new IntBox[Config.Data.WMsCount];
-
- readRegOps = new IOperation[readersCount];
- for (int i = 0; i < readersCount; i++)
- {
- pulses[i] = new IntBox(iPulses[i]);
- times[i] = new DoubleBox(dTimes[i]);
- refPulses[i] = new IntBox(iRefPulses[i]);
-
- if (readers[i] != null)
- {
- if (readers[i] is WaterMeters.iPerl.WaterMeter)
- {
- readRegOps[i] = (readers[i] as WaterMeters.iPerl.WaterMeter).ReadRegisterOp(ref pulses[i], ref times[i], ref refPulses[i]);
- }
- else
- {
- readRegOps[i] = readers[i].ReadRegisterOp(ref pulses[i], ref refPulses[i]);
- }
- }
- }
- log.Debug(this.ToString());
- }
/// Start this operation
public void Start()
@@ -160,11 +58,7 @@ namespace TBF.BenchControl.Operations
if (readRegOps[i] != null)
{
Event evnt = readRegOps[i].Run();
- iPulses[i] = pulses[i].Val;
- if (iRefPulses != null)
- {
- iRefPulses[i] = refPulses[i].Val;
- }
+
if (evnt == Event.Error) anyError = true;
if (evnt != Event.ReadRegisterDone) allDone = false;
}
diff --git a/TestBenchFramework/BenchControl/Sequences/MainSeq.cs b/TestBenchFramework/BenchControl/Sequences/MainSeq.cs
index 81030b289..d3651aff9 100644
--- a/TestBenchFramework/BenchControl/Sequences/MainSeq.cs
+++ b/TestBenchFramework/BenchControl/Sequences/MainSeq.cs
@@ -21,7 +21,6 @@ namespace TBF.BenchControl.Sequences
public override string ToString() { return "Sequences.MainSeq"; }
-
System.Windows.Forms.Form modelessDlg;
///
delegate void iPerlCommFormDlgt(MainSeq myRef, Generic.IComponentCfg cfg, IList tests, IList multiTestParams);
@@ -467,6 +466,10 @@ namespace TBF.BenchControl.Sequences
if (selection == Selection.Cycle)
{
+ float TimeEstimateTotal; /// Time estimate of the selected cycle or test
+ float TimeEstimateBeginRpts; /// Time estimate at the beginning of all repetitions of the current tests
+ float TimeEstimateOneTest; /// Time estimate of the current test (one repetition)
+
TimeEstimateTotal = 0;
for (int i = simultWithPurgingCount; i < StateMachine.Tests.Count - simultWithEvacuationCount; i++)
{
@@ -565,9 +568,9 @@ namespace TBF.BenchControl.Sequences
StartMass.Format = outPath.Balance.Format;
EndMass.Format = outPath.Balance.Format;
- TimeEstimateTotal = test.Repeats * (test.TstTime + 10.0f);
- TimeEstimateOneTest = test.TstTime + 10.0f;
- TimeEstimateBeginRpts = 0;
+ float TimeEstimateTotal = test.Repeats * (test.TstTime + 10.0f);
+ float TimeEstimateOneTest = test.TstTime + 10.0f;
+ float TimeEstimateBeginRpts = 0;
ITestMethod testMethodSequence = TbfComponents.FindComponent(test.Method) as ITestMethod;
if (testMethodSequence != null && testMethodSequence.CanTest(StateMachine.Procedure.MetersKind))
diff --git a/TestBenchFramework/BenchControl/Sequences/SequenceBase.cs b/TestBenchFramework/BenchControl/Sequences/SequenceBase.cs
index eb1e8723b..60056fc39 100644
--- a/TestBenchFramework/BenchControl/Sequences/SequenceBase.cs
+++ b/TestBenchFramework/BenchControl/Sequences/SequenceBase.cs
@@ -21,6 +21,7 @@ namespace TBF.BenchControl.Sequences
public class SequenceBase : ProcessData
{
private static readonly ILog log = LogManager.GetLogger(typeof(SequenceBase));
+
protected static readonly ILog processDataLogger = LogManager.GetLogger("ProcessData");
protected static readonly ILog allResults = LogManager.GetLogger("AllResults");
protected static readonly ILog summaryResults = LogManager.GetLogger("SummaryResults");
@@ -44,14 +45,6 @@ namespace TBF.BenchControl.Sequences
public static double Qfall;
- protected static float TimeEstimateTotal; /// Time estimate of the selected cycle or test
- protected static float TimeEstimateBeginRpts; /// Time estimate at the beginning of all repetitions of the current tests
- protected static float TimeEstimateOneTest; /// Time estimate of the current test (one repetition)
-
- static SequenceBase()
- {
- }
-
///------------------------------------------------------------
/// Test related (instance) variables.
/// Created when test sequence is open.
@@ -72,10 +65,6 @@ namespace TBF.BenchControl.Sequences
protected IOperation processDataLoggingOp;
- protected int[] WMPulses = new int[Config.Data.WMsCount];
- protected int[] WMRefPulses = new int[Config.Data.WMsCount];
- protected double[] WMTimes = new double[Config.Data.WMsCount];
-
///
/// Process data logging
diff --git a/TestBenchFramework/BenchControl/TestMethods/Adjustment/AdjustmentSeq.cs b/TestBenchFramework/BenchControl/TestMethods/Adjustment/AdjustmentSeq.cs
index 2634d3fa4..c58114447 100644
--- a/TestBenchFramework/BenchControl/TestMethods/Adjustment/AdjustmentSeq.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/Adjustment/AdjustmentSeq.cs
@@ -206,7 +206,7 @@ namespace TBF.BenchControl.TestMethods.Adjustment
while (!e.Contains(Event.MeasurementStarted));
/// Measurement loop - preparation
- readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders, ref WMPulses, ref WMRefPulses);
+ readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders);
queryEnd1 = cBrd.QueryMeasurementEndOp();
queryEnd2 = cBrd.QueryMeasurementEndOp();
@@ -301,13 +301,13 @@ namespace TBF.BenchControl.TestMethods.Adjustment
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
{
Results.Entities.MeterTestRslt meterRslt = BatchRslts.GetMeterTestRslt(testName, i, CompoundMeterId.Single);
- GenericDevices.IRegisterReader regReader = (sensPath.RegisterReaders == null) ? null : sensPath.RegisterReaders[i];
+ GenericDevices.IRegisterReader regReader = sensPath.RegisterReaders[i];
if (meterRslt != null && regReader != null)
{
meterRslt.PulsesPerLiter = regReader.PulsesPerLtr;
- meterRslt.PulsesMeter = Convert.ToDouble(WMPulses[i]);
- meterRslt.PulsesMaster = Convert.ToDouble(WMRefPulses[i]);
+ meterRslt.PulsesMeter = Convert.ToDouble(regReader.WMPulses);
+ meterRslt.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses);
meterRslt.VolumeStart = 0; /// liter
meterRslt.VolumeEnd = 0; /// liter
meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// liter
diff --git a/TestBenchFramework/BenchControl/TestMethods/CombinedMeters/CombinedMetersSeq.cs b/TestBenchFramework/BenchControl/TestMethods/CombinedMeters/CombinedMetersSeq.cs
index 7c6d6f62a..9766dcdba 100644
--- a/TestBenchFramework/BenchControl/TestMethods/CombinedMeters/CombinedMetersSeq.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/CombinedMeters/CombinedMetersSeq.cs
@@ -240,7 +240,7 @@ namespace TBF.BenchControl.TestMethods.CombinedMeters
while (!e.Contains(Event.MeasurementStarted));
/// Measurement loop - preparation
- readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders, ref WMPulses, ref WMRefPulses);
+ readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders);
queryEnd1 = cBrd.QueryMeasurementEndOp();
queryEnd2 = cBrd.QueryMeasurementEndOp();
@@ -409,8 +409,8 @@ namespace TBF.BenchControl.TestMethods.CombinedMeters
meterRslt.PulsesPerLiter = regReader.PulsesPerLtr;
/// Optionally supress pulses from the large water meter
- meterRslt.PulsesMeter = (isAux == 0 && testParams.SupressTrills) ? 0 : Convert.ToDouble(WMPulses[2 * i + isAux]);
- meterRslt.PulsesMaster = Convert.ToDouble(WMRefPulses[2 * i + isAux]);
+ meterRslt.PulsesMeter = (isAux == 0 && testParams.SupressTrills) ? 0 : Convert.ToDouble(regReader.WMPulses);
+ meterRslt.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses);
meterRslt.TestTime = tstRslt.TestTime;
meterRslt.VolumeStart = 0;
diff --git a/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetectionSeq.cs b/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetectionSeq.cs
index 14f7eeeb1..2dda2d218 100644
--- a/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetectionSeq.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/CombinedWithDetection/CombinedWithDetectionSeq.cs
@@ -61,7 +61,7 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
processDataLoggingOp = new TBF.BenchControl.Operations.ProcessDataLoggingOp(processDataLogger, this);
/// Meters path is required for the following:
- readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders, ref WMPulses, ref WMRefPulses);
+ readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders);
int repetitionNr = 1; /// First test: repetitionNr=1
@@ -217,7 +217,7 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
while (!e.Contains(Event.PositionReached));
// Last pulses are kept to calculate differences
- for (int i = 0; i < 2 * Config.Data.CompoundWMsCount; i++) lastWMPulses[i] = WMPulses[i];
+ for (int i = 0; i < 2 * Config.Data.CompoundWMsCount; i++) lastWMPulses[i] = RegisterReaders[i].WMPulses;
// Shift data in the detection buffers
for (int i = DetectionBufferSize - 2; i >= 0; i--)
@@ -233,7 +233,7 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
}
int time = StateMachine.Time;
- int diff = WMPulses[(test.Part - 1) * 2 + 1] - lastWMPulses[(test.Part - 1) * 2 + 1];
+ int diff = RegisterReaders[(test.Part - 1) * 2 + 1].WMPulses - lastWMPulses[(test.Part - 1) * 2 + 1];
flowsForDetection[0] = cBrd.ReferenceFreq * outPath.FlowMeter.NominalFlow / 2000.0f;
pulseFreqsForDetection[0] = (float)diff / (float)(time - lastTime);
lastTime = StateMachine.Time;
@@ -585,9 +585,8 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
meterRslt.PulsesPerLiter = regReader.PulsesPerLtr;
/// Optionally supress pulses from the large water meter
- meterRslt.PulsesMeter = (isAux == 0 && testParams.SupressTrills) ? 0 : Convert.ToDouble(WMPulses[2 * i + isAux]);
-
- meterRslt.PulsesMaster = Convert.ToDouble(WMRefPulses[2 * i + isAux]);
+ meterRslt.PulsesMeter = (isAux == 0 && testParams.SupressTrills) ? 0 : Convert.ToDouble(regReader.WMPulses);
+ meterRslt.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses);
meterRslt.TestTime = cBrd.TTime;
meterRslt.VolumeStart = 0;
meterRslt.VolumeEnd = 0;
diff --git a/TestBenchFramework/BenchControl/TestMethods/FixedStartAdvanced/FixedStartAdvancedSeq.cs b/TestBenchFramework/BenchControl/TestMethods/FixedStartAdvanced/FixedStartAdvancedSeq.cs
index 3316de7e9..0dcd3f302 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FixedStartAdvanced/FixedStartAdvancedSeq.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FixedStartAdvanced/FixedStartAdvancedSeq.cs
@@ -306,7 +306,7 @@ namespace TBF.BenchControl.TestMethods.FixedStartAdvanced
/// Measurement loop - preparation
- readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders, ref WMPulses, ref WMRefPulses);
+ readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders);
queryEnd1 = cBrd.QueryMeasurementEndOp();
queryEnd2 = cBrd.QueryMeasurementEndOp();
diff --git a/TestBenchFramework/BenchControl/TestMethods/FixedStartCombinedMeters/FixedStartCombinedMetersSeq.cs b/TestBenchFramework/BenchControl/TestMethods/FixedStartCombinedMeters/FixedStartCombinedMetersSeq.cs
index 77e0828c7..184dbc57f 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FixedStartCombinedMeters/FixedStartCombinedMetersSeq.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FixedStartCombinedMeters/FixedStartCombinedMetersSeq.cs
@@ -305,7 +305,7 @@ namespace TBF.BenchControl.TestMethods.FixedStartCombinedMeters
/// Measurement loop - preparation
- readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders, ref WMPulses, ref WMRefPulses);
+ readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders);
queryEnd1 = cBrd.QueryMeasurementEndOp();
queryEnd2 = cBrd.QueryMeasurementEndOp();
diff --git a/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/FixedStartMassCollectionSeq.cs b/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/FixedStartMassCollectionSeq.cs
index 9f43a70fb..012393136 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/FixedStartMassCollectionSeq.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/FixedStartMassCollectionSeq.cs
@@ -305,7 +305,7 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
/// Measurement loop - preparation
- readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders, ref WMPulses, ref WMRefPulses);
+ readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders);
queryEnd1 = cBrd.QueryMeasurementEndOp();
queryEnd2 = cBrd.QueryMeasurementEndOp();
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/FlyingStartSeq.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/FlyingStartSeq.cs
index 177977e92..75374442a 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStart/FlyingStartSeq.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStart/FlyingStartSeq.cs
@@ -146,7 +146,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStart
/// Measurement loop - preparation
- readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders, ref WMPulses, ref WMRefPulses);
+ readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders);
queryEnd1 = cBrd.QueryMeasurementEndOp();
queryEnd2 = cBrd.QueryMeasurementEndOp();
@@ -254,14 +254,14 @@ namespace TBF.BenchControl.TestMethods.FlyingStart
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
{
Results.Entities.MeterTestRslt meterRslt = BatchRslts.GetMeterTestRslt(testName, i, Config.Entities.CompoundMeterId.Single);
- GenericDevices.IRegisterReader regReader = (sensPath.RegisterReaders == null) ? null : sensPath.RegisterReaders[i];
+ GenericDevices.IRegisterReader regReader = sensPath.RegisterReaders[i];
WaterMeters.iPerl.WaterMeter iPerl = regReader as WaterMeters.iPerl.WaterMeter;
if (meterRslt != null && regReader != null)
{
meterRslt.PulsesPerLiter = regReader.PulsesPerLtr;
- meterRslt.PulsesMeter = Convert.ToDouble(WMPulses[i]);
- meterRslt.PulsesMaster = Convert.ToDouble(WMRefPulses[i]);
+ meterRslt.PulsesMeter = Convert.ToDouble(regReader.WMPulses);
+ meterRslt.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses);
if (iPerl != null)
{
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/FlyingStartMassCollectionSeq.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/FlyingStartMassCollectionSeq.cs
index bf8e784ce..4746dae78 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/FlyingStartMassCollectionSeq.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStartMassCollection/FlyingStartMassCollectionSeq.cs
@@ -267,7 +267,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
/// Measurement loop - preparation
- readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders, ref WMPulses, ref WMTimes, ref WMRefPulses);
+ readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders);
queryEnd1 = cBrd.QueryMeasurementEndOp();
int estimtdEndTime = StateMachine.Time + (int)test.TstTime;
@@ -441,14 +441,14 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
{
Results.Entities.MeterTestRslt meterRslt = BatchRslts.GetMeterTestRslt(testName, i, Config.Entities.CompoundMeterId.Single);
- GenericDevices.IRegisterReader regReader = (sensPath.RegisterReaders == null) ? null : sensPath.RegisterReaders[i];
+ GenericDevices.IRegisterReader regReader = sensPath.RegisterReaders[i];
WaterMeters.iPerl.WaterMeter iPerl = regReader as WaterMeters.iPerl.WaterMeter;
if (meterRslt != null && regReader != null)
{
meterRslt.PulsesPerLiter = regReader.PulsesPerLtr;
- meterRslt.PulsesMeter = Convert.ToDouble(WMPulses[i]);
- meterRslt.PulsesMaster = Convert.ToDouble(WMRefPulses[i]);
+ meterRslt.PulsesMeter = Convert.ToDouble(regReader.WMPulses);
+ meterRslt.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses);
if (iPerl != null)
{
diff --git a/TestBenchFramework/BenchControl/TestMethods/ReferenceFlowmeterCalibration/ReferenceFlowmeterCalibrationSeq.cs b/TestBenchFramework/BenchControl/TestMethods/ReferenceFlowmeterCalibration/ReferenceFlowmeterCalibrationSeq.cs
index f01458b72..1d4f42ff9 100644
--- a/TestBenchFramework/BenchControl/TestMethods/ReferenceFlowmeterCalibration/ReferenceFlowmeterCalibrationSeq.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/ReferenceFlowmeterCalibration/ReferenceFlowmeterCalibrationSeq.cs
@@ -212,7 +212,7 @@ namespace TBF.BenchControl.TestMethods.ReferenceFlowmeterCalibration
while (!e.Contains(Event.MeasurementStarted));
/// Measurement loop - preparation
- readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders, ref WMPulses, ref WMRefPulses);
+ readRegistersOp = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders);
queryEnd1 = cBrd.QueryMeasurementEndOp();
queryEnd2 = cBrd.QueryMeasurementEndOp();
diff --git a/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeter.cs b/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeter.cs
index 42a261ebf..ebafcdcc5 100644
--- a/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeter.cs
+++ b/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeter.cs
@@ -261,10 +261,6 @@ namespace TBF.BenchControl.WaterMeters.iPerl
public int TestStartTelegramIx;
public int TestEndTelegramIx;
- private Boxes.IntBox pulses;
- private Boxes.IntBox refPulses;
- private Boxes.DoubleBox timeSec;
-
OptoTelegramRaw[] optoData;
const int MaxOptoDataCount = 40000;
@@ -397,55 +393,12 @@ namespace TBF.BenchControl.WaterMeters.iPerl
///
/// Events: Event.ReadRegisterDone, Event.Error
///
- /// Reference to a variable for the water meter pulses
/// ReadWaterMeter instance reference casted to IOperaton
- public IOperation ReadRegisterOp(ref Boxes.IntBox pulses)
+ public IOperation ReadRegisterOp()
{
- this.pulses = pulses;
return this;
}
- ///
- /// Events: Event.ReadRegisterDone, Event.Error
- ///
- /// Reference to a variable for the water meter pulses
- /// Reference to a variable for the related reference flowmeter pulses
- /// Reference to operation object instance
- public IOperation ReadRegisterOp(ref Boxes.IntBox pulses, ref Boxes.IntBox refPulses)
- {
- this.pulses = pulses;
- this.refPulses = refPulses;
- return this;
- }
-
- ///
- /// Events: Event.ReadRegisterDone, Event.Error
- ///
- /// Reference to a variable for the water meter pulses
- /// Reference to a variable for the related time in seconds
- /// Reference to operation object instance
- public IOperation ReadRegisterOp(ref Boxes.IntBox pulses, ref Boxes.DoubleBox timeSec)
- {
- this.pulses = pulses;
- this.timeSec = timeSec;
- return this;
- }
-
- ///
- /// Events: ReadReferenceDone, Error
- ///
- /// Reference to a variable for the water meter pulses
- /// Reference to a variable for the related time in seconds
- /// Reference to a variable for the water meter pulses
- /// Reference to operation object instance
- public IOperation ReadRegisterOp(ref Boxes.IntBox pulses, ref Boxes.DoubleBox timeSec, ref Boxes.IntBox refPulses)
- {
- this.pulses = pulses;
- this.timeSec = timeSec;
- this.refPulses = refPulses;
- return this;
- }
-
///
/// Clear data/counters related to a specific tests
///
@@ -584,10 +537,6 @@ namespace TBF.BenchControl.WaterMeters.iPerl
wmPulses = (int)(wmVolume * (double)PulsesPerLtr + 0.5);
wmRefPulses = StateMachine.ControlBoard.EtPulses(0);
wmTestTime = timestampSec - timestampSec0;
-
- pulses.Val = wmPulses;
- if (refPulses != null) refPulses.Val = wmRefPulses;
- if (timeSec != null) timeSec.Val = wmTestTime;
}