Units of energy can be selected in DataEntry.HeatMeters12.TestStartEndForm.

This commit is contained in:
Milan Hanajik
2016-08-22 13:55:28 +02:00
parent 4ce613a82d
commit df7631eb3a
10 changed files with 1602 additions and 1428 deletions
@@ -55,8 +55,12 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
System.Windows.Forms.Form modelessDlg;
double refVolume;
double errLimLo;
double errLimHi;
double errLimLo;
double errLimHi;
double refEnergy;
double energyErrLimLo;
double energyErrLimHi;
bool resultSaved; /// Set in Run() when results are saved
@@ -131,9 +135,27 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
this.refVolume = refVolume;
this.errLimLo = errLimLo;
this.errLimHi = errLimHi;
return this;
this.refEnergy = 0;
this.energyErrLimLo = 0;
this.energyErrLimHi = 0;
return this;
}
/// <returns>Reference to the operation</returns>
public IOperation ShowTestEndFormOp(double refVolume, double errLimLo, double errLimHi,
double refEnergy, double energyErrLimLo, double energyErrLimHi)
{
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
currentOp = CurrentOp.EnterTestEndStates;
this.refVolume = refVolume;
this.errLimLo = errLimLo;
this.errLimHi = errLimHi;
this.refEnergy = refEnergy;
this.energyErrLimLo = energyErrLimLo;
this.energyErrLimHi = energyErrLimHi;
return this;
}
delegate void EntryFormDlgt(EntryForm myRef);
///
void OpenBeginningDlg(EntryForm myRef)
@@ -150,13 +172,14 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
///
void OpenTestStartStatesDlg(EntryForm myRef)
{
myRef.modelessDlg = new TestStartEndForm(Config.Data.WMsCount, disabled);
myRef.modelessDlg = new TestStartEndForm(entryFormCfg, Config.Data.WMsCount, disabled);
modelessDlg.Show();
}
///
void OpenTestEndStatesDlg(EntryForm myRef)
{
myRef.modelessDlg = new TestStartEndForm(Config.Data.WMsCount, wmStartStateStr, disabled, refVolume, errLimLo, errLimHi);
myRef.modelessDlg = new TestStartEndForm(entryFormCfg, Config.Data.WMsCount, wmStartStateStr, energyStartStateStr,
disabled, refVolume, errLimLo, errLimHi, refEnergy, energyErrLimLo, energyErrLimHi);
modelessDlg.Show();
}
@@ -16,6 +16,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
///
/// Serialized parameters
///
public Config.Unit DefaultUnits;
public bool EnterSerialNrsAtTheEnd;
public bool ShowCycleEndForm;
public bool SensusExtensions;
@@ -32,6 +33,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
Factory = factory;
ParentName = string.Empty;
DefaultUnits = Config.Unit.kWh;
EnterSerialNrsAtTheEnd = false;
ShowCycleEndForm = false;
SensusExtensions = false;
@@ -6,6 +6,7 @@ using System.Windows.Forms;
using log4net;
using TBF.BenchControl.Generic;
using TBF.Resources;
using Config;
namespace TBF.BenchControl.DataEntry.HeatMeters12
{
@@ -34,11 +35,18 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
private void EntryFormCfgCtrl_Load(object sender, EventArgs e)
{
Localize();
for (Unit units = 0; units < Unit.Count; units++)
{
if (Units.IsEnergy(units)) defaultUnitsComboBox.Items.Add(units.ToString());
}
Redraw();
}
void Localize()
{
defaultUnitsLabel.Text = Strings.Default_units;
enterSNsAtTheEndCheckBox.Text = Strings.Enter_SNs_at_the_end;
showEndStateFormCheckBox.Text = Strings.Show_cycle_end_form;
sensusExtensionsCheckBox.Text = Strings.Sensus_extensions;
@@ -69,7 +77,14 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
public CfgUpdateFlags VerifyCfg(ref string message)
{
CfgUpdateFlags flags = CfgUpdateFlags.None;
return flags;
foreach (var v in defaultUnitsComboBox.Items)
{
if (v.ToString() == defaultUnitsComboBox.Text) return flags;
}
message = string.Format(Strings.Invalid_0, Strings.Default_units);
return CfgUpdateFlags.Error;
}
public CfgUpdateFlags UpdateCfg()
@@ -79,7 +94,13 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
if (config == null) return CfgUpdateFlags.Error; /// Control was not loaded, settings were not changed
config.Name = nameTextBox.Text;
config.EnterSerialNrsAtTheEnd = enterSNsAtTheEndCheckBox.Checked;
for (Unit u = 0; u < Unit.Count; u++)
{
if (u.ToString() == defaultUnitsComboBox.Text) config.DefaultUnits = u;
}
config.EnterSerialNrsAtTheEnd = enterSNsAtTheEndCheckBox.Checked;
config.ShowCycleEndForm = showEndStateFormCheckBox.Checked;
config.SensusExtensions = sensusExtensionsCheckBox.Checked;
@@ -37,12 +37,14 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
this.showEndStateFormCheckBox = new System.Windows.Forms.CheckBox();
this.enterSNsAtTheEndCheckBox = new System.Windows.Forms.CheckBox();
this.sensusExtensionsCheckBox = new System.Windows.Forms.CheckBox();
this.defaultUnitsLabel = new System.Windows.Forms.Label();
this.defaultUnitsComboBox = new System.Windows.Forms.ComboBox();
this.SuspendLayout();
//
// nameTextBox
//
this.nameTextBox.Enabled = false;
this.nameTextBox.Location = new System.Drawing.Point(99, 57);
this.nameTextBox.Location = new System.Drawing.Point(113, 57);
this.nameTextBox.Name = "nameTextBox";
this.nameTextBox.Size = new System.Drawing.Size(130, 20);
this.nameTextBox.TabIndex = 2;
@@ -50,7 +52,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
// nameLabel
//
this.nameLabel.AutoSize = true;
this.nameLabel.Location = new System.Drawing.Point(35, 60);
this.nameLabel.Location = new System.Drawing.Point(23, 60);
this.nameLabel.Name = "nameLabel";
this.nameLabel.Size = new System.Drawing.Size(35, 13);
this.nameLabel.TabIndex = 1;
@@ -59,7 +61,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
// classNameLabel
//
this.classNameLabel.AutoSize = true;
this.classNameLabel.Location = new System.Drawing.Point(96, 33);
this.classNameLabel.Location = new System.Drawing.Point(110, 33);
this.classNameLabel.Name = "classNameLabel";
this.classNameLabel.Size = new System.Drawing.Size(83, 13);
this.classNameLabel.TabIndex = 0;
@@ -69,7 +71,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
//
this.showEndStateFormCheckBox.AutoSize = true;
this.showEndStateFormCheckBox.Enabled = false;
this.showEndStateFormCheckBox.Location = new System.Drawing.Point(99, 112);
this.showEndStateFormCheckBox.Location = new System.Drawing.Point(113, 139);
this.showEndStateFormCheckBox.Name = "showEndStateFormCheckBox";
this.showEndStateFormCheckBox.Size = new System.Drawing.Size(151, 17);
this.showEndStateFormCheckBox.TabIndex = 4;
@@ -80,7 +82,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
//
this.enterSNsAtTheEndCheckBox.AutoSize = true;
this.enterSNsAtTheEndCheckBox.Enabled = false;
this.enterSNsAtTheEndCheckBox.Location = new System.Drawing.Point(99, 89);
this.enterSNsAtTheEndCheckBox.Location = new System.Drawing.Point(113, 116);
this.enterSNsAtTheEndCheckBox.Name = "enterSNsAtTheEndCheckBox";
this.enterSNsAtTheEndCheckBox.Size = new System.Drawing.Size(167, 17);
this.enterSNsAtTheEndCheckBox.TabIndex = 3;
@@ -91,17 +93,36 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
//
this.sensusExtensionsCheckBox.AutoSize = true;
this.sensusExtensionsCheckBox.Enabled = false;
this.sensusExtensionsCheckBox.Location = new System.Drawing.Point(99, 135);
this.sensusExtensionsCheckBox.Location = new System.Drawing.Point(113, 162);
this.sensusExtensionsCheckBox.Name = "sensusExtensionsCheckBox";
this.sensusExtensionsCheckBox.Size = new System.Drawing.Size(114, 17);
this.sensusExtensionsCheckBox.TabIndex = 5;
this.sensusExtensionsCheckBox.Text = "Sensus extensions";
this.sensusExtensionsCheckBox.UseVisualStyleBackColor = true;
//
// defaultUnitsLabel
//
this.defaultUnitsLabel.AutoSize = true;
this.defaultUnitsLabel.Location = new System.Drawing.Point(23, 87);
this.defaultUnitsLabel.Name = "defaultUnitsLabel";
this.defaultUnitsLabel.Size = new System.Drawing.Size(66, 13);
this.defaultUnitsLabel.TabIndex = 6;
this.defaultUnitsLabel.Text = "Default units";
//
// defaultUnitsComboBox
//
this.defaultUnitsComboBox.FormattingEnabled = true;
this.defaultUnitsComboBox.Location = new System.Drawing.Point(113, 84);
this.defaultUnitsComboBox.Name = "defaultUnitsComboBox";
this.defaultUnitsComboBox.Size = new System.Drawing.Size(130, 21);
this.defaultUnitsComboBox.TabIndex = 7;
//
// EntryFormCfgCtrl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.defaultUnitsComboBox);
this.Controls.Add(this.defaultUnitsLabel);
this.Controls.Add(this.sensusExtensionsCheckBox);
this.Controls.Add(this.enterSNsAtTheEndCheckBox);
this.Controls.Add(this.showEndStateFormCheckBox);
@@ -124,5 +145,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
private System.Windows.Forms.CheckBox showEndStateFormCheckBox;
private System.Windows.Forms.CheckBox enterSNsAtTheEndCheckBox;
private System.Windows.Forms.CheckBox sensusExtensionsCheckBox;
private System.Windows.Forms.Label defaultUnitsLabel;
private System.Windows.Forms.ComboBox defaultUnitsComboBox;
}
}
@@ -17,6 +17,8 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
public bool Completed { get { return completed; } }
bool completed;
readonly EntryFormCfg entryFormCfg;
/// <summary> Number of text boxes for serial numbers </summary>
public readonly int WaterMetersCount;
@@ -32,10 +34,15 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
public readonly string[] EnergyStartStateStr;
public double[] EnergyEndState;
bool endStates; /// false=start states, true=end states
double refVolume;
double warningLimLo; /// limit to display exclamation mark, typically 2x errLimLo
double warningLimHi; /// limit to display exclamation mark, typically 2x errLimHi
bool endStates; /// false=start states, true=end states
double refVolume;
double warningLimLo; /// limit to display exclamation mark, typically 2x errLimLo
double warningLimHi; /// limit to display exclamation mark, typically 2x errLimHi
double refEnergy;
double energyWarningLimLo; /// limit to display exclamation mark, typically 2x energyErrLimLo
double energyWarningLimHi; /// limit to display exclamation mark, typically 2x energyErrLimHi
int TextBoxesCount;
///
@@ -97,11 +104,13 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
/// </summary>
/// <param name="waterMetersCount">Number of water meters</param>
/// <param name="disabled">Information from CycleBeginningForm about availability of water meters</param>
public TestStartEndForm(int waterMetersCount, bool[] disabled)
public TestStartEndForm(EntryFormCfg cfg, int waterMetersCount, bool[] disabled)
: this()
{
endStates = false;
entryFormCfg = cfg;
this.WaterMetersCount = waterMetersCount;
this.disabled = disabled;
@@ -123,21 +132,35 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
/// <param name="refVolume">Reference volume, it is used to verify the end state, show/hide exclamation if necessary</param>
/// <param name="errLimLo">Error limit low, it is used to verify the end state, show/hide exclamation if necessary</param>
/// <param name="errLimHi">Error limit high, it is used to verify the end state, show/hide exclamation if necessary</param>
public TestStartEndForm(int waterMetersCount, string[] wmStartStateStr, bool[] disabled,
double refVolume, double errLimLo, double errLimHi)
public TestStartEndForm(EntryFormCfg cfg, int waterMetersCount, string[] wmStartStateStr, string[] energyStartStateStr,
bool[] disabled, double refVolume, double errLimLo, double errLimHi,
double refEnergy, double energyErrLimLo, double energyErrLimHi)
: this()
{
endStates = true;
entryFormCfg = cfg;
this.WaterMetersCount = waterMetersCount;
if (wmStartStateStr == null || wmStartStateStr.Length != waterMetersCount)
throw (new Exception("Invalid 'wmStartStateStr' argument"));
this.WMStartStateStr = wmStartStateStr;
this.disabled = disabled;
if (energyStartStateStr == null || energyStartStateStr.Length != waterMetersCount)
throw (new Exception("Invalid 'energyStartStateStr' argument"));
this.EnergyStartStateStr = energyStartStateStr;
this.disabled = disabled;
this.refVolume = refVolume;
this.warningLimLo = 2 * errLimLo;
this.warningLimHi = 2 * errLimHi;
this.refEnergy = refEnergy;
this.energyWarningLimLo = 2 * energyErrLimLo;
this.energyWarningLimHi = 2 * energyErrLimHi;
ShuffleTextBoxes();
WMEndState = new float[waterMetersCount];
@@ -177,6 +200,12 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
Localize();
for (Config.Unit units = 0; units < Config.Unit.Count; units++)
{
if (Config.Units.IsEnergy(units)) unitsComboBox.Items.Add(units.ToString());
}
unitsComboBox.Text = entryFormCfg.DefaultUnits.ToString();
//Height = 115 + 90 * WaterMetersCount;
for (int i = 0; i < TextBoxesCount; i++)
@@ -240,7 +269,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
Text = Strings.Water_Meter_States;
for (int i = 0; i < TextBoxesCount; i++)
{
labels[i].Text = string.Format("{0} {1}", Strings.Volume + " ", i + 1);
labels[i].Text = string.Format("{0} {1} [l]", Strings.Volume + " ", i + 1);
energyLabels[i].Text = string.Format("{0} {1}", Strings.Energy + " ", i + 1);
}
startLabel.Text = Strings.Start;
@@ -250,6 +279,16 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
private void okButton_Click(object sender, EventArgs eArgs)
{
Config.Unit units = entryFormCfg.DefaultUnits;
for (Config.Unit u = 0; u < Config.Unit.Count; u++)
{
if (u.ToString() == unitsComboBox.Text)
{
units = u;
break;
}
}
try
{
if (endStates)
@@ -259,7 +298,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
if (endTextBoxes[i].Visible && endTextBoxes[i].Enabled)
{
WMEndState[i] = Utils.ParseUFloat(endTextBoxes[i].Text);
EnergyEndState[i] = Utils.ParseUFloat(energyEndTextBoxes[i].Text);
EnergyEndState[i] = Config.Units.ConvertFrom(units, Utils.ParseUFloat(energyEndTextBoxes[i].Text));
}
}
}
@@ -272,7 +311,7 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
WMStartStateStr[i] = startTextBoxes[i].Text;
WMStartState[i] = Utils.ParseUFloat(startTextBoxes[i].Text);
EnergyStartStateStr[i] = energyStartTextBoxes[i].Text;
EnergyStartState[i] = Utils.ParseUFloat(energyStartTextBoxes[i].Text);
EnergyStartState[i] = Config.Units.ConvertFrom(units, Utils.ParseUFloat(energyStartTextBoxes[i].Text));
}
}
}
@@ -464,10 +503,10 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
float endState = Utils.ParseUFloat(endTextBox13.Text);
float startState = Utils.ParseUFloat(startTextBox13.Text);
err = 100.0 * (endState - startState - refVolume) / refVolume;
err = 100.0 * (endState - startState - refEnergy) / refEnergy;
}
catch { err = 1000.0f; };
exclamation13.Visible = (err < warningLimLo) || (warningLimHi < err);
exclamation13.Visible = (err < energyWarningLimLo) || (energyWarningLimHi < err);
}
private void endTextBox14_TextChanged(object sender, EventArgs e)
{
@@ -476,10 +515,10 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
float endState = Utils.ParseUFloat(endTextBox14.Text);
float startState = Utils.ParseUFloat(startTextBox14.Text);
err = 100.0 * (endState - startState - refVolume) / refVolume;
err = 100.0 * (endState - startState - refEnergy) / refEnergy;
}
catch { err = 1000.0f; };
exclamation14.Visible = (err < warningLimLo) || (warningLimHi < err);
exclamation14.Visible = (err < energyWarningLimLo) || (energyWarningLimHi < err);
}
private void endTextBox15_TextChanged(object sender, EventArgs e)
{
@@ -488,10 +527,10 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
float endState = Utils.ParseUFloat(endTextBox15.Text);
float startState = Utils.ParseUFloat(startTextBox15.Text);
err = 100.0 * (endState - startState - refVolume) / refVolume;
err = 100.0 * (endState - startState - refEnergy) / refEnergy;
}
catch { err = 1000.0f; };
exclamation15.Visible = (err < warningLimLo) || (warningLimHi < err);
exclamation15.Visible = (err < energyWarningLimLo) || (energyWarningLimHi < err);
}
private void endTextBox16_TextChanged(object sender, EventArgs e)
{
@@ -500,10 +539,10 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
float endState = Utils.ParseUFloat(endTextBox16.Text);
float startState = Utils.ParseUFloat(startTextBox16.Text);
err = 100.0 * (endState - startState - refVolume) / refVolume;
err = 100.0 * (endState - startState - refEnergy) / refEnergy;
}
catch { err = 1000.0f; };
exclamation16.Visible = (err < warningLimLo) || (warningLimHi < err);
exclamation16.Visible = (err < energyWarningLimLo) || (energyWarningLimHi < err);
}
private void endTextBox17_TextChanged(object sender, EventArgs e)
{
@@ -512,10 +551,10 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
float endState = Utils.ParseUFloat(endTextBox17.Text);
float startState = Utils.ParseUFloat(startTextBox17.Text);
err = 100.0 * (endState - startState - refVolume) / refVolume;
err = 100.0 * (endState - startState - refEnergy) / refEnergy;
}
catch { err = 1000.0f; };
exclamation17.Visible = (err < warningLimLo) || (warningLimHi < err);
exclamation17.Visible = (err < energyWarningLimLo) || (energyWarningLimHi < err);
}
private void endTextBox18_TextChanged(object sender, EventArgs e)
{
@@ -524,10 +563,10 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
float endState = Utils.ParseUFloat(endTextBox18.Text);
float startState = Utils.ParseUFloat(startTextBox18.Text);
err = 100.0 * (endState - startState - refVolume) / refVolume;
err = 100.0 * (endState - startState - refEnergy) / refEnergy;
}
catch { err = 1000.0f; };
exclamation18.Visible = (err < warningLimLo) || (warningLimHi < err);
exclamation18.Visible = (err < energyWarningLimLo) || (energyWarningLimHi < err);
}
private void endTextBox19_TextChanged(object sender, EventArgs e)
{
@@ -536,10 +575,10 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
float endState = Utils.ParseUFloat(endTextBox19.Text);
float startState = Utils.ParseUFloat(startTextBox19.Text);
err = 100.0 * (endState - startState - refVolume) / refVolume;
err = 100.0 * (endState - startState - refEnergy) / refEnergy;
}
catch { err = 1000.0f; };
exclamation19.Visible = (err < warningLimLo) || (warningLimHi < err);
exclamation19.Visible = (err < energyWarningLimLo) || (energyWarningLimHi < err);
}
private void endTextBox20_TextChanged(object sender, EventArgs e)
{
@@ -548,10 +587,10 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
float endState = Utils.ParseUFloat(endTextBox20.Text);
float startState = Utils.ParseUFloat(startTextBox20.Text);
err = 100.0 * (endState - startState - refVolume) / refVolume;
err = 100.0 * (endState - startState - refEnergy) / refEnergy;
}
catch { err = 1000.0f; };
exclamation20.Visible = (err < warningLimLo) || (warningLimHi < err);
exclamation20.Visible = (err < energyWarningLimLo) || (energyWarningLimHi < err);
}
private void endTextBox21_TextChanged(object sender, EventArgs e)
{
@@ -560,10 +599,10 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
float endState = Utils.ParseUFloat(endTextBox21.Text);
float startState = Utils.ParseUFloat(startTextBox21.Text);
err = 100.0 * (endState - startState - refVolume) / refVolume;
err = 100.0 * (endState - startState - refEnergy) / refEnergy;
}
catch { err = 1000.0f; };
exclamation21.Visible = (err < warningLimLo) || (warningLimHi < err);
exclamation21.Visible = (err < energyWarningLimLo) || (energyWarningLimHi < err);
}
private void endTextBox22_TextChanged(object sender, EventArgs e)
{
@@ -572,10 +611,10 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
float endState = Utils.ParseUFloat(endTextBox22.Text);
float startState = Utils.ParseUFloat(startTextBox22.Text);
err = 100.0 * (endState - startState - refVolume) / refVolume;
err = 100.0 * (endState - startState - refEnergy) / refEnergy;
}
catch { err = 1000.0f; };
exclamation22.Visible = (err < warningLimLo) || (warningLimHi < err);
exclamation22.Visible = (err < energyWarningLimLo) || (energyWarningLimHi < err);
}
private void endTextBox23_TextChanged(object sender, EventArgs e)
{
@@ -584,10 +623,10 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
float endState = Utils.ParseUFloat(endTextBox23.Text);
float startState = Utils.ParseUFloat(startTextBox23.Text);
err = 100.0 * (endState - startState - refVolume) / refVolume;
err = 100.0 * (endState - startState - refEnergy) / refEnergy;
}
catch { err = 1000.0f; };
exclamation23.Visible = (err < warningLimLo) || (warningLimHi < err);
exclamation23.Visible = (err < energyWarningLimLo) || (energyWarningLimHi < err);
}
private void endTextBox24_TextChanged(object sender, EventArgs e)
{
@@ -596,10 +635,10 @@ namespace TBF.BenchControl.DataEntry.HeatMeters12
{
float endState = Utils.ParseUFloat(endTextBox24.Text);
float startState = Utils.ParseUFloat(startTextBox24.Text);
err = 100.0 * (endState - startState - refVolume) / refVolume;
err = 100.0 * (endState - startState - refEnergy) / refEnergy;
}
catch { err = 1000.0f; };
exclamation24.Visible = (err < warningLimLo) || (warningLimHi < err);
exclamation24.Visible = (err < energyWarningLimLo) || (energyWarningLimHi < err);
}
/// <summary>
File diff suppressed because it is too large Load Diff
@@ -14,5 +14,12 @@ namespace TBF.BenchControl.GenericDevices
/// Water meter states at the end of test
/// </summary>
double EnergyEndState(int wmNr);
}
/// <summary>
/// Displays form at the end of the test to enter water meter start start.
/// </summary>
/// <returns>Operation to be used in the sequence</returns>
IOperation ShowTestEndFormOp(double refVolume, double errLimLo, double errLimHi,
double refEnergy, double energyErrLimLo, double energyErrLimHi);
}
}
@@ -518,6 +518,7 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
double massEnd = Formulas.CorrectedValue(EndMass.Val, outPath.Balance.Corrections);
double densityOut = Formulas.WaterDensityFromTemp(TempOutStat.Average); /// [kg/m3]
double volumeCTV = 1001.03 * (massEnd - massStart) / densityOut;
double refEnergy = Energy.Sum * volumeCTV / VolumeForEnergy.Sum; /// [J]=[J]*[l]/[l]
///
/// Enter watermeter end states here
@@ -525,11 +526,20 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
if (dataEntryCmpnt != null)
{
Bridge.OnActivity(this, Strings.Enter_water_meter_data);
State.Create("FixedStartMassCollection : Enter end-state")
.AddOperation(dataEntryCmpnt.ShowTestEndFormOp(volumeCTV, test.ErrLimLo + test.Uncertainty,
test.ErrLimHi - test.Uncertainty))
.AddOperation(checkUiOp)
.EnterState();
State state = State.Create("FixedStartMassCollection : Enter end-state");
if (heatMetersTestParams != null && dataEntryCmpnt is GenericDevices.IHasHeatMtrStatesForm)
{
state.AddOperation((dataEntryCmpnt as GenericDevices.IHasHeatMtrStatesForm).
ShowTestEndFormOp(volumeCTV, test.ErrLimLo + test.Uncertainty, test.ErrLimHi - test.Uncertainty,
refEnergy, test.ErrLimLo + test.Uncertainty, test.ErrLimHi - test.Uncertainty));
}
else
{
state.AddOperation(dataEntryCmpnt.ShowTestEndFormOp(volumeCTV, test.ErrLimLo + test.Uncertainty,
test.ErrLimHi - test.Uncertainty));
}
state.AddOperation(checkUiOp);
state.EnterState();
do
{
e = StateMachine.WaitRunDevsRunOps();
+18
View File
@@ -861,6 +861,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Default units.
/// </summary>
internal static string Default_units {
get {
return ResourceManager.GetString("Default_units", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Density.
/// </summary>
@@ -1536,6 +1545,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Invalid {0}.
/// </summary>
internal static string Invalid_0 {
get {
return ResourceManager.GetString("Invalid_0", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to At least one of Buoyancy parameters is invalid,\r\ncorrect it please..
/// </summary>
@@ -1543,4 +1543,10 @@
<data name="Volume" xml:space="preserve">
<value>Volume</value>
</data>
<data name="Default_units" xml:space="preserve">
<value>Default units</value>
</data>
<data name="Invalid_0" xml:space="preserve">
<value>Invalid {0}</value>
</data>
</root>