iPerlST configuration changes, etc., version 1.5.76
This commit is contained in:
parent
7e28381df5
commit
bf376b4ff0
@ -16,7 +16,7 @@ namespace TBF.BenchControl.Elde
|
||||
ResetShapesOfPulses = 8,
|
||||
}
|
||||
|
||||
#if FUZHOU300 || PT200IL || TORINO50 || BADGER_MALA_TRAT
|
||||
#if FUZHOU300 || PT200IL || TORINO50 || BADGER_MALA_TRAT || IPERLST
|
||||
public enum StatusP : ulong
|
||||
{
|
||||
RefFlowMeterMask = 0x7,
|
||||
@ -41,7 +41,7 @@ namespace TBF.BenchControl.Elde
|
||||
ErrorPressMeter3 = 0x4000000000000,
|
||||
ErrorPressMeter4 = 0x8000000000000,
|
||||
}
|
||||
#else // DN100 || MUNICH || FUZHOU150 || TORUN_PT50_2015 || CEVAK_PT40_272 || IPERLST
|
||||
#else // DN100 || MUNICH || FUZHOU150 || TORUN_PT50_2015 || CEVAK_PT40_272
|
||||
public enum StatusP : ulong
|
||||
{
|
||||
RefFlowMeterMask = 0x7,
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
///
|
||||
/// Copyright (c) 2015 Sensus Metering Systems
|
||||
/// Author: Milan Hanajík
|
||||
///
|
||||
using System;
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
///
|
||||
/// Copyright (c) 2015 Sensus Metering Systems
|
||||
/// Author: Milan Hanajík
|
||||
///
|
||||
using System;
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
///
|
||||
/// Copyright (c) 2015 Sensus Metering Systems
|
||||
/// Author: Milan Hanajík
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
///
|
||||
/// Copyright (c) 2015 Sensus Metering Systems
|
||||
/// Author: Milan Hanajík
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
///
|
||||
/// Copyright (c) 2015 Sensus Metering Systems
|
||||
/// Author: Milan Hanajík
|
||||
///
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
///
|
||||
/// Copyright (c) 2015 Sensus Metering Systems
|
||||
/// Author: Milan Hanajík
|
||||
///
|
||||
using System;
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
///
|
||||
/// Copyright (c) 2015 Sensus Metering Systems
|
||||
/// Author: Milan Hanajík
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
///
|
||||
/// Copyright (c) 2015 Sensus Metering Systems
|
||||
/// Author: Milan Hanajík
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
///
|
||||
/// Copyright (c) 2015 Sensus Metering Systems
|
||||
/// Author: Milan Hanajík
|
||||
///
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
///
|
||||
/// Copyright (c) 2013-2015 Sensus Metering Systems
|
||||
/// Author: Milan Hanajík
|
||||
///
|
||||
namespace TBF.BenchControl.WaterMeters.iPerl
|
||||
{
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
///
|
||||
/// Copyright (c) 2015 Sensus Metering Systems
|
||||
/// Author: Milan Hanajík
|
||||
///
|
||||
using TBF.BenchControl.Generic;
|
||||
|
||||
|
||||
5
TestBenchFramework/MainWnd.Designer.cs
generated
5
TestBenchFramework/MainWnd.Designer.cs
generated
@ -594,9 +594,12 @@ namespace TBF
|
||||
#elif BADGER_MALA_TRAT
|
||||
private ControlComponent_Torino2015.UserControl1 ctrlBrdComponent;
|
||||
private TBF.Screens.ProcessTabPageCtrl6 processTabPageCtrl;
|
||||
#elif TORUN_PT50_2015 || CEVAK_PT40_272 || IPERLST
|
||||
#elif TORUN_PT50_2015 || CEVAK_PT40_272
|
||||
private ControlComponent_Torino2015.UserControl1 ctrlBrdComponent;
|
||||
private TBF.Screens.ProcessTabPageCtrl24 processTabPageCtrl;
|
||||
#elif IPERLST
|
||||
private ControlComponent_Torino2015.UserControl1 ctrlBrdComponent;
|
||||
private TBF.Screens.ProcessTabPageCtrl48 processTabPageCtrl;
|
||||
#endif
|
||||
|
||||
private System.Windows.Forms.ToolStripMenuItem benchTSMenuItem;
|
||||
|
||||
3405
TestBenchFramework/Screens/ProcessTabPageCtrl48.Designer.cs
generated
Normal file
3405
TestBenchFramework/Screens/ProcessTabPageCtrl48.Designer.cs
generated
Normal file
File diff suppressed because it is too large
Load Diff
577
TestBenchFramework/Screens/ProcessTabPageCtrl48.cs
Normal file
577
TestBenchFramework/Screens/ProcessTabPageCtrl48.cs
Normal file
@ -0,0 +1,577 @@
|
||||
///
|
||||
/// Copyright (c) 2015 Sensus Metering Systems
|
||||
/// Author: Milan Hanajík
|
||||
///
|
||||
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 ProcessTabPageCtrl48 : UserControl
|
||||
{
|
||||
static readonly ILog log = LogManager.GetLogger(typeof(ProcessTabPageCtrl48));
|
||||
|
||||
Entities.MetersKind currentMetersKind;
|
||||
|
||||
int textBoxesCount;
|
||||
|
||||
Label[] meter;
|
||||
Label[] sensor;
|
||||
Label[] pulses;
|
||||
Label[] refPulses;
|
||||
Label[] volume;
|
||||
Label[] error;
|
||||
Label[] passed;
|
||||
|
||||
bool pumpOn = true;
|
||||
bool diverterToTank = true;
|
||||
|
||||
/// <summary>
|
||||
/// Constructor, initializes anonymous event handlers
|
||||
/// </summary>
|
||||
public ProcessTabPageCtrl48()
|
||||
{
|
||||
currentMetersKind = Entities.MetersKind.Single;
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
textBoxesCount = 24;
|
||||
meter = new Label[] {
|
||||
meter1Label, meter2Label, meter3Label, meter4Label, meter5Label, meter6Label,
|
||||
meter7Label, meter8Label, meter9Label, meter10Label, meter11Label, meter12Label,
|
||||
meter13Label, meter14Label, meter15Label, meter16Label, meter17Label, meter18Label,
|
||||
meter19Label, meter20Label, meter21Label, meter22Label, meter23Label, meter24Label,
|
||||
};
|
||||
sensor = new Label[] {
|
||||
sensor1Label, sensor2Label, sensor3Label, sensor4Label, sensor5Label, sensor6Label,
|
||||
sensor7Label, sensor8Label, sensor9Label, sensor10Label, sensor11Label, sensor12Label,
|
||||
sensor13Label, sensor14Label, sensor15Label, sensor16Label, sensor17Label, sensor18Label,
|
||||
sensor19Label, sensor20Label, sensor21Label, sensor22Label, sensor23Label, sensor24Label,
|
||||
};
|
||||
pulses = new Label[] {
|
||||
pulses1Label, pulses2Label, pulses3Label, pulses4Label, pulses5Label, pulses6Label,
|
||||
pulses7Label, pulses8Label, pulses9Label, pulses10Label, pulses11Label, pulses12Label,
|
||||
pulses13Label, pulses14Label, pulses15Label, pulses16Label, pulses17Label, pulses18Label,
|
||||
pulses19Label, pulses20Label, pulses21Label, pulses22Label, pulses23Label, pulses24Label,
|
||||
};
|
||||
refPulses = new Label[] {
|
||||
refPulses1Label, refPulses2Label, refPulses3Label, refPulses4Label, refPulses5Label, refPulses6Label,
|
||||
refPulses7Label, refPulses8Label, refPulses9Label, refPulses10Label, refPulses11Label, refPulses12Label,
|
||||
refPulses13Label, refPulses14Label, refPulses15Label, refPulses16Label, refPulses17Label, refPulses18Label,
|
||||
refPulses19Label, refPulses20Label, refPulses21Label, refPulses22Label, refPulses23Label, refPulses24Label,
|
||||
};
|
||||
volume = new Label[] {
|
||||
volume1Label, volume2Label, volume3Label, volume4Label, volume5Label, volume6Label,
|
||||
volume7Label, volume8Label, volume9Label, volume10Label, volume11Label, volume12Label,
|
||||
volume13Label, volume14Label, volume15Label, volume16Label, volume17Label, volume18Label,
|
||||
volume19Label, volume20Label, volume21Label, volume22Label, volume23Label, volume24Label,
|
||||
};
|
||||
error = new Label[] {
|
||||
error1Label, error2Label, error3Label, error4Label, error5Label, error6Label,
|
||||
error7Label, error8Label, error9Label, error10Label, error11Label, error12Label,
|
||||
error13Label, error14Label, error15Label, error16Label, error17Label, error18Label,
|
||||
error19Label, error20Label, error21Label, error22Label, error23Label, error24Label,
|
||||
};
|
||||
passed = new Label[] {
|
||||
passed1Label, passed2Label, passed3Label, passed4Label, passed5Label, passed6Label,
|
||||
passed7Label, passed8Label, passed9Label, passed10Label, passed11Label, passed12Label,
|
||||
passed13Label, passed14Label, passed15Label, passed16Label, passed17Label, passed18Label,
|
||||
passed19Label, passed20Label, passed21Label, passed22Label, passed23Label, passed24Label,
|
||||
};
|
||||
ShuffleLabels(Program.WMsCount, Program.LineSize);
|
||||
|
||||
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);
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Make sure the layout of labels/text boxes on the screen
|
||||
/// corresponds to the layout of watermeters of the test bench.
|
||||
/// Enable only used labels.
|
||||
/// </summary>
|
||||
/// <param name="wmsCount">Number of watermeters</param>
|
||||
/// <param name="lineSize">Number of watermeters in one line</param>
|
||||
void ShuffleLabels(int wmsCount, int lineSize)
|
||||
{
|
||||
if (wmsCount < textBoxesCount && lineSize > 0)
|
||||
{
|
||||
int nrLines = (wmsCount + lineSize - 1) / lineSize;
|
||||
int gap = (textBoxesCount - wmsCount) / nrLines;
|
||||
|
||||
int dest = 0;
|
||||
for (int l = 0; l < nrLines; l++)
|
||||
{
|
||||
for (int i = 0; i < lineSize; i++)
|
||||
{
|
||||
meter[dest] = meter[l * lineSize + l * gap + i];
|
||||
meter[dest].Visible = true;
|
||||
meter[dest].Text = string.Format("Meter {0}", dest + 1);
|
||||
sensor[dest] = sensor[l * lineSize + l * gap + i];
|
||||
sensor[dest].Visible = true;
|
||||
pulses[dest] = pulses[l * lineSize + l * gap + i];
|
||||
pulses[dest].Visible = true;
|
||||
refPulses[dest] = refPulses[l * lineSize + l * gap + i];
|
||||
refPulses[dest].Visible = true;
|
||||
volume[dest] = volume[l * lineSize + l * gap + i];
|
||||
volume[dest].Visible = true;
|
||||
error[dest] = error[l * lineSize + l * gap + i];
|
||||
error[dest].Visible = true;
|
||||
passed[dest] = passed[l * lineSize + l * gap + i];
|
||||
passed[dest].Visible = true;
|
||||
dest++;
|
||||
}
|
||||
}
|
||||
textBoxesCount = wmsCount;
|
||||
}
|
||||
}
|
||||
|
||||
private void ProcessTabPageCtrl_Load(object sender, EventArgs e)
|
||||
{
|
||||
Once();
|
||||
ResetLabelsAndTargetVals();
|
||||
ResetReadings();
|
||||
}
|
||||
|
||||
void Once()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void UpdateVisibility(Entities.MetersKind metersKind)
|
||||
{
|
||||
bool visible = (metersKind == Entities.MetersKind.Single);
|
||||
|
||||
for (int i = 2 * Program.CompoundWMsCount; i < textBoxesCount; i++)
|
||||
{
|
||||
meter[i].Visible = visible;
|
||||
sensor[i].Visible = visible;
|
||||
pulses[i].Visible = visible;
|
||||
refPulses[i].Visible = visible;
|
||||
volume[i].Visible = visible;
|
||||
error[i].Visible = visible;
|
||||
passed[i].Visible = visible;
|
||||
}
|
||||
|
||||
groupBox1z.Visible = (metersKind == Entities.MetersKind.Combined) && (Program.CompoundWMsCount >= 1);
|
||||
groupBox2z.Visible = (metersKind == Entities.MetersKind.Combined) && (Program.CompoundWMsCount >= 2);
|
||||
groupBox3z.Visible = (metersKind == Entities.MetersKind.Combined) && (Program.CompoundWMsCount >= 3);
|
||||
}
|
||||
|
||||
|
||||
/// <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)
|
||||
{
|
||||
watermeterPictureBox1.Visible = true;
|
||||
watermeterPictureBox2.Visible = true;
|
||||
watermeterPictureBox3.Visible = true;
|
||||
watermeterPictureBox4.Visible = true;
|
||||
watermeterPictureBox5.Visible = true;
|
||||
watermeterPictureBox6.Visible = true;
|
||||
|
||||
watermeterPictureBox1z.Visible = false;
|
||||
watermeterPictureBox2z.Visible = false;
|
||||
watermeterPictureBox3z.Visible = false;
|
||||
|
||||
groupBox1z.Visible = false;
|
||||
groupBox2z.Visible = false;
|
||||
groupBox3z.Visible = false;
|
||||
|
||||
sensor1Label.Text = "---";
|
||||
|
||||
for (int i = 0; i < textBoxesCount; i++)
|
||||
{
|
||||
sensor[i].Text = "---";
|
||||
}
|
||||
}
|
||||
else if (currentMetersKind == Entities.MetersKind.Combined)
|
||||
{
|
||||
watermeterPictureBox1.Visible = false;
|
||||
watermeterPictureBox2.Visible = true;
|
||||
watermeterPictureBox3.Visible = false;
|
||||
watermeterPictureBox4.Visible = false;
|
||||
watermeterPictureBox5.Visible = false;
|
||||
watermeterPictureBox6.Visible = false;
|
||||
|
||||
watermeterPictureBox1z.Visible = true;
|
||||
watermeterPictureBox2z.Visible = false;
|
||||
watermeterPictureBox3z.Visible = false;
|
||||
|
||||
groupBox1z.Visible = true;
|
||||
groupBox2z.Visible = false;
|
||||
groupBox3z.Visible = false;
|
||||
|
||||
sensor1Label.Visible = true;
|
||||
sensor1Label.Text = "---";
|
||||
sensor2Label.Visible = true;
|
||||
sensor2Label.Text = "---";
|
||||
}
|
||||
}
|
||||
|
||||
/// <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 (currentMetersKind == Entities.MetersKind.Single)
|
||||
{
|
||||
for (int i = 0; i < textBoxesCount; i++)
|
||||
{
|
||||
pulses[i].Text = "---";
|
||||
refPulses[i].Text = "---";
|
||||
volume[i].Text = "---";
|
||||
error[i].Text = "---";
|
||||
passed[i].Text = "---";
|
||||
}
|
||||
}
|
||||
else if (currentMetersKind == Entities.MetersKind.Combined)
|
||||
{
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
pulses[i].Text = "---";
|
||||
refPulses[i].Text = "---";
|
||||
volume[i].Text = "---";
|
||||
error[i].Text = "---";
|
||||
passed[i].Text = "---";
|
||||
}
|
||||
volume1zLabel.Text = "---";
|
||||
error1zLabel.Text = "---";
|
||||
passed1zLabel.Text = "---";
|
||||
}
|
||||
}
|
||||
|
||||
void OnProcedureSelected(object sender, ProcedureSelectedEventArgs args)
|
||||
{
|
||||
currentMetersKind = args.Procedure.MetersKind;
|
||||
UpdateVisibility(currentMetersKind);
|
||||
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;
|
||||
|
||||
for (int i = 0; i < textBoxesCount; i++)
|
||||
{
|
||||
sensor[i].Text = (args.MetersPath.RegisterReaders[i] == null) ? "" : args.MetersPath.RegisterReaders[i].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
|
||||
if (currentMetersKind == Entities.MetersKind.Single)
|
||||
{
|
||||
for (int i = 0; i < textBoxesCount; i++)
|
||||
{
|
||||
pulses[i].Text = args.TestResult.Meters[i].PulsesMeter.ToString();
|
||||
refPulses[i].Text = args.TestResult.Meters[i].PulsesMaster.ToString();
|
||||
volume[i].Text = args.TestResult.Meters[i].VolumeMeter.ToString();
|
||||
error[i].Text = args.TestResult.Meters[i].VolumeErrorPct.ToString();
|
||||
}
|
||||
}
|
||||
else if (currentMetersKind == Entities.MetersKind.Combined)
|
||||
{
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
pulses[i].Text = args.TestResult.Meters[i].PulsesMeter.ToString();
|
||||
refPulses[i].Text = args.TestResult.Meters[i].PulsesMaster.ToString();
|
||||
volume[i].Text = args.TestResult.Meters[i].VolumeMeter.ToString();
|
||||
error[i].Text = args.TestResult.Meters[i].VolumeErrorPct.ToString();
|
||||
}
|
||||
volume1zLabel.Text = args.TestResult.CombinedMeters[0].VolumeMeter.ToString();
|
||||
error1zLabel.Text = args.TestResult.CombinedMeters[0].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)
|
||||
{
|
||||
for (int i = 0; i < textBoxesCount; i++)
|
||||
{
|
||||
pulses[i].Text = tRes.Meters[i].PulsesMeter.ToString("F0");
|
||||
refPulses[i].Text = tRes.Meters[i].PulsesMaster.ToString("F0");
|
||||
volume[i].Text = tRes.Meters[i].VolumeMeter.ToString("F2");
|
||||
error[i].Text = tRes.Meters[i].VolumeErrorPct.ToString("F2");
|
||||
passed[i].Text = tRes.Meters[i].Passed ? Strings.Passed : Strings.Failed;
|
||||
}
|
||||
}
|
||||
else if (tRes.MetersKind == Entities.MetersKind.Combined)
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
}
|
||||
333
TestBenchFramework/Screens/ProcessTabPageCtrl48.resx
Normal file
333
TestBenchFramework/Screens/ProcessTabPageCtrl48.resx
Normal file
@ -0,0 +1,333 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="reservoirPictureBox.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAI4AAABtCAYAAAB3LVkkAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAIxSURBVHhe7dqxbgJBEETB+/+fxgJLDkjwbYCeWhVcBMHM
|
||||
Xnctkn1d1/XwOIODDDwP7eFxBjcy8Cqa4CjOXTgE50bL7h7u8vcFR3COrmjBERzBWb4aarsRhzjEqbVy
|
||||
eR7iEIc4yw2v7UYc4hCn1srleYhDHOIsN7y2G3GIQ5xaK5fnIQ5xiLPc8NpuxCEOcWqtXJ6HOMQhznLD
|
||||
a7sRhzjEqbVyeR7iEIc4yw2v7UYc4hCn1srleYhDHOIsN7y2G3GIQ5xaK5fnIQ5xiLPc8NpuxCEOcWqt
|
||||
XJ6HOMQhznLDa7sRhzjEqbVyeR7iEIc4yw2v7UYc4hCn1srleYhDHOIsN7y2G3GIQ5xaK5fnIQ5xiLPc
|
||||
8NpuxCEOcWqtXJ6HOMQhznLDa7sRhzjEqbVyeR7iEIc4yw2v7UYc4hCn1srleYhDHOIsN7y2G3GIQ5xa
|
||||
K5fnIQ5xiLPc8NpuxCEOcWqtXJ6HOMQhznLDa7sRhzjEqbVyeR7iEIc4yw2v7UYc4hCn1srleYhDHOIs
|
||||
N7y2G3GIQ5xaK5fnIQ5xzsVZbobdrqNgfDq3lzifvuRzZ/SeAcFxVR3BITiCIziu1O9dqcQhDnGIQ5yj
|
||||
FgiO4AhO/Ar1Gyf+gqqKCo7gHOkuOIIjOFXWF+ciDnGIs9js6k7+H4c45+I801NNtrma74Y4SnOEhuAI
|
||||
juC41r53rRGHOMQhDnGOWiA4giM48SvUb5z4C6oqKjiCc6T7X3B+/9rpcQb/zcAPdaeY4roQUU4AAAAA
|
||||
SUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="pumpPictureBox.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr0AAA69AUf7kK0AAALVSURBVFhH7Zi9TgJBEMeXr8RCTUz4SEyo6bEACuIDkBBK
|
||||
MOSiUFDwBj4AJQkdsbGgsqQ02oMmNEpoLH0BYmU3+gf3du5uOQ44PgqLDeGOnf0xM7s7/xHT6ZQ2GYFA
|
||||
gIQQjrGJTcwVqxpIJBKEwWFyuRxVq1Vz8HfhcHj2+16vt5IDPIENBgOqVCoWmFarRV5GsVg058ViMWo2
|
||||
m54Al4Jls1ltqLxA4TccjHtyMpm4ArqCpVIpLRQW2BQMIXZLIy1Yt9ulfD5vQp2did8QCLq9VUm+Dtjj
|
||||
o6CrK2UjFApRoVDQAmrBONT5uSCi+dgUTNq5vBR0fKwAR6ORA84BxsN3f6+g/ASDrc9Pq+fsYbWA8UTn
|
||||
nvLbY9Le66uCQ86Nx2PTcyYYjgS5a5BTcjL/9CuU3CbCKtdtt9tOMH5OIdF3BYZ1+DEiQ2p6TL6s1fRQ
|
||||
fucY/+PYrXL9crk889rvd56Egl5edg8GyFTKcd+qBycni6G26THYfn52AdPl1baTn9s/PbXAqS8HCVap
|
||||
uIdx26GE/a8vjccMY/9gtqNjTvkP9lcQLMpndnz9e0x7zdk95/AYHhzkcXHQYHd3+7uSUDgeHbFzDJov
|
||||
GAzOjgyUu9/f+7nEHx5sdyVKDIhRmXRPT/sBk+tnMhnq9/tKiUejURMO9dEuC8VcTnmr0+nM6zFZMUIh
|
||||
S2pIrF2BfXwoqEgk4iyt/6pGEw61uB3O75r/7U1QOKzAhsOhHgyyHdRyI2CnbLMeu75WUIZhWLSlVvBC
|
||||
IcuwQmL5Ld/e3wXd3CioWq22XPAipJDtXAvIsPoRSuQUDx/W0fUwFjZVINu552Dg4mKz3gXffbBXr9cX
|
||||
NlaWtqGgkHUdw3WaKtyOPadcWwQ6l0K2QyHb4dYFw+biu29RK2qpx/hEiFEJmE6nSY5Go2Hpl/F3yWRy
|
||||
Ngcnujw8vbRXVwLjBuPxOGHowoxn8n2pVPLU2rTD/gAxvvGUSgVAUAAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="watermeterPictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACYAAAAeCAYAAABAFGxuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAIUSURBVFhH7Zgxa8JAFMfTFqSTgoJLJyUgDq5xcXGsEKRr
|
||||
B2ldHZwL+gnEoaMQx9LVtehguujgUipCwUDpUigItlPb5fXeJSdWTS6nSezQ4W+Gy9373XvvLu8pzedz
|
||||
cKt2uw2SJHkink2J98Ly+D8YieIWHjsgoTzZUREYDodgGIZtGm0BFiJQsKNmNE8TiQS0Wq2NcHsCYxvD
|
||||
w5SFZDIJlUrlF6AQWLVaJQt54bFVj/cXJ13XdQpIPCpy/A93DCEvBRSy/hGDRLAGEVLz9OgzGIIby2B3
|
||||
ARjkeWt5nEYRf/wH07QRpNPvLh0QIFg2O4N+vw/45F83AYIhTLd7T+EKhVcOnANYvT6hi/ilfP7NAW6P
|
||||
YL2eDtHolw3cHsHi8c/tPMZPUJHjb77LciyTwZvdaX6AyV8qPdN8TaU+/tapbDQeXAAxLwboMbHUWICd
|
||||
k93UBXYknl/OYOhNtM9EwBRFAZT5aZItfQcI+URtM44Fz2ozYgJizXUbENwlqKq6VsWuFYrj8Rg0TbM8
|
||||
qPoMd0HtbOrUbCvYZrMJuVyOTIwQXfsAOKFQnU5HDIztQpZlCIUwtFdELx4BmlCDwWC3Lmk0GlmhPfYA
|
||||
zAwfdkietW/lctkCPN0C8JLMMet5u/At55pQl4QTp9MpxGIxC/CGPFF29xpeOzh+RucUi0XX/5MIg7Fd
|
||||
1Wo1C865ywqHw6S8iboGYuv/AMJ7ZtVaEL7eAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="watermeterPictureBox2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACYAAAAeCAYAAABAFGxuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAIUSURBVFhH7Zgxa8JAFMfTFqSTgoJLJyUgDq5xcXGsEKRr
|
||||
B2ldHZwL+gnEoaMQx9LVtehguujgUipCwUDpUigItlPb5fXeJSdWTS6nSezQ4W+Gy9373XvvLu8pzedz
|
||||
cKt2uw2SJHkink2J98Ly+D8YieIWHjsgoTzZUREYDodgGIZtGm0BFiJQsKNmNE8TiQS0Wq2NcHsCYxvD
|
||||
w5SFZDIJlUrlF6AQWLVaJQt54bFVj/cXJ13XdQpIPCpy/A93DCEvBRSy/hGDRLAGEVLz9OgzGIIby2B3
|
||||
ARjkeWt5nEYRf/wH07QRpNPvLh0QIFg2O4N+vw/45F83AYIhTLd7T+EKhVcOnANYvT6hi/ilfP7NAW6P
|
||||
YL2eDtHolw3cHsHi8c/tPMZPUJHjb77LciyTwZvdaX6AyV8qPdN8TaU+/tapbDQeXAAxLwboMbHUWICd
|
||||
k93UBXYknl/OYOhNtM9EwBRFAZT5aZItfQcI+URtM44Fz2ozYgJizXUbENwlqKq6VsWuFYrj8Rg0TbM8
|
||||
qPoMd0HtbOrUbCvYZrMJuVyOTIwQXfsAOKFQnU5HDIztQpZlCIUwtFdELx4BmlCDwWC3Lmk0GlmhPfYA
|
||||
zAwfdkietW/lctkCPN0C8JLMMet5u/At55pQl4QTp9MpxGIxC/CGPFF29xpeOzh+RucUi0XX/5MIg7Fd
|
||||
1Wo1C865ywqHw6S8iboGYuv/AMJ7ZtVaEL7eAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="watermeterPictureBox3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACYAAAAeCAYAAABAFGxuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAIUSURBVFhH7Zgxa8JAFMfTFqSTgoJLJyUgDq5xcXGsEKRr
|
||||
B2ldHZwL+gnEoaMQx9LVtehguujgUipCwUDpUigItlPb5fXeJSdWTS6nSezQ4W+Gy9373XvvLu8pzedz
|
||||
cKt2uw2SJHkink2J98Ly+D8YieIWHjsgoTzZUREYDodgGIZtGm0BFiJQsKNmNE8TiQS0Wq2NcHsCYxvD
|
||||
w5SFZDIJlUrlF6AQWLVaJQt54bFVj/cXJ13XdQpIPCpy/A93DCEvBRSy/hGDRLAGEVLz9OgzGIIby2B3
|
||||
ARjkeWt5nEYRf/wH07QRpNPvLh0QIFg2O4N+vw/45F83AYIhTLd7T+EKhVcOnANYvT6hi/ilfP7NAW6P
|
||||
YL2eDtHolw3cHsHi8c/tPMZPUJHjb77LciyTwZvdaX6AyV8qPdN8TaU+/tapbDQeXAAxLwboMbHUWICd
|
||||
k93UBXYknl/OYOhNtM9EwBRFAZT5aZItfQcI+URtM44Fz2ozYgJizXUbENwlqKq6VsWuFYrj8Rg0TbM8
|
||||
qPoMd0HtbOrUbCvYZrMJuVyOTIwQXfsAOKFQnU5HDIztQpZlCIUwtFdELx4BmlCDwWC3Lmk0GlmhPfYA
|
||||
zAwfdkietW/lctkCPN0C8JLMMet5u/At55pQl4QTp9MpxGIxC/CGPFF29xpeOzh+RucUi0XX/5MIg7Fd
|
||||
1Wo1C865ywqHw6S8iboGYuv/AMJ7ZtVaEL7eAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="watermeterPictureBox4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACYAAAAeCAYAAABAFGxuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAIUSURBVFhH7Zgxa8JAFMfTFqSTgoJLJyUgDq5xcXGsEKRr
|
||||
B2ldHZwL+gnEoaMQx9LVtehguujgUipCwUDpUigItlPb5fXeJSdWTS6nSezQ4W+Gy9373XvvLu8pzedz
|
||||
cKt2uw2SJHkink2J98Ly+D8YieIWHjsgoTzZUREYDodgGIZtGm0BFiJQsKNmNE8TiQS0Wq2NcHsCYxvD
|
||||
w5SFZDIJlUrlF6AQWLVaJQt54bFVj/cXJ13XdQpIPCpy/A93DCEvBRSy/hGDRLAGEVLz9OgzGIIby2B3
|
||||
ARjkeWt5nEYRf/wH07QRpNPvLh0QIFg2O4N+vw/45F83AYIhTLd7T+EKhVcOnANYvT6hi/ilfP7NAW6P
|
||||
YL2eDtHolw3cHsHi8c/tPMZPUJHjb77LciyTwZvdaX6AyV8qPdN8TaU+/tapbDQeXAAxLwboMbHUWICd
|
||||
k93UBXYknl/OYOhNtM9EwBRFAZT5aZItfQcI+URtM44Fz2ozYgJizXUbENwlqKq6VsWuFYrj8Rg0TbM8
|
||||
qPoMd0HtbOrUbCvYZrMJuVyOTIwQXfsAOKFQnU5HDIztQpZlCIUwtFdELx4BmlCDwWC3Lmk0GlmhPfYA
|
||||
zAwfdkietW/lctkCPN0C8JLMMet5u/At55pQl4QTp9MpxGIxC/CGPFF29xpeOzh+RucUi0XX/5MIg7Fd
|
||||
1Wo1C865ywqHw6S8iboGYuv/AMJ7ZtVaEL7eAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="watermeterPictureBox5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACYAAAAeCAYAAABAFGxuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAIUSURBVFhH7Zgxa8JAFMfTFqSTgoJLJyUgDq5xcXGsEKRr
|
||||
B2ldHZwL+gnEoaMQx9LVtehguujgUipCwUDpUigItlPb5fXeJSdWTS6nSezQ4W+Gy9373XvvLu8pzedz
|
||||
cKt2uw2SJHkink2J98Ly+D8YieIWHjsgoTzZUREYDodgGIZtGm0BFiJQsKNmNE8TiQS0Wq2NcHsCYxvD
|
||||
w5SFZDIJlUrlF6AQWLVaJQt54bFVj/cXJ13XdQpIPCpy/A93DCEvBRSy/hGDRLAGEVLz9OgzGIIby2B3
|
||||
ARjkeWt5nEYRf/wH07QRpNPvLh0QIFg2O4N+vw/45F83AYIhTLd7T+EKhVcOnANYvT6hi/ilfP7NAW6P
|
||||
YL2eDtHolw3cHsHi8c/tPMZPUJHjb77LciyTwZvdaX6AyV8qPdN8TaU+/tapbDQeXAAxLwboMbHUWICd
|
||||
k93UBXYknl/OYOhNtM9EwBRFAZT5aZItfQcI+URtM44Fz2ozYgJizXUbENwlqKq6VsWuFYrj8Rg0TbM8
|
||||
qPoMd0HtbOrUbCvYZrMJuVyOTIwQXfsAOKFQnU5HDIztQpZlCIUwtFdELx4BmlCDwWC3Lmk0GlmhPfYA
|
||||
zAwfdkietW/lctkCPN0C8JLMMet5u/At55pQl4QTp9MpxGIxC/CGPFF29xpeOzh+RucUi0XX/5MIg7Fd
|
||||
1Wo1C865ywqHw6S8iboGYuv/AMJ7ZtVaEL7eAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="watermeterPictureBox6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACYAAAAeCAYAAABAFGxuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAIUSURBVFhH7Zgxa8JAFMfTFqSTgoJLJyUgDq5xcXGsEKRr
|
||||
B2ldHZwL+gnEoaMQx9LVtehguujgUipCwUDpUigItlPb5fXeJSdWTS6nSezQ4W+Gy9373XvvLu8pzedz
|
||||
cKt2uw2SJHkink2J98Ly+D8YieIWHjsgoTzZUREYDodgGIZtGm0BFiJQsKNmNE8TiQS0Wq2NcHsCYxvD
|
||||
w5SFZDIJlUrlF6AQWLVaJQt54bFVj/cXJ13XdQpIPCpy/A93DCEvBRSy/hGDRLAGEVLz9OgzGIIby2B3
|
||||
ARjkeWt5nEYRf/wH07QRpNPvLh0QIFg2O4N+vw/45F83AYIhTLd7T+EKhVcOnANYvT6hi/ilfP7NAW6P
|
||||
YL2eDtHolw3cHsHi8c/tPMZPUJHjb77LciyTwZvdaX6AyV8qPdN8TaU+/tapbDQeXAAxLwboMbHUWICd
|
||||
k93UBXYknl/OYOhNtM9EwBRFAZT5aZItfQcI+URtM44Fz2ozYgJizXUbENwlqKq6VsWuFYrj8Rg0TbM8
|
||||
qPoMd0HtbOrUbCvYZrMJuVyOTIwQXfsAOKFQnU5HDIztQpZlCIUwtFdELx4BmlCDwWC3Lmk0GlmhPfYA
|
||||
zAwfdkietW/lctkCPN0C8JLMMet5u/At55pQl4QTp9MpxGIxC/CGPFF29xpeOzh+RucUi0XX/5MIg7Fd
|
||||
1Wo1C865ywqHw6S8iboGYuv/AMJ7ZtVaEL7eAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="flowMeterPictureBox.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAOoSURBVFhHtZi/SjtBEMc3JjFBEm0kIaDGTjD+A0ERTSWY
|
||||
ShDEJmAkWmgUBP+CoGCVl8gL5AFSpLO3VAiYKo/gG+zvvne5vd29vbu9837FNsns7OdmZmdnhvz+/lLd
|
||||
dXNzQwkhkZffOQcHBxTr+PjY0q8LBbm4wWq1GsVaWFhwf6wO2Pf3N202m5EtZVu5UqnQTqfDPATr2KvV
|
||||
aon6g8Cur6/dQJOTlGQylLy/+6+lJUtO4f7BYEBHo5G56vW6IJNKpfxduQTFstJGg5K3t2AoHhp7Zmdd
|
||||
hwPq8PBQ+L1arZqxpoyxfr9PIcCgsllKtrbCwaiseXpKyeqq0oKlUon+/PzQjY0NbzABCm4LclnY/xcX
|
||||
Bbh8Ps/cCmMgvFwWc7nv/j5+sJUVASyZTPqDCYEOS/0PqJ0dpSuzRrgMh0N2Y5nFkBKEmArrHh15Hmpq
|
||||
yvIE59Zut+sGE/JUHIEugxo5TLjhz89OiHA3305fzGLCJp2vDyOzve1AwVI8FPTAEGO4u7s7J/iFW4ic
|
||||
E+bQINndXQfKuH2euiWrmRYrFovWZgT862t8YNLtIy8v3rpPTtgHsHTB3KjzzARZyP5/c1O8TE9P/h98
|
||||
dsbkl5eXrTzGwHQPDZLb23N0Tk/re2D8rhYKBUpyuVy8YGtr4u0LExpjsEQiAR1c4RdkiaD/jXeO6UOF
|
||||
8PCgby3oFiuRmMD4R39mJhyQ/cFKsPX1aMqglLcUPBBkWa//Y7WYXMaEdR8PGRsYf/uius8LLHK64PMU
|
||||
Aj2q+xRgZroQwFBK6xwgZ/THR719frqvriiZmDBvNQObwsOKoNXJ/Pzbh+QZJk/5gXGZv91uWxabm5tz
|
||||
8o/fI85XCegDdKyrK6N6xD8+PhwwdDMqZbL7gt4+XSDIoSsag6FDEmp+8+G0qdHN8Ir5yhOli1+VEAbI
|
||||
luU81uv1RDB0yAwM7529SVUORznca8/tLTu3XC67S2vhdsJyhhDxK4fjgEOXP76JMMrX15caDG17Op12
|
||||
dzGqcvivYAgXLuAbxqXjxxXKTtw1FvgrhLxfmoecn5+7RmEuMHmWYELCrXHBIaY499mdtzzcEcD4qQva
|
||||
dnTIgvX+0tYhJczPC/ouLi48h4YMjJ9PYcBhfwE6ZJdr0TggUwdZ8fLSklOMoeSYUlrs6OhI2Iypiy2I
|
||||
th0dsnLEiSfMb0kugw6kBP72ec3nCJt5GpsyxiGfn5+e5t3f31cDas5l7eQZNCwcpy6rtObd57Ux7hms
|
||||
H+A/sZE2jkXDPvIAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACYAAAAjCAYAAAD48HgdAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAN1SURBVFhHxZg5SDNBGIZHiTZBEA9UEESE2ARvJFEiWIlX
|
||||
FW0UUUFsLQRBm3QWBsHKCBaCkBCIeDQpgoKNRCLYaGXAUrAyWnkU3+8768ZsNrs7u5v4F1NkZ/abZ9/5
|
||||
rgnLZDKUOyYnJ4kx9l9GLgfLB8Pv+fn5Pwe7vb1VCFQQLJFIcLCVFUZEpRufn4yqqhgtLS0poCBOQTBM
|
||||
nJ+fc7hAoDRgT0+Su8zNzamgdMEweXl5yV++uSk+HOxWVlYWhDIEwwKXy8Xh3t6KB7e1pQ8lBIZFbreb
|
||||
KiqKA7axIR1hOp3WVEsYTPa3xkZ7cAgmQPn9fl0oYTAsjMVi3Oj2tnW45mZGExMThlCmwLB4fX2dw+3t
|
||||
mYP7+GBUXc1odHRUCMo0GF7o6OjgcJmMOJxcSQolc61nmnlMz0hDQwOHe383hjs5YVReXk7X19dZtXZ3
|
||||
d6mpqYkPh8OhqDKDg4N8nSWwZDLJjTmd+mAHB5Kz39/fq44wHo9/Z/0qDi0rend3l11nCQxfdHp6auhv
|
||||
2LC3tze72fLyMvX19anq8NraGuFjDYu4qC/Im0SjauXcbkb9/f00MzND09PTCpienh7a3Nzkc4FAwHxJ
|
||||
EgFsb2/nmx4f/8K5XOq2aWpqihYWFrIQ+Qrl72X5KHMNtba2UleXGgZB4vV6hVNEUY4S/ROGVlMporbe
|
||||
GtOKhcNhqq2tpbKyMhXU8zOjujpJuT8Bm52dpYGBARUIHDcSiRCOcnj418cAhmd24DQVW1xc5MU2/6gA
|
||||
EwwGs5vC+YeGlFGJQMB7mLMKpwBDRu7s7FTBjIyM8NDO36SlpYV8vsJJFikEcPv7+5bgFGBy6MuJUa8T
|
||||
ODs74xuj5GjdC9raJDgkY7PKKcC6u7spFAoZGpH7s2TSuFaibDmdTnp8fDS0aytdRKPRn/pnDAUlUeih
|
||||
GnKaGdVMpwv4YH09o68vMTDAxWISHFomUThTYB6P5zvSxIFyfS8UkuCguAicMBhqHQzbuQCPjUlwR0dH
|
||||
hnBCYBcXF9zgzo49MHwULjQilcEQ7OHhgRs6PLQPJavtcDB+JbRcK6+urnhNzG1p7Byl/O7rq6QaLtNa
|
||||
cLqK+Xw+buDlpXhqyXDBoHQXSKVS5hrF8fFxqqkxlxbMqok/bPDhSNhCjeLq6upPaCO8Szu0gkF1lPIN
|
||||
SKsBLNVz/FmYq9o/66yHqbdqC6IAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="watermeterPictureBox1z.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACYAAAAeCAYAAABAFGxuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAIUSURBVFhH7Zgxa8JAFMfTFqSTgoJLJyUgDq5xcXGsEKRr
|
||||
B2ldHZwL+gnEoaMQx9LVtehguujgUipCwUDpUigItlPb5fXeJSdWTS6nSezQ4W+Gy9373XvvLu8pzedz
|
||||
cKt2uw2SJHkink2J98Ly+D8YieIWHjsgoTzZUREYDodgGIZtGm0BFiJQsKNmNE8TiQS0Wq2NcHsCYxvD
|
||||
w5SFZDIJlUrlF6AQWLVaJQt54bFVj/cXJ13XdQpIPCpy/A93DCEvBRSy/hGDRLAGEVLz9OgzGIIby2B3
|
||||
ARjkeWt5nEYRf/wH07QRpNPvLh0QIFg2O4N+vw/45F83AYIhTLd7T+EKhVcOnANYvT6hi/ilfP7NAW6P
|
||||
YL2eDtHolw3cHsHi8c/tPMZPUJHjb77LciyTwZvdaX6AyV8qPdN8TaU+/tapbDQeXAAxLwboMbHUWICd
|
||||
k93UBXYknl/OYOhNtM9EwBRFAZT5aZItfQcI+URtM44Fz2ozYgJizXUbENwlqKq6VsWuFYrj8Rg0TbM8
|
||||
qPoMd0HtbOrUbCvYZrMJuVyOTIwQXfsAOKFQnU5HDIztQpZlCIUwtFdELx4BmlCDwWC3Lmk0GlmhPfYA
|
||||
zAwfdkietW/lctkCPN0C8JLMMet5u/At55pQl4QTp9MpxGIxC/CGPFF29xpeOzh+RucUi0XX/5MIg7Fd
|
||||
1Wo1C865ywqHw6S8iboGYuv/AMJ7ZtVaEL7eAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="watermeterPictureBox2z.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACYAAAAeCAYAAABAFGxuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAIUSURBVFhH7Zgxa8JAFMfTFqSTgoJLJyUgDq5xcXGsEKRr
|
||||
B2ldHZwL+gnEoaMQx9LVtehguujgUipCwUDpUigItlPb5fXeJSdWTS6nSezQ4W+Gy9373XvvLu8pzedz
|
||||
cKt2uw2SJHkink2J98Ly+D8YieIWHjsgoTzZUREYDodgGIZtGm0BFiJQsKNmNE8TiQS0Wq2NcHsCYxvD
|
||||
w5SFZDIJlUrlF6AQWLVaJQt54bFVj/cXJ13XdQpIPCpy/A93DCEvBRSy/hGDRLAGEVLz9OgzGIIby2B3
|
||||
ARjkeWt5nEYRf/wH07QRpNPvLh0QIFg2O4N+vw/45F83AYIhTLd7T+EKhVcOnANYvT6hi/ilfP7NAW6P
|
||||
YL2eDtHolw3cHsHi8c/tPMZPUJHjb77LciyTwZvdaX6AyV8qPdN8TaU+/tapbDQeXAAxLwboMbHUWICd
|
||||
k93UBXYknl/OYOhNtM9EwBRFAZT5aZItfQcI+URtM44Fz2ozYgJizXUbENwlqKq6VsWuFYrj8Rg0TbM8
|
||||
qPoMd0HtbOrUbCvYZrMJuVyOTIwQXfsAOKFQnU5HDIztQpZlCIUwtFdELx4BmlCDwWC3Lmk0GlmhPfYA
|
||||
zAwfdkietW/lctkCPN0C8JLMMet5u/At55pQl4QTp9MpxGIxC/CGPFF29xpeOzh+RucUi0XX/5MIg7Fd
|
||||
1Wo1C865ywqHw6S8iboGYuv/AMJ7ZtVaEL7eAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="watermeterPictureBox3z.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACYAAAAeCAYAAABAFGxuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAIUSURBVFhH7Zgxa8JAFMfTFqSTgoJLJyUgDq5xcXGsEKRr
|
||||
B2ldHZwL+gnEoaMQx9LVtehguujgUipCwUDpUigItlPb5fXeJSdWTS6nSezQ4W+Gy9373XvvLu8pzedz
|
||||
cKt2uw2SJHkink2J98Ly+D8YieIWHjsgoTzZUREYDodgGIZtGm0BFiJQsKNmNE8TiQS0Wq2NcHsCYxvD
|
||||
w5SFZDIJlUrlF6AQWLVaJQt54bFVj/cXJ13XdQpIPCpy/A93DCEvBRSy/hGDRLAGEVLz9OgzGIIby2B3
|
||||
ARjkeWt5nEYRf/wH07QRpNPvLh0QIFg2O4N+vw/45F83AYIhTLd7T+EKhVcOnANYvT6hi/ilfP7NAW6P
|
||||
YL2eDtHolw3cHsHi8c/tPMZPUJHjb77LciyTwZvdaX6AyV8qPdN8TaU+/tapbDQeXAAxLwboMbHUWICd
|
||||
k93UBXYknl/OYOhNtM9EwBRFAZT5aZItfQcI+URtM44Fz2ozYgJizXUbENwlqKq6VsWuFYrj8Rg0TbM8
|
||||
qPoMd0HtbOrUbCvYZrMJuVyOTIwQXfsAOKFQnU5HDIztQpZlCIUwtFdELx4BmlCDwWC3Lmk0GlmhPfYA
|
||||
zAwfdkietW/lctkCPN0C8JLMMet5u/At55pQl4QTp9MpxGIxC/CGPFF29xpeOzh+RucUi0XX/5MIg7Fd
|
||||
1Wo1C865ywqHw6S8iboGYuv/AMJ7ZtVaEL7eAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
@ -912,6 +912,12 @@
|
||||
<Compile Include="Screens\ProcessTabPageCtrl24.Designer.cs">
|
||||
<DependentUpon>ProcessTabPageCtrl24.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Screens\ProcessTabPageCtrl48.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Screens\ProcessTabPageCtrl48.Designer.cs">
|
||||
<DependentUpon>ProcessTabPageCtrl48.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="SelectComponentClassDlg.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@ -1564,6 +1570,9 @@
|
||||
<EmbeddedResource Include="Screens\ProcessTabPageCtrl24.resx">
|
||||
<DependentUpon>ProcessTabPageCtrl24.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Screens\ProcessTabPageCtrl48.resx">
|
||||
<DependentUpon>ProcessTabPageCtrl48.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="SelectComponentClassDlg.de.resx">
|
||||
<DependentUpon>SelectComponentClassDlg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user