diff --git a/TBF/BenchControl/Elde/StartMeasurementOp.cs b/TBF/BenchControl/Elde/StartMeasurementOp.cs index 65e0e2142..cecca194f 100644 --- a/TBF/BenchControl/Elde/StartMeasurementOp.cs +++ b/TBF/BenchControl/Elde/StartMeasurementOp.cs @@ -15,6 +15,7 @@ namespace TBF.BenchControl.Elde readonly ControlBoardDev controlBoard; readonly Elde.RegulValve.RegulValve regulValve; readonly int regulValveNr; + readonly int regulValveStableTime; readonly int flowMeterNr; readonly float nominalFlow; readonly float reqFlowLo; @@ -80,10 +81,17 @@ namespace TBF.BenchControl.Elde if (outputPath.RegulValve is Elde.RegulValve.RegulValve) { - regulValve = outputPath.RegulValve as Elde.RegulValve.RegulValve; - regulValveNr = this.regulValve.Idx1; - } - else if (!(outputPath.RegulValve is Dummy.RegulValve.RegulValve)) + Elde.RegulValve.RegulValve rv = outputPath.RegulValve as Elde.RegulValve.RegulValve; + regulValveNr = rv.Idx1; + regulValveStableTime = rv.StableTime; + } + else if (outputPath.RegulValve is Elde.RegulValveCoax.RegulValve) + { + Elde.RegulValveCoax.RegulValve rv = outputPath.RegulValve as Elde.RegulValveCoax.RegulValve; + regulValveNr = rv.Idx1; + regulValveStableTime = rv.StableTime; + } + else if (!(outputPath.RegulValve is Dummy.RegulValve.RegulValve)) { throw new ArgumentNullException("Regulation valve is not compatible with Elde Control Board"); } @@ -183,7 +191,7 @@ namespace TBF.BenchControl.Elde float freqHi = 2000.0f * reqFlowHi / nominalFlow; controlBoard.ValveMove(regulValveNr, RegulValveMode.TargetFrequency, new float[2] { freqLo, freqHi }, - regulValve.StableTime); + regulValveStableTime); opState = OpState.OpCompleted; return Event.None;