TimeFlow2Mass used in CombinedMeters flying start method. Code cleanup.

This commit is contained in:
Milan Hanajik 2015-06-02 17:58:42 +02:00
parent e2dfa05233
commit 1e0e3efd5a
2 changed files with 40 additions and 13 deletions

View File

@ -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<Event> e = new List<Event>(); /// 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();

View File

@ -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;