ProcessTabPageCtrl renamed to ProcessTabPageCtrl6. ProcessTabPageCtrl24 added to proejct.
This commit is contained in:
@@ -0,0 +1,665 @@
|
||||
///
|
||||
/// Copyright (c) 2015 Sensus Metering Systems
|
||||
///
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using log4net;
|
||||
using TBF.UiBridge;
|
||||
using TBF.Resources;
|
||||
|
||||
#pragma warning disable 162 /// Disables 'Unreachable code detected' warning
|
||||
|
||||
namespace TBF.Screens
|
||||
{
|
||||
public partial class ProcessTabPageCtrl24 : UserControl
|
||||
{
|
||||
static readonly ILog log = LogManager.GetLogger(typeof(ProcessTabPageCtrl24));
|
||||
|
||||
Entities.MetersKind currentMetersKind;
|
||||
|
||||
bool pumpOn = true;
|
||||
bool diverterToTank = true;
|
||||
|
||||
/// <summary>
|
||||
/// Constructor, initializes anonymous event handlers
|
||||
/// </summary>
|
||||
public ProcessTabPageCtrl24()
|
||||
{
|
||||
currentMetersKind = Entities.MetersKind.Single;
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
Bridge.ProcedureSelectedHandler += delegate(object sndr, ProcedureSelectedEventArgs args)
|
||||
{
|
||||
if (InvokeRequired)
|
||||
Invoke(new EventHandler<ProcedureSelectedEventArgs>(OnProcedureSelected), sndr, args);
|
||||
else
|
||||
OnProcedureSelected(sndr, args);
|
||||
};
|
||||
Bridge.TestSelectedHandler += delegate(object sender, TestSelectedEventArgs args)
|
||||
{
|
||||
if (InvokeRequired)
|
||||
Invoke(new EventHandler<TestSelectedEventArgs>(OnTestSelected), sender, args);
|
||||
else
|
||||
OnTestSelected(sender, args);
|
||||
};
|
||||
Bridge.TestProgressHandler += delegate(object sender, TestProgressEventArgs args)
|
||||
{
|
||||
if (InvokeRequired)
|
||||
Invoke(new EventHandler<TestProgressEventArgs>(OnTestProgress), sender, args);
|
||||
else
|
||||
OnTestProgress(sender, args);
|
||||
};
|
||||
Bridge.TestCompletedHandler += delegate(object sender, TestCompletedEventArgs args)
|
||||
{
|
||||
if (InvokeRequired)
|
||||
Invoke(new EventHandler<TestCompletedEventArgs>(OnTestCompleted), sender, args);
|
||||
else
|
||||
OnTestCompleted(sender, args);
|
||||
};
|
||||
Bridge.ProcedureCompletedHandler += delegate(object sender, ProcedureCompletedEventArgs args)
|
||||
{
|
||||
if (InvokeRequired)
|
||||
Invoke(new EventHandler<ProcedureCompletedEventArgs>(OnProcedureCompleted), sender, args);
|
||||
else
|
||||
OnProcedureCompleted(sender, args);
|
||||
};
|
||||
}
|
||||
|
||||
private void ProcessTabPageCtrl_Load(object sender, EventArgs e)
|
||||
{
|
||||
Once();
|
||||
ResetLabelsAndTargetVals();
|
||||
ResetReadings();
|
||||
}
|
||||
|
||||
void Once()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Called when a new procedure is selected
|
||||
/// </summary>
|
||||
void ResetLabelsAndTargetVals()
|
||||
{
|
||||
/// Target values
|
||||
targetFlowLowLabel.Text = "---";
|
||||
targetFlowHighLabel.Text = "---";
|
||||
targetVolumeLabel.Text = "---";
|
||||
targetRefCountLabel.Text = "---";
|
||||
estmtdTimeLabel.Text = "---";
|
||||
|
||||
//
|
||||
refFlowCmpntLabel.Text = "---";
|
||||
regValveCmpntLabel.Text = "---";
|
||||
|
||||
/// Water pressure
|
||||
prInCmpntLabel.Text = "---";
|
||||
prOutCmpntLabel.Text = "---";
|
||||
|
||||
/// Water temperature
|
||||
tInCmpntLabel.Text = "---";
|
||||
tOutCmpntLabel.Text = "---";
|
||||
tDivCmpntLabel.Text = "---";
|
||||
|
||||
scaleCmpntLabel.Text = "---";
|
||||
|
||||
if (currentMetersKind == Entities.MetersKind.Single)
|
||||
{
|
||||
watermeterPictureBox1z.Visible = false;
|
||||
watermeterPictureBox2z.Visible = false;
|
||||
watermeterPictureBox3z.Visible = false;
|
||||
groupBox1z.Visible = false;
|
||||
groupBox2z.Visible = false;
|
||||
groupBox3z.Visible = false;
|
||||
|
||||
sensor1Label.Text = "---";
|
||||
|
||||
if (Program.WMsCount >= 2) { sensor2Label.Text = "---"; }
|
||||
else { groupBox2.Visible = false; watermeterPictureBox2.Visible = false; }
|
||||
|
||||
if (Program.WMsCount >= 3) { sensor3Label.Text = "---"; }
|
||||
else { groupBox3.Visible = false; watermeterPictureBox3.Visible = false; }
|
||||
|
||||
if (Program.WMsCount >= 4) { sensor4Label.Text = "---"; }
|
||||
else { groupBox4.Visible = false; watermeterPictureBox4.Visible = false; }
|
||||
|
||||
if (Program.WMsCount >= 5) { sensor5Label.Text = "---"; }
|
||||
else { groupBox5.Visible = false; watermeterPictureBox5.Visible = false; }
|
||||
|
||||
if (Program.WMsCount >= 6) { sensor6Label.Text = "---"; }
|
||||
else { groupBox6.Visible = false; watermeterPictureBox6.Visible = false; }
|
||||
}
|
||||
else if (currentMetersKind == Entities.MetersKind.Combined)
|
||||
{
|
||||
watermeterPictureBox1.Visible = false;
|
||||
watermeterPictureBox3.Visible = false;
|
||||
watermeterPictureBox5.Visible = false;
|
||||
|
||||
sensor1Label.Text = "---";
|
||||
sensor2Label.Text = "---";
|
||||
watermeterPictureBox2.Visible = true;
|
||||
watermeterPictureBox1z.Visible = true;
|
||||
groupBox1z.Visible = true;
|
||||
|
||||
if (Program.WMsCount >= 4)
|
||||
{
|
||||
watermeterPictureBox4.Visible = true;
|
||||
watermeterPictureBox2z.Visible = true;
|
||||
groupBox3.Visible = true;
|
||||
groupBox4.Visible = true;
|
||||
groupBox2z.Visible = true;
|
||||
sensor3Label.Text = "---";
|
||||
sensor4Label.Text = "---";
|
||||
}
|
||||
else
|
||||
{
|
||||
watermeterPictureBox4.Visible = false;
|
||||
watermeterPictureBox2z.Visible = false;
|
||||
groupBox3.Visible = false;
|
||||
groupBox4.Visible = false;
|
||||
groupBox2z.Visible = false;
|
||||
}
|
||||
|
||||
if (Program.WMsCount >= 6)
|
||||
{
|
||||
watermeterPictureBox6.Visible = true;
|
||||
watermeterPictureBox3z.Visible = true;
|
||||
groupBox5.Visible = true;
|
||||
groupBox6.Visible = true;
|
||||
groupBox3z.Visible = true;
|
||||
sensor5Label.Text = "---";
|
||||
sensor6Label.Text = "---";
|
||||
}
|
||||
else
|
||||
{
|
||||
watermeterPictureBox6.Visible = false;
|
||||
watermeterPictureBox3z.Visible = false;
|
||||
groupBox5.Visible = false;
|
||||
groupBox6.Visible = false;
|
||||
groupBox3z.Visible = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Called when a new procedure or a new test procedure is selected
|
||||
/// </summary>
|
||||
void ResetReadings()
|
||||
{
|
||||
/// Top part
|
||||
airTempLabel.Text = "---";
|
||||
airPressLabel.Text = "---";
|
||||
airHumiLabel.Text = "---";
|
||||
|
||||
refPulsesLabel.Text = "---";
|
||||
refFreqLabel.Text = "---";
|
||||
refFlowLabel.Text = "---";
|
||||
refVolumeLabel.Text = "---";
|
||||
|
||||
regValvePosLabel.Text = "---";
|
||||
tDivLabel.Text = "---";
|
||||
|
||||
tInLabel.Text = "---";
|
||||
tOutLabel.Text = "---";
|
||||
prInLabel.Text = "---";
|
||||
prOutLabel.Text = "---";
|
||||
|
||||
massLabel.Text = "---";
|
||||
massDiffLabel.Text = "---";
|
||||
volumeCtvLabel.Text = "---";
|
||||
refErrorLabel.Text = "---";
|
||||
|
||||
/// Meters
|
||||
pulses1Label.Text = "---";
|
||||
refPulses1Label.Text = "---";
|
||||
volume1Label.Text = "---";
|
||||
error1Label.Text = "---";
|
||||
passed1Label.Text = "---";
|
||||
|
||||
if (Program.WMsCount >= 2)
|
||||
{
|
||||
pulses2Label.Text = "---";
|
||||
refPulses2Label.Text = "---";
|
||||
volume2Label.Text = "---";
|
||||
error2Label.Text = "---";
|
||||
passed2Label.Text = "---";
|
||||
}
|
||||
|
||||
if (currentMetersKind == Entities.MetersKind.Combined && Program.WMsCount >= 2)
|
||||
{
|
||||
volume1zLabel.Text = "---";
|
||||
error1zLabel.Text = "---";
|
||||
passed1zLabel.Text = "---";
|
||||
}
|
||||
|
||||
if ((currentMetersKind == Entities.MetersKind.Single && Program.WMsCount >= 3) ||
|
||||
(currentMetersKind == Entities.MetersKind.Combined && Program.WMsCount >= 4))
|
||||
{
|
||||
pulses3Label.Text = "---";
|
||||
refPulses3Label.Text = "---";
|
||||
volume3Label.Text = "---";
|
||||
error3Label.Text = "---";
|
||||
passed3Label.Text = "---";
|
||||
}
|
||||
|
||||
if (Program.WMsCount >= 4)
|
||||
{
|
||||
pulses4Label.Text = "---";
|
||||
refPulses4Label.Text = "---";
|
||||
volume4Label.Text = "---";
|
||||
error4Label.Text = "---";
|
||||
passed4Label.Text = "---";
|
||||
}
|
||||
|
||||
if (currentMetersKind == Entities.MetersKind.Combined && Program.WMsCount >= 4)
|
||||
{
|
||||
volume2zLabel.Text = "---";
|
||||
error2zLabel.Text = "---";
|
||||
passed2zLabel.Text = "---";
|
||||
}
|
||||
|
||||
if ((currentMetersKind == Entities.MetersKind.Single && Program.WMsCount >= 5) ||
|
||||
(currentMetersKind == Entities.MetersKind.Combined && Program.WMsCount >= 6))
|
||||
{
|
||||
pulses5Label.Text = "---";
|
||||
refPulses5Label.Text = "---";
|
||||
volume5Label.Text = "---";
|
||||
error5Label.Text = "---";
|
||||
passed5Label.Text = "---";
|
||||
}
|
||||
|
||||
if (Program.WMsCount >= 6)
|
||||
{
|
||||
pulses6Label.Text = "---";
|
||||
refPulses6Label.Text = "---";
|
||||
volume6Label.Text = "---";
|
||||
error6Label.Text = "---";
|
||||
passed6Label.Text = "---";
|
||||
}
|
||||
|
||||
if (currentMetersKind == Entities.MetersKind.Combined && Program.WMsCount >= 6)
|
||||
{
|
||||
volume3zLabel.Text = "---";
|
||||
error3zLabel.Text = "---";
|
||||
passed3zLabel.Text = "---";
|
||||
}
|
||||
}
|
||||
|
||||
void OnProcedureSelected(object sender, ProcedureSelectedEventArgs args)
|
||||
{
|
||||
currentMetersKind = args.Procedure.MetersKind;
|
||||
ResetLabelsAndTargetVals();
|
||||
ResetReadings();
|
||||
Invalidate();
|
||||
}
|
||||
|
||||
void OnTestSelected(object sender, TestSelectedEventArgs args)
|
||||
{
|
||||
/// Readings and target values
|
||||
ResetReadings();
|
||||
|
||||
/// Target values
|
||||
targetFlowLowLabel.Text = args.Test.Qfrom.ToString("F3");
|
||||
targetFlowHighLabel.Text = args.Test.Qto.ToString("F3");
|
||||
targetVolumeLabel.Text = args.Test.Volume.ToString("F1");
|
||||
targetRefCountLabel.Text = args.TotalPulses.ToString();
|
||||
estmtdTimeLabel.Text = args.Test.TstTime.ToString("F1");
|
||||
|
||||
/// Names of virtual bench components
|
||||
if (args.BenchPath.PressIn != null) prInCmpntLabel.Text = args.BenchPath.PressIn.Name;
|
||||
if (args.BenchPath.PressOut != null) prOutCmpntLabel.Text = args.BenchPath.PressOut.Name;
|
||||
if (args.BenchPath.TempIn != null) tInCmpntLabel.Text = args.BenchPath.TempIn.Name;
|
||||
if (args.BenchPath.TempOut != null) tOutCmpntLabel.Text = args.BenchPath.TempOut.Name;
|
||||
if (args.OutputPath.TempDiv != null) tDivCmpntLabel.Text = args.OutputPath.TempDiv.Name;
|
||||
if (args.OutputPath.FlowMeter != null) refFlowCmpntLabel.Text = args.OutputPath.FlowMeter.Name;
|
||||
if (args.OutputPath.RegulValve != null) regValveCmpntLabel.Text = args.OutputPath.RegulValve.Name;
|
||||
if (args.OutputPath.Balance != null) scaleCmpntLabel.Text = args.OutputPath.Balance.Name;
|
||||
|
||||
sensor1Label.Text = (args.MetersPath.RegisterReaders[0] == null) ? "" : args.MetersPath.RegisterReaders[0].Cfg.Name;
|
||||
if (Program.WMsCount >= 2)
|
||||
{
|
||||
sensor2Label.Text = (args.MetersPath.RegisterReaders[1] == null) ? "" : args.MetersPath.RegisterReaders[1].Cfg.Name;
|
||||
}
|
||||
if (Program.WMsCount >= 3)
|
||||
{
|
||||
sensor3Label.Text = (args.MetersPath.RegisterReaders[2] == null) ? "" : args.MetersPath.RegisterReaders[2].Cfg.Name;
|
||||
}
|
||||
if (Program.WMsCount >= 4)
|
||||
{
|
||||
sensor4Label.Text = (args.MetersPath.RegisterReaders[3] == null) ? "" : args.MetersPath.RegisterReaders[3].Cfg.Name;
|
||||
}
|
||||
if (Program.WMsCount >= 5)
|
||||
{
|
||||
sensor5Label.Text = (args.MetersPath.RegisterReaders[4] == null) ? "" : args.MetersPath.RegisterReaders[4].Cfg.Name;
|
||||
}
|
||||
if (Program.WMsCount >= 6)
|
||||
{
|
||||
sensor6Label.Text = (args.MetersPath.RegisterReaders[5] == null) ? "" : args.MetersPath.RegisterReaders[5].Cfg.Name;
|
||||
}
|
||||
|
||||
if (args.FeedingPath != null && (args.FeedingPath.Pump is BenchControl.GenericDevices.IPumpFM))
|
||||
{
|
||||
pumpPctTextBox.Visible = true;
|
||||
pumpPctTextBox.Text = (args.FeedingPath.Pump as BenchControl.GenericDevices.IPumpFM).Power.ToString("F0") + " %";
|
||||
}
|
||||
else
|
||||
{
|
||||
pumpPctTextBox.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
void OnTestProgress(object sender, TestProgressEventArgs args)
|
||||
{
|
||||
/// Top part
|
||||
airTempLabel.Text = args.AmbientTemp.ToString();
|
||||
airPressLabel.Text = args.AmbientPressure.ToString();
|
||||
airHumiLabel.Text = args.AmbientHumidity.ToString();
|
||||
|
||||
refPulsesLabel.Text = args.RefPulses.ToString();
|
||||
refFreqLabel.Text = args.FlowMtrFreq.ToString();
|
||||
refFlowLabel.Text = Utils.FloatToStr(args.Flow.Val, 4);
|
||||
refVolumeLabel.Text = args.Volume.ToString();
|
||||
|
||||
//regValvePosLabel.Text = args.RegValvePos.ToString();
|
||||
tDivLabel.Text = args.Tdiv.ToString();
|
||||
|
||||
/// Bottom part
|
||||
pulses1Label.Text = args.TestResult.Meters[0].PulsesMeter.ToString();
|
||||
refPulses1Label.Text = args.TestResult.Meters[0].PulsesMaster.ToString();
|
||||
volume1Label.Text = args.TestResult.Meters[0].VolumeMeter.ToString();
|
||||
error1Label.Text = args.TestResult.Meters[0].VolumeErrorPct.ToString();
|
||||
|
||||
if (Program.WMsCount >= 2)
|
||||
{
|
||||
pulses2Label.Text = args.TestResult.Meters[1].PulsesMeter.ToString();
|
||||
refPulses2Label.Text = args.TestResult.Meters[1].PulsesMaster.ToString();
|
||||
volume2Label.Text = args.TestResult.Meters[1].VolumeMeter.ToString();
|
||||
error2Label.Text = args.TestResult.Meters[1].VolumeErrorPct.ToString();
|
||||
}
|
||||
if (currentMetersKind == Entities.MetersKind.Combined && Program.WMsCount >= 2)
|
||||
{
|
||||
volume1zLabel.Text = args.TestResult.CombinedMeters[0].VolumeMeter.ToString();
|
||||
error1zLabel.Text = args.TestResult.CombinedMeters[0].VolumeErrorPct.ToString();
|
||||
}
|
||||
|
||||
if ((currentMetersKind == Entities.MetersKind.Single && Program.WMsCount >= 3) ||
|
||||
(currentMetersKind == Entities.MetersKind.Combined && Program.WMsCount >= 4))
|
||||
{
|
||||
pulses3Label.Text = args.TestResult.Meters[2].PulsesMeter.ToString();
|
||||
refPulses3Label.Text = args.TestResult.Meters[2].PulsesMaster.ToString();
|
||||
volume3Label.Text = args.TestResult.Meters[2].VolumeMeter.ToString();
|
||||
error3Label.Text = args.TestResult.Meters[2].VolumeErrorPct.ToString();
|
||||
}
|
||||
if (Program.WMsCount >= 4)
|
||||
{
|
||||
pulses4Label.Text = args.TestResult.Meters[3].PulsesMeter.ToString();
|
||||
refPulses4Label.Text = args.TestResult.Meters[3].PulsesMaster.ToString();
|
||||
volume4Label.Text = args.TestResult.Meters[3].VolumeMeter.ToString();
|
||||
error4Label.Text = args.TestResult.Meters[3].VolumeErrorPct.ToString();
|
||||
}
|
||||
if (currentMetersKind == Entities.MetersKind.Combined && Program.WMsCount >= 4)
|
||||
{
|
||||
volume2zLabel.Text = args.TestResult.CombinedMeters[1].VolumeMeter.ToString();
|
||||
error2zLabel.Text = args.TestResult.CombinedMeters[1].VolumeErrorPct.ToString();
|
||||
}
|
||||
|
||||
if ((currentMetersKind == Entities.MetersKind.Single && Program.WMsCount >= 5) ||
|
||||
(currentMetersKind == Entities.MetersKind.Combined && Program.WMsCount >= 6))
|
||||
{
|
||||
pulses5Label.Text = args.TestResult.Meters[4].PulsesMeter.ToString();
|
||||
refPulses5Label.Text = args.TestResult.Meters[4].PulsesMaster.ToString();
|
||||
volume5Label.Text = args.TestResult.Meters[4].VolumeMeter.ToString();
|
||||
error5Label.Text = args.TestResult.Meters[4].VolumeErrorPct.ToString();
|
||||
}
|
||||
if (Program.WMsCount >= 6)
|
||||
{
|
||||
pulses6Label.Text = args.TestResult.Meters[5].PulsesMeter.ToString();
|
||||
refPulses6Label.Text = args.TestResult.Meters[5].PulsesMaster.ToString();
|
||||
volume6Label.Text = args.TestResult.Meters[5].VolumeMeter.ToString();
|
||||
error6Label.Text = args.TestResult.Meters[5].VolumeErrorPct.ToString();
|
||||
}
|
||||
if (currentMetersKind == Entities.MetersKind.Combined && Program.WMsCount >= 6)
|
||||
{
|
||||
volume3zLabel.Text = args.TestResult.CombinedMeters[2].VolumeMeter.ToString();
|
||||
error3zLabel.Text = args.TestResult.CombinedMeters[2].VolumeErrorPct.ToString();
|
||||
}
|
||||
|
||||
tInLabel.Text = args.Tin.ToString();
|
||||
tOutLabel.Text = args.Tout.ToString();
|
||||
prInLabel.Text = args.Pin.ToString();
|
||||
prOutLabel.Text = args.Pout.ToString();
|
||||
|
||||
massLabel.Text = args.Mass.ToString();
|
||||
|
||||
if (args.Mass.Valid && args.StartMass.Valid)
|
||||
{
|
||||
massDiffLabel.Text = (args.Mass.Val - args.StartMass.Val).ToString(args.Mass.Format);
|
||||
}
|
||||
|
||||
if (pumpOn != args.PumpOn || diverterToTank != args.DivToTank)
|
||||
{
|
||||
//if (pumpOn != args.PumpOn)
|
||||
//{
|
||||
// if (pumpOn) pumpPictureBox.Image = System.Resources.
|
||||
// else pumpPictureBox.Image = System.Resources.
|
||||
//}
|
||||
pumpOn = args.PumpOn;
|
||||
diverterToTank = args.DivToTank;
|
||||
Invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
void OnTestCompleted(object sender, TestCompletedEventArgs args)
|
||||
{
|
||||
Entities.TestResult tRes = args.TestResult;
|
||||
|
||||
tInLabel.Text = tRes.TempInAvrg.ToString("F2");
|
||||
tOutLabel.Text = tRes.TempOutAvrg.ToString("F2");
|
||||
tDivLabel.Text = tRes.TempDivAvrg.ToString("F2");
|
||||
prInLabel.Text = tRes.PressInAvrg.ToString("F1");
|
||||
prOutLabel.Text = tRes.PressOutAvrg.ToString("F1");
|
||||
airTempLabel.Text = tRes.AmbientTempAve.ToString("F1");
|
||||
airPressLabel.Text = tRes.AmbientPressAve.ToString("F1");
|
||||
airHumiLabel.Text = tRes.AmbientHumiAve.ToString("F1");
|
||||
|
||||
refPulsesLabel.Text = tRes.PulsesMaster.ToString("F0");
|
||||
//refFreqLabel.Text = tstRslt.
|
||||
refFlowLabel.Text = Utils.FloatToStr(tRes.FlowMass / 1000.0f, 4);
|
||||
|
||||
refVolumeLabel.Text = tRes.VolumeCTV.ToString("F2");
|
||||
//regValvePosLabel.Text = tstRslt.
|
||||
//massLabel.Text = tstRslt.
|
||||
|
||||
volumeCtvLabel.Text = args.TestResult.VolumeCTV.ToString("F1");
|
||||
refErrorLabel.Text = (tRes.ErrorMaster == 0) ? "---" : tRes.ErrorMaster.ToString("F2");
|
||||
|
||||
if (tRes.MetersKind == Entities.MetersKind.Single)
|
||||
{
|
||||
pulses1Label.Text = tRes.Meters[0].PulsesMeter.ToString("F0");
|
||||
refPulses1Label.Text = tRes.Meters[0].PulsesMaster.ToString("F0");
|
||||
volume1Label.Text = tRes.Meters[0].VolumeMeter.ToString("F2");
|
||||
error1Label.Text = tRes.Meters[0].VolumeErrorPct.ToString("F2");
|
||||
passed1Label.Text = tRes.Meters[0].Passed ? Strings.Passed : Strings.Failed;
|
||||
|
||||
if (Program.WMsCount >= 2)
|
||||
{
|
||||
pulses2Label.Text = tRes.Meters[1].PulsesMeter.ToString("F0");
|
||||
refPulses2Label.Text = tRes.Meters[1].PulsesMaster.ToString("F0");
|
||||
volume2Label.Text = tRes.Meters[1].VolumeMeter.ToString("F2");
|
||||
error2Label.Text = tRes.Meters[1].VolumeErrorPct.ToString("F2");
|
||||
passed2Label.Text = tRes.Meters[1].Passed ? Strings.Passed : Strings.Failed;
|
||||
}
|
||||
|
||||
if (Program.WMsCount >= 3)
|
||||
{
|
||||
pulses3Label.Text = tRes.Meters[2].PulsesMeter.ToString("F0");
|
||||
refPulses3Label.Text = tRes.Meters[2].PulsesMaster.ToString("F0");
|
||||
volume3Label.Text = tRes.Meters[2].VolumeMeter.ToString("F2");
|
||||
error3Label.Text = tRes.Meters[2].VolumeErrorPct.ToString("F2");
|
||||
passed3Label.Text = tRes.Meters[2].Passed ? Strings.Passed : Strings.Failed;
|
||||
}
|
||||
|
||||
if (Program.WMsCount >= 4)
|
||||
{
|
||||
pulses4Label.Text = tRes.Meters[3].PulsesMeter.ToString("F0");
|
||||
refPulses4Label.Text = tRes.Meters[3].PulsesMaster.ToString("F0");
|
||||
volume4Label.Text = tRes.Meters[3].VolumeMeter.ToString("F2");
|
||||
error4Label.Text = tRes.Meters[3].VolumeErrorPct.ToString("F2");
|
||||
passed4Label.Text = tRes.Meters[3].Passed ? Strings.Passed : Strings.Failed;
|
||||
}
|
||||
|
||||
if (Program.WMsCount >= 5)
|
||||
{
|
||||
pulses5Label.Text = tRes.Meters[4].PulsesMeter.ToString("F0");
|
||||
refPulses5Label.Text = tRes.Meters[4].PulsesMaster.ToString("F0");
|
||||
volume5Label.Text = tRes.Meters[4].VolumeMeter.ToString("F2");
|
||||
error5Label.Text = tRes.Meters[4].VolumeErrorPct.ToString("F2");
|
||||
passed5Label.Text = tRes.Meters[4].Passed ? Strings.Passed : Strings.Failed;
|
||||
}
|
||||
|
||||
if (Program.WMsCount >= 6)
|
||||
{
|
||||
pulses6Label.Text = tRes.Meters[5].PulsesMeter.ToString("F0");
|
||||
refPulses6Label.Text = tRes.Meters[5].PulsesMaster.ToString("F0");
|
||||
volume6Label.Text = tRes.Meters[5].VolumeMeter.ToString("F2");
|
||||
error6Label.Text = tRes.Meters[5].VolumeErrorPct.ToString("F2");
|
||||
passed6Label.Text = tRes.Meters[5].Passed ? Strings.Passed : Strings.Failed;
|
||||
}
|
||||
}
|
||||
else if (tRes.MetersKind == Entities.MetersKind.Combined)
|
||||
{
|
||||
if (Program.WMsCount >= 2)
|
||||
{
|
||||
pulses1Label.Text = tRes.Meters[0].PulsesMeter.ToString("F0");
|
||||
pulses2Label.Text = tRes.Meters[1].PulsesMeter.ToString("F0");
|
||||
//pulses1zLabel.Text = tRes.CombinedMeters[0].PulsesMeter.ToString("F0");
|
||||
refPulses1Label.Text = tRes.Meters[0].PulsesMaster.ToString("F0");
|
||||
refPulses2Label.Text = tRes.Meters[1].PulsesMaster.ToString("F0");
|
||||
//refPulses1zLabel.Text = tRes.CombinedMeters[0].PulsesMaster.ToString("F0");
|
||||
volume1Label.Text = tRes.Meters[0].VolumeMeter.ToString("F2");
|
||||
volume2Label.Text = tRes.Meters[1].VolumeMeter.ToString("F2");
|
||||
volume1zLabel.Text = tRes.CombinedMeters[0].VolumeMeter.ToString("F2");
|
||||
error1Label.Text = tRes.Meters[0].VolumeErrorPct.ToString("F2");
|
||||
error2Label.Text = tRes.Meters[1].VolumeErrorPct.ToString("F2");
|
||||
error1zLabel.Text = tRes.CombinedMeters[0].VolumeErrorPct.ToString("F2");
|
||||
passed1Label.Text = tRes.Meters[0].Passed ? Strings.Passed : Strings.Failed;
|
||||
passed2Label.Text = tRes.Meters[1].Passed ? Strings.Passed : Strings.Failed;
|
||||
passed1zLabel.Text = tRes.CombinedMeters[0].Passed ? Strings.Passed : Strings.Failed;
|
||||
}
|
||||
if (Program.WMsCount >= 4)
|
||||
{
|
||||
pulses3Label.Text = tRes.Meters[2].PulsesMeter.ToString("F0");
|
||||
pulses4Label.Text = tRes.Meters[3].PulsesMeter.ToString("F0");
|
||||
//pulses2zLabel.Text = tRes.CombinedMeters[1].PulsesMeter.ToString("F0");
|
||||
refPulses3Label.Text = tRes.Meters[2].PulsesMaster.ToString("F0");
|
||||
refPulses4Label.Text = tRes.Meters[3].PulsesMaster.ToString("F0");
|
||||
//refPulses2zLabel.Text = tRes.CombinedMeters[1].PulsesMaster.ToString("F0");
|
||||
volume3Label.Text = tRes.Meters[2].VolumeMeter.ToString("F2");
|
||||
volume4Label.Text = tRes.Meters[3].VolumeMeter.ToString("F2");
|
||||
volume2zLabel.Text = tRes.CombinedMeters[1].VolumeMeter.ToString("F2");
|
||||
error3Label.Text = tRes.Meters[2].VolumeErrorPct.ToString("F2");
|
||||
error4Label.Text = tRes.Meters[3].VolumeErrorPct.ToString("F2");
|
||||
error2zLabel.Text = tRes.CombinedMeters[1].VolumeErrorPct.ToString("F2");
|
||||
passed3Label.Text = tRes.Meters[2].Passed ? Strings.Passed : Strings.Failed;
|
||||
passed4Label.Text = tRes.Meters[3].Passed ? Strings.Passed : Strings.Failed;
|
||||
passed2zLabel.Text = tRes.CombinedMeters[1].Passed ? Strings.Passed : Strings.Failed;
|
||||
}
|
||||
if (Program.WMsCount >= 6)
|
||||
{
|
||||
pulses5Label.Text = tRes.Meters[4].PulsesMeter.ToString("F0");
|
||||
pulses6Label.Text = tRes.Meters[5].PulsesMeter.ToString("F0");
|
||||
//pulses3zLabel.Text = tRes.CombinedMeters[2].PulsesMeter.ToString("F0");
|
||||
refPulses5Label.Text = tRes.Meters[4].PulsesMaster.ToString("F0");
|
||||
refPulses6Label.Text = tRes.Meters[5].PulsesMaster.ToString("F0");
|
||||
//refPulses3zLabel.Text = tRes.CombinedMeters[2].PulsesMaster.ToString("F0");
|
||||
volume5Label.Text = tRes.Meters[4].VolumeMeter.ToString("F2");
|
||||
volume6Label.Text = tRes.Meters[5].VolumeMeter.ToString("F2");
|
||||
volume3zLabel.Text = tRes.CombinedMeters[2].VolumeMeter.ToString("F2");
|
||||
error5Label.Text = tRes.Meters[4].VolumeErrorPct.ToString("F2");
|
||||
error6Label.Text = tRes.Meters[5].VolumeErrorPct.ToString("F2");
|
||||
error3zLabel.Text = tRes.CombinedMeters[2].VolumeErrorPct.ToString("F2");
|
||||
passed5Label.Text = tRes.Meters[4].Passed ? Strings.Passed : Strings.Failed;
|
||||
passed6Label.Text = tRes.Meters[5].Passed ? Strings.Passed : Strings.Failed;
|
||||
passed3zLabel.Text = tRes.CombinedMeters[2].Passed ? Strings.Passed : Strings.Failed;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void OnProcedureCompleted(object sender, ProcedureCompletedEventArgs args)
|
||||
{
|
||||
}
|
||||
|
||||
private void ProcessTabPageCtrl_Paint(object sender, PaintEventArgs e)
|
||||
{
|
||||
System.Drawing.Graphics formGraphics = this.CreateGraphics();
|
||||
|
||||
System.Drawing.SolidBrush filledBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Blue);
|
||||
System.Drawing.SolidBrush emptyBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Gray);
|
||||
System.Drawing.SolidBrush benchBrush = (pumpOn ? filledBrush : emptyBrush);
|
||||
|
||||
int diam = 14; // pipe diameter (pixels)
|
||||
int left = 20; // left-most pipe x-coordinate
|
||||
int top = 14; // top-most pipe y-coordinate
|
||||
int topLeft = 876;
|
||||
int topRight = 966;
|
||||
int divTop = 40;
|
||||
int bottom = 504; // bottom-most pipe y-coordinate
|
||||
int benchTop = 378; // bench-pipe top y-coordinate
|
||||
int pumpLeft = 779;
|
||||
int pumpWdth = 38;
|
||||
|
||||
/// Pipes
|
||||
formGraphics.FillRectangle(filledBrush,new Rectangle(pumpLeft+pumpWdth, bottom-diam, 65, diam)); // tank -> pump
|
||||
formGraphics.FillRectangle(benchBrush, new Rectangle(left, bottom-diam, pumpLeft-left, diam)); // pump ->bench horizontal
|
||||
formGraphics.FillRectangle(benchBrush, new Rectangle(left, benchTop, diam, bottom-benchTop)); // ->bench vertical
|
||||
formGraphics.FillRectangle(benchBrush, new Rectangle(left + diam, benchTop, topLeft-left, diam)); // bench horizontal
|
||||
formGraphics.FillRectangle(benchBrush, new Rectangle(topLeft, top + diam, diam, benchTop-top-diam)); // bench -> top vertical
|
||||
formGraphics.FillRectangle(benchBrush, new Rectangle(topLeft, top, topRight-topLeft, diam)); // top horizontal
|
||||
formGraphics.FillRectangle(benchBrush, new Rectangle(topRight-diam, top+diam, diam, divTop-top-diam)); // top -> diverter vertical
|
||||
|
||||
/// Combined meters bypasses
|
||||
if (watermeterPictureBox1z.Visible) PaintBypass(formGraphics, benchBrush, 186, benchTop + diam);
|
||||
if (watermeterPictureBox2z.Visible) PaintBypass(formGraphics, benchBrush, 470, benchTop + diam);
|
||||
if (watermeterPictureBox3z.Visible) PaintBypass(formGraphics, benchBrush, 754, benchTop + diam);
|
||||
|
||||
/// Diverter
|
||||
int displacement = diverterToTank ? 25 : -25;
|
||||
Point[] points = new Point[4];
|
||||
points[0].X = topRight - diam;
|
||||
points[0].Y = divTop;
|
||||
points[1].X = topRight;
|
||||
points[1].Y = divTop;
|
||||
points[2].X = topRight + displacement;
|
||||
points[2].Y = divTop + 50;
|
||||
points[3].X = topRight - diam + displacement;
|
||||
points[3].Y = divTop + 50;
|
||||
formGraphics.FillPolygon(benchBrush, points);
|
||||
|
||||
/// Sink
|
||||
formGraphics.FillEllipse(emptyBrush, topRight - diam / 2 - 45, divTop + 50, 40, 30);
|
||||
formGraphics.DrawEllipse(Pens.Black, topRight - diam / 2 - 45, divTop + 50, 40, 30);
|
||||
|
||||
/// Tank
|
||||
formGraphics.DrawRectangle(Pens.Black, topRight - diam / 2, divTop + 51, 60, 80);
|
||||
|
||||
|
||||
emptyBrush.Dispose();
|
||||
filledBrush.Dispose();
|
||||
formGraphics.Dispose();
|
||||
}
|
||||
|
||||
private void PaintBypass(System.Drawing.Graphics formGraphics, System.Drawing.SolidBrush brush, int startX, int startY)
|
||||
{
|
||||
int w = 80;
|
||||
int h = 43;
|
||||
int diam = 10; // pipe diameter (pixels)
|
||||
|
||||
formGraphics.FillRectangle(brush, new Rectangle(startX, startY, diam, h - diam));
|
||||
formGraphics.FillRectangle(brush, new Rectangle(startX, startY + h - diam, w, diam));
|
||||
formGraphics.FillRectangle(brush, new Rectangle(startX + w - diam, startY, diam, h));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user