ErrorFlags STOP stops cycle

This commit is contained in:
Milan Hanajik 2021-06-27 16:07:21 +02:00
parent cd15ab2432
commit 2106e82ede
31 changed files with 175 additions and 61 deletions

View File

@ -1,5 +1,5 @@
///
/// Copyright (c) 2021 Sensus Slovensko a.s.
/// Copyright (c) 2013-2021 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
@ -526,7 +526,7 @@ namespace Common
[Description("Fehler")] FailureDuringOperation, /// Failure during operation -> disabled
[Description("Aus")] Off, /// The component is off
[Description("Aufzeichnen")] Record,
[Description("Reply")] Replay,
[Description("Abspielen")] Replay,
[Description("Simuliert")] Simulate, /// Test bench simulation, this mode does not require any hardware
[Description("Geerbt")] Inherit,
#elif LANG_FR

View File

@ -181,6 +181,7 @@ namespace TBF.Rig
OpArgumentError,
ConfigurationError,
RecoverableError, /// Something like flow setting or mass measurement timeout
ErrorFlagsStop, /// ErrorFlags error that is configured to stop the cycle
Yes,
No,
Next, /// To move to the next state when debugging

View File

@ -1,5 +1,5 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
/// Copyright (c) 2017-2021 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
@ -20,7 +20,7 @@ namespace TBF.Rig.GenericDevices
/// <param name="switchTimeEnd">Diverter or valve switch time in s on test end</param>
/// <param name="infoFlags">Similar to error flags, contains only warnings</param>
/// <returns>Error flags</returns>
long GetErrorFlags(TestRslt testRslt, bool diverter, bool startStopValve, float switchTimeStart, float switchTimeEnd, out long infoFlags);
long GetErrorFlags(TestRslt testRslt, bool diverter, bool startStopValve, float switchTimeStart, float switchTimeEnd, out long infoFlags, out bool stopCycle);
/// <summary>
/// Get water meter error flags (evaluated from all meter test results)

View File

@ -958,7 +958,7 @@ namespace TBF.Rig.Sequences
if (testMethod.DoTransitions() && !e.Contains(Event.RecoverableError))
{
if (currentTestFinished && !isLastRepetition)
if (currentTestFinished && !isLastRepetition && !e.Contains(Event.ErrorFlagsStop))
{
/// Make a transition between two test repetitions
rsltTransBetween = Transition(transitionBetween, TransitionContext.BetweenTests); /// Transition or SetRoute - start of test
@ -989,7 +989,7 @@ namespace TBF.Rig.Sequences
{
goto config_error;
}
else if (rsltTransBefore == Event.UiCmdStop || e.Contains(Event.UiCmdStop) || e.Contains(Event.RecoverableError))
else if (rsltTransBefore == Event.UiCmdStop || e.Contains(Event.UiCmdStop) || e.Contains(Event.RecoverableError) || e.Contains(Event.ErrorFlagsStop))
{
goto stop_within_cycle;
}

View File

@ -95,6 +95,7 @@ namespace TBF.Rig.TestMethods.Adjustment
public IList<Event> Execute(Test test, int repetitionNr, bool isLastRepetition, DebugMode mode)
{
float simulatedError = 4.5f; /// %
bool stopCycle = false;
int rangeIx = 0; /// Default range, used for non-Elde flowmeters
if (outPath.FlowMeter is Uni.FlowMeter.FlowMeter)
@ -450,7 +451,7 @@ namespace TBF.Rig.TestMethods.Adjustment
tstRslt.DiverterStart = 0;
tstRslt.DiverterEnd = 0;
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, false, 0, 0, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, false, 0, 0, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
@ -523,6 +524,8 @@ namespace TBF.Rig.TestMethods.Adjustment
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(testName, test.Part));
if (stopCycle) retVal = Event.ErrorFlagsStop;
stopTest:
/// Close the modeless form
@ -537,6 +540,8 @@ namespace TBF.Rig.TestMethods.Adjustment
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -675,7 +675,8 @@ namespace TBF.Rig.TestMethods.CombinedWithDetection
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
if (tstRslt != null)
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
UpdateTempPressDensAmb(tstRslt);
@ -718,7 +719,7 @@ namespace TBF.Rig.TestMethods.CombinedWithDetection
tstRslt.DiverterStart = switchTimeStart;
tstRslt.DiverterEnd = switchTimeEnd;
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, true, false, switchTimeStart, switchTimeEnd, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, true, false, switchTimeStart, switchTimeEnd, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
@ -818,7 +819,7 @@ namespace TBF.Rig.TestMethods.CombinedWithDetection
/// Quit this sequence ///
///----------------------///
if (isLastRepetition)
if (isLastRepetition || stopCycle)
{
/// Stop the pump
State.Create(string.Format("{0}({1}) : Test(s) completed -> Stopping the pump", test.Method, test.Name))
@ -833,7 +834,7 @@ namespace TBF.Rig.TestMethods.CombinedWithDetection
while (!e.Contains(Event.ValvesSet) || ((inPath.Pump is GenericDevices.IPumpFM) && !e.Contains(Event.TurnPumpOnOffDone)));
}
return new List<Event> { Event.Done };
return stopCycle ? new List<Event> { Event.ErrorFlagsStop } : new List<Event> { Event.Done };
//====================================
stopTest:
@ -843,8 +844,7 @@ namespace TBF.Rig.TestMethods.CombinedWithDetection
.AddOperation((inPath != null && inPath.Pump is GenericDevices.IPumpFM) ? (inPath.Pump as GenericDevices.IPumpFM).TurnOffOp() : null)
.AddOperation(cBrd.SetValvesOp(StateMachine.DefaultValvesOpen, StateMachine.DefaultValvesClose))
.EnterState();
do
{
do {
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.Error)) goto error;
}
@ -859,8 +859,7 @@ namespace TBF.Rig.TestMethods.CombinedWithDetection
.AddOperation((inPath != null && inPath.Pump is GenericDevices.IPumpFM) ? (inPath.Pump as GenericDevices.IPumpFM).TurnOffOp() : null)
.AddOperation(cBrd.SetValvesOp(StateMachine.DefaultValvesOpen, StateMachine.DefaultValvesClose))
.EnterState();
do
{
do {
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.Error)) break;
}

View File

@ -655,7 +655,8 @@ namespace TBF.Rig.TestMethods.DiverterTest
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
if (tstRslt != null)
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
UpdateTempPressDensAmb(tstRslt);
@ -707,7 +708,7 @@ namespace TBF.Rig.TestMethods.DiverterTest
(tstRslt.DiverterStart * 1000).ToString("F0"), tstRslt.DivStart10, tstRslt.DivStart50, tstRslt.DivStart90,
(tstRslt.DiverterEnd * 1000).ToString("F0"), tstRslt.DivEnd90, tstRslt.DivEnd50, tstRslt.DivEnd10);
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, true, false, tstRslt.DiverterStart, tstRslt.DiverterEnd, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, true, false, tstRslt.DiverterStart, tstRslt.DiverterEnd, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
///
@ -845,6 +846,8 @@ namespace TBF.Rig.TestMethods.DiverterTest
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(testName, test.Part));
if (stopCycle) retVal = Event.ErrorFlagsStop;
stopTest:
StopRecordingStatistics(); /// Make sure graph files are closed
@ -854,7 +857,9 @@ namespace TBF.Rig.TestMethods.DiverterTest
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.Error
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{
cBrd.StopAll(false);

View File

@ -63,6 +63,7 @@ namespace TBF.Rig.TestMethods.Dummy
/// Populate TestResult data entity with data
string testName = Results.Utils.GetTestName(test.Name, test.Repeats, repetitionNr);
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);

View File

@ -385,6 +385,7 @@ namespace TBF.Rig.TestMethods.Endurance
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
@ -420,7 +421,7 @@ namespace TBF.Rig.TestMethods.Endurance
tstRslt.DiverterStart = 0;
tstRslt.DiverterEnd = 0;
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, false, 0, 0, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, false, 0, 0, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
///
@ -671,6 +672,8 @@ namespace TBF.Rig.TestMethods.Endurance
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -801,6 +801,7 @@ namespace TBF.Rig.TestMethods.FixedStart
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
@ -838,7 +839,7 @@ namespace TBF.Rig.TestMethods.FixedStart
tstRslt.DiverterStart = switchTimeStart;
tstRslt.DiverterEnd = switchTimeEnd;
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, true, switchTimeStart, switchTimeEnd, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, true, switchTimeStart, switchTimeEnd, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
if (compound)
@ -1030,6 +1031,8 @@ namespace TBF.Rig.TestMethods.FixedStart
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(testName, test.Part));
if (stopCycle) retVal = Event.ErrorFlagsStop;
stopTest:
@ -1040,6 +1043,8 @@ namespace TBF.Rig.TestMethods.FixedStart
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -545,7 +545,8 @@ namespace TBF.Rig.TestMethods.FixedStartAdvanced
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
if (tstRslt != null)
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
UpdateTempPressDensAmb(tstRslt);
@ -582,7 +583,7 @@ namespace TBF.Rig.TestMethods.FixedStartAdvanced
tstRslt.DiverterStart = switchTimeStart;
tstRslt.DiverterEnd = switchTimeEnd;
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, true, switchTimeStart, switchTimeEnd, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, true, switchTimeStart, switchTimeEnd, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
@ -648,6 +649,7 @@ namespace TBF.Rig.TestMethods.FixedStartAdvanced
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(testName, test.Part));
if (stopCycle) retVal = Event.ErrorFlagsStop;
stopTest:
@ -658,6 +660,8 @@ namespace TBF.Rig.TestMethods.FixedStartAdvanced
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -799,6 +799,7 @@ namespace TBF.Rig.TestMethods.FixedStartDeferredEval
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
@ -836,7 +837,7 @@ namespace TBF.Rig.TestMethods.FixedStartDeferredEval
tstRslt.DiverterStart = switchTimeStart;
tstRslt.DiverterEnd = switchTimeEnd;
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, true, switchTimeStart, switchTimeEnd, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, true, switchTimeStart, switchTimeEnd, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
tstRslt.Components = Results.Entities.Components
@ -865,6 +866,8 @@ namespace TBF.Rig.TestMethods.FixedStartDeferredEval
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -789,6 +789,7 @@ namespace TBF.Rig.TestMethods.FixedStartMassCollAdvanced
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
@ -842,7 +843,7 @@ namespace TBF.Rig.TestMethods.FixedStartMassCollAdvanced
tstRslt.DiverterStart = switchTimeStart;
tstRslt.DiverterEnd = switchTimeEnd;
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, true, switchTimeStart, switchTimeEnd, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, true, switchTimeStart, switchTimeEnd, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
if (compound)
@ -1034,6 +1035,7 @@ namespace TBF.Rig.TestMethods.FixedStartMassCollAdvanced
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(testName, test.Part));
if (stopCycle) retVal = Event.ErrorFlagsStop;
stopTest:
@ -1044,6 +1046,8 @@ namespace TBF.Rig.TestMethods.FixedStartMassCollAdvanced
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -898,6 +898,7 @@ namespace TBF.Rig.TestMethods.FixedStartMassCollDeferredEval
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
@ -936,7 +937,7 @@ namespace TBF.Rig.TestMethods.FixedStartMassCollDeferredEval
tstRslt.DiverterStart = switchTimeStart;
tstRslt.DiverterEnd = switchTimeEnd;
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, true, switchTimeStart, switchTimeEnd, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, true, switchTimeStart, switchTimeEnd, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
tstRslt.Components = Results.Entities.Components
@ -965,6 +966,8 @@ namespace TBF.Rig.TestMethods.FixedStartMassCollDeferredEval
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -731,6 +731,7 @@ namespace TBF.Rig.TestMethods.FixedStartTankCollection
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
@ -768,7 +769,7 @@ namespace TBF.Rig.TestMethods.FixedStartTankCollection
tstRslt.DiverterStart = switchTimeStart;
tstRslt.DiverterEnd = switchTimeEnd;
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, true, switchTimeStart, switchTimeEnd, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, true, switchTimeStart, switchTimeEnd, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
if (compoundTestParams != null)
@ -890,6 +891,7 @@ namespace TBF.Rig.TestMethods.FixedStartTankCollection
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(testName, test.Part));
if (stopCycle) retVal = Event.ErrorFlagsStop;
stopTest:
@ -900,6 +902,8 @@ namespace TBF.Rig.TestMethods.FixedStartTankCollection
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -290,7 +290,8 @@ namespace TBF.Rig.TestMethods.FlowAdjustment
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
if (tstRslt != null)
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
UpdateTempPressDensAmb(tstRslt);
@ -326,7 +327,7 @@ namespace TBF.Rig.TestMethods.FlowAdjustment
tstRslt.DiverterStart = 0;
tstRslt.DiverterEnd = 0;
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, false, 0, 0, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, false, 0, 0, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
///
@ -382,6 +383,7 @@ namespace TBF.Rig.TestMethods.FlowAdjustment
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(testName, test.Part));
if (stopCycle) retVal = Event.ErrorFlagsStop;
stopTest:
@ -404,6 +406,8 @@ namespace TBF.Rig.TestMethods.FlowAdjustment
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -468,7 +468,8 @@ namespace TBF.Rig.TestMethods.FlyingStart
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
if (tstRslt != null)
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
UpdateTempPressDensAmb(tstRslt);
@ -504,7 +505,7 @@ namespace TBF.Rig.TestMethods.FlyingStart
tstRslt.DiverterStart = 0;
tstRslt.DiverterEnd = 0;
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, false, 0, 0, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, false, 0, 0, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
if (compoundTestParams != null)
@ -722,6 +723,7 @@ namespace TBF.Rig.TestMethods.FlyingStart
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(testName, test.Part));
if (stopCycle) retVal = Event.ErrorFlagsStop;
stopTest:
@ -734,6 +736,8 @@ namespace TBF.Rig.TestMethods.FlyingStart
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -694,7 +694,8 @@ namespace TBF.Rig.TestMethods.FlyingStartFirstRepetWithMassColl
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
if (tstRslt != null)
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
UpdateTempPressDensAmb(tstRslt);
@ -743,7 +744,7 @@ namespace TBF.Rig.TestMethods.FlyingStartFirstRepetWithMassColl
(tstRslt.DiverterStart * 1000).ToString("F0"), tstRslt.DivStart10, tstRslt.DivStart50, tstRslt.DivStart90,
(tstRslt.DiverterEnd * 1000).ToString("F0"), tstRslt.DivEnd90, tstRslt.DivEnd50, tstRslt.DivEnd10);
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, true, false, tstRslt.DiverterStart, tstRslt.DiverterEnd, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, true, false, tstRslt.DiverterStart, tstRslt.DiverterEnd, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
}
else
@ -774,7 +775,7 @@ namespace TBF.Rig.TestMethods.FlyingStartFirstRepetWithMassColl
tstRslt.DivEnd10 = 0;
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, false, 0, 0, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, false, 0, 0, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
}
@ -1030,6 +1031,7 @@ namespace TBF.Rig.TestMethods.FlyingStartFirstRepetWithMassColl
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(testName, test.Part));
if (stopCycle) retVal = Event.ErrorFlagsStop;
stopTest:
@ -1040,6 +1042,8 @@ namespace TBF.Rig.TestMethods.FlyingStartFirstRepetWithMassColl
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -778,7 +778,8 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollComparative
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
if (tstRslt != null)
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
UpdateTempPressDensAmb(tstRslt);
@ -831,7 +832,7 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollComparative
(tstRslt.DiverterStart * 1000).ToString("F0"), tstRslt.DivStart10, tstRslt.DivStart50, tstRslt.DivStart90,
(tstRslt.DiverterEnd * 1000).ToString("F0"), tstRslt.DivEnd90, tstRslt.DivEnd50, tstRslt.DivEnd10);
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, true, false, tstRslt.DiverterStart, tstRslt.DiverterEnd, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, true, false, tstRslt.DiverterStart, tstRslt.DiverterEnd, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
if (compoundTestParams != null)
@ -1101,6 +1102,8 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollComparative
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(testName, test.Part));
if (stopCycle) retVal = Event.ErrorFlagsStop;
stopTest:
StopRecordingStatistics(); /// Make sure graph files are closed
@ -1110,6 +1113,8 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollComparative
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -655,7 +655,8 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollProlonged
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
if (tstRslt != null)
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
UpdateTempPressDensAmb(tstRslt);
@ -712,7 +713,7 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollProlonged
(tstRslt.DiverterStart * 1000).ToString("F0"), tstRslt.DivStart10, tstRslt.DivStart50, tstRslt.DivStart90,
(tstRslt.DiverterEnd * 1000).ToString("F0"), tstRslt.DivEnd90, tstRslt.DivEnd50, tstRslt.DivEnd10);
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, true, false, tstRslt.DiverterStart, tstRslt.DiverterEnd, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, true, false, tstRslt.DiverterStart, tstRslt.DiverterEnd, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
if (compoundTestParams != null)
@ -989,6 +990,8 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollProlonged
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(testName, test.Part));
if (stopCycle) retVal = Event.ErrorFlagsStop;
stopTest:
StopRecordingStatistics();
@ -998,6 +1001,8 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollProlonged
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -700,7 +700,8 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollection
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
if (tstRslt != null)
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
UpdateTempPressDensAmb(tstRslt);
@ -753,7 +754,7 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollection
(tstRslt.DiverterStart * 1000).ToString("F0"), tstRslt.DivStart10, tstRslt.DivStart50, tstRslt.DivStart90,
(tstRslt.DiverterEnd * 1000).ToString("F0"), tstRslt.DivEnd90, tstRslt.DivEnd50, tstRslt.DivEnd10);
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, true, false, tstRslt.DiverterStart, tstRslt.DiverterEnd, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, true, false, tstRslt.DiverterStart, tstRslt.DiverterEnd, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
if (compoundTestParams != null)
@ -1050,6 +1051,8 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollection
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(testName, test.Part));
if (stopCycle) retVal = Event.ErrorFlagsStop;
stopTest:
StopRecordingStatistics(); /// Make sure graph files are closed
@ -1059,6 +1062,8 @@ namespace TBF.Rig.TestMethods.FlyingStartMassCollection
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -497,7 +497,8 @@ namespace TBF.Rig.TestMethods.FlyingStartTankCollection
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
if (tstRslt != null)
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
UpdateTempPressDensAmb(tstRslt);
@ -549,7 +550,7 @@ namespace TBF.Rig.TestMethods.FlyingStartTankCollection
(tstRslt.DiverterStart * 1000).ToString("F0"), tstRslt.DivStart10, tstRslt.DivStart50, tstRslt.DivStart90,
(tstRslt.DiverterEnd * 1000).ToString("F0"), tstRslt.DivEnd90, tstRslt.DivEnd50, tstRslt.DivEnd10);
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, true, false, tstRslt.DiverterStart, tstRslt.DiverterEnd, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, true, false, tstRslt.DiverterStart, tstRslt.DiverterEnd, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
if (compoundTestParams != null)
@ -748,6 +749,8 @@ namespace TBF.Rig.TestMethods.FlyingStartTankCollection
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(testName, test.Part));
if (stopCycle) retVal = Event.ErrorFlagsStop;
stopTest:
StopRecordingStatistics(); /// Make sure graph files are closed
@ -757,6 +760,8 @@ namespace TBF.Rig.TestMethods.FlyingStartTankCollection
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -366,7 +366,8 @@ namespace TBF.Rig.TestMethods.LeakTest
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
if (tstRslt != null)
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
UpdateTempPressDensAmb(tstRslt);
@ -480,6 +481,7 @@ namespace TBF.Rig.TestMethods.LeakTest
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(testName, test.Part));
if (stopCycle) retVal = Event.ErrorFlagsStop;
stopTest:
@ -492,6 +494,8 @@ namespace TBF.Rig.TestMethods.LeakTest
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -52,6 +52,7 @@ namespace TBF.Rig.TestMethods.ManualEntry
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
@ -86,7 +87,7 @@ namespace TBF.Rig.TestMethods.ManualEntry
tstRslt.DiverterStart = 0;
tstRslt.DiverterEnd = 0;
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, false, 0, 0, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, false, 0, 0, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)

View File

@ -205,7 +205,8 @@ namespace TBF.Rig.TestMethods.PMaxTest
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
if (tstRslt != null)
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
UpdateTempPressDensAmb(tstRslt);
@ -299,6 +300,7 @@ namespace TBF.Rig.TestMethods.PMaxTest
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(testName, test.Part));
if (stopCycle) retVal = Event.ErrorFlagsStop;
stopTest:
@ -311,6 +313,8 @@ namespace TBF.Rig.TestMethods.PMaxTest
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -387,7 +387,8 @@ namespace TBF.Rig.TestMethods.PulsesTest
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
if (tstRslt != null)
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
UpdateTempPressDensAmb(tstRslt);
@ -422,7 +423,7 @@ namespace TBF.Rig.TestMethods.PulsesTest
tstRslt.DiverterStart = 0;
tstRslt.DiverterEnd = 0;
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, false, 0, 0, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, false, 0, 0, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
@ -510,6 +511,8 @@ namespace TBF.Rig.TestMethods.PulsesTest
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -389,7 +389,8 @@ namespace TBF.Rig.TestMethods.PulsesTestManual
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
if (tstRslt != null)
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
UpdateTempPressDensAmb(tstRslt);
@ -424,7 +425,7 @@ namespace TBF.Rig.TestMethods.PulsesTestManual
tstRslt.DiverterStart = 0;
tstRslt.DiverterEnd = 0;
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, false, 0, 0, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, false, 0, 0, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
@ -501,6 +502,8 @@ namespace TBF.Rig.TestMethods.PulsesTestManual
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -274,6 +274,8 @@ namespace TBF.Rig.TestMethods.RoiDetection
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -437,7 +437,8 @@ namespace TBF.Rig.TestMethods.SensitivityTest
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
if (tstRslt != null)
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
UpdateTempPressDensAmb(tstRslt);
@ -471,7 +472,7 @@ namespace TBF.Rig.TestMethods.SensitivityTest
tstRslt.DiverterStart = switchTimeStart;
tstRslt.DiverterEnd = switchTimeEnd;
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, true, false, switchTimeStart, switchTimeEnd, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, true, false, switchTimeStart, switchTimeEnd, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
@ -531,7 +532,7 @@ namespace TBF.Rig.TestMethods.SensitivityTest
/// Quit this sequence ///
///----------------------///
if (isLastRepetition)
if (isLastRepetition || stopCycle)
{
/// Stop the pump
State.Create(string.Format("{0}({1}) : Test(s) completed -> Stopping the pump", test.Method, test.Name))
@ -546,7 +547,7 @@ namespace TBF.Rig.TestMethods.SensitivityTest
while (!e.Contains(Event.ValvesSet) || ((inPath.Pump is GenericDevices.IPumpFM) && !e.Contains(Event.TurnPumpOnOffDone)));
}
return new List<Event> { Event.Done };
return stopCycle ? new List<Event> { Event.ErrorFlagsStop } : new List<Event> { Event.Done };
stopTest:
@ -557,6 +558,8 @@ namespace TBF.Rig.TestMethods.SensitivityTest
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -924,6 +924,7 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection
///
Results.Entities.TestRslt tstRslt = BatchRslts.GetTestRslt(testName, test.Part);
bool stopCycle = false;
if (tstRslt != null)
{
Results.Utils.GetCounterStates(tstRslt, Program.LocalSettings.Counters);
@ -975,7 +976,7 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection
tstRslt.DiverterStart = switchTimeStart;
tstRslt.DiverterEnd = switchTimeEnd;
long infoFlags = 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, true, switchTimeStart, switchTimeEnd, out infoFlags) : 0;
tstRslt.ErrorFlags = (ErrorFlagsComp != null) ? ErrorFlagsComp.GetErrorFlags(tstRslt, false, true, switchTimeStart, switchTimeEnd, out infoFlags, out stopCycle) : 0;
tstRslt.InfoFlags = infoFlags;
if (compound)
@ -1167,6 +1168,7 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(testName, test.Part));
if (stopCycle) retVal = Event.ErrorFlagsStop;
stopTest:
@ -1177,6 +1179,8 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection
///
if (isLastRepetition || retVal == Event.UiCmdStop
|| retVal == Event.OpArgumentError
|| retVal == Event.RecoverableError
|| retVal == Event.ErrorFlagsStop
|| retVal == Event.Error
|| retVal == Event.ConfigurationError)
{

View File

@ -1,5 +1,5 @@
///
/// Copyright (c) 2017-2020 Sensus Slovensko a.s.
/// Copyright (c) 2017-2021 Sensus Slovensko a.s.
///
using System;
using System.Collections.Generic;
@ -27,13 +27,12 @@ namespace TBF.Rig.Various.ErrorFlags
/// <param name="switchTimeStart">Diverter or valve switch time in s on test start</param>
/// <param name="switchTimeEnd">Diverter or valve switch time in s on test end</param>
/// <returns>Error flags</returns>
public long GetErrorFlags(TestRslt testRslt, bool diverter, bool startStopValve, float switchTimeStart, float switchTimeEnd, out long infoFlags)
public long GetErrorFlags(TestRslt testRslt, bool diverter, bool startStopValve, float switchTimeStart, float switchTimeEnd, out long infoFlags, out bool stopCycle)
{
/// Any E# is 'true' on error, 'false' when OK
/// Average flow
double aveFlow = 3.6 * testRslt.VolumeCTV / testRslt.TestTime;
bool E1 = (aveFlow < testRslt.Qfrom()) || (aveFlow > testRslt.Qto());
bool E1 = (testRslt.FlowVolume < testRslt.Qfrom()) || (testRslt.FlowVolume > testRslt.Qto());
/// Max. and min. up and down water temperature
bool E2 = ProcessData.TempUpStat.Min < testRslt.TempLimLo()
@ -89,8 +88,9 @@ namespace TBF.Rig.Various.ErrorFlags
|| ProcessData.PressDownStat.Max > errorsCfg.TestParams.Pressure_max;
/// Max. and min. flow
bool E21 = ProcessData.RefFlowStat.Min < testRslt.Qfrom()
|| ProcessData.RefFlowStat.Max > testRslt.Qto();
double rectifiedFlowMin = (testRslt.FlowMean == 0) ? testRslt.FlowMin : testRslt.FlowMin * testRslt.FlowVolume / testRslt.FlowMean;
double rectifiedFlowMax = (testRslt.FlowMean == 0) ? testRslt.FlowMax : testRslt.FlowMax * testRslt.FlowVolume / testRslt.FlowMean;
bool E21 = rectifiedFlowMin < testRslt.Qfrom() || rectifiedFlowMax > testRslt.Qto();
/// Electrical conductivity of water
bool E36 = ProcessData.ConductStat.Min < errorsCfg.TestParams.Conductivity_min
@ -138,6 +138,25 @@ namespace TBF.Rig.Various.ErrorFlags
if (E21 && (errorsCfg.TestParams.E21 == info)) _infoFlags |= (long)ErrorFlagMask.E21;
if (E36 && (errorsCfg.TestParams.E36 == info)) _infoFlags |= (long)ErrorFlagMask.E36;
stopCycle = false;
if (E1 && (errorsCfg.TestParams.E1 == stop)) stopCycle = true;
if (E2 && (errorsCfg.TestParams.E2 == stop)) stopCycle = true;
if (E3 && (errorsCfg.TestParams.E3 == stop)) stopCycle = true;
if (E4 && (errorsCfg.TestParams.E4 == stop)) stopCycle = true;
if (E5 && (errorsCfg.TestParams.E5 == stop)) stopCycle = true;
if (E6 && (errorsCfg.TestParams.E6 == stop)) stopCycle = true;
if (E7 && (errorsCfg.TestParams.E7 == stop)) stopCycle = true;
if (E8 && (errorsCfg.TestParams.E8 == stop)) stopCycle = true;
if (E9 && (errorsCfg.TestParams.E9 == stop)) stopCycle = true;
if (E10 && (errorsCfg.TestParams.E10 == stop)) stopCycle = true;
if (E11 && (errorsCfg.TestParams.E11 == stop)) stopCycle = true;
if (E12 && (errorsCfg.TestParams.E12 == stop)) stopCycle = true;
if (E13 && (errorsCfg.TestParams.E13 == stop)) stopCycle = true;
if (E14 && (errorsCfg.TestParams.E14 == stop)) stopCycle = true;
/// E15, E16, E17, E18, E19, E20 skipped
if (E21 && (errorsCfg.TestParams.E21 == stop)) stopCycle = true;
if (E36 && (errorsCfg.TestParams.E36 == stop)) stopCycle = true;
infoFlags = _infoFlags;
return errorFlags;
}
@ -204,10 +223,12 @@ namespace TBF.Rig.Various.ErrorFlags
: base(cfg)
{
errorsCfg = cfg as ErrorsCfg;
log.Warn(this.ToString());
}
public override void Initialize() { }
public override void Initialize()
{
log.FatalFormat("{0} initialized: {1}", Name, this);
}
#region Configuration Change Handling