WMPulses[], WMRefPulses[], WMTimes[] removed from SequenceBase, operations, etc., clean-up.
This commit is contained in:
@@ -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
|
||||
/// </summary>
|
||||
/// <param name="pulses">Reference to a variable for the water meter pulses</param>
|
||||
/// <returns>ReadWaterMeter instance reference casted to IOperaton</returns>
|
||||
public IOperation ReadRegisterOp(ref IntBox pulses)
|
||||
public IOperation ReadRegisterOp()
|
||||
{
|
||||
return new ReadRegisterOp(this, ref pulses);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Events: Event.ReadRegisterDone, Event.Error
|
||||
/// </summary>
|
||||
/// <param name="pulses">Reference to a variable for the water meter pulses</param>
|
||||
/// <param name="pulses">Reference to a variable for the related reference flow meter pulses</param>
|
||||
/// <returns>ReadWaterMeter instance reference casted to IOperaton</returns>
|
||||
public IOperation ReadRegisterOp(ref IntBox pulses, ref IntBox refPulses)
|
||||
{
|
||||
return new ReadRegisterOp(this, ref pulses, ref refPulses);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Events: ReadReferenceDone, Error
|
||||
/// </summary>
|
||||
/// <param name="pulses">Reference to a variable for the water meter pulses</param>
|
||||
/// <returns>ReadWaterMeter instance reference casted to IOperaton</returns>
|
||||
public IOperation ReadReferenceForRegisterOp(ref IntBox pulses, ref IntBox refPulses)
|
||||
{
|
||||
return null; /// not implemented
|
||||
return new ReadRegisterOp(this);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Events: Event.ReadRegisterDone or Event.Error
|
||||
/// </summary>
|
||||
/// <param name="reader">Register reader reference</param>
|
||||
/// <param name="pulses">Reference to a field with the water meter pulses</param>
|
||||
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());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Events: Event.ReadRegisterDone or Event.Error
|
||||
/// </summary>
|
||||
/// <param name="cameraRoi">Register reader reference</param>
|
||||
/// <param name="pulses">Reference to a Box with the water meter pulses</param>
|
||||
/// <param name="refPulses">Reference to a Box with the reference flow meter pulses synchronized with the water meter</param>
|
||||
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);
|
||||
}
|
||||
|
||||
/// <summary>Start this operation</summary>
|
||||
|
||||
@@ -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
|
||||
/// <summary>
|
||||
/// Events: Event.ReadRegisterDone, Event.Error
|
||||
/// </summary>
|
||||
/// <param name="pulsesBox">Reference to a variable for the water meter pulses</param>
|
||||
/// <returns>ReadWaterMeter instance reference casted to IOperaton</returns>
|
||||
public IOperation ReadRegisterOp(ref IntBox pulsesBox)
|
||||
public IOperation ReadRegisterOp()
|
||||
{
|
||||
this.pulsesBox = pulsesBox;
|
||||
return this;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Events: Event.ReadRegisterDone, Event.Error
|
||||
/// </summary>
|
||||
/// <param name="pulsesBox">Reference to a variable for the water meter pulses</param>
|
||||
/// <param name="refPulsesBox">Reference to a variable for the related reference flowmeter pulses</param>
|
||||
/// <returns>Reference to operation object instance</returns>
|
||||
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;
|
||||
}
|
||||
|
||||
/// <summary>Start this operation</summary>
|
||||
|
||||
@@ -27,8 +27,6 @@ namespace TBF.BenchControl.Elde.RegisterReader
|
||||
|
||||
int wmPulses;
|
||||
int wmRefPulses;
|
||||
IntBox pulsesBox;
|
||||
IntBox refPulsesBox;
|
||||
|
||||
/// <summary> This is to cope with counter overflow </summary>
|
||||
int lastPulses;
|
||||
@@ -71,28 +69,12 @@ namespace TBF.BenchControl.Elde.RegisterReader
|
||||
/// <summary>
|
||||
/// Events: Event.ReadRegisterDone, Event.Error
|
||||
/// </summary>
|
||||
/// <param name="pulsesBox">Reference to a variable for the water meter pulses</param>
|
||||
/// <returns>ReadWaterMeter instance reference casted to IOperaton</returns>
|
||||
public IOperation ReadRegisterOp(ref IntBox pulsesBox)
|
||||
public IOperation ReadRegisterOp()
|
||||
{
|
||||
this.pulsesBox = pulsesBox;
|
||||
return this;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Events: Event.ReadRegisterDone, Event.Error
|
||||
/// </summary>
|
||||
/// <param name="pulsesBox">Reference to a variable for the water meter pulses</param>
|
||||
/// <param name="refPulsesBox">Reference to a variable for the related reference flowmeter pulses</param>
|
||||
/// <returns>Reference to operation object instance</returns>
|
||||
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;
|
||||
}
|
||||
|
||||
/// <summary>Start this operation</summary>
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
/// <summary>
|
||||
@@ -28,117 +22,21 @@ namespace TBF.BenchControl.Operations
|
||||
/// </summary>
|
||||
/// <param name="register">Register reader reference</param>
|
||||
/// <param name="pulses">Reference to the water meter register state in pulses</param>
|
||||
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());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Events: eventDone (default=Event.ReadRegisterDone) or Event.Error
|
||||
/// </summary>
|
||||
/// <param name="register">Register reader reference</param>
|
||||
/// <param name="pulses">Reference to the water meter register state in pulses</param>
|
||||
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());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Events: eventDone (default=Event.ReadRegisterDone) or Event.Error
|
||||
/// </summary>
|
||||
/// <param name="register">Register reader reference</param>
|
||||
/// <param name="pulses">Reference to the water meter register state in pulses</param>
|
||||
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());
|
||||
}
|
||||
|
||||
/// <summary>Start this operation</summary>
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -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<Test> tests, IList<Generic.ITestParams> 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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
+5
-6
@@ -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;
|
||||
|
||||
+1
-1
@@ -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();
|
||||
|
||||
|
||||
+1
-1
@@ -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();
|
||||
|
||||
|
||||
+1
-1
@@ -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();
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
+4
-4
@@ -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)
|
||||
{
|
||||
|
||||
+1
-1
@@ -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();
|
||||
|
||||
|
||||
@@ -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
|
||||
/// <summary>
|
||||
/// Events: Event.ReadRegisterDone, Event.Error
|
||||
/// </summary>
|
||||
/// <param name="pulses">Reference to a variable for the water meter pulses</param>
|
||||
/// <returns>ReadWaterMeter instance reference casted to IOperaton</returns>
|
||||
public IOperation ReadRegisterOp(ref Boxes.IntBox pulses)
|
||||
public IOperation ReadRegisterOp()
|
||||
{
|
||||
this.pulses = pulses;
|
||||
return this;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Events: Event.ReadRegisterDone, Event.Error
|
||||
/// </summary>
|
||||
/// <param name="pulses">Reference to a variable for the water meter pulses</param>
|
||||
/// <param name="refPulses">Reference to a variable for the related reference flowmeter pulses</param>
|
||||
/// <returns>Reference to operation object instance</returns>
|
||||
public IOperation ReadRegisterOp(ref Boxes.IntBox pulses, ref Boxes.IntBox refPulses)
|
||||
{
|
||||
this.pulses = pulses;
|
||||
this.refPulses = refPulses;
|
||||
return this;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Events: Event.ReadRegisterDone, Event.Error
|
||||
/// </summary>
|
||||
/// <param name="pulses">Reference to a variable for the water meter pulses</param>
|
||||
/// <param name="timeSec">Reference to a variable for the related time in seconds</param>
|
||||
/// <returns>Reference to operation object instance</returns>
|
||||
public IOperation ReadRegisterOp(ref Boxes.IntBox pulses, ref Boxes.DoubleBox timeSec)
|
||||
{
|
||||
this.pulses = pulses;
|
||||
this.timeSec = timeSec;
|
||||
return this;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Events: ReadReferenceDone, Error
|
||||
/// </summary>
|
||||
/// <param name="pulses">Reference to a variable for the water meter pulses</param>
|
||||
/// <param name="timeSec">Reference to a variable for the related time in seconds</param>
|
||||
/// <param name="refPulses">Reference to a variable for the water meter pulses</param>
|
||||
/// <returns>Reference to operation object instance</returns>
|
||||
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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Clear data/counters related to a specific tests
|
||||
/// </summary>
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user