diff --git a/TestBenchFramework/BenchControl/TestMethods/CombinedMeters/CombinedMetersSeq.cs b/TestBenchFramework/BenchControl/TestMethods/CombinedMeters/CombinedMetersSeq.cs index dc30c1ce7..75852aa59 100644 --- a/TestBenchFramework/BenchControl/TestMethods/CombinedMeters/CombinedMetersSeq.cs +++ b/TestBenchFramework/BenchControl/TestMethods/CombinedMeters/CombinedMetersSeq.cs @@ -30,9 +30,6 @@ namespace TBF.BenchControl.TestMethods.CombinedMeters { Elde.ControlBoardDev cBrd = StateMachine.ControlBoard; - /// Specific for combined meters - int[] lastWMPulses = new int[Program.WMsCount]; - IList e = new List(); /// Events from currently running operations Event retVal = Event.Done; checkUiOp = new Operations.CheckUIOp(true); /// Runs in more then one state @@ -144,7 +141,9 @@ namespace TBF.BenchControl.TestMethods.CombinedMeters set_flow: - //-------------------------------- + //------------------------------------------------ + Bridge.OnActivity(this, Strings.Setting_the_flow); + //------------------------------------------------ State.Create("CombinedMeters : Setting the flow") .AddOperation(checkUiOp) .AddOperation(outPath.RegulValve.SetFlowOp(outPath.FlowMeter, test.Qfrom, test.Qto, outPath.PidCoef, refFlow, 600)) /// timeout = 10 min. @@ -181,6 +180,31 @@ namespace TBF.BenchControl.TestMethods.CombinedMeters if (cameraRoi != null) measureOperations.Add(cameraRoi.MeasureOp()); } + State.Create("CombinedMeters : Waiting before 1st mass measurement") + .AddOperation(checkUiOp) + .AddOperation(benchPath.TempIn.ReadTempOp(ref tempIn)) + .AddOperation(benchPath.TempOut.ReadTempOp(ref tempOut)) + .AddOperation(outPath.TempDiv.ReadTempOp(ref tempDiv)) + .AddOperation(benchPath.PressIn.ReadPressureOp(ref pressIn)) + .AddOperation(benchPath.PressOut.ReadPressureOp(ref pressOut)) + .AddOperation((StateMachine.Ambient != null) + ? StateMachine.Ambient.ReadAmbientOp(airTemperature, airPressure, airHumidity) : null) + .AddOperation(outPath.Balance.ReadMassOp(ref mass)) + .AddOperation(cBrd.UpdateTankWeightOp()) + .AddOperation(processDataLoggingOp) + .AddOperation(new Operations.TimerOp(test.TimeFlow2Mass)) + .EnterState(); + do + { + e = StateMachine.WaitRunDevsRunOps(); + if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; } + if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; } + } + while (!e.Contains(Event.TimerExpired)); + + + LogProcessHeader(processDataLogger, "Start mass"); + //------------------------------------------------ Bridge.OnActivity(this, Strings.Measuring_the_weight); //------------------------------------------------ @@ -453,7 +477,7 @@ namespace TBF.BenchControl.TestMethods.CombinedMeters /// Quit this sequence /// ///----------------------/// - State.Create("FlyingStartCollectionMethod : Stopping diverter, gate, etc.") + State.Create("CombinedMeters : Stopping diverter, gate, etc.") .AddOperation(checkUiOp) .AddOperation(cBrd.StopPreviousOp()) .EnterState(); diff --git a/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/FixedStartMassCollectionSeq.cs b/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/FixedStartMassCollectionSeq.cs index 372a1325c..4bd5d0057 100644 --- a/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/FixedStartMassCollectionSeq.cs +++ b/TestBenchFramework/BenchControl/TestMethods/FixedStartMassCollection/FixedStartMassCollectionSeq.cs @@ -239,11 +239,12 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection for (int i = 0; i < Program.WMsCount; i++) { - BenchControl.Elde.FixedStartRegisterReader.RegisterReader registerReader = - sensPath.RegisterReaders[i] as BenchControl.Elde.FixedStartRegisterReader.RegisterReader; - tstRslt.Meters[i].VolumeStart = dataEntryCmpnt.WMStartState(i); /// Units: 1 liter + ///----- + BenchControl.Elde.FixedStartRegisterReader.RegisterReader registerReader = + sensPath.RegisterReaders[i] as BenchControl.Elde.FixedStartRegisterReader.RegisterReader; + if (registerReader != null) registerReader.BeginWMState = dataEntryCmpnt.WMStartState(i); } } @@ -476,11 +477,12 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection for (int i = 0; i < Program.WMsCount; i++) { - BenchControl.Elde.FixedStartRegisterReader.RegisterReader registerReader = - sensPath.RegisterReaders[i] as BenchControl.Elde.FixedStartRegisterReader.RegisterReader; - tstRslt.Meters[i].VolumeEnd = dataEntryCmpnt.WMEndState(i); + ///----- + BenchControl.Elde.FixedStartRegisterReader.RegisterReader registerReader = + sensPath.RegisterReaders[i] as BenchControl.Elde.FixedStartRegisterReader.RegisterReader; + if (registerReader != null) registerReader.EndWMState = dataEntryCmpnt.WMEndState(i); } } @@ -533,11 +535,12 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection tstRslt.TimeDivEnd3 = 0; tstRslt.TimeDivEnd4 = 0; tstRslt.TimeDivEnd5 = 0; + for (int i = 0; i < Program.WMsCount; i++) { - if ((WaterMeters.Count > i) && !WaterMeters[i].Disabled) + if ((i < WaterMeters.Count) && !WaterMeters[i].Disabled) { - tstRslt.Meters[i].SerialNr = (WaterMeters.Count > i) ? WaterMeters[i].SerialNr : string.Empty; + tstRslt.Meters[i].SerialNr = (i < WaterMeters.Count) ? WaterMeters[i].SerialNr : string.Empty; tstRslt.Meters[i].VolumeMeter = tstRslt.Meters[i].VolumeEnd - tstRslt.Meters[i].VolumeStart; tstRslt.Meters[i].VolumeRef = tstRslt.VolumeCTV; /// liter tstRslt.Meters[i].PulsesMeter = 0;