diff --git a/.gitignore b/.gitignore index a5460d2a6..bb583c615 100644 --- a/.gitignore +++ b/.gitignore @@ -67,5 +67,6 @@ WorkflowConfigurator/obj/ Workplace/bin/ Workplace/obj/ .vs/ +.idea/ *.suo *.bak diff --git a/TBF/Rig/Sequences/SequenceBase.cs b/TBF/Rig/Sequences/SequenceBase.cs index 0e158130d..1e8ae42e0 100644 --- a/TBF/Rig/Sequences/SequenceBase.cs +++ b/TBF/Rig/Sequences/SequenceBase.cs @@ -71,12 +71,34 @@ namespace TBF.Rig.Sequences ///TODO open valve /// - protected void OpenValveGrabImage(ControlBoard.IControlBoard cBrd, IValve triggerValve,IList e, string stateName) + protected void OpenValveGrabImage(ControlBoard.IControlBoard cBrd,IOperation additionalOperation, IValve triggerValve,IList e, string stateName) { - State valveOpen = State.Create(stateName) - .AddOperation(checkUiOp) - .AddOperation(cBrd.SetValvesOp(triggerValve, null)) - .EnterState(); + //Test if diverter is open + IDiverter diverter = cBrd.Devices.Diverter; + if (diverter != null) + { + log.DebugFormat("Diverter state - start Grab Image: {0}, number: {1}", + diverter.State == true ? "-to tank-" : "bypass tank", diverter.DiverterNr); + } + + if (additionalOperation != null) + { + log.Debug("Open Valve GrabImage - with additionalOperation"); + State valveOpen = State.Create(stateName) + .AddOperation(checkUiOp) + .AddOperation(cBrd.SetValvesOp(triggerValve, null)) + .AddOperation(additionalOperation) + .EnterState(); + } + else + { + log.Debug("Open Valve GrabImage - NO additionalOperation"); + State valveOpen = State.Create(stateName) + .AddOperation(checkUiOp) + .AddOperation(cBrd.SetValvesOp(triggerValve, null)) + .EnterState(); + } + do { e = StateMachine.WaitRunDevsRunOps(); @@ -84,21 +106,55 @@ namespace TBF.Rig.Sequences } while (e.Contains(Event.ValvesBusy)); log.Debug("Trigger send, opened valve: "+ triggerValve?.Name ); Thread.Sleep(1000); + + if (diverter != null) + { + log.DebugFormat("Diverter state - after: {0}, diverter number: {1}", + diverter.State == true ? "-to tank-" : "bypass tank", diverter.DiverterNr); + } } - protected void CloseValveGrabImage(ControlBoard.IControlBoard cBrd, IValve triggerValve,IList e, string stateName) + protected void CloseValveGrabImage(ControlBoard.IControlBoard cBrd, IOperation additionalOperation, IValve triggerValve,IList e, string stateName) { + //Test if diverter is open + IDiverter diverter = cBrd.Devices.Diverter; + if (diverter != null) + { + log.DebugFormat("Diverter state before Grab Image: {0}, number: {1}", + diverter.State == true ? "-to tank-" : "bypass tank", diverter.DiverterNr); + } + Thread.Sleep(2000); - State valveOpen = State.Create(stateName) - .AddOperation(checkUiOp) - .AddOperation(cBrd.SetValvesOp(null, triggerValve)) - .EnterState(); + if (additionalOperation != null) + { + log.Debug("Close Valve GrabImage - with additionalOperation"); + State valveOpen = State.Create(stateName) + .AddOperation(checkUiOp) + .AddOperation(cBrd.SetValvesOp(null, triggerValve)) + .AddOperation(additionalOperation) + .EnterState(); + } + else + { + log.Debug("Close Valve GrabImage - NO additionalOperation"); + State valveOpen = State.Create(stateName) + .AddOperation(checkUiOp) + .AddOperation(cBrd.SetValvesOp(null, triggerValve)) + .EnterState(); + } + do { e = StateMachine.WaitRunDevsRunOps(); if (e.Contains(Event.Error)) break; } while (e.Contains(Event.ValvesBusy)); log.Debug("Trigger send, closed valve: "+ triggerValve?.Name ); + + if (diverter != null) + { + log.DebugFormat("Diverter state - after: {0}, num: {1}", + diverter.State == true ? "-to tank-" : "bypass tank", diverter.DiverterNr); + } } /// diff --git a/TBF/Rig/TestMethods/FixedStart/FixedStartSeq.cs b/TBF/Rig/TestMethods/FixedStart/FixedStartSeq.cs index 0cc311270..63ff1694f 100644 --- a/TBF/Rig/TestMethods/FixedStart/FixedStartSeq.cs +++ b/TBF/Rig/TestMethods/FixedStart/FixedStartSeq.cs @@ -412,7 +412,7 @@ namespace TBF.Rig.TestMethods.FixedStart triggerValve = roi.GetValve(); if (triggerValve != null && !triggerSend) { - OpenValveGrabImage(cBrd,triggerValve, e, + OpenValveGrabImage(cBrd,null,triggerValve, e, string.Format("{0}({1}) : Grabbing images - valve open", test.Method, test.Name)); triggerSend = true; } @@ -441,7 +441,7 @@ namespace TBF.Rig.TestMethods.FixedStart ///valve trigger camera close if (triggerValve != null) { - CloseValveGrabImage(cBrd, triggerValve, e, + CloseValveGrabImage(cBrd, null,triggerValve, e, string.Format("{0}({1}) : Grabbing images - valve close", test.Method, test.Name)); } @@ -694,7 +694,7 @@ namespace TBF.Rig.TestMethods.FixedStart triggerValve = roi.GetValve(); if (triggerValve != null && !triggerSend) { - OpenValveGrabImage(cBrd,triggerValve,e,string.Format("{0}({1}) : Grabbing images - valve open", test.Method, test.Name)); + OpenValveGrabImage(cBrd,null,triggerValve,e,string.Format("{0}({1}) : Grabbing images - valve open", test.Method, test.Name)); triggerSend = true; } @@ -722,7 +722,7 @@ namespace TBF.Rig.TestMethods.FixedStart ///valve trigger camera close if (triggerValve != null) { - CloseValveGrabImage(cBrd, triggerValve,e,string.Format("{0}({1}) : Grabbing images - valve close", test.Method, test.Name)); + CloseValveGrabImage(cBrd,null, triggerValve,e,string.Format("{0}({1}) : Grabbing images - valve close", test.Method, test.Name)); } Bridge.OnActivity(this, Strings.Enter_water_meter_data); diff --git a/TBF/Rig/TestMethods/GrabImage/GrabImageSeq.cs b/TBF/Rig/TestMethods/GrabImage/GrabImageSeq.cs index ca3ad8b12..e02300f8e 100644 --- a/TBF/Rig/TestMethods/GrabImage/GrabImageSeq.cs +++ b/TBF/Rig/TestMethods/GrabImage/GrabImageSeq.cs @@ -56,7 +56,7 @@ namespace TBF.Rig.TestMethods.GrabImage triggerValve = roi.GetValve(); if (triggerValve != null && !triggerSend) { - OpenValveGrabImage(cBrd, triggerValve, e, + OpenValveGrabImage(cBrd,null, triggerValve, e, string.Format("{0}({1}) : Grabbing images - valve open", test.Method, test.Name)); triggerSend = true; } @@ -86,7 +86,7 @@ namespace TBF.Rig.TestMethods.GrabImage ///valve trigger camera close if (triggerValve != null) { - CloseValveGrabImage(cBrd,triggerValve, e, + CloseValveGrabImage(cBrd,null,triggerValve, e, string.Format("{0}({1}) : Grabbing images - valve close", test.Method, test.Name)); } /////// diff --git a/TBF/Rig/TestMethods/StandingStartMassCollection/StandingStartMassCollectionSeq.cs b/TBF/Rig/TestMethods/StandingStartMassCollection/StandingStartMassCollectionSeq.cs index 43664c253..07e715fe7 100644 --- a/TBF/Rig/TestMethods/StandingStartMassCollection/StandingStartMassCollectionSeq.cs +++ b/TBF/Rig/TestMethods/StandingStartMassCollection/StandingStartMassCollectionSeq.cs @@ -514,7 +514,7 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection triggerValve = roi.GetValve(); if (triggerValve != null && !triggerSend) { - OpenValveGrabImage(cBrd, triggerValve, e, + OpenValveGrabImage(cBrd,testInProgress, triggerValve, e, string.Format("{0}({1}) : Grabbing images - valve open", test.Method, test.Name)); triggerSend = true; } @@ -548,7 +548,7 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection ///valve trigger camera close if (triggerValve != null) { - CloseValveGrabImage(cBrd,triggerValve, e, + CloseValveGrabImage(cBrd,testInProgress,triggerValve, e, string.Format("{0}({1}) : Grabbing images - valve close", test.Method, test.Name)); } /////// @@ -835,7 +835,7 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection triggerValve = roi.GetValve(); if (triggerValve != null && !triggerSend) { - OpenValveGrabImage(cBrd,triggerValve, e, + OpenValveGrabImage(cBrd,testInProgress,triggerValve, e, string.Format("{0}({1}) : Grabbing images - valve open", test.Method, test.Name)); triggerSend = true; } @@ -843,7 +843,8 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection Directory.CreateDirectory(directory); endImages[i] = Path.Combine(directory, fileName); state2.AddOperation(roi.GrabImageOp(endImages[i])); - } + state2.AddOperation(testInProgress); + } else { /// Camera simulation @@ -869,7 +870,7 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection ///valve trigger camera close if (triggerValve != null) { - CloseValveGrabImage(cBrd, triggerValve, e, + CloseValveGrabImage(cBrd,testInProgress, triggerValve, e, string.Format("{0}({1}) : Grabbing images - valve close", test.Method, test.Name)); } /////// @@ -890,6 +891,7 @@ namespace TBF.Rig.TestMethods.StandingStartMassCollection } state.AddOperation(checkUiOp) .AddOperations(readTempPressOps) + .AddOperation(testInProgress) .EnterState(); do { e = StateMachine.WaitRunDevsRunOps();