diff --git a/Common/Formulas.cs b/Common/Formulas.cs
index 3a25c929e..5143eeebe 100644
--- a/Common/Formulas.cs
+++ b/Common/Formulas.cs
@@ -213,9 +213,9 @@ namespace Common
///
public static double ErrorFromVolumes(double measuredVolume, double trueVolume)
{
- if (trueVolume <= float.Epsilon)
+ if (Math.Abs(trueVolume) <= float.Epsilon)
{
- if (measuredVolume <= float.Epsilon)
+ if (Math.Abs(measuredVolume) <= float.Epsilon)
{
log.WarnFormat("ErrorFromVolumes({0},{1}) returns {2}", measuredVolume, trueVolume, -100.0);
return -100.0;
diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs
index 549270949..1c3e8f2f0 100644
--- a/TBF/Properties/AssemblyInfo.cs
+++ b/TBF/Properties/AssemblyInfo.cs
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
-[assembly: AssemblyVersion("3.1.1864.0")]
-[assembly: AssemblyFileVersion("3.1.1864.0")]
+[assembly: AssemblyVersion("3.1.1867.0")]
+[assembly: AssemblyFileVersion("3.1.1867.0")]
diff --git a/TBF/TBF.csproj b/TBF/TBF.csproj
index 86f40371c..3790d0f2a 100644
--- a/TBF/TBF.csproj
+++ b/TBF/TBF.csproj
@@ -2372,12 +2372,6 @@
ProcessTabPageCtrl6.cs
-
- UserControl
-
-
- ProcessTabPageExCtrl.cs
-
Form
@@ -3268,9 +3262,6 @@
ProcessTabPageCtrl6.cs
-
- ProcessTabPageExCtrl.cs
-
DeleteFromOracleForm.cs
diff --git a/TBF/UI/Process/ProcessTabPageCtrl.cs b/TBF/UI/Process/ProcessTabPageCtrl.cs
index d8297ac68..e5c37535b 100644
--- a/TBF/UI/Process/ProcessTabPageCtrl.cs
+++ b/TBF/UI/Process/ProcessTabPageCtrl.cs
@@ -1,15 +1,17 @@
///
-/// Copyright (c) 2021 Sensus Slovensko a.s.
+/// Copyright (c) 2021-2022 Sensus Slovensko a.s.
///
using System;
+using System.Collections.Generic;
+using System.Linq;
using System.Windows.Forms;
using log4net;
using Common;
using Config.Entities;
-using TBF.Resources;
-using TBF.Rig;
-using TBF.UiBridge;
using SchematicDrawing;
+using TBF.Resources;
+using TBF.Rig.Sequences;
+using TBF.UiBridge;
namespace TBF.UI.Process
{
@@ -557,39 +559,58 @@ namespace TBF.UI.Process
void OnProcessDataChanged(object sender, ProcessDataEventArgs args)
{
- if (processListViewEx.Items.Count != TBF.Rig.Sequences.ProcessData.RegisterReaders.Length)
+ if (ProcessData.RegisterReaders == null || ProcessData.BatchRslts == null ||
+ ProcessData.BatchRslts.Batch == null || ProcessData.BatchRslts.Batch.WaterMeters == null)
{
+ return;
+ }
+
+ int wmsCount = Math.Min(ProcessData.RegisterReaders.Length, ProcessData.BatchRslts.Batch.WaterMeters.Count);
+
+ if (processListViewEx.Items.Count != wmsCount)
+ {
+ /// Invoked only when the number of water meters or register readers changes
processListViewEx.Items.Clear();
- for (int i = 1; i <= TBF.Rig.Sequences.ProcessData.RegisterReaders.Length; i++)
+ for (int i = 0; i < wmsCount; i++)
{
- var lvi = new ListViewItem(i.ToString());
- for (Column c = Column.Error; c < Column.Count; c++) lvi.SubItems.Add(".");
- if (TBF.Rig.Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= i)
+ var lvi = new ListViewItem((i+1).ToString()); /// Column 0
+ for (Column c = (Column)1; c < Column.Count; c++) /// Column 1 .. Column.Count-1
{
- lvi.Tag = TBF.Rig.Sequences.ProcessData.BatchRslts.Batch.WaterMeters[i - 1];
+ lvi.SubItems.Add(".");
}
+ lvi.Tag = ProcessData.BatchRslts.Batch.WaterMeters[i];
processListViewEx.Items.Add(lvi);
}
}
- for (int i = 1; i <= TBF.Rig.Sequences.ProcessData.RegisterReaders.Length; i++)
+ TBF.Rig.ControlBoard.IControlBoard cBrd = TBF.Rig.StateMachine.ControlBoard;
+ if (cBrd != null && cBrd.Devices != null && cBrd.Devices.FlowMeter != null)
{
- if (TBF.Rig.Sequences.ProcessData.RegisterReaders[i - 1] != null)
+ double refVolume = cBrd.RefPulses * cBrd.Devices.FlowMeter.LtrPerPulse;
+ for (int i = 0; i < wmsCount; i++)
{
- var lvi = processListViewEx.Items[i - 1];
- var rr = TBF.Rig.Sequences.ProcessData.RegisterReaders[i - 1];
+ var rr = ProcessData.RegisterReaders[i];
+ var lvi = processListViewEx.Items[i];
- if (rr != null)
+ if (rr != null && Math.Abs(rr.WMVolume) > float.Epsilon && refVolume > float.Epsilon)
{
/// Update a list view item
- //lvi.SubItems[(int)Column.Error].Text = Formulas.ErrorFromVolumes(rr.WMVolume, rr.WMRefVolume).ToString("F1");
+ lvi.SubItems[(int)Column.Error].Text = Formulas.ErrorFromVolumes(rr.WMVolume, refVolume).ToString("F1");
lvi.SubItems[(int)Column.Volume].Text = rr.WMVolume.ToString("F1");
lvi.SubItems[(int)Column.Pulses].Text = rr.WMPulses.ToString();
lvi.SubItems[(int)Column.RefPulses].Text = rr.WMRefPulses.ToString();
- if (rr is TBF.Rig.RegisterReaders.S640Stream.S640Stream)
- {
- lvi.SubItems[(int)Column.SerialNr].Text = (rr as TBF.Rig.RegisterReaders.S640Stream.S640Stream).PcbNumber.ToString();
- }
+ }
+ else
+ {
+ lvi.SubItems[(int)Column.Error].Text = string.Empty;
+ lvi.SubItems[(int)Column.Volume].Text = string.Empty;
+ lvi.SubItems[(int)Column.Pulses].Text = string.Empty;
+ lvi.SubItems[(int)Column.RefPulses].Text = string.Empty;
+ }
+
+ if (rr is TBF.Rig.RegisterReaders.S640Stream.S640Stream)
+ {
+ lvi.SubItems[(int)Column.SerialNr].Text = (rr as TBF.Rig.RegisterReaders.S640Stream.S640Stream).PcbNumber.ToString();
}
}
}
@@ -597,40 +618,48 @@ namespace TBF.UI.Process
void OnTestCompleted(object sender, TestCompletedEventArgs args)
{
- if (processListViewEx.Items.Count != TBF.Rig.Sequences.ProcessData.RegisterReaders.Length)
+ if (ProcessData.RegisterReaders == null || ProcessData.BatchRslts == null ||
+ ProcessData.BatchRslts.Batch == null || ProcessData.BatchRslts.Batch.WaterMeters == null)
{
+ return;
+ }
+
+ int wmsCount = Math.Min(ProcessData.RegisterReaders.Length, ProcessData.BatchRslts.Batch.WaterMeters.Count);
+
+ if (processListViewEx.Items.Count != wmsCount)
+ {
+ /// Invoked only when the number of water meters or register readers changes
processListViewEx.Items.Clear();
- for (int i = 1; i <= TBF.Rig.Sequences.ProcessData.RegisterReaders.Length; i++)
+ for (int i = 0; i < wmsCount; i++)
{
- var lvi = new ListViewItem(i.ToString());
- for (Column c = Column.Error; c < Column.Count; c++) lvi.SubItems.Add(".");
- if (TBF.Rig.Sequences.ProcessData.BatchRslts.Batch.WaterMeters.Count >= i)
+ var lvi = new ListViewItem((i + 1).ToString()); /// Column 0
+ for (Column c = (Column)1; c < Column.Count; c++) /// Column 1 .. Column.Count-1
{
- lvi.Tag = TBF.Rig.Sequences.ProcessData.BatchRslts.Batch.WaterMeters[i - 1];
+ lvi.SubItems.Add(".");
}
+ lvi.Tag = ProcessData.BatchRslts.Batch.WaterMeters[i];
processListViewEx.Items.Add(lvi);
}
}
if (args.TestRslt != null)
{
- foreach (var wm in args.TestRslt.Batch.WaterMeters)
+ for (int i = 0; i < wmsCount; i++)
{
- if (wm.WMPosition > 0 && wm.WMPosition <= processListViewEx.Items.Count)
+ var wm = processListViewEx.Items[i].Tag as Results.Entities.WaterMeter;
+ if (wm != null && !wm.Disabled)
{
- foreach (var mtr in wm.MeterTestRslts)
+ Results.Entities.MeterTestRslt mtr = wm.MeterTestRslts.FirstOrDefault(x => x.TestRslt == args.TestRslt);
+ if (mtr != null)
{
- if (mtr != null && mtr.TestRslt == args.TestRslt)
- {
- var lvi = processListViewEx.Items[wm.WMPosition - 1];
+ var lvi = processListViewEx.Items[i];
- /// Update a list view item
- lvi.SubItems[(int)Column.Error].Text = mtr.Error.ToString("F1");
- lvi.SubItems[(int)Column.Volume].Text = mtr.VolumeMeter.ToString("F1");
- lvi.SubItems[(int)Column.Pulses].Text = mtr.PulsesMeter.ToString();
- lvi.SubItems[(int)Column.RefPulses].Text = mtr.PulsesMaster.ToString();
- lvi.SubItems[(int)Column.SerialNr].Text = mtr.SerialNr();
- }
+ /// Update a list view item
+ lvi.SubItems[(int)Column.Error].Text = mtr.Error.ToString("F1");
+ lvi.SubItems[(int)Column.Volume].Text = mtr.VolumeMeter.ToString("F1");
+ lvi.SubItems[(int)Column.Pulses].Text = mtr.PulsesMeter.ToString();
+ lvi.SubItems[(int)Column.RefPulses].Text = mtr.PulsesMaster.ToString();
+ lvi.SubItems[(int)Column.SerialNr].Text = mtr.SerialNr();
}
}
}
diff --git a/TBF/UI/Process/ProcessTabPageExCtrl.Designer.cs b/TBF/UI/Process/ProcessTabPageExCtrl.Designer.cs
deleted file mode 100644
index c9f48ac8b..000000000
--- a/TBF/UI/Process/ProcessTabPageExCtrl.Designer.cs
+++ /dev/null
@@ -1,913 +0,0 @@
-///
-/// Copyright (c) 2019 Sensus Slovensko a.s.
-///
-namespace TBF.UI.Process
-{
- partial class ProcessTabPageExCtrl
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- /// true if managed resources should be disposed; otherwise, false.
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Component Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProcessTabPageExCtrl));
- this.splitContainer1 = new System.Windows.Forms.SplitContainer();
- this.tLoCmpntLabel = new System.Windows.Forms.Label();
- this.tLoDataLabel = new System.Windows.Forms.Label();
- this.tLoLabel = new System.Windows.Forms.Label();
- this.tHiCmpntLabel = new System.Windows.Forms.Label();
- this.tHiDataLabel = new System.Windows.Forms.Label();
- this.tHiLabel = new System.Windows.Forms.Label();
- this.pumpPctTextBox = new System.Windows.Forms.TextBox();
- this.pictureBox1 = new System.Windows.Forms.PictureBox();
- this.flowMeterPictureBox = new System.Windows.Forms.PictureBox();
- this.watermeterPictureBox4 = new System.Windows.Forms.PictureBox();
- this.watermeterPictureBox3 = new System.Windows.Forms.PictureBox();
- this.watermeterPictureBox2 = new System.Windows.Forms.PictureBox();
- this.pumpPictureBox = new System.Windows.Forms.PictureBox();
- this.reservoirPictureBox = new System.Windows.Forms.PictureBox();
- this.airHumiLabel = new System.Windows.Forms.Label();
- this.airPressLabel = new System.Windows.Forms.Label();
- this.airTempLabel = new System.Windows.Forms.Label();
- this.label34 = new System.Windows.Forms.Label();
- this.label33 = new System.Windows.Forms.Label();
- this.label32 = new System.Windows.Forms.Label();
- this.estmtdTimeLabel = new System.Windows.Forms.Label();
- this.targetRefCountLabel = new System.Windows.Forms.Label();
- this.label31 = new System.Windows.Forms.Label();
- this.targetVolumeLabel = new System.Windows.Forms.Label();
- this.targetFlowHighLabel = new System.Windows.Forms.Label();
- this.targetFlowLowLabel = new System.Windows.Forms.Label();
- this.label30 = new System.Windows.Forms.Label();
- this.label20 = new System.Windows.Forms.Label();
- this.label29 = new System.Windows.Forms.Label();
- this.label28 = new System.Windows.Forms.Label();
- this.refErrorLabel = new System.Windows.Forms.Label();
- this.label27 = new System.Windows.Forms.Label();
- this.volumeCtvLabel = new System.Windows.Forms.Label();
- this.label26 = new System.Windows.Forms.Label();
- this.refVolumeLabel = new System.Windows.Forms.Label();
- this.label25 = new System.Windows.Forms.Label();
- this.massDiffLabel = new System.Windows.Forms.Label();
- this.label23 = new System.Windows.Forms.Label();
- this.massLabel = new System.Windows.Forms.Label();
- this.label22 = new System.Windows.Forms.Label();
- this.scaleCmpntLabel = new System.Windows.Forms.Label();
- this.tDivCmpntLabel = new System.Windows.Forms.Label();
- this.tDivLabel = new System.Windows.Forms.Label();
- this.label24 = new System.Windows.Forms.Label();
- this.label21 = new System.Windows.Forms.Label();
- this.regValvePosLabel = new System.Windows.Forms.Label();
- this.regValveCmpntLabel = new System.Windows.Forms.Label();
- this.refFlowCmpntLabel = new System.Windows.Forms.Label();
- this.refPulsesLabel = new System.Windows.Forms.Label();
- this.label19 = new System.Windows.Forms.Label();
- this.refFreqLabel = new System.Windows.Forms.Label();
- this.label16 = new System.Windows.Forms.Label();
- this.refFlowLabel = new System.Windows.Forms.Label();
- this.prInCmpntLabel = new System.Windows.Forms.Label();
- this.prOutCmpntLabel = new System.Windows.Forms.Label();
- this.tOutCmpntLabel = new System.Windows.Forms.Label();
- this.tInCmpntLabel = new System.Windows.Forms.Label();
- this.label15 = new System.Windows.Forms.Label();
- this.prOutLabel = new System.Windows.Forms.Label();
- this.tOutLabel = new System.Windows.Forms.Label();
- this.label17 = new System.Windows.Forms.Label();
- this.label18 = new System.Windows.Forms.Label();
- this.prInLabel = new System.Windows.Forms.Label();
- this.tInLabel = new System.Windows.Forms.Label();
- this.label14 = new System.Windows.Forms.Label();
- this.label13 = new System.Windows.Forms.Label();
- this.metersListView = new System.Windows.Forms.ListView();
- ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
- this.splitContainer1.Panel1.SuspendLayout();
- this.splitContainer1.Panel2.SuspendLayout();
- this.splitContainer1.SuspendLayout();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.flowMeterPictureBox)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.watermeterPictureBox4)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.watermeterPictureBox3)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.watermeterPictureBox2)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.pumpPictureBox)).BeginInit();
- ((System.ComponentModel.ISupportInitialize)(this.reservoirPictureBox)).BeginInit();
- this.SuspendLayout();
- //
- // splitContainer1
- //
- this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
- this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
- this.splitContainer1.IsSplitterFixed = true;
- this.splitContainer1.Location = new System.Drawing.Point(0, 0);
- this.splitContainer1.Name = "splitContainer1";
- this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
- //
- // splitContainer1.Panel1
- //
- this.splitContainer1.Panel1.Controls.Add(this.tLoCmpntLabel);
- this.splitContainer1.Panel1.Controls.Add(this.tLoDataLabel);
- this.splitContainer1.Panel1.Controls.Add(this.tLoLabel);
- this.splitContainer1.Panel1.Controls.Add(this.tHiCmpntLabel);
- this.splitContainer1.Panel1.Controls.Add(this.tHiDataLabel);
- this.splitContainer1.Panel1.Controls.Add(this.tHiLabel);
- this.splitContainer1.Panel1.Controls.Add(this.pumpPctTextBox);
- this.splitContainer1.Panel1.Controls.Add(this.pictureBox1);
- this.splitContainer1.Panel1.Controls.Add(this.flowMeterPictureBox);
- this.splitContainer1.Panel1.Controls.Add(this.watermeterPictureBox4);
- this.splitContainer1.Panel1.Controls.Add(this.watermeterPictureBox3);
- this.splitContainer1.Panel1.Controls.Add(this.watermeterPictureBox2);
- this.splitContainer1.Panel1.Controls.Add(this.pumpPictureBox);
- this.splitContainer1.Panel1.Controls.Add(this.reservoirPictureBox);
- this.splitContainer1.Panel1.Controls.Add(this.airHumiLabel);
- this.splitContainer1.Panel1.Controls.Add(this.airPressLabel);
- this.splitContainer1.Panel1.Controls.Add(this.airTempLabel);
- this.splitContainer1.Panel1.Controls.Add(this.label34);
- this.splitContainer1.Panel1.Controls.Add(this.label33);
- this.splitContainer1.Panel1.Controls.Add(this.label32);
- this.splitContainer1.Panel1.Controls.Add(this.estmtdTimeLabel);
- this.splitContainer1.Panel1.Controls.Add(this.targetRefCountLabel);
- this.splitContainer1.Panel1.Controls.Add(this.label31);
- this.splitContainer1.Panel1.Controls.Add(this.targetVolumeLabel);
- this.splitContainer1.Panel1.Controls.Add(this.targetFlowHighLabel);
- this.splitContainer1.Panel1.Controls.Add(this.targetFlowLowLabel);
- this.splitContainer1.Panel1.Controls.Add(this.label30);
- this.splitContainer1.Panel1.Controls.Add(this.label20);
- this.splitContainer1.Panel1.Controls.Add(this.label29);
- this.splitContainer1.Panel1.Controls.Add(this.label28);
- this.splitContainer1.Panel1.Controls.Add(this.refErrorLabel);
- this.splitContainer1.Panel1.Controls.Add(this.label27);
- this.splitContainer1.Panel1.Controls.Add(this.volumeCtvLabel);
- this.splitContainer1.Panel1.Controls.Add(this.label26);
- this.splitContainer1.Panel1.Controls.Add(this.refVolumeLabel);
- this.splitContainer1.Panel1.Controls.Add(this.label25);
- this.splitContainer1.Panel1.Controls.Add(this.massDiffLabel);
- this.splitContainer1.Panel1.Controls.Add(this.label23);
- this.splitContainer1.Panel1.Controls.Add(this.massLabel);
- this.splitContainer1.Panel1.Controls.Add(this.label22);
- this.splitContainer1.Panel1.Controls.Add(this.scaleCmpntLabel);
- this.splitContainer1.Panel1.Controls.Add(this.tDivCmpntLabel);
- this.splitContainer1.Panel1.Controls.Add(this.tDivLabel);
- this.splitContainer1.Panel1.Controls.Add(this.label24);
- this.splitContainer1.Panel1.Controls.Add(this.label21);
- this.splitContainer1.Panel1.Controls.Add(this.regValvePosLabel);
- this.splitContainer1.Panel1.Controls.Add(this.regValveCmpntLabel);
- this.splitContainer1.Panel1.Controls.Add(this.refFlowCmpntLabel);
- this.splitContainer1.Panel1.Controls.Add(this.refPulsesLabel);
- this.splitContainer1.Panel1.Controls.Add(this.label19);
- this.splitContainer1.Panel1.Controls.Add(this.refFreqLabel);
- this.splitContainer1.Panel1.Controls.Add(this.label16);
- this.splitContainer1.Panel1.Controls.Add(this.refFlowLabel);
- this.splitContainer1.Panel1.Controls.Add(this.prInCmpntLabel);
- this.splitContainer1.Panel1.Controls.Add(this.prOutCmpntLabel);
- this.splitContainer1.Panel1.Controls.Add(this.tOutCmpntLabel);
- this.splitContainer1.Panel1.Controls.Add(this.tInCmpntLabel);
- this.splitContainer1.Panel1.Controls.Add(this.label15);
- this.splitContainer1.Panel1.Controls.Add(this.prOutLabel);
- this.splitContainer1.Panel1.Controls.Add(this.tOutLabel);
- this.splitContainer1.Panel1.Controls.Add(this.label17);
- this.splitContainer1.Panel1.Controls.Add(this.label18);
- this.splitContainer1.Panel1.Controls.Add(this.prInLabel);
- this.splitContainer1.Panel1.Controls.Add(this.tInLabel);
- this.splitContainer1.Panel1.Controls.Add(this.label14);
- this.splitContainer1.Panel1.Controls.Add(this.label13);
- //
- // splitContainer1.Panel2
- //
- this.splitContainer1.Panel2.Controls.Add(this.metersListView);
- this.splitContainer1.Size = new System.Drawing.Size(1100, 800);
- this.splitContainer1.SplitterDistance = 450;
- this.splitContainer1.SplitterWidth = 1;
- this.splitContainer1.TabIndex = 182;
- //
- // tLoCmpntLabel
- //
- this.tLoCmpntLabel.AutoSize = true;
- this.tLoCmpntLabel.Location = new System.Drawing.Point(367, 218);
- this.tLoCmpntLabel.Name = "tLoCmpntLabel";
- this.tLoCmpntLabel.Size = new System.Drawing.Size(52, 13);
- this.tLoCmpntLabel.TabIndex = 250;
- this.tLoCmpntLabel.Text = "tLoCmpnt";
- this.tLoCmpntLabel.Visible = false;
- //
- // tLoDataLabel
- //
- this.tLoDataLabel.AutoSize = true;
- this.tLoDataLabel.Location = new System.Drawing.Point(367, 234);
- this.tLoDataLabel.Name = "tLoDataLabel";
- this.tLoDataLabel.Size = new System.Drawing.Size(45, 13);
- this.tLoDataLabel.TabIndex = 249;
- this.tLoDataLabel.Text = "tLoData";
- this.tLoDataLabel.Visible = false;
- //
- // tLoLabel
- //
- this.tLoLabel.AutoSize = true;
- this.tLoLabel.Location = new System.Drawing.Point(306, 234);
- this.tLoLabel.Name = "tLoLabel";
- this.tLoLabel.Size = new System.Drawing.Size(48, 13);
- this.tLoLabel.TabIndex = 248;
- this.tLoLabel.Text = "T lo [°C]:";
- this.tLoLabel.Visible = false;
- //
- // tHiCmpntLabel
- //
- this.tHiCmpntLabel.AutoSize = true;
- this.tHiCmpntLabel.Location = new System.Drawing.Point(367, 178);
- this.tHiCmpntLabel.Name = "tHiCmpntLabel";
- this.tHiCmpntLabel.Size = new System.Drawing.Size(50, 13);
- this.tHiCmpntLabel.TabIndex = 247;
- this.tHiCmpntLabel.Text = "tHiCmpnt";
- this.tHiCmpntLabel.Visible = false;
- //
- // tHiDataLabel
- //
- this.tHiDataLabel.AutoSize = true;
- this.tHiDataLabel.Location = new System.Drawing.Point(367, 194);
- this.tHiDataLabel.Name = "tHiDataLabel";
- this.tHiDataLabel.Size = new System.Drawing.Size(43, 13);
- this.tHiDataLabel.TabIndex = 246;
- this.tHiDataLabel.Text = "tHiData";
- this.tHiDataLabel.Visible = false;
- //
- // tHiLabel
- //
- this.tHiLabel.AutoSize = true;
- this.tHiLabel.Location = new System.Drawing.Point(306, 194);
- this.tHiLabel.Name = "tHiLabel";
- this.tHiLabel.Size = new System.Drawing.Size(48, 13);
- this.tHiLabel.TabIndex = 245;
- this.tHiLabel.Text = "T hi [°C]:";
- this.tHiLabel.Visible = false;
- //
- // pumpPctTextBox
- //
- this.pumpPctTextBox.Location = new System.Drawing.Point(797, 372);
- this.pumpPctTextBox.Name = "pumpPctTextBox";
- this.pumpPctTextBox.Size = new System.Drawing.Size(42, 20);
- this.pumpPctTextBox.TabIndex = 244;
- //
- // pictureBox1
- //
- this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
- this.pictureBox1.Location = new System.Drawing.Point(884, 94);
- this.pictureBox1.Name = "pictureBox1";
- this.pictureBox1.Size = new System.Drawing.Size(38, 35);
- this.pictureBox1.TabIndex = 240;
- this.pictureBox1.TabStop = false;
- //
- // flowMeterPictureBox
- //
- this.flowMeterPictureBox.ErrorImage = null;
- this.flowMeterPictureBox.Image = ((System.Drawing.Image)(resources.GetObject("flowMeterPictureBox.Image")));
- this.flowMeterPictureBox.InitialImage = null;
- this.flowMeterPictureBox.Location = new System.Drawing.Point(884, 151);
- this.flowMeterPictureBox.Name = "flowMeterPictureBox";
- this.flowMeterPictureBox.Size = new System.Drawing.Size(38, 38);
- this.flowMeterPictureBox.TabIndex = 239;
- this.flowMeterPictureBox.TabStop = false;
- //
- // watermeterPictureBox4
- //
- this.watermeterPictureBox4.Image = ((System.Drawing.Image)(resources.GetObject("watermeterPictureBox4.Image")));
- this.watermeterPictureBox4.Location = new System.Drawing.Point(511, 365);
- this.watermeterPictureBox4.Name = "watermeterPictureBox4";
- this.watermeterPictureBox4.Size = new System.Drawing.Size(38, 30);
- this.watermeterPictureBox4.TabIndex = 238;
- this.watermeterPictureBox4.TabStop = false;
- //
- // watermeterPictureBox3
- //
- this.watermeterPictureBox3.Image = ((System.Drawing.Image)(resources.GetObject("watermeterPictureBox3.Image")));
- this.watermeterPictureBox3.Location = new System.Drawing.Point(370, 365);
- this.watermeterPictureBox3.Name = "watermeterPictureBox3";
- this.watermeterPictureBox3.Size = new System.Drawing.Size(38, 30);
- this.watermeterPictureBox3.TabIndex = 237;
- this.watermeterPictureBox3.TabStop = false;
- //
- // watermeterPictureBox2
- //
- this.watermeterPictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("watermeterPictureBox2.Image")));
- this.watermeterPictureBox2.Location = new System.Drawing.Point(227, 365);
- this.watermeterPictureBox2.Name = "watermeterPictureBox2";
- this.watermeterPictureBox2.Size = new System.Drawing.Size(38, 30);
- this.watermeterPictureBox2.TabIndex = 236;
- this.watermeterPictureBox2.TabStop = false;
- //
- // pumpPictureBox
- //
- this.pumpPictureBox.Image = ((System.Drawing.Image)(resources.GetObject("pumpPictureBox.Image")));
- this.pumpPictureBox.Location = new System.Drawing.Point(799, 396);
- this.pumpPictureBox.Name = "pumpPictureBox";
- this.pumpPictureBox.Size = new System.Drawing.Size(38, 38);
- this.pumpPictureBox.TabIndex = 235;
- this.pumpPictureBox.TabStop = false;
- //
- // reservoirPictureBox
- //
- this.reservoirPictureBox.Image = ((System.Drawing.Image)(resources.GetObject("reservoirPictureBox.Image")));
- this.reservoirPictureBox.Location = new System.Drawing.Point(900, 324);
- this.reservoirPictureBox.Name = "reservoirPictureBox";
- this.reservoirPictureBox.Size = new System.Drawing.Size(142, 109);
- this.reservoirPictureBox.TabIndex = 234;
- this.reservoirPictureBox.TabStop = false;
- //
- // airHumiLabel
- //
- this.airHumiLabel.AutoSize = true;
- this.airHumiLabel.Location = new System.Drawing.Point(141, 95);
- this.airHumiLabel.Name = "airHumiLabel";
- this.airHumiLabel.Size = new System.Drawing.Size(42, 13);
- this.airHumiLabel.TabIndex = 233;
- this.airHumiLabel.Text = "airHumi";
- //
- // airPressLabel
- //
- this.airPressLabel.AutoSize = true;
- this.airPressLabel.Location = new System.Drawing.Point(141, 78);
- this.airPressLabel.Name = "airPressLabel";
- this.airPressLabel.Size = new System.Drawing.Size(44, 13);
- this.airPressLabel.TabIndex = 232;
- this.airPressLabel.Text = "airPress";
- //
- // airTempLabel
- //
- this.airTempLabel.AutoSize = true;
- this.airTempLabel.Location = new System.Drawing.Point(141, 61);
- this.airTempLabel.Name = "airTempLabel";
- this.airTempLabel.Size = new System.Drawing.Size(45, 13);
- this.airTempLabel.TabIndex = 231;
- this.airTempLabel.Text = "airTemp";
- //
- // label34
- //
- this.label34.AutoSize = true;
- this.label34.Location = new System.Drawing.Point(52, 95);
- this.label34.Name = "label34";
- this.label34.Size = new System.Drawing.Size(80, 13);
- this.label34.TabIndex = 230;
- this.label34.Text = "Air humidity [%]:";
- //
- // label33
- //
- this.label33.AutoSize = true;
- this.label33.Location = new System.Drawing.Point(34, 78);
- this.label33.Name = "label33";
- this.label33.Size = new System.Drawing.Size(98, 13);
- this.label33.TabIndex = 229;
- this.label33.Text = "Air pressure [mBar]:";
- //
- // label32
- //
- this.label32.AutoSize = true;
- this.label32.Location = new System.Drawing.Point(31, 61);
- this.label32.Name = "label32";
- this.label32.Size = new System.Drawing.Size(101, 13);
- this.label32.TabIndex = 228;
- this.label32.Text = "Air temperature [°C]:";
- //
- // estmtdTimeLabel
- //
- this.estmtdTimeLabel.AutoSize = true;
- this.estmtdTimeLabel.Location = new System.Drawing.Point(375, 143);
- this.estmtdTimeLabel.Name = "estmtdTimeLabel";
- this.estmtdTimeLabel.Size = new System.Drawing.Size(61, 13);
- this.estmtdTimeLabel.TabIndex = 227;
- this.estmtdTimeLabel.Text = "estmtdTime";
- //
- // targetRefCountLabel
- //
- this.targetRefCountLabel.AutoSize = true;
- this.targetRefCountLabel.Location = new System.Drawing.Point(375, 122);
- this.targetRefCountLabel.Name = "targetRefCountLabel";
- this.targetRefCountLabel.Size = new System.Drawing.Size(79, 13);
- this.targetRefCountLabel.TabIndex = 226;
- this.targetRefCountLabel.Text = "targetRefCount";
- //
- // label31
- //
- this.label31.AutoSize = true;
- this.label31.Location = new System.Drawing.Point(283, 122);
- this.label31.Name = "label31";
- this.label31.Size = new System.Drawing.Size(89, 13);
- this.label31.TabIndex = 225;
- this.label31.Text = "Target ref. count:";
- //
- // targetVolumeLabel
- //
- this.targetVolumeLabel.AutoSize = true;
- this.targetVolumeLabel.Location = new System.Drawing.Point(375, 101);
- this.targetVolumeLabel.Name = "targetVolumeLabel";
- this.targetVolumeLabel.Size = new System.Drawing.Size(69, 13);
- this.targetVolumeLabel.TabIndex = 224;
- this.targetVolumeLabel.Text = "targetVolume";
- //
- // targetFlowHighLabel
- //
- this.targetFlowHighLabel.AutoSize = true;
- this.targetFlowHighLabel.Location = new System.Drawing.Point(375, 81);
- this.targetFlowHighLabel.Name = "targetFlowHighLabel";
- this.targetFlowHighLabel.Size = new System.Drawing.Size(78, 13);
- this.targetFlowHighLabel.TabIndex = 223;
- this.targetFlowHighLabel.Text = "targetFlowHigh";
- //
- // targetFlowLowLabel
- //
- this.targetFlowLowLabel.AutoSize = true;
- this.targetFlowLowLabel.Location = new System.Drawing.Point(375, 61);
- this.targetFlowLowLabel.Name = "targetFlowLowLabel";
- this.targetFlowLowLabel.Size = new System.Drawing.Size(76, 13);
- this.targetFlowLowLabel.TabIndex = 222;
- this.targetFlowLowLabel.Text = "targetFlowLow";
- //
- // label30
- //
- this.label30.AutoSize = true;
- this.label30.Location = new System.Drawing.Point(280, 143);
- this.label30.Name = "label30";
- this.label30.Size = new System.Drawing.Size(92, 13);
- this.label30.TabIndex = 221;
- this.label30.Text = "Estimated time [s]:";
- //
- // label20
- //
- this.label20.AutoSize = true;
- this.label20.Location = new System.Drawing.Point(283, 101);
- this.label20.Name = "label20";
- this.label20.Size = new System.Drawing.Size(89, 13);
- this.label20.TabIndex = 220;
- this.label20.Text = "Target volume [l]:";
- //
- // label29
- //
- this.label29.AutoSize = true;
- this.label29.Location = new System.Drawing.Point(252, 81);
- this.label29.Name = "label29";
- this.label29.Size = new System.Drawing.Size(120, 13);
- this.label29.TabIndex = 219;
- this.label29.Text = "Target flow high [m3/h]:";
- //
- // label28
- //
- this.label28.AutoSize = true;
- this.label28.Location = new System.Drawing.Point(256, 61);
- this.label28.Name = "label28";
- this.label28.Size = new System.Drawing.Size(116, 13);
- this.label28.TabIndex = 218;
- this.label28.Text = "Target flow low [m3/h]:";
- //
- // refErrorLabel
- //
- this.refErrorLabel.AutoSize = true;
- this.refErrorLabel.Location = new System.Drawing.Point(1009, 287);
- this.refErrorLabel.Name = "refErrorLabel";
- this.refErrorLabel.Size = new System.Drawing.Size(41, 13);
- this.refErrorLabel.TabIndex = 217;
- this.refErrorLabel.Text = "refError";
- //
- // label27
- //
- this.label27.AutoSize = true;
- this.label27.Location = new System.Drawing.Point(934, 287);
- this.label27.Name = "label27";
- this.label27.Size = new System.Drawing.Size(71, 13);
- this.label27.TabIndex = 216;
- this.label27.Text = "Ref. error [%]:";
- //
- // volumeCtvLabel
- //
- this.volumeCtvLabel.AutoSize = true;
- this.volumeCtvLabel.Location = new System.Drawing.Point(1009, 265);
- this.volumeCtvLabel.Name = "volumeCtvLabel";
- this.volumeCtvLabel.Size = new System.Drawing.Size(57, 13);
- this.volumeCtvLabel.TabIndex = 215;
- this.volumeCtvLabel.Text = "volumeCtv";
- //
- // label26
- //
- this.label26.AutoSize = true;
- this.label26.Location = new System.Drawing.Point(949, 265);
- this.label26.Name = "label26";
- this.label26.Size = new System.Drawing.Size(56, 13);
- this.label26.TabIndex = 214;
- this.label26.Text = "Volume [l]:";
- //
- // refVolumeLabel
- //
- this.refVolumeLabel.AutoSize = true;
- this.refVolumeLabel.Location = new System.Drawing.Point(810, 182);
- this.refVolumeLabel.Name = "refVolumeLabel";
- this.refVolumeLabel.Size = new System.Drawing.Size(54, 13);
- this.refVolumeLabel.TabIndex = 213;
- this.refVolumeLabel.Text = "refVolume";
- //
- // label25
- //
- this.label25.AutoSize = true;
- this.label25.Location = new System.Drawing.Point(729, 182);
- this.label25.Name = "label25";
- this.label25.Size = new System.Drawing.Size(78, 13);
- this.label25.TabIndex = 212;
- this.label25.Text = "Ref. volume [l]:";
- //
- // massDiffLabel
- //
- this.massDiffLabel.AutoSize = true;
- this.massDiffLabel.Location = new System.Drawing.Point(1009, 244);
- this.massDiffLabel.Name = "massDiffLabel";
- this.massDiffLabel.Size = new System.Drawing.Size(47, 13);
- this.massDiffLabel.TabIndex = 211;
- this.massDiffLabel.Text = "massDiff";
- //
- // label23
- //
- this.label23.AutoSize = true;
- this.label23.Location = new System.Drawing.Point(929, 244);
- this.label23.Name = "label23";
- this.label23.Size = new System.Drawing.Size(76, 13);
- this.label23.TabIndex = 210;
- this.label23.Text = "Mass diff. [kg]:";
- //
- // massLabel
- //
- this.massLabel.AutoSize = true;
- this.massLabel.Location = new System.Drawing.Point(1009, 224);
- this.massLabel.Name = "massLabel";
- this.massLabel.Size = new System.Drawing.Size(31, 13);
- this.massLabel.TabIndex = 209;
- this.massLabel.Text = "mass";
- //
- // label22
- //
- this.label22.AutoSize = true;
- this.label22.Location = new System.Drawing.Point(949, 224);
- this.label22.Name = "label22";
- this.label22.Size = new System.Drawing.Size(56, 13);
- this.label22.TabIndex = 208;
- this.label22.Text = "Mass [kg]:";
- //
- // scaleCmpntLabel
- //
- this.scaleCmpntLabel.AutoSize = true;
- this.scaleCmpntLabel.Location = new System.Drawing.Point(1009, 203);
- this.scaleCmpntLabel.Name = "scaleCmpntLabel";
- this.scaleCmpntLabel.Size = new System.Drawing.Size(62, 13);
- this.scaleCmpntLabel.TabIndex = 207;
- this.scaleCmpntLabel.Text = "scaleCmpnt";
- //
- // tDivCmpntLabel
- //
- this.tDivCmpntLabel.AutoSize = true;
- this.tDivCmpntLabel.Location = new System.Drawing.Point(598, 61);
- this.tDivCmpntLabel.Name = "tDivCmpntLabel";
- this.tDivCmpntLabel.Size = new System.Drawing.Size(56, 13);
- this.tDivCmpntLabel.TabIndex = 206;
- this.tDivCmpntLabel.Text = "tDivCmpnt";
- //
- // tDivLabel
- //
- this.tDivLabel.AutoSize = true;
- this.tDivLabel.Location = new System.Drawing.Point(598, 79);
- this.tDivLabel.Name = "tDivLabel";
- this.tDivLabel.Size = new System.Drawing.Size(26, 13);
- this.tDivLabel.TabIndex = 205;
- this.tDivLabel.Text = "tDiv";
- //
- // label24
- //
- this.label24.AutoSize = true;
- this.label24.Location = new System.Drawing.Point(536, 78);
- this.label24.Name = "label24";
- this.label24.Size = new System.Drawing.Size(54, 13);
- this.label24.TabIndex = 204;
- this.label24.Text = "T div [°C]:";
- //
- // label21
- //
- this.label21.AutoSize = true;
- this.label21.Location = new System.Drawing.Point(721, 79);
- this.label21.Name = "label21";
- this.label21.Size = new System.Drawing.Size(85, 13);
- this.label21.TabIndex = 203;
- this.label21.Text = "Reg. valve pos.:";
- //
- // regValvePosLabel
- //
- this.regValvePosLabel.AutoSize = true;
- this.regValvePosLabel.Location = new System.Drawing.Point(810, 79);
- this.regValvePosLabel.Name = "regValvePosLabel";
- this.regValvePosLabel.Size = new System.Drawing.Size(67, 13);
- this.regValvePosLabel.TabIndex = 202;
- this.regValvePosLabel.Text = "regValvePos";
- //
- // regValveCmpntLabel
- //
- this.regValveCmpntLabel.AutoSize = true;
- this.regValveCmpntLabel.Location = new System.Drawing.Point(810, 61);
- this.regValveCmpntLabel.Name = "regValveCmpntLabel";
- this.regValveCmpntLabel.Size = new System.Drawing.Size(79, 13);
- this.regValveCmpntLabel.TabIndex = 201;
- this.regValveCmpntLabel.Text = "regValveCmpnt";
- //
- // refFlowCmpntLabel
- //
- this.refFlowCmpntLabel.AutoSize = true;
- this.refFlowCmpntLabel.Location = new System.Drawing.Point(810, 108);
- this.refFlowCmpntLabel.Name = "refFlowCmpntLabel";
- this.refFlowCmpntLabel.Size = new System.Drawing.Size(71, 13);
- this.refFlowCmpntLabel.TabIndex = 200;
- this.refFlowCmpntLabel.Text = "refFlowCmpnt";
- //
- // refPulsesLabel
- //
- this.refPulsesLabel.AutoSize = true;
- this.refPulsesLabel.Location = new System.Drawing.Point(810, 126);
- this.refPulsesLabel.Name = "refPulsesLabel";
- this.refPulsesLabel.Size = new System.Drawing.Size(50, 13);
- this.refPulsesLabel.TabIndex = 199;
- this.refPulsesLabel.Text = "refPulses";
- //
- // label19
- //
- this.label19.AutoSize = true;
- this.label19.Location = new System.Drawing.Point(743, 126);
- this.label19.Name = "label19";
- this.label19.Size = new System.Drawing.Size(60, 13);
- this.label19.TabIndex = 198;
- this.label19.Text = "Ref. count:";
- //
- // refFreqLabel
- //
- this.refFreqLabel.AutoSize = true;
- this.refFreqLabel.Location = new System.Drawing.Point(810, 144);
- this.refFreqLabel.Name = "refFreqLabel";
- this.refFreqLabel.Size = new System.Drawing.Size(40, 13);
- this.refFreqLabel.TabIndex = 197;
- this.refFreqLabel.Text = "refFreq";
- //
- // label16
- //
- this.label16.AutoSize = true;
- this.label16.Location = new System.Drawing.Point(727, 144);
- this.label16.Name = "label16";
- this.label16.Size = new System.Drawing.Size(76, 13);
- this.label16.TabIndex = 196;
- this.label16.Text = "Ref. freq. [Hz]:";
- //
- // refFlowLabel
- //
- this.refFlowLabel.AutoSize = true;
- this.refFlowLabel.Location = new System.Drawing.Point(810, 163);
- this.refFlowLabel.Name = "refFlowLabel";
- this.refFlowLabel.Size = new System.Drawing.Size(41, 13);
- this.refFlowLabel.TabIndex = 195;
- this.refFlowLabel.Text = "refFlow";
- //
- // prInCmpntLabel
- //
- this.prInCmpntLabel.AutoSize = true;
- this.prInCmpntLabel.Location = new System.Drawing.Point(141, 178);
- this.prInCmpntLabel.Name = "prInCmpntLabel";
- this.prInCmpntLabel.Size = new System.Drawing.Size(55, 13);
- this.prInCmpntLabel.TabIndex = 194;
- this.prInCmpntLabel.Text = "prInCmpnt";
- //
- // prOutCmpntLabel
- //
- this.prOutCmpntLabel.AutoSize = true;
- this.prOutCmpntLabel.Location = new System.Drawing.Point(598, 178);
- this.prOutCmpntLabel.Name = "prOutCmpntLabel";
- this.prOutCmpntLabel.Size = new System.Drawing.Size(63, 13);
- this.prOutCmpntLabel.TabIndex = 193;
- this.prOutCmpntLabel.Text = "prOutCmpnt";
- //
- // tOutCmpntLabel
- //
- this.tOutCmpntLabel.AutoSize = true;
- this.tOutCmpntLabel.Location = new System.Drawing.Point(598, 218);
- this.tOutCmpntLabel.Name = "tOutCmpntLabel";
- this.tOutCmpntLabel.Size = new System.Drawing.Size(57, 13);
- this.tOutCmpntLabel.TabIndex = 192;
- this.tOutCmpntLabel.Text = "tOutCmpnt";
- //
- // tInCmpntLabel
- //
- this.tInCmpntLabel.AutoSize = true;
- this.tInCmpntLabel.Location = new System.Drawing.Point(141, 218);
- this.tInCmpntLabel.Name = "tInCmpntLabel";
- this.tInCmpntLabel.Size = new System.Drawing.Size(49, 13);
- this.tInCmpntLabel.TabIndex = 191;
- this.tInCmpntLabel.Text = "tInCmpnt";
- //
- // label15
- //
- this.label15.AutoSize = true;
- this.label15.Location = new System.Drawing.Point(717, 163);
- this.label15.Name = "label15";
- this.label15.Size = new System.Drawing.Size(86, 13);
- this.label15.TabIndex = 190;
- this.label15.Text = "Ref. flow [m3/h]:";
- //
- // prOutLabel
- //
- this.prOutLabel.AutoSize = true;
- this.prOutLabel.Location = new System.Drawing.Point(598, 194);
- this.prOutLabel.Name = "prOutLabel";
- this.prOutLabel.Size = new System.Drawing.Size(33, 13);
- this.prOutLabel.TabIndex = 189;
- this.prOutLabel.Text = "prOut";
- //
- // tOutLabel
- //
- this.tOutLabel.AutoSize = true;
- this.tOutLabel.Location = new System.Drawing.Point(598, 234);
- this.tOutLabel.Name = "tOutLabel";
- this.tOutLabel.Size = new System.Drawing.Size(27, 13);
- this.tOutLabel.TabIndex = 188;
- this.tOutLabel.Text = "tOut";
- //
- // label17
- //
- this.label17.AutoSize = true;
- this.label17.Location = new System.Drawing.Point(517, 194);
- this.label17.Name = "label17";
- this.label17.Size = new System.Drawing.Size(73, 13);
- this.label17.TabIndex = 187;
- this.label17.Text = "Pr down [bar]:";
- //
- // label18
- //
- this.label18.AutoSize = true;
- this.label18.Location = new System.Drawing.Point(524, 234);
- this.label18.Name = "label18";
- this.label18.Size = new System.Drawing.Size(66, 13);
- this.label18.TabIndex = 186;
- this.label18.Text = "T down [°C]:";
- //
- // prInLabel
- //
- this.prInLabel.AutoSize = true;
- this.prInLabel.Location = new System.Drawing.Point(141, 194);
- this.prInLabel.Name = "prInLabel";
- this.prInLabel.Size = new System.Drawing.Size(25, 13);
- this.prInLabel.TabIndex = 185;
- this.prInLabel.Text = "prIn";
- //
- // tInLabel
- //
- this.tInLabel.AutoSize = true;
- this.tInLabel.Location = new System.Drawing.Point(141, 234);
- this.tInLabel.Name = "tInLabel";
- this.tInLabel.Size = new System.Drawing.Size(19, 13);
- this.tInLabel.TabIndex = 184;
- this.tInLabel.Text = "tIn";
- //
- // label14
- //
- this.label14.AutoSize = true;
- this.label14.Location = new System.Drawing.Point(73, 194);
- this.label14.Name = "label14";
- this.label14.Size = new System.Drawing.Size(59, 13);
- this.label14.TabIndex = 183;
- this.label14.Text = "Pr up [bar]:";
- //
- // label13
- //
- this.label13.AutoSize = true;
- this.label13.Location = new System.Drawing.Point(80, 234);
- this.label13.Name = "label13";
- this.label13.Size = new System.Drawing.Size(52, 13);
- this.label13.TabIndex = 182;
- this.label13.Text = "T up [°C]:";
- //
- // metersListView
- //
- this.metersListView.Dock = System.Windows.Forms.DockStyle.Fill;
- this.metersListView.Location = new System.Drawing.Point(0, 0);
- this.metersListView.Name = "metersListView";
- this.metersListView.Size = new System.Drawing.Size(1100, 349);
- this.metersListView.TabIndex = 0;
- this.metersListView.UseCompatibleStateImageBehavior = false;
- this.metersListView.View = System.Windows.Forms.View.Details;
- //
- // ProcessTabPageExCtrl
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.BackColor = System.Drawing.SystemColors.Control;
- this.Controls.Add(this.splitContainer1);
- this.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
- this.Name = "ProcessTabPageExCtrl";
- this.Size = new System.Drawing.Size(1100, 800);
- this.Load += new System.EventHandler(this.ProcessTabPageCtrl_Load);
- this.Paint += new System.Windows.Forms.PaintEventHandler(this.ProcessTabPageCtrl_Paint);
- this.splitContainer1.Panel1.ResumeLayout(false);
- this.splitContainer1.Panel1.PerformLayout();
- this.splitContainer1.Panel2.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
- this.splitContainer1.ResumeLayout(false);
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.flowMeterPictureBox)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.watermeterPictureBox4)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.watermeterPictureBox3)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.watermeterPictureBox2)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.pumpPictureBox)).EndInit();
- ((System.ComponentModel.ISupportInitialize)(this.reservoirPictureBox)).EndInit();
- this.ResumeLayout(false);
-
- }
-
- #endregion
-
- private System.Windows.Forms.SplitContainer splitContainer1;
- private System.Windows.Forms.TextBox pumpPctTextBox;
- private System.Windows.Forms.PictureBox pictureBox1;
- private System.Windows.Forms.PictureBox flowMeterPictureBox;
- private System.Windows.Forms.PictureBox watermeterPictureBox4;
- private System.Windows.Forms.PictureBox watermeterPictureBox3;
- private System.Windows.Forms.PictureBox watermeterPictureBox2;
- private System.Windows.Forms.PictureBox pumpPictureBox;
- private System.Windows.Forms.PictureBox reservoirPictureBox;
- private System.Windows.Forms.Label airHumiLabel;
- private System.Windows.Forms.Label airPressLabel;
- private System.Windows.Forms.Label airTempLabel;
- private System.Windows.Forms.Label label34;
- private System.Windows.Forms.Label label33;
- private System.Windows.Forms.Label label32;
- private System.Windows.Forms.Label estmtdTimeLabel;
- private System.Windows.Forms.Label targetRefCountLabel;
- private System.Windows.Forms.Label label31;
- private System.Windows.Forms.Label targetVolumeLabel;
- private System.Windows.Forms.Label targetFlowHighLabel;
- private System.Windows.Forms.Label targetFlowLowLabel;
- private System.Windows.Forms.Label label30;
- private System.Windows.Forms.Label label20;
- private System.Windows.Forms.Label label29;
- private System.Windows.Forms.Label label28;
- private System.Windows.Forms.Label refErrorLabel;
- private System.Windows.Forms.Label label27;
- private System.Windows.Forms.Label volumeCtvLabel;
- private System.Windows.Forms.Label label26;
- private System.Windows.Forms.Label refVolumeLabel;
- private System.Windows.Forms.Label label25;
- private System.Windows.Forms.Label massDiffLabel;
- private System.Windows.Forms.Label label23;
- private System.Windows.Forms.Label massLabel;
- private System.Windows.Forms.Label label22;
- private System.Windows.Forms.Label scaleCmpntLabel;
- private System.Windows.Forms.Label tDivCmpntLabel;
- private System.Windows.Forms.Label tDivLabel;
- private System.Windows.Forms.Label label24;
- private System.Windows.Forms.Label label21;
- private System.Windows.Forms.Label regValvePosLabel;
- private System.Windows.Forms.Label regValveCmpntLabel;
- private System.Windows.Forms.Label refFlowCmpntLabel;
- private System.Windows.Forms.Label refPulsesLabel;
- private System.Windows.Forms.Label label19;
- private System.Windows.Forms.Label refFreqLabel;
- private System.Windows.Forms.Label label16;
- private System.Windows.Forms.Label refFlowLabel;
- private System.Windows.Forms.Label prInCmpntLabel;
- private System.Windows.Forms.Label prOutCmpntLabel;
- private System.Windows.Forms.Label tOutCmpntLabel;
- private System.Windows.Forms.Label tInCmpntLabel;
- private System.Windows.Forms.Label label15;
- private System.Windows.Forms.Label prOutLabel;
- private System.Windows.Forms.Label tOutLabel;
- private System.Windows.Forms.Label label17;
- private System.Windows.Forms.Label label18;
- private System.Windows.Forms.Label prInLabel;
- private System.Windows.Forms.Label tInLabel;
- private System.Windows.Forms.Label label14;
- private System.Windows.Forms.Label label13;
- private System.Windows.Forms.ListView metersListView;
- private System.Windows.Forms.Label tLoCmpntLabel;
- private System.Windows.Forms.Label tLoDataLabel;
- private System.Windows.Forms.Label tLoLabel;
- private System.Windows.Forms.Label tHiCmpntLabel;
- private System.Windows.Forms.Label tHiDataLabel;
- private System.Windows.Forms.Label tHiLabel;
-
-
-
- }
-}
diff --git a/TBF/UI/Process/ProcessTabPageExCtrl.cs b/TBF/UI/Process/ProcessTabPageExCtrl.cs
deleted file mode 100644
index fe956858b..000000000
--- a/TBF/UI/Process/ProcessTabPageExCtrl.cs
+++ /dev/null
@@ -1,710 +0,0 @@
-///
-/// Copyright (c) 2019 Sensus Slovensko a.s.
-///
-using System;
-using System.Drawing;
-using System.Windows.Forms;
-using log4net;
-using Common;
-using Config.Entities;
-using Results.Entities;
-using TBF.Rig.Sequences;
-using TBF.UiBridge;
-using TBF.Resources;
-
-#pragma warning disable 162 /// Disables 'Unreachable code detected' warning
-
-namespace TBF.UI.Process
-{
- public partial class ProcessTabPageExCtrl : UserControl
- {
- static readonly ILog log = LogManager.GetLogger(typeof(ProcessTabPageExCtrl));
-
- enum Columns
- {
- Meter = 0,
- Sensor,
- Pulses,
- RefPulses,
- Volume,
- Error,
- Result,
- Energy,
- EnergyError,
- HeatMeterResult,
- }
-
- MetersKind currentMetersKind;
-
- bool pumpOn = true;
- bool diverterToTank = true;
-
- ///
- /// Constructor, initializes anonymous event handlers
- ///
- public ProcessTabPageExCtrl()
- {
- currentMetersKind = MetersKind.Single;
-
- InitializeComponent();
-
-#if HEAT_METERS
- tLoLabel.Visible = true;
- tLoCmpntLabel.Visible = true;
- tLoDataLabel.Visible = true;
- tHiLabel.Visible = true;
- tHiCmpntLabel.Visible = true;
- tHiDataLabel.Visible = true;
-#endif
-
- Bridge.ProcedureSelectedHandler += delegate(object sndr, ProcedureSelectedEventArgs args)
- {
- try
- {
- if (InvokeRequired) Invoke(new EventHandler(OnProcedureSelected), sndr, args);
- else OnProcedureSelected(sndr, args);
- }
- catch (Exception e) { log.ErrorFormat("ProcessTabPage24.OnProcedureSelected() failed: {0}", e.Message); }
- };
-
- Bridge.TestSelectedHandler += delegate(object sender, TestSelectedEventArgs args)
- {
- try
- {
- if (InvokeRequired) Invoke(new EventHandler(OnTestSelected), sender, args);
- else OnTestSelected(sender, args);
- }
- catch (Exception e) { log.ErrorFormat("ProcessTabPage24.OnTestSelected() failed: {0}", e.Message); }
- };
-
- Bridge.ProcessDataHandler += delegate(object sender, ProcessDataEventArgs args)
- {
- try
- {
- if (InvokeRequired) Invoke(new EventHandler(OnProcessDataChanged), sender, args);
- else OnProcessDataChanged(sender, args);
- }
- catch (Exception e) { log.ErrorFormat("ProcessTabPage24.OnProcessDataChanged() failed: {0}", e.Message); }
- };
-
- Bridge.TestCompletedHandler += delegate(object sender, TestCompletedEventArgs args)
- {
- try
- {
- if (InvokeRequired) Invoke(new EventHandler(OnTestCompleted), sender, args);
- else OnTestCompleted(sender, args);
- }
- catch (Exception e) { log.ErrorFormat("ProcessTabPage24.OnTestCompleted() failed: {0}", e.Message); }
- };
-
- Bridge.ProcedureCompletedHandler += delegate(object sender, ProcedureCompletedEventArgs args)
- {
- try
- {
- if (InvokeRequired) Invoke(new EventHandler(OnProcedureCompleted), sender, args);
- else OnProcedureCompleted(sender, args);
- }
- catch (Exception e) { log.ErrorFormat("ProcessTabPage24.OnProcedureCompleted() failed: {0}", e.Message); }
- };
-
- Timer timer = new Timer();
- timer.Tick += (s, e) => { OnTimerTick(); };
- timer.Interval = 5000;
- timer.Start();
- }
-
- private void ProcessTabPageCtrl_Load(object sender, EventArgs e)
- {
- Once();
- ResetLabelsAndTargetVals();
- ResetReadings(); /// Erase all results
- OnTimerTick(); /// Redraw measurements that are always available
- ProcessTabPageCtrl_Paint(this, null);
- }
-
- void Once()
- {
- UpdateCurrentMetersKind(MetersKind.Single, true);
- }
-
- ///
- /// Update 'currentMetersKind' variable and visibility of UI items.
- ///
- /// New value
- /// true = always update UI
- void UpdateCurrentMetersKind(MetersKind metersKind, bool fromScratch = false)
- {
- if (currentMetersKind != metersKind || fromScratch)
- {
- currentMetersKind = metersKind;
-
- metersListView.Items.Clear();
- metersListView.Columns.Clear();
-
- metersListView.Columns.Add(Strings.Meter, 60);
- metersListView.Columns.Add(Strings.Sensor, 80);
- metersListView.Columns.Add(Strings.Pulses_count, 100);
- metersListView.Columns.Add(Strings.Ref_pulses_count, 120);
- metersListView.Columns.Add(Strings.Volume, 80);
- metersListView.Columns.Add(Strings.Error, 80);
- metersListView.Columns.Add(Strings.Result, 80);
- ///
- if (metersKind == MetersKind.HeatMeter)
- {
- metersListView.Columns.Add(Strings.Energy, 80);
- metersListView.Columns.Add(Strings.Error, 80);
- metersListView.Columns.Add(Strings.Result, 80);
- }
-
- if ((metersKind == MetersKind.Single) || (metersKind == MetersKind.HeatMeter))
- {
- for (int i = 0; i < Data.WMsCount; i++)
- {
- ListViewItem lvi = new ListViewItem(new string[] { (i + 1).ToString(), "---", "---", "---", "---", "---", "---" });
- if (metersKind == MetersKind.HeatMeter)
- {
- lvi.SubItems.Add("---"); /// energy
- lvi.SubItems.Add("---"); /// energy error
- lvi.SubItems.Add("---"); /// HeatMeter result
- }
- metersListView.Items.Add(lvi);
- }
- }
- else if (metersKind == MetersKind.Combined)
- {
- for (int z = 0; z < TBF.Data.CompoundWMsCount; z++)
- {
- ListViewItem lvi = new ListViewItem(string.Format("{0} {1}", Strings.Compound_meter_0, z + 1));
- lvi.SubItems.Add(string.Empty); /// sensor
- lvi.SubItems.Add(string.Empty); /// pulses count
- lvi.SubItems.Add("---"); /// ref. pulses count
- lvi.SubItems.Add("---"); /// volume
- lvi.SubItems.Add("---"); /// error
- lvi.SubItems.Add("---"); /// result
- metersListView.Items.Add(lvi);
-
- ListViewItem iMain = new ListViewItem(Strings.Main);
- iMain.SubItems.Add("---"); /// sensor
- iMain.SubItems.Add("---"); /// pulses count
- iMain.SubItems.Add(string.Empty); /// ref. pulses count
- iMain.SubItems.Add("---"); /// volume
- iMain.SubItems.Add(string.Empty); /// error
- iMain.SubItems.Add(string.Empty); /// result
- metersListView.Items.Add(iMain);
-
- ListViewItem iAux = new ListViewItem(Strings.Aux);
- iAux.SubItems.Add("---"); /// sensor
- iAux.SubItems.Add("---"); /// pulses count
- iAux.SubItems.Add(string.Empty); /// ref. pulses count
- iAux.SubItems.Add("---"); /// volume
- iAux.SubItems.Add(string.Empty); /// error
- iAux.SubItems.Add(string.Empty); /// result
- metersListView.Items.Add(iAux);
- }
- }
- }
- }
-
-
- ///
- /// Called when a new procedure is selected
- ///
- 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 = "---";
- tHiCmpntLabel.Text = "---";
- tLoCmpntLabel.Text = "---";
-
- scaleCmpntLabel.Text = "---";
-
- if ((currentMetersKind == MetersKind.Single) || (currentMetersKind == MetersKind.HeatMeter))
- {
- for (int i = 0; i < metersListView.Items.Count; i++)
- {
- metersListView.Items[i].SubItems[(int)Columns.Sensor].Text = "---";
- }
- }
- else if (currentMetersKind == MetersKind.Combined)
- {
- for (int z = 0; z < Math.Min(TBF.Data.CompoundWMsCount, metersListView.Items.Count / 3); z++)
- {
- metersListView.Items[3 * z + 1].SubItems[(int)Columns.Sensor].Text = "---";
- metersListView.Items[3 * z + 2].SubItems[(int)Columns.Sensor].Text = "---";
- }
- }
- }
-
-
- ///
- /// Called when a new procedure or a new test procedure is selected
- ///
- void ResetReadings()
- {
- /// Top part
- refPulsesLabel.Text = "---";
- refFreqLabel.Text = "---";
- refFlowLabel.Text = "---";
- refVolumeLabel.Text = "---";
-
- regValvePosLabel.Text = "---";
- tDivLabel.Text = "---";
-
- tInLabel.Text = "---";
- prInLabel.Text = "---";
-
- tHiDataLabel.Text = "---";
- tLoDataLabel.Text = "---";
-
- tOutLabel.Text = "---";
- prOutLabel.Text = "---";
-
- massLabel.Text = "---";
- massDiffLabel.Text = "---";
- volumeCtvLabel.Text = "---";
- refErrorLabel.Text = "---";
-
-
- if (currentMetersKind == MetersKind.Single)
- {
- for (int i = 0; i < metersListView.Items.Count; i++)
- {
- metersListView.Items[i].SubItems[(int)Columns.Pulses].Text = "---";
- metersListView.Items[i].SubItems[(int)Columns.RefPulses].Text = "---";
- metersListView.Items[i].SubItems[(int)Columns.Volume].Text = "---";
- metersListView.Items[i].SubItems[(int)Columns.Error].Text = "---";
- metersListView.Items[i].SubItems[(int)Columns.Result].Text = "---";
- }
- }
- else if (currentMetersKind == MetersKind.HeatMeter)
- {
- for (int i = 0; i < metersListView.Items.Count; i++)
- {
- metersListView.Items[i].SubItems[(int)Columns.Pulses].Text = "---";
- metersListView.Items[i].SubItems[(int)Columns.RefPulses].Text = "---";
- metersListView.Items[i].SubItems[(int)Columns.Volume].Text = "---";
- metersListView.Items[i].SubItems[(int)Columns.Error].Text = "---";
- metersListView.Items[i].SubItems[(int)Columns.Result].Text = "---";
- metersListView.Items[i].SubItems[(int)Columns.Energy].Text = "---";
- metersListView.Items[i].SubItems[(int)Columns.EnergyError].Text = "---";
- metersListView.Items[i].SubItems[(int)Columns.HeatMeterResult].Text = "---";
- }
- }
- else if (currentMetersKind == MetersKind.Combined)
- {
- for (int z = 0; z < Math.Min(TBF.Data.CompoundWMsCount, metersListView.Items.Count / 3); z++)
- {
- /// Compound
- metersListView.Items[3 * z].SubItems[(int)Columns.RefPulses].Text = "---";
- metersListView.Items[3 * z].SubItems[(int)Columns.Volume].Text = "---";
- metersListView.Items[3 * z].SubItems[(int)Columns.Error].Text = "---";
- metersListView.Items[3 * z].SubItems[(int)Columns.Result].Text = "---";
-
- /// Main
- metersListView.Items[3 * z + 1].SubItems[(int)Columns.Pulses].Text = "---";
- metersListView.Items[3 * z + 1].SubItems[(int)Columns.Volume].Text = "---";
-
- /// Aux
- metersListView.Items[3 * z + 2].SubItems[(int)Columns.Pulses].Text = "---";
- metersListView.Items[3 * z + 2].SubItems[(int)Columns.Volume].Text = "---";
- }
- }
- }
-
- void OnTimerTick()
- {
- ///
- /// Always available
- ///
- airTempLabel.Text = ProcessData.AmbTemp.ToString();
- airPressLabel.Text = Common.Units.ConvertTo(Common.Unit.mbar, ProcessData.AmbPress.Val).ToString("F0");
- airHumiLabel.Text = ProcessData.AmbHumi.ToString();
-
- tInLabel.Text = ProcessData.TempUp.ToString();
- tOutLabel.Text = ProcessData.TempDown.ToString();
- tDivLabel.Text = ProcessData.TempDiv.ToString();
-
- prInLabel.Text = ProcessData.PressUp.ToString();
- prOutLabel.Text = ProcessData.PressDown.ToString();
-
- //massLabel.Text = ProcessData.Mass.ToString();
-
-#if HEAT_METERS
- tHiDataLabel.Text = (ProcessData.TempRefHi1.Valid && ProcessData.TempRefHi2.Valid) ? ((ProcessData.TempRefHi1.Val + ProcessData.TempRefHi2.Val) / 2).ToString("F2") : "---";
- tLoDataLabel.Text = (ProcessData.TempRefLo1.Valid && ProcessData.TempRefLo2.Valid) ? ((ProcessData.TempRefLo1.Val + ProcessData.TempRefLo2.Val) / 2).ToString("F2") : "---";
-#endif
- }
-
- void OnProcedureSelected(object sender, ProcedureSelectedEventArgs args)
- {
- UpdateCurrentMetersKind(args.Procedure.MetersKind);
- ResetLabelsAndTargetVals();
- ResetReadings();
- OnTimerTick(); /// Redraw measurements that are always available
- 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.TestTime.ToString("F1");
-
- /// Names of virtual bench components
- if (args.OutputPath.FlowMeter != null) refFlowCmpntLabel.Text = args.OutputPath.FlowMeter.Name;
- if (args.OutputPath.RegValve != null) regValveCmpntLabel.Text = args.OutputPath.RegValve.Name;
- if (args.OutputPath.Scale != null) scaleCmpntLabel.Text = args.OutputPath.Scale.Name;
- if (args.BenchPath.PressMtrUp != null) prInCmpntLabel.Text = args.BenchPath.PressMtrUp.Name;
- if (args.BenchPath.PressMtrDown != null) prOutCmpntLabel.Text = args.BenchPath.PressMtrDown.Name;
- if (args.BenchPath.TempMtrUp != null) tInCmpntLabel.Text = args.BenchPath.TempMtrUp.Name;
- if (args.BenchPath.TempMtrDown != null) tOutCmpntLabel.Text = args.BenchPath.TempMtrDown.Name;
- if (args.OutputPath.TempMtrDiv != null) tDivCmpntLabel.Text = args.OutputPath.TempMtrDiv.Name;
-#if HEAT_METERS
- if (args.HeatMetersPath != null && args.HeatMetersPath.TMeterRefWarm1 != null) tHiCmpntLabel.Text = args.HeatMetersPath.TMeterRefWarm1.Name;
- if (args.HeatMetersPath != null && args.HeatMetersPath.TMeterRefCold1 != null) tLoCmpntLabel.Text = args.HeatMetersPath.TMeterRefCold1.Name;
-#endif
-
- OnTimerTick(); /// Redraw measurements that are always available
-
- if ((currentMetersKind == MetersKind.Single) || (currentMetersKind == MetersKind.HeatMeter))
- {
- for (int i = 0; i < metersListView.Items.Count; i++)
- {
- metersListView.Items[i].SubItems[(int)Columns.Sensor].Text = (args.MetersPath.RegisterReaders[i] != null)
- ? args.MetersPath.RegisterReaders[i].Cfg.Name
- : string.Empty;
- }
- }
- else if (currentMetersKind == MetersKind.Combined)
- {
- for (int z = 0; z < Math.Min(TBF.Data.CompoundWMsCount, metersListView.Items.Count / 3); z++)
- {
- metersListView.Items[3 * z + 1].SubItems[(int)Columns.Sensor].Text
- = ((args.MetersPath.RegisterReaders != null) && (args.MetersPath.RegisterReaders.Length > 2 * z) && (args.MetersPath.RegisterReaders[2 * z] != null))
- ? args.MetersPath.RegisterReaders[2 * z].Cfg.Name
- : string.Empty;
-
- metersListView.Items[3 * z + 2].SubItems[(int)Columns.Sensor].Text
- = ((args.MetersPath.RegisterReaders != null) && (args.MetersPath.RegisterReaders.Length > 2 * z + 1) && (args.MetersPath.RegisterReaders[2 * z + 1] != null))
- ? args.MetersPath.RegisterReaders[2 * z + 1].Cfg.Name
- : string.Empty;
- }
- }
-
- if (args.FeedingPath != null && (args.FeedingPath.Pump is Rig.GenericDevices.IPumpFM))
- {
- pumpPctTextBox.Visible = true;
- pumpPctTextBox.Text = (args.FeedingPath.Pump as Rig.GenericDevices.IPumpFM).Power.ToString("F0") + " %";
- }
- else
- {
- pumpPctTextBox.Visible = false;
- }
- }
-
- void OnProcessDataChanged(object sender, ProcessDataEventArgs args)
- {
- /// Pressure may change faster then temperature, therefore it is updated also here
- prInLabel.Text = ProcessData.PressUp.ToString();
- prOutLabel.Text = ProcessData.PressDown.ToString();
-
- //massLabel.Text = ProcessData.Mass.ToString();
-
- if (args.TestPhase == Progress.FlowSetting ||
- args.TestPhase == Progress.Test)
- {
- ///
- /// Available when setting the flow and during a test
- ///
- refFreqLabel.Text = ProcessData.RefFrequency.ToString();
- refFlowLabel.Text = Utils.DoubleToStr(ProcessData.RefFlow.Val, 4);
- }
-
- if (args.TestPhase == Progress.Test)
- {
- ///
- /// Available only during a test
- ///
- refPulsesLabel.Text = ProcessData.RefPulses.ToString();
- double refVolume = ProcessData.LtrPerRefPulse * (double)ProcessData.RefPulses;
- refVolumeLabel.Text = refVolume.ToString("F2");
-
- //double massDiff = ProcessData.Mass.Val - ProcessData.StartMass.Val;
- //massDiffLabel.Text = massDiff.ToString("F3");
- //double volumeCtv = 1000 * Formulas.Buoyancy() * massDiff
- // / Formulas.WaterDensityFromTempPress((ProcessData.TempUp.Val + ProcessData.TempDown.Val) / 2,
- // (ProcessData.PressUp.Val + ProcessData.PressDown.Val) / 2);
- //volumeCtvLabel.Text = volumeCtv.ToString("F2");
- //double refError = Formulas.ErrorFromVolumes(refVolume, volumeCtv);
- //refErrorLabel.Text = refError.ToString("F3");
-
- if (currentMetersKind == MetersKind.Single || currentMetersKind == MetersKind.HeatMeter)
- {
- for (int i = 0; i < Math.Min(metersListView.Items.Count, ProcessData.RegisterReaders.Length); i++)
- {
- ListViewItem lvi = metersListView.Items[i];
- Rig.GenericDevices.IRegReader rr = ProcessData.RegisterReaders[i];
- if (rr != null)
- {
- lvi.SubItems[(int)Columns.Pulses].Text = rr.WMPulses.ToString();
- lvi.SubItems[(int)Columns.RefPulses].Text = rr.WMRefPulses.ToString();
- lvi.SubItems[(int)Columns.Volume].Text = rr.WMVolume.ToString("F1");
- lvi.SubItems[(int)Columns.Error].Text = Formulas.ErrorFromVolumes(rr.WMVolume, rr.WMRefPulses * ProcessData.LtrPerRefPulse).ToString("F1");
- }
-
- if (currentMetersKind == MetersKind.HeatMeter)
- {
- /// TODO:
- lvi.SubItems[(int)Columns.Energy].Text = ProcessData.Energy.Last.ToString("F1");
- lvi.SubItems[(int)Columns.EnergyError].Text = Formulas.ErrorFromVolumes(rr.WMVolume, rr.WMRefPulses * ProcessData.LtrPerRefPulse).ToString("F1");
- }
- }
- }
- else if (currentMetersKind == MetersKind.Combined)
- {
- for (int z = 0; z < Math.Min(TBF.Data.CompoundWMsCount, metersListView.Items.Count / 3); z++)
- {
- Rig.GenericDevices.IRegReader rrMain = (ProcessData.RegisterReaders.Length > 2 * z) ? ProcessData.RegisterReaders[2 * z] : null;
- Rig.GenericDevices.IRegReader rrAux = (ProcessData.RegisterReaders.Length > 2 * z + 1) ? ProcessData.RegisterReaders[2 * z + 1] : null;
-
- Double compoundVolume = 0;
- if (rrMain != null) compoundVolume += rrMain.WMVolume;
- if (rrAux != null) compoundVolume += rrAux.WMVolume;
-
- /// Compound
- metersListView.Items[3 * z].SubItems[(int)Columns.RefPulses].Text = ProcessData.RefPulses.ToString();
- metersListView.Items[3 * z].SubItems[(int)Columns.Volume].Text = compoundVolume.ToString("F1");
- metersListView.Items[3 * z].SubItems[(int)Columns.Error].Text = Formulas.ErrorFromVolumes(compoundVolume, refVolume).ToString("F1"); ;
-
- /// Main
- metersListView.Items[3 * z + 1].SubItems[(int)Columns.Pulses].Text = (rrMain != null) ? rrMain.WMPulses.ToString() : string.Empty;
- metersListView.Items[3 * z + 1].SubItems[(int)Columns.Volume].Text = (rrMain != null) ? rrMain.WMVolume.ToString("F1") : string.Empty;
-
- /// Aux
- metersListView.Items[3 * z + 2].SubItems[(int)Columns.Pulses].Text = (rrAux != null) ? rrMain.WMPulses.ToString() : string.Empty;
- metersListView.Items[3 * z + 2].SubItems[(int)Columns.Volume].Text = (rrAux != null) ? rrMain.WMVolume.ToString("F1") : string.Empty;
- }
- }
- }
-
- //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)
- {
- if (args == null) return;
-
- TestRslt tRes = args.TestRslt;
- if (tRes == null) return;
-
- /// Pressure may change faster then temperature, therefore it is updated also here
- prInLabel.Text = ProcessData.PressUp.ToString();
- prOutLabel.Text = ProcessData.PressDown.ToString();
-
- //massLabel.Text = ProcessData.Mass.ToString();
- massDiffLabel.Text = (tRes.MassEnd - tRes.MassStart).ToString("F3");
-
- refPulsesLabel.Text = tRes.PulsesMaster.ToString("F0");
- refFreqLabel.Text = "---";
- refFlowLabel.Text = Utils.DoubleToStr(tRes.FlowVolume, 4);
-
- refVolumeLabel.Text = tRes.VolumeCTV.ToString("F2");
- //regValvePosLabel.Text = tstRslt.
-
- volumeCtvLabel.Text = tRes.VolumeCTV.ToString("F1");
- refErrorLabel.Text = (tRes.ErrorMaster == 0) ? "---" : tRes.ErrorMaster.ToString("F3");
-
- if ((currentMetersKind == MetersKind.Single) && !tRes.Batch.Compound && !tRes.Batch.HeatMeter)
- {
- ///
- /// Test results for single meters
- ///
- for (int i = 0; i < Math.Min(metersListView.Items.Count, ProcessData.BatchRslts.Batch.WaterMeters.Count); i++)
- {
- WaterMeter wm = ProcessData.BatchRslts.Batch.WaterMeters[i];
- MeterTestRslt mtr = (wm != null && !wm.Disabled) ? wm.GetMeterTestRslt(args.TestName) : null;
-
- if (mtr != null)
- {
- metersListView.Items[i].SubItems[(int)Columns.Pulses].Text = mtr.PulsesMeter.ToString("F0");
- metersListView.Items[i].SubItems[(int)Columns.RefPulses].Text = mtr.PulsesMaster.ToString("F0");
- metersListView.Items[i].SubItems[(int)Columns.Volume].Text = mtr.VolumeMeter.ToString("F2");
- metersListView.Items[i].SubItems[(int)Columns.Error].Text = mtr.Error.ToString("F2");
- metersListView.Items[i].SubItems[(int)Columns.Result].Text = mtr.Passed ? Strings.Passed : Strings.Failed;
- }
- }
- }
- else if ((currentMetersKind == MetersKind.HeatMeter) && tRes.Batch.HeatMeter)
- {
- ///
- /// Test results for heat meters
- ///
- for (int i = 0; i < Math.Min(metersListView.Items.Count, ProcessData.BatchRslts.Batch.WaterMeters.Count); i++)
- {
- WaterMeter wm = ProcessData.BatchRslts.Batch.WaterMeters[i];
- if (wm == null || wm.Disabled) continue;
-
- MeterTestRslt mtrVolume = wm.GetMeterTestRslt(args.TestName, CompoundMeterId.HeatMeterVolume);
- MeterTestRslt mtrEnergy = wm.GetMeterTestRslt(args.TestName, CompoundMeterId.HeatMeterEnergy);
-
- if (mtrVolume != null)
- {
- metersListView.Items[i].SubItems[(int)Columns.Pulses].Text = mtrVolume.PulsesMeter.ToString("F0");
- metersListView.Items[i].SubItems[(int)Columns.RefPulses].Text = mtrVolume.PulsesMaster.ToString("F0");
- metersListView.Items[i].SubItems[(int)Columns.Volume].Text = mtrVolume.VolumeMeter.ToString("F2");
- metersListView.Items[i].SubItems[(int)Columns.Error].Text = mtrVolume.Error.ToString("F2");
- metersListView.Items[i].SubItems[(int)Columns.Result].Text = mtrVolume.Passed ? Strings.Passed : Strings.Failed;
- }
-
- if (mtrEnergy != null)
- {
- metersListView.Items[i].SubItems[(int)Columns.Energy].Text = mtrEnergy.VolumeMeter.ToString("F1"); ;
- metersListView.Items[i].SubItems[(int)Columns.EnergyError].Text = mtrEnergy.Error.ToString("F2");
- metersListView.Items[i].SubItems[(int)Columns.HeatMeterResult].Text = mtrEnergy.Passed ? Strings.Passed : Strings.Failed;
- }
- }
- }
- else if ((currentMetersKind == MetersKind.Combined) && tRes.Batch.Compound)
- {
- ///
- /// Test results for compond meters
- ///
- for (int z = 0; z < Math.Min(TBF.Data.CompoundWMsCount, metersListView.Items.Count / 3); z++)
- {
- WaterMeter wm = ProcessData.BatchRslts.Batch.WaterMeters[z];
- if (wm == null && !wm.Disabled) continue;
-
- MeterTestRslt mtrComp = wm.GetMeterTestRslt(args.TestName, CompoundMeterId.Compound);
- MeterTestRslt mtrMain = wm.GetMeterTestRslt(args.TestName, CompoundMeterId.CompoundMain);
- MeterTestRslt mtrAux = wm.GetMeterTestRslt(args.TestName, CompoundMeterId.CompoundAux);
-
- if (mtrComp != null)
- {
- metersListView.Items[3 * z].SubItems[(int)Columns.RefPulses].Text = mtrMain.PulsesMaster.ToString("F0");
- metersListView.Items[3 * z].SubItems[(int)Columns.Volume].Text = mtrComp.VolumeMeter.ToString("F2");
- metersListView.Items[3 * z].SubItems[(int)Columns.Error].Text = mtrComp.Error.ToString("F2");
- metersListView.Items[3 * z].SubItems[(int)Columns.Result].Text = mtrComp.Passed ? Strings.Passed : Strings.Failed;
- }
-
- if (mtrMain != null)
- {
- metersListView.Items[3 * z + 1].SubItems[(int)Columns.Pulses].Text = mtrMain.PulsesMeter.ToString("F0");
- metersListView.Items[3 * z + 1].SubItems[(int)Columns.Volume].Text = mtrMain.VolumeMeter.ToString("F2");
- }
-
- if (mtrAux != null)
- {
- metersListView.Items[3 * z + 2].SubItems[(int)Columns.Pulses].Text = mtrAux.PulsesMeter.ToString("F0");
- metersListView.Items[2 * z + 2].SubItems[(int)Columns.Volume].Text = mtrAux.VolumeMeter.ToString("F2");
- }
- }
- }
- else
- {
- /// Mismatch between Batch.Compound, Batch.HeatMeter and currentMetersKind
- }
- }
-
- 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
-
- /// 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));
- }
- }
-}
diff --git a/TBF/UI/Process/ProcessTabPageExCtrl.resx b/TBF/UI/Process/ProcessTabPageExCtrl.resx
deleted file mode 100644
index 0b22fe6b7..000000000
--- a/TBF/UI/Process/ProcessTabPageExCtrl.resx
+++ /dev/null
@@ -1,237 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
-
-
- 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
- zVhuAr/Ce2bVcGWw1gAAAABJRU5ErkJggg==
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAACYAAAAeCAYAAABAFGxuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAIGSURBVFhH7de/SwJhGAfwtwJpUlBwaVIEcXDVxcUxQaS1
- QdLVwTnQv0AcGgUdo9U1dNAWHVwiEQKFaAkCwZqq5el53rvT03v8cXqeDQ0fjXu97/PFO+w9MZlMYFO1
- Wg2EEJbg8vX+iy3i8vW2KHaEznbkgm63C6PRiJ1DtijmQLCjMRLg8/mgUqmwsw5UTEN5UfD7/ZDL5eZm
- mSqWz+cxyMpimhZS7r12uy1n4d/GG3O5Y8QFWyWCTpCcRy8lRK3XeUJcoJVGaFrsXj34V9hYrFrtQSj0
- wa4Z2VgsGh1Dq9WS79z6PBuLkUbjQZZLJN7Y9ZkVxYrFgQzZl3j83TBz5oDFms02uN3fhrmKAxbzer8M
- M2dWFNsH7R4Lh+mXnf+MwsZi6fSLLBUMfrLr82wsVio9ssd5NhYzZ1rsEhXVg4dA3ybN12CnSCQCRCkY
- UP0gLmAfnpGQHfQM+zGlIO257hAXZLUMJJPJuQ6yx+KBfr+P/3CreAIVTOoC9uEK8Q8mS3ew5XIZYrEY
- nuhCN2qQlQZIQL1eZ+ev3VoHAgFwOOjSXqNXNXRXSqlOp8POJBvt+Xu9ngwS4lQN3oVy+egJybLHt2w2
- K0OFOFeHmJFByn5+2eXTM1WMDIdD8Hg8coAQtyquCKGfHVq/kOekUik2k2O6mKZQKOBAKrea0+nE7Y2b
- zVhuAr/Ce2bVcGWw1gAAAABJRU5ErkJggg==
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAACYAAAAeCAYAAABAFGxuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAIGSURBVFhH7de/SwJhGAfwtwJpUlBwaVIEcXDVxcUxQaS1
- QdLVwTnQv0AcGgUdo9U1dNAWHVwiEQKFaAkCwZqq5el53rvT03v8cXqeDQ0fjXu97/PFO+w9MZlMYFO1
- Wg2EEJbg8vX+iy3i8vW2KHaEznbkgm63C6PRiJ1DtijmQLCjMRLg8/mgUqmwsw5UTEN5UfD7/ZDL5eZm
- mSqWz+cxyMpimhZS7r12uy1n4d/GG3O5Y8QFWyWCTpCcRy8lRK3XeUJcoJVGaFrsXj34V9hYrFrtQSj0
- wa4Z2VgsGh1Dq9WS79z6PBuLkUbjQZZLJN7Y9ZkVxYrFgQzZl3j83TBz5oDFms02uN3fhrmKAxbzer8M
- M2dWFNsH7R4Lh+mXnf+MwsZi6fSLLBUMfrLr82wsVio9ssd5NhYzZ1rsEhXVg4dA3ybN12CnSCQCRCkY
- UP0gLmAfnpGQHfQM+zGlIO257hAXZLUMJJPJuQ6yx+KBfr+P/3CreAIVTOoC9uEK8Q8mS3ew5XIZYrEY
- nuhCN2qQlQZIQL1eZ+ev3VoHAgFwOOjSXqNXNXRXSqlOp8POJBvt+Xu9ngwS4lQN3oVy+egJybLHt2w2
- K0OFOFeHmJFByn5+2eXTM1WMDIdD8Hg8coAQtyquCKGfHVq/kOekUik2k2O6mKZQKOBAKrea0+nE7Y2b
- zVhuAr/Ce2bVcGWw1gAAAABJRU5ErkJggg==
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAALTSURBVFhH7Ze9ajJBFIbXP0iRBAL+QMDa3hRqIbkAQSw1
- iCRaWHgHuQBLwU7SpLBKaRmSXhOwScQmZW5AUqWb7Lt6ds7uHmMkO3x8kOKBXefMOw/O7jLHWq1W6jdE
- IhFlWVYAqXYf9hbLZDIOXKJUKqlms+nCx+LxuFM/Ho/FvG38SGw6napGo+FZsN/v/4hqterOSaVSqtfr
- iWv42SlWLBY9QoQkIcHFOMvlUlyP+FYsl8uJoUCSkNgmhi2W1iREsdFopMrlshtycmLZW2Cp62sdLElI
- cLH7e0tdXOiMWCymKpVKYH0ginGp01NLKbXmt2KUc35uqcNDnTWfzwMOATG+fbe3OixMMfD+rrPwz/k9
- PGL8Qef/FBGmGHh+1nl45haLRVAMnwQqwjPlDwFhiwFsK40PBoOgGP9O4UGXQkyIARoHATEaaLflycCU
- GN5WqqnX6+Sjf4zFLPX0JE8GpsRALqezN+iboyN5EmFS7PFRZ2/QN9IEjkkxcHys8230jVTM+SdijYZc
- zDEt9vGh823WF62WXMwxLQao1mZ98Se2A6q1WV/8ie2Aam30jVTIMS32f33HwM2NPIEwKYaD48GBzrfQ
- 80WjUecGx93PT3kiMCl2d6ezHXDEQDNKPzw8yBOBSTGqKRQKajKZ6PNYMpl0B3E+kiabEiuVdO5wOPQe
- FNEh0yBaLCnAhNjbm85MJBKOi0fMudkUAJzF/SFhi728oAnRmbPZTBZD2w5rFOFFwJvCg8IWu7zUea1W
- y/UAHjECfR5NQItFQWGJvb5a6upKZ7Xb7YCDKIa2nSYB2tYwxPBM8e0DkoMoBtC2838OnJ3pa0lCgovx
- tw90Oh1xbbBVjECHzMMISUKCi3H8z5SfnWJo29Eh+4MlCQm/GF4u/vZtY6cYB80oLZDP51263a5Hho9l
- s1mnHl90+nj+hL3EOOl02oFE/dB4rVYT53/PSn0BMb7xlEsaQlIAAAAASUVORK5CYII=
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAAI4AAABtCAYAAAB3LVkkAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADrwAAA68AZW8ckkAAAEuSURBVHhe7dIxDoAwEAQx/v/pQFJQBaRM7ZN8zbZzPTcg
- mG/AAeGQCIdEOCTCIREOiXBIhEMiHBLhkAiHRDgkwiERDolwSIRDIhwS4ZAIh0Q4JMIhEQ6JcEiEQyIc
- EuGQCIdEOCTCIREOiXBIhEMiHBLhkAiHRDgkwiERDolwSIRDIhwS4ZAIh0Q4JMIhEQ6JcEiEQyIcEuGQ
- CIdEOCTCIREOiXBIhEMiHBLhkAiHRDgkwiERDolwSIRDIhwS4ZAIh0Q4JMIhEQ6JcEiEQyIcEuGQCIdE
- OCTCIREOiXBIhEMiHJIVzm6AP8IhEQ6JcEiEQyIcEuGQCIdEOCTCIREOiXBIhEMiHBLhkKxw5tuN8EU4
- JMIhEQ6JcEiEQyIcEuGQCIdEOCTCIXnDgRPXuAF1p5ji1T6jKwAAAABJRU5ErkJggg==
-
-
-
\ No newline at end of file