WaitTankContainsMoreThenOp, related Various.TankWithLevelMsrmnt and TankDraining changes, ver. 2.18.1064
This commit is contained in:
parent
7d1d95305f
commit
3ffdf4e2cc
@ -31,7 +31,7 @@ namespace TBF.BenchControl.Dummy.Balance
|
|||||||
public double Capacity { get { return 10000.0; } }
|
public double Capacity { get { return 10000.0; } }
|
||||||
public IValve DrainValve { get { return null; } }
|
public IValve DrainValve { get { return null; } }
|
||||||
public IValve DrainValve2 { get { return null; } }
|
public IValve DrainValve2 { get { return null; } }
|
||||||
public bool IsEmpty(double mass) { return true; }
|
public bool ContainsMoreThen(float thld) { return (thld == 0); }
|
||||||
public bool IsEmpty() { return true; }
|
public bool IsEmpty() { return true; }
|
||||||
public string Format { get { return "F3"; } }
|
public string Format { get { return "F3"; } }
|
||||||
public int EmptyTimeSec { get { return 5; } }
|
public int EmptyTimeSec { get { return 5; } }
|
||||||
|
|||||||
@ -29,10 +29,15 @@ namespace TBF.BenchControl.GenericDevices
|
|||||||
IValve DrainValve2 { get; }
|
IValve DrainValve2 { get; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Returns true if tank s empty, the last measured mass is less then some threshold
|
/// Returns true if tank is empty, the last measured mass is less then some threshold
|
||||||
/// </summary>
|
/// </summary>
|
||||||
bool IsEmpty();
|
bool IsEmpty();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns true if tank contains more then 'thld' kg or l of water
|
||||||
|
/// </summary>
|
||||||
|
bool ContainsMoreThen(float thld);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Format string to be used as ToString() argument (e.g. "F3" to obtain resolution 1g)
|
/// Format string to be used as ToString() argument (e.g. "F3" to obtain resolution 1g)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -12,5 +12,6 @@ namespace TBF.BenchControl.GenericDevices
|
|||||||
{
|
{
|
||||||
IValve DrainValve { get; }
|
IValve DrainValve { get; }
|
||||||
bool IsEmpty();
|
bool IsEmpty();
|
||||||
|
bool ContainsMoreThen(float thld);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -124,11 +124,16 @@ namespace TBF.BenchControl.MettlerToledo.Multi
|
|||||||
log.FatalFormat("Successfully initialized device {0}", ToString());
|
log.FatalFormat("Successfully initialized device {0}", ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsEmpty()
|
public override bool IsEmpty()
|
||||||
{
|
{
|
||||||
return (Mass <= balanceCfg.Empty);
|
return (Mass <= balanceCfg.Empty);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override bool ContainsMoreThen(float thld)
|
||||||
|
{
|
||||||
|
return (Mass >= thld);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Get a stable mass measurement
|
/// Get a stable mass measurement
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -128,6 +128,11 @@ namespace TBF.BenchControl.MettlerToledo.Standard
|
|||||||
return DrainValve.State ? (mass <= balanceCfg.Empty) : (mass <= balanceCfg.EmptyUp);
|
return DrainValve.State ? (mass <= balanceCfg.Empty) : (mass <= balanceCfg.EmptyUp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override bool ContainsMoreThen(float thld)
|
||||||
|
{
|
||||||
|
return (mass >= thld);
|
||||||
|
}
|
||||||
|
|
||||||
public void ZeroWhenStable()
|
public void ZeroWhenStable()
|
||||||
{
|
{
|
||||||
if (balanceCfg.DebugLevel == DebugMode.Simulate) return;
|
if (balanceCfg.DebugLevel == DebugMode.Simulate) return;
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
///
|
///
|
||||||
/// Copyright (c) 2017 Sensus Metering Systems
|
/// Copyright (c) 2017-2018 Sensus Metering Systems
|
||||||
///
|
///
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@ -29,13 +29,18 @@ namespace TBF.BenchControl.MettlerToledo
|
|||||||
|
|
||||||
readonly GenericDevices.ITankDrainingCfg tankDrainingCfg;
|
readonly GenericDevices.ITankDrainingCfg tankDrainingCfg;
|
||||||
|
|
||||||
private IValve drainValve;
|
bool hasDrainValve { get { return !string.IsNullOrEmpty(tankDrainingCfg.DrainValve); } } /// Available in UI (unlike 'drainValve')
|
||||||
|
|
||||||
|
IValve drainValve;
|
||||||
public GenericDevices.IValve DrainValve { get { return drainValve; } }
|
public GenericDevices.IValve DrainValve { get { return drainValve; } }
|
||||||
|
|
||||||
private IOperation openTheDrainValveOp;
|
IOperation openTheDrainValveOp;
|
||||||
private IOperation closeTheDrainValveOp;
|
IOperation closeTheDrainValveOp;
|
||||||
private IOperation waitTankEmptyOp;
|
IOperation waitTankIsEmptyOp;
|
||||||
|
IOperation waitTankContainsMoreThenThld1Op;
|
||||||
|
IOperation waitTankContainsMoreThenThld2Op;
|
||||||
|
IOperation waitTankContainsMoreThenThld3Op;
|
||||||
|
IOperation waitTankContainsMoreThenThld4Op;
|
||||||
|
|
||||||
DrainState drainState;
|
DrainState drainState;
|
||||||
|
|
||||||
@ -45,8 +50,12 @@ namespace TBF.BenchControl.MettlerToledo
|
|||||||
{
|
{
|
||||||
openTheDrainValveOp = null;
|
openTheDrainValveOp = null;
|
||||||
closeTheDrainValveOp = null;
|
closeTheDrainValveOp = null;
|
||||||
waitTankEmptyOp = null;
|
waitTankIsEmptyOp = null;
|
||||||
}
|
waitTankContainsMoreThenThld1Op = null;
|
||||||
|
waitTankContainsMoreThenThld2Op = null;
|
||||||
|
waitTankContainsMoreThenThld3Op = null;
|
||||||
|
waitTankContainsMoreThenThld4Op = null;
|
||||||
|
}
|
||||||
|
|
||||||
public TankDraining(Generic.IComponentCfg cfg)
|
public TankDraining(Generic.IComponentCfg cfg)
|
||||||
: base(cfg)
|
: base(cfg)
|
||||||
@ -56,8 +65,12 @@ namespace TBF.BenchControl.MettlerToledo
|
|||||||
|
|
||||||
openTheDrainValveOp = null;
|
openTheDrainValveOp = null;
|
||||||
closeTheDrainValveOp = null;
|
closeTheDrainValveOp = null;
|
||||||
waitTankEmptyOp = null;
|
waitTankIsEmptyOp = null;
|
||||||
}
|
waitTankContainsMoreThenThld1Op = null;
|
||||||
|
waitTankContainsMoreThenThld2Op = null;
|
||||||
|
waitTankContainsMoreThenThld3Op = null;
|
||||||
|
waitTankContainsMoreThenThld4Op = null;
|
||||||
|
}
|
||||||
|
|
||||||
protected void Initalize()
|
protected void Initalize()
|
||||||
{
|
{
|
||||||
@ -65,8 +78,17 @@ namespace TBF.BenchControl.MettlerToledo
|
|||||||
|
|
||||||
openTheDrainValveOp = new Elde.SetValvesOp(StateMachine.ControlBoard, drainValve, null);
|
openTheDrainValveOp = new Elde.SetValvesOp(StateMachine.ControlBoard, drainValve, null);
|
||||||
closeTheDrainValveOp = new Elde.SetValvesOp(StateMachine.ControlBoard, null, drainValve);
|
closeTheDrainValveOp = new Elde.SetValvesOp(StateMachine.ControlBoard, null, drainValve);
|
||||||
waitTankEmptyOp = new WaitTankEmptyOp(this);
|
waitTankIsEmptyOp = new WaitTankEmptyOp(this);
|
||||||
}
|
|
||||||
|
Various.TankWithLevelMsrmnt.TankCfg tankCfg = tankDrainingCfg as Various.TankWithLevelMsrmnt.TankCfg;
|
||||||
|
if (tankCfg != null)
|
||||||
|
{
|
||||||
|
waitTankContainsMoreThenThld1Op = new WaitTankContainsMoreThenOp(this, tankCfg.ThldLevel1);
|
||||||
|
waitTankContainsMoreThenThld2Op = new WaitTankContainsMoreThenOp(this, tankCfg.ThldLevel2);
|
||||||
|
waitTankContainsMoreThenThld3Op = new WaitTankContainsMoreThenOp(this, tankCfg.ThldLevel3);
|
||||||
|
waitTankContainsMoreThenThld4Op = new WaitTankContainsMoreThenOp(this, tankCfg.ThldLevel4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
protected void RunBefore()
|
protected void RunBefore()
|
||||||
{
|
{
|
||||||
@ -112,33 +134,65 @@ namespace TBF.BenchControl.MettlerToledo
|
|||||||
|
|
||||||
public virtual string GetName() { return string.Empty; }
|
public virtual string GetName() { return string.Empty; }
|
||||||
public virtual bool IsEmpty() { return false; }
|
public virtual bool IsEmpty() { return false; }
|
||||||
|
public virtual bool ContainsMoreThen(float thld) { return thld == 0; }
|
||||||
|
|
||||||
|
|
||||||
|
public int ConditionsCount
|
||||||
public int ConditionsCount { get { return 3; } }
|
{
|
||||||
|
get { return hasDrainValve ? 3 : ((tankDrainingCfg is Various.TankWithLevelMsrmnt.TankCfg) ? 4 : 0); }
|
||||||
|
}
|
||||||
|
|
||||||
/// Strings are added to the combo-box for transition sequence condition selection
|
/// Strings are added to the combo-box for transition sequence condition selection
|
||||||
public string ConditionName(int i)
|
public string ConditionName(int i)
|
||||||
{
|
{
|
||||||
switch (i)
|
if (hasDrainValve)
|
||||||
{
|
{
|
||||||
case 0: return string.Format(Strings._0_open_the_drain_valve, Name);
|
switch (i)
|
||||||
case 1: return string.Format(Strings._0_close_the_drain_valve, Name);
|
{
|
||||||
case 2: return string.Format(Strings._0_wait_until_the_tank_is_empty, Name);
|
case 0: return string.Format(Strings._0_open_the_drain_valve, Name);
|
||||||
default: return string.Empty;
|
case 1: return string.Format(Strings._0_close_the_drain_valve, Name);
|
||||||
}
|
case 2: return string.Format(Strings._0_wait_until_the_tank_is_empty, Name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (tankDrainingCfg is Various.TankWithLevelMsrmnt.TankCfg)
|
||||||
|
{
|
||||||
|
var tankCfg = tankDrainingCfg as Various.TankWithLevelMsrmnt.TankCfg;
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 0: return string.Format(Strings._0_wait_until_tank_contains_more_then_1_l, Name, tankCfg.ThldLevel1);
|
||||||
|
case 1: return string.Format(Strings._0_wait_until_tank_contains_more_then_1_l, Name, tankCfg.ThldLevel2);
|
||||||
|
case 2: return string.Format(Strings._0_wait_until_tank_contains_more_then_1_l, Name, tankCfg.ThldLevel3);
|
||||||
|
case 3: return string.Format(Strings._0_wait_until_tank_contains_more_then_1_l, Name, tankCfg.ThldLevel4);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return string.Empty; // Default
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Operation to be executed as a part of a transition sequence
|
/// Operation to be executed as a part of a transition sequence
|
||||||
public IOperation ConditionOp(int i)
|
public IOperation ConditionOp(int i)
|
||||||
{
|
{
|
||||||
switch (i)
|
if (hasDrainValve)
|
||||||
{
|
{
|
||||||
case 0: return openTheDrainValveOp;
|
switch (i)
|
||||||
case 1: return closeTheDrainValveOp;
|
{
|
||||||
case 2: return waitTankEmptyOp;
|
case 0: return openTheDrainValveOp;
|
||||||
default: return null;
|
case 1: return closeTheDrainValveOp;
|
||||||
}
|
case 2: return waitTankIsEmptyOp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (tankDrainingCfg is Various.TankWithLevelMsrmnt.TankCfg)
|
||||||
|
{
|
||||||
|
switch (i)
|
||||||
|
{
|
||||||
|
case 0: return waitTankContainsMoreThenThld1Op;
|
||||||
|
case 1: return waitTankContainsMoreThenThld2Op;
|
||||||
|
case 2: return waitTankContainsMoreThenThld3Op;
|
||||||
|
case 3: return waitTankContainsMoreThenThld4Op;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null; /// Default
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
51
TBF/BenchControl/MettlerToledo/WaitTankContainsMoreThenOp.cs
Normal file
51
TBF/BenchControl/MettlerToledo/WaitTankContainsMoreThenOp.cs
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
///
|
||||||
|
/// Copyright (c) 2018 Sensus Metering Systems
|
||||||
|
///
|
||||||
|
using log4net;
|
||||||
|
|
||||||
|
namespace TBF.BenchControl.MettlerToledo
|
||||||
|
{
|
||||||
|
public class WaitTankContainsMoreThenOp : IOperation
|
||||||
|
{
|
||||||
|
private static readonly ILog log = LogManager.GetLogger(typeof(WaitTankContainsMoreThenOp));
|
||||||
|
public override string ToString() { return string.Format("WaitTankFullOp()"); }
|
||||||
|
|
||||||
|
readonly GenericDevices.ITankDraining tankDraining;
|
||||||
|
float threshodLevel;
|
||||||
|
bool conditionMet;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Events: ConditionMet, ConditionNotMet
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="tankDraining">Tank draining (Balance device) instance</param>
|
||||||
|
public WaitTankContainsMoreThenOp(GenericDevices.ITankDraining tankDraining, float thresholdLevel)
|
||||||
|
{
|
||||||
|
this.tankDraining = tankDraining;
|
||||||
|
this.threshodLevel = thresholdLevel;
|
||||||
|
log.Debug(this.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Start this operation</summary>
|
||||||
|
public void Start()
|
||||||
|
{
|
||||||
|
conditionMet = tankDraining.ContainsMoreThen(threshodLevel);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Run this operation</summary>
|
||||||
|
/// <returns>
|
||||||
|
/// Event.ConditionMet . . . tank is empty
|
||||||
|
/// Event.ConditionNotMet . tank is not empty
|
||||||
|
/// </returns>
|
||||||
|
public Event Run()
|
||||||
|
{
|
||||||
|
conditionMet = conditionMet || tankDraining.ContainsMoreThen(threshodLevel);
|
||||||
|
|
||||||
|
return conditionMet ? Event.ConditionMet : Event.ConditionNotMet;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>Stop this operation</summary>
|
||||||
|
public void Stop()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -127,6 +127,11 @@ namespace TBF.BenchControl.Various.TankWithLevelMsrmnt
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override bool ContainsMoreThen(float thld)
|
||||||
|
{
|
||||||
|
return (Volume >= thld);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Loads a calibration table in CSV format (column1 = height[mm], column2 = volume[l]).
|
/// Loads a calibration table in CSV format (column1 = height[mm], column2 = volume[l]).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -34,7 +34,11 @@ namespace TBF.BenchControl.Various.TankWithLevelMsrmnt
|
|||||||
|
|
||||||
public string DrainValve2;
|
public string DrainValve2;
|
||||||
public string LevelMeasurement; /// Name of a level measurement component, 'Various.ManualLevelMsrmnt' is used when left empty.
|
public string LevelMeasurement; /// Name of a level measurement component, 'Various.ManualLevelMsrmnt' is used when left empty.
|
||||||
public string CalibrationTable; /// Path name of a calibration table in CSV format (column1 = height[mm], column2 = volume[l])
|
public float ThldLevel1; /// Threshold level 1 (used by WaitTankContainsMoreThenOp) in l or kg
|
||||||
|
public float ThldLevel2; /// Threshold level 2 - ' ' -
|
||||||
|
public float ThldLevel3; /// Threshold level 3 - ' ' -
|
||||||
|
public float ThldLevel4; /// Threshold level 4 - ' ' -
|
||||||
|
public string CalibrationTable; /// Path name of a calibration table in CSV format (column1 = height[mm], column2 = volume[l])
|
||||||
/// Volume calculation using formulas for std. tanks in Level2Volume() is used when left empty.
|
/// Volume calculation using formulas for std. tanks in Level2Volume() is used when left empty.
|
||||||
|
|
||||||
/// Private parameterless constructor invoked by all other (public) constructors
|
/// Private parameterless constructor invoked by all other (public) constructors
|
||||||
|
|||||||
@ -81,7 +81,11 @@ namespace TBF.BenchControl.Various.TankWithLevelMsrmnt
|
|||||||
drainValve2ComboBox.Text = string.IsNullOrEmpty(config.DrainValve2) ? "---" : config.DrainValve2;
|
drainValve2ComboBox.Text = string.IsNullOrEmpty(config.DrainValve2) ? "---" : config.DrainValve2;
|
||||||
drainTimeTextBox.Text = config.DrainTimeSec.ToString();
|
drainTimeTextBox.Text = config.DrainTimeSec.ToString();
|
||||||
levelMeasurementComboBox.Text = string.IsNullOrEmpty(config.LevelMeasurement) ? "---" : config.LevelMeasurement;
|
levelMeasurementComboBox.Text = string.IsNullOrEmpty(config.LevelMeasurement) ? "---" : config.LevelMeasurement;
|
||||||
calibrationTableTextBox.Text = config.CalibrationTable;
|
thresholdLevel1TextBox.Text = config.ThldLevel1.ToString();
|
||||||
|
thresholdLevel2TextBox.Text = config.ThldLevel2.ToString();
|
||||||
|
thresholdLevel3TextBox.Text = config.ThldLevel3.ToString();
|
||||||
|
thresholdLevel4TextBox.Text = config.ThldLevel4.ToString();
|
||||||
|
calibrationTableTextBox.Text = config.CalibrationTable;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Unlock()
|
public void Unlock()
|
||||||
@ -93,7 +97,11 @@ namespace TBF.BenchControl.Various.TankWithLevelMsrmnt
|
|||||||
drainValve2ComboBox.Enabled = true;
|
drainValve2ComboBox.Enabled = true;
|
||||||
drainTimeTextBox.Enabled = true;
|
drainTimeTextBox.Enabled = true;
|
||||||
levelMeasurementComboBox.Enabled = true;
|
levelMeasurementComboBox.Enabled = true;
|
||||||
calibrationTableTextBox.Enabled = true;
|
thresholdLevel1TextBox.Enabled = true;
|
||||||
|
thresholdLevel2TextBox.Enabled = true;
|
||||||
|
thresholdLevel3TextBox.Enabled = true;
|
||||||
|
thresholdLevel4TextBox.Enabled = true;
|
||||||
|
calibrationTableTextBox.Enabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public CfgUpdateFlags VerifyCfg(ref string message)
|
public CfgUpdateFlags VerifyCfg(ref string message)
|
||||||
@ -101,13 +109,13 @@ namespace TBF.BenchControl.Various.TankWithLevelMsrmnt
|
|||||||
CfgUpdateFlags flags = CfgUpdateFlags.None;
|
CfgUpdateFlags flags = CfgUpdateFlags.None;
|
||||||
|
|
||||||
int dummy;
|
int dummy;
|
||||||
float mass;
|
float ftmp;
|
||||||
if (!Utils.TryParseUFloat(capacityTextBox.Text, out mass) || mass <= 0)
|
if (!Utils.TryParseUFloat(capacityTextBox.Text, out ftmp) || ftmp <= 0)
|
||||||
{
|
{
|
||||||
flags |= CfgUpdateFlags.Error;
|
flags |= CfgUpdateFlags.Error;
|
||||||
message += Environment.NewLine + "'Tank Capacity' is not valid";
|
message += Environment.NewLine + "'Tank Capacity' is not valid";
|
||||||
}
|
}
|
||||||
if (!Utils.TryParseUFloat(emptyTextBox.Text, out mass) || mass <= 0)
|
if (!Utils.TryParseUFloat(emptyTextBox.Text, out ftmp) || ftmp <= 0)
|
||||||
{
|
{
|
||||||
flags |= CfgUpdateFlags.Error;
|
flags |= CfgUpdateFlags.Error;
|
||||||
message += Environment.NewLine + "'Tank Empty' is not valid";
|
message += Environment.NewLine + "'Tank Empty' is not valid";
|
||||||
@ -132,6 +140,26 @@ namespace TBF.BenchControl.Various.TankWithLevelMsrmnt
|
|||||||
flags |= CfgUpdateFlags.Error;
|
flags |= CfgUpdateFlags.Error;
|
||||||
message += Environment.NewLine + string.Format(Strings.Invalid_0, levelMeasurementLabel.Text);
|
message += Environment.NewLine + string.Format(Strings.Invalid_0, levelMeasurementLabel.Text);
|
||||||
}
|
}
|
||||||
|
if (!Utils.TryParseUFloat(thresholdLevel1TextBox.Text, out ftmp) || ftmp <= 0)
|
||||||
|
{
|
||||||
|
flags |= CfgUpdateFlags.Error;
|
||||||
|
message += Environment.NewLine + "'Threshold level 1' is not valid";
|
||||||
|
}
|
||||||
|
if (!Utils.TryParseUFloat(thresholdLevel2TextBox.Text, out ftmp) || ftmp <= 0)
|
||||||
|
{
|
||||||
|
flags |= CfgUpdateFlags.Error;
|
||||||
|
message += Environment.NewLine + "'Threshold level 2' is not valid";
|
||||||
|
}
|
||||||
|
if (!Utils.TryParseUFloat(thresholdLevel3TextBox.Text, out ftmp) || ftmp <= 0)
|
||||||
|
{
|
||||||
|
flags |= CfgUpdateFlags.Error;
|
||||||
|
message += Environment.NewLine + "'Threshold level 3' is not valid";
|
||||||
|
}
|
||||||
|
if (!Utils.TryParseUFloat(thresholdLevel4TextBox.Text, out ftmp) || ftmp <= 0)
|
||||||
|
{
|
||||||
|
flags |= CfgUpdateFlags.Error;
|
||||||
|
message += Environment.NewLine + "'Threshold level 4' is not valid";
|
||||||
|
}
|
||||||
|
|
||||||
return flags;
|
return flags;
|
||||||
}
|
}
|
||||||
@ -149,7 +177,11 @@ namespace TBF.BenchControl.Various.TankWithLevelMsrmnt
|
|||||||
config.DrainValve = drainValveComboBox.Text.Equals("---") ? string.Empty : drainValveComboBox.Text;
|
config.DrainValve = drainValveComboBox.Text.Equals("---") ? string.Empty : drainValveComboBox.Text;
|
||||||
config.DrainValve2 = drainValve2ComboBox.Text.Equals("---") ? string.Empty : drainValve2ComboBox.Text;
|
config.DrainValve2 = drainValve2ComboBox.Text.Equals("---") ? string.Empty : drainValve2ComboBox.Text;
|
||||||
config.LevelMeasurement = levelMeasurementComboBox.Text.Equals("---") ? string.Empty : levelMeasurementComboBox.Text;
|
config.LevelMeasurement = levelMeasurementComboBox.Text.Equals("---") ? string.Empty : levelMeasurementComboBox.Text;
|
||||||
config.CalibrationTable = calibrationTableTextBox.Text;
|
config.ThldLevel1 = Utils.ParseUFloat(thresholdLevel1TextBox.Text);
|
||||||
|
config.ThldLevel2 = Utils.ParseUFloat(thresholdLevel2TextBox.Text);
|
||||||
|
config.ThldLevel3 = Utils.ParseUFloat(thresholdLevel3TextBox.Text);
|
||||||
|
config.ThldLevel4 = Utils.ParseUFloat(thresholdLevel4TextBox.Text);
|
||||||
|
config.CalibrationTable = calibrationTableTextBox.Text;
|
||||||
|
|
||||||
return flags;
|
return flags;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,232 +31,294 @@ namespace TBF.BenchControl.Various.TankWithLevelMsrmnt
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
this.nameTextBox = new System.Windows.Forms.TextBox();
|
this.nameTextBox = new System.Windows.Forms.TextBox();
|
||||||
this.nameLabel = new System.Windows.Forms.Label();
|
this.nameLabel = new System.Windows.Forms.Label();
|
||||||
this.classNameLabel = new System.Windows.Forms.Label();
|
this.classNameLabel = new System.Windows.Forms.Label();
|
||||||
this.capacityLabel = new System.Windows.Forms.Label();
|
this.capacityLabel = new System.Windows.Forms.Label();
|
||||||
this.capacityTextBox = new System.Windows.Forms.TextBox();
|
this.capacityTextBox = new System.Windows.Forms.TextBox();
|
||||||
this.label2 = new System.Windows.Forms.Label();
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
this.label3 = new System.Windows.Forms.Label();
|
this.label3 = new System.Windows.Forms.Label();
|
||||||
this.emptyTextBox = new System.Windows.Forms.TextBox();
|
this.emptyTextBox = new System.Windows.Forms.TextBox();
|
||||||
this.emptyLabel = new System.Windows.Forms.Label();
|
this.emptyLabel = new System.Windows.Forms.Label();
|
||||||
this.label4 = new System.Windows.Forms.Label();
|
this.label4 = new System.Windows.Forms.Label();
|
||||||
this.drainTimeTextBox = new System.Windows.Forms.TextBox();
|
this.drainTimeTextBox = new System.Windows.Forms.TextBox();
|
||||||
this.label5 = new System.Windows.Forms.Label();
|
this.label5 = new System.Windows.Forms.Label();
|
||||||
this.drainValveComboBox = new System.Windows.Forms.ComboBox();
|
this.drainValveComboBox = new System.Windows.Forms.ComboBox();
|
||||||
this.drainValveLabel = new System.Windows.Forms.Label();
|
this.drainValveLabel = new System.Windows.Forms.Label();
|
||||||
this.levelMeasurementComboBox = new System.Windows.Forms.ComboBox();
|
this.levelMeasurementComboBox = new System.Windows.Forms.ComboBox();
|
||||||
this.levelMeasurementLabel = new System.Windows.Forms.Label();
|
this.levelMeasurementLabel = new System.Windows.Forms.Label();
|
||||||
this.calibrationTableTextBox = new System.Windows.Forms.TextBox();
|
this.calibrationTableTextBox = new System.Windows.Forms.TextBox();
|
||||||
this.calibrationTableLabel = new System.Windows.Forms.Label();
|
this.calibrationTableLabel = new System.Windows.Forms.Label();
|
||||||
this.drainValve2ComboBox = new System.Windows.Forms.ComboBox();
|
this.drainValve2ComboBox = new System.Windows.Forms.ComboBox();
|
||||||
this.drainValve2Label = new System.Windows.Forms.Label();
|
this.drainValve2Label = new System.Windows.Forms.Label();
|
||||||
this.SuspendLayout();
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
//
|
this.thresholdLevel1TextBox = new System.Windows.Forms.TextBox();
|
||||||
// nameTextBox
|
this.thresholdLevelsLabel = new System.Windows.Forms.Label();
|
||||||
//
|
this.thresholdLevel2TextBox = new System.Windows.Forms.TextBox();
|
||||||
this.nameTextBox.Enabled = false;
|
this.thresholdLevel3TextBox = new System.Windows.Forms.TextBox();
|
||||||
this.nameTextBox.Location = new System.Drawing.Point(127, 31);
|
this.thresholdLevel4TextBox = new System.Windows.Forms.TextBox();
|
||||||
this.nameTextBox.Name = "nameTextBox";
|
this.SuspendLayout();
|
||||||
this.nameTextBox.Size = new System.Drawing.Size(142, 20);
|
//
|
||||||
this.nameTextBox.TabIndex = 2;
|
// nameTextBox
|
||||||
//
|
//
|
||||||
// nameLabel
|
this.nameTextBox.Enabled = false;
|
||||||
//
|
this.nameTextBox.Location = new System.Drawing.Point(127, 33);
|
||||||
this.nameLabel.AutoSize = true;
|
this.nameTextBox.Name = "nameTextBox";
|
||||||
this.nameLabel.Location = new System.Drawing.Point(16, 34);
|
this.nameTextBox.Size = new System.Drawing.Size(142, 20);
|
||||||
this.nameLabel.Name = "nameLabel";
|
this.nameTextBox.TabIndex = 2;
|
||||||
this.nameLabel.Size = new System.Drawing.Size(35, 13);
|
//
|
||||||
this.nameLabel.TabIndex = 1;
|
// nameLabel
|
||||||
this.nameLabel.Text = "Name";
|
//
|
||||||
//
|
this.nameLabel.AutoSize = true;
|
||||||
// classNameLabel
|
this.nameLabel.Location = new System.Drawing.Point(16, 36);
|
||||||
//
|
this.nameLabel.Name = "nameLabel";
|
||||||
this.classNameLabel.AutoSize = true;
|
this.nameLabel.Size = new System.Drawing.Size(35, 13);
|
||||||
this.classNameLabel.Location = new System.Drawing.Point(124, 12);
|
this.nameLabel.TabIndex = 1;
|
||||||
this.classNameLabel.Name = "classNameLabel";
|
this.nameLabel.Text = "Name";
|
||||||
this.classNameLabel.Size = new System.Drawing.Size(89, 13);
|
//
|
||||||
this.classNameLabel.TabIndex = 0;
|
// classNameLabel
|
||||||
this.classNameLabel.Text = "ComponentName";
|
//
|
||||||
//
|
this.classNameLabel.AutoSize = true;
|
||||||
// capacityLabel
|
this.classNameLabel.Location = new System.Drawing.Point(124, 14);
|
||||||
//
|
this.classNameLabel.Name = "classNameLabel";
|
||||||
this.capacityLabel.AutoSize = true;
|
this.classNameLabel.Size = new System.Drawing.Size(89, 13);
|
||||||
this.capacityLabel.Location = new System.Drawing.Point(16, 63);
|
this.classNameLabel.TabIndex = 0;
|
||||||
this.capacityLabel.Name = "capacityLabel";
|
this.classNameLabel.Text = "ComponentName";
|
||||||
this.capacityLabel.Size = new System.Drawing.Size(75, 13);
|
//
|
||||||
this.capacityLabel.TabIndex = 5;
|
// capacityLabel
|
||||||
this.capacityLabel.Text = "Tank capacity";
|
//
|
||||||
//
|
this.capacityLabel.AutoSize = true;
|
||||||
// capacityTextBox
|
this.capacityLabel.Location = new System.Drawing.Point(16, 58);
|
||||||
//
|
this.capacityLabel.Name = "capacityLabel";
|
||||||
this.capacityTextBox.Enabled = false;
|
this.capacityLabel.Size = new System.Drawing.Size(75, 13);
|
||||||
this.capacityTextBox.Location = new System.Drawing.Point(127, 60);
|
this.capacityLabel.TabIndex = 3;
|
||||||
this.capacityTextBox.Name = "capacityTextBox";
|
this.capacityLabel.Text = "Tank capacity";
|
||||||
this.capacityTextBox.Size = new System.Drawing.Size(43, 20);
|
//
|
||||||
this.capacityTextBox.TabIndex = 6;
|
// capacityTextBox
|
||||||
//
|
//
|
||||||
// label2
|
this.capacityTextBox.Enabled = false;
|
||||||
//
|
this.capacityTextBox.Location = new System.Drawing.Point(127, 55);
|
||||||
this.label2.AutoSize = true;
|
this.capacityTextBox.Name = "capacityTextBox";
|
||||||
this.label2.Location = new System.Drawing.Point(173, 63);
|
this.capacityTextBox.Size = new System.Drawing.Size(43, 20);
|
||||||
this.label2.Name = "label2";
|
this.capacityTextBox.TabIndex = 4;
|
||||||
this.label2.Size = new System.Drawing.Size(23, 13);
|
//
|
||||||
this.label2.TabIndex = 7;
|
// label2
|
||||||
this.label2.Text = "liter";
|
//
|
||||||
//
|
this.label2.AutoSize = true;
|
||||||
// label3
|
this.label2.Location = new System.Drawing.Point(173, 58);
|
||||||
//
|
this.label2.Name = "label2";
|
||||||
this.label3.AutoSize = true;
|
this.label2.Size = new System.Drawing.Size(23, 13);
|
||||||
this.label3.Location = new System.Drawing.Point(173, 85);
|
this.label2.TabIndex = 5;
|
||||||
this.label3.Name = "label3";
|
this.label2.Text = "liter";
|
||||||
this.label3.Size = new System.Drawing.Size(23, 13);
|
//
|
||||||
this.label3.TabIndex = 10;
|
// label3
|
||||||
this.label3.Text = "liter";
|
//
|
||||||
//
|
this.label3.AutoSize = true;
|
||||||
// emptyTextBox
|
this.label3.Location = new System.Drawing.Point(173, 80);
|
||||||
//
|
this.label3.Name = "label3";
|
||||||
this.emptyTextBox.Enabled = false;
|
this.label3.Size = new System.Drawing.Size(23, 13);
|
||||||
this.emptyTextBox.Location = new System.Drawing.Point(127, 82);
|
this.label3.TabIndex = 8;
|
||||||
this.emptyTextBox.Name = "emptyTextBox";
|
this.label3.Text = "liter";
|
||||||
this.emptyTextBox.Size = new System.Drawing.Size(43, 20);
|
//
|
||||||
this.emptyTextBox.TabIndex = 9;
|
// emptyTextBox
|
||||||
//
|
//
|
||||||
// emptyLabel
|
this.emptyTextBox.Enabled = false;
|
||||||
//
|
this.emptyTextBox.Location = new System.Drawing.Point(127, 77);
|
||||||
this.emptyLabel.AutoSize = true;
|
this.emptyTextBox.Name = "emptyTextBox";
|
||||||
this.emptyLabel.Location = new System.Drawing.Point(16, 85);
|
this.emptyTextBox.Size = new System.Drawing.Size(43, 20);
|
||||||
this.emptyLabel.Name = "emptyLabel";
|
this.emptyTextBox.TabIndex = 7;
|
||||||
this.emptyLabel.Size = new System.Drawing.Size(109, 13);
|
//
|
||||||
this.emptyLabel.TabIndex = 8;
|
// emptyLabel
|
||||||
this.emptyLabel.Text = "Tank empty threshold";
|
//
|
||||||
//
|
this.emptyLabel.AutoSize = true;
|
||||||
// label4
|
this.emptyLabel.Location = new System.Drawing.Point(16, 80);
|
||||||
//
|
this.emptyLabel.Name = "emptyLabel";
|
||||||
this.label4.AutoSize = true;
|
this.emptyLabel.Size = new System.Drawing.Size(109, 13);
|
||||||
this.label4.Location = new System.Drawing.Point(176, 153);
|
this.emptyLabel.TabIndex = 6;
|
||||||
this.label4.Name = "label4";
|
this.emptyLabel.Text = "Tank empty threshold";
|
||||||
this.label4.Size = new System.Drawing.Size(24, 13);
|
//
|
||||||
this.label4.TabIndex = 17;
|
// label4
|
||||||
this.label4.Text = "sec";
|
//
|
||||||
//
|
this.label4.AutoSize = true;
|
||||||
// drainTimeTextBox
|
this.label4.Location = new System.Drawing.Point(176, 148);
|
||||||
//
|
this.label4.Name = "label4";
|
||||||
this.drainTimeTextBox.Enabled = false;
|
this.label4.Size = new System.Drawing.Size(24, 13);
|
||||||
this.drainTimeTextBox.Location = new System.Drawing.Point(127, 150);
|
this.label4.TabIndex = 15;
|
||||||
this.drainTimeTextBox.Name = "drainTimeTextBox";
|
this.label4.Text = "sec";
|
||||||
this.drainTimeTextBox.Size = new System.Drawing.Size(43, 20);
|
//
|
||||||
this.drainTimeTextBox.TabIndex = 16;
|
// drainTimeTextBox
|
||||||
//
|
//
|
||||||
// label5
|
this.drainTimeTextBox.Enabled = false;
|
||||||
//
|
this.drainTimeTextBox.Location = new System.Drawing.Point(127, 145);
|
||||||
this.label5.AutoSize = true;
|
this.drainTimeTextBox.Name = "drainTimeTextBox";
|
||||||
this.label5.Location = new System.Drawing.Point(16, 153);
|
this.drainTimeTextBox.Size = new System.Drawing.Size(43, 20);
|
||||||
this.label5.Name = "label5";
|
this.drainTimeTextBox.TabIndex = 14;
|
||||||
this.label5.Size = new System.Drawing.Size(54, 13);
|
//
|
||||||
this.label5.TabIndex = 15;
|
// label5
|
||||||
this.label5.Text = "Drain time";
|
//
|
||||||
//
|
this.label5.AutoSize = true;
|
||||||
// drainValveComboBox
|
this.label5.Location = new System.Drawing.Point(16, 148);
|
||||||
//
|
this.label5.Name = "label5";
|
||||||
this.drainValveComboBox.Enabled = false;
|
this.label5.Size = new System.Drawing.Size(54, 13);
|
||||||
this.drainValveComboBox.FormattingEnabled = true;
|
this.label5.TabIndex = 13;
|
||||||
this.drainValveComboBox.Location = new System.Drawing.Point(127, 104);
|
this.label5.Text = "Drain time";
|
||||||
this.drainValveComboBox.Name = "drainValveComboBox";
|
//
|
||||||
this.drainValveComboBox.Size = new System.Drawing.Size(143, 21);
|
// drainValveComboBox
|
||||||
this.drainValveComboBox.TabIndex = 14;
|
//
|
||||||
//
|
this.drainValveComboBox.Enabled = false;
|
||||||
// drainValveLabel
|
this.drainValveComboBox.FormattingEnabled = true;
|
||||||
//
|
this.drainValveComboBox.Location = new System.Drawing.Point(127, 99);
|
||||||
this.drainValveLabel.AutoSize = true;
|
this.drainValveComboBox.Name = "drainValveComboBox";
|
||||||
this.drainValveLabel.Location = new System.Drawing.Point(16, 107);
|
this.drainValveComboBox.Size = new System.Drawing.Size(143, 21);
|
||||||
this.drainValveLabel.Name = "drainValveLabel";
|
this.drainValveComboBox.TabIndex = 10;
|
||||||
this.drainValveLabel.Size = new System.Drawing.Size(61, 13);
|
//
|
||||||
this.drainValveLabel.TabIndex = 13;
|
// drainValveLabel
|
||||||
this.drainValveLabel.Text = "Drain valve";
|
//
|
||||||
//
|
this.drainValveLabel.AutoSize = true;
|
||||||
// levelMeasurementComboBox
|
this.drainValveLabel.Location = new System.Drawing.Point(16, 102);
|
||||||
//
|
this.drainValveLabel.Name = "drainValveLabel";
|
||||||
this.levelMeasurementComboBox.Enabled = false;
|
this.drainValveLabel.Size = new System.Drawing.Size(61, 13);
|
||||||
this.levelMeasurementComboBox.FormattingEnabled = true;
|
this.drainValveLabel.TabIndex = 9;
|
||||||
this.levelMeasurementComboBox.Location = new System.Drawing.Point(127, 180);
|
this.drainValveLabel.Text = "Drain valve";
|
||||||
this.levelMeasurementComboBox.Name = "levelMeasurementComboBox";
|
//
|
||||||
this.levelMeasurementComboBox.Size = new System.Drawing.Size(143, 21);
|
// levelMeasurementComboBox
|
||||||
this.levelMeasurementComboBox.TabIndex = 32;
|
//
|
||||||
//
|
this.levelMeasurementComboBox.Enabled = false;
|
||||||
// levelMeasurementLabel
|
this.levelMeasurementComboBox.FormattingEnabled = true;
|
||||||
//
|
this.levelMeasurementComboBox.Location = new System.Drawing.Point(127, 167);
|
||||||
this.levelMeasurementLabel.AutoSize = true;
|
this.levelMeasurementComboBox.Name = "levelMeasurementComboBox";
|
||||||
this.levelMeasurementLabel.Location = new System.Drawing.Point(16, 183);
|
this.levelMeasurementComboBox.Size = new System.Drawing.Size(143, 21);
|
||||||
this.levelMeasurementLabel.Name = "levelMeasurementLabel";
|
this.levelMeasurementComboBox.TabIndex = 17;
|
||||||
this.levelMeasurementLabel.Size = new System.Drawing.Size(99, 13);
|
//
|
||||||
this.levelMeasurementLabel.TabIndex = 31;
|
// levelMeasurementLabel
|
||||||
this.levelMeasurementLabel.Text = "Level measurement";
|
//
|
||||||
//
|
this.levelMeasurementLabel.AutoSize = true;
|
||||||
// calibrationTableTextBox
|
this.levelMeasurementLabel.Location = new System.Drawing.Point(16, 170);
|
||||||
//
|
this.levelMeasurementLabel.Name = "levelMeasurementLabel";
|
||||||
this.calibrationTableTextBox.Enabled = false;
|
this.levelMeasurementLabel.Size = new System.Drawing.Size(99, 13);
|
||||||
this.calibrationTableTextBox.Location = new System.Drawing.Point(127, 210);
|
this.levelMeasurementLabel.TabIndex = 16;
|
||||||
this.calibrationTableTextBox.Name = "calibrationTableTextBox";
|
this.levelMeasurementLabel.Text = "Level measurement";
|
||||||
this.calibrationTableTextBox.Size = new System.Drawing.Size(244, 20);
|
//
|
||||||
this.calibrationTableTextBox.TabIndex = 34;
|
// calibrationTableTextBox
|
||||||
//
|
//
|
||||||
// calibrationTableLabel
|
this.calibrationTableTextBox.Enabled = false;
|
||||||
//
|
this.calibrationTableTextBox.Location = new System.Drawing.Point(127, 212);
|
||||||
this.calibrationTableLabel.AutoSize = true;
|
this.calibrationTableTextBox.Name = "calibrationTableTextBox";
|
||||||
this.calibrationTableLabel.Location = new System.Drawing.Point(16, 213);
|
this.calibrationTableTextBox.Size = new System.Drawing.Size(244, 20);
|
||||||
this.calibrationTableLabel.Name = "calibrationTableLabel";
|
this.calibrationTableTextBox.TabIndex = 25;
|
||||||
this.calibrationTableLabel.Size = new System.Drawing.Size(82, 13);
|
//
|
||||||
this.calibrationTableLabel.TabIndex = 33;
|
// calibrationTableLabel
|
||||||
this.calibrationTableLabel.Text = "Calibration table";
|
//
|
||||||
//
|
this.calibrationTableLabel.AutoSize = true;
|
||||||
// drainValve2ComboBox
|
this.calibrationTableLabel.Location = new System.Drawing.Point(16, 215);
|
||||||
//
|
this.calibrationTableLabel.Name = "calibrationTableLabel";
|
||||||
this.drainValve2ComboBox.Enabled = false;
|
this.calibrationTableLabel.Size = new System.Drawing.Size(82, 13);
|
||||||
this.drainValve2ComboBox.FormattingEnabled = true;
|
this.calibrationTableLabel.TabIndex = 24;
|
||||||
this.drainValve2ComboBox.Location = new System.Drawing.Point(127, 127);
|
this.calibrationTableLabel.Text = "Calibration table";
|
||||||
this.drainValve2ComboBox.Name = "drainValve2ComboBox";
|
//
|
||||||
this.drainValve2ComboBox.Size = new System.Drawing.Size(143, 21);
|
// drainValve2ComboBox
|
||||||
this.drainValve2ComboBox.TabIndex = 36;
|
//
|
||||||
//
|
this.drainValve2ComboBox.Enabled = false;
|
||||||
// drainValve2Label
|
this.drainValve2ComboBox.FormattingEnabled = true;
|
||||||
//
|
this.drainValve2ComboBox.Location = new System.Drawing.Point(127, 122);
|
||||||
this.drainValve2Label.AutoSize = true;
|
this.drainValve2ComboBox.Name = "drainValve2ComboBox";
|
||||||
this.drainValve2Label.Location = new System.Drawing.Point(16, 130);
|
this.drainValve2ComboBox.Size = new System.Drawing.Size(143, 21);
|
||||||
this.drainValve2Label.Name = "drainValve2Label";
|
this.drainValve2ComboBox.TabIndex = 12;
|
||||||
this.drainValve2Label.Size = new System.Drawing.Size(70, 13);
|
//
|
||||||
this.drainValve2Label.TabIndex = 35;
|
// drainValve2Label
|
||||||
this.drainValve2Label.Text = "Drain valve 2";
|
//
|
||||||
//
|
this.drainValve2Label.AutoSize = true;
|
||||||
// TankCfgCtrl
|
this.drainValve2Label.Location = new System.Drawing.Point(16, 125);
|
||||||
//
|
this.drainValve2Label.Name = "drainValve2Label";
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.drainValve2Label.Size = new System.Drawing.Size(70, 13);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.drainValve2Label.TabIndex = 11;
|
||||||
this.Controls.Add(this.drainValve2ComboBox);
|
this.drainValve2Label.Text = "Drain valve 2";
|
||||||
this.Controls.Add(this.drainValve2Label);
|
//
|
||||||
this.Controls.Add(this.calibrationTableTextBox);
|
// label1
|
||||||
this.Controls.Add(this.calibrationTableLabel);
|
//
|
||||||
this.Controls.Add(this.levelMeasurementComboBox);
|
this.label1.AutoSize = true;
|
||||||
this.Controls.Add(this.levelMeasurementLabel);
|
this.label1.Location = new System.Drawing.Point(324, 193);
|
||||||
this.Controls.Add(this.drainValveComboBox);
|
this.label1.Name = "label1";
|
||||||
this.Controls.Add(this.drainValveLabel);
|
this.label1.Size = new System.Drawing.Size(23, 13);
|
||||||
this.Controls.Add(this.label4);
|
this.label1.TabIndex = 23;
|
||||||
this.Controls.Add(this.drainTimeTextBox);
|
this.label1.Text = "liter";
|
||||||
this.Controls.Add(this.label5);
|
//
|
||||||
this.Controls.Add(this.label3);
|
// thresholdLevel1TextBox
|
||||||
this.Controls.Add(this.emptyTextBox);
|
//
|
||||||
this.Controls.Add(this.emptyLabel);
|
this.thresholdLevel1TextBox.Enabled = false;
|
||||||
this.Controls.Add(this.label2);
|
this.thresholdLevel1TextBox.Location = new System.Drawing.Point(127, 190);
|
||||||
this.Controls.Add(this.capacityTextBox);
|
this.thresholdLevel1TextBox.Name = "thresholdLevel1TextBox";
|
||||||
this.Controls.Add(this.capacityLabel);
|
this.thresholdLevel1TextBox.Size = new System.Drawing.Size(43, 20);
|
||||||
this.Controls.Add(this.nameTextBox);
|
this.thresholdLevel1TextBox.TabIndex = 19;
|
||||||
this.Controls.Add(this.nameLabel);
|
//
|
||||||
this.Controls.Add(this.classNameLabel);
|
// thresholdLevelsLabel
|
||||||
this.Name = "TankCfgCtrl";
|
//
|
||||||
this.Size = new System.Drawing.Size(415, 250);
|
this.thresholdLevelsLabel.AutoSize = true;
|
||||||
this.Load += new System.EventHandler(this.BalanceCfgCtrl_Load);
|
this.thresholdLevelsLabel.Location = new System.Drawing.Point(16, 193);
|
||||||
this.ResumeLayout(false);
|
this.thresholdLevelsLabel.Name = "thresholdLevelsLabel";
|
||||||
this.PerformLayout();
|
this.thresholdLevelsLabel.Size = new System.Drawing.Size(84, 13);
|
||||||
|
this.thresholdLevelsLabel.TabIndex = 18;
|
||||||
|
this.thresholdLevelsLabel.Text = "Threshold levels";
|
||||||
|
//
|
||||||
|
// thresholdLevel2TextBox
|
||||||
|
//
|
||||||
|
this.thresholdLevel2TextBox.Enabled = false;
|
||||||
|
this.thresholdLevel2TextBox.Location = new System.Drawing.Point(177, 190);
|
||||||
|
this.thresholdLevel2TextBox.Name = "thresholdLevel2TextBox";
|
||||||
|
this.thresholdLevel2TextBox.Size = new System.Drawing.Size(43, 20);
|
||||||
|
this.thresholdLevel2TextBox.TabIndex = 20;
|
||||||
|
//
|
||||||
|
// thresholdLevel3TextBox
|
||||||
|
//
|
||||||
|
this.thresholdLevel3TextBox.Enabled = false;
|
||||||
|
this.thresholdLevel3TextBox.Location = new System.Drawing.Point(226, 190);
|
||||||
|
this.thresholdLevel3TextBox.Name = "thresholdLevel3TextBox";
|
||||||
|
this.thresholdLevel3TextBox.Size = new System.Drawing.Size(43, 20);
|
||||||
|
this.thresholdLevel3TextBox.TabIndex = 21;
|
||||||
|
//
|
||||||
|
// thresholdLevel4TextBox
|
||||||
|
//
|
||||||
|
this.thresholdLevel4TextBox.Enabled = false;
|
||||||
|
this.thresholdLevel4TextBox.Location = new System.Drawing.Point(275, 190);
|
||||||
|
this.thresholdLevel4TextBox.Name = "thresholdLevel4TextBox";
|
||||||
|
this.thresholdLevel4TextBox.Size = new System.Drawing.Size(43, 20);
|
||||||
|
this.thresholdLevel4TextBox.TabIndex = 22;
|
||||||
|
//
|
||||||
|
// TankCfgCtrl
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.Controls.Add(this.thresholdLevel4TextBox);
|
||||||
|
this.Controls.Add(this.thresholdLevel3TextBox);
|
||||||
|
this.Controls.Add(this.thresholdLevel2TextBox);
|
||||||
|
this.Controls.Add(this.label1);
|
||||||
|
this.Controls.Add(this.thresholdLevel1TextBox);
|
||||||
|
this.Controls.Add(this.thresholdLevelsLabel);
|
||||||
|
this.Controls.Add(this.drainValve2ComboBox);
|
||||||
|
this.Controls.Add(this.drainValve2Label);
|
||||||
|
this.Controls.Add(this.calibrationTableTextBox);
|
||||||
|
this.Controls.Add(this.calibrationTableLabel);
|
||||||
|
this.Controls.Add(this.levelMeasurementComboBox);
|
||||||
|
this.Controls.Add(this.levelMeasurementLabel);
|
||||||
|
this.Controls.Add(this.drainValveComboBox);
|
||||||
|
this.Controls.Add(this.drainValveLabel);
|
||||||
|
this.Controls.Add(this.label4);
|
||||||
|
this.Controls.Add(this.drainTimeTextBox);
|
||||||
|
this.Controls.Add(this.label5);
|
||||||
|
this.Controls.Add(this.label3);
|
||||||
|
this.Controls.Add(this.emptyTextBox);
|
||||||
|
this.Controls.Add(this.emptyLabel);
|
||||||
|
this.Controls.Add(this.label2);
|
||||||
|
this.Controls.Add(this.capacityTextBox);
|
||||||
|
this.Controls.Add(this.capacityLabel);
|
||||||
|
this.Controls.Add(this.nameTextBox);
|
||||||
|
this.Controls.Add(this.nameLabel);
|
||||||
|
this.Controls.Add(this.classNameLabel);
|
||||||
|
this.Name = "TankCfgCtrl";
|
||||||
|
this.Size = new System.Drawing.Size(415, 250);
|
||||||
|
this.Load += new System.EventHandler(this.BalanceCfgCtrl_Load);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -282,5 +344,11 @@ namespace TBF.BenchControl.Various.TankWithLevelMsrmnt
|
|||||||
private System.Windows.Forms.Label calibrationTableLabel;
|
private System.Windows.Forms.Label calibrationTableLabel;
|
||||||
private System.Windows.Forms.ComboBox drainValve2ComboBox;
|
private System.Windows.Forms.ComboBox drainValve2ComboBox;
|
||||||
private System.Windows.Forms.Label drainValve2Label;
|
private System.Windows.Forms.Label drainValve2Label;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
|
private System.Windows.Forms.TextBox thresholdLevel1TextBox;
|
||||||
|
private System.Windows.Forms.Label thresholdLevelsLabel;
|
||||||
|
private System.Windows.Forms.TextBox thresholdLevel2TextBox;
|
||||||
|
private System.Windows.Forms.TextBox thresholdLevel3TextBox;
|
||||||
|
private System.Windows.Forms.TextBox thresholdLevel4TextBox;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
|||||||
// Build Number
|
// Build Number
|
||||||
// Revision
|
// Revision
|
||||||
//
|
//
|
||||||
[assembly: AssemblyVersion("2.18.1063.0")]
|
[assembly: AssemblyVersion("2.18.1064.0")]
|
||||||
[assembly: AssemblyFileVersion("2.18.1063.0")]
|
[assembly: AssemblyFileVersion("2.18.1064.0")]
|
||||||
|
|||||||
9
TBF/Resources/Strings.Designer.cs
generated
9
TBF/Resources/Strings.Designer.cs
generated
@ -96,6 +96,15 @@ namespace TBF.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to {0} - wait until the tank contains more then {1} ltr..
|
||||||
|
/// </summary>
|
||||||
|
internal static string _0_wait_until_tank_contains_more_then_1_l {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("_0_wait_until_tank_contains_more_then_1_l", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to {0} - wait until the tank is empty.
|
/// Looks up a localized string similar to {0} - wait until the tank is empty.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -1882,4 +1882,7 @@
|
|||||||
<data name="TransitionBetween_chdr" xml:space="preserve">
|
<data name="TransitionBetween_chdr" xml:space="preserve">
|
||||||
<value>Between rep. - transition</value>
|
<value>Between rep. - transition</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="_0_wait_until_tank_contains_more_then_1_l" xml:space="preserve">
|
||||||
|
<value>{0} - wait until the tank contains more then {1} ltr.</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@ -599,6 +599,7 @@
|
|||||||
<Compile Include="BenchControl\MettlerToledo\Standard\TaringOp.cs" />
|
<Compile Include="BenchControl\MettlerToledo\Standard\TaringOp.cs" />
|
||||||
<Compile Include="BenchControl\MettlerToledo\TankDraining.cs" />
|
<Compile Include="BenchControl\MettlerToledo\TankDraining.cs" />
|
||||||
<Compile Include="BenchControl\MettlerToledo\WaitTankEmptyOp.cs" />
|
<Compile Include="BenchControl\MettlerToledo\WaitTankEmptyOp.cs" />
|
||||||
|
<Compile Include="BenchControl\MettlerToledo\WaitTankContainsMoreThenOp.cs" />
|
||||||
<Compile Include="BenchControl\Modbus\CometAmbient\Ambient.cs" />
|
<Compile Include="BenchControl\Modbus\CometAmbient\Ambient.cs" />
|
||||||
<Compile Include="BenchControl\Modbus\CometAmbient\AmbientCfg.cs" />
|
<Compile Include="BenchControl\Modbus\CometAmbient\AmbientCfg.cs" />
|
||||||
<Compile Include="BenchControl\Modbus\CometAmbient\AmbientCfgCtrl.cs">
|
<Compile Include="BenchControl\Modbus\CometAmbient\AmbientCfgCtrl.cs">
|
||||||
|
|||||||
1
TODO.txt
1
TODO.txt
@ -6,6 +6,7 @@ Igor
|
|||||||
- stabilne meranie hladiny
|
- stabilne meranie hladiny
|
||||||
- niekedy neprepne diverter
|
- niekedy neprepne diverter
|
||||||
- sekvencia medzi opakovanymi skuskami
|
- sekvencia medzi opakovanymi skuskami
|
||||||
|
- podmienka pre minimalny objem vody vo vezi
|
||||||
|
|
||||||
- testovanie citlivosti vodomera
|
- testovanie citlivosti vodomera
|
||||||
- zivotnostne: menit prietok 15 min.
|
- zivotnostne: menit prietok 15 min.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user