Adjustment test method ready for tests

This commit is contained in:
Milan Hanajik 2015-01-28 18:17:50 +01:00
parent 6a3e3e7682
commit 508f47cb6b
20 changed files with 1647 additions and 698 deletions

View File

@ -88,10 +88,10 @@ namespace TBF.BenchControl.DataEntry.WMStates
if (WaterMetersCount >= 6) SNText[5] = snTextBox6.Text;
if (WaterMetersCount >= 1) WMState[0] = Utils.ParseUFloat(wmStateTextBox1.Text);
if (WaterMetersCount >= 2) WMState[1] = Utils.ParseUFloat(wmStateTextBox3.Text);
if (WaterMetersCount >= 3) WMState[2] = Utils.ParseUFloat(wmStateTextBox4.Text);
if (WaterMetersCount >= 4) WMState[3] = Utils.ParseUFloat(wmStateTextBox5.Text);
if (WaterMetersCount >= 5) WMState[4] = Utils.ParseUFloat(wmStateTextBox6.Text);
if (WaterMetersCount >= 2) WMState[1] = Utils.ParseUFloat(wmStateTextBox2.Text);
if (WaterMetersCount >= 3) WMState[2] = Utils.ParseUFloat(wmStateTextBox3.Text);
if (WaterMetersCount >= 4) WMState[3] = Utils.ParseUFloat(wmStateTextBox4.Text);
if (WaterMetersCount >= 5) WMState[4] = Utils.ParseUFloat(wmStateTextBox5.Text);
if (WaterMetersCount >= 6) WMState[5] = Utils.ParseUFloat(wmStateTextBox6.Text);
}
catch

View File

@ -28,270 +28,270 @@
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WMSNsAndStatesForm));
this.okButton = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox1 = new System.Windows.Forms.TextBox();
this.wmStateLabel1 = new System.Windows.Forms.Label();
this.snTextBox1 = new System.Windows.Forms.TextBox();
this.snLabel1 = new System.Windows.Forms.Label();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox2 = new System.Windows.Forms.TextBox();
this.wmStateLabel2 = new System.Windows.Forms.Label();
this.snTextBox2 = new System.Windows.Forms.TextBox();
this.snLabel2 = new System.Windows.Forms.Label();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox3 = new System.Windows.Forms.TextBox();
this.wmStateLabel3 = new System.Windows.Forms.Label();
this.snTextBox3 = new System.Windows.Forms.TextBox();
this.snLabel3 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox4 = new System.Windows.Forms.TextBox();
this.wmStateLabel4 = new System.Windows.Forms.Label();
this.snTextBox4 = new System.Windows.Forms.TextBox();
this.snLabel4 = new System.Windows.Forms.Label();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox5 = new System.Windows.Forms.TextBox();
this.wmStateLabel5 = new System.Windows.Forms.Label();
this.snTextBox5 = new System.Windows.Forms.TextBox();
this.snLabel5 = new System.Windows.Forms.Label();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox6 = new System.Windows.Forms.TextBox();
this.wmStateLabel6 = new System.Windows.Forms.Label();
this.snTextBox6 = new System.Windows.Forms.TextBox();
this.snLabel6 = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox5.SuspendLayout();
this.groupBox6.SuspendLayout();
this.SuspendLayout();
//
// okButton
//
resources.ApplyResources(this.okButton, "okButton");
this.okButton.ForeColor = System.Drawing.Color.Black;
this.okButton.Name = "okButton";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// groupBox1
//
this.groupBox1.Controls.Add(this.wmStateTextBox1);
this.groupBox1.Controls.Add(this.wmStateLabel1);
this.groupBox1.Controls.Add(this.snTextBox1);
this.groupBox1.Controls.Add(this.snLabel1);
resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.ForeColor = System.Drawing.Color.Black;
this.groupBox1.Name = "groupBox1";
this.groupBox1.TabStop = false;
//
// wmStateTextBox1
//
resources.ApplyResources(this.wmStateTextBox1, "wmStateTextBox1");
this.wmStateTextBox1.Name = "wmStateTextBox1";
//
// wmStateLabel1
//
resources.ApplyResources(this.wmStateLabel1, "wmStateLabel1");
this.wmStateLabel1.Name = "wmStateLabel1";
//
// snTextBox1
//
resources.ApplyResources(this.snTextBox1, "snTextBox1");
this.snTextBox1.Name = "snTextBox1";
//
// snLabel1
//
resources.ApplyResources(this.snLabel1, "snLabel1");
this.snLabel1.Name = "snLabel1";
//
// groupBox2
//
this.groupBox2.Controls.Add(this.wmStateTextBox2);
this.groupBox2.Controls.Add(this.wmStateLabel2);
this.groupBox2.Controls.Add(this.snTextBox2);
this.groupBox2.Controls.Add(this.snLabel2);
resources.ApplyResources(this.groupBox2, "groupBox2");
this.groupBox2.ForeColor = System.Drawing.Color.Black;
this.groupBox2.Name = "groupBox2";
this.groupBox2.TabStop = false;
//
// wmStateTextBox2
//
resources.ApplyResources(this.wmStateTextBox2, "wmStateTextBox2");
this.wmStateTextBox2.Name = "wmStateTextBox2";
//
// wmStateLabel2
//
resources.ApplyResources(this.wmStateLabel2, "wmStateLabel2");
this.wmStateLabel2.Name = "wmStateLabel2";
//
// snTextBox2
//
resources.ApplyResources(this.snTextBox2, "snTextBox2");
this.snTextBox2.Name = "snTextBox2";
//
// snLabel2
//
resources.ApplyResources(this.snLabel2, "snLabel2");
this.snLabel2.Name = "snLabel2";
//
// groupBox3
//
this.groupBox3.Controls.Add(this.wmStateTextBox3);
this.groupBox3.Controls.Add(this.wmStateLabel3);
this.groupBox3.Controls.Add(this.snTextBox3);
this.groupBox3.Controls.Add(this.snLabel3);
resources.ApplyResources(this.groupBox3, "groupBox3");
this.groupBox3.ForeColor = System.Drawing.Color.Black;
this.groupBox3.Name = "groupBox3";
this.groupBox3.TabStop = false;
//
// wmStateTextBox3
//
resources.ApplyResources(this.wmStateTextBox3, "wmStateTextBox3");
this.wmStateTextBox3.Name = "wmStateTextBox3";
//
// wmStateLabel3
//
resources.ApplyResources(this.wmStateLabel3, "wmStateLabel3");
this.wmStateLabel3.Name = "wmStateLabel3";
//
// snTextBox3
//
resources.ApplyResources(this.snTextBox3, "snTextBox3");
this.snTextBox3.Name = "snTextBox3";
//
// snLabel3
//
resources.ApplyResources(this.snLabel3, "snLabel3");
this.snLabel3.Name = "snLabel3";
//
// groupBox4
//
this.groupBox4.Controls.Add(this.wmStateTextBox4);
this.groupBox4.Controls.Add(this.wmStateLabel4);
this.groupBox4.Controls.Add(this.snTextBox4);
this.groupBox4.Controls.Add(this.snLabel4);
resources.ApplyResources(this.groupBox4, "groupBox4");
this.groupBox4.ForeColor = System.Drawing.Color.Black;
this.groupBox4.Name = "groupBox4";
this.groupBox4.TabStop = false;
//
// wmStateTextBox4
//
resources.ApplyResources(this.wmStateTextBox4, "wmStateTextBox4");
this.wmStateTextBox4.Name = "wmStateTextBox4";
//
// wmStateLabel4
//
resources.ApplyResources(this.wmStateLabel4, "wmStateLabel4");
this.wmStateLabel4.Name = "wmStateLabel4";
//
// snTextBox4
//
resources.ApplyResources(this.snTextBox4, "snTextBox4");
this.snTextBox4.Name = "snTextBox4";
//
// snLabel4
//
resources.ApplyResources(this.snLabel4, "snLabel4");
this.snLabel4.Name = "snLabel4";
//
// groupBox5
//
this.groupBox5.Controls.Add(this.wmStateTextBox5);
this.groupBox5.Controls.Add(this.wmStateLabel5);
this.groupBox5.Controls.Add(this.snTextBox5);
this.groupBox5.Controls.Add(this.snLabel5);
resources.ApplyResources(this.groupBox5, "groupBox5");
this.groupBox5.ForeColor = System.Drawing.Color.Black;
this.groupBox5.Name = "groupBox5";
this.groupBox5.TabStop = false;
//
// wmStateTextBox5
//
resources.ApplyResources(this.wmStateTextBox5, "wmStateTextBox5");
this.wmStateTextBox5.Name = "wmStateTextBox5";
//
// wmStateLabel5
//
resources.ApplyResources(this.wmStateLabel5, "wmStateLabel5");
this.wmStateLabel5.Name = "wmStateLabel5";
//
// snTextBox5
//
resources.ApplyResources(this.snTextBox5, "snTextBox5");
this.snTextBox5.Name = "snTextBox5";
//
// snLabel5
//
resources.ApplyResources(this.snLabel5, "snLabel5");
this.snLabel5.Name = "snLabel5";
//
// groupBox6
//
this.groupBox6.Controls.Add(this.wmStateTextBox6);
this.groupBox6.Controls.Add(this.wmStateLabel6);
this.groupBox6.Controls.Add(this.snTextBox6);
this.groupBox6.Controls.Add(this.snLabel6);
resources.ApplyResources(this.groupBox6, "groupBox6");
this.groupBox6.ForeColor = System.Drawing.Color.Black;
this.groupBox6.Name = "groupBox6";
this.groupBox6.TabStop = false;
//
// wmStateTextBox6
//
resources.ApplyResources(this.wmStateTextBox6, "wmStateTextBox6");
this.wmStateTextBox6.Name = "wmStateTextBox6";
//
// wmStateLabel6
//
resources.ApplyResources(this.wmStateLabel6, "wmStateLabel6");
this.wmStateLabel6.Name = "wmStateLabel6";
//
// snTextBox6
//
resources.ApplyResources(this.snTextBox6, "snTextBox6");
this.snTextBox6.Name = "snTextBox6";
//
// snLabel6
//
resources.ApplyResources(this.snLabel6, "snLabel6");
this.snLabel6.Name = "snLabel6";
//
// CycleBeginningForm
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DarkGoldenrod;
this.Controls.Add(this.groupBox6);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.okButton);
this.ForeColor = System.Drawing.Color.Black;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "CycleBeginningForm";
this.TopMost = true;
this.Load += new System.EventHandler(this.CycleBeginningForm_Load);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
this.ResumeLayout(false);
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WMSNsAndStatesForm));
this.okButton = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox1 = new System.Windows.Forms.TextBox();
this.wmStateLabel1 = new System.Windows.Forms.Label();
this.snTextBox1 = new System.Windows.Forms.TextBox();
this.snLabel1 = new System.Windows.Forms.Label();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox2 = new System.Windows.Forms.TextBox();
this.wmStateLabel2 = new System.Windows.Forms.Label();
this.snTextBox2 = new System.Windows.Forms.TextBox();
this.snLabel2 = new System.Windows.Forms.Label();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox3 = new System.Windows.Forms.TextBox();
this.wmStateLabel3 = new System.Windows.Forms.Label();
this.snTextBox3 = new System.Windows.Forms.TextBox();
this.snLabel3 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox4 = new System.Windows.Forms.TextBox();
this.wmStateLabel4 = new System.Windows.Forms.Label();
this.snTextBox4 = new System.Windows.Forms.TextBox();
this.snLabel4 = new System.Windows.Forms.Label();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox5 = new System.Windows.Forms.TextBox();
this.wmStateLabel5 = new System.Windows.Forms.Label();
this.snTextBox5 = new System.Windows.Forms.TextBox();
this.snLabel5 = new System.Windows.Forms.Label();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.wmStateTextBox6 = new System.Windows.Forms.TextBox();
this.wmStateLabel6 = new System.Windows.Forms.Label();
this.snTextBox6 = new System.Windows.Forms.TextBox();
this.snLabel6 = new System.Windows.Forms.Label();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox5.SuspendLayout();
this.groupBox6.SuspendLayout();
this.SuspendLayout();
//
// okButton
//
resources.ApplyResources(this.okButton, "okButton");
this.okButton.ForeColor = System.Drawing.Color.Black;
this.okButton.Name = "okButton";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// groupBox1
//
this.groupBox1.Controls.Add(this.wmStateTextBox1);
this.groupBox1.Controls.Add(this.wmStateLabel1);
this.groupBox1.Controls.Add(this.snTextBox1);
this.groupBox1.Controls.Add(this.snLabel1);
resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.ForeColor = System.Drawing.Color.Black;
this.groupBox1.Name = "groupBox1";
this.groupBox1.TabStop = false;
//
// wmStateTextBox1
//
resources.ApplyResources(this.wmStateTextBox1, "wmStateTextBox1");
this.wmStateTextBox1.Name = "wmStateTextBox1";
//
// wmStateLabel1
//
resources.ApplyResources(this.wmStateLabel1, "wmStateLabel1");
this.wmStateLabel1.Name = "wmStateLabel1";
//
// snTextBox1
//
resources.ApplyResources(this.snTextBox1, "snTextBox1");
this.snTextBox1.Name = "snTextBox1";
//
// snLabel1
//
resources.ApplyResources(this.snLabel1, "snLabel1");
this.snLabel1.Name = "snLabel1";
//
// groupBox2
//
this.groupBox2.Controls.Add(this.wmStateTextBox2);
this.groupBox2.Controls.Add(this.wmStateLabel2);
this.groupBox2.Controls.Add(this.snTextBox2);
this.groupBox2.Controls.Add(this.snLabel2);
resources.ApplyResources(this.groupBox2, "groupBox2");
this.groupBox2.ForeColor = System.Drawing.Color.Black;
this.groupBox2.Name = "groupBox2";
this.groupBox2.TabStop = false;
//
// wmStateTextBox2
//
resources.ApplyResources(this.wmStateTextBox2, "wmStateTextBox2");
this.wmStateTextBox2.Name = "wmStateTextBox2";
//
// wmStateLabel2
//
resources.ApplyResources(this.wmStateLabel2, "wmStateLabel2");
this.wmStateLabel2.Name = "wmStateLabel2";
//
// snTextBox2
//
resources.ApplyResources(this.snTextBox2, "snTextBox2");
this.snTextBox2.Name = "snTextBox2";
//
// snLabel2
//
resources.ApplyResources(this.snLabel2, "snLabel2");
this.snLabel2.Name = "snLabel2";
//
// groupBox3
//
this.groupBox3.Controls.Add(this.wmStateTextBox3);
this.groupBox3.Controls.Add(this.wmStateLabel3);
this.groupBox3.Controls.Add(this.snTextBox3);
this.groupBox3.Controls.Add(this.snLabel3);
resources.ApplyResources(this.groupBox3, "groupBox3");
this.groupBox3.ForeColor = System.Drawing.Color.Black;
this.groupBox3.Name = "groupBox3";
this.groupBox3.TabStop = false;
//
// wmStateTextBox3
//
resources.ApplyResources(this.wmStateTextBox3, "wmStateTextBox3");
this.wmStateTextBox3.Name = "wmStateTextBox3";
//
// wmStateLabel3
//
resources.ApplyResources(this.wmStateLabel3, "wmStateLabel3");
this.wmStateLabel3.Name = "wmStateLabel3";
//
// snTextBox3
//
resources.ApplyResources(this.snTextBox3, "snTextBox3");
this.snTextBox3.Name = "snTextBox3";
//
// snLabel3
//
resources.ApplyResources(this.snLabel3, "snLabel3");
this.snLabel3.Name = "snLabel3";
//
// groupBox4
//
this.groupBox4.Controls.Add(this.wmStateTextBox4);
this.groupBox4.Controls.Add(this.wmStateLabel4);
this.groupBox4.Controls.Add(this.snTextBox4);
this.groupBox4.Controls.Add(this.snLabel4);
resources.ApplyResources(this.groupBox4, "groupBox4");
this.groupBox4.ForeColor = System.Drawing.Color.Black;
this.groupBox4.Name = "groupBox4";
this.groupBox4.TabStop = false;
//
// wmStateTextBox4
//
resources.ApplyResources(this.wmStateTextBox4, "wmStateTextBox4");
this.wmStateTextBox4.Name = "wmStateTextBox4";
//
// wmStateLabel4
//
resources.ApplyResources(this.wmStateLabel4, "wmStateLabel4");
this.wmStateLabel4.Name = "wmStateLabel4";
//
// snTextBox4
//
resources.ApplyResources(this.snTextBox4, "snTextBox4");
this.snTextBox4.Name = "snTextBox4";
//
// snLabel4
//
resources.ApplyResources(this.snLabel4, "snLabel4");
this.snLabel4.Name = "snLabel4";
//
// groupBox5
//
this.groupBox5.Controls.Add(this.wmStateTextBox5);
this.groupBox5.Controls.Add(this.wmStateLabel5);
this.groupBox5.Controls.Add(this.snTextBox5);
this.groupBox5.Controls.Add(this.snLabel5);
resources.ApplyResources(this.groupBox5, "groupBox5");
this.groupBox5.ForeColor = System.Drawing.Color.Black;
this.groupBox5.Name = "groupBox5";
this.groupBox5.TabStop = false;
//
// wmStateTextBox5
//
resources.ApplyResources(this.wmStateTextBox5, "wmStateTextBox5");
this.wmStateTextBox5.Name = "wmStateTextBox5";
//
// wmStateLabel5
//
resources.ApplyResources(this.wmStateLabel5, "wmStateLabel5");
this.wmStateLabel5.Name = "wmStateLabel5";
//
// snTextBox5
//
resources.ApplyResources(this.snTextBox5, "snTextBox5");
this.snTextBox5.Name = "snTextBox5";
//
// snLabel5
//
resources.ApplyResources(this.snLabel5, "snLabel5");
this.snLabel5.Name = "snLabel5";
//
// groupBox6
//
this.groupBox6.Controls.Add(this.wmStateTextBox6);
this.groupBox6.Controls.Add(this.wmStateLabel6);
this.groupBox6.Controls.Add(this.snTextBox6);
this.groupBox6.Controls.Add(this.snLabel6);
resources.ApplyResources(this.groupBox6, "groupBox6");
this.groupBox6.ForeColor = System.Drawing.Color.Black;
this.groupBox6.Name = "groupBox6";
this.groupBox6.TabStop = false;
//
// wmStateTextBox6
//
resources.ApplyResources(this.wmStateTextBox6, "wmStateTextBox6");
this.wmStateTextBox6.Name = "wmStateTextBox6";
//
// wmStateLabel6
//
resources.ApplyResources(this.wmStateLabel6, "wmStateLabel6");
this.wmStateLabel6.Name = "wmStateLabel6";
//
// snTextBox6
//
resources.ApplyResources(this.snTextBox6, "snTextBox6");
this.snTextBox6.Name = "snTextBox6";
//
// snLabel6
//
resources.ApplyResources(this.snLabel6, "snLabel6");
this.snLabel6.Name = "snLabel6";
//
// WMSNsAndStatesForm
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DarkGoldenrod;
this.Controls.Add(this.groupBox6);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.okButton);
this.ForeColor = System.Drawing.Color.Black;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "WMSNsAndStatesForm";
this.TopMost = true;
this.Load += new System.EventHandler(this.CycleBeginningForm_Load);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
this.ResumeLayout(false);
}

View File

@ -146,81 +146,6 @@
<data name="&gt;&gt;okButton.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="&gt;&gt;wmStateTextBox1.Name" xml:space="preserve">
<value>wmStateTextBox1</value>
</data>
<data name="&gt;&gt;wmStateTextBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox1.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;wmStateTextBox1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;wmStateLabel1.Name" xml:space="preserve">
<value>wmStateLabel1</value>
</data>
<data name="&gt;&gt;wmStateLabel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel1.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;wmStateLabel1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox1.Name" xml:space="preserve">
<value>snTextBox1</value>
</data>
<data name="&gt;&gt;snTextBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox1.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;snTextBox1.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;snLabel1.Name" xml:space="preserve">
<value>snLabel1</value>
</data>
<data name="&gt;&gt;snLabel1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel1.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;snLabel1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox1.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 18</value>
</data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="groupBox1.Text" xml:space="preserve">
<value>Water Meter 1</value>
</data>
<data name="&gt;&gt;groupBox1.Name" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;groupBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox1.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="wmStateTextBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 37</value>
</data>
@ -317,80 +242,32 @@
<data name="&gt;&gt;snLabel1.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;wmStateTextBox2.Name" xml:space="preserve">
<value>wmStateTextBox2</value>
</data>
<data name="&gt;&gt;wmStateTextBox2.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox2.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;wmStateTextBox2.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;wmStateLabel2.Name" xml:space="preserve">
<value>wmStateLabel2</value>
</data>
<data name="&gt;&gt;wmStateLabel2.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel2.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;wmStateLabel2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox2.Name" xml:space="preserve">
<value>snTextBox2</value>
</data>
<data name="&gt;&gt;snTextBox2.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox2.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;snTextBox2.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;snLabel2.Name" xml:space="preserve">
<value>snLabel2</value>
</data>
<data name="&gt;&gt;snLabel2.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel2.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;snLabel2.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox2.Font" type="System.Drawing.Font, System.Drawing">
<data name="groupBox1.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 123</value>
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 18</value>
</data>
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="groupBox2.Text" xml:space="preserve">
<value>Water Meter 2</value>
<data name="groupBox1.Text" xml:space="preserve">
<value>Water Meter 1</value>
</data>
<data name="&gt;&gt;groupBox2.Name" xml:space="preserve">
<value>groupBox2</value>
<data name="&gt;&gt;groupBox1.Name" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;groupBox2.Type" xml:space="preserve">
<data name="&gt;&gt;groupBox1.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox2.Parent" xml:space="preserve">
<data name="&gt;&gt;groupBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox2.ZOrder" xml:space="preserve">
<value>4</value>
<data name="&gt;&gt;groupBox1.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="wmStateTextBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 37</value>
@ -492,80 +369,32 @@
<data name="&gt;&gt;snLabel2.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;wmStateTextBox3.Name" xml:space="preserve">
<value>wmStateTextBox3</value>
</data>
<data name="&gt;&gt;wmStateTextBox3.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox3.Parent" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;wmStateTextBox3.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;wmStateLabel3.Name" xml:space="preserve">
<value>wmStateLabel3</value>
</data>
<data name="&gt;&gt;wmStateLabel3.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel3.Parent" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;wmStateLabel3.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox3.Name" xml:space="preserve">
<value>snTextBox3</value>
</data>
<data name="&gt;&gt;snTextBox3.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox3.Parent" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;snTextBox3.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;snLabel3.Name" xml:space="preserve">
<value>snLabel3</value>
</data>
<data name="&gt;&gt;snLabel3.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel3.Parent" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;snLabel3.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox3.Font" type="System.Drawing.Font, System.Drawing">
<data name="groupBox2.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox3.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 228</value>
<data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 123</value>
</data>
<data name="groupBox3.Size" type="System.Drawing.Size, System.Drawing">
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox3.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
<data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="groupBox3.Text" xml:space="preserve">
<value>Water Meter 3</value>
<data name="groupBox2.Text" xml:space="preserve">
<value>Water Meter 2</value>
</data>
<data name="&gt;&gt;groupBox3.Name" xml:space="preserve">
<value>groupBox3</value>
<data name="&gt;&gt;groupBox2.Name" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="&gt;&gt;groupBox3.Type" xml:space="preserve">
<data name="&gt;&gt;groupBox2.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox3.Parent" xml:space="preserve">
<data name="&gt;&gt;groupBox2.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox3.ZOrder" xml:space="preserve">
<value>3</value>
<data name="&gt;&gt;groupBox2.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="wmStateTextBox3.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 37</value>
@ -666,80 +495,32 @@
<data name="&gt;&gt;snLabel3.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;wmStateTextBox4.Name" xml:space="preserve">
<value>wmStateTextBox4</value>
</data>
<data name="&gt;&gt;wmStateTextBox4.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox4.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;wmStateTextBox4.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;wmStateLabel4.Name" xml:space="preserve">
<value>wmStateLabel4</value>
</data>
<data name="&gt;&gt;wmStateLabel4.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel4.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;wmStateLabel4.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox4.Name" xml:space="preserve">
<value>snTextBox4</value>
</data>
<data name="&gt;&gt;snTextBox4.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox4.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;snTextBox4.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;snLabel4.Name" xml:space="preserve">
<value>snLabel4</value>
</data>
<data name="&gt;&gt;snLabel4.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel4.Parent" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;snLabel4.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox4.Font" type="System.Drawing.Font, System.Drawing">
<data name="groupBox3.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox4.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 333</value>
<data name="groupBox3.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 228</value>
</data>
<data name="groupBox4.Size" type="System.Drawing.Size, System.Drawing">
<data name="groupBox3.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox4.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
<data name="groupBox3.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="groupBox4.Text" xml:space="preserve">
<value>Water Meter 4</value>
<data name="groupBox3.Text" xml:space="preserve">
<value>Water Meter 3</value>
</data>
<data name="&gt;&gt;groupBox4.Name" xml:space="preserve">
<value>groupBox4</value>
<data name="&gt;&gt;groupBox3.Name" xml:space="preserve">
<value>groupBox3</value>
</data>
<data name="&gt;&gt;groupBox4.Type" xml:space="preserve">
<data name="&gt;&gt;groupBox3.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox4.Parent" xml:space="preserve">
<data name="&gt;&gt;groupBox3.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox4.ZOrder" xml:space="preserve">
<value>2</value>
<data name="&gt;&gt;groupBox3.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="wmStateTextBox4.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 37</value>
@ -840,80 +621,32 @@
<data name="&gt;&gt;snLabel4.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;wmStateTextBox5.Name" xml:space="preserve">
<value>wmStateTextBox5</value>
</data>
<data name="&gt;&gt;wmStateTextBox5.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox5.Parent" xml:space="preserve">
<value>groupBox5</value>
</data>
<data name="&gt;&gt;wmStateTextBox5.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;wmStateLabel5.Name" xml:space="preserve">
<value>wmStateLabel5</value>
</data>
<data name="&gt;&gt;wmStateLabel5.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel5.Parent" xml:space="preserve">
<value>groupBox5</value>
</data>
<data name="&gt;&gt;wmStateLabel5.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox5.Name" xml:space="preserve">
<value>snTextBox5</value>
</data>
<data name="&gt;&gt;snTextBox5.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox5.Parent" xml:space="preserve">
<value>groupBox5</value>
</data>
<data name="&gt;&gt;snTextBox5.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;snLabel5.Name" xml:space="preserve">
<value>snLabel5</value>
</data>
<data name="&gt;&gt;snLabel5.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel5.Parent" xml:space="preserve">
<value>groupBox5</value>
</data>
<data name="&gt;&gt;snLabel5.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox5.Font" type="System.Drawing.Font, System.Drawing">
<data name="groupBox4.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox5.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 438</value>
<data name="groupBox4.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 333</value>
</data>
<data name="groupBox5.Size" type="System.Drawing.Size, System.Drawing">
<data name="groupBox4.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox5.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
<data name="groupBox4.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="groupBox5.Text" xml:space="preserve">
<value>Water Meter 5</value>
<data name="groupBox4.Text" xml:space="preserve">
<value>Water Meter 4</value>
</data>
<data name="&gt;&gt;groupBox5.Name" xml:space="preserve">
<value>groupBox5</value>
<data name="&gt;&gt;groupBox4.Name" xml:space="preserve">
<value>groupBox4</value>
</data>
<data name="&gt;&gt;groupBox5.Type" xml:space="preserve">
<data name="&gt;&gt;groupBox4.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox5.Parent" xml:space="preserve">
<data name="&gt;&gt;groupBox4.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox5.ZOrder" xml:space="preserve">
<value>1</value>
<data name="&gt;&gt;groupBox4.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="wmStateTextBox5.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 32</value>
@ -1014,80 +747,32 @@
<data name="&gt;&gt;snLabel5.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="&gt;&gt;wmStateTextBox6.Name" xml:space="preserve">
<value>wmStateTextBox6</value>
</data>
<data name="&gt;&gt;wmStateTextBox6.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateTextBox6.Parent" xml:space="preserve">
<value>groupBox6</value>
</data>
<data name="&gt;&gt;wmStateTextBox6.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;wmStateLabel6.Name" xml:space="preserve">
<value>wmStateLabel6</value>
</data>
<data name="&gt;&gt;wmStateLabel6.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;wmStateLabel6.Parent" xml:space="preserve">
<value>groupBox6</value>
</data>
<data name="&gt;&gt;wmStateLabel6.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;snTextBox6.Name" xml:space="preserve">
<value>snTextBox6</value>
</data>
<data name="&gt;&gt;snTextBox6.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snTextBox6.Parent" xml:space="preserve">
<value>groupBox6</value>
</data>
<data name="&gt;&gt;snTextBox6.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;snLabel6.Name" xml:space="preserve">
<value>snLabel6</value>
</data>
<data name="&gt;&gt;snLabel6.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;snLabel6.Parent" xml:space="preserve">
<value>groupBox6</value>
</data>
<data name="&gt;&gt;snLabel6.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox6.Font" type="System.Drawing.Font, System.Drawing">
<data name="groupBox5.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox6.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 543</value>
<data name="groupBox5.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 438</value>
</data>
<data name="groupBox6.Size" type="System.Drawing.Size, System.Drawing">
<data name="groupBox5.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox6.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
<data name="groupBox5.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="groupBox6.Text" xml:space="preserve">
<value>Water Meter 6</value>
<data name="groupBox5.Text" xml:space="preserve">
<value>Water Meter 5</value>
</data>
<data name="&gt;&gt;groupBox6.Name" xml:space="preserve">
<value>groupBox6</value>
<data name="&gt;&gt;groupBox5.Name" xml:space="preserve">
<value>groupBox5</value>
</data>
<data name="&gt;&gt;groupBox6.Type" xml:space="preserve">
<data name="&gt;&gt;groupBox5.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox6.Parent" xml:space="preserve">
<data name="&gt;&gt;groupBox5.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox6.ZOrder" xml:space="preserve">
<value>0</value>
<data name="&gt;&gt;groupBox5.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="wmStateTextBox6.Location" type="System.Drawing.Point, System.Drawing">
<value>386, 37</value>
@ -1188,6 +873,33 @@
<data name="&gt;&gt;snLabel6.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox6.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="groupBox6.Location" type="System.Drawing.Point, System.Drawing">
<value>28, 543</value>
</data>
<data name="groupBox6.Size" type="System.Drawing.Size, System.Drawing">
<value>575, 92</value>
</data>
<data name="groupBox6.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="groupBox6.Text" xml:space="preserve">
<value>Water Meter 6</value>
</data>
<data name="&gt;&gt;groupBox6.Name" xml:space="preserve">
<value>groupBox6</value>
</data>
<data name="&gt;&gt;groupBox6.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;groupBox6.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;groupBox6.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@ -1204,7 +916,7 @@
<value>Water Meter Serial Numbers and States</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>CycleBeginningForm</value>
<value>WMSNsAndStatesForm</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>

View File

@ -71,10 +71,10 @@ namespace TBF.BenchControl.DataEntry.WMStates
try
{
if (WaterMetersCount >= 1) WMState[0] = Utils.ParseUFloat(wmStateTextBox1.Text);
if (WaterMetersCount >= 2) WMState[1] = Utils.ParseUFloat(wmStateTextBox3.Text);
if (WaterMetersCount >= 3) WMState[2] = Utils.ParseUFloat(wmStateTextBox4.Text);
if (WaterMetersCount >= 4) WMState[3] = Utils.ParseUFloat(wmStateTextBox5.Text);
if (WaterMetersCount >= 5) WMState[4] = Utils.ParseUFloat(wmStateTextBox6.Text);
if (WaterMetersCount >= 2) WMState[1] = Utils.ParseUFloat(wmStateTextBox2.Text);
if (WaterMetersCount >= 3) WMState[2] = Utils.ParseUFloat(wmStateTextBox3.Text);
if (WaterMetersCount >= 4) WMState[3] = Utils.ParseUFloat(wmStateTextBox4.Text);
if (WaterMetersCount >= 5) WMState[4] = Utils.ParseUFloat(wmStateTextBox5.Text);
if (WaterMetersCount >= 6) WMState[5] = Utils.ParseUFloat(wmStateTextBox6.Text);
}
catch

View File

@ -0,0 +1,332 @@
using System;
using System.Collections.Generic;
using System.Text;
using log4net;
using TBF.BenchControl;
using TBF.Boxes;
using TBF.Resources;
using TBF.UiBridge;
namespace TBF.BenchControl.TestMethods.Adjustment
{
public class FlyingStartSeq : Sequences.SequenceBase
{
private static readonly ILog log = LogManager.GetLogger(typeof(FlyingStartSeq));
/// <summary>
/// Flying start mass collection method sequence
/// </summary>
/// <param name="test">Test entity</param>
/// <returns>
/// Event.Done . . . . . . . OK
/// Event.UiCmdStop . . . . Stopped by the user using the on-screen button STOP
/// Event.OpArgumentError . Target flow is out of range
/// Event.Error . . . . . . Unspecified error
/// </returns>
public IList<Event> Execute(Entities.Test test)
{
System.Windows.Forms.Form modelessDlg = null;
Elde.ControlBoardDev cBrd = StateMachine.ControlBoard;
IList<Event> e = new List<Event>(); /// Events from currently running operations
Event retVal = Event.Done;
checkUiOp = new Operations.CheckUIOp(true); /// Runs in more then one state
ltrPerRefPulse = outPath.FlowMeter.LtrPerPulse; /// [ltr/pulse], nominal flow in [m3/h]
/// Notes:
/// float timeHr = volumeLtr / (1000.0f * targetFlow);
/// float timeSec = 3600.0f * timeHr;
/// int refPulses = (int)(timeSec * (2000.0f * targetFlow / pOut.FlowMeter.NominalFlow));
int totalPulses = (int)(test.Volume / ltrPerRefPulse + 0.5f);
processDataLoggingOp = new TBF.BenchControl.Operations.ProcessDataLoggingOp(processDataLogger, this);
int repetitionNr = 1; /// First test: repetitionNr=1
//====================================
// Transition or SetRoute - Start
//====================================
switch (Transition(transitionStart, TransitionContext.TestStart))
{
case Event.Error: { retVal = Event.Error; goto stopTest; }
case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; }
}
/// Start the test, initialize test results
Bridge.OnTestSelected(this, new TestSelectedEventArgs(test, repetitionNr, inPath, benchPath, outPath, sensPath, totalPulses));
Entities.TestResult tstRslt = new Entities.TestResult(test, repetitionNr, Entities.MetersKind.Single);
//------------------------------------------------
Bridge.OnActivity(this, Strings.Setting_the_flow);
//------------------------------------------------
int flowSetTime0 = StateMachine.Time;
float estFlowSetTime = 10.0f;
if (inPath.Pump is GenericDevices.IPumpFM) (inPath.Pump as GenericDevices.IPumpFM).TurnOn(test.PumpPower);
State.Create("Adjustment : Starting the pump")
.AddOperation(checkUiOp)
.AddOperation(cBrd.SetValvesOp(inPath.Pump, null))
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
int flowSetTime = StateMachine.Time - flowSetTime0;
float progress = Formulas.TestProgress(flowSetTime, estFlowSetTime, test.TstTime);
Bridge.OnTestProgress(this, GetTestProgressData(test, tstRslt, false, cBrd, flowSetTime, progress));
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
}
while (!e.Contains(Event.ValvesSet));
//--------------------------------
State.Create("Adjustment : Setting the flow")
.AddOperation(checkUiOp)
.AddOperation(outPath.RegulValve.SetFlowOp(outPath.FlowMeter, test.Qfrom, test.Qto, outPath.PidCoef, refFlow, 600)) /// timeout = 10 min.
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
int flowSetTime = StateMachine.Time - flowSetTime0;
float progress = Formulas.TestProgress(flowSetTime, estFlowSetTime, test.TstTime);
Bridge.OnTestProgress(this, GetTestProgressData(test, tstRslt, false, cBrd, flowSetTime, progress));
if (e.Contains(Event.OpArgumentError)) { retVal = Event.OpArgumentError; goto stopTest; }
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
if (e.Contains(Event.RegulValveTimeOut))
{
Bridge.OnError(this, Strings.Timeout);
retVal = Event.Done;
goto stopTest;
}
if (e.Contains(Event.Next)) goto flow_set;
}
while (!e.Contains(Event.FlowReached));
///
/// Show the modeless dialog with error indication
///
modelessDlg = new WMErrorsForm(Program.WMsCount);
modelessDlg.Show();
flow_set:
loop:
int time = StateMachine.Time;
float currentFlow = refFlow.Val;
/// Extract cameras from the current sensors path, add operations to the detection state
IList<IOperation> measureOperations = new List<IOperation>();
for (int i = 0; i < sensPath.RegisterReaders.Length; i++)
{
GenericDevices.ICameraRoi cameraRoi = sensPath.RegisterReaders[i] as GenericDevices.ICameraRoi;
if (cameraRoi != null) measureOperations.Add(cameraRoi.MeasureOp());
}
tstRslt.TimeStart = DateTime.Now;
//------------------------------------------------
Bridge.OnActivity(this, Strings.Test_in_progress);
//------------------------------------------------
State.Create("Adjustment : Starting the test")
.AddOperation(checkUiOp)
.AddOperations(measureOperations)
.AddOperation(cBrd.StartMeasurementOp(outPath.FlowMeter, totalPulses, Elde.TestMethods.Synchro, (float)test.TolerRed))
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
}
while (!e.Contains(Event.MeasurementStarted));
/// Measurement loop - preparation
readRegisters1 = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders, ref WMPulses, ref WMRefPulses);
readRegisters2 = new Operations.ReadMoreRegistersOp(sensPath.RegisterReaders, ref WMPulses, ref WMRefPulses);
queryEnd1 = cBrd.QueryMeasurementEndOp();
queryEnd2 = cBrd.QueryMeasurementEndOp();
bool firstTime = true; /// To reset sums for averaging
ResetAveragedData();
/// Measurement loop - begin
while (true)
{
//--------------------------------
switch (ReadRegistersTempPressAmbient(measureOperations, true))
{
case Event.Error: { retVal = Event.Error; goto stopTest; }
case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; }
case Event.MeasurementCompleted: goto one_test_completed;
}
if (firstTime)
{
firstTime = false; /// Do the following only once
tstRslt.TempInStart = tempIn.Val;
tstRslt.TempOutStart = tempOut.Val;
tstRslt.TempDivStart = tempDiv.Val;
tstRslt.PressInStart = pressIn.Val;
tstRslt.PressOutStart = pressOut.Val;
}
tstRslt.TempInEnd = tempIn.Val;
tstRslt.TempOutEnd = tempOut.Val;
tstRslt.TempDivEnd = tempDiv.Val;
tstRslt.PressInEnd = pressIn.Val;
tstRslt.PressOutEnd = pressOut.Val;
tstRslt.MassEndRaw = mass.Val;
AccumulateAveragedData();
refFreq.Val = cBrd.ReferenceFreq;
refFlow.Val = cBrd.ReferenceFlow;
tstRslt.AmbientTempAve = airTemperature.Val;
tstRslt.AmbientPressAve = airPressure.Val;
tstRslt.AmbientHumiAve = airHumidity.Val;
string logstr = string.Format("E={0} f={1} q={2}", cBrd.EtPulses(0), cBrd.ReferenceFreq,
cBrd.ReferenceFlow * outPath.FlowMeter.NominalFlow);
for (int i = 0; i < Program.WMsCount; i++)
{
logstr += string.Format(" M{0}=({1},{2})", i + 1, WMRefPulses[i], WMPulses[i]);
}
log.Debug(logstr);
float progress = Formulas.TestProgress(cBrd.EtPulses(0), totalPulses, estFlowSetTime, test.TstTime);
Bridge.OnTestProgress(this, GetTestProgressData(test, tstRslt, true, cBrd, cBrd.TTime, progress));
}
/// Measurement loop - end
one_test_completed:
//------------------------------------------------
Bridge.OnActivity(this, Strings.Adjustment_in_progress);
//------------------------------------------------
/// Make sure the CycleBeginForm is closed so that water meter data (s/n) can be copied into results
if (cycleBeginFormOpened)
{
cycleBeginFormOpened = false;
if (CloseCycleBeginForm()) goto stopTest;
}
///
/// Populate TestResult data entity with data
///
tstRslt.TimeEnd = DateTime.Now;
tstRslt.CycleNr = Program.LocalSettings.CycleNr;
UpdateTestRsltWithAveragedData(tstRslt);
tstRslt.MassStart = 0;
tstRslt.MassEnd = 0;
tstRslt.MassDiff = 0;
tstRslt.DensityIn = Formulas.WaterDensityFromTemp(tstRslt.TempInAvrg); /// [kg/m3]
tstRslt.DensityOut = Formulas.WaterDensityFromTemp(tstRslt.TempOutAvrg); /// [kg/m3]
tstRslt.DensityDiv = Formulas.WaterDensityFromTemp(tstRslt.TempDivAvrg); /// [kg/m3]
tstRslt.Time = cBrd.TTime; /// [s] measurement time
tstRslt.FlowMass = 0; /// [kg/h]
tstRslt.FlowVolume = 3600.0f * ltrPerRefPulse * cBrd.EtPulses(0) / tstRslt.Time; /// [l/h]
tstRslt.PulsesMaster = cBrd.EtPulses(0); /// Pulses of the master flow meter (test total)
tstRslt.VolumeMaster = ltrPerRefPulse * tstRslt.PulsesMaster; /// [l] volume from the master flow meter
tstRslt.ConstMaster = outPath.FlowMeter.LtrPerPulseCorrected(tstRslt.FlowVolume / 1000.0f); /// Convert the flow to [m3/h]
tstRslt.VolumeCTV = tstRslt.ConstMaster * tstRslt.PulsesMaster; /// [l] 1000.0f is because density is in [kg/m3]
/// Corrected master pulses per liter
tstRslt.ErrorMaster = 0.0f; /// Cannot be determined without the collected water mass measurement
tstRslt.TimeDivStart0 = 0;
tstRslt.TimeDivStart1 = 0;
tstRslt.TimeDivStart2 = 0;
tstRslt.TimeDivStart3 = 0;
tstRslt.TimeDivStart4 = 0;
tstRslt.TimeDivStart5 = 0;
tstRslt.TimeDivEnd0 = 0;
tstRslt.TimeDivEnd1 = 0;
tstRslt.TimeDivEnd2 = 0;
tstRslt.TimeDivEnd3 = 0;
tstRslt.TimeDivEnd4 = 0;
tstRslt.TimeDivEnd5 = 0;
for (int i = 0; i < Program.WMsCount; i++)
{
if (sensPath.RegisterReaders[i] != null)
{
tstRslt.Meters[i].SerialNr = (WaterMeters.Count > i) ? WaterMeters[i].SerialNr : string.Empty;
tstRslt.Meters[i].VolumeStart = 0; /// liter
tstRslt.Meters[i].VolumeEnd = 0; /// liter
if (sensPath.RegisterReaders[i].PulsesPerLtr <= float.Epsilon) tstRslt.Meters[i].VolumeMeter = 0;
else tstRslt.Meters[i].VolumeMeter = Convert.ToSingle(WMPulses[i]) / sensPath.RegisterReaders[i].PulsesPerLtr;
tstRslt.Meters[i].VolumeRef = tstRslt.ConstMaster * WMRefPulses[i]; /// liter
tstRslt.Meters[i].PulsesMeter = WMPulses[i];
tstRslt.Meters[i].PulsesMaster = WMRefPulses[i];
tstRslt.Meters[i].Time = cBrd.TTime;
if (WMPulses[i] > 0 && tstRslt.Meters[i].VolumeRef > 0)
{
tstRslt.Meters[i].VolumeErrorPct =
100 * (tstRslt.Meters[i].VolumeMeter - tstRslt.Meters[i].VolumeRef) / tstRslt.Meters[i].VolumeRef;
/// %
}
else
{
tstRslt.Meters[i].VolumeErrorPct = -100;
}
tstRslt.Meters[i].Passed = (tstRslt.ErrLimLo <= tstRslt.Meters[i].VolumeErrorPct) && (tstRslt.Meters[i].VolumeErrorPct <= tstRslt.ErrLimHi);
}
}
/// Add data - end
/// Update modeless dialog error information
Bridge.OnAdjustmentInProgress(this, new AdjustmentInProgressEventArgs(tstRslt));
/// Test 'Quit'
if ((modelessDlg is GenericDevices.IHasCompleted) && !(modelessDlg as GenericDevices.IHasCompleted).Completed)
{
goto loop; /// Modeless dilaog not closed, keep looping
}
modelessDlg = null; /// Modeless dialog is closed now
///
/// Add to results (after user quits the adjustment loop)
///
AddOrOverwriteResult(tstRslt);
Bridge.OnTestCompleted(this, new TestCompletedEventArgs(tstRslt));
FluentCommon.SaveToDb(StateMachine.WtSession, tstRslt);
/// Append the results to the CSV-file
allResults.Info(TestResult2CsvLine(tstRslt, cBrd.EtPulses(0)));
stopTest:
///----------------------///
/// Quit this sequence ///
///----------------------///
State.Create("Adjustment : Stopping diverter, gate, etc.")
.AddOperation(checkUiOp)
.AddOperation(cBrd.StopPreviousOp())
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
}
while (!e.Contains(Event.PreviousStopped));
/// Transition sequence at the end of test
/// Prevent overwriting 'retVal' in case it was set to non-default value earlier
switch (Transition(transitionStop, TransitionContext.TestEnd))
{
case Event.Error: { if (retVal == Event.Done) retVal = Event.Error; break; }
case Event.UiCmdStop: { if (retVal == Event.Done) retVal = Event.UiCmdStop; break; }
}
/// Create a list with one item 'retVal' (default is Event.Done) and return it
IList<Event> retList = new List<Event>();
retList.Add(retVal);
return retList;
}
}
}

View File

@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using log4net;
using TBF.BenchControl;
namespace TBF.BenchControl.TestMethods.Adjustment
{
public class TestMethod : ComponentBase, GenericDevices.ITestMethod, ISequence
{
private static readonly ILog log = LogManager.GetLogger(typeof(TestMethod));
public override string ToString() { return string.Format("TestMethods.Adjustment({0})", Cfg.ToString(1)); }
public TestMethod(TestMethodCfg cfg)
: base(cfg)
{
log.Debug(this.ToString());
}
public IList<Event> Execute(Entities.Test test)
{
return (new FlyingStartSeq()).Execute(test);
}
}
}

View File

@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.TestMethods.Adjustment
{
public class TestMethodCfg : ComponentCfgBase, Generic.IComponentCfg
{
public IComponent GetComponent(IList<IComponent> components) { return new TestMethod(this); }
public IComponentCfgCtrl GetControl() { return new TestMethodCfgCtrl(); }
/// Private parameterless constructor invoked by all other (public) constructors
TestMethodCfg()
{
Name = "Adjustment";
ParentName = string.Empty;
}
public TestMethodCfg(IComponentFactory factory)
: this()
{
this.Factory = factory;
}
public string ToString(int i)
{
return string.Format("Name={0}", Name);
}
}
}

View File

@ -0,0 +1,68 @@
using System;
using System.Windows.Forms;
using log4net;
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.TestMethods.Adjustment
{
public partial class TestMethodCfgCtrl : UserControl, IComponentCfgCtrl
{
static readonly ILog log = LogManager.GetLogger(typeof(TestMethodCfgCtrl));
public bool ShowMore { get { return false; } }
TestMethodCfg config;
public IComponentCfg Config
{
get { return config as IComponentCfg; }
set
{
config = value as TestMethodCfg;
Redraw();
}
}
public TestMethodCfgCtrl()
{
InitializeComponent();
}
private void EntryFormCfgCtrl_Load(object sender, EventArgs e)
{
Redraw();
}
public void Closing()
{
}
void Redraw()
{
if (config == null) return; /// Control was not loaded, settings were not changed
classNameLabel.Text = config.Factory.ClassName;
nameTextBox.Text = config.Name;
}
public void Unlock()
{
nameTextBox.Enabled = true;
}
public CfgUpdateFlags VerifyCfg(ref string message)
{
CfgUpdateFlags flags = CfgUpdateFlags.None;
return flags;
}
public CfgUpdateFlags UpdateCfg()
{
CfgUpdateFlags flags = CfgUpdateFlags.RestartRqrd;
if (config == null) return CfgUpdateFlags.Error; /// Control was not loaded, settings were not changed
config.Name = nameTextBox.Text;
return flags;
}
}
}

View File

@ -0,0 +1,83 @@
namespace TBF.BenchControl.TestMethods.Adjustment
{
partial class TestMethodCfgCtrl
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.nameTextBox = new System.Windows.Forms.TextBox();
this.nameLabel = new System.Windows.Forms.Label();
this.classNameLabel = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// nameTextBox
//
this.nameTextBox.Enabled = false;
this.nameTextBox.Location = new System.Drawing.Point(137, 57);
this.nameTextBox.Name = "nameTextBox";
this.nameTextBox.Size = new System.Drawing.Size(130, 20);
this.nameTextBox.TabIndex = 5;
//
// nameLabel
//
this.nameLabel.AutoSize = true;
this.nameLabel.Location = new System.Drawing.Point(27, 60);
this.nameLabel.Name = "nameLabel";
this.nameLabel.Size = new System.Drawing.Size(35, 13);
this.nameLabel.TabIndex = 4;
this.nameLabel.Text = "Name";
//
// classNameLabel
//
this.classNameLabel.AutoSize = true;
this.classNameLabel.Location = new System.Drawing.Point(134, 33);
this.classNameLabel.Name = "classNameLabel";
this.classNameLabel.Size = new System.Drawing.Size(83, 13);
this.classNameLabel.TabIndex = 3;
this.classNameLabel.Text = "ComonentName";
//
// BasicPrinterCfgCtrl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.nameTextBox);
this.Controls.Add(this.nameLabel);
this.Controls.Add(this.classNameLabel);
this.Name = "BasicPrinterCfgCtrl";
this.Size = new System.Drawing.Size(300, 200);
this.Load += new System.EventHandler(this.EntryFormCfgCtrl_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox nameTextBox;
private System.Windows.Forms.Label nameLabel;
private System.Windows.Forms.Label classNameLabel;
}
}

View File

@ -0,0 +1,120 @@
<?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>
</root>

View File

@ -0,0 +1,18 @@
using TBF.BenchControl.Generic;
namespace TBF.BenchControl.TestMethods.Adjustment
{
public class TestMethodFactory : IComponentFactory
{
public string ClassName { get { return "Adjustment"; } }
public void ResetStaticProperties() { TestMethod.ResetStaticProperties(); }
public IComponentCfg DefaultConfig() { return new TestMethodCfg(this); }
public IComponentCfg CmpntCfgFromCmpntEntity(Entities.Component component)
{
return ComponentCfgBase.CreateFromDbEntity(typeof(TestMethodCfg), component, this);
}
}
}

View File

@ -0,0 +1,101 @@
using System;
using System.Windows.Forms;
using TBF.Resources;
namespace TBF.BenchControl.TestMethods.Adjustment
{
public partial class WMErrorsForm : Form, GenericDevices.IHasCompleted
{
/// <summary> Number of text boxes for serial numbers </summary>
public readonly int WaterMetersCount;
// To be retrieved after the form closes
public float[] WMState;
// Set to 'true' when the form closes
public bool Completed { get { return completed; } }
bool completed;
/// <summary>
/// Constructor
/// </summary>
/// <param name="waterMetersCount">Number of text boxes for serial numbers</param>
public WMErrorsForm(int waterMetersCount)
{
this.WaterMetersCount = waterMetersCount;
InitializeComponent();
WMState = new float[WaterMetersCount];
completed = false;
}
/// <summary> Parameterless constructor for 3 watermeters </summary>
public WMErrorsForm()
: this(Program.WMsCount)
{
UiBridge.Bridge.AdjustmentInProgressHandler += delegate(object sender, UiBridge.AdjustmentInProgressEventArgs args)
{
if (InvokeRequired)
{
Invoke(new EventHandler<UiBridge.AdjustmentInProgressEventArgs>(OnAdjustmentInProgress), sender, args);
}
else OnAdjustmentInProgress(sender, args);
};
}
void Localize()
{
Text = Strings.Water_Meter_States;
groupBox1.Text = Strings.Water_Meter + " 1";
groupBox2.Text = Strings.Water_Meter + " 2";
groupBox3.Text = Strings.Water_Meter + " 3";
groupBox4.Text = Strings.Water_Meter + " 4";
groupBox5.Text = Strings.Water_Meter + " 5";
groupBox6.Text = Strings.Water_Meter + " 6";
wmErrorLabel1.Text = Strings.Error_pct;
wmErrorLabel2.Text = Strings.Error_pct;
wmErrorLabel3.Text = Strings.Error_pct;
wmErrorLabel4.Text = Strings.Error_pct;
wmErrorLabel5.Text = Strings.Error_pct;
wmErrorLabel6.Text = Strings.Error_pct;
okButton.Text = Strings.OkBtnText;
}
private void CycleEndForm_Load(object sender, EventArgs e)
{
Localize();
Height = 195 + 90 * WaterMetersCount;
if (WaterMetersCount < 1) groupBox1.Visible = false;
if (WaterMetersCount < 2) groupBox2.Visible = false;
if (WaterMetersCount < 3) groupBox3.Visible = false;
if (WaterMetersCount < 4) groupBox4.Visible = false;
if (WaterMetersCount < 5) groupBox5.Visible = false;
if (WaterMetersCount < 6) groupBox6.Visible = false;
wmErrorTextBox1.Text = "---";
wmErrorTextBox2.Text = "---";
wmErrorTextBox3.Text = "---";
wmErrorTextBox4.Text = "---";
wmErrorTextBox5.Text = "---";
wmErrorTextBox6.Text = "---";
}
void OnAdjustmentInProgress(object sender, UiBridge.AdjustmentInProgressEventArgs args)
{
Entities.TestResult tr = args.TestResult;
if (WaterMetersCount >= 1) wmErrorTextBox1.Text = tr.Meters[0].VolumeErrorPct.ToString("F1");
if (WaterMetersCount >= 2) wmErrorTextBox2.Text = tr.Meters[1].VolumeErrorPct.ToString("F1");
if (WaterMetersCount >= 3) wmErrorTextBox3.Text = tr.Meters[2].VolumeErrorPct.ToString("F1");
if (WaterMetersCount >= 4) wmErrorTextBox4.Text = tr.Meters[3].VolumeErrorPct.ToString("F1");
if (WaterMetersCount >= 5) wmErrorTextBox5.Text = tr.Meters[4].VolumeErrorPct.ToString("F1");
if (WaterMetersCount >= 6) wmErrorTextBox6.Text = tr.Meters[5].VolumeErrorPct.ToString("F1");
}
private void okButton_Click(object sender, EventArgs e)
{
completed = true;
Close();
}
}
}

View File

@ -0,0 +1,302 @@
namespace TBF.BenchControl.TestMethods.Adjustment
{
partial class WMErrorsForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.wmErrorTextBox2 = new System.Windows.Forms.TextBox();
this.wmErrorLabel2 = new System.Windows.Forms.Label();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.wmErrorTextBox1 = new System.Windows.Forms.TextBox();
this.wmErrorLabel1 = new System.Windows.Forms.Label();
this.okButton = new System.Windows.Forms.Button();
this.groupBox3 = new System.Windows.Forms.GroupBox();
this.wmErrorTextBox3 = new System.Windows.Forms.TextBox();
this.wmErrorLabel3 = new System.Windows.Forms.Label();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.wmErrorTextBox4 = new System.Windows.Forms.TextBox();
this.wmErrorLabel4 = new System.Windows.Forms.Label();
this.groupBox5 = new System.Windows.Forms.GroupBox();
this.wmErrorTextBox5 = new System.Windows.Forms.TextBox();
this.wmErrorLabel5 = new System.Windows.Forms.Label();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.wmErrorTextBox6 = new System.Windows.Forms.TextBox();
this.wmErrorLabel6 = new System.Windows.Forms.Label();
this.groupBox2.SuspendLayout();
this.groupBox1.SuspendLayout();
this.groupBox3.SuspendLayout();
this.groupBox4.SuspendLayout();
this.groupBox5.SuspendLayout();
this.groupBox6.SuspendLayout();
this.SuspendLayout();
//
// groupBox2
//
this.groupBox2.Controls.Add(this.wmErrorTextBox2);
this.groupBox2.Controls.Add(this.wmErrorLabel2);
this.groupBox2.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox2.ForeColor = System.Drawing.Color.Black;
this.groupBox2.Location = new System.Drawing.Point(25, 102);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(362, 81);
this.groupBox2.TabIndex = 2;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Water Meter 2";
//
// wmErrorTextBox2
//
this.wmErrorTextBox2.Location = new System.Drawing.Point(183, 31);
this.wmErrorTextBox2.Name = "wmErrorTextBox2";
this.wmErrorTextBox2.Size = new System.Drawing.Size(163, 31);
this.wmErrorTextBox2.TabIndex = 1;
//
// wmErrorLabel2
//
this.wmErrorLabel2.AutoSize = true;
this.wmErrorLabel2.Location = new System.Drawing.Point(18, 34);
this.wmErrorLabel2.Name = "wmErrorLabel2";
this.wmErrorLabel2.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel2.TabIndex = 0;
this.wmErrorLabel2.Text = "Error [%]";
//
// groupBox1
//
this.groupBox1.Controls.Add(this.wmErrorTextBox1);
this.groupBox1.Controls.Add(this.wmErrorLabel1);
this.groupBox1.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox1.ForeColor = System.Drawing.Color.Black;
this.groupBox1.Location = new System.Drawing.Point(25, 12);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(362, 81);
this.groupBox1.TabIndex = 1;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Water Meter 1";
//
// wmErrorTextBox1
//
this.wmErrorTextBox1.Location = new System.Drawing.Point(183, 31);
this.wmErrorTextBox1.Name = "wmErrorTextBox1";
this.wmErrorTextBox1.Size = new System.Drawing.Size(163, 31);
this.wmErrorTextBox1.TabIndex = 1;
//
// wmErrorLabel1
//
this.wmErrorLabel1.AutoSize = true;
this.wmErrorLabel1.Location = new System.Drawing.Point(18, 34);
this.wmErrorLabel1.Name = "wmErrorLabel1";
this.wmErrorLabel1.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel1.TabIndex = 0;
this.wmErrorLabel1.Text = "Error [%]";
//
// okButton
//
this.okButton.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.okButton.ForeColor = System.Drawing.Color.Black;
this.okButton.Location = new System.Drawing.Point(425, 21);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(98, 63);
this.okButton.TabIndex = 7;
this.okButton.Text = "OK";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// groupBox3
//
this.groupBox3.Controls.Add(this.wmErrorTextBox3);
this.groupBox3.Controls.Add(this.wmErrorLabel3);
this.groupBox3.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox3.ForeColor = System.Drawing.Color.Black;
this.groupBox3.Location = new System.Drawing.Point(25, 192);
this.groupBox3.Name = "groupBox3";
this.groupBox3.Size = new System.Drawing.Size(362, 81);
this.groupBox3.TabIndex = 3;
this.groupBox3.TabStop = false;
this.groupBox3.Text = "Water Meter 3";
//
// wmErrorTextBox3
//
this.wmErrorTextBox3.Location = new System.Drawing.Point(183, 31);
this.wmErrorTextBox3.Name = "wmErrorTextBox3";
this.wmErrorTextBox3.Size = new System.Drawing.Size(163, 31);
this.wmErrorTextBox3.TabIndex = 1;
//
// wmErrorLabel3
//
this.wmErrorLabel3.AutoSize = true;
this.wmErrorLabel3.Location = new System.Drawing.Point(18, 34);
this.wmErrorLabel3.Name = "wmErrorLabel3";
this.wmErrorLabel3.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel3.TabIndex = 0;
this.wmErrorLabel3.Text = "Error [%]";
//
// groupBox4
//
this.groupBox4.Controls.Add(this.wmErrorTextBox4);
this.groupBox4.Controls.Add(this.wmErrorLabel4);
this.groupBox4.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox4.ForeColor = System.Drawing.Color.Black;
this.groupBox4.Location = new System.Drawing.Point(25, 282);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(362, 81);
this.groupBox4.TabIndex = 4;
this.groupBox4.TabStop = false;
this.groupBox4.Text = "Water Meter 4";
//
// wmErrorTextBox4
//
this.wmErrorTextBox4.Location = new System.Drawing.Point(183, 31);
this.wmErrorTextBox4.Name = "wmErrorTextBox4";
this.wmErrorTextBox4.Size = new System.Drawing.Size(163, 31);
this.wmErrorTextBox4.TabIndex = 1;
//
// wmErrorLabel4
//
this.wmErrorLabel4.AutoSize = true;
this.wmErrorLabel4.Location = new System.Drawing.Point(18, 34);
this.wmErrorLabel4.Name = "wmErrorLabel4";
this.wmErrorLabel4.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel4.TabIndex = 0;
this.wmErrorLabel4.Text = "Error [%]";
//
// groupBox5
//
this.groupBox5.Controls.Add(this.wmErrorTextBox5);
this.groupBox5.Controls.Add(this.wmErrorLabel5);
this.groupBox5.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox5.ForeColor = System.Drawing.Color.Black;
this.groupBox5.Location = new System.Drawing.Point(25, 372);
this.groupBox5.Name = "groupBox5";
this.groupBox5.Size = new System.Drawing.Size(362, 81);
this.groupBox5.TabIndex = 5;
this.groupBox5.TabStop = false;
this.groupBox5.Text = "Water Meter 5";
//
// wmErrorTextBox5
//
this.wmErrorTextBox5.Location = new System.Drawing.Point(183, 31);
this.wmErrorTextBox5.Name = "wmErrorTextBox5";
this.wmErrorTextBox5.Size = new System.Drawing.Size(163, 31);
this.wmErrorTextBox5.TabIndex = 1;
//
// wmErrorLabel5
//
this.wmErrorLabel5.AutoSize = true;
this.wmErrorLabel5.Location = new System.Drawing.Point(18, 34);
this.wmErrorLabel5.Name = "wmErrorLabel5";
this.wmErrorLabel5.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel5.TabIndex = 0;
this.wmErrorLabel5.Text = "Error [%]";
//
// groupBox6
//
this.groupBox6.Controls.Add(this.wmErrorTextBox6);
this.groupBox6.Controls.Add(this.wmErrorLabel6);
this.groupBox6.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
this.groupBox6.ForeColor = System.Drawing.Color.Black;
this.groupBox6.Location = new System.Drawing.Point(25, 462);
this.groupBox6.Name = "groupBox6";
this.groupBox6.Size = new System.Drawing.Size(362, 81);
this.groupBox6.TabIndex = 6;
this.groupBox6.TabStop = false;
this.groupBox6.Text = "Water Meter 6";
//
// wmErrorTextBox6
//
this.wmErrorTextBox6.Location = new System.Drawing.Point(183, 31);
this.wmErrorTextBox6.Name = "wmErrorTextBox6";
this.wmErrorTextBox6.Size = new System.Drawing.Size(163, 31);
this.wmErrorTextBox6.TabIndex = 1;
//
// wmErrorLabel6
//
this.wmErrorLabel6.AutoSize = true;
this.wmErrorLabel6.Location = new System.Drawing.Point(18, 34);
this.wmErrorLabel6.Name = "wmErrorLabel6";
this.wmErrorLabel6.Size = new System.Drawing.Size(103, 23);
this.wmErrorLabel6.TabIndex = 0;
this.wmErrorLabel6.Text = "Error [%]";
//
// WMErrorsForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DarkGoldenrod;
this.ClientSize = new System.Drawing.Size(559, 565);
this.Controls.Add(this.groupBox6);
this.Controls.Add(this.groupBox5);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.groupBox3);
this.Controls.Add(this.okButton);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Name = "WMErrorsForm";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Text = "Water Meter States";
this.TopMost = true;
this.Load += new System.EventHandler(this.CycleEndForm_Load);
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox3.ResumeLayout(false);
this.groupBox3.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.groupBox5.ResumeLayout(false);
this.groupBox5.PerformLayout();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.TextBox wmErrorTextBox2;
private System.Windows.Forms.Label wmErrorLabel2;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.TextBox wmErrorTextBox1;
private System.Windows.Forms.Label wmErrorLabel1;
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.GroupBox groupBox3;
private System.Windows.Forms.TextBox wmErrorTextBox3;
private System.Windows.Forms.Label wmErrorLabel3;
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.TextBox wmErrorTextBox4;
private System.Windows.Forms.Label wmErrorLabel4;
private System.Windows.Forms.GroupBox groupBox5;
private System.Windows.Forms.TextBox wmErrorTextBox5;
private System.Windows.Forms.Label wmErrorLabel5;
private System.Windows.Forms.GroupBox groupBox6;
private System.Windows.Forms.TextBox wmErrorTextBox6;
private System.Windows.Forms.Label wmErrorLabel6;
}
}

View File

@ -0,0 +1,120 @@
<?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>
</root>

View File

@ -58,48 +58,12 @@ namespace TBF.BenchControl.TestMethods.FlyingStart
Bridge.OnTestSelected(this, new TestSelectedEventArgs(test, repetitionNr, inPath, benchPath, outPath, sensPath, totalPulses));
Entities.TestResult tstRslt = new Entities.TestResult(test, repetitionNr, Entities.MetersKind.Single);
if (!test.Emptying) /// If condition met => skip measuring and force emptying
{
///
/// Measure the weight and skip emptying if there is enough room in the tank
///
State.Create("FlyingStart : Measuring the mass of water in the tank")
.AddOperation(checkUiOp)
.AddOperation(outPath.Balance.ReadMassOp(ref mass))
.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }
if (e.Contains(Event.UiCmdStop)) { retVal = Event.UiCmdStop; goto stopTest; }
}
while (!e.Contains(Event.BalanceDone));
float estimatedEndMass = mass.Val + test.Volume;
if (estimatedEndMass < outPath.Balance.Capacity * Constants.TankFullFactor)
{
goto set_flow; /// Enough room in the tank -> skip emptying
}
}
///
/// Empty the water tank
///
switch (EmptyTheTank(outPath.EmptyTankValve, outPath.Balance))
{
case Event.Error: { retVal = Event.Error; goto stopTest; }
case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; }
}
set_flow:
int flowSetTime0 = StateMachine.Time;
float estFlowSetTime = 10.0f;
//------------------------------------------------
Bridge.OnActivity(this, Strings.Setting_the_flow);
//------------------------------------------------
int flowSetTime0 = StateMachine.Time;
float estFlowSetTime = 10.0f;
if (inPath.Pump is GenericDevices.IPumpFM) (inPath.Pump as GenericDevices.IPumpFM).TurnOn(test.PumpPower);
State.Create("FlyingStart : Starting the pump")
.AddOperation(checkUiOp)

View File

@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.1
// Runtime Version:4.0.30319.1026
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@ -105,6 +105,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Adjustment in progress.
/// </summary>
internal static string Adjustment_in_progress {
get {
return ResourceManager.GetString("Adjustment_in_progress", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Administrator.
/// </summary>
@ -699,6 +708,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Error [%].
/// </summary>
internal static string Error_pct {
get {
return ResourceManager.GetString("Error_pct", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Error while creating the database. Reason: .
/// </summary>

View File

@ -946,4 +946,10 @@
<data name="Pump_power_pct" xml:space="preserve">
<value>Pump power [%]</value>
</data>
<data name="Adjustment_in_progress" xml:space="preserve">
<value>Adjustment in progress</value>
</data>
<data name="Error_pct" xml:space="preserve">
<value>Error [%]</value>
</data>
</root>

View File

@ -427,6 +427,22 @@
</Compile>
<Compile Include="BenchControl\ResultsWriters\Basic\WriterFactory.cs" />
<Compile Include="BenchControl\TestBenchSim.cs" />
<Compile Include="BenchControl\TestMethods\Adjustment\AdjustmentSeq.cs" />
<Compile Include="BenchControl\TestMethods\Adjustment\TestMethod.cs" />
<Compile Include="BenchControl\TestMethods\Adjustment\TestMethodCfg.cs" />
<Compile Include="BenchControl\TestMethods\Adjustment\TestMethodCfgCtrl.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="BenchControl\TestMethods\Adjustment\TestMethodCfgCtrl.designer.cs">
<DependentUpon>TestMethodCfgCtrl.cs</DependentUpon>
</Compile>
<Compile Include="BenchControl\TestMethods\Adjustment\TestMethodFactory.cs" />
<Compile Include="BenchControl\TestMethods\Adjustment\WMErrorsForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="BenchControl\TestMethods\Adjustment\WMErrorsForm.designer.cs">
<DependentUpon>WMErrorsForm.cs</DependentUpon>
</Compile>
<Compile Include="BenchControl\TestMethods\CameraRoiDetection\RoiDetectionSeq.cs" />
<Compile Include="BenchControl\TestMethods\CameraRoiDetection\RoiDetection.cs" />
<Compile Include="BenchControl\TestMethods\CameraRoiDetection\RoiDetectionCfg.cs" />
@ -855,6 +871,7 @@
<DependentUpon>TransitionsDlg.cs</DependentUpon>
</Compile>
<Compile Include="UiBridge\ActivityEventArgs.cs" />
<Compile Include="UiBridge\AdjustmentInProgressEventArgs.cs" />
<Compile Include="UiBridge\Bridge.cs" />
<Compile Include="UiBridge\ButtonsEtcEventArgs.cs" />
<Compile Include="UiBridge\CameraStateChangedEventArgs.cs" />
@ -1046,6 +1063,12 @@
<EmbeddedResource Include="BenchControl\ResultsWriters\Basic\WriterCfgCtrl.resx">
<DependentUpon>WriterCfgCtrl.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BenchControl\TestMethods\Adjustment\TestMethodCfgCtrl.resx">
<DependentUpon>TestMethodCfgCtrl.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BenchControl\TestMethods\Adjustment\WMErrorsForm.resx">
<DependentUpon>WMErrorsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="BenchControl\TestMethods\CameraRoiDetection\RoiDetectionCfgCtrl.resx">
<DependentUpon>RoiDetectionCfgCtrl.cs</DependentUpon>
</EmbeddedResource>

View File

@ -0,0 +1,14 @@
using System;
namespace TBF.UiBridge
{
public class AdjustmentInProgressEventArgs : EventArgs
{
public Entities.TestResult TestResult;
public AdjustmentInProgressEventArgs(Entities.TestResult testResult)
{
this.TestResult = testResult;
}
}
}

View File

@ -90,6 +90,18 @@ namespace TBF.UiBridge
public static event EventHandler<TestProgressEventArgs> TestProgressHandler;
/// <summary>
/// Called from the state machine when one test of the adjustment process was completed and UI needs to be updated.
/// </summary>
public static void OnAdjustmentInProgress(object sender, AdjustmentInProgressEventArgs data)
{
if (AdjustmentInProgressHandler == null) return;
try { AdjustmentInProgressHandler(sender, data); }
catch (Exception e) { log.Error("AdjustmentInProgressHandler(...) failed", e); }
}
public static event EventHandler<AdjustmentInProgressEventArgs> AdjustmentInProgressHandler;
/// <summary>
/// Called from the state machine when the test is completed and UI needs to be updated.
/// </summary>