BugFix in ...Elde.StartMeasurementOp for the case of RV=...Elde.RegulValveCoax.RegulValve

This commit is contained in:
Milan Hanajik 2018-05-14 16:03:02 +02:00
parent 67a762e51c
commit 86601e1ba1

View File

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