Various bug fixe, ValveMove to flow repeted 1x, version 1.4.42

This commit is contained in:
Milan Hanajik
2015-05-21 16:39:18 +02:00
parent e94b4f2655
commit d2b76cc58d
4 changed files with 33 additions and 8 deletions
@@ -196,8 +196,10 @@ namespace TBF.BenchControl.DataEntry.Standard24
else if (currentOp == CurrentOp.ShowFormAtCycleEnd)
{
CycleEndForm dlg = (modelessDlg as CycleEndForm);
int count = waterMeters.Count;
if ((dlg != null) && (count > dlg.WaterMetersCount)) count = dlg.WaterMetersCount;
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Count); i++)
for (int i = 0; i < count; i++)
{
if (waterMeters[i] != null)
{
@@ -38,6 +38,7 @@ namespace TBF.BenchControl.Elde.RegulValve
ValveMoveToPosition,
SettingPosition,
ValveMoveToFlow,
ValveMoveToFlow2,
SettingFlow,
FlowReached,
}
@@ -243,9 +244,31 @@ namespace TBF.BenchControl.Elde.RegulValve
new float[2] { freqLo, freqHi },
regulValve.StableTime);
opState = OpState.SettingFlow;
opState = OpState.ValveMoveToFlow2;
return Event.None;
}
else if (opState == OpState.ValveMoveToFlow2)
{
///
/// Done once, issues an appropriate ValveMove(...) command
///
if (reqFlowLo >= reqFlowHi || reqFlowLo > nominalFlow || reqFlowHi <= 0)
{
return Event.OpArgumentError;
}
log.InfoFormat("Run(): rv#={0} flowMtr#={1} TARGET: flowLo={2} flowHi={3}",
regulValveNr, flowMeterNr, reqFlowLo, reqFlowHi);
float freqLo = 2000.0f * reqFlowLo / nominalFlow;
float freqHi = 2000.0f * reqFlowHi / nominalFlow;
controlBoard.ValveMove(regulValveNr, RegulValveMode.TargetFrequency,
new float[2] { freqLo, freqHi },
regulValve.StableTime);
opState = OpState.SettingFlow;
return Event.None;
}
else if (opState == OpState.SettingFlow)
{
///