2521 lines
162 KiB
Plaintext
2521 lines
162 KiB
Plaintext
[1mdiff --git a/TBF/Rig/TestMethods/FlyingStartMassCollection/FlyingStartMassCollectionSeq.cs b/TBF/Rig/TestMethods/FlyingStartMassCollection/FlyingStartMassCollectionSeq.cs[m
|
||
[1mindex c1206bd20..261e8efad 100644[m
|
||
[1m--- a/TBF/Rig/TestMethods/FlyingStartMassCollection/FlyingStartMassCollectionSeq.cs[m
|
||
[1m+++ b/TBF/Rig/TestMethods/FlyingStartMassCollection/FlyingStartMassCollectionSeq.cs[m
|
||
[36m@@ -1,26 +1,28 @@[m
|
||
[31m-///[m
|
||
[32m+[m[32musing Common;[m
|
||
[32m+[m[32musing Config.Entities;[m
|
||
[32m+[m[32musing log4net;[m
|
||
[32m+[m[32m///[m
|
||
/// Copyright (c) 2013-2021 Sensus Slovensko a.s.[m
|
||
///[m
|
||
using System;[m
|
||
using System.Collections.Generic;[m
|
||
[32m+[m[32musing System.IO;[m
|
||
using System.Text;[m
|
||
[31m-using log4net;[m
|
||
[31m-using Common;[m
|
||
[31m-using Config.Entities;[m
|
||
[31m-using TBF.Rig;[m
|
||
[32m+[m[32musing System.Xml.Serialization;[m
|
||
using TBF.Boxes;[m
|
||
using TBF.Resources;[m
|
||
[31m-using TBF.UiBridge;[m
|
||
[32m+[m[32musing TBF.Rig;[m
|
||
using TBF.Rig.GenericDevices;[m
|
||
using TBF.Rig.RegisterReaders.PoseidonReader;[m
|
||
using TBF.Rig.RegisterReaders.PoseidonReader.implementations;[m
|
||
using TBF.Rig.Uni.SharedDialogs.SmartMetersCommunication.common;[m
|
||
[32m+[m[32musing TBF.UiBridge;[m
|
||
[m
|
||
namespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
{[m
|
||
[31m- public class FlyingStartMassCollectionSeq : Sequences.SequenceBase[m
|
||
[32m+[m[32m public class FlyingStartMassCollectionSeq : Sequences.SequenceBase[m
|
||
{[m
|
||
[31m- private static readonly ILog log = LogManager.GetLogger(typeof(FlyingStartMassCollectionSeq));[m
|
||
[32m+[m[32m private static readonly ILog log = LogManager.GetLogger(typeof(FlyingStartMassCollectionSeq));[m
|
||
[m
|
||
/// <summary>[m
|
||
/// Check capabilities of devces in the output path required for this test method[m
|
||
[36m@@ -44,11 +46,11 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
}[m
|
||
[m
|
||
if (test.Volume > devices.Scale.Capacity * Constants.TankFullFactor)[m
|
||
[31m- {[m
|
||
[32m+[m[32m {[m
|
||
/// Scale capacity is not sufficient[m
|
||
message = string.Format("{0}: {1}", test.Name, Strings.Test_volume_exceeds_the_scale_capacity);[m
|
||
return false;[m
|
||
[31m- }[m
|
||
[32m+[m[32m }[m
|
||
[m
|
||
if (!(devices.Diverter is IDiverter))[m
|
||
{[m
|
||
[36m@@ -75,28 +77,28 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
return true;[m
|
||
}[m
|
||
[m
|
||
[31m- /// <summary>[m
|
||
[31m- /// Flying start mass collection method sequence[m
|
||
[31m- /// </summary>[m
|
||
[31m- /// <param name="test">Test entity</param>[m
|
||
[31m- /// <returns>[m
|
||
[31m- /// Event.Done . . . . . . . OK[m
|
||
[31m- /// Event.UiCmdStop . . . . Stopped by the user using the on-screen button STOP[m
|
||
[31m- /// Event.OpArgumentError . Target flow is out of range[m
|
||
[31m- /// Event.Error . . . . . . Unspecified error[m
|
||
[31m- /// </returns>[m
|
||
[31m- public IList<Event> Execute(Test test, int repetitionNr, bool isLastRepetition,[m
|
||
[32m+[m[32m /// <summary>[m
|
||
[32m+[m[32m /// Flying start mass collection method sequence[m
|
||
[32m+[m[32m /// </summary>[m
|
||
[32m+[m[32m /// <param name="test">Test entity</param>[m
|
||
[32m+[m[32m /// <returns>[m
|
||
[32m+[m[32m /// Event.Done . . . . . . . OK[m
|
||
[32m+[m[32m /// Event.UiCmdStop . . . . Stopped by the user using the on-screen button STOP[m
|
||
[32m+[m[32m /// Event.OpArgumentError . Target flow is out of range[m
|
||
[32m+[m[32m /// Event.Error . . . . . . Unspecified error[m
|
||
[32m+[m[32m /// </returns>[m
|
||
[32m+[m[32m public IList<Event> Execute(Test test, int repetitionNr, bool isLastRepetition,[m
|
||
bool isDelayedStart, Compound.CombinedTestParams compoundTestParams,[m
|
||
HeatMeters.TestParams heatMetersTestParams, DebugMode debugLevel)[m
|
||
[31m- {[m
|
||
[31m- if (debugLevel == Common.DebugMode.Simulate)[m
|
||
[31m- {[m
|
||
[31m- return Simulate1(test, repetitionNr, isLastRepetition, compoundTestParams, heatMetersTestParams);[m
|
||
[31m- }[m
|
||
[31m- else if (debugLevel == Common.DebugMode.Inherit)[m
|
||
[31m- {[m
|
||
[31m- return Simulate2(test, repetitionNr, isLastRepetition, compoundTestParams, heatMetersTestParams);[m
|
||
[31m- }[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m if (debugLevel == Common.DebugMode.Simulate)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m return Simulate1(test, repetitionNr, isLastRepetition, compoundTestParams, heatMetersTestParams);[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m else if (debugLevel == Common.DebugMode.Inherit)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m return Simulate2(test, repetitionNr, isLastRepetition, compoundTestParams, heatMetersTestParams);[m
|
||
[32m+[m[32m }[m
|
||
[m
|
||
ControlBoard.Uni.UniCB cBrd = StateMachine.ControlBoardMain as ControlBoard.Uni.UniCB;[m
|
||
IScale scale = cBrd.Devices.Scale as IScale;[m
|
||
[36m@@ -131,30 +133,31 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
cBrd.SetFiltersPidShortPulses(filters, outPath.PidCoef, test.ShortPulses);[m
|
||
[m
|
||
IList<IOperation> readTempPressOps = new List<IOperation>();[m
|
||
[31m- if(benchPath.TempMtrUp != null) readTempPressOps.Add(benchPath.TempMtrUp.ReadTempOp(ref TempUp));[m
|
||
[31m- if(benchPath.TempMtrDown != null) readTempPressOps.Add(benchPath.TempMtrDown.ReadTempOp(ref TempDown));[m
|
||
[31m- if(outPath.TempMtrDiv != null) readTempPressOps.Add(outPath.TempMtrDiv.ReadTempOp(ref TempDiv));[m
|
||
[31m- if(benchPath.PressMtrUp != null) readTempPressOps.Add(benchPath.PressMtrUp.ReadPressureOp(ref PressUp));[m
|
||
[31m- if(benchPath.PressMtrDown != null) readTempPressOps.Add(benchPath.PressMtrDown.ReadPressureOp(ref PressDown));[m
|
||
[31m- if(benchPath.PressMtrDelta != null) readTempPressOps.Add(benchPath.PressMtrDelta.ReadPressureOp(ref PressDelta));[m
|
||
[31m- if(benchPath.ElectricMtrUp != null) readTempPressOps.Add(benchPath.ElectricMtrUp.ReadPressureOp(ref ElectricUp));[m
|
||
[31m- if(benchPath.ElectricMtrDown != null) readTempPressOps.Add(benchPath.ElectricMtrDown.ReadPressureOp(ref ElectricDown));[m
|
||
[31m- if(benchPath.ElectricMtrDelta != null) readTempPressOps.Add(benchPath.ElectricMtrDelta.ReadPressureOp(ref ElectricDelta));[m
|
||
[31m- if(heatMetersPath != null) readTempPressOps.Add(heatMetersPath.TMeterRefWarm1.ReadTempOp(ref TempRefHi1));[m
|
||
[31m- if(heatMetersPath != null) readTempPressOps.Add(heatMetersPath.TMeterRefWarm2.ReadTempOp(ref TempRefHi2));[m
|
||
[31m- if(heatMetersPath != null) readTempPressOps.Add(heatMetersPath.TMeterRefCold1.ReadTempOp(ref TempRefLo1));[m
|
||
[31m- if(heatMetersPath != null) readTempPressOps.Add(heatMetersPath.TMeterRefCold2.ReadTempOp(ref TempRefLo2));[m
|
||
[32m+[m[32m if (benchPath.TempMtrUp != null) readTempPressOps.Add(benchPath.TempMtrUp.ReadTempOp(ref TempUp));[m
|
||
[32m+[m[32m if (benchPath.TempMtrDown != null) readTempPressOps.Add(benchPath.TempMtrDown.ReadTempOp(ref TempDown));[m
|
||
[32m+[m[32m if (outPath.TempMtrDiv != null) readTempPressOps.Add(outPath.TempMtrDiv.ReadTempOp(ref TempDiv));[m
|
||
[32m+[m[32m if (benchPath.PressMtrUp != null) readTempPressOps.Add(benchPath.PressMtrUp.ReadPressureOp(ref PressUp));[m
|
||
[32m+[m[32m if (benchPath.PressMtrDown != null) readTempPressOps.Add(benchPath.PressMtrDown.ReadPressureOp(ref PressDown));[m
|
||
[32m+[m[32m if (benchPath.PressMtrDelta != null) readTempPressOps.Add(benchPath.PressMtrDelta.ReadPressureOp(ref PressDelta));[m
|
||
[32m+[m[32m if (benchPath.ElectricMtrUp != null) readTempPressOps.Add(benchPath.ElectricMtrUp.ReadPressureOp(ref ElectricUp));[m
|
||
[32m+[m[32m if (benchPath.ElectricMtrDown != null) readTempPressOps.Add(benchPath.ElectricMtrDown.ReadPressureOp(ref ElectricDown));[m
|
||
[32m+[m[32m if (benchPath.ElectricMtrDelta != null) readTempPressOps.Add(benchPath.ElectricMtrDelta.ReadPressureOp(ref ElectricDelta));[m
|
||
[32m+[m[32m if (heatMetersPath != null) readTempPressOps.Add(heatMetersPath.TMeterRefWarm1.ReadTempOp(ref TempRefHi1));[m
|
||
[32m+[m[32m if (heatMetersPath != null) readTempPressOps.Add(heatMetersPath.TMeterRefWarm2.ReadTempOp(ref TempRefHi2));[m
|
||
[32m+[m[32m if (heatMetersPath != null) readTempPressOps.Add(heatMetersPath.TMeterRefCold1.ReadTempOp(ref TempRefLo1));[m
|
||
[32m+[m[32m if (heatMetersPath != null) readTempPressOps.Add(heatMetersPath.TMeterRefCold2.ReadTempOp(ref TempRefLo2));[m
|
||
[m
|
||
int totalPulses = Convert.ToInt32(test.Volume / outPath.FlowMeter.LtrPerPulse);[m
|
||
[m
|
||
///============================================================================================[m
|
||
[31m- [m
|
||
[32m+[m
|
||
/// Read pressure and temperature once before calling Bridge.OnTestSelected(...)[m
|
||
State.Create(string.Format("{0}({1}) : Measuring process data", test.Method, test.Name))[m
|
||
.AddOperation(checkUiOp)[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[36m@@ -163,8 +166,8 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
[m
|
||
/// Start the test, initialize test results[m
|
||
Bridge.OnTestSelected(this, new TestSelectedEventArgs(test, repetitionNr, inPath, benchPath, outPath, sensPath, heatMetersPath));[m
|
||
[31m- string testName = Results.Utils.GetTestName(test.Name, test.Repeats, repetitionNr);[m
|
||
[31m- TestStartTime = DateTime.Now;[m
|
||
[32m+[m[32m string testName = Results.Utils.GetTestName(test.Name, test.Repeats, repetitionNr);[m
|
||
[32m+[m[32m TestStartTime = DateTime.Now;[m
|
||
[m
|
||
//------------------------------------------------[m
|
||
Bridge.OnActivity(this, Strings.Checking_tank_capacity);[m
|
||
[36m@@ -189,35 +192,36 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
.AddOperation(cBrd.SetValvesOp(scale.DrainValve, null))[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
[31m- if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[31m- if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[32m+[m[32m if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[32m+[m[32m if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
}[m
|
||
while (e.Contains(Event.ValvesBusy));[m
|
||
#endif[m
|
||
}[m
|
||
[m
|
||
[m
|
||
[31m- ///[m
|
||
[31m- /// Optionally display prompt to emerge temperature meters to appropriate baths for heat meters test[m
|
||
[31m- ///[m
|
||
[31m- IOperation heatMetersPromptOp = null;[m
|
||
[31m- if (heatMetersTestParams != null && !string.IsNullOrEmpty(heatMetersTestParams.Prompt))[m
|
||
[31m- {[m
|
||
[31m- /// Make sure the CycleBeginForm is closed[m
|
||
[31m- if (UIFlowControl.Stop == WaitBeginFormClosed()) goto stopTest;[m
|
||
[32m+[m[32m ///[m
|
||
[32m+[m[32m /// Optionally display prompt to emerge temperature meters to appropriate baths for heat meters test[m
|
||
[32m+[m[32m ///[m
|
||
[32m+[m[32m IOperation heatMetersPromptOp = null;[m
|
||
[32m+[m[32m if (heatMetersTestParams != null && !string.IsNullOrEmpty(heatMetersTestParams.Prompt))[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m /// Make sure the CycleBeginForm is closed[m
|
||
[32m+[m[32m if (UIFlowControl.Stop == WaitBeginFormClosed()) goto stopTest;[m
|
||
[m
|
||
[31m- heatMetersPromptOp = new Operations.MessageBoxOp(heatMetersTestParams.Prompt);[m
|
||
[31m- }[m
|
||
[32m+[m[32m heatMetersPromptOp = new Operations.MessageBoxOp(heatMetersTestParams.Prompt);[m
|
||
[32m+[m[32m }[m
|
||
[m
|
||
[m
|
||
//------------------------------------------------[m
|
||
Bridge.OnActivity(this, Strings.Starting_the_pump);[m
|
||
//------------------------------------------------[m
|
||
[m
|
||
[31m- Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[31m- int flowSetTime0 = StateMachine.Time;[m
|
||
[32m+[m[32m Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[32m+[m[32m int flowSetTime0 = StateMachine.Time;[m
|
||
[m
|
||
[m
|
||
if (inPath.Pump is GenericDevices.IPumpFM)[m
|
||
[36m@@ -227,12 +231,13 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
///[m
|
||
State.Create(string.Format("{0}({1}) : Starting pump {2}", test.Method, test.Name, (inPath.Pump != null) ? inPath.Pump.Name : "?"))[m
|
||
.AddOperation(checkUiOp)[m
|
||
[31m-// .AddOperation(new Operations.SetAllRegulValvesOp(inPath.RegulValves, inPath.RegulValvesPct, 60))[m
|
||
[32m+[m[32m // .AddOperation(new Operations.SetAllRegulValvesOp(inPath.RegulValves, inPath.RegulValvesPct, 60))[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.AddOperation(heatMetersPromptOp)[m
|
||
.AddOperation(inPath.Pump != null ? cBrd.SetValvesOp(inPath.Pump, null) : null)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[m
|
||
[36m@@ -249,8 +254,9 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
.AddOperation(new Operations.TimerOp(test.TimePump2StartV))[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.AddOperation(heatMetersPromptOp)[m
|
||
[31m- .EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m .EnterState();[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[m
|
||
[36m@@ -267,11 +273,12 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
.AddOperation(cBrd.SetValvesOp(benchPath.StopBFValve, null))[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.AddOperation(heatMetersPromptOp)[m
|
||
[31m- .EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m .EnterState();[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
[31m- if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[31m- if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[32m+[m[32m if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[32m+[m[32m if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
}[m
|
||
while (!e.Contains(Event.ValvesSet));[m
|
||
}[m
|
||
[36m@@ -284,8 +291,9 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
.AddOperation(new Operations.TimerOp(test.TimeBeforeFlow))[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.AddOperation(heatMetersPromptOp)[m
|
||
[31m- .EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m .EnterState();[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[m
|
||
[36m@@ -302,13 +310,14 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
.AddOperation(cBrd.SetFlowOp(test.QfromM3ph(), test.QtoM3ph(), RefFlow, FlowSettingTimeoutSec))[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.AddOperation(heatMetersPromptOp)[m
|
||
[31m- .EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m .EnterState();[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[m
|
||
[31m- if (e.Contains(Event.OpArgumentError)) { retVal = Event.OpArgumentError; goto stopTest; }[m
|
||
[31m- if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[32m+[m[32m if (e.Contains(Event.OpArgumentError)) { retVal = Event.OpArgumentError; goto stopTest; }[m
|
||
[32m+[m[32m if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
if (e.Contains(Event.RegulValveTimeOut))[m
|
||
{[m
|
||
Bridge.OnError(this, Strings.Flow_adjustment_failed);[m
|
||
[36m@@ -334,12 +343,13 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
double Tw_last = 0;[m
|
||
double Tc_last = 0;[m
|
||
[m
|
||
[31m- State.Create(string.Format("{0}({1}) : Check temperature stabilized.", test.Method, test.Name))[m
|
||
[32m+[m[32m State.Create(string.Format("{0}({1}) : Check temperature stabilized.", test.Method, test.Name))[m
|
||
.AddOperation(checkUiOp)[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.AddOperation(heatMetersPromptOp)[m
|
||
[31m- .EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m .EnterState();[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
if (e.Contains(Event.Next)) goto temperature_set;[m
|
||
[36m@@ -368,63 +378,64 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
}[m
|
||
while (true);[m
|
||
}[m
|
||
[31m- else if (!string.IsNullOrEmpty(test.TempControl) && benchPath.TempMtrUp != null && benchPath.TempMtrDown != null)[m
|
||
[31m- {[m
|
||
[31m- //---------------------------------------------------[m
|
||
[31m- Bridge.OnActivity(this, Strings.Setting_temperature);[m
|
||
[31m- //---------------------------------------------------[m
|
||
[31m-[m
|
||
[31m- State.Create(string.Format("{0}({1}) : Wait until the water temperature is within limits", test.Method, test.Name))[m
|
||
[31m- .AddOperation(checkUiOp)[m
|
||
[32m+[m[32m else if (!string.IsNullOrEmpty(test.TempControl) && benchPath.TempMtrUp != null && benchPath.TempMtrDown != null)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m //---------------------------------------------------[m
|
||
[32m+[m[32m Bridge.OnActivity(this, Strings.Setting_temperature);[m
|
||
[32m+[m[32m //---------------------------------------------------[m
|
||
[32m+[m
|
||
[32m+[m[32m State.Create(string.Format("{0}({1}) : Wait until the water temperature is within limits", test.Method, test.Name))[m
|
||
[32m+[m[32m .AddOperation(checkUiOp)[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[31m- e = StateMachine.WaitRunDevsRunOps();[m
|
||
[31m- if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[31m- if (e.Contains(Event.Next)) goto temperature_set;[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m e = StateMachine.WaitRunDevsRunOps();[m
|
||
[32m+[m[32m if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[32m+[m[32m if (e.Contains(Event.Next)) goto temperature_set;[m
|
||
[m
|
||
if ((test.TempLimLo <= TempUp.Val) && (TempUp.Val <= test.TempLimHi) &&[m
|
||
(test.TempLimLo <= TempDown.Val) && (TempDown.Val <= test.TempLimHi))[m
|
||
{[m
|
||
[31m- goto temperature_set;[m
|
||
[31m- }[m
|
||
[31m- }[m
|
||
[31m- while (true);[m
|
||
[31m- }[m
|
||
[32m+[m[32m goto temperature_set;[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m while (true);[m
|
||
[32m+[m[32m }[m
|
||
[m
|
||
temperature_set:[m
|
||
[m
|
||
///[m
|
||
[31m- /// Prepare cameras, ROI-s and measurementOperations[m
|
||
[31m- ///[m
|
||
[32m+[m[32m /// Prepare cameras, ROI-s and measurementOperations[m
|
||
[32m+[m[32m ///[m
|
||
[m
|
||
[31m- /// Find successfully detected ROI-s[m
|
||
[31m- IList<GenericDevices.IRegReaderLiveCamera> rois = new List<GenericDevices.IRegReaderLiveCamera>();[m
|
||
[31m- foreach (var rr in sensPath.RegisterReaders)[m
|
||
[31m- {[m
|
||
[32m+[m[32m /// Find successfully detected ROI-s[m
|
||
[32m+[m[32m IList<GenericDevices.IRegReaderLiveCamera> rois = new List<GenericDevices.IRegReaderLiveCamera>();[m
|
||
[32m+[m[32m foreach (var rr in sensPath.RegisterReaders)[m
|
||
[32m+[m[32m {[m
|
||
GenericDevices.IRegReaderLiveCamera cameraRoI = rr as GenericDevices.IRegReaderLiveCamera;[m
|
||
if ((cameraRoI != null) && cameraRoI.Detected)[m
|
||
{[m
|
||
rois.Add(cameraRoI);[m
|
||
}[m
|
||
[31m- }[m
|
||
[32m+[m[32m }[m
|
||
[m
|
||
[31m- /// Find cameras[m
|
||
[31m- IList<GenericDevices.ICamera> cameras = new List<GenericDevices.ICamera>();[m
|
||
[32m+[m[32m /// Find cameras[m
|
||
[32m+[m[32m IList<GenericDevices.ICamera> cameras = new List<GenericDevices.ICamera>();[m
|
||
foreach (var roi in rois)[m
|
||
{[m
|
||
[31m- if (roi.Camera != null && !cameras.Contains(roi.Camera))[m
|
||
[31m- {[m
|
||
[31m- cameras.Add(roi.Camera);[m
|
||
[31m- roi.Camera.ClearRoiParams();[m
|
||
[31m- }[m
|
||
[32m+[m[32m if (roi.Camera != null && !cameras.Contains(roi.Camera))[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m cameras.Add(roi.Camera);[m
|
||
[32m+[m[32m roi.Camera.ClearRoiParams();[m
|
||
[32m+[m[32m }[m
|
||
}[m
|
||
[m
|
||
[31m- /// Register ROI-parameters to cameras[m
|
||
[31m- foreach (var roi in rois) roi.RegisterRoiToCamera();[m
|
||
[32m+[m[32m /// Register ROI-parameters to cameras[m
|
||
[32m+[m[32m foreach (var roi in rois) roi.RegisterRoiToCamera();[m
|
||
[m
|
||
[31m- /// Prepare measurementOperations[m
|
||
[31m- IList<IOperation> cameraMeasurementOps = new List<IOperation>();[m
|
||
[32m+[m[32m /// Prepare measurementOperations[m
|
||
[32m+[m[32m IList<IOperation> cameraMeasurementOps = new List<IOperation>();[m
|
||
foreach (var camera in cameras)[m
|
||
{[m
|
||
cameraMeasurementOps.Add(camera.MeasurementOp());[m
|
||
[36m@@ -446,60 +457,62 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
}[m
|
||
[m
|
||
[m
|
||
[31m- if (drainTheTank)[m
|
||
[31m- {[m
|
||
[31m- //------------------------------------------------[m
|
||
[31m- Bridge.OnActivity(this, Strings.Closing_the_tank);[m
|
||
[31m- //------------------------------------------------[m
|
||
[32m+[m[32m if (drainTheTank)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m //------------------------------------------------[m
|
||
[32m+[m[32m Bridge.OnActivity(this, Strings.Closing_the_tank);[m
|
||
[32m+[m[32m //------------------------------------------------[m
|
||
[m
|
||
[31m- ///[m
|
||
[31m- /// Make sure tank draining completed[m
|
||
[31m- ///[m
|
||
[32m+[m[32m ///[m
|
||
[32m+[m[32m /// Make sure tank draining completed[m
|
||
[32m+[m[32m ///[m
|
||
switch (DrainTheTank(scale, readTempPressOps))[m
|
||
[31m- {[m
|
||
[31m- case Event.Error: { retVal = Event.Error; goto stopTest; }[m
|
||
[31m- case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[31m- }[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m case Event.Error: { retVal = Event.Error; goto stopTest; }[m
|
||
[32m+[m[32m case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[32m+[m[32m }[m
|
||
[m
|
||
[31m- drainTheTank = false;[m
|
||
[31m- }[m
|
||
[31m- else[m
|
||
[31m- {[m
|
||
[31m- /// Close the drain valve anyway[m
|
||
[31m- State.Create(string.Format("{0}({1}) : Close the drain valve", test.Method, test.Name))[m
|
||
[31m- .AddOperation(checkUiOp)[m
|
||
[32m+[m[32m drainTheTank = false;[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m else[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m /// Close the drain valve anyway[m
|
||
[32m+[m[32m State.Create(string.Format("{0}({1}) : Close the drain valve", test.Method, test.Name))[m
|
||
[32m+[m[32m .AddOperation(checkUiOp)[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.AddOperation(cBrd.SetValvesOp(null, scale.DrainValve))[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[31m- e = StateMachine.WaitRunDevsRunOps();[m
|
||
[31m- if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[31m- if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[31m- }[m
|
||
[31m- while (e.Contains(Event.ValvesBusy));[m
|
||
[31m- }[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m e = StateMachine.WaitRunDevsRunOps();[m
|
||
[32m+[m[32m if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[32m+[m[32m if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m while (e.Contains(Event.ValvesBusy));[m
|
||
[32m+[m[32m }[m
|
||
[m
|
||
[m
|
||
[31m- //----------------------------------------------------[m
|
||
[31m- Bridge.OnActivity(this, Strings.Measuring_the_weight);[m
|
||
[31m- //----------------------------------------------------[m
|
||
[32m+[m[32m //----------------------------------------------------[m
|
||
[32m+[m[32m Bridge.OnActivity(this, Strings.Measuring_the_weight);[m
|
||
[32m+[m[32m //----------------------------------------------------[m
|
||
[m
|
||
LogProcessDataTestInfo(processDataLogger, test.Procedure.Name, test.Name);[m
|
||
[m
|
||
[31m- if (heatMetersPath == null) LogProcessDataHeader(processDataLogger, "Start mass");[m
|
||
[31m- else LogProcessDataHeaderHeatMeters(processDataLogger, "Start mass");[m
|
||
[31m- [m
|
||
[31m- State.Create(string.Format("{0}({1}) : Measuring the start mass", test.Method, test.Name))[m
|
||
[31m- .AddOperation(checkUiOp)[m
|
||
[32m+[m[32m if (heatMetersPath == null) LogProcessDataHeader(processDataLogger, "Start mass");[m
|
||
[32m+[m[32m else LogProcessDataHeaderHeatMeters(processDataLogger, "Start mass");[m
|
||
[32m+[m
|
||
[32m+[m[32m State.Create(string.Format("{0}({1}) : Measuring the start mass", test.Method, test.Name))[m
|
||
[32m+[m[32m .AddOperation(checkUiOp)[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.AddOperations(cameraMeasurementOps)[m
|
||
.AddOperation(scale.ReadStableMassOp(ref StartMass, test.TimeFlow2Mass, test.MassMethod, test.MassRepeats, test.MassSpread))[m
|
||
.AddOperation(processDataLoggingOp)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[31m- e = StateMachine.WaitRunDevsRunOps();[m
|
||
[31m- if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[31m- if (TestAndLogUiCmdStop(test,e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m e = StateMachine.WaitRunDevsRunOps();[m
|
||
[32m+[m[32m if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[32m+[m[32m if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
if (e.Contains(Event.ScaleTimeout))[m
|
||
{[m
|
||
Bridge.OnError(this, Strings.Mass_measurement_timeout);[m
|
||
[36m@@ -513,9 +526,9 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
log.WarnFormat("Start mass = {0}kg", StartMass);[m
|
||
[m
|
||
[m
|
||
[31m- if (heatMetersPath == null)[m
|
||
[32m+[m[32m if (heatMetersPath == null)[m
|
||
LogProcessDataHeader(processDataLogger, "Measurement");[m
|
||
[31m- else[m
|
||
[32m+[m[32m else[m
|
||
LogProcessDataHeaderHeatMeters(processDataLogger, "Measurement");[m
|
||
[m
|
||
//------------------------------------------------[m
|
||
[36m@@ -531,18 +544,19 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
[m
|
||
/// Measurement loop[m
|
||
State.Create(string.Format("{0}({1}) : FlyingStartStopTestWithDivOp is running", test.Method, test.Name))[m
|
||
[31m- .AddOperation(checkUiOp)[m
|
||
[32m+[m[32m .AddOperation(checkUiOp)[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.AddOperations(readDatastreamOps)[m
|
||
.AddOperations(cameraMeasurementOps)[m
|
||
.AddOperation(cBrd.FlyingStartStopTestOp(test, test.QfromM3ph(), test.QtoM3ph(), totalPulses, true, isDelayedStart, false, 0, true, DiverterStart, DiverterEnd))[m
|
||
.AddOperation(processDataLoggingOp)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
if (e.Contains(Event.OpArgumentError)) { retVal = Event.OpArgumentError; goto stopTest; }[m
|
||
[31m- if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[31m- if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[32m+[m[32m if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[32m+[m[32m if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[m
|
||
/// Show remaining time[m
|
||
if ((remainingTime = Math.Max(estimtdEndTime - StateMachine.Time, 0)) > 60)[m
|
||
[36m@@ -602,32 +616,34 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.AddOperation(cBrd.SetValvesOp(StateMachine.DefaultValvesOpen, StateMachine.DefaultValvesClose))[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
[31m- if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[31m- if (TestAndLogUiCmdStop(e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[32m+[m[32m if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[32m+[m[32m if (TestAndLogUiCmdStop(e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
}[m
|
||
while (!e.Contains(Event.ValvesSet));[m
|
||
}[m
|
||
[m
|
||
[31m- //------------------------------------------------[m
|
||
[31m- Bridge.OnActivity(this, Strings.Measuring_the_weight);[m
|
||
[31m- //------------------------------------------------[m
|
||
[32m+[m[32m //------------------------------------------------[m
|
||
[32m+[m[32m Bridge.OnActivity(this, Strings.Measuring_the_weight);[m
|
||
[32m+[m[32m //------------------------------------------------[m
|
||
[m
|
||
[31m- if (heatMetersPath == null) LogProcessDataHeader(processDataLogger, "End mass");[m
|
||
[31m- else LogProcessDataHeaderHeatMeters(processDataLogger, "End mass");[m
|
||
[32m+[m[32m if (heatMetersPath == null) LogProcessDataHeader(processDataLogger, "End mass");[m
|
||
[32m+[m[32m else LogProcessDataHeaderHeatMeters(processDataLogger, "End mass");[m
|
||
[m
|
||
State.Create(string.Format("{0}({1}) : Measuring the end mass", test.Method, test.Name))[m
|
||
[31m- .AddOperation(checkUiOp)[m
|
||
[32m+[m[32m .AddOperation(checkUiOp)[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.AddOperation(scale.ReadStableMassOp(ref EndMass, test.TimeStop2Mass, test.MassMethod, test.MassRepeats, test.MassSpread))[m
|
||
.AddOperation(new Operations.TimerOp(StableMassMsrmntTimeoutSec))[m
|
||
.AddOperation(processDataLoggingOp)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[31m- e = StateMachine.WaitRunDevsRunOps();[m
|
||
[31m- if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[31m- if (TestAndLogUiCmdStop(test,e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m e = StateMachine.WaitRunDevsRunOps();[m
|
||
[32m+[m[32m if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[32m+[m[32m if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
if (e.Contains(Event.ScaleTimeout))[m
|
||
{[m
|
||
Bridge.OnError(this, Strings.Mass_measurement_timeout);[m
|
||
[36m@@ -639,7 +655,7 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
///[m
|
||
tMass2 = StateMachine.Time;[m
|
||
log.WarnFormat("End mass = {0}kg", EndMass);[m
|
||
[31m- TestEndTime = DateTime.Now;[m
|
||
[32m+[m[32m TestEndTime = DateTime.Now;[m
|
||
[m
|
||
if (test.DoDrainingAfter)[m
|
||
{[m
|
||
[36m@@ -648,47 +664,48 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
.AddOperation(cBrd.SetValvesOp(scale.DrainValve, null))[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
}[m
|
||
while (e.Contains(Event.ValvesBusy));[m
|
||
}[m
|
||
[m
|
||
[31m- //------------------------------------------------[m
|
||
[31m- Bridge.OnActivity(this, Strings.Test_completed);[m
|
||
[31m- //------------------------------------------------[m
|
||
[32m+[m[32m //------------------------------------------------[m
|
||
[32m+[m[32m Bridge.OnActivity(this, Strings.Test_completed);[m
|
||
[32m+[m[32m //------------------------------------------------[m
|
||
[m
|
||
[31m- /// Make sure the CycleBeginForm is closed so that water meter data (s/n) can be copied into results[m
|
||
[31m- if (heatMetersPromptOp == null)[m
|
||
[31m- {[m
|
||
[31m- if (UIFlowControl.Stop == WaitBeginFormClosed()) goto stopTest;[m
|
||
[31m- }[m
|
||
[32m+[m[32m /// Make sure the CycleBeginForm is closed so that water meter data (s/n) can be copied into results[m
|
||
[32m+[m[32m if (heatMetersPromptOp == null)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m if (UIFlowControl.Stop == WaitBeginFormClosed()) goto stopTest;[m
|
||
[32m+[m[32m }[m
|
||
[m
|
||
[31m- ///[m
|
||
[31m- /// Populate TestResult data entity with data[m
|
||
[31m- /// [m
|
||
[31m- Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);[m
|
||
[32m+[m[32m ///[m
|
||
[32m+[m[32m /// Populate TestResult data entity with data[m
|
||
[32m+[m[32m ///[m[41m [m
|
||
[32m+[m[32m Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);[m
|
||
[m
|
||
bool stopCycle = false;[m
|
||
if (tstRslt != null)[m
|
||
{[m
|
||
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);[m
|
||
[m
|
||
[31m- /// Raw data[m
|
||
[32m+[m[32m /// Raw data[m
|
||
UpdateTempPressDensAmb(tstRslt);[m
|
||
[31m- tstRslt.MethodClass = TbfComponents.FindComponent(test.Method).ClassName;[m
|
||
[31m- tstRslt.StartTime = TestStartTime;[m
|
||
[31m- tstRslt.EndTime = TestEndTime;[m
|
||
[31m- tstRslt.FlowSetTime = flowSetTime;[m
|
||
[31m- tstRslt.TestTime = cBrd.TestTime; /// [s] measurement time[m
|
||
[31m- tstRslt.PulsesMaster = Convert.ToDouble(cBrd.RefPulses); /// Pulses of the master flow meter (test total)[m
|
||
[31m- tstRslt.MassStartRaw = StartMass.Val;[m
|
||
[31m- tstRslt.MassEndRaw = EndMass.Val;[m
|
||
[32m+[m[32m tstRslt.MethodClass = TbfComponents.FindComponent(test.Method).ClassName;[m
|
||
[32m+[m[32m tstRslt.StartTime = TestStartTime;[m
|
||
[32m+[m[32m tstRslt.EndTime = TestEndTime;[m
|
||
[32m+[m[32m tstRslt.FlowSetTime = flowSetTime;[m
|
||
[32m+[m[32m tstRslt.TestTime = cBrd.TestTime; /// [s] measurement time[m
|
||
[32m+[m[32m tstRslt.PulsesMaster = Convert.ToDouble(cBrd.RefPulses); /// Pulses of the master flow meter (test total)[m
|
||
[32m+[m [32mtstRslt.MassStartRaw = StartMass.Val;[m
|
||
[32m+[m[32m tstRslt.MassEndRaw = EndMass.Val;[m
|
||
tstRslt.TimeBtwnMassMsrmnts = tMass2 - tMass1;[m
|
||
tstRslt.ConstMasterRaw = outPath.FlowMeter.LtrPerPulse;[m
|
||
[31m- tstRslt.VolumeMaster = tstRslt.ConstMasterRaw * tstRslt.PulsesMaster; /// [l] volume from the master flow meter[m
|
||
[31m- double flowMID = 3.6 * tstRslt.VolumeMaster / tstRslt.TestTime; /// [m3/h] flow before correction from the master flow meter[m
|
||
[32m+[m[32m tstRslt.VolumeMaster = tstRslt.ConstMasterRaw * tstRslt.PulsesMaster; /// [l] volume from the master flow meter[m
|
||
[32m+[m[32m double flowMID = 3.6 * tstRslt.VolumeMaster / tstRslt.TestTime; /// [m3/h] flow before correction from the master flow meter[m
|
||
[m
|
||
/// Corrected data[m
|
||
tstRslt.MassStart = MeasurementCorrection.CorrectedValue(tstRslt.MassStartRaw, scale.Corrections);[m
|
||
[36m@@ -698,23 +715,37 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
tstRslt.ConstMasterCorr = outPath.FlowMeter.LtrPerPulseCorrected(flowMID, tstRslt.TempDownMean);[m
|
||
[m
|
||
/// Main result calculation[m
|
||
[31m- tstRslt.VolumeCTV = 1000 * tstRslt.Batch.Buoyancy * mass / tstRslt.DensityLine;[m
|
||
[32m+[m[32m tstRslt.VolumeCTV = 1000 * tstRslt.Batch.Buoyancy * mass / tstRslt.DensityLine;[m
|
||
if ((outPath.Diverter != null) && (tstRslt.TestTime > float.Epsilon))[m
|
||
{[m
|
||
tstRslt.TestTimeCorrection = outPath.Diverter.TestTimeCorrection(flowMID);[m
|
||
tstRslt.VolumeCTV *= tstRslt.TestTime + tstRslt.TestTimeCorrection;[m
|
||
tstRslt.VolumeCTV /= tstRslt.TestTime;[m
|
||
}[m
|
||
[31m- tstRslt.Flow = 3.6 * tstRslt.VolumeCTV / tstRslt.TestTime; /// Flow from VolumeCTV and time[m
|
||
[32m+[m[32m tstRslt.Flow = 3.6 * tstRslt.VolumeCTV / tstRslt.TestTime; /// Flow from VolumeCTV and time[m
|
||
tstRslt.ErrorMaster = Formulas.ErrorFromVolumes(tstRslt.VolumeMaster, tstRslt.VolumeCTV);[m
|
||
tstRslt.ConstMaster = (tstRslt.PulsesMaster != 0) ? (tstRslt.VolumeCTV / tstRslt.PulsesMaster) : tstRslt.ConstMasterCorr;[m
|
||
[31m- /// Master pulses per liter from the measured mass[m
|
||
[32m+[m[32m /// Master pulses per liter from the measured mass[m
|
||
[32m+[m
|
||
[32m+[m[32m /// Main result calculation for mass[m
|
||
[32m+[m[32m tstRslt.MassCTV = tstRslt.Batch.Buoyancy * mass;[m
|
||
[32m+[m[32m if ((outPath.Diverter != null) && (tstRslt.TestTime > float.Epsilon))[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m tstRslt.TestTimeCorrection = outPath.Diverter.TestTimeCorrection(flowMID);[m
|
||
[32m+[m[32m tstRslt.MassCTV *= tstRslt.TestTime + tstRslt.TestTimeCorrection;[m
|
||
[32m+[m[32m tstRslt.MassCTV /= tstRslt.TestTime;[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m tstRslt.MassFlow = 3.6 * tstRslt.MassCTV / tstRslt.TestTime; /// Flow from MassCTV and time[m
|
||
[32m+[m[32m tstRslt.MassErrorMaster = Formulas.ErrorFromVolumes(tstRslt.VolumeMaster, tstRslt.MassCTV);[m
|
||
[32m+[m[32m tstRslt.MassConstMaster = (tstRslt.PulsesMaster != 0) ? (tstRslt.MassCTV / tstRslt.PulsesMaster) : tstRslt.ConstMasterCorr;[m
|
||
[32m+[m
|
||
[32m+[m
|
||
/// Flow statistics correction[m
|
||
[31m- tstRslt.FlowMean = Convert.ToSingle(tstRslt.ConstMaster * RefFlowStat.Average / tstRslt.ConstMasterRaw);[m
|
||
[32m+[m[32m tstRslt.FlowMean = Convert.ToSingle(tstRslt.ConstMaster * RefFlowStat.Average / tstRslt.ConstMasterRaw);[m
|
||
tstRslt.FlowStart = Convert.ToSingle(tstRslt.ConstMaster * RefFlowStat.First / tstRslt.ConstMasterRaw);[m
|
||
[31m- tstRslt.FlowEnd = Convert.ToSingle(tstRslt.ConstMaster * RefFlowStat.Last / tstRslt.ConstMasterRaw);[m
|
||
[31m- tstRslt.FlowMin = Convert.ToSingle(tstRslt.ConstMaster * RefFlowStat.Min / tstRslt.ConstMasterRaw);[m
|
||
[31m- tstRslt.FlowMax = Convert.ToSingle(tstRslt.ConstMaster * RefFlowStat.Max / tstRslt.ConstMasterRaw);[m
|
||
[32m+[m[32m tstRslt.FlowEnd = Convert.ToSingle(tstRslt.ConstMaster * RefFlowStat.Last / tstRslt.ConstMasterRaw);[m
|
||
[32m+[m[32m tstRslt.FlowMin = Convert.ToSingle(tstRslt.ConstMaster * RefFlowStat.Min / tstRslt.ConstMasterRaw);[m
|
||
[32m+[m[32m tstRslt.FlowMax = Convert.ToSingle(tstRslt.ConstMaster * RefFlowStat.Max / tstRslt.ConstMasterRaw);[m
|
||
[m
|
||
tstRslt.DiverterStart = outPath.Diverter.SwitchTimeStart.Val;[m
|
||
tstRslt.DivStart10 = 0;[m
|
||
[36m@@ -734,114 +765,114 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
: 0;[m
|
||
tstRslt.InfoFlags = infoFlags;[m
|
||
[m
|
||
[31m- if (compoundTestParams != null)[m
|
||
[31m- {[m
|
||
[31m- ///[m
|
||
[31m- /// Compound meters[m
|
||
[31m- ///[m
|
||
[31m- for (int i = 0; i < BatchRslts.WMPositionsCount; i++)[m
|
||
[31m- {[m
|
||
[31m- if (!test.IsPartCompatible(Utils.PartNr(i + 1, BatchRslts.Batch.Compound))) continue;[m
|
||
[32m+[m[32m if (compoundTestParams != null)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m ///[m
|
||
[32m+[m[32m /// Compound meters[m
|
||
[32m+[m[32m ///[m
|
||
[32m+[m[32m for (int i = 0; i < BatchRslts.WMPositionsCount; i++)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m if (!test.IsPartCompatible(Utils.PartNr(i + 1, BatchRslts.Batch.Compound))) continue;[m
|
||
[m
|
||
[31m- var mainMeterRslt = BatchRslts.GetMeterTestRslt(testName, i, CompoundMeterId.CompoundMain);[m
|
||
[31m- var auxMeterRslt = BatchRslts.GetMeterTestRslt(testName, i, CompoundMeterId.CompoundAux);[m
|
||
[32m+[m[32m var mainMeterRslt = BatchRslts.GetMeterTestRslt(testName, i, CompoundMeterId.CompoundMain);[m
|
||
[32m+[m[32m var auxMeterRslt = BatchRslts.GetMeterTestRslt(testName, i, CompoundMeterId.CompoundAux);[m
|
||
[m
|
||
[31m- for (int isAux = 0; isAux <= 1; isAux++) /// 0=main, 1=aux[m
|
||
[32m+[m[32m for (int isAux = 0; isAux <= 1; isAux++) /// 0=main, 1=aux[m
|
||
{[m
|
||
[31m- IRegReader regReader = sensPath.RegisterReaders[2 * i + isAux];[m
|
||
[31m- var oneMTR = (isAux == 0) ? mainMeterRslt : auxMeterRslt;[m
|
||
[32m+[m[32m IRegReader regReader = sensPath.RegisterReaders[2 * i + isAux];[m
|
||
[32m+[m[32m var oneMTR = (isAux == 0) ? mainMeterRslt : auxMeterRslt;[m
|
||
[m
|
||
[31m- if (oneMTR != null && regReader != null)[m
|
||
[31m- {[m
|
||
[32m+[m[32m if (oneMTR != null && regReader != null)[m
|
||
[32m+[m[32m {[m
|
||
oneMTR.RegReaderType = (int)regReader.RegisterReaderType;[m
|
||
if (regReader is PoseidonReader poseidon) //is Poseidon reader family[m
|
||
{[m
|
||
[31m- oneMTR.PulsesPerLiter = 0;[m
|
||
[31m-[m
|
||
[31m- /// Optionally supress pulses from the large water meter[m
|
||
[31m- oneMTR.PulsesMeter = 0;[m
|
||
[31m- oneMTR.PulsesMaster = 0;[m
|
||
[31m- oneMTR.TestTime = cBrd.TestTime;[m
|
||
[31m- oneMTR.VolumeStart = 0;[m
|
||
[31m- oneMTR.VolumeEnd = 0;[m
|
||
[31m- oneMTR.VolumeRef = tstRslt.VolumeCTV;[m
|
||
[31m-[m
|
||
[31m- if (oneMTR.PulsesMaster != 0)[m
|
||
[31m- {[m
|
||
[31m- oneMTR.PulsesMeter *= (tstRslt.PulsesMaster / oneMTR.PulsesMaster);[m
|
||
[31m- oneMTR.PulsesMaster = tstRslt.PulsesMaster;[m
|
||
[31m- }[m
|
||
[31m-[m
|
||
[31m- oneMTR.VolumeMeter = poseidon.WMVolume;[m
|
||
[31m- [m
|
||
[31m- oneMTR.Error =[m
|
||
[31m- Formulas.ErrorFromVolumes(oneMTR.VolumeMeter,[m
|
||
[31m- tstRslt.VolumeCTV); /// Main/Aux meter error is not usedfor evaluation[m
|
||
[32m+[m[32m oneMTR.PulsesPerLiter = 0;[m
|
||
[32m+[m
|
||
[32m+[m[32m /// Optionally supress pulses from the large water meter[m
|
||
[32m+[m[32m oneMTR.PulsesMeter = 0;[m
|
||
[32m+[m[32m oneMTR.PulsesMaster = 0;[m
|
||
[32m+[m[32m oneMTR.TestTime = cBrd.TestTime;[m
|
||
[32m+[m[32m oneMTR.VolumeStart = 0;[m
|
||
[32m+[m[32m oneMTR.VolumeEnd = 0;[m
|
||
[32m+[m[32m oneMTR.VolumeRef = tstRslt.VolumeCTV;[m
|
||
[32m+[m
|
||
[32m+[m[32m if (oneMTR.PulsesMaster != 0)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m oneMTR.PulsesMeter *= (tstRslt.PulsesMaster / oneMTR.PulsesMaster);[m
|
||
[32m+[m[32m oneMTR.PulsesMaster = tstRslt.PulsesMaster;[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m
|
||
[32m+[m[32m oneMTR.VolumeMeter = poseidon.WMVolume;[m
|
||
[32m+[m
|
||
[32m+[m[32m oneMTR.Error =[m
|
||
[32m+[m[32m Formulas.ErrorFromVolumes(oneMTR.VolumeMeter,[m
|
||
[32m+[m[32m tstRslt.VolumeCTV); /// Main/Aux meter error is not usedfor evaluation[m
|
||
}[m
|
||
else[m
|
||
{[m
|
||
[31m- oneMTR.PulsesPerLiter = regReader.PulsesPerLtr;[m
|
||
[31m-[m
|
||
[31m- /// Optionally supress pulses from the large water meter[m
|
||
[31m- oneMTR.PulsesMeter = (isAux == 0 && compoundTestParams.SupressTrills)[m
|
||
[31m- ? 0[m
|
||
[31m- : Convert.ToDouble(regReader.WMPulses);[m
|
||
[31m- oneMTR.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses);[m
|
||
[31m- oneMTR.TestTime = cBrd.TestTime;[m
|
||
[31m- oneMTR.VolumeStart = 0;[m
|
||
[31m- oneMTR.VolumeEnd = 0;[m
|
||
[31m- oneMTR.VolumeRef = tstRslt.VolumeCTV;[m
|
||
[31m-[m
|
||
[31m- if (oneMTR.PulsesMaster != 0)[m
|
||
[31m- {[m
|
||
[31m- oneMTR.PulsesMeter *= (tstRslt.PulsesMaster / oneMTR.PulsesMaster);[m
|
||
[31m- oneMTR.PulsesMaster = tstRslt.PulsesMaster;[m
|
||
[31m- }[m
|
||
[31m-[m
|
||
[31m- oneMTR.VolumeMeter = oneMTR.PulsesMeter * regReader.LtrsPerPulse; /// liter[m
|
||
[31m-[m
|
||
[31m- oneMTR.Error =[m
|
||
[31m- Formulas.ErrorFromVolumes(oneMTR.VolumeMeter,[m
|
||
[31m- tstRslt.VolumeCTV); /// Main/Aux meter error is not usedfor evaluation[m
|
||
[32m+[m[32m oneMTR.PulsesPerLiter = regReader.PulsesPerLtr;[m
|
||
[32m+[m
|
||
[32m+[m[32m /// Optionally supress pulses from the large water meter[m
|
||
[32m+[m[32m oneMTR.PulsesMeter = (isAux == 0 && compoundTestParams.SupressTrills)[m
|
||
[32m+[m[32m ? 0[m
|
||
[32m+[m[32m : Convert.ToDouble(regReader.WMPulses);[m
|
||
[32m+[m[32m oneMTR.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses);[m
|
||
[32m+[m[32m oneMTR.TestTime = cBrd.TestTime;[m
|
||
[32m+[m[32m oneMTR.VolumeStart = 0;[m
|
||
[32m+[m[32m oneMTR.VolumeEnd = 0;[m
|
||
[32m+[m[32m oneMTR.VolumeRef = tstRslt.VolumeCTV;[m
|
||
[32m+[m
|
||
[32m+[m[32m if (oneMTR.PulsesMaster != 0)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m oneMTR.PulsesMeter *= (tstRslt.PulsesMaster / oneMTR.PulsesMaster);[m
|
||
[32m+[m[32m oneMTR.PulsesMaster = tstRslt.PulsesMaster;[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m
|
||
[32m+[m[32m oneMTR.VolumeMeter = oneMTR.PulsesMeter * regReader.LtrsPerPulse; /// liter[m
|
||
[32m+[m
|
||
[32m+[m[32m oneMTR.Error =[m
|
||
[32m+[m[32m Formulas.ErrorFromVolumes(oneMTR.VolumeMeter,[m
|
||
[32m+[m[32m tstRslt.VolumeCTV); /// Main/Aux meter error is not usedfor evaluation[m
|
||
}[m
|
||
[31m- }[m
|
||
[31m- }[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m }[m
|
||
[m
|
||
[31m- var compoundMTR = BatchRslts.GetMeterTestRslt(testName, i, CompoundMeterId.Compound);[m
|
||
[32m+[m[32m var compoundMTR = BatchRslts.GetMeterTestRslt(testName, i, CompoundMeterId.Compound);[m
|
||
[m
|
||
[31m- if (compoundMTR != null && mainMeterRslt != null && auxMeterRslt != null)[m
|
||
[31m- {[m
|
||
[31m- compoundMTR.VolumeRef = tstRslt.VolumeCTV;[m
|
||
[31m- compoundMTR.VolumeMeter = mainMeterRslt.VolumeMeter + auxMeterRslt.VolumeMeter;[m
|
||
[31m- compoundMTR.PulsesMaster = tstRslt.PulsesMaster;[m
|
||
[31m- compoundMTR.TestTime = tstRslt.TestTime;[m
|
||
[31m- compoundMTR.Error = Formulas.ErrorFromVolumes(compoundMTR.VolumeMeter, compoundMTR.VolumeRef);[m
|
||
[31m- compoundMTR.Passed = (compoundMTR.Error >= test.GetErrLimLo(tstRslt.VolumeCTV, tstRslt.TestTime) + test.Uncertainty)[m
|
||
[31m- && (compoundMTR.Error <= test.GetErrLimHi(tstRslt.VolumeCTV, tstRslt.TestTime) - test.Uncertainty)[m
|
||
[32m+[m[32m if (compoundMTR != null && mainMeterRslt != null && auxMeterRslt != null)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m compoundMTR.VolumeRef = tstRslt.VolumeCTV;[m
|
||
[32m+[m[32m compoundMTR.VolumeMeter = mainMeterRslt.VolumeMeter + auxMeterRslt.VolumeMeter;[m
|
||
[32m+[m[32m compoundMTR.PulsesMaster = tstRslt.PulsesMaster;[m
|
||
[32m+[m[32m compoundMTR.TestTime = tstRslt.TestTime;[m
|
||
[32m+[m[32m compoundMTR.Error = Formulas.ErrorFromVolumes(compoundMTR.VolumeMeter, compoundMTR.VolumeRef);[m
|
||
[32m+[m[32m compoundMTR.Passed = (compoundMTR.Error >= test.GetErrLimLo(tstRslt.VolumeCTV, tstRslt.TestTime) + test.Uncertainty)[m
|
||
[32m+[m[32m && (compoundMTR.Error <= test.GetErrLimHi(tstRslt.VolumeCTV, tstRslt.TestTime) - test.Uncertainty)[m
|
||
&& (tstRslt.ErrorFlags == 0);[m
|
||
[31m- mainMeterRslt.Passed = auxMeterRslt.Passed = compoundMTR.Passed;[m
|
||
[31m- mainMeterRslt.TestDone = auxMeterRslt.TestDone = compoundMTR.TestDone = true;[m
|
||
[32m+[m[32m mainMeterRslt.Passed = auxMeterRslt.Passed = compoundMTR.Passed;[m
|
||
[32m+[m[32m mainMeterRslt.TestDone = auxMeterRslt.TestDone = compoundMTR.TestDone = true;[m
|
||
tstRslt.TestDone = true;[m
|
||
[31m- }[m
|
||
[31m- }[m
|
||
[31m- }[m
|
||
[31m- else if (heatMetersTestParams != null)[m
|
||
[31m- {[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m else if (heatMetersTestParams != null)[m
|
||
[32m+[m[32m {[m
|
||
///[m
|
||
/// Heat meters[m
|
||
///[m
|
||
tstRslt.RefEnergy = Energy.Sum * tstRslt.VolumeCTV / VolumeForEnergy.Sum; /// [J] = [J] * [l] / [l][m
|
||
[m
|
||
[31m- tstRslt.Custom1 = (float)TempRefHiStat.Average;[m
|
||
[31m- tstRslt.Custom2 = (float)TempRefHiStat.First;[m
|
||
[31m- tstRslt.Custom3 = (float)TempRefHiStat.Last;[m
|
||
[31m- tstRslt.Custom4 = (float)TempRefHiStat.Min;[m
|
||
[31m- tstRslt.Custom5 = (float)TempRefHiStat.Max;[m
|
||
[31m- tstRslt.Custom6 = (float)TempRefLoStat.Average;[m
|
||
[31m- tstRslt.Custom7 = (float)TempRefLoStat.First;[m
|
||
[31m- tstRslt.Custom8 = (float)TempRefLoStat.Last;[m
|
||
[31m- tstRslt.Custom9 = (float)TempRefLoStat.Min;[m
|
||
[31m- tstRslt.Custom10 = (float)TempRefLoStat.Max; [m
|
||
[32m+[m[32m tstRslt.Custom1 = (float)TempRefHiStat.Average;[m
|
||
[32m+[m[32m tstRslt.Custom2 = (float)TempRefHiStat.First;[m
|
||
[32m+[m[32m tstRslt.Custom3 = (float)TempRefHiStat.Last;[m
|
||
[32m+[m[32m tstRslt.Custom4 = (float)TempRefHiStat.Min;[m
|
||
[32m+[m[32m tstRslt.Custom5 = (float)TempRefHiStat.Max;[m
|
||
[32m+[m[32m tstRslt.Custom6 = (float)TempRefLoStat.Average;[m
|
||
[32m+[m[32m tstRslt.Custom7 = (float)TempRefLoStat.First;[m
|
||
[32m+[m[32m tstRslt.Custom8 = (float)TempRefLoStat.Last;[m
|
||
[32m+[m[32m tstRslt.Custom9 = (float)TempRefLoStat.Min;[m
|
||
[32m+[m[32m tstRslt.Custom10 = (float)TempRefLoStat.Max;[m
|
||
[m
|
||
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)[m
|
||
{[m
|
||
[36m@@ -868,10 +899,10 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
volumeRslt.TestTime = cBrd.TestTimeWM(i + 1); /// [s][m
|
||
[m
|
||
volumeRslt.Error = Formulas.ErrorFromVolumes(volumeRslt.VolumeMeter, volumeRslt.VolumeRef);[m
|
||
[31m- volumeRslt.Passed = !heatMetersTestParams.EvaluateVolume ||[m
|
||
[31m- ((volumeRslt.Error >= test.GetErrLimLo(tstRslt.VolumeCTV, tstRslt.TestTime) + test.Uncertainty) &&[m
|
||
[31m- (volumeRslt.Error <= test.GetErrLimHi(tstRslt.VolumeCTV, tstRslt.TestTime) - test.Uncertainty) &&[m
|
||
[31m- (tstRslt.ErrorFlags == 0));[m
|
||
[32m+[m[32m volumeRslt.Passed = !heatMetersTestParams.EvaluateVolume ||[m
|
||
[32m+[m[32m ((volumeRslt.Error >= test.GetErrLimLo(tstRslt.VolumeCTV, tstRslt.TestTime) + test.Uncertainty) &&[m
|
||
[32m+[m[32m (volumeRslt.Error <= test.GetErrLimHi(tstRslt.VolumeCTV, tstRslt.TestTime) - test.Uncertainty) &&[m
|
||
[32m+[m[32m (tstRslt.ErrorFlags == 0));[m
|
||
volumeRslt.TestDone = true;[m
|
||
tstRslt.TestDone = true;[m
|
||
}[m
|
||
[36m@@ -883,103 +914,131 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
energyRslt.PulsesMaster = Convert.ToDouble(energyRegReader.WMRefPulses);[m
|
||
energyRslt.VolumeStart = 0;[m
|
||
energyRslt.VolumeEnd = 0;[m
|
||
[31m- energyRslt.VolumeRef = tstRslt.RefEnergy * (energyRslt.PulsesMaster / tstRslt.PulsesMaster); /// [J][m
|
||
[32m+[m[32m energyRslt.VolumeRef = tstRslt.RefEnergy * (energyRslt.PulsesMaster / tstRslt.PulsesMaster); /// [J][m
|
||
energyRslt.VolumeMeter = energyRslt.PulsesMeter * Common.Units.ConvertFrom(Common.Unit.kWh, energyRegReader.LtrsPerPulse); /// [J][m
|
||
energyRslt.TestTime = cBrd.TestTimeWM(i + 1); /// [s][m
|
||
[m
|
||
energyRslt.Error = Formulas.ErrorFromVolumes(energyRslt.VolumeMeter, energyRslt.VolumeRef);[m
|
||
[31m- energyRslt.Passed = (energyRslt.Error >= heatMetersTestParams.ErrorLimitLo)[m
|
||
[31m- && (energyRslt.Error <= heatMetersTestParams.ErrorLimitHi)[m
|
||
[32m+[m[32m energyRslt.Passed = (energyRslt.Error >= heatMetersTestParams.ErrorLimitLo)[m
|
||
[32m+[m[32m && (energyRslt.Error <= heatMetersTestParams.ErrorLimitHi)[m
|
||
&& (tstRslt.ErrorFlags == 0);[m
|
||
energyRslt.TestDone = true;[m
|
||
tstRslt.TestDone = true;[m
|
||
}[m
|
||
}[m
|
||
}[m
|
||
[31m- else[m
|
||
[31m- {[m
|
||
[31m- ///[m
|
||
[31m- /// Single meters[m
|
||
[31m- ///[m
|
||
[31m- for (int i = 0; i < BatchRslts.WMPositionsCount; i++)[m
|
||
[31m- {[m
|
||
[31m- if (!test.IsPartCompatible(Utils.PartNr(i + 1, BatchRslts.Batch.Compound))) continue;[m
|
||
[31m-[m
|
||
[31m- /// MetersKind.Single meters[m
|
||
[31m- Results.Entities.MeterTestRslt meterRslt = BatchRslts.GetMeterTestRslt(testName, i, Common.CompoundMeterId.Single);[m
|
||
[31m- GenericDevices.IRegReader regReader = sensPath.RegisterReaders[i];[m
|
||
[32m+[m[32m else[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m ///[m
|
||
[32m+[m[32m /// Single meters[m
|
||
[32m+[m[32m ///[m
|
||
[32m+[m[32m for (int i = 0; i < BatchRslts.WMPositionsCount; i++)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m if (!test.IsPartCompatible(Utils.PartNr(i + 1, BatchRslts.Batch.Compound))) continue;[m
|
||
[32m+[m
|
||
[32m+[m[32m /// MetersKind.Single meters[m
|
||
[32m+[m[32m Results.Entities.MeterTestRslt meterRslt = BatchRslts.GetMeterTestRslt(testName, i, Common.CompoundMeterId.Single);[m
|
||
[32m+[m[32m GenericDevices.IRegReader regReader = sensPath.RegisterReaders[i];[m
|
||
GenericDevices.IRegReaderDatastream dstrReader = regReader as GenericDevices.IRegReaderDatastream;[m
|
||
TestMethods.iPerlCommunication.iPerlHead.IperlHead iPerl = regReader as TestMethods.iPerlCommunication.iPerlHead.IperlHead;[m
|
||
GenericDevices.IRegReaderLiveCamera cameraRoi = regReader as GenericDevices.IRegReaderLiveCamera;[m
|
||
[m
|
||
[31m- if (meterRslt != null && regReader != null)[m
|
||
[31m- {[m
|
||
[32m+[m[32m if (meterRslt != null && regReader != null)[m
|
||
[32m+[m[32m {[m
|
||
meterRslt.RegReaderType = (int)regReader.RegisterReaderType;[m
|
||
[31m- meterRslt.PulsesPerLiter = regReader.PulsesPerLtr;[m
|
||
[31m- meterRslt.PulsesMeter = Convert.ToDouble(regReader.WMPulses);[m
|
||
[32m+[m[32m ComponentProcedure procParamsEntity = test.Procedure.GetProcedureParamsEntity(regReader.Name);[m
|
||
[32m+[m
|
||
[32m+[m[32m try[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m if (regReader.RegisterReaderType == RegisterReaderType.Pulses)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(RRProcParams) })[0];[m
|
||
[32m+[m[32m RRProcParams tmp = Serializer.Deserialize(new StringReader(procParamsEntity.Parameters.ToString())) as RRProcParams;[m
|
||
[32m+[m[32m regReader.PulsesPerLtr = tmp.PulsesPerLtr;[m
|
||
[32m+[m[32m regReader.QuantityUnits = tmp.Units;[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m else[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m //MessageBox.Show("Cannot create or initialize a printer", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m catch (Exception ex)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m /*log.DebugFormat([m
|
||
[32m+[m[32m "Error during Procedure parameters deserialization. CmpntName='{0}', Procedure='{1}', Parameters='{2}', Exception: {3}",[m
|
||
[32m+[m[32m dbEntity?.CmpntName,[m
|
||
[32m+[m[32m dbEntity?.Procedure,[m
|
||
[32m+[m[32m dbEntity?.Parameters,[m
|
||
[32m+[m[32m ex[m
|
||
[32m+[m[32m );*/[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m
|
||
[32m+[m[32m meterRslt.PulsesPerLiter = regReader.PulsesPerLtr;//...MF 11.12.2025 toto chybalo, v .csv bol stlpec naplneny nulami[m
|
||
[32m+[m[32m meterRslt.QuantityUnits = regReader.QuantityUnits;[m
|
||
[32m+[m[32m meterRslt.PulsesMeter = Convert.ToDouble(regReader.WMPulses);[m
|
||
[m
|
||
if (dstrReader != null)[m
|
||
[31m- {[m
|
||
[31m-[m
|
||
[31m- if (dstrReader is SmartReader poseidon) //is Poseidon reader family[m
|
||
[31m- {[m
|
||
[31m- log.Info("Poseidon reader detected - Results");[m
|
||
[31m- meterRslt.TimestampStart = poseidon.TimestampSecStart;[m
|
||
[31m- meterRslt.TimestampEnd = !poseidon.NoSamples[m
|
||
[31m- ? poseidon.TimestampSecEnd[m
|
||
[31m- : (poseidon.TimestampSecStart + tstRslt.TestTime);[m
|
||
[31m- meterRslt.TestTime = meterRslt.TimestampEnd - meterRslt.TimestampStart;[m
|
||
[31m- meterRslt.VolumeStart = poseidon.VolumeLtrStart; /// liter[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m
|
||
[32m+[m[32m if (dstrReader is SmartReader poseidon) //is Poseidon reader family[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m log.Info("Poseidon reader detected - Results");[m
|
||
[32m+[m[32m meterRslt.TimestampStart = poseidon.TimestampSecStart;[m
|
||
[32m+[m[32m meterRslt.TimestampEnd = !poseidon.NoSamples[m
|
||
[32m+[m[32m ? poseidon.TimestampSecEnd[m
|
||
[32m+[m[32m : (poseidon.TimestampSecStart + tstRslt.TestTime);[m
|
||
[32m+[m[32m meterRslt.TestTime = meterRslt.TimestampEnd - meterRslt.TimestampStart;[m
|
||
[32m+[m[32m meterRslt.VolumeStart = poseidon.VolumeLtrStart; /// liter[m
|
||
meterRslt.VolumeEnd = poseidon.VolumeLtrStart + poseidon.WMVolume; //dstrReader.VolumeLtrEnd; /// liter[m
|
||
[31m- meterRslt.VolumeMeter = poseidon.WMVolume;[m
|
||
[31m-[m
|
||
[31m- if (!(meterRslt.TestTime == 0 || tstRslt.TestTime == 0))[m
|
||
[31m- {[m
|
||
[31m- meterRslt.VolumeRef = tstRslt.VolumeCTV * meterRslt.TestTime / tstRslt.TestTime;[m
|
||
[31m- meterRslt.PulsesMaster =[m
|
||
[31m- tstRslt.PulsesMaster * meterRslt.TestTime / tstRslt.TestTime;[m
|
||
[31m- }[m
|
||
[31m- else[m
|
||
[31m- {[m
|
||
[31m- meterRslt.VolumeRef = tstRslt.VolumeCTV;[m
|
||
[31m- meterRslt.PulsesMaster = tstRslt.PulsesMaster;[m
|
||
[31m- }[m
|
||
[31m-[m
|
||
[31m- log.Info($"meterRslt.TimestampStart = {meterRslt.TimestampStart} \n" +[m
|
||
[31m- $"meterRslt.TimestampEnd = {meterRslt.TimestampEnd }\n" +[m
|
||
[31m- $"meterRslt.TestTime = {meterRslt.TestTime}\n" +[m
|
||
[31m- $"meterRslt.VolumeStart = {meterRslt.VolumeStart}\n" +[m
|
||
[31m- $"meterRslt.VolumeEnd = {meterRslt.VolumeEnd}\n" +[m
|
||
[31m- $"meterRslt.VolumeMeter = {meterRslt.VolumeMeter}\n" +[m
|
||
[31m- $"meterRslt.VolumeRef = {meterRslt.VolumeRef}\n" +[m
|
||
[31m- $"meterRslt.PulsesMaster = {meterRslt.PulsesMaster}\n");[m
|
||
[31m- [m
|
||
[31m- [m
|
||
[31m- }[m
|
||
[31m- else[m
|
||
[31m- {[m
|
||
[31m- meterRslt.TimestampStart = dstrReader.TimestampSecStart;[m
|
||
[31m- meterRslt.TimestampEnd = !dstrReader.NoSamples[m
|
||
[31m- ? dstrReader.TimestampSecEnd[m
|
||
[31m- : (dstrReader.TimestampSecStart + tstRslt.TestTime);[m
|
||
[31m- meterRslt.TestTime = meterRslt.TimestampEnd - meterRslt.TimestampStart;[m
|
||
[31m- meterRslt.VolumeStart = dstrReader.VolumeLtrStart; /// liter[m
|
||
[32m+[m[32m meterRslt.VolumeMeter = poseidon.WMVolume;[m
|
||
[32m+[m
|
||
[32m+[m[32m if (!(meterRslt.TestTime == 0 || tstRslt.TestTime == 0))[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m meterRslt.VolumeRef = tstRslt.VolumeCTV * meterRslt.TestTime / tstRslt.TestTime;[m
|
||
[32m+[m[32m meterRslt.PulsesMaster =[m
|
||
[32m+[m[32m tstRslt.PulsesMaster * meterRslt.TestTime / tstRslt.TestTime;[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m else[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m meterRslt.VolumeRef = tstRslt.VolumeCTV;[m
|
||
[32m+[m[32m meterRslt.PulsesMaster = tstRslt.PulsesMaster;[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m
|
||
[32m+[m[32m log.Info($"meterRslt.TimestampStart = {meterRslt.TimestampStart} \n" +[m
|
||
[32m+[m[32m $"meterRslt.TimestampEnd = {meterRslt.TimestampEnd}\n" +[m
|
||
[32m+[m[32m $"meterRslt.TestTime = {meterRslt.TestTime}\n" +[m
|
||
[32m+[m[32m $"meterRslt.VolumeStart = {meterRslt.VolumeStart}\n" +[m
|
||
[32m+[m[32m $"meterRslt.VolumeEnd = {meterRslt.VolumeEnd}\n" +[m
|
||
[32m+[m[32m $"meterRslt.VolumeMeter = {meterRslt.VolumeMeter}\n" +[m
|
||
[32m+[m[32m $"meterRslt.VolumeRef = {meterRslt.VolumeRef}\n" +[m
|
||
[32m+[m[32m $"meterRslt.PulsesMaster = {meterRslt.PulsesMaster}\n");[m
|
||
[32m+[m
|
||
[32m+[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m else[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m meterRslt.TimestampStart = dstrReader.TimestampSecStart;[m
|
||
[32m+[m[32m meterRslt.TimestampEnd = !dstrReader.NoSamples[m
|
||
[32m+[m[32m ? dstrReader.TimestampSecEnd[m
|
||
[32m+[m[32m : (dstrReader.TimestampSecStart + tstRslt.TestTime);[m
|
||
[32m+[m[32m meterRslt.TestTime = meterRslt.TimestampEnd - meterRslt.TimestampStart;[m
|
||
[32m+[m[32m meterRslt.VolumeStart = dstrReader.VolumeLtrStart; /// liter[m
|
||
meterRslt.VolumeEnd = dstrReader.VolumeLtrEnd; /// liter[m
|
||
meterRslt.VolumeMeter =[m
|
||
[31m- Math.Abs(dstrReader.VolumeLtrEnd - dstrReader.VolumeLtrStart);[m
|
||
[31m- meterRslt.VolumeRef = tstRslt.VolumeCTV * meterRslt.TestTime / tstRslt.TestTime;[m
|
||
[31m- meterRslt.PulsesMaster =[m
|
||
[31m- tstRslt.PulsesMaster * meterRslt.TestTime / tstRslt.TestTime;[m
|
||
[31m- }[m
|
||
[32m+[m[32m Math.Abs(dstrReader.VolumeLtrEnd - dstrReader.VolumeLtrStart);[m
|
||
[32m+[m[32m meterRslt.VolumeRef = tstRslt.VolumeCTV * meterRslt.TestTime / tstRslt.TestTime;[m
|
||
[32m+[m[32m meterRslt.PulsesMaster =[m
|
||
[32m+[m[32m tstRslt.PulsesMaster * meterRslt.TestTime / tstRslt.TestTime;[m
|
||
[32m+[m[32m }[m
|
||
[m
|
||
[31m- if (iPerl != null)[m
|
||
[32m+[m[32m if (iPerl != null)[m
|
||
{[m
|
||
if (iPerl.ResultCode != 0 && (meterRslt.WaterMeter.ResultCode & (int)Results.Entities.ResultCode.OptoErrorCodeMask) == 0)[m
|
||
{[m
|
||
meterRslt.WaterMeter.ResultCode |= iPerl.ResultCode;[m
|
||
}[m
|
||
#if IPERL[m
|
||
[31m- meterRslt.WaterMeter.CalibFactor = iPerl.CalibFactor;[m
|
||
[32m+[m[32m meterRslt.WaterMeter.CalibFactor = iPerl.CalibFactor;[m
|
||
meterRslt.ExtraDataPath = iPerl.ExtraDataPath;[m
|
||
if (TestMethods.iPerlCommunication.iPerlHead.IperlHead.FeatureVectorSize >= 1) meterRslt.X1 = iPerl.X[0];[m
|
||
if (TestMethods.iPerlCommunication.iPerlHead.IperlHead.FeatureVectorSize >= 2) meterRslt.X2 = iPerl.X[1];[m
|
||
[36m@@ -1005,18 +1064,18 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
meterRslt.VolumeMeter,[m
|
||
meterRslt.VolumeRef);[m
|
||
}[m
|
||
[31m- else if (cameraRoi != null)[m
|
||
[31m- {[m
|
||
[31m- meterRslt.TimestampStart = cameraRoi.TimestampStart; /// [s][m
|
||
[31m- meterRslt.TimestampEnd = cameraRoi.TimestampEnd; /// [s][m
|
||
[31m- meterRslt.VolumeStart = cameraRoi.VolumeStart; /// [l][m
|
||
[31m- meterRslt.VolumeEnd = cameraRoi.VolumeEnd; /// [l][m
|
||
[31m- meterRslt.VolumeMeter = cameraRoi.VolumeEnd - cameraRoi.VolumeStart; /// [l][m
|
||
[32m+[m[32m else if (cameraRoi != null)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m meterRslt.TimestampStart = cameraRoi.TimestampStart; /// [s][m
|
||
[32m+[m [32mmeterRslt.TimestampEnd = cameraRoi.TimestampEnd; /// [s][m
|
||
[32m+[m [32mmeterRslt.VolumeStart = cameraRoi.VolumeStart; /// [l][m
|
||
[32m+[m [32mmeterRslt.VolumeEnd = cameraRoi.VolumeEnd; /// [l][m
|
||
[32m+[m [32mmeterRslt.VolumeMeter = cameraRoi.VolumeEnd - cameraRoi.VolumeStart; /// [l][m
|
||
[m
|
||
if (meterRslt.VolumeMeter != 0)[m
|
||
{[m
|
||
/// Normal measurement with camera[m
|
||
[31m- meterRslt.TestTime = cameraRoi.TimestampEnd - cameraRoi.TimestampStart; /// [s][m
|
||
[32m+[m[32m meterRslt.TestTime = cameraRoi.TimestampEnd - cameraRoi.TimestampStart; /// [s][m
|
||
meterRslt.VolumeRef = tstRslt.VolumeCTV * meterRslt.TestTime / tstRslt.TestTime;[m
|
||
meterRslt.PulsesMaster = tstRslt.PulsesMaster * meterRslt.TestTime / tstRslt.TestTime;[m
|
||
}[m
|
||
[36m@@ -1038,11 +1097,11 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
meterRslt.VolumeMeter,[m
|
||
meterRslt.VolumeRef);[m
|
||
}[m
|
||
[31m- else[m
|
||
[31m- {[m
|
||
[32m+[m[32m else[m
|
||
[32m+[m[32m {[m
|
||
meterRslt.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses);[m
|
||
meterRslt.VolumeStart = 0;[m
|
||
[31m- meterRslt.VolumeEnd = 0;[m
|
||
[32m+[m[32m meterRslt.VolumeEnd = 0;[m
|
||
meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// [l][m
|
||
[m
|
||
if (regReader.WMPulses >= 1)[m
|
||
[36m@@ -1050,43 +1109,67 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
/// Normal measurement[m
|
||
meterRslt.TestTime = cBrd.TestTimeWM(regReader.Position);[m
|
||
meterRslt.VolumeRef = meterRslt.PulsesMaster * tstRslt.ConstMaster; /// [l][m
|
||
[32m+[m[32m meterRslt.MassRef = meterRslt.PulsesMaster * tstRslt.MassConstMaster; /// [kg][m
|
||
}[m
|
||
else[m
|
||
{[m
|
||
/// None or one pulse from the water meter[m
|
||
meterRslt.TestTime = tstRslt.TestTime;[m
|
||
meterRslt.VolumeRef = tstRslt.VolumeCTV; /// [l][m
|
||
[32m+[m[32m meterRslt.MassRef = tstRslt.MassCTV;[m
|
||
}[m
|
||
[m
|
||
[31m- log.DebugFormat("Pulses: Pref4meter={0} Vmeter={1} Vref4meter={2} Ttime4meter={3} Ttime={4}",[m
|
||
[32m+[m[32m log.DebugFormat("Pulses: Pref4meter={0} Vmeter={1} Vref4meter={2} Mmeter={3} Mref4meter={4} Ttime4meter={5} Ttime={6}",[m
|
||
meterRslt.PulsesMaster,[m
|
||
meterRslt.VolumeMeter,[m
|
||
meterRslt.VolumeRef,[m
|
||
[32m+[m[32m meterRslt.MassMeter,[m
|
||
[32m+[m[32m meterRslt.MassRef,[m
|
||
meterRslt.TestTime,[m
|
||
tstRslt.TestTime);[m
|
||
}[m
|
||
[m
|
||
[31m- meterRslt.Error = Formulas.ErrorFromVolumes(meterRslt.VolumeMeter, meterRslt.VolumeRef);[m
|
||
[31m- meterRslt.Passed = (meterRslt.Error >= test.GetErrLimLo(tstRslt.VolumeCTV, tstRslt.TestTime) + test.Uncertainty)[m
|
||
[31m- && (meterRslt.Error <= test.GetErrLimHi(tstRslt.VolumeCTV, tstRslt.TestTime) - test.Uncertainty)[m
|
||
[31m- && (tstRslt.ErrorFlags == 0);[m
|
||
[32m+[m[32m double Error = 0;[m
|
||
[32m+[m[32m if (meterRslt.GetQuantityFromUnits() == "Mass")[m
|
||
[32m+[m[32m Error = Formulas.ErrorFromVolumes(meterRslt.MassMeter, meterRslt.MassRef);[m
|
||
[32m+[m[32m else[m
|
||
[32m+[m[32m Error = Formulas.ErrorFromVolumes(meterRslt.VolumeMeter, meterRslt.VolumeRef);[m
|
||
[32m+[m
|
||
[32m+[m[32m meterRslt.Error = Error;[m
|
||
[32m+[m
|
||
[32m+[m[32m var ErrLimLo_Volume = test.GetErrLimLo(tstRslt.VolumeCTV, tstRslt.TestTime);[m
|
||
[32m+[m[32m var ErrLimHi_Volume = test.GetErrLimHi(tstRslt.VolumeCTV, tstRslt.TestTime);[m
|
||
[32m+[m[32m var ErrLimLo_Mass = test.GetErrLimLo(tstRslt.MassCTV, tstRslt.TestTime);[m
|
||
[32m+[m[32m var ErrLimHi_Mass = test.GetErrLimHi(tstRslt.MassCTV, tstRslt.TestTime);[m
|
||
[32m+[m
|
||
[32m+[m[32m bool Passed;[m
|
||
[32m+[m[32m if (meterRslt.GetQuantityFromUnits() == "Mass")[m
|
||
[32m+[m[32m Passed = (meterRslt.Error >= ErrLimLo_Volume + test.Uncertainty) &&[m
|
||
[32m+[m[32m (meterRslt.Error <= ErrLimHi_Volume - test.Uncertainty) &&[m
|
||
[32m+[m[32m (tstRslt.ErrorFlags == 0);[m
|
||
[32m+[m[32m else[m
|
||
[32m+[m[32m Passed = (meterRslt.Error >= ErrLimLo_Mass + test.Uncertainty) &&[m
|
||
[32m+[m[32m (meterRslt.Error <= ErrLimHi_Mass - test.Uncertainty) &&[m
|
||
[32m+[m[32m (tstRslt.ErrorFlags == 0);[m
|
||
[32m+[m
|
||
[32m+[m[32m meterRslt.Passed = Passed;[m
|
||
meterRslt.TestDone = true;[m
|
||
tstRslt.TestDone = true;[m
|
||
#if ORACLE_DB[m
|
||
meterRslt.ErrorBC = meterRslt.Error;[m
|
||
#endif[m
|
||
}[m
|
||
[31m- }[m
|
||
[31m- }[m
|
||
[31m-[m
|
||
[31m- tstRslt.Components = Results.Entities.Components.UpdateList(BatchRslts.ComponentsList,[m
|
||
[31m- new Results.Entities.Components((BenchInfo != null) ? BenchInfo.TestBenchId : 1,[m
|
||
[31m- (BenchInfo != null) ? BenchInfo.TestBenchName : "testbench",[m
|
||
[31m- inPath.Pump != null ? inPath.Pump.Name : string.Empty,[m
|
||
[31m- outPath.FlowMeter != null ? outPath.FlowMeter.Name : string.Empty,[m
|
||
[31m- cBrd.Devices.Scale.Name,[m
|
||
[31m- outPath.RegValve != null ? outPath.RegValve.Name : string.Empty,[m
|
||
[31m- outPath.Diverter != null ? outPath.Diverter.Name : string.Empty));[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m
|
||
[32m+[m[32m tstRslt.Components = Results.Entities.Components.UpdateList(BatchRslts.ComponentsList,[m
|
||
[32m+[m[32m new Results.Entities.Components((BenchInfo != null) ? BenchInfo.TestBenchId : 1,[m
|
||
[32m+[m[32m (BenchInfo != null) ? BenchInfo.TestBenchName : "testbench",[m
|
||
[32m+[m[32m inPath.Pump != null ? inPath.Pump.Name : string.Empty,[m
|
||
[32m+[m[32m outPath.FlowMeter != null ? outPath.FlowMeter.Name : string.Empty,[m
|
||
[32m+[m[32m cBrd.Devices.Scale.Name,[m
|
||
[32m+[m[32m outPath.RegValve != null ? outPath.RegValve.Name : string.Empty,[m
|
||
[32m+[m[32m outPath.Diverter != null ? outPath.Diverter.Name : string.Empty));[m
|
||
[m
|
||
/// Update water meter error flags[m
|
||
if (ErrorFlagsComp != null)[m
|
||
[36m@@ -1105,24 +1188,24 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
}[m
|
||
}[m
|
||
[m
|
||
[31m- /// Update results[m
|
||
[31m- Bridge.OnTestCompleted(this, new TestCompletedEventArgs(testName, tstRslt));[m
|
||
[31m- }[m
|
||
[32m+[m[32m /// Update results[m
|
||
[32m+[m[32m Bridge.OnTestCompleted(this, new TestCompletedEventArgs(testName, tstRslt));[m
|
||
[32m+[m[32m }[m
|
||
[m
|
||
[31m- Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.TransitionAfter));[m
|
||
[32m+[m[32m Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.TransitionAfter));[m
|
||
[m
|
||
[31m- /// Append the results to the CSV-file[m
|
||
[31m- allResults.Info(TestResult2CsvLine(testName, test.Part));[m
|
||
[32m+[m[32m /// Append the results to the CSV-file[m
|
||
[32m+[m[32m allResults.Info(TestResult2CsvLine(testName, test.Part));[m
|
||
[m
|
||
if (stopCycle) retVal = Event.ErrorFlagsStop;[m
|
||
[m
|
||
[31m- stopTest:[m
|
||
[32m+[m[32m stopTest:[m
|
||
[m
|
||
[31m- StopRecordingStatistics(); /// Make sure graph files are closed[m
|
||
[32m+[m[32m StopRecordingStatistics(); /// Make sure graph files are closed[m
|
||
[m
|
||
[31m- ///[m
|
||
[31m- /// Quit this sequence[m
|
||
[31m- ///[m
|
||
[32m+[m[32m ///[m
|
||
[32m+[m[32m /// Quit this sequence[m
|
||
[32m+[m[32m ///[m
|
||
if (isLastRepetition || retVal == Event.UiCmdStop[m
|
||
|| retVal == Event.OpArgumentError[m
|
||
|| retVal == Event.RecoverableError[m
|
||
[36m@@ -1133,18 +1216,18 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
cBrd.StopAll(false);[m
|
||
}[m
|
||
[m
|
||
[31m- return new List<Event> { retVal };[m
|
||
[31m- }[m
|
||
[32m+[m[32m return new List<Event> { retVal };[m
|
||
[32m+[m[32m }[m
|
||
[m
|
||
[m
|
||
[31m- IList<Event> Simulate1(Config.Entities.Test test, int repetitionNr, bool isLastRepetition,[m
|
||
[31m- Compound.CombinedTestParams compoundTestParams,[m
|
||
[31m- HeatMeters.TestParams heatMetersTestParams)[m
|
||
[31m- {[m
|
||
[31m- ///[m
|
||
[31m- /// Test method simulation[m
|
||
[31m- /// [m
|
||
[31m- Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[32m+[m[32m IList<Event> Simulate1(Config.Entities.Test test, int repetitionNr, bool isLastRepetition,[m
|
||
[32m+[m[32m Compound.CombinedTestParams compoundTestParams,[m
|
||
[32m+[m[32m HeatMeters.TestParams heatMetersTestParams)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m ///[m
|
||
[32m+[m[32m /// Test method simulation[m
|
||
[32m+[m[32m ///[m[41m [m
|
||
[32m+[m[32m Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[m
|
||
foreach (var rr in sensPath.RegisterReaders)[m
|
||
{[m
|
||
[36m@@ -1157,12 +1240,12 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
StateMachine.WaitRunDevsRunOps();[m
|
||
StateMachine.WaitRunDevsRunOps();[m
|
||
[m
|
||
[31m- [m
|
||
[31m- if (compoundTestParams != null)[m
|
||
[31m- {[m
|
||
[32m+[m
|
||
[32m+[m[32m if (compoundTestParams != null)[m
|
||
[32m+[m[32m {[m
|
||
if (test.Name.ToLower().Contains("nok")) MakeSimulatedCompound(test, 1, test.Part, 4.7f, 0.9f);[m
|
||
else MakeSimulatedCompound(test, repetitionNr, test.Part, 0.7f, 1.0f);[m
|
||
[31m- }[m
|
||
[32m+[m[32m }[m
|
||
else if (heatMetersTestParams != null)[m
|
||
{[m
|
||
MakeSimulatedHeatMeters(test, repetitionNr, test.Part, 1.5f, 1000000, heatMetersTestParams.ErrorLimitLo, heatMetersTestParams.ErrorLimitHi, heatMetersTestParams.EvaluateVolume);[m
|
||
[36m@@ -1170,91 +1253,91 @@[m [mnamespace TBF.Rig.TestMethods.FlyingStartMassCollection[m
|
||
else[m
|
||
{[m
|
||
float errorPctBase = -1.0f;[m
|
||
[31m- if (test.Name.ToLower().Contains("q3")) errorPctBase = -0.5f;[m
|
||
[32m+[m[32m if (test.Name.ToLower().Contains("q3")) errorPctBase = -0.5f;[m
|
||
else if (test.Name.ToLower().Contains("q2")) errorPctBase = 0.5f;[m
|
||
else if (test.Name.ToLower().Contains("q1")) errorPctBase = -5.1f;[m
|
||
[m
|
||
MakeSimulated(test, repetitionNr, test.Part, errorPctBase + repetitionNr * 0.1f);[m
|
||
}[m
|
||
[m
|
||
[31m- Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.Completed));[m
|
||
[31m- Bridge.OnTestCompleted(this, new TestCompletedEventArgs(test.Name, BatchRslts.GetTestRslt(Results.Utils.GetTestName(test.Name, 1, 1), 0)));[m
|
||
[31m- allResults.Info(TestResult2CsvLine(test.Name, 0)); /// Append the results to the CSV-file[m
|
||
[32m+[m[32m Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.Completed));[m
|
||
[32m+[m[32m Bridge.OnTestCompleted(this, new TestCompletedEventArgs(test.Name, BatchRslts.GetTestRslt(Results.Utils.GetTestName(test.Name, 1, 1), 0)));[m
|
||
[32m+[m[32m allResults.Info(TestResult2CsvLine(test.Name, 0)); /// Append the results to the CSV-file[m
|
||
[m
|
||
[31m- //-------------------------------------------------------------------[m
|
||
[31m- Bridge.OnActivity(this, string.Format("{0} Simulation", test.Name));[m
|
||
[31m- //-------------------------------------------------------------------[m
|
||
[32m+[m[32m //-------------------------------------------------------------------[m
|
||
[32m+[m[32m Bridge.OnActivity(this, string.Format("{0} Simulation", test.Name));[m
|
||
[32m+[m[32m //-------------------------------------------------------------------[m
|
||
[m
|
||
[31m- State.Create(string.Format("{0}({1}) : Simulation", test.Method, test.Name))[m
|
||
[31m- .AddOperation(checkUiOp)[m
|
||
[31m- .EnterState();[m
|
||
[31m- IList<Event> e = StateMachine.WaitRunDevsRunOps();[m
|
||
[32m+[m[32m State.Create(string.Format("{0}({1}) : Simulation", test.Method, test.Name))[m
|
||
[32m+[m[32m .AddOperation(checkUiOp)[m
|
||
[32m+[m[32m .EnterState();[m
|
||
[32m+[m[32m IList<Event> e = StateMachine.WaitRunDevsRunOps();[m
|
||
[m
|
||
return new List<Event> { TestAndLogUiCmdStop(test, e) ? Event.UiCmdStop : Event.Done };[m
|
||
[31m- }[m
|
||
[32m+[m[32m }[m
|
||
[m
|
||
[m
|
||
[31m- IList<Event> Simulate2(Config.Entities.Test test, int repetitionNr, bool isLastRepetition,[m
|
||
[31m- Compound.CombinedTestParams compoundTestParams,[m
|
||
[31m- HeatMeters.TestParams heatMetersTestParams)[m
|
||
[31m- {[m
|
||
[31m- IList<Event> e;[m
|
||
[31m- Event retVal = Event.Done;[m
|
||
[32m+[m[32m IList<Event> Simulate2(Config.Entities.Test test, int repetitionNr, bool isLastRepetition,[m
|
||
[32m+[m[32m Compound.CombinedTestParams compoundTestParams,[m
|
||
[32m+[m[32m HeatMeters.TestParams heatMetersTestParams)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m IList<Event> e;[m
|
||
[32m+[m[32m Event retVal = Event.Done;[m
|
||
[m
|
||
[31m- ///[m
|
||
[31m- /// Test method with flow chart simulation[m
|
||
[31m- /// [m
|
||
[31m- Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[32m+[m[32m ///[m
|
||
[32m+[m[32m /// Test method with flow chart simulation[m
|
||
[32m+[m[32m ///[m[41m [m
|
||
[32m+[m[32m Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[m
|
||
[m
|
||
[31m- /// Simulate flow[m
|
||
[32m+[m[32m /// Simulate flow[m
|
||
StartNewStatistics(null, BatchRslts.Batch.BatchNr, test, repetitionNr, 0);[m
|
||
[m
|
||
[31m- IntBox remainingTime = new IntBox((int)test.TestTime);[m
|
||
[31m- State.Create(string.Format("{0}({1}) : Simulation", test.Method, test.Name))[m
|
||
[31m- .AddOperation(checkUiOp)[m
|
||
[31m- .AddOperation(new Operations.TimerOp((int)test.TestTime, remainingTime))[m
|
||
[31m- .EnterState();[m
|
||
[31m- do[m
|
||
[31m- {[m
|
||
[31m- e = StateMachine.WaitRunDevsRunOps();[m
|
||
[31m- if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; break; }[m
|
||
[31m-[m
|
||
[31m- Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.Test));[m
|
||
[31m-[m
|
||
[31m- if (remainingTime.Val > 60)[m
|
||
[31m- {[m
|
||
[31m- Bridge.OnActivity(this, string.Format("{0} ... {1} {2} {3} {4}", Strings.Test_in_progress, remainingTime.Val / 60, "min", remainingTime.Val % 60, Strings.sec));[m
|
||
[31m- }[m
|
||
[31m- else[m
|
||
[31m- {[m
|
||
[31m- Bridge.OnActivity(this, string.Format("{0} ... {1} s", Strings.Test_in_progress, remainingTime.Val));[m
|
||
[31m- }[m
|
||
[31m- //------------------------------------------------[m
|
||
[31m-[m
|
||
[31m- RefFlow.Val = (1.0 + 0.2 * Math.Sin(2 * Math.PI * (float)remainingTime.Val / test.TestTime)) * (test.QfromM3ph() + test.QtoM3ph()) / 2.0;[m
|
||
[32m+[m[32m IntBox remainingTime = new IntBox((int)test.TestTime);[m
|
||
[32m+[m[32m State.Create(string.Format("{0}({1}) : Simulation", test.Method, test.Name))[m
|
||
[32m+[m[32m .AddOperation(checkUiOp)[m
|
||
[32m+[m[32m .AddOperation(new Operations.TimerOp((int)test.TestTime, remainingTime))[m
|
||
[32m+[m[32m .EnterState();[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m e = StateMachine.WaitRunDevsRunOps();[m
|
||
[32m+[m[32m if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; break; }[m
|
||
[32m+[m
|
||
[32m+[m[32m Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.Test));[m
|
||
[32m+[m
|
||
[32m+[m[32m if (remainingTime.Val > 60)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m Bridge.OnActivity(this, string.Format("{0} ... {1} {2} {3} {4}", Strings.Test_in_progress, remainingTime.Val / 60, "min", remainingTime.Val % 60, Strings.sec));[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m else[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m Bridge.OnActivity(this, string.Format("{0} ... {1} s", Strings.Test_in_progress, remainingTime.Val));[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m //------------------------------------------------[m
|
||
[32m+[m
|
||
[32m+[m[32m RefFlow.Val = (1.0 + 0.2 * Math.Sin(2 * Math.PI * (float)remainingTime.Val / test.TestTime)) * (test.QfromM3ph() + test.QtoM3ph()) / 2.0;[m
|
||
PressUp.Val = 2.7f;[m
|
||
PressDown.Val = 2.2f;[m
|
||
[m
|
||
[31m- UpdateAllStatistics();[m
|
||
[31m- }[m
|
||
[31m- while (!e.Contains(Event.TimerExpired));[m
|
||
[32m+[m[32m UpdateAllStatistics();[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m while (!e.Contains(Event.TimerExpired));[m
|
||
[m
|
||
[31m- StopRecordingStatistics();[m
|
||
[32m+[m[32m StopRecordingStatistics();[m
|
||
[m
|
||
[31m- if (retVal != Event.UiCmdStop)[m
|
||
[31m- {[m
|
||
[31m- float errorPctBase = -1.0f;[m
|
||
[32m+[m[32m if (retVal != Event.UiCmdStop)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m float errorPctBase = -1.0f;[m
|
||
[m
|
||
[31m- if (test.Name.ToLower().Contains("q3")) errorPctBase = -0.5f;[m
|
||
[31m- else if (test.Name.ToLower().Contains("q2")) errorPctBase = 0.5f;[m
|
||
[31m- else if (test.Name.ToLower().Contains("q1")) errorPctBase = -5.1f;[m
|
||
[32m+[m[32m if (test.Name.ToLower().Contains("q3")) errorPctBase = -0.5f;[m
|
||
[32m+[m[32m else if (test.Name.ToLower().Contains("q2")) errorPctBase = 0.5f;[m
|
||
[32m+[m[32m else if (test.Name.ToLower().Contains("q1")) errorPctBase = -5.1f;[m
|
||
[m
|
||
[31m- MakeSimulated(test, repetitionNr, test.Part, errorPctBase + repetitionNr * 0.1f);[m
|
||
[32m+[m[32m MakeSimulated(test, repetitionNr, test.Part, errorPctBase + repetitionNr * 0.1f);[m
|
||
[m
|
||
[31m- Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.Completed));[m
|
||
[31m- Bridge.OnTestCompleted(this, new TestCompletedEventArgs(test.Name, BatchRslts.GetTestRslt(Results.Utils.GetTestName(test.Name, 1, 1), 0)));[m
|
||
[31m- allResults.Info(TestResult2CsvLine(test.Name, 0)); /// Append the results to the CSV-file[m
|
||
[32m+[m[32m Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.Completed));[m
|
||
[32m+[m[32m Bridge.OnTestCompleted(this, new TestCompletedEventArgs(test.Name, BatchRslts.GetTestRslt(Results.Utils.GetTestName(test.Name, 1, 1), 0)));[m
|
||
[32m+[m[32m allResults.Info(TestResult2CsvLine(test.Name, 0)); /// Append the results to the CSV-file[m
|
||
}[m
|
||
[m
|
||
return new List<Event> { retVal }; /// default 'retVal' value is Event.Done[m
|
||
[1mdiff --git a/TBF/Rig/TestMethods/StandingStartMassCollection/StandingStartMassCollectionSeq.cs b/TBF/Rig/TestMethods/StandingStartMassCollection/StandingStartMassCollectionSeq.cs[m
|
||
[1m--- a/TBF/Rig/TestMethods/StandingStartMassCollection/StandingStartMassCollectionSeq.cs[m
|
||
[1m+++ b/TBF/Rig/TestMethods/StandingStartMassCollection/StandingStartMassCollectionSeq.cs[m
|
||
[36m@@ -1,13 +1,14 @@[m
|
||
[31m-///[m
|
||
[32m+[m[32musing Common;[m
|
||
[32m+[m[32musing Config.Entities;[m
|
||
[32m+[m[32musing log4net;[m
|
||
[32m+[m[32m///[m
|
||
/// Copyright (c) 2013-2021 Sensus Slovensko a.s.[m
|
||
///[m
|
||
using System;[m
|
||
using System.Collections.Generic;[m
|
||
using System.IO;[m
|
||
using System.Threading;[m
|
||
[31m-using log4net;[m
|
||
[31m-using Common;[m
|
||
[31m-using Config.Entities;[m
|
||
[32m+[m[32musing System.Xml.Serialization;[m
|
||
using TBF.Boxes;[m
|
||
using TBF.Resources;[m
|
||
using TBF.Rig.GenericDevices;[m
|
||
[36m@@ -74,21 +75,21 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
return true;[m
|
||
}[m
|
||
[m
|
||
[31m- /// <summary>[m
|
||
[31m- /// Fixed start mass collection method sequence[m
|
||
[31m- /// </summary>[m
|
||
[31m- /// <param name="test">Test entity</param>[m
|
||
[31m- /// <returns>[m
|
||
[31m- /// Event.Done . . . . . . . OK[m
|
||
[31m- /// Event.MakeSecondPass . . OK, 2nd pass (=evaluation) required[m
|
||
[31m- /// Event.UiCmdStop . . . . Stopped by the user using the on-screen button STOP[m
|
||
[31m- /// Event.OpArgumentError . Target flow is out of range[m
|
||
[31m- /// Event.Error . . . . . . Unspecified error[m
|
||
[31m- /// </returns>[m
|
||
[31m- public IList<Event> Execute(Config.Entities.Test test, int repetitionNr, bool isLastRepetition,[m
|
||
[32m+[m[32m /// <summary>[m
|
||
[32m+[m[32m /// Fixed start mass collection method sequence[m
|
||
[32m+[m[32m /// </summary>[m
|
||
[32m+[m[32m /// <param name="test">Test entity</param>[m
|
||
[32m+[m[32m /// <returns>[m
|
||
[32m+[m[32m /// Event.Done . . . . . . . OK[m
|
||
[32m+[m[32m /// Event.MakeSecondPass . . OK, 2nd pass (=evaluation) required[m
|
||
[32m+[m[32m /// Event.UiCmdStop . . . . Stopped by the user using the on-screen button STOP[m
|
||
[32m+[m[32m /// Event.OpArgumentError . Target flow is out of range[m
|
||
[32m+[m[32m /// Event.Error . . . . . . Unspecified error[m
|
||
[32m+[m[32m /// </returns>[m
|
||
[32m+[m[32m public IList<Event> Execute(Config.Entities.Test test, int repetitionNr, bool isLastRepetition,[m
|
||
bool compound,[m
|
||
[31m- HeatMeters.TestParams heatMetersTestParams,[m
|
||
[31m- Common.DebugMode debugLevel)[m
|
||
[32m+[m[32m HeatMeters.TestParams heatMetersTestParams,[m
|
||
[32m+[m[32m Common.DebugMode debugLevel)[m
|
||
{[m
|
||
ControlBoard.IControlBoard cBrd = StateMachine.ControlBoardMain;[m
|
||
IScale scale = cBrd.Devices.Scale as IScale;[m
|
||
[36m@@ -101,7 +102,7 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
}[m
|
||
[m
|
||
IList<Event> e; /// Events from currently running operations[m
|
||
[31m- int waterMetersCount = Math.Min(BenchInfo.WaterMetersCount, sensPath.RegisterReaders.Length); [m
|
||
[32m+[m[32m int waterMetersCount = Math.Min(BenchInfo.WaterMetersCount, sensPath.RegisterReaders.Length);[m
|
||
DateTimeBox timeStampStart = new DateTimeBox();[m
|
||
DateTimeBox timeStampEnd = new DateTimeBox();[m
|
||
FloatBox startSwitchTime = new FloatBox();[m
|
||
[36m@@ -154,7 +155,8 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
.AddOperation(checkUiOp)[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[36m@@ -172,53 +174,54 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
IOperation heatMetersPromptOp = null;[m
|
||
if (heatMetersTestParams != null && !string.IsNullOrEmpty(heatMetersTestParams.Prompt))[m
|
||
{[m
|
||
[31m- /// Make sure the CycleBeginForm is closed[m
|
||
[31m- if (UIFlowControl.Stop == WaitBeginFormClosed()) goto stopTest;[m
|
||
[32m+[m[32m /// Make sure the CycleBeginForm is closed[m
|
||
[32m+[m[32m if (UIFlowControl.Stop == WaitBeginFormClosed()) goto stopTest;[m
|
||
[m
|
||
[31m- heatMetersPromptOp = new Operations.MessageBoxOp(heatMetersTestParams.Prompt);[m
|
||
[32m+[m[32m heatMetersPromptOp = new Operations.MessageBoxOp(heatMetersTestParams.Prompt);[m
|
||
}[m
|
||
[m
|
||
[m
|
||
if (test.DoDraining || (scale.Mass + test.Volume >= scale.Capacity * Constants.TankFullFactor))[m
|
||
[31m- {[m
|
||
[32m+[m[32m {[m
|
||
///[m
|
||
/// There is not enough room in the tank OR unconditional draining ... drain the water tank[m
|
||
///[m
|
||
IList<IOperation> ops = new List<IOperation>(readTempPressOps);[m
|
||
ops.Add(heatMetersPromptOp);[m
|
||
[31m- switch (DrainTheTank(scale, ops))[m
|
||
[31m- {[m
|
||
[31m- case Event.Error: { retVal = Event.Error; goto stopTest; }[m
|
||
[31m- case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[31m- }[m
|
||
[31m- }[m
|
||
[31m- ///[m
|
||
[31m- /// Make sure the drain valve is closed[m
|
||
[31m- ///[m
|
||
[31m- State.Create(string.Format("{0}({1}) : Make sure the drain valve is closed", test.Method, test.Name))[m
|
||
[31m- .AddOperation(checkUiOp)[m
|
||
[32m+[m[32m switch (DrainTheTank(scale, ops))[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m case Event.Error: { retVal = Event.Error; goto stopTest; }[m
|
||
[32m+[m[32m case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m ///[m
|
||
[32m+[m[32m /// Make sure the drain valve is closed[m
|
||
[32m+[m[32m ///[m
|
||
[32m+[m[32m State.Create(string.Format("{0}({1}) : Make sure the drain valve is closed", test.Method, test.Name))[m
|
||
[32m+[m[32m .AddOperation(checkUiOp)[m
|
||
.AddOperations(readTempPressOps)[m
|
||
[31m- .AddOperation(heatMetersPromptOp)[m
|
||
[31m- .AddOperation(cBrd.SetValvesOp(null, scale.DrainValve))[m
|
||
[31m- .EnterState();[m
|
||
[31m- do {[m
|
||
[31m- e = StateMachine.WaitRunDevsRunOps();[m
|
||
[31m- Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.JustStarted));[m
|
||
[32m+[m[32m .AddOperation(heatMetersPromptOp)[m
|
||
[32m+[m[32m .AddOperation(cBrd.SetValvesOp(null, scale.DrainValve))[m
|
||
[32m+[m[32m .EnterState();[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m e = StateMachine.WaitRunDevsRunOps();[m
|
||
[32m+[m[32m Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.JustStarted));[m
|
||
[m
|
||
[31m- if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[31m- if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[31m- }[m
|
||
[31m- while (!e.Contains(Event.ValvesSet));[m
|
||
[32m+[m[32m if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[32m+[m[32m if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m while (!e.Contains(Event.ValvesSet));[m
|
||
[m
|
||
[m
|
||
//------------------------------------------------[m
|
||
Bridge.OnActivity(this, Strings.Starting_the_pump);[m
|
||
//------------------------------------------------[m
|
||
[m
|
||
[31m- Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[31m- int flowSetTime0 = StateMachine.Time;[m
|
||
[32m+[m[32m Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[32m+[m[32m int flowSetTime0 = StateMachine.Time;[m
|
||
[m
|
||
[31m- if (inPath.Pump is GenericDevices.IPumpFM) (inPath.Pump as GenericDevices.IPumpFM).TurnOn(test.PumpPower);[m
|
||
[32m+[m[32m if (inPath.Pump is GenericDevices.IPumpFM) (inPath.Pump as GenericDevices.IPumpFM).TurnOn(test.PumpPower);[m
|
||
///[m
|
||
State.Create(string.Format("{0}({1}) : Starting the pump", test.Method, test.Name))[m
|
||
.AddOperation(checkUiOp)[m
|
||
[36m@@ -227,14 +230,15 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
.AddOperation(heatMetersPromptOp)[m
|
||
.AddOperation(inPath.Pump != null ? cBrd.SetValvesOp(inPath.Pump, null) : null)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[m
|
||
if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[31m- if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[32m+[m[32m if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
}[m
|
||
[31m- while (e.Contains(Event.ValvesBusy) /* || !e.Contains(Event.AllPositionsReached)*/);[m
|
||
[32m+[m[32m while (e.Contains(Event.ValvesBusy) /* || !e.Contains(Event.AllPositionsReached)*/);[m
|
||
[m
|
||
[m
|
||
if (test.TimePump2StartV > 0)[m
|
||
[36m@@ -245,7 +249,8 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
.AddOperation(new Operations.TimerOp(test.TimePump2StartV))[m
|
||
.AddOperation(heatMetersPromptOp)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[m
|
||
[36m@@ -263,10 +268,11 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
.AddOperation(cBrd.SetValvesOp(benchPath.StopBFValve, null))[m
|
||
.AddOperation(heatMetersPromptOp)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[31m- if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[32m+[m[32m if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
}[m
|
||
while (!e.Contains(Event.ValvesSet));[m
|
||
}[m
|
||
[36m@@ -280,7 +286,8 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
.AddOperation(new Operations.TimerOp(test.TimeBeforeFlow))[m
|
||
.AddOperation(heatMetersPromptOp)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[m
|
||
[36m@@ -302,8 +309,9 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.AddOperation(cBrd.SetValvesOp(inPath.Pump, null))[m
|
||
.AddOperation(heatMetersPromptOp)[m
|
||
[31m- .EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m .EnterState();[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[m
|
||
[36m@@ -317,7 +325,8 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
.AddOperation(cBrd.OpenStartValveOp())[m
|
||
.AddOperation(heatMetersPromptOp)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[m
|
||
[36m@@ -329,14 +338,15 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
.AddOperation(checkUiOp)[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.AddOperation(cBrd.SetFlowOp(test.QfromM3ph(), test.QtoM3ph(), RefFlow, FlowSettingTimeoutSec))[m
|
||
[31m- .AddOperation(heatMetersPromptOp)[m
|
||
[31m- .EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m .AddOperation(heatMetersPromptOp)[m
|
||
[32m+[m[32m .EnterState();[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.FlowSetting));[m
|
||
[m
|
||
if (e.Contains(Event.OpArgumentError)) { retVal = Event.OpArgumentError; goto stopTest; }[m
|
||
[31m- if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[32m+[m[32m if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
if (e.Contains(Event.RegulValveTimeOut))[m
|
||
{[m
|
||
Bridge.OnError(this, Strings.Flow_adjustment_failed);[m
|
||
[36m@@ -362,15 +372,16 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
//---------------------------------------------------[m
|
||
[m
|
||
int lastTimeSec = StateMachine.Time;[m
|
||
[31m- double Tw_last = 0;[m
|
||
[31m- double Tc_last = 0;[m
|
||
[32m+[m[32m double Tw_last = 0;[m
|
||
[32m+[m[32m double Tc_last = 0;[m
|
||
[m
|
||
State.Create(string.Format("{0}({1}) : Checking if the temperature is stable", test.Method, test.Name))[m
|
||
.AddOperation(checkUiOp)[m
|
||
.AddOperations(readTempPressOps)[m
|
||
[31m- .AddOperation(heatMetersPromptOp)[m
|
||
[31m- .EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m .AddOperation(heatMetersPromptOp)[m
|
||
[32m+[m[32m .EnterState();[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
if (e.Contains(Event.Next))[m
|
||
[36m@@ -378,56 +389,57 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
break; /// Simulate temperature is within range[m
|
||
}[m
|
||
[m
|
||
[31m- if (TempRefHi1.Val != 0 && TempRefHi2.Val != 0 && TempRefLo1.Val != 0 && TempRefLo2.Val != 0)[m
|
||
[31m- {[m
|
||
[31m- if (StateMachine.Time - lastTimeSec > 10 || StateMachine.Time - lastTimeSec < 0)[m
|
||
[31m- {[m
|
||
[31m- double Tw = (TempRefHi1.Val + TempRefHi2.Val) / 2;[m
|
||
[31m- double Tc = (TempRefLo1.Val + TempRefLo2.Val) / 2;[m
|
||
[31m- if ((heatMetersTestParams.TempWarmLo <= Tw) && (Tw <= heatMetersTestParams.TempWarmHi) &&[m
|
||
[31m- (heatMetersTestParams.TempColdLo <= Tc) && (Tc <= heatMetersTestParams.TempColdHi) &&[m
|
||
[31m- (Math.Abs(Tw - Tw_last) <= heatMetersTestParams.ChangeInTimeWarm) &&[m
|
||
[31m- (Math.Abs(Tc - Tc_last) <= heatMetersTestParams.ChangeInTimeCold) &&[m
|
||
[31m- (Math.Abs(TempRefHi1.Val - TempRefHi2.Val) <= heatMetersTestParams.DeltaTempWarm) &&[m
|
||
[31m- (Math.Abs(TempRefLo1.Val - TempRefLo2.Val) <= heatMetersTestParams.DeltaTempCold))[m
|
||
[31m- {[m
|
||
[32m+[m[32m if (TempRefHi1.Val != 0 && TempRefHi2.Val != 0 && TempRefLo1.Val != 0 && TempRefLo2.Val != 0)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m if (StateMachine.Time - lastTimeSec > 10 || StateMachine.Time - lastTimeSec < 0)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m double Tw = (TempRefHi1.Val + TempRefHi2.Val) / 2;[m
|
||
[32m+[m[32m double Tc = (TempRefLo1.Val + TempRefLo2.Val) / 2;[m
|
||
[32m+[m[32m if ((heatMetersTestParams.TempWarmLo <= Tw) && (Tw <= heatMetersTestParams.TempWarmHi) &&[m
|
||
[32m+[m[32m (heatMetersTestParams.TempColdLo <= Tc) && (Tc <= heatMetersTestParams.TempColdHi) &&[m
|
||
[32m+[m[32m (Math.Abs(Tw - Tw_last) <= heatMetersTestParams.ChangeInTimeWarm) &&[m
|
||
[32m+[m[32m (Math.Abs(Tc - Tc_last) <= heatMetersTestParams.ChangeInTimeCold) &&[m
|
||
[32m+[m[32m (Math.Abs(TempRefHi1.Val - TempRefHi2.Val) <= heatMetersTestParams.DeltaTempWarm) &&[m
|
||
[32m+[m[32m (Math.Abs(TempRefLo1.Val - TempRefLo2.Val) <= heatMetersTestParams.DeltaTempCold))[m
|
||
[32m+[m[32m {[m
|
||
break; /// Temperature is withing required range[m
|
||
}[m
|
||
[m
|
||
[31m- lastTimeSec = StateMachine.Time;[m
|
||
[31m- Tw_last = Tw;[m
|
||
[31m- Tc_last = Tc;[m
|
||
[31m- }[m
|
||
[31m- }[m
|
||
[32m+[m[32m lastTimeSec = StateMachine.Time;[m
|
||
[32m+[m[32m Tw_last = Tw;[m
|
||
[32m+[m[32m Tc_last = Tc;[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m }[m
|
||
}[m
|
||
while (true);[m
|
||
}[m
|
||
[31m- else if (!string.IsNullOrEmpty(test.TempControl) && benchPath.TempMtrUp != null && benchPath.TempMtrDown != null)[m
|
||
[31m- {[m
|
||
[31m- //---------------------------------------------------[m
|
||
[31m- Bridge.OnActivity(this, Strings.Setting_temperature);[m
|
||
[31m- //---------------------------------------------------[m
|
||
[31m-[m
|
||
[31m- State.Create(string.Format("{0}({1}) : Wait until the water temperature is within limits", test.Method, test.Name))[m
|
||
[31m- .AddOperation(checkUiOp)[m
|
||
[32m+[m[32m else if (!string.IsNullOrEmpty(test.TempControl) && benchPath.TempMtrUp != null && benchPath.TempMtrDown != null)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m //---------------------------------------------------[m
|
||
[32m+[m[32m Bridge.OnActivity(this, Strings.Setting_temperature);[m
|
||
[32m+[m[32m //---------------------------------------------------[m
|
||
[32m+[m
|
||
[32m+[m[32m State.Create(string.Format("{0}({1}) : Wait until the water temperature is within limits", test.Method, test.Name))[m
|
||
[32m+[m[32m .AddOperation(checkUiOp)[m
|
||
.AddOperations(readTempPressOps)[m
|
||
[31m- .EnterState();[m
|
||
[31m- do {[m
|
||
[31m- e = StateMachine.WaitRunDevsRunOps();[m
|
||
[31m- if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[32m+[m[32m .EnterState();[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m e = StateMachine.WaitRunDevsRunOps();[m
|
||
[32m+[m[32m if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
if (e.Contains(Event.Next))[m
|
||
{[m
|
||
break; /// Simulate temperature is within range[m
|
||
}[m
|
||
[m
|
||
[31m- if (TempUp.Val >= test.TempLimLo && TempUp.Val <= test.TempLimHi &&[m
|
||
[31m- TempDown.Val >= test.TempLimLo && TempDown.Val <= test.TempLimHi)[m
|
||
[31m- {[m
|
||
[32m+[m[32m if (TempUp.Val >= test.TempLimLo && TempUp.Val <= test.TempLimHi &&[m
|
||
[32m+[m[32m TempDown.Val >= test.TempLimLo && TempDown.Val <= test.TempLimHi)[m
|
||
[32m+[m[32m {[m
|
||
break; /// Temperature set withing required range[m
|
||
}[m
|
||
[31m- }[m
|
||
[31m- while (true);[m
|
||
[31m- }[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m while (true);[m
|
||
[32m+[m[32m }[m
|
||
[m
|
||
///[m
|
||
/// Temperature is withing required range at this point[m
|
||
[36m@@ -435,7 +447,7 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
[m
|
||
//-----------------------------------------------------------------[m
|
||
Bridge.OnActivity(this, Strings.Stopping_flow_for_the_fixed_start);[m
|
||
[31m- //-----------------------------------------------------------------[m
|
||
[32m+[m[32m //-----------------------------------------------------------------[m
|
||
State.Create(string.Format("{0}({1}) : Stop flow regulation", test.Method, test.Name))[m
|
||
.AddOperation(checkUiOp)[m
|
||
.AddOperations(readTempPressOps)[m
|
||
[36m@@ -451,10 +463,11 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
.AddOperation(checkUiOp)[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.AddOperation(cBrd.CloseStartValveOp())[m
|
||
[31m- .EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m .EnterState();[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
[31m- if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[32m+[m[32m if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
}[m
|
||
while (!e.Contains(Event.ValvesSet));[m
|
||
[36m@@ -483,10 +496,10 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
if (heatMetersPath == null) LogProcessDataHeader(processDataLogger, "Start mass");[m
|
||
else LogProcessDataHeaderHeatMeters(processDataLogger, "Start mass");[m
|
||
[m
|
||
[31m- ///[m
|
||
[31m- /// Enter water meter begin states and read the start mass at the same time[m
|
||
[31m- ///[m
|
||
[31m- GenericDevices.IHasWMStatesForm dataEntryCmpnt = TbfComponents.FindComponent(StateMachine.Procedure.DataEntry) as GenericDevices.IHasWMStatesForm;[m
|
||
[32m+[m[32m ///[m
|
||
[32m+[m[32m /// Enter water meter begin states and read the start mass at the same time[m
|
||
[32m+[m[32m ///[m
|
||
[32m+[m[32m GenericDevices.IHasWMStatesForm dataEntryCmpnt = TbfComponents.FindComponent(StateMachine.Procedure.DataEntry) as GenericDevices.IHasWMStatesForm;[m
|
||
IOperation readStartMassOp = scale.ReadStableMassOp(ref StartMass, test.TimeFlow2Mass, test.MassMethod, test.MassRepeats, test.MassSpread);[m
|
||
[m
|
||
if (dataEntryCmpnt != null)[m
|
||
[36m@@ -515,7 +528,7 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
triggerValve = roi.GetValve();[m
|
||
if (triggerValve != null && !triggerSend)[m
|
||
{[m
|
||
[31m- OpenValveGrabImage(cBrd,testInProgress, triggerValve, e,[m
|
||
[32m+[m[32m OpenValveGrabImage(cBrd, testInProgress, triggerValve, e,[m
|
||
string.Format("{0}({1}) : Grabbing images - valve open", test.Method, test.Name));[m
|
||
triggerSend = true;[m
|
||
}[m
|
||
[36m@@ -533,27 +546,28 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
}[m
|
||
}[m
|
||
state2.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
[m
|
||
Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.Test));[m
|
||
[m
|
||
[31m- if (e.Contains(Event.Error)) { retVal = Event.Error; break; }[m
|
||
[32m+[m[32m if (e.Contains(Event.Error)) { retVal = Event.Error; break; }[m
|
||
if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; break; }[m
|
||
}[m
|
||
while (e.Contains(Event.CameraBusy));[m
|
||
[m
|
||
(dataEntryCmpnt as GenericDevices.IDataEntryForCamera).StartImages = startImages;[m
|
||
}[m
|
||
[31m- [m
|
||
[32m+[m
|
||
///valve trigger camera close[m
|
||
if (triggerValve != null)[m
|
||
{[m
|
||
[31m- CloseValveGrabImage(cBrd,testInProgress,triggerValve, e,[m
|
||
[32m+[m[32m CloseValveGrabImage(cBrd, testInProgress, triggerValve, e,[m
|
||
string.Format("{0}({1}) : Grabbing images - valve close", test.Method, test.Name));[m
|
||
}[m
|
||
///////[m
|
||
[31m- [m
|
||
[32m+[m
|
||
[m
|
||
Bridge.OnActivity(this, Strings.Enter_water_meter_data);[m
|
||
long readStartTime = StateMachine.Time;[m
|
||
[36m@@ -564,13 +578,14 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
.AddOperation((dataEntryCmpnt as GenericDevices.IHasWMStatesForm).ShowTestStartFormOp(sensPath.RegisterReaders))[m
|
||
.AddOperation(processDataLoggingOp)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
}[m
|
||
while (!e.Contains(Event.ModelessFormClosed));[m
|
||
long readEndTime = StateMachine.Time;[m
|
||
[31m- [m
|
||
[32m+[m
|
||
log.Debug("Read poseidon - took:" + (readEndTime - readStartTime));[m
|
||
[m
|
||
if (heatMetersTestParams != null)[m
|
||
[36m@@ -612,7 +627,7 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
{[m
|
||
(rr as Rig.Network.Camera.RoiForFixedStartKeyence.Roi).BeginWMState =[m
|
||
dataEntryCmpnt.WMStartState(i);[m
|
||
[31m- log.DebugFormat(" StandingStartMassCollectionSeq.cs - BeginWMState [{0}] -> RoiForFixedStartKeyence.Roi",dataEntryCmpnt.WMStartState(i));[m
|
||
[32m+[m[32m log.DebugFormat(" StandingStartMassCollectionSeq.cs - BeginWMState [{0}] -> RoiForFixedStartKeyence.Roi", dataEntryCmpnt.WMStartState(i));[m
|
||
}[m
|
||
if (rr is Rig.Network.Camera.RoiForFixedStartCJMS11.Roi)[m
|
||
(rr as Rig.Network.Camera.RoiForFixedStartCJMS11.Roi).BeginWMState = dataEntryCmpnt.WMStartState(i);[m
|
||
[36m@@ -638,7 +653,7 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
string destFName = string.IsNullOrEmpty((dataEntryCmpnt as IDataEntryForCamera).TestStartImgName(i, testName))[m
|
||
? fileName : (dataEntryCmpnt as IDataEntryForCamera).TestStartImgName(i, testName);[m
|
||
File.Copy(Path.Combine(srcDir, fileName), Path.Combine(destDir, destFName), true);[m
|
||
[31m- log.DebugFormat("Save images sourceFile: {0}, destFile: {1} ",Path.Combine(srcDir, fileName), Path.Combine(destDir, destFName));[m
|
||
[32m+[m[32m log.DebugFormat("Save images sourceFile: {0}, destFile: {1} ", Path.Combine(srcDir, fileName), Path.Combine(destDir, destFName));[m
|
||
}[m
|
||
}[m
|
||
catch (Exception exc)[m
|
||
[36m@@ -681,7 +696,8 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
.AddOperation(scale.ReadStableMassOp(ref StartMass, test.TimeFlow2Mass, test.MassMethod, test.MassRepeats, test.MassSpread))[m
|
||
.AddOperation(processDataLoggingOp)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[36m@@ -724,11 +740,12 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
.AddOperation(controlFlowOp)[m
|
||
.AddOperation(processDataLoggingOp)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
if (e.Contains(Event.OpArgumentError)) { retVal = Event.OpArgumentError; goto stopTest; }[m
|
||
[31m- if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[31m- if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[32m+[m[32m if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[32m+[m[32m if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
[m
|
||
/// Show remaining time[m
|
||
if ((remainingTime = Math.Max(estimtdEndTime - StateMachine.Time, 0)) > 60)[m
|
||
[36m@@ -767,8 +784,8 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
[m
|
||
Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.Test));[m
|
||
}[m
|
||
[31m- while ((cBrd.DebugLevel==DebugMode.Simulate && !e.Contains(Event.FlowReached)) || [m
|
||
[31m- (cBrd.DebugLevel!=DebugMode.Simulate && cBrd.RefPulses < initialPulsesCount + totalPulses && !e.Contains(Event.TestCompleted) && !e.Contains(Event.Next)));[m
|
||
[32m+[m[32m while ((cBrd.DebugLevel == DebugMode.Simulate && !e.Contains(Event.FlowReached)) ||[m
|
||
[32m+[m[32m (cBrd.DebugLevel != DebugMode.Simulate && cBrd.RefPulses < initialPulsesCount + totalPulses && !e.Contains(Event.TestCompleted) && !e.Contains(Event.Next)));[m
|
||
[m
|
||
/// Measurement loop end[m
|
||
log.WarnFormat("Start valve switch time on test start = {0} ms", cBrd.ValveOpenCloseTime);[m
|
||
[36m@@ -783,7 +800,8 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
.AddOperation(cBrd.CloseStartValveOp(timeStampEnd, stopSwitchTime))[m
|
||
.AddOperation(processDataLoggingOp)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
}[m
|
||
[36m@@ -807,9 +825,10 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
.AddOperation(new Operations.TimerOp(StableMassMsrmntTimeoutSec))[m
|
||
.AddOperation(processDataLoggingOp)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
[31m- if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
[32m+[m[32m if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }[m
|
||
if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
if (e.Contains(Event.ScaleTimeout))[m
|
||
{[m
|
||
[36m@@ -844,7 +863,7 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
double buoyancy = Formulas.Buoyancy();[m
|
||
double massOfEvaporatedWater = (double)(tMass2 - tMass1) * outPath.Scale.EvaporationRate(TempDivStat.Average);[m
|
||
double volumeCTV = 1000.0 * buoyancy * (massEnd - massStart + massOfEvaporatedWater) / densityOut;[m
|
||
[31m- if (debugLevel == Common.DebugMode.Simulate) volumeCTV = test.Volume;[m
|
||
[32m+[m[32m if (debugLevel == Common.DebugMode.Simulate) volumeCTV = test.Volume;[m
|
||
[m
|
||
double refEnergy = Energy.Sum * volumeCTV / VolumeForEnergy.Sum; /// [J]=[J]*[l]/[l][m
|
||
[m
|
||
[36m@@ -853,33 +872,33 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
///[m
|
||
if (dataEntryCmpnt != null)[m
|
||
{[m
|
||
[31m- string fileName = string.Format("{0}-{1}-end.bmp", test.Name, repetitionNr); //string.Format("{0}-end.bmp", test.Name);[m
|
||
[31m- [m
|
||
[32m+[m[32m string fileName = string.Format("{0}-{1}-end.bmp", test.Name, repetitionNr); //string.Format("{0}-end.bmp", test.Name);[m
|
||
[32m+[m
|
||
IValve triggerValve = null;[m
|
||
bool triggerSend = false;[m
|
||
[31m- if (dataEntryCmpnt is GenericDevices.IDataEntryForCamera)[m
|
||
[31m- {[m
|
||
[31m- string[] endImages = new string[sensPath.RegisterReaders.Length];[m
|
||
[31m-[m
|
||
[31m- State state2 = State.Create(string.Format("{0}({1}) : Grabbing images", test.Method, test.Name))[m
|
||
[31m- .AddOperation(checkUiOp);[m
|
||
[31m- for (int i = 0; i < sensPath.RegisterReaders.Length; i++)[m
|
||
[31m- {[m
|
||
[31m- GenericDevices.IRegReaderStillCamera roi = sensPath.RegisterReaders[i] as GenericDevices.IRegReaderStillCamera;[m
|
||
[31m- if (roi != null)[m
|
||
[31m- {[m
|
||
[32m+[m[32m if (dataEntryCmpnt is GenericDevices.IDataEntryForCamera)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m string[] endImages = new string[sensPath.RegisterReaders.Length];[m
|
||
[32m+[m
|
||
[32m+[m[32m State state2 = State.Create(string.Format("{0}({1}) : Grabbing images", test.Method, test.Name))[m
|
||
[32m+[m[32m .AddOperation(checkUiOp);[m
|
||
[32m+[m[32m for (int i = 0; i < sensPath.RegisterReaders.Length; i++)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m GenericDevices.IRegReaderStillCamera roi = sensPath.RegisterReaders[i] as GenericDevices.IRegReaderStillCamera;[m
|
||
[32m+[m[32m if (roi != null)[m
|
||
[32m+[m[32m {[m
|
||
///if exist valve trigger camera open[m
|
||
triggerValve = roi.GetValve();[m
|
||
if (triggerValve != null && !triggerSend)[m
|
||
{[m
|
||
[31m- OpenValveGrabImage(cBrd,testInProgress,triggerValve, e,[m
|
||
[32m+[m[32m OpenValveGrabImage(cBrd, testInProgress, triggerValve, e,[m
|
||
string.Format("{0}({1}) : Grabbing images - valve open", test.Method, test.Name));[m
|
||
triggerSend = true;[m
|
||
}[m
|
||
[31m- string directory = Path.Combine(Program.TempImagesDir, BatchRslts.Batch.BatchNr.ToString(), (i + 1).ToString());[m
|
||
[31m- Directory.CreateDirectory(directory);[m
|
||
[31m- endImages[i] = Path.Combine(directory, fileName);[m
|
||
[31m- state2.AddOperation(roi.GrabImageOp(endImages[i]));[m
|
||
[32m+[m[32m string directory = Path.Combine(Program.TempImagesDir, BatchRslts.Batch.BatchNr.ToString(), (i + 1).ToString());[m
|
||
[32m+[m[32m Directory.CreateDirectory(directory);[m
|
||
[32m+[m[32m endImages[i] = Path.Combine(directory, fileName);[m
|
||
[32m+[m[32m state2.AddOperation(roi.GrabImageOp(endImages[i]));[m
|
||
state2.AddOperation(testInProgress);[m
|
||
}[m
|
||
else[m
|
||
[36m@@ -890,47 +909,49 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
endImages[i] = Path.Combine(directory, fileName);[m
|
||
}[m
|
||
}[m
|
||
[31m- state2.EnterState();[m
|
||
[31m- do {[m
|
||
[31m- e = StateMachine.WaitRunDevsRunOps();[m
|
||
[32m+[m[32m state2.EnterState();[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m e = StateMachine.WaitRunDevsRunOps();[m
|
||
[32m+[m
|
||
[32m+[m[32m Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.Test));[m
|
||
[m
|
||
[31m- Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Progress.Test));[m
|
||
[32m+[m[32m if (e.Contains(Event.Error)) { retVal = Event.Error; break; }[m
|
||
[32m+[m[32m if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; break; }[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m while (e.Contains(Event.CameraBusy));[m
|
||
[m
|
||
[31m- if (e.Contains(Event.Error)) { retVal = Event.Error; break; }[m
|
||
[31m- if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; break; }[m
|
||
[31m- }[m
|
||
[31m- while (e.Contains(Event.CameraBusy));[m
|
||
[32m+[m[32m (dataEntryCmpnt as GenericDevices.IDataEntryForCamera).EndImages = endImages;[m
|
||
[32m+[m[32m }[m
|
||
[m
|
||
[31m- (dataEntryCmpnt as GenericDevices.IDataEntryForCamera).EndImages = endImages;[m
|
||
[31m- }[m
|
||
[31m- [m
|
||
///valve trigger camera close[m
|
||
if (triggerValve != null)[m
|
||
{[m
|
||
[31m- CloseValveGrabImage(cBrd,testInProgress, triggerValve, e,[m
|
||
[32m+[m[32m CloseValveGrabImage(cBrd, testInProgress, triggerValve, e,[m
|
||
string.Format("{0}({1}) : Grabbing images - valve close", test.Method, test.Name));[m
|
||
}[m
|
||
///////[m
|
||
[31m- [m
|
||
[31m- Bridge.OnActivity(this, Strings.Enter_water_meter_data);[m
|
||
[32m+[m
|
||
[32m+[m[32m Bridge.OnActivity(this, Strings.Enter_water_meter_data);[m
|
||
State state = State.Create(string.Format("{0}({1}) : Entering the end-state", test.Method, test.Name));[m
|
||
if (heatMetersTestParams != null && dataEntryCmpnt is GenericDevices.IHasHeatMtrStatesForm)[m
|
||
{[m
|
||
state.AddOperation((dataEntryCmpnt as GenericDevices.IHasHeatMtrStatesForm).[m
|
||
[31m- ShowTestEndFormOp(sensPath.RegisterReaders,[m
|
||
[31m- volumeCTV, test.ErrLimLo + test.Uncertainty, test.ErrLimHi - test.Uncertainty,[m
|
||
[32m+[m[32m ShowTestEndFormOp(sensPath.RegisterReaders,[m
|
||
[32m+[m[32m volumeCTV, test.ErrLimLo + test.Uncertainty, test.ErrLimHi - test.Uncertainty,[m
|
||
refEnergy, test.ErrLimLo + test.Uncertainty, test.ErrLimHi - test.Uncertainty));[m
|
||
}[m
|
||
else[m
|
||
{[m
|
||
[31m- state.AddOperation(dataEntryCmpnt.ShowTestEndFormOp(sensPath.RegisterReaders,[m
|
||
[31m- volumeCTV, test.ErrLimLo + test.Uncertainty, test.ErrLimHi - test.Uncertainty));[m
|
||
[32m+[m[32m state.AddOperation(dataEntryCmpnt.ShowTestEndFormOp(sensPath.RegisterReaders,[m
|
||
[32m+[m[32m volumeCTV, test.ErrLimLo + test.Uncertainty, test.ErrLimHi - test.Uncertainty));[m
|
||
}[m
|
||
state.AddOperation(checkUiOp)[m
|
||
.AddOperations(readTempPressOps)[m
|
||
.AddOperation(testInProgress)[m
|
||
.EnterState();[m
|
||
[31m- do {[m
|
||
[32m+[m[32m do[m
|
||
[32m+[m[32m {[m
|
||
e = StateMachine.WaitRunDevsRunOps();[m
|
||
if (TestAndLogUiCmdStop(test, e)) { retVal = Event.UiCmdStop; goto stopTest; }[m
|
||
}[m
|
||
[36m@@ -958,41 +979,41 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
{[m
|
||
for (int i = 0; i < waterMetersCount; i++)[m
|
||
{[m
|
||
[31m- GenericDevices.IRegReader rr = sensPath.RegisterReaders[i];[m
|
||
[31m- [m
|
||
[32m+[m[32m GenericDevices.IRegReader rr = sensPath.RegisterReaders[i];[m
|
||
[32m+[m
|
||
if (rr is ICommonRegReader)[m
|
||
(rr as ICommonRegReader).EndWMState = dataEntryCmpnt.WMEndState(i);[m
|
||
[m
|
||
[m
|
||
[31m- if (rr is Rig.RegisterReaders.StandingStartStop.RegisterReader)[m
|
||
[31m- (rr as Rig.RegisterReaders.StandingStartStop.RegisterReader).EndWMState = dataEntryCmpnt.WMEndState(i);[m
|
||
[32m+[m[32m if (rr is Rig.RegisterReaders.StandingStartStop.RegisterReader)[m
|
||
[32m+[m[32m (rr as Rig.RegisterReaders.StandingStartStop.RegisterReader).EndWMState = dataEntryCmpnt.WMEndState(i);[m
|
||
[m
|
||
[31m- if (rr is Rig.Network.Camera.RoiForFixedStart.Roi)[m
|
||
[31m- (rr as Rig.Network.Camera.RoiForFixedStart.Roi).EndWMState = dataEntryCmpnt.WMEndState(i);[m
|
||
[32m+[m[32m if (rr is Rig.Network.Camera.RoiForFixedStart.Roi)[m
|
||
[32m+[m[32m (rr as Rig.Network.Camera.RoiForFixedStart.Roi).EndWMState = dataEntryCmpnt.WMEndState(i);[m
|
||
[m
|
||
if (rr is Rig.Network.Camera.RoiForFixedStartKeyence.Roi)[m
|
||
{[m
|
||
(rr as Rig.Network.Camera.RoiForFixedStartKeyence.Roi).EndWMState =[m
|
||
dataEntryCmpnt.WMEndState(i);[m
|
||
[31m- log.DebugFormat(" StandingStartMassCollectionSeq.cs - EndWMState [{0}] -> RoiForFixedStartKeyence.Roi",dataEntryCmpnt.WMEndState(i));[m
|
||
[32m+[m[32m log.DebugFormat(" StandingStartMassCollectionSeq.cs - EndWMState [{0}] -> RoiForFixedStartKeyence.Roi", dataEntryCmpnt.WMEndState(i));[m
|
||
}[m
|
||
[31m- if(rr is Rig.Network.Camera.RoiForFixedStartCJMS11.Roi)[m
|
||
[32m+[m[32m if (rr is Rig.Network.Camera.RoiForFixedStartCJMS11.Roi)[m
|
||
(rr as Rig.Network.Camera.RoiForFixedStartCJMS11.Roi).EndWMState = dataEntryCmpnt.WMEndState(i);[m
|
||
[m
|
||
}[m
|
||
}[m
|
||
[m
|
||
[31m- if (dataEntryCmpnt is IDataEntryForCamera && (dataEntryCmpnt as IDataEntryForCamera).SaveImages)[m
|
||
[31m- {[m
|
||
[32m+[m[32m if (dataEntryCmpnt is IDataEntryForCamera && (dataEntryCmpnt as IDataEntryForCamera).SaveImages)[m
|
||
[32m+[m[32m {[m
|
||
log.Debug("Save images EndWMState...");[m
|
||
[31m- /// SaveImages==true ... copy images to the directory that will be archived at the end of the cycle[m
|
||
[31m- for (int i = 0; i < sensPath.RegisterReaders.Length; i++)[m
|
||
[31m- {[m
|
||
[31m- var roi = sensPath.RegisterReaders[i] as IRegReaderStillCamera;[m
|
||
[31m- if (roi != null)[m
|
||
[31m- {[m
|
||
[31m- string srcDir = Path.Combine(Program.TempImagesDir, BatchRslts.Batch.BatchNr.ToString(), (i + 1).ToString());[m
|
||
[31m- string destDir = Path.Combine(Program.ImagesDir, BatchRslts.Batch.BatchNr.ToString(), (i + 1).ToString());[m
|
||
[32m+[m[32m /// SaveImages==true ... copy images to the directory that will be archived at the end of the cycle[m
|
||
[32m+[m[32m for (int i = 0; i < sensPath.RegisterReaders.Length; i++)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m var roi = sensPath.RegisterReaders[i] as IRegReaderStillCamera;[m
|
||
[32m+[m[32m if (roi != null)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m string srcDir = Path.Combine(Program.TempImagesDir, BatchRslts.Batch.BatchNr.ToString(), (i + 1).ToString());[m
|
||
[32m+[m[32m string destDir = Path.Combine(Program.ImagesDir, BatchRslts.Batch.BatchNr.ToString(), (i + 1).ToString());[m
|
||
try[m
|
||
{[m
|
||
if (File.Exists(Path.Combine(srcDir, fileName)))[m
|
||
[36m@@ -1001,7 +1022,7 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
string destFName = string.IsNullOrEmpty((dataEntryCmpnt as IDataEntryForCamera).TestEndImgName(i, testName))[m
|
||
? fileName : (dataEntryCmpnt as IDataEntryForCamera).TestEndImgName(i, testName);[m
|
||
File.Copy(Path.Combine(srcDir, fileName), Path.Combine(destDir, destFName), true);[m
|
||
[31m- log.DebugFormat("Save images sourceFile: {0}, destFile: {1} ",Path.Combine(srcDir, fileName), Path.Combine(destDir, destFName));[m
|
||
[32m+[m[32m log.DebugFormat("Save images sourceFile: {0}, destFile: {1} ", Path.Combine(srcDir, fileName), Path.Combine(destDir, destFName));[m
|
||
}[m
|
||
}[m
|
||
catch (Exception exc)[m
|
||
[36m@@ -1009,8 +1030,8 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
log.ErrorFormat("Failed to copy image {0} to {1}: {2}", fileName, destDir, exc.Message);[m
|
||
}[m
|
||
}[m
|
||
[31m- }[m
|
||
[31m- }[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m }[m
|
||
[m
|
||
//...MF...kvapkanie[m
|
||
//------------------------------------------------[m
|
||
[36m@@ -1059,14 +1080,14 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
[m
|
||
/// Raw data[m
|
||
UpdateTempPressDensAmb(tstRslt);[m
|
||
[31m- tstRslt.MethodClass = TbfComponents.FindComponent(test.Method).ClassName;[m
|
||
[31m- tstRslt.StartTime = TestStartTime;[m
|
||
[31m- tstRslt.EndTime = TestEndTime;[m
|
||
[31m- tstRslt.FlowSetTime = flowSetTime;[m
|
||
[31m- tstRslt.TestTime = Math.Max(1.0, DateTimeBox.DurationSec(timeStampStart, timeStampEnd)); /// Min. 1s to prevent division by zero[m
|
||
[32m+[m[32m tstRslt.MethodClass = TbfComponents.FindComponent(test.Method).ClassName;[m
|
||
[32m+[m[32m tstRslt.StartTime = TestStartTime;[m
|
||
[32m+[m[32m tstRslt.EndTime = TestEndTime;[m
|
||
[32m+[m[32m tstRslt.FlowSetTime = flowSetTime;[m
|
||
[32m+[m[32m tstRslt.TestTime = Math.Max(1.0, DateTimeBox.DurationSec(timeStampStart, timeStampEnd)); /// Min. 1s to prevent division by zero[m
|
||
tstRslt.PulsesMaster = Convert.ToDouble(cBrd.RefPulses); /// Pulses of the master flow meter (test total)[m
|
||
tstRslt.MassStartRaw = StartMass.Val;[m
|
||
[31m- tstRslt.MassEndRaw = EndMass.Val;[m
|
||
[32m+[m[32m tstRslt.MassEndRaw = EndMass.Val;[m
|
||
tstRslt.TimeBtwnMassMsrmnts = tMass2 - tMass1;[m
|
||
[m
|
||
/// Corrected values[m
|
||
[36m@@ -1077,6 +1098,8 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
/// Main results[m
|
||
tstRslt.VolumeCTV = volumeCTV; /// [l] 1000.0f is because density is in [kg/m3][m
|
||
tstRslt.Flow = 3.6 * volumeCTV / tstRslt.TestTime; /// [m3/h][m
|
||
[32m+[m[32m tstRslt.MassCTV = massCTV; /// [kg] 1000.0f is because density is in [kg/m3][m
|
||
[32m+[m[32m tstRslt.MassFlow = 3.6 * massCTV / tstRslt.TestTime; /// [kg/h][m
|
||
[m
|
||
if (cBrd is ControlBoard.Uni.UniCB)[m
|
||
{[m
|
||
[36m@@ -1085,6 +1108,7 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
tstRslt.ConstMasterCorr = outPath.FlowMeter.LtrPerPulseCorrected(tstRslt.Flow, tstRslt.TempDownMean);[m
|
||
tstRslt.VolumeMaster = tstRslt.ConstMasterRaw * tstRslt.PulsesMaster; /// [l] volume from the master flow meter[m
|
||
tstRslt.ConstMaster = (tstRslt.VolumeMaster != 0) ? (tstRslt.ConstMasterRaw * tstRslt.VolumeCTV / tstRslt.VolumeMaster) : tstRslt.ConstMasterCorr;[m
|
||
[32m+[m[32m tstRslt.MassConstMaster = (tstRslt.PulsesMaster != 0) ? (tstRslt.MassCTV / tstRslt.PulsesMaster) : tstRslt.ConstMasterCorr;[m
|
||
}[m
|
||
else[m
|
||
{[m
|
||
[36m@@ -1095,11 +1119,12 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
tstRslt.ConstMaster = 1;[m
|
||
}[m
|
||
tstRslt.ErrorMaster = Formulas.ErrorFromVolumes(tstRslt.VolumeMaster, tstRslt.VolumeCTV);[m
|
||
[32m+[m[32m tstRslt.MassErrorMaster = Formulas.ErrorFromVolumes(tstRslt.VolumeMaster, tstRslt.MassCTV);[m
|
||
[m
|
||
tstRslt.FlowMean = (float)RefFlowStat.Average;[m
|
||
[31m- tstRslt.FlowStart = (float)RefFlowStat.First;[m
|
||
[31m- tstRslt.FlowEnd = (float)RefFlowStat.Last;[m
|
||
[31m- tstRslt.FlowMin = (float)RefFlowStat.Min;[m
|
||
[32m+[m[32m tstRslt.FlowStart = (float)RefFlowStat.First;[m
|
||
[32m+[m[32m tstRslt.FlowEnd = (float)RefFlowStat.Last;[m
|
||
[32m+[m[32m tstRslt.FlowMin = (float)RefFlowStat.Min;[m
|
||
tstRslt.FlowMax = (float)RefFlowStat.Max;[m
|
||
[m
|
||
tstRslt.DiverterStart = startSwitchTime.Val;[m
|
||
[36m@@ -1124,7 +1149,7 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
for (int isAux = 0; isAux <= 1; isAux++) /// 0=main, 1=aux[m
|
||
{[m
|
||
Results.Entities.MeterTestRslt meterRslt = (isAux == 0) ? mainMeterRslt : auxMeterRslt;[m
|
||
[31m- GenericDevices.IRegReader regReader = sensPath.RegisterReaders[2 * i + isAux];[m
|
||
[32m+[m[32m GenericDevices.IRegReader regReader = sensPath.RegisterReaders[2 * i + isAux];[m
|
||
[m
|
||
if (meterRslt != null && regReader != null)[m
|
||
{[m
|
||
[36m@@ -1166,63 +1191,63 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
///[m
|
||
tstRslt.RefEnergy = Energy.Sum * tstRslt.VolumeCTV / VolumeForEnergy.Sum; /// [J] = [J] * [l] / [l][m
|
||
[m
|
||
[31m- tstRslt.Custom1 = (float)TempRefHiStat.Average;[m
|
||
[31m- tstRslt.Custom2 = (float)TempRefHiStat.First;[m
|
||
[31m- tstRslt.Custom3 = (float)TempRefHiStat.Last;[m
|
||
[31m- tstRslt.Custom4 = (float)TempRefHiStat.Min;[m
|
||
[31m- tstRslt.Custom5 = (float)TempRefHiStat.Max;[m
|
||
[31m- tstRslt.Custom6 = (float)TempRefLoStat.Average;[m
|
||
[31m- tstRslt.Custom7 = (float)TempRefLoStat.First;[m
|
||
[31m- tstRslt.Custom8 = (float)TempRefLoStat.Last;[m
|
||
[31m- tstRslt.Custom9 = (float)TempRefLoStat.Min;[m
|
||
[31m- tstRslt.Custom10 = (float)TempRefLoStat.Max; [m
|
||
[32m+[m[32m tstRslt.Custom1 = (float)TempRefHiStat.Average;[m
|
||
[32m+[m[32m tstRslt.Custom2 = (float)TempRefHiStat.First;[m
|
||
[32m+[m[32m tstRslt.Custom3 = (float)TempRefHiStat.Last;[m
|
||
[32m+[m[32m tstRslt.Custom4 = (float)TempRefHiStat.Min;[m
|
||
[32m+[m[32m tstRslt.Custom5 = (float)TempRefHiStat.Max;[m
|
||
[32m+[m[32m tstRslt.Custom6 = (float)TempRefLoStat.Average;[m
|
||
[32m+[m[32m tstRslt.Custom7 = (float)TempRefLoStat.First;[m
|
||
[32m+[m[32m tstRslt.Custom8 = (float)TempRefLoStat.Last;[m
|
||
[32m+[m[32m tstRslt.Custom9 = (float)TempRefLoStat.Min;[m
|
||
[32m+[m[32m tstRslt.Custom10 = (float)TempRefLoStat.Max;[m
|
||
[m
|
||
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)[m
|
||
{[m
|
||
if (!test.IsPartCompatible(Utils.PartNr(i + 1, BatchRslts.Batch.Compound))) continue;[m
|
||
[m
|
||
Results.Entities.MeterTestRslt volumeRslt = BatchRslts.GetMeterTestRslt(testName, i, Common.CompoundMeterId.HeatMeterVolume);[m
|
||
[31m- Results.Entities.MeterTestRslt energyRslt = BatchRslts.GetMeterTestRslt(testName, i, Common.CompoundMeterId.HeatMeterEnergy);[m
|
||
[32m+[m[32m Results.Entities.MeterTestRslt energyRslt = BatchRslts.GetMeterTestRslt(testName, i, Common.CompoundMeterId.HeatMeterEnergy);[m
|
||
[m
|
||
[31m- GenericDevices.IRegReader volumeRegReader =[m
|
||
[32m+[m[32m GenericDevices.IRegReader volumeRegReader =[m
|
||
(sensPath.RegisterReaders.Length > 2 * i) ? sensPath.RegisterReaders[2 * i] : null;[m
|
||
[m
|
||
[31m- GenericDevices.IRegReader energyRegReader =[m
|
||
[32m+[m[32m GenericDevices.IRegReader energyRegReader =[m
|
||
(sensPath.RegisterReaders.Length > 2 * i + 1) ? sensPath.RegisterReaders[2 * i + 1] : null;[m
|
||
[m
|
||
if (volumeRslt != null && volumeRegReader != null)[m
|
||
{[m
|
||
[31m- volumeRslt.PulsesPerLiter = volumeRegReader.PulsesPerLtr;[m
|
||
[31m- volumeRslt.VolumeStart = volumeRegReader.BeginWMState;[m
|
||
[31m- volumeRslt.VolumeEnd = volumeRegReader.EndWMState;[m
|
||
[31m- volumeRslt.VolumeMeter = volumeRslt.VolumeEnd - volumeRslt.VolumeStart;[m
|
||
[31m- volumeRslt.VolumeRef = tstRslt.VolumeCTV;[m
|
||
[31m- volumeRslt.PulsesMeter = volumeRslt.VolumeMeter;[m
|
||
[31m- volumeRslt.PulsesMaster = tstRslt.PulsesMaster; /// <----------------- ???[m
|
||
[32m+[m[32m volumeRslt.PulsesPerLiter = volumeRegReader.PulsesPerLtr;[m
|
||
[32m+[m[32m volumeRslt.VolumeStart = volumeRegReader.BeginWMState;[m
|
||
[32m+[m[32m volumeRslt.VolumeEnd = volumeRegReader.EndWMState;[m
|
||
[32m+[m[32m volumeRslt.VolumeMeter = volumeRslt.VolumeEnd - volumeRslt.VolumeStart;[m
|
||
[32m+[m[32m volumeRslt.VolumeRef = tstRslt.VolumeCTV;[m
|
||
[32m+[m[32m volumeRslt.PulsesMeter = volumeRslt.VolumeMeter;[m
|
||
[32m+[m[32m volumeRslt.PulsesMaster = tstRslt.PulsesMaster; /// <----------------- ???[m
|
||
volumeRslt.TestTime = tstRslt.TestTime;[m
|
||
[m
|
||
volumeRslt.Error = Formulas.ErrorFromVolumes(volumeRslt.VolumeMeter, volumeRslt.VolumeRef);[m
|
||
[31m- volumeRslt.Passed = !heatMetersTestParams.EvaluateVolume ||[m
|
||
[31m- ((volumeRslt.Error >= test.GetErrLimLo(tstRslt.VolumeCTV, tstRslt.TestTime) + test.Uncertainty) &&[m
|
||
[31m- (volumeRslt.Error <= test.GetErrLimHi(tstRslt.VolumeCTV, tstRslt.TestTime) - test.Uncertainty) &&[m
|
||
[31m- (tstRslt.ErrorFlags == 0));[m
|
||
[31m- volumeRslt.TestDone = true;[m
|
||
[32m+[m[32m volumeRslt.Passed = !heatMetersTestParams.EvaluateVolume ||[m
|
||
[32m+[m[32m ((volumeRslt.Error >= test.GetErrLimLo(tstRslt.VolumeCTV, tstRslt.TestTime) + test.Uncertainty) &&[m
|
||
[32m+[m[32m (volumeRslt.Error <= test.GetErrLimHi(tstRslt.VolumeCTV, tstRslt.TestTime) - test.Uncertainty) &&[m
|
||
[32m+[m[32m (tstRslt.ErrorFlags == 0));[m
|
||
[32m+[m[32m volumeRslt.TestDone = true;[m
|
||
tstRslt.TestDone = true;[m
|
||
}[m
|
||
[m
|
||
if (energyRslt != null && energyRegReader != null && dataEntryCmpnt is GenericDevices.IHasHeatMtrStatesForm)[m
|
||
[31m- {[m
|
||
[31m- volumeRslt.PulsesPerLiter = energyRegReader.PulsesPerLtr;[m
|
||
[31m- energyRslt.VolumeStart = (dataEntryCmpnt as GenericDevices.IHasHeatMtrStatesForm).EnergyStartState(i);[m
|
||
[31m- energyRslt.VolumeEnd = (dataEntryCmpnt as GenericDevices.IHasHeatMtrStatesForm).EnergyEndState(i);[m
|
||
[31m- energyRslt.VolumeMeter = energyRslt.VolumeEnd - energyRslt.VolumeStart;[m
|
||
[31m- energyRslt.VolumeRef = tstRslt.RefEnergy;[m
|
||
[31m- energyRslt.PulsesMeter = energyRslt.VolumeMeter;[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m volumeRslt.PulsesPerLiter = energyRegReader.PulsesPerLtr;[m
|
||
[32m+[m[32m energyRslt.VolumeStart = (dataEntryCmpnt as GenericDevices.IHasHeatMtrStatesForm).EnergyStartState(i);[m
|
||
[32m+[m[32m energyRslt.VolumeEnd = (dataEntryCmpnt as GenericDevices.IHasHeatMtrStatesForm).EnergyEndState(i);[m
|
||
[32m+[m[32m energyRslt.VolumeMeter = energyRslt.VolumeEnd - energyRslt.VolumeStart;[m
|
||
[32m+[m[32m energyRslt.VolumeRef = tstRslt.RefEnergy;[m
|
||
[32m+[m[32m energyRslt.PulsesMeter = energyRslt.VolumeMeter;[m
|
||
energyRslt.PulsesMaster = tstRslt.PulsesMaster; /// <----------------- ???[m
|
||
[m
|
||
energyRslt.Error = Formulas.ErrorFromVolumes(energyRslt.VolumeMeter, energyRslt.VolumeRef);[m
|
||
[31m- energyRslt.Passed = (energyRslt.Error >= heatMetersTestParams.ErrorLimitLo)[m
|
||
[31m- && (energyRslt.Error <= heatMetersTestParams.ErrorLimitHi)[m
|
||
[32m+[m[32m energyRslt.Passed = (energyRslt.Error >= heatMetersTestParams.ErrorLimitLo)[m
|
||
[32m+[m[32m && (energyRslt.Error <= heatMetersTestParams.ErrorLimitHi)[m
|
||
&& (tstRslt.ErrorFlags == 0);[m
|
||
energyRslt.TestDone = true;[m
|
||
tstRslt.TestDone = true;[m
|
||
[36m@@ -1244,18 +1269,75 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
if (meterRslt != null && regReader != null)[m
|
||
{[m
|
||
meterRslt.RegReaderType = (int)regReader.RegisterReaderType;[m
|
||
[31m- meterRslt.PulsesPerLiter = regReader.PulsesPerLtr;[m
|
||
[32m+[m
|
||
[32m+[m
|
||
[32m+[m[32m ComponentProcedure procParamsEntity = test.Procedure.GetProcedureParamsEntity(regReader.Name);[m
|
||
[32m+[m
|
||
[32m+[m[32m try[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m if (regReader.RegisterReaderType == RegisterReaderType.Pulses || regReader.RegisterReaderType == RegisterReaderType.Manual)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(RRProcParams) })[0];[m
|
||
[32m+[m[32m RRProcParams tmp = Serializer.Deserialize(new StringReader(procParamsEntity.Parameters.ToString())) as RRProcParams;[m
|
||
[32m+[m[32m regReader.PulsesPerLtr = tmp.PulsesPerLtr;[m
|
||
[32m+[m[32m regReader.QuantityUnits = tmp.Units;[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m else[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m //MessageBox.Show("Cannot create or initialize a printer", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m[32m catch (Exception ex)[m
|
||
[32m+[m[32m {[m
|
||
[32m+[m[32m /*log.DebugFormat([m
|
||
[32m+[m[32m "Error during Procedure parameters deserialization. CmpntName='{0}', Procedure='{1}', Parameters='{2}', Exception: {3}",[m
|
||
[32m+[m[32m dbEntity?.CmpntName,[m
|
||
[32m+[m[32m dbEntity?.Procedure,[m
|
||
[32m+[m[32m dbEntity?.Parameters,[m
|
||
[32m+[m[32m ex[m
|
||
[32m+[m[32m );*/[m
|
||
[32m+[m[32m }[m
|
||
[32m+[m
|
||
[32m+[m[32m meterRslt.PulsesPerLiter = regReader.PulsesPerLtr;//...MF 11.12.2025 toto chybalo, v .csv bol stlpec naplneny nulami[m
|
||
[32m+[m[32m meterRslt.QuantityUnits = regReader.QuantityUnits;[m
|
||
meterRslt.VolumeStart = regReader.BeginWMState;[m
|
||
meterRslt.VolumeEnd = regReader.EndWMState;[m
|
||
meterRslt.VolumeMeter = Math.Abs(meterRslt.VolumeEnd - meterRslt.VolumeStart);[m
|
||
[31m- meterRslt.VolumeRef = tstRslt.VolumeCTV; /// liter[m
|
||
[32m+[m[32m meterRslt.MassMeter = Math.Abs(meterRslt.VolumeEnd - meterRslt.VolumeStart);[m
|
||
[32m+[m[32m meterRslt.VolumeRef = tstRslt.VolumeCTV; /// liter[m
|
||
[32m+[m[32m meterRslt.MassRef = tstRslt.MassCTV; /// kg[m
|
||
meterRslt.PulsesMeter = meterRslt.VolumeMeter;[m
|
||
meterRslt.PulsesMaster = tstRslt.PulsesMaster;[m
|
||
meterRslt.TestTime = tstRslt.TestTime;[m
|
||
[31m- meterRslt.Error = Formulas.ErrorFromVolumes(meterRslt.VolumeMeter, meterRslt.VolumeRef);[m
|
||
[31m- meterRslt.Passed = (meterRslt.Error >= test.GetErrLimLo(tstRslt.VolumeCTV, tstRslt.TestTime) + test.Uncertainty)[m
|
||
[32m+[m
|
||
[32m+[m[32m //meterRslt.Error = Formulas.ErrorFromVolumes(meterRslt.VolumeMeter, meterRslt.VolumeRef);[m
|
||
[32m+[m[32m double Error = 0;[m
|
||
[32m+[m[32m if (meterRslt.GetQuantityFromUnits() == "Mass")[m
|
||
[32m+[m[32m Error = Formulas.ErrorFromVolumes(meterRslt.MassMeter, meterRslt.MassRef);[m
|
||
[32m+[m[32m else[m
|
||
[32m+[m[32m Error = Formulas.ErrorFromVolumes(meterRslt.VolumeMeter, meterRslt.VolumeRef);[m
|
||
[32m+[m
|
||
[32m+[m[32m meterRslt.Error = Error;[m
|
||
[32m+[m
|
||
[32m+[m[32m /*meterRslt.Passed = (meterRslt.Error >= test.GetErrLimLo(tstRslt.VolumeCTV, tstRslt.TestTime) + test.Uncertainty)[m
|
||
&& (meterRslt.Error <= test.GetErrLimHi(tstRslt.VolumeCTV, tstRslt.TestTime) - test.Uncertainty)[m
|
||
[31m- && (tstRslt.ErrorFlags == 0);[m
|
||
[32m+[m[32m && (tstRslt.ErrorFlags == 0);*/[m
|
||
[32m+[m[32m var ErrLimLo_Volume = test.GetErrLimLo(tstRslt.VolumeCTV, tstRslt.TestTime);[m
|
||
[32m+[m[32m var ErrLimHi_Volume = test.GetErrLimHi(tstRslt.VolumeCTV, tstRslt.TestTime);[m
|
||
[32m+[m[32m var ErrLimLo_Mass = test.GetErrLimLo(tstRslt.MassCTV, tstRslt.TestTime);[m
|
||
[32m+[m[32m var ErrLimHi_Mass = test.GetErrLimHi(tstRslt.MassCTV, tstRslt.TestTime);[m
|
||
[32m+[m
|
||
[32m+[m[32m bool Passed;[m
|
||
[32m+[m[32m if (meterRslt.GetQuantityFromUnits() == "Mass")[m
|
||
[32m+[m[32m Passed = (meterRslt.Error >= ErrLimLo_Volume + test.Uncertainty) &&[m
|
||
[32m+[m[32m (meterRslt.Error <= ErrLimHi_Volume - test.Uncertainty) &&[m
|
||
[32m+[m[32m (tstRslt.ErrorFlags == 0);[m
|
||
[32m+[m[32m else[m
|
||
[32m+[m[32m Passed = (meterRslt.Error >= ErrLimLo_Mass + test.Uncertainty) &&[m
|
||
[32m+[m[32m (meterRslt.Error <= ErrLimHi_Mass - test.Uncertainty) &&[m
|
||
[32m+[m[32m (tstRslt.ErrorFlags == 0);[m
|
||
[32m+[m
|
||
[32m+[m[32m meterRslt.Passed = Passed;[m
|
||
meterRslt.TestDone = true;[m
|
||
tstRslt.TestDone = true;[m
|
||
if (regReader is ICommonRegReader regReaderCommon)[m
|
||
[36m@@ -1265,7 +1347,7 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
{[m
|
||
meterRslt.WaterMeter.SerialNr = regReaderCommon.SerialNr;[m
|
||
}[m
|
||
[31m- [m
|
||
[32m+[m
|
||
}[m
|
||
}[m
|
||
}[m
|
||
[36m@@ -1308,9 +1390,9 @@[m [mnamespace TBF.Rig.TestMethods.StandingStartMassCollection[m
|
||
[m
|
||
if (stopCycle) retVal = Event.ErrorFlagsStop;[m
|
||
[m
|
||
[31m- stopTest:[m
|
||
[32m+[m[32m stopTest:[m
|
||
[m
|
||
[31m- StopRecordingStatistics();[m
|
||
[32m+[m[32m StopRecordingStatistics();[m
|
||
[m
|
||
///[m
|
||
/// Quit this sequence[m
|