Compare commits

..
Author SHA1 Message Date
Milan Hanajik 74228c2b3d Reconfigured for Torino50 2017-03-27 09:18:25 +02:00
39 changed files with 729 additions and 1077 deletions
+2 -2
View File
@@ -18,7 +18,7 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;MUNICH</DefineConstants>
<DefineConstants>TRACE;DEBUG;TORINO50</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
@@ -28,7 +28,7 @@
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;MUNICH</DefineConstants>
<DefineConstants>TRACE;TORINO50</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
-20
View File
@@ -190,26 +190,6 @@ namespace Config.Entities
Count
}
public enum MassMethod : byte
{
#if LANG_DE
/// nemecky
[Description("Waage")] Scale,
[Description("Spanne")] Spread,
[Description("Standardabw.")] StdDev,
#elif LANG_CS
/// cesky
[Description("váhou")] Scale,
[Description("max.rozdíl")] Spread,
[Description("std.dev.")] StdDev,
#else
[Description("Scale")] Scale,
[Description("Spread")] Spread,
[Description("Std.dev.")] StdDev,
#endif
Count
}
public enum TestRedType
{
Fix,
+22 -22
View File
@@ -30,15 +30,15 @@ namespace Config.Entities
public virtual int Repeats { get; set; }
public virtual bool Emptying { get; set; }
public virtual bool Zeroing { get; set; }
public virtual float PumpPower { get; set; } /// Power of the pump in [%] in the range 0 .. 100.0f, use values 0% and 100% for non-FM pumps
public virtual int MassRepeats { get; set; } /// Number of mass. measurements at the beginning/end of test, 0 = default (=5)
public virtual float MassSpread { get; set; } /// Max spread of mass. measurements at the beginning/end of test, 0 = default
public virtual MassMethod MassMethod { get; set; } /// method of mass. measurement at the beginning/end of test: false=slow (precise), true=using immediate mass measurement and evaluation
public virtual int TimeBeforeFlow { get; set; } /// Delay time before the start of flow control in [s]
public virtual int TimeFlow2Mass { get; set; } /// Delay time from the flow stable to the 1st mass measurement in [s]
public virtual int TimePump2StartV { get; set; } /// Delay time from the start of the pump to opening the start valve in [s]
public virtual int TimeStop2Mass { get; set; } /// Delay time from the test end (diverted) to the 2nd mass measuremen in [s]
public virtual double TolerRed { get; set; } /// = Filter
public virtual float PumpPower { get; set; } /// Power of the pump in [%] in the range 0 .. 100.0f, use values 0% and 100% for non-FM pumps
public virtual int MassRepeats { get; set; } /// Number of mass. measurements at the beginning/end of test, 0 = default (=5)
public virtual float MassSpread { get; set; } /// Max spread of mass. measurements at the beginning/end of test, 0 = default
public virtual bool MassMethod { get; set; } /// method of mass. measurement at the beginning/end of test: false=slow (precise), true=fast (immediate)
public virtual int TimeBeforeFlow { get; set; } /// Delay time before the start of flow control in [s]
public virtual int TimeFlow2Mass { get; set; } /// Delay time from the flow stable to the 1st mass measurement in [s]
public virtual int TimePump2StartV { get; set; }/// Delay time from the start of the pump to opening the start valve in [s]
public virtual int TimeStop2Mass { get; set; } /// Delay time from the test end (diverted) to the 2nd mass measuremen in [s]
public virtual double TolerRed { get; set; } /// = Filter
public virtual TestRedType RedType { get; set; }
public virtual string FeedingPath { get; set; }
public virtual string BenchPath { get; set; }
@@ -70,21 +70,21 @@ namespace Config.Entities
Repeats = 1;
Emptying = false;
Zeroing = false;
ErrLimLo = -2.0f; /// [%] lower error limit
ErrLimHi = 2.0f; /// [%] upper error limit
ErrLimLo = -2.0f; /// [%] lower error limit
ErrLimHi = 2.0f; /// [%] upper error limit
Uncertainty = 0;
PumpPower = 60.0f; /// [%]
MassRepeats = 0; /// default
MassSpread = 0; /// default
MassMethod = MassMethod.Scale; /// default
TimeBeforeFlow = 10; /// [s] time before the start of flow control in [s]
TimeFlow2Mass = 5; /// [s] time from the flow stable to the 1st mass measurement in [s]
TimePump2StartV = 1; /// [s] time from the 1st mass measurement to the test start in [s]
TimeStop2Mass = 5; /// [s] between the test end and the final mass measurement
TolerRed = 0; /// = Filter parameter
RelTransBefore = string.Empty;
PumpPower = 60.0f; /// [%]
MassRepeats = 0; /// default
MassSpread = 0; /// default
MassMethod = false; /// default
TimeBeforeFlow = 10; /// [s] time before the start of flow control in [s]
TimeFlow2Mass = 5; /// [s] time from the flow stable to the 1st mass measurement in [s]
TimePump2StartV = 1; /// [s] time from the 1st mass measurement to the test start in [s]
TimeStop2Mass = 5; /// [s] between the test end and the final mass measurement
TolerRed = 0; /// = Filter parameter
RelTransBefore = string.Empty;
RelTransBetween = string.Empty;
RelTransAfter = string.Empty;
RelTransAfter = string.Empty;
TransitionAfter = string.Empty;
}
+1 -2
View File
@@ -27,8 +27,7 @@ namespace Config.Mappings
Map(x => x.PumpPower);
Map(x => x.MassRepeats);
Map(x => x.MassSpread);
Map(x => x.MassMethod)
.CustomType<byte>();
Map(x => x.MassMethod);
Map(x => x.TimeBeforeFlow);
Map(x => x.TimeFlow2Mass);
Map(x => x.TimePump2StartV)
+2 -2
View File
@@ -18,7 +18,7 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;MUNICH</DefineConstants>
<DefineConstants>TRACE;DEBUG;TORINO50</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>x86</PlatformTarget>
@@ -27,7 +27,7 @@
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;MUNICH</DefineConstants>
<DefineConstants>TRACE;TORINO50</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
+12 -24
View File
@@ -46,31 +46,19 @@ namespace ResultsBrowser.Forms
columnsComboBox3.Items.Add(item.Caption);
}
///
rowsComboBox.Text = (!string.IsNullOrEmpty(Program.LocalSettings.RowItemCaption) && rowsComboBox.Items.Contains(Program.LocalSettings.RowItemCaption))
? Program.LocalSettings.RowItemCaption
: string.Empty;
rowsComboBox2.Text = (!string.IsNullOrEmpty(Program.LocalSettings.RowItemCaption2) && rowsComboBox2.Items.Contains(Program.LocalSettings.RowItemCaption2))
? Program.LocalSettings.RowItemCaption2
: string.Empty;
rowsComboBox3.Text = (!string.IsNullOrEmpty(Program.LocalSettings.RowItemCaption3) && rowsComboBox3.Items.Contains(Program.LocalSettings.RowItemCaption3))
? Program.LocalSettings.RowItemCaption3
: string.Empty;
columnsComboBox.Text = (!string.IsNullOrEmpty(Program.LocalSettings.ColumnItemCaption) && columnsComboBox.Items.Contains(Program.LocalSettings.ColumnItemCaption))
? Program.LocalSettings.ColumnItemCaption
: string.Empty;
columnsComboBox2.Text = (!string.IsNullOrEmpty(Program.LocalSettings.ColumnItemCaption2) && columnsComboBox2.Items.Contains(Program.LocalSettings.ColumnItemCaption2))
? Program.LocalSettings.ColumnItemCaption2
: string.Empty;
columnsComboBox3.Text = (!string.IsNullOrEmpty(Program.LocalSettings.ColumnItemCaption3) && columnsComboBox3.Items.Contains(Program.LocalSettings.ColumnItemCaption3))
? Program.LocalSettings.ColumnItemCaption3
: string.Empty;
rowsComboBox.Text = rowsComboBox.Items.Contains(Program.LocalSettings.RowItemCaption) ? Program.LocalSettings.RowItemCaption : string.Empty;
rowsComboBox2.Text = rowsComboBox2.Items.Contains(Program.LocalSettings.RowItemCaption2) ? Program.LocalSettings.RowItemCaption2 : string.Empty;
rowsComboBox3.Text = rowsComboBox3.Items.Contains(Program.LocalSettings.RowItemCaption3) ? Program.LocalSettings.RowItemCaption3 : string.Empty;
columnsComboBox.Text = columnsComboBox.Items.Contains(Program.LocalSettings.ColumnItemCaption) ? Program.LocalSettings.ColumnItemCaption : string.Empty;
columnsComboBox2.Text = columnsComboBox2.Items.Contains(Program.LocalSettings.ColumnItemCaption2) ? Program.LocalSettings.ColumnItemCaption2 : string.Empty;
columnsComboBox3.Text = columnsComboBox3.Items.Contains(Program.LocalSettings.ColumnItemCaption3) ? Program.LocalSettings.ColumnItemCaption3 : string.Empty;
rowTestSpecTextBox.Text = RowTestSpecifier = string.IsNullOrEmpty(Program.LocalSettings.RowTestSpecifier) ? string.Empty : Program.LocalSettings.RowTestSpecifier;
rowTestSpecTextBox2.Text = RowTestSpecifier2 = string.IsNullOrEmpty(Program.LocalSettings.RowTestSpecifier2) ? string.Empty : Program.LocalSettings.RowTestSpecifier2;
rowTestSpecTextBox3.Text = RowTestSpecifier3 = string.IsNullOrEmpty(Program.LocalSettings.RowTestSpecifier3) ? string.Empty : Program.LocalSettings.RowTestSpecifier3;
columnTestSpecTextBox.Text = ColumnTestSpecifier = string.IsNullOrEmpty(Program.LocalSettings.ColumnTestSpecifier) ? string.Empty : Program.LocalSettings.ColumnTestSpecifier;
columnTestSpecTextBox2.Text = ColumnTestSpecifier2 = string.IsNullOrEmpty(Program.LocalSettings.ColumnTestSpecifier2) ? string.Empty : Program.LocalSettings.ColumnTestSpecifier2;
columnTestSpecTextBox3.Text = ColumnTestSpecifier3 = string.IsNullOrEmpty(Program.LocalSettings.ColumnTestSpecifier3) ? string.Empty : Program.LocalSettings.ColumnTestSpecifier3;
rowTestSpecTextBox.Text = RowTestSpecifier = Program.LocalSettings.RowTestSpecifier;
rowTestSpecTextBox2.Text = RowTestSpecifier2 = Program.LocalSettings.RowTestSpecifier2;
rowTestSpecTextBox3.Text = RowTestSpecifier3 = Program.LocalSettings.RowTestSpecifier3;
columnTestSpecTextBox.Text = ColumnTestSpecifier = Program.LocalSettings.ColumnTestSpecifier;
columnTestSpecTextBox2.Text = ColumnTestSpecifier2 = Program.LocalSettings.ColumnTestSpecifier2;
columnTestSpecTextBox3.Text = ColumnTestSpecifier3 = Program.LocalSettings.ColumnTestSpecifier3;
}
void Localize()
+2 -2
View File
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.12.514.0")]
[assembly: AssemblyFileVersion("2.12.514.0")]
[assembly: AssemblyVersion("2.12.486.0")]
[assembly: AssemblyFileVersion("2.12.486.0")]
+2 -2
View File
@@ -21,7 +21,7 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;MUNICH</DefineConstants>
<DefineConstants>TRACE;DEBUG;TORINO50</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
@@ -31,7 +31,7 @@
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;MUNICH</DefineConstants>
<DefineConstants>TRACE;TORINO50</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2016-2017 Sensus Metering Systems
/// Copyright (c) 2016 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
@@ -28,7 +28,6 @@ namespace TBF.BenchControl.Dummy.Balance
public int BalanceNr { get { return 0; } }
public double Capacity { get { return 10000.0; } }
public GenericDevices.IValve DrainValve { get { return null; } }
public bool IsEmpty(double mass) { return true; }
public bool IsEmpty() { return true; }
public string Format { get { return "F3"; } }
@@ -49,7 +48,7 @@ namespace TBF.BenchControl.Dummy.Balance
return this;
}
public IOperation ReadStableMassOp(ref TBF.Boxes.DoubleBox mass, int readingsCount, double maxSpread, Config.Entities.MassMethod method)
public IOperation ReadStableMassOp(ref TBF.Boxes.DoubleBox mass, int readingsCount, double maxSpread, bool method)
{
mass.Val = 0;
return this;
@@ -510,7 +510,7 @@ ControlComponent_Izrael2014.UserControl1 ctrlBrdComponent,
/// <returns>Created operation</returns>
public IOperation SetValvesOp(IValve valveOpen, IValve valveClose)
{
return new SetValvesOp(this, valveOpen, valveClose);
return new Valve.SetValvesOp(this, valveOpen, valveClose);
}
/// <summary>
@@ -522,7 +522,7 @@ ControlComponent_Izrael2014.UserControl1 ctrlBrdComponent,
/// <returns>Created operation</returns>
public IOperation SetValvesOp(IList<IValve> valvesOpen, IList<IValve> valvesClose)
{
return new SetValvesOp(this, valvesOpen, valvesClose);
return new Valve.SetValvesOp(this, valvesOpen, valvesClose);
}
/// <summary>
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2013-2017 Sensus Metering Systems
/// Copyright (c) 2013-2016 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
@@ -7,7 +7,7 @@ using log4net;
using TBF.BenchControl.GenericDevices;
using Dirichlet.Numerics;
namespace TBF.BenchControl.Elde
namespace TBF.BenchControl.Elde.Valve
{
public class SetValvesOp : IOperation
{
@@ -21,8 +21,8 @@ namespace TBF.BenchControl.Elde
public int TimeSec; /// Relative time in [s] from the start of the operation
public IList<IValve> VOpen; /// List of valves to open in this point of time
public IList<IValve> VClose; /// List of valves to close in this point of time
public UInt128 MasksOpen; /// OR-ed bitmasks of valves to open in this point of time
public UInt128 MasksClose; /// OR-ed bitmasks of valves to close in this point of time
public UInt128 MasksOpen; /// OR-ed bitmasks of valves to open in this point of time
public UInt128 MasksClose; /// OR-ed bitmasks of valves to close in this point of time
public SwitchPoint(int time, IList<IValve> vOpen, IList<IValve> vClose)
{
@@ -42,9 +42,9 @@ namespace TBF.BenchControl.Elde
foreach (var vlv in VOpen)
{
/// Skip the delay evaluation and update in case the valve/pump have not changed
if (vlv is Valve.Valve && ((vlv as Valve.Valve).Mask & changed) == 0) continue;
if (vlv is Pump.Pump && ((vlv as Pump.Pump).Mask & changed) == 0) continue;
if (vlv is PumpWithFM.Pump && ((vlv as PumpWithFM.Pump).Mask & changed) == 0) continue;
if (vlv is Valve && ((vlv as Valve).Mask & changed) == 0) continue;
if (vlv is Pump.Pump && ((vlv as Pump.Pump).Mask & changed) == 0) continue;
if (vlv is PumpWithFM.Pump && ((vlv as PumpWithFM.Pump).Mask & changed) == 0) continue;
if (vlv is Danfoss.VLT2800.Pump && ((vlv as Danfoss.VLT2800.Pump).Mask & changed) == 0) continue;
if ((vlv != null) && (vlv.Delay > max)) max = vlv.Delay;
@@ -52,9 +52,9 @@ namespace TBF.BenchControl.Elde
foreach (var vlv in VClose)
{
/// Skip the delay evaluation and update in case the valve/pump have not changed
if (vlv is Valve.Valve && ((vlv as Valve.Valve).Mask & changed) == 0) continue;
if (vlv is Pump.Pump && ((vlv as Pump.Pump).Mask & changed) == 0) continue;
if (vlv is PumpWithFM.Pump && ((vlv as PumpWithFM.Pump).Mask & changed) == 0) continue;
if (vlv is Valve && ((vlv as Valve).Mask & changed) == 0) continue;
if (vlv is Pump.Pump && ((vlv as Pump.Pump).Mask & changed) == 0) continue;
if (vlv is PumpWithFM.Pump && ((vlv as PumpWithFM.Pump).Mask & changed) == 0) continue;
if (vlv is Danfoss.VLT2800.Pump && ((vlv as Danfoss.VLT2800.Pump).Mask & changed) == 0) continue;
if ((vlv != null) && (vlv.Delay > max)) max = vlv.Delay;
@@ -152,20 +152,20 @@ namespace TBF.BenchControl.Elde
point.MasksOpen = 0;
foreach (var valve in point.VOpen)
{
if (valve is Valve.Valve) point.MasksOpen |= (valve as Valve.Valve).Mask;
if (valve is Pump.Pump) point.MasksOpen |= (valve as Pump.Pump).Mask;
if (valve is PumpWithFM.Pump) point.MasksOpen |= (valve as PumpWithFM.Pump).Mask;
if (valve is Valve) point.MasksOpen |= (valve as Valve).Mask;
if (valve is Pump.Pump) point.MasksOpen |= (valve as Pump.Pump).Mask;
if (valve is PumpWithFM.Pump) point.MasksOpen |= (valve as PumpWithFM.Pump).Mask;
if (valve is Danfoss.VLT2800.Pump) point.MasksOpen |= (valve as Danfoss.VLT2800.Pump).Mask;
if (valve is PumpTandem.Pump) point.MasksOpen |= (valve as PumpTandem.Pump).Mask;
if (valve is PumpTandem.Pump) point.MasksOpen |= (valve as PumpTandem.Pump).Mask;
}
point.MasksClose = 0;
foreach (var valve in point.VClose)
{
if (valve is Valve.Valve) point.MasksClose |= (valve as Valve.Valve).Mask;
if (valve is Pump.Pump) point.MasksClose |= (valve as Pump.Pump).Mask;
if (valve is PumpWithFM.Pump) point.MasksClose |= (valve as PumpWithFM.Pump).Mask;
if (valve is Valve) point.MasksClose |= (valve as Valve).Mask;
if (valve is Pump.Pump) point.MasksClose |= (valve as Pump.Pump).Mask;
if (valve is PumpWithFM.Pump) point.MasksClose |= (valve as PumpWithFM.Pump).Mask;
if (valve is Danfoss.VLT2800.Pump) point.MasksClose |= (valve as Danfoss.VLT2800.Pump).Mask;
if (valve is PumpTandem.Pump) point.MasksClose |= (valve as PumpTandem.Pump).Mask;
if (valve is PumpTandem.Pump) point.MasksClose |= (valve as PumpTandem.Pump).Mask;
}
point.TimeSec += timeShift;
}
@@ -22,11 +22,6 @@ namespace TBF.BenchControl.GenericDevices
/// </summary>
double Capacity { get; }
/// <summary>
/// Water tank drain valve or 'null'
/// </summary>
IValve DrainValve { get; }
/// <summary>
/// Returns true if tank s empty, mass is less then some threshold
/// </summary>
@@ -78,6 +73,6 @@ namespace TBF.BenchControl.GenericDevices
/// <param name="maxSpread">Maximum spread of measurements in kg (otherwise the measurement continues)</param>
/// <param name="method">Method: false = slow (precise), true = fast (immediate)</param>
/// <returns>ReadMassAverageOp instance reference casted to IOperaton</returns>
IOperation ReadStableMassOp(ref DoubleBox mass, int readingsCount, double maxSpread, Config.Entities.MassMethod method);
IOperation ReadStableMassOp(ref DoubleBox mass, int readingsCount, double maxSpread, bool method);
}
}
@@ -8,9 +8,7 @@ using System.Text;
namespace TBF.BenchControl.GenericDevices
{
public interface ITankDraining : ISequenceCondition
public interface ITankDraining
{
IValve DrainValve { get; }
bool IsEmpty();
}
}
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2015-2017 Sensus Metering Systems
/// Copyright (c) 2015-2016 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
@@ -19,7 +19,7 @@ namespace TBF.BenchControl.MettlerToledo.Multi
/// <note>
/// Implemented and tested on 15.10.2013 by Milan Hanajik
/// </note>
public class BalanceDev : TankDraining, IDevice, GenericDevices.IBalance
public class BalanceDev : ComponentBase, IDevice, GenericDevices.IBalance
{
/// <summary>
/// Info: StartMassMeasurement() and "Balnce response = .., Mass = ..."
@@ -311,7 +311,7 @@ namespace TBF.BenchControl.MettlerToledo.Multi
/// <param name="maxSpread">Maximum spread of measurements in kg (otherwise the measurement continues)</param>
/// <param name="method">Method: false = slow (precise), true = fast (immediate)</param>
/// <returns>ReadMassAverageOp instance reference casted to IOperaton</returns>
public IOperation ReadStableMassOp(ref DoubleBox mass, int readingsCount, double maxSpread, Config.Entities.MassMethod method)
public IOperation ReadStableMassOp(ref DoubleBox mass, int readingsCount, double maxSpread, bool method)
{
return new ReadStableMassOp(this, ref mass, readingsCount, maxSpread, method);
}
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2015-2017 Sensus Metering Systems
/// Copyright (c) 2015-2016 Sensus Metering Systems
///
using System;
using log4net;
@@ -22,8 +22,8 @@ namespace TBF.BenchControl.MettlerToledo.Multi
/// Set by the constructor
BalanceDev balanceDev;
int totalReadingsCount;
double maxSpread; /// Maximum spread of measurements in kg (otherwise the measurement continues)
Config.Entities.MassMethod method; /// false = slow (precise), true = fast (immediate)
double maxSpread; /// Maximum spread of measurements in kg (otherwise the measurement continues)
bool method; /// false = slow (precise), true = fast (immediate)
DoubleBox result;
bool started;
@@ -36,14 +36,24 @@ namespace TBF.BenchControl.MettlerToledo.Multi
/// <param name="readingsCount">Required mass readings count (>= 3)</param>
/// <param name="maxSpread">Maximum spread of measurements in kg (otherwise the measurement continues)</param>
/// <param name="method">Method: false = slow (precise), true = fast (immediate)</param>
public ReadStableMassOp(BalanceDev balanceDev, ref DoubleBox result, int readingsCount, double maxSpread, Config.Entities.MassMethod method)
public ReadStableMassOp(BalanceDev balanceDev, ref DoubleBox result, int readingsCount, double maxSpread, bool method)
{
if (balanceDev == null) throw new ArgumentNullException("balanceDev");
this.balanceDev = balanceDev;
this.totalReadingsCount = (readingsCount < 4) ? 5 : readingsCount; /// readingsCount is at least 4
this.maxSpread = (maxSpread == 0) ? (balanceDev.Capacity / 20000.0) : maxSpread;
this.method = method;
if (readingsCount == 0)
this.totalReadingsCount = 5;
else if (readingsCount < 3)
this.totalReadingsCount = 3;
else
this.totalReadingsCount = readingsCount;
if (maxSpread == 0)
this.maxSpread = balanceDev.Capacity / 20000;
else
this.maxSpread = maxSpread;
this.method = method;
this.result = result;
@@ -102,8 +102,6 @@ namespace TBF.BenchControl.MettlerToledo.Standard
public void Initialize()
{
base.Initalize();
msrmntState = MsrmntState.Failed; /// Data not valid yet
if (balanceCfg.DebugLevel == DebugMode.Simulate) return;
@@ -117,7 +115,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
log.FatalFormat("Successfully initialized device {0}", ToString());
}
public override bool IsEmpty()
public bool IsEmpty()
{
return (this.mass <= balanceCfg.Empty);
}
@@ -244,8 +242,6 @@ namespace TBF.BenchControl.MettlerToledo.Standard
/// </summary>
public virtual void RunDeviceBefore()
{
base.RunBefore();
if (balanceCfg.DebugLevel == DebugMode.Simulate)
{
Masses[balanceNr] = TestBenchSim.GetSimMass(balanceNr);
@@ -446,8 +442,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
/// <summary>Run this device</summary>
public void RunDeviceAfter()
{
base.RunAfter();
}
}
/// <summary>Stop this device</summary>
public void StopDevice()
@@ -490,7 +485,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
/// <param name="maxSpread">Maximum spread of measurements in kg (otherwise the measurement continues)</param>
/// <param name="method">Method: false = slow (precise), true = fast (immediate)</param>
/// <returns>ReadMassAverageOp instance reference casted to IOperaton</returns>
public IOperation ReadStableMassOp(ref DoubleBox mass, int readingsCount, double maxSpread, Config.Entities.MassMethod method)
public IOperation ReadStableMassOp(ref DoubleBox mass, int readingsCount, double maxSpread, bool method)
{
return new ReadStableMassOp(this, ref mass, readingsCount, maxSpread, method);
}
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2013-2017 Sensus Metering Systems
/// Copyright (c) 2013-2015 Sensus Metering Systems
/// Author: Milan Hanajik
///
using System;
@@ -67,8 +67,6 @@ namespace TBF.BenchControl.MettlerToledo.Standard
/// </summary>
public override void RunDeviceBefore()
{
base.RunBefore();
if (balanceCfg.DebugLevel == DebugMode.Simulate)
{
mass = TestBenchSim.GetSimMass(balanceNr);
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2016-2017 Sensus Metering Systems
/// Copyright (c) 2016 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
@@ -61,8 +61,6 @@ namespace TBF.BenchControl.MettlerToledo.Standard
/// </summary>
public override void RunDeviceBefore()
{
base.RunBefore();
if (balanceCfg.DebugLevel == DebugMode.Simulate)
{
mass = TestBenchSim.GetSimMass(balanceNr);
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2013-2017 Sensus Metering Systems
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System;
using log4net;
@@ -15,42 +15,46 @@ namespace TBF.BenchControl.MettlerToledo.Standard
private static readonly ILog log = LogManager.GetLogger(typeof(ReadStableMassOp));
public override string ToString() { return string.Format("ReadStableMassOp(.,{0},.)", totalReadingsCount); }
/// Set by the constructor
BalanceDev balanceDev;
int totalReadingsCount;
double maxSpread; /// Maximum spread of measurements in kg (otherwise the measurement continues)
Config.Entities.MassMethod method; /// by the scale, mass spread threshold or mass standard deviation threshold
DoubleBox result;
/// Operation specific
double[] massReadings;
int currentReadingsCount;
bool measurementCompleted;
/// Set by the constructor
BalanceDev balanceDev;
int totalReadingsCount;
double maxSpread; /// Maximum spread of measurements in kg (otherwise the measurement continues)
bool method; /// false = slow (precise), true = fast (immediate)
DoubleBox result;
/// <summary>
/// Events: BalanceDone, Error
/// </summary>
/// <param name="balanceDev">Balance device instance</param>
/// <param name="result">Reference to the measured mass in kg</param>
/// <param name="readingsCount">Required mass readings count (>= 4)</param>
/// <param name="readingsCount">Required mass readings count (>= 3)</param>
/// <param name="maxSpread">Maximum spread of measurements in kg (otherwise the measurement continues)</param>
/// <param name="method">Method: false = slow (precise), true = fast (immediate)</param>
public ReadStableMassOp(BalanceDev balanceDev, ref DoubleBox result, int readingsCount, double maxSpread, Config.Entities.MassMethod method)
public ReadStableMassOp(BalanceDev balanceDev, ref DoubleBox result, int readingsCount, double maxSpread, bool method)
{
if (balanceDev == null) throw new ArgumentNullException("balanceDev");
this.balanceDev = balanceDev;
this.totalReadingsCount = (readingsCount < 4) ? 5 : readingsCount; /// readingsCount is at least 4
this.maxSpread = (maxSpread == 0) ? (balanceDev.Capacity / 20000.0) : maxSpread;
this.method = method;
if (readingsCount == 0)
this.totalReadingsCount = 5;
else if (readingsCount < 3)
this.totalReadingsCount = 3;
else
this.totalReadingsCount = readingsCount;
if (maxSpread == 0)
this.maxSpread = balanceDev.Capacity / 20000;
else
this.maxSpread = maxSpread;
this.method = method;
this.result = result;
massReadings = new double[totalReadingsCount];
currentReadingsCount = 0;
measurementCompleted = false;
log.Debug(this.ToString());
}
@@ -58,12 +62,12 @@ namespace TBF.BenchControl.MettlerToledo.Standard
public void Start()
{
currentReadingsCount = 0;
measurementCompleted = false;
massReadings = new double[totalReadingsCount];
if (method == Config.Entities.MassMethod.Scale)
balanceDev.GetStableMassMeasurement();
if (method)
balanceDev.GetImmediateMassMeasurement();
else
balanceDev.GetImmediateMassMeasurement();
balanceDev.GetStableMassMeasurement();
}
/// <summary>Run this operation</summary>
@@ -74,103 +78,68 @@ namespace TBF.BenchControl.MettlerToledo.Standard
/// </returns>
public Event Run()
{
if (measurementCompleted) return Event.BalanceDone;
if (balanceDev.MsrmntState == MsrmntState.Busy)
{
return Event.None; /// Wait for a mass measurement
}
if (currentReadingsCount >= totalReadingsCount) return Event.BalanceDone; /// Mass has already been calculated
if (balanceDev.MsrmntState == MsrmntState.Busy) return Event.None;
if (balanceDev.MsrmntState == MsrmntState.Valid)
{
/// Save the measurement
if (currentReadingsCount < totalReadingsCount)
massReadings[currentReadingsCount++] = balanceDev.Mass;
if (currentReadingsCount == totalReadingsCount)
{
massReadings[currentReadingsCount++] = balanceDev.Mass;
}
else
{
/// Shift data in the (already full) buffer, save the mass into the last buffer item
for (int i = 1; i < totalReadingsCount; i++)
{
massReadings[i - 1] = massReadings[i];
}
massReadings[totalReadingsCount - 1] = balanceDev.Mass;
}
}
if (currentReadingsCount >= totalReadingsCount)
{
Array.Sort(massReadings);
#if STABLE_MASS_EXTRAS
if (method == Config.Entities.MassMethod.Spread)
{
/// Immediate mass measurement, end condition calculated below
if ((massReadings[totalReadingsCount - 2] - massReadings[1]) <= maxSpread)
{
double massSum = 0;
for (int i = 1; i < totalReadingsCount - 1; i++) massSum += massReadings[i];
result.Val = (massSum / (totalReadingsCount - 2));
log.InfoFormat("ReadStableMassOp.Run() ... valid mass={0} ... returning Event.BalanceDone", result.Val);
measurementCompleted = true;
return Event.BalanceDone; /// Mass has just been calculated
}
}
else if (method == Config.Entities.MassMethod.StdDev)
{
/// Immediate mass measurement, end condition calculated below
double massSum = 0;
for (int i = 1; i < totalReadingsCount - 1; i++) massSum += massReadings[i];
double ave = (massSum / (totalReadingsCount - 2));
double sdev = 0;
for (int i = 1; i < totalReadingsCount - 1; i++) sdev += ((massReadings[i] - ave) * (massReadings[i] - ave));
if (Math.Sqrt(sdev / (totalReadingsCount - 2)) <= maxSpread)
{
result.Val = ave;
log.InfoFormat("ReadStableMassOp.Run() ... valid mass={0} ... returning Event.BalanceDone", result.Val);
measurementCompleted = true;
return Event.BalanceDone; /// Mass has just been calculated
}
}
else
#endif
{
/// Stable mass measurement
/// Sort, exclude min. and max. values, calculate the average
double massSum = 0;
for (int i = 1; i < totalReadingsCount - 1; i++) massSum += massReadings[i];
result.Val = (massSum / (totalReadingsCount - 2));
log.InfoFormat("ReadStableMassOp.Run() ... valid mass={0} ... returning Event.BalanceDone", result.Val);
measurementCompleted = true;
#if true /// OLD_WAY_OF_MASS_CALCULATION
/// Exclude min. and max. value, calculate average
Array.Sort(massReadings);
double calcMass = 0;
for (int i = 1; i < totalReadingsCount - 1; i++)
{
calcMass += massReadings[i];
}
calcMass = (calcMass / (totalReadingsCount - 2));
log.InfoFormat("ReadStableMassOp.Run() ... valid mass={0} ... returning Event.BalanceDone", calcMass);
result.Val = calcMass;
return Event.BalanceDone; /// Mass has just been calculated
#else
double minimum = double.MaxValue;
double maximum = double.MinValue;
foreach (double val in massReadings)
{
if (val < minimum) minimum = val;
if (val > maximum) maximum = val;
}
if ((maximum - minimum) <= maxSpread)
{
double calcMass = 0;
for (int i = 0; i < totalReadingsCount; i++)
{
calcMass += massReadings[i];
}
calcMass = (calcMass / totalReadingsCount);
log.InfoFormat("ReadStableMassOp.Run() ... valid mass={0} ... returning Event.BalanceDone", calcMass);
result.Val = calcMass;
return Event.BalanceDone; /// Mass has just been calculated
}
else
{
/// Shift data and decrement 'currentReadingsCount'
for (int i = 0; i < totalReadingsCount - 1; i++)
{
massReadings[i] = massReadings[i + 1];
}
currentReadingsCount--;
}
#endif
}
}
if (measurementCompleted)
{
return Event.BalanceDone;
}
else
{
///
/// Start a new measurement
///
if (method == Config.Entities.MassMethod.Scale)
balanceDev.GetStableMassMeasurement();
else
balanceDev.GetImmediateMassMeasurement();
return Event.None;
}
if (method)
balanceDev.GetImmediateMassMeasurement();
else
balanceDev.GetStableMassMeasurement();
return Event.None;
}
/// <summary>Stop this operation</summary>
@@ -2,155 +2,25 @@
/// Copyright (c) 2017 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
using log4net;
using TBF.BenchControl.GenericDevices;
using TBF.Resources;
namespace TBF.BenchControl.MettlerToledo
{
public enum DrainState
public class TankDraining : ComponentBase
{
None,
OpeningDV_Start,
OpeningDV_Run,
OpeningDV_Stop,
Draining,
ClosingDV_Start,
ClosingDV_Run,
ClosingDV_Stop,
TankClosed,
}
public class TankDraining : ComponentBase, ITankDraining
{
private static readonly ILog log = LogManager.GetLogger(typeof(TankDraining));
readonly GenericDevices.ITankDrainingCfg tankDrainingCfg;
private IValve drainValve;
public GenericDevices.IValve DrainValve { get { return drainValve; } }
private IOperation openDrainValveOp;
private IOperation closeDrainValveOp;
DrainState drainState;
public GenericDevices.IValve DrainValve;
GenericDevices.ITankDrainingCfg tankManagementCfg;
public TankDraining()
: base()
{
CreateConditions(false);
}
public TankDraining(Generic.IComponentCfg cfg)
: base(cfg)
{
tankDrainingCfg = cfg as GenericDevices.ITankDrainingCfg;
if (tankDrainingCfg == null) throw new Exception(string.Format("Cannot create component {0}", cfg.Name));
CreateConditions(true);
}
protected void Initalize()
{
drainValve = TbfComponents.FindComponent(tankDrainingCfg.DrainValve) as IValve;
openDrainValveOp = new Elde.SetValvesOp(StateMachine.ControlBoard, drainValve, null);
closeDrainValveOp = new Elde.SetValvesOp(StateMachine.ControlBoard, null, drainValve);
}
protected void RunBefore()
{
switch (drainState)
{
case DrainState.OpeningDV_Start:
openDrainValveOp.Start();
drainState = DrainState.OpeningDV_Run;
return;
case DrainState.OpeningDV_Run:
if (openDrainValveOp.Run() == Event.ValvesSet) drainState = DrainState.OpeningDV_Stop;
return;
case DrainState.OpeningDV_Stop:
openDrainValveOp.Stop();
return;
case DrainState.Draining:
if (IsEmpty()) drainState = DrainState.ClosingDV_Start;
return;
case DrainState.ClosingDV_Start:
closeDrainValveOp.Start();
drainState = DrainState.ClosingDV_Run;
return;
case DrainState.ClosingDV_Run:
if (closeDrainValveOp.Run() == Event.ValvesSet) drainState = DrainState.ClosingDV_Stop;
return;
case DrainState.ClosingDV_Stop:
closeDrainValveOp.Stop();
return;
default:
return;
}
}
protected void RunAfter() { } /// Not used
public virtual string GetName() { return string.Empty; }
public virtual bool IsEmpty() { return false; }
///
/// ISequenceCondition interface implementation (conditions in transition sequences)
///
IList<string> sequenceConditionNames;
IList<IOperation> sequenceConditions;
public int ConditionsCount { get { return sequenceConditions != null ? sequenceConditions.Count : 0; } }
/// Strings are added to the combo-box for transition sequence condition selection
public string ConditionName(int i)
{
if (sequenceConditionNames != null && i < sequenceConditionNames.Count && i >= 0)
return sequenceConditionNames[i];
else
return string.Empty;
}
/// Operations are executed as a part of a transition sequence
public IOperation ConditionOp(int i)
{
if (sequenceConditions != null && i < sequenceConditions.Count && i >= 0)
return sequenceConditions[i];
else
return null;
}
void ClearConditions()
{
sequenceConditionNames = new List<string>();
sequenceConditions = new List<IOperation>();
}
void AddCondition(string conditionName, bool createOperation, IOperation conditionOperation)
{
sequenceConditionNames.Add(conditionName);
if (createOperation) sequenceConditions.Add(conditionOperation);
}
/// <summary>
/// Create a list of conditions
/// </summary>
/// <param name="createOps">true = create names and condition operations, false = create names only</param>
void CreateConditions(bool createOps)
{
ClearConditions();
AddCondition(string.Format(Strings.Wait_until_0_tank_is_empty, GetName()), createOps, new WaitTankEmptyOp(this));
tankManagementCfg = cfg as GenericDevices.ITankDrainingCfg;
if (tankManagementCfg == null) throw new Exception(string.Format("Cannot create component {0}", cfg.Name));
}
}
}
@@ -1,50 +0,0 @@
///
/// Copyright (c) 2017 Sensus Metering Systems
///
using log4net;
namespace TBF.BenchControl.MettlerToledo
{
public class WaitTankEmptyOp : IOperation
{
private static readonly ILog log = LogManager.GetLogger(typeof(WaitTankEmptyOp));
public override string ToString() { return string.Format("WaitTankEmptyOp()"); }
readonly GenericDevices.ITankDraining tankDraining;
bool conditionMet;
/// <summary>
/// Events: ConditionMet, ConditionNotMet
/// </summary>
/// <param name="tankDraining">Tank draining (Balance device) instance</param>
public WaitTankEmptyOp(GenericDevices.ITankDraining tankDraining)
{
this.tankDraining = tankDraining;
log.Debug(this.ToString());
}
/// <summary>Start this operation</summary>
public void Start()
{
conditionMet = tankDraining.IsEmpty();
}
/// <summary>Run this operation</summary>
/// <returns>
/// Event.ConditionMet . . . tank is empty
/// Event.ConditionNotMet . tank is not empty
/// </returns>
public Event Run()
{
conditionMet = conditionMet || tankDraining.IsEmpty();
return conditionMet ? Event.ConditionMet : Event.ConditionNotMet;
}
/// <summary>Stop this operation</summary>
public void Stop()
{
}
}
}
@@ -298,18 +298,26 @@ namespace TBF.BenchControl.Modbus.TankSelector
public string ConditionName(int i)
{
if (sequenceConditionNames != null && i < sequenceConditionNames.Count && i >= 0)
{
return sequenceConditionNames[i];
}
else
{
return string.Empty;
}
}
/// Operations are executed as a part of a transition sequence
public IOperation ConditionOp(int i)
{
if (sequenceConditions != null && i < sequenceConditions.Count && i >= 0)
{
return sequenceConditions[i];
}
else
{
return null;
}
}
void ClearConditions()
@@ -127,9 +127,9 @@ namespace TBF.BenchControl.Sequences
State startNew = State.Create("MainSeq : Emptying tanks")
.AddOperation(checkUiOp);
IList<IValve> allEmptyingValves = new List<IValve>();
if (StateMachine.DrainValve1 != null) allEmptyingValves.Add(StateMachine.DrainValve1);
if (StateMachine.DrainValve2 != null) allEmptyingValves.Add(StateMachine.DrainValve2);
if (StateMachine.DrainValve3 != null) allEmptyingValves.Add(StateMachine.DrainValve3);
if (StateMachine.EmptyTankValve1 != null) allEmptyingValves.Add(StateMachine.EmptyTankValve1);
if (StateMachine.EmptyTankValve2 != null) allEmptyingValves.Add(StateMachine.EmptyTankValve2);
if (StateMachine.EmptyTankValve3 != null) allEmptyingValves.Add(StateMachine.EmptyTankValve3);
// Determine the tank emptying time (the maximum for all balances)
int balanceEmptyTime = 0;
@@ -1126,9 +1126,9 @@ namespace TBF.BenchControl.Sequences
ButtonsEtc.SensitivityTestBtnEn |
((Cameras.Count > 0) ? ButtonsEtc.CalibrationBtnEn : 0) |
ButtonsEtc.Break)) |
(((StateMachine.Balance1 != null) && (StateMachine.DrainValve1 != null) && !emptying1) ? ButtonsEtc.EmptyTankBtn1En : 0) |
(((StateMachine.Balance2 != null) && (StateMachine.DrainValve2 != null) && !emptying2) ? ButtonsEtc.EmptyTankBtn2En : 0) |
(((StateMachine.Balance3 != null) && (StateMachine.DrainValve3 != null) && !emptying3) ? ButtonsEtc.EmptyTankBtn3En : 0));
(((StateMachine.Balance1 != null) && (StateMachine.EmptyTankValve1 != null) && !emptying1) ? ButtonsEtc.EmptyTankBtn1En : 0) |
(((StateMachine.Balance2 != null) && (StateMachine.EmptyTankValve2 != null) && !emptying2) ? ButtonsEtc.EmptyTankBtn2En : 0) |
(((StateMachine.Balance3 != null) && (StateMachine.EmptyTankValve3 != null) && !emptying3) ? ButtonsEtc.EmptyTankBtn3En : 0));
selection = Selection.None;
State.Create("MainSeq : Select an activity")
@@ -1171,9 +1171,9 @@ namespace TBF.BenchControl.Sequences
if (emptying1 || emptying2 || emptying3)
{
IList<IValve> valvesClose = new List<IValve>();
if (emptying1) valvesClose.Add(StateMachine.DrainValve1);
if (emptying2) valvesClose.Add(StateMachine.DrainValve2);
if (emptying3) valvesClose.Add(StateMachine.DrainValve3);
if (emptying1) valvesClose.Add(StateMachine.EmptyTankValve1);
if (emptying2) valvesClose.Add(StateMachine.EmptyTankValve2);
if (emptying3) valvesClose.Add(StateMachine.EmptyTankValve3);
State.Create("MainSeq : Close emptying valve(s)")
.AddOperation(StateMachine.ControlBoard.SetValvesOp(null, valvesClose))
@@ -1193,7 +1193,7 @@ namespace TBF.BenchControl.Sequences
(emptying2 ? 0 : ButtonsEtc.EmptyTankBtn2En) |
(emptying3 ? 0 : ButtonsEtc.EmptyTankBtn3En));
State.Create("MainSeq : Open tank 1")
.AddOperation(StateMachine.ControlBoard.SetValvesOp(StateMachine.DrainValve1, null))
.AddOperation(StateMachine.ControlBoard.SetValvesOp(StateMachine.EmptyTankValve1, null))
.EnterState();
do { e = StateMachine.WaitRunDevsRunOps(); }
while (!e.Contains(Event.ValvesSet));
@@ -1207,7 +1207,7 @@ namespace TBF.BenchControl.Sequences
(emptying1 ? 0 : ButtonsEtc.EmptyTankBtn1En) |
(emptying3 ? 0 : ButtonsEtc.EmptyTankBtn3En));
State.Create("MainSeq : Open tank 2")
.AddOperation(StateMachine.ControlBoard.SetValvesOp(StateMachine.DrainValve2, null))
.AddOperation(StateMachine.ControlBoard.SetValvesOp(StateMachine.EmptyTankValve2, null))
.EnterState();
do { e = StateMachine.WaitRunDevsRunOps(); }
while (!e.Contains(Event.ValvesSet));
@@ -1221,7 +1221,7 @@ namespace TBF.BenchControl.Sequences
(emptying1 ? 0 : ButtonsEtc.EmptyTankBtn1En) |
(emptying2 ? 0 : ButtonsEtc.EmptyTankBtn2En));
State.Create("MainSeq : Open tank 3")
.AddOperation(StateMachine.ControlBoard.SetValvesOp(StateMachine.DrainValve3, null))
.AddOperation(StateMachine.ControlBoard.SetValvesOp(StateMachine.EmptyTankValve3, null))
.EnterState();
do { e = StateMachine.WaitRunDevsRunOps(); }
while (!e.Contains(Event.ValvesSet));
@@ -1229,7 +1229,7 @@ namespace TBF.BenchControl.Sequences
else if (selection == Selection.CloseTank1)
{
State.Create("MainSeq : Close tank 1")
.AddOperation(StateMachine.ControlBoard.SetValvesOp(null, StateMachine.DrainValve1))
.AddOperation(StateMachine.ControlBoard.SetValvesOp(null, StateMachine.EmptyTankValve1))
.EnterState();
do { e = StateMachine.WaitRunDevsRunOps(); }
while (!e.Contains(Event.ValvesSet));
@@ -1238,7 +1238,7 @@ namespace TBF.BenchControl.Sequences
else if (selection == Selection.CloseTank2)
{
State.Create("MainSeq : Close tank 2")
.AddOperation(StateMachine.ControlBoard.SetValvesOp(null, StateMachine.DrainValve2))
.AddOperation(StateMachine.ControlBoard.SetValvesOp(null, StateMachine.EmptyTankValve2))
.EnterState();
do { e = StateMachine.WaitRunDevsRunOps(); }
while (!e.Contains(Event.ValvesSet));
@@ -1247,7 +1247,7 @@ namespace TBF.BenchControl.Sequences
else if (selection == Selection.CloseTank3)
{
State.Create("MainSeq : Close tank 3")
.AddOperation(StateMachine.ControlBoard.SetValvesOp(null, StateMachine.DrainValve3))
.AddOperation(StateMachine.ControlBoard.SetValvesOp(null, StateMachine.EmptyTankValve3))
.EnterState();
do { e = StateMachine.WaitRunDevsRunOps(); }
while (!e.Contains(Event.ValvesSet));
+7 -11
View File
@@ -11,9 +11,9 @@ namespace TBF.BenchControl
public class State
{
/// <summary>
/// DEBUG: operation.Start(), operation.Stop()
/// INFO: operation.Run() when returned event != Event.None
/// WARN: EnterState() only state changes
/// DEBUG: all state changes and all operations
/// INFO: all state changes and operations that returned evnt != Event.None
/// WARN: only state changes
/// </summary>
private static readonly ILog log = LogManager.GetLogger(typeof(State));
public override string ToString() { return Name + (Label==null ? "" : ", label=" + Label); }
@@ -193,13 +193,9 @@ namespace TBF.BenchControl
Event evnt = operation.Run();
if (evnt != Event.None)
{
log.InfoFormat("Operation {0}.Run() returned {1}", operation, evnt);
log.DebugFormat("Operation {0} returned {1}", operation, evnt);
events.Add(evnt);
}
else
{
log.DebugFormat("Operation {0}.Run() returned {1}", operation, evnt);
}
}
LastEvents = events;
@@ -213,7 +209,7 @@ namespace TBF.BenchControl
{
foreach (IOperation operation in currentState.Operations)
{
log.DebugFormat("stopping {0}", operation);
log.InfoFormat("stopping {0}", operation);
operation.Stop();
}
}
@@ -230,7 +226,7 @@ namespace TBF.BenchControl
{
if (!newState.Operations.Contains(operation))
{
log.DebugFormat("stopping {0}", operation);
log.InfoFormat("stopping {0}", operation);
operation.Stop();
}
}
@@ -242,7 +238,7 @@ namespace TBF.BenchControl
{
if (!previousState.Operations.Contains(operation))
{
log.DebugFormat("starting {0}", operation);
log.InfoFormat("starting {0}", operation);
operation.Start();
}
}
+24 -34
View File
@@ -48,9 +48,9 @@ namespace TBF.BenchControl
public static GenericDevices.IBalance Balance1;
public static GenericDevices.IBalance Balance2;
public static GenericDevices.IBalance Balance3;
public static GenericDevices.IValve DrainValve1;
public static GenericDevices.IValve DrainValve2;
public static GenericDevices.IValve DrainValve3;
public static GenericDevices.IValve EmptyTankValve1;
public static GenericDevices.IValve EmptyTankValve2;
public static GenericDevices.IValve EmptyTankValve3;
public static IList<IValve> MasterValves; /// list of directly controlled valves
public static IList<IValve> CoupledValves; /// list of coupled valves
public static IList<Elde.ValveEx.Valve> ExtendedValves; /// list of extended valves
@@ -235,9 +235,9 @@ namespace TBF.BenchControl
IBalance balance = cmpnt as IBalance;
balances.Add(balance);
if (balance.BalanceNr == 0) Balance1 = balance;
else if (balance.BalanceNr == 1) Balance2 = balance;
else if (balance.BalanceNr == 2) Balance3 = balance;
if (balance.BalanceNr == 0) Balance1 = balance;
else if (balance.BalanceNr == 1) Balance2 = balance;
else if (balance.BalanceNr == 2) Balance3 = balance;
}
Elde.Valve.Valve eldeValve = (cmpnt as Elde.Valve.Valve);
@@ -291,10 +291,7 @@ namespace TBF.BenchControl
CurrentlyInitializedDeviceName = "---";
///
/// (1) Propagate debug levels from parents to children when necessary
/// (2) Set drain valves DrainValve1, DrainValve2 and DrainValve3
///
/// Propagate debug levels from parents to children when necessary
foreach (var cmpnt in components)
{
if (cmpnt.Cfg is IChildComponentCfg && !string.IsNullOrEmpty(cmpnt.Cfg.ParentName) &&
@@ -305,30 +302,6 @@ namespace TBF.BenchControl
if (par.Cfg.Name.Equals(cmpnt.Cfg.ParentName)) { cmpnt.Cfg.DebugLevel = par.Cfg.DebugLevel; break; }
}
}
if (cmpnt is IBalance)
{
IBalance balance = cmpnt as IBalance;
if (balance.BalanceNr == 0)
{
DrainValve1 = balance.DrainValve;
log.WarnFormat("InitializeBoardEtc() ... Scale1={0} Draining valve1={1}",
balance.Name, (DrainValve1 != null) ? DrainValve1.Name : "---");
}
else if (balance.BalanceNr == 1)
{
DrainValve2 = balance.DrainValve;
log.WarnFormat("InitializeBoardEtc() ... Scale2={0} Draining valve2={1}",
balance.Name, (DrainValve2 != null) ? DrainValve2.Name : "---");
}
else if (balance.BalanceNr == 2)
{
DrainValve3 = balance.DrainValve;
log.WarnFormat("InitializeBoardEtc() ... Scale3={0} Draining valve3={1}",
balance.Name, (DrainValve3 != null) ? DrainValve3.Name : "---");
}
}
}
if (anyComponentIsInSimulMode)
@@ -375,6 +348,23 @@ namespace TBF.BenchControl
#if HEAT_METERS
heatMetersPaths = session.QueryOver<Config.Entities.HeatMetersPath>().OrderBy(x => x.ItemNr).Asc.List();
#endif
// Automatic detection of empty tank valves
foreach (var opath in outputPaths)
{
if ((EmptyTankValve1 == null) && (Balance1 != null) && (opath.Balance == Balance1.Cfg.Name))
{
EmptyTankValve1 = TbfComponents.FindComponent(opath.EmptyTankValve) as IValve;
}
if ((EmptyTankValve2 == null) && (Balance2 != null) && (opath.Balance == Balance2.Cfg.Name))
{
EmptyTankValve2 = TbfComponents.FindComponent(opath.EmptyTankValve) as IValve;
}
if ((EmptyTankValve3 == null) && (Balance3 != null) && (opath.Balance == Balance3.Cfg.Name))
{
EmptyTankValve3 = TbfComponents.FindComponent(opath.EmptyTankValve) as IValve;
}
}
if (loadPathsOnly) return;
@@ -101,15 +101,6 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
int repetitionNr = outerLoopMode ? outerLoopCounter : 1; /// First test: repetitionNr = 1
if (test.Volume >= outPath.Balance.Capacity * Constants.TankFullFactor)
{
Bridge.OnError(this, Strings.Test_volume_exceeds_the_scale_capacity);
retVal = Event.UiCmdStop;
goto stopTestWOTransitionAfter;
}
//====================================
// Transition or SetRoute - Start
//====================================
@@ -133,6 +124,13 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
//------------------------------------------------
Bridge.OnActivity(this, Strings.Checking_tank_capacity);
//------------------------------------------------
if (test.Volume >= outPath.Balance.Capacity * Constants.TankFullFactor)
{
Bridge.OnError(this, Strings.Test_volume_exceeds_the_scale_capacity);
retVal = Event.Error;
goto stopTest;
}
bool emptyTheTank = test.Emptying;
if (!emptyTheTank) /// If condition met => skip measuring and force emptying
@@ -985,8 +983,6 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
case Event.UiCmdStop: { if (retVal == Event.Done) retVal = Event.UiCmdStop; break; }
}
stopTestWOTransitionAfter:
Bridge.OnTestProgress(this, new TestProgressEventArgs(test, repetitionNr, Config.Entities.Progress.Completed));
/// Create a list with one item 'retVal' (default is Event.Done) and return it
@@ -1,5 +1,5 @@
///
/// Copyright (c) 2013-2017 Sensus Metering Systems
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System;
using System.IO;
@@ -20,7 +20,6 @@ namespace TBF.BenchControl.WaterMeters.WaterMeter
public float L; /// stavebná dĺžka [mm]
public Mounting Mounting;
public bool NewQnames; /// true = display Q4,Q3,Q2,Q1, false = display Qmax, Qn, Qt, Qmin
public float Qmax; /// [m3/h]
public float Qn; /// [m3/h]
public float Qt; /// [m3/h]
@@ -53,7 +52,6 @@ namespace TBF.BenchControl.WaterMeters.WaterMeter
DN = 0;
L = 0;
Mounting = Mounting.NotSpecified;
NewQnames = false;
Qmax = 4.0f;
Qn = 2.5f;
Qt = 0.005f;
@@ -82,7 +80,6 @@ namespace TBF.BenchControl.WaterMeters.WaterMeter
"DN",
Strings.L,
Strings.Mounting,
Strings.New_Q_names,
Strings.Qmax,
Strings.Qn,
Strings.Qt,
@@ -103,18 +100,7 @@ namespace TBF.BenchControl.WaterMeters.WaterMeter
Strings.Water, /// "Woda"
};
public override string ParamName(int i)
{
string name = paramNames[i];
if (NewQnames && name.Equals(Strings.Qmax)) name = "Q4";
if (NewQnames && name.Equals(Strings.Qn)) name = "Q3";
if (NewQnames && name.Equals(Strings.Qt)) name = "Q2";
if (NewQnames && name.Equals(Strings.Qmin)) name = "Q1";
return name;
}
public override string ParamName(int i) { return paramNames[i]; }
public override int ParamsCount() { return paramNames.Length; }
public override string ToString(int i)
@@ -126,26 +112,25 @@ namespace TBF.BenchControl.WaterMeters.WaterMeter
case 2: return DN.ToString();
case 3: return L.ToString();
case 4: return Mounting.ToDescription();
case 5: return (NewQnames ? Strings.yes : Strings.no);
case 6: return Qmax.ToString();
case 7: return Qn.ToString();
case 8: return Qt.ToString();
case 9: return Qmin.ToString();
case 10: return MetrologicalClass;
case 11: return TemperatureClass.ToDescription();
case 12: return PressureLossClass.ToDescription();
case 13: return MaxAdmissiblePressure.ToDescription();
case 14: return FlowProfileSensitivityClass.ToDescription();
case 15: return ApprovalInfo;
case 16: return Certificate;
case 17: return PulsesPerLtr.ToString();
case 18: return Text1;
case 19: return Text2;
case 20: return Text3;
case 21: return Text4;
case 22: return Text5;
case 5: return Qmax.ToString();
case 6: return Qn.ToString();
case 7: return Qt.ToString();
case 8: return Qmin.ToString();
case 9: return MetrologicalClass;
case 10: return TemperatureClass.ToDescription();
case 11: return PressureLossClass.ToDescription();
case 12: return MaxAdmissiblePressure.ToDescription();
case 13: return FlowProfileSensitivityClass.ToDescription();
case 14: return ApprovalInfo;
case 15: return Certificate;
case 16: return PulsesPerLtr.ToString();
case 17: return Text1;
case 18: return Text2;
case 19: return Text3;
case 20: return Text4;
case 21: return Text5;
case 23: return (WaterTemp == Medium.HotWater) ? Strings.hot : Strings.cold; /// "tepla" : "zimna";
case 22: return (WaterTemp == Medium.HotWater) ? Strings.hot : Strings.cold; /// "tepla" : "zimna";
default: return string.Empty;
}
}
@@ -164,46 +149,45 @@ namespace TBF.BenchControl.WaterMeters.WaterMeter
if (m.ToDescription().Equals(strValue)) { Mounting = m; return; }
}
break;
case 5: NewQnames = strValue.Equals(Strings.yes); return;
case 6: Qmax = Utils.ParseUFloat(strValue); return;
case 7: Qn = Utils.ParseUFloat(strValue); return;
case 8: Qt = Utils.ParseUFloat(strValue); return;
case 9: Qmin = Utils.ParseUFloat(strValue); return;
case 10: MetrologicalClass = strValue; return;
case 11:
case 5: Qmax = Utils.ParseUFloat(strValue); return;
case 6: Qn = Utils.ParseUFloat(strValue); return;
case 7: Qt = Utils.ParseUFloat(strValue); return;
case 8: Qmin = Utils.ParseUFloat(strValue); return;
case 9: MetrologicalClass = strValue; return;
case 10:
for (TemperatureClass tc = 0; tc < TemperatureClass.Count; tc++)
{
if (tc.ToDescription().Equals(strValue)) { TemperatureClass = tc; return; }
}
break;
case 12:
case 11:
for (PressureLossClass dp = 0; dp < PressureLossClass.Count; dp++)
{
if (dp.ToDescription().Equals(strValue)) { PressureLossClass = dp; return; }
}
break;
case 13:
case 12:
for (MaxAdmissiblePressure map = 0; map < MaxAdmissiblePressure.Count; map++)
{
if (map.ToDescription().Equals(strValue)) { MaxAdmissiblePressure = map; return; }
}
break;
case 14:
case 13:
for (FlowProfileSensitivityClass fps = 0; fps < FlowProfileSensitivityClass.Count; fps++)
{
if (fps.ToDescription().Equals(strValue)) { FlowProfileSensitivityClass = fps; return; }
}
break;
case 15: ApprovalInfo = strValue; return;
case 16: Certificate = strValue; return;
case 17: PulsesPerLtr = Utils.ParseUFloat(strValue); return;
case 18: Text1 = strValue; return;
case 19: Text2 = strValue; return;
case 20: Text3 = strValue; return;
case 21: Text4 = strValue; return;
case 22: Text5 = strValue; return;
case 14: ApprovalInfo = strValue; return;
case 15: Certificate = strValue; return;
case 16: PulsesPerLtr = Utils.ParseUFloat(strValue); return;
case 17: Text1 = strValue; return;
case 18: Text2 = strValue; return;
case 19: Text3 = strValue; return;
case 20: Text4 = strValue; return;
case 21: Text5 = strValue; return;
case 23: WaterTemp = strValue.Equals(Strings.hot) ? Medium.HotWater : Medium.ColdWater; return; /// "tepla"
case 22: WaterTemp = strValue.Equals(Strings.hot) ? Medium.HotWater : Medium.ColdWater; return; /// "tepla"
default: return;
}
}
@@ -217,43 +201,40 @@ namespace TBF.BenchControl.WaterMeters.WaterMeter
{
case 0: /// ProductName
case 1: /// Producer
case 10: /// MetrologicalClass
case 15: /// ApprovalInfo
case 16: /// Certificate
case 18: /// Text1
case 19: /// Text2
case 20: /// Text3
case 21: /// Text4
case 22: /// Text5
case 9: /// MetrologicalClass
case 14: /// ApprovalInfo
case 15: /// Certificate
case 17: /// Text1
case 18: /// Text2
case 19: /// Text3
case 20: /// Text4
case 21: /// Text5
return true;
case 5:
if (strValue.Equals(Strings.yes) || strValue.Equals(Strings.no)) return true;
break;
case 2: /// DN
case 2: /// DN
case 3: /// L
case 6: /// Qmax
case 7: /// Qn
case 8: /// Qt
case 9: /// Qmin
case 17: /// PulsesPerLtr
case 5: /// Qmax
case 6: /// Qn
case 7: /// Qt
case 8: /// Qmin
case 16: /// PulsesPerLtr
if (Utils.TryParseUFloat(strValue, out dummy)) return true;
break;
case 4:
for (Mounting tc = 0; tc < Mounting.Count; tc++) if (tc.ToDescription().Equals(strValue)) return true;
break;
case 11:
case 10:
for (TemperatureClass tc = 0; tc < TemperatureClass.Count; tc++) if (tc.ToDescription().Equals(strValue)) return true;
break;
case 12:
case 11:
for (PressureLossClass tc = 0; tc < PressureLossClass.Count; tc++) if (tc.ToDescription().Equals(strValue)) return true;
break;
case 13:
case 12:
for (MaxAdmissiblePressure map = 0; map < MaxAdmissiblePressure.Count; map++) if (map.ToDescription().Equals(strValue)) return true;
break;
case 14:
case 13:
for (FlowProfileSensitivityClass tc = 0; tc < FlowProfileSensitivityClass.Count; tc++) if (tc.ToDescription().Equals(strValue)) return true;
break;
case 23:
case 22:
if (strValue.Equals(Strings.cold) || strValue.Equals(Strings.hot)) return true; /// "zimna", "tepla"
break;
default:
@@ -272,7 +253,6 @@ namespace TBF.BenchControl.WaterMeters.WaterMeter
prms.DN = this.DN;
prms.L = this.L;
prms.Mounting = this.Mounting;
prms.NewQnames = this.NewQnames;
prms.Qmax = this.Qmax;
prms.Qn = this.Qn;
prms.Qt = this.Qt;
@@ -54,15 +54,11 @@ namespace TBF.Forms
sentCheckBox.Checked = Sent;
sendButton.Enabled = true; /// 'Print again' function always available
sendButton.Text = Strings.Print_again;
#elif ORACLE_DB
#else
sentCheckBox.Text = Strings.Sent;
sentCheckBox.Checked = Sent;
sendButton.Enabled = !Sent;
sendButton.Text = Strings.Again;
#else
sentCheckBox.Visible = false;
sendButton.Enabled = false;
sendButton.Visible = false;
#endif
showButton.Text = Strings.Show;
}
@@ -73,11 +69,11 @@ namespace TBF.Forms
#if MUNICH
sentCheckBox.Checked = sent;
sendButton.Enabled = true;
#elif ORACLE_DB
#else
sentCheckBox.Checked = sent;
sendButton.Enabled = !sent;
#endif
}
}
private void sendButton_Click(object sender, EventArgs e)
{
+1 -1
View File
@@ -54,7 +54,7 @@ namespace TBF
this.horizontalSplitContainer = new System.Windows.Forms.SplitContainer();
this.mainTabControl = new System.Windows.Forms.TabControl();
this.homeTabPage = new System.Windows.Forms.TabPage();
this.ctrlBrdComponent = new ControlComponent3Munich.UserControl1();
this.ctrlBrdComponent = new ControlComponent_Torino2015.UserControl1();
this.processTabPage = new System.Windows.Forms.TabPage();
this.processTabPageCtrl = new TBF.Screens.ProcessTabPageCtrl6();
this.insertTabPage = new System.Windows.Forms.TabPage();
+15 -52
View File
@@ -783,9 +783,9 @@ namespace TBF
Qfrom,
Qto,
PumpPower,
MassRepeats,
#if STABLE_MASS_EXTRAS
MassSpread,
MassRepeats,
MassSpread,
MassMethod,
#endif
Time_Pump2StartV,
@@ -804,9 +804,9 @@ namespace TBF
parametersListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Q_from_m3h, Width = 80 });
parametersListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Q_to_m3h, Width = 80 });
parametersListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Pump_power_pct, Width = 90 });
parametersListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Mass_repeats, Width = 90 });
#if STABLE_MASS_EXTRAS
parametersListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Mass_spread_kg, Width = 110 });
parametersListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Mass_repeats, Width = 90 });
parametersListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Mass_spread_kg, Width = 110 });
parametersListViewEx.Columns.Add(new ColumnHeader { Text = Strings.Mass_method, Width = 90 });
#endif
parametersListViewEx.Columns.Add(new ColumnHeader { Text = Strings.TimePump2StartV_chdr, Width = 70 });
@@ -821,8 +821,8 @@ namespace TBF
new TextBox(), /// Qfrom
new TextBox(), /// Qto
new ComboBox(), /// PumpPower
new TextBox(), /// MassRepeats
#if STABLE_MASS_EXTRAS
new TextBox(), /// MassRepeats
new TextBox(), /// MassSpread
new ComboBox(), /// MassMethod
#endif
@@ -848,10 +848,8 @@ namespace TBF
((ComboBox)parametersEditors[(int)ParametersClmn.PumpPower]).Items.Add("98");
((ComboBox)parametersEditors[(int)ParametersClmn.PumpPower]).Items.Add("100");
#if STABLE_MASS_EXTRAS
for (MassMethod mm = 0; mm < MassMethod.Count; mm++)
{
((ComboBox)parametersEditors[(int)ParametersClmn.MassMethod]).Items.Add(mm.ToDescription());
}
((ComboBox)parametersEditors[(int)ParametersClmn.MassMethod]).Items.Add(Strings.stable);
((ComboBox)parametersEditors[(int)ParametersClmn.MassMethod]).Items.Add(Strings.fast);
#endif
foreach (var ctrl in parametersEditors)
{
@@ -943,10 +941,10 @@ namespace TBF
/// Process subitems FeedingPath, ...
///
lviParameters.SubItems.Add(test.PumpPower.ToString("F1"));
lviParameters.SubItems.Add((test.MassRepeats < 4 ? 5 : test.MassRepeats).ToString());
#if STABLE_MASS_EXTRAS
lviParameters.SubItems.Add(test.MassSpread.ToString("F4"));
lviParameters.SubItems.Add(test.MassMethod.ToDescription());
lviParameters.SubItems.Add(test.MassRepeats.ToString());
lviParameters.SubItems.Add(test.MassSpread.ToString("F4"));
lviParameters.SubItems.Add(test.MassMethod ? "fast" : "stable");
#endif
lviParameters.SubItems.Add(test.TimePump2StartV.ToString());
lviParameters.SubItems.Add(test.TimeBeforeFlow.ToString());
@@ -1111,21 +1109,18 @@ namespace TBF
entity.PumpPower = powerPct;
}
entity.MassRepeats = int.Parse(lvi.SubItems[(int)ParametersClmn.MassRepeats].Text);
int itmp;
#if STABLE_MASS_EXTRAS
float massSpread;
if (int.TryParse(lvi.SubItems[(int)ParametersClmn.MassRepeats].Text, out itmp)) entity.MassRepeats = itmp;
float massSpread;
if (Utils.TryParseUFloat(lvi.SubItems[(int)ParametersClmn.MassSpread].Text, out massSpread) && massSpread >= 0)
{
entity.MassSpread = massSpread;
}
for (MassMethod mm = 0; mm < MassMethod.Count; mm++)
{
if (mm.ToDescription().Equals(lvi.SubItems[(int)ParametersClmn.MassMethod].Text)) entity.MassMethod = mm;
}
entity.MassMethod = lvi.SubItems[(int)ParametersClmn.MassMethod].Text.Equals(Strings.fast);
#endif
int itmp;
if (int.TryParse(lvi.SubItems[(int)ParametersClmn.Time_Pump2StartV].Text, out itmp)) entity.TimePump2StartV = itmp;
if (int.TryParse(lvi.SubItems[(int)ParametersClmn.Time_BeforeFlow].Text, out itmp)) entity.TimeBeforeFlow = itmp;
if (int.TryParse(lvi.SubItems[(int)ParametersClmn.Time_Flow2Mass].Text, out itmp)) entity.TimeFlow2Mass = itmp;
@@ -1488,38 +1483,6 @@ namespace TBF
e.DisplayText = e.Item.SubItems[e.SubItem].Text;
e.Cancel = true;
}
if ((e.SubItem == (int)ParametersClmn.MassRepeats) &&
(!int.TryParse(e.DisplayText, out itmp) || itmp < 4 || itmp > 100))
{
e.DisplayText = e.Item.SubItems[e.SubItem].Text;
e.Cancel = true;
}
#if STABLE_MASS_EXTRAS
if ((e.SubItem == (int)ParametersClmn.MassSpread) && !Utils.TryParseUFloat(e.DisplayText, out powerPct))
{
e.DisplayText = e.Item.SubItems[e.SubItem].Text;
e.Cancel = true;
}
if (e.SubItem == (int)ParametersClmn.MassMethod)
{
bool mmIsOk = false;
for (MassMethod mm = 0; mm < MassMethod.Count; mm++)
{
if (mm.ToDescription().Equals(e.DisplayText))
{
mmIsOk = true;
break;
}
}
if (!mmIsOk)
{
e.DisplayText = e.Item.SubItems[e.SubItem].Text;
e.Cancel = true;
}
}
#endif
}
#endregion
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("2.12.517.1")]
[assembly: AssemblyFileVersion("2.12.517.1")]
[assembly: AssemblyVersion("2.12.513.1")]
[assembly: AssemblyFileVersion("2.12.513.1")]
-18
View File
@@ -2193,15 +2193,6 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to New Q.
/// </summary>
internal static string New_Q_names {
get {
return ResourceManager.GetString("New_Q_names", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to PSens.
/// </summary>
@@ -4662,15 +4653,6 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Wait until {0} tank is empty.
/// </summary>
internal static string Wait_until_0_tank_is_empty {
get {
return ResourceManager.GetString("Wait_until_0_tank_is_empty", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Warning.
/// </summary>
@@ -1389,10 +1389,4 @@
<data name="Test_volume_exceeds_the_scale_capacity" xml:space="preserve">
<value>Prüfpunktvolumen uberschritt Behalter</value>
</data>
<data name="New_Q_names" xml:space="preserve">
<value>Neue Q</value>
</data>
<data name="Wait_until_0_tank_is_empty" xml:space="preserve">
<value>Warten bis {0} Behälter ist leer</value>
</data>
</root>
@@ -1690,10 +1690,4 @@
<data name="Passwords_different" xml:space="preserve">
<value>Fields 'Password' and 'Repeat password' are different. Retype them please.</value>
</data>
<data name="New_Q_names" xml:space="preserve">
<value>New Q</value>
</data>
<data name="Wait_until_0_tank_is_empty" xml:space="preserve">
<value>Wait until {0} tank is empty</value>
</data>
</root>
@@ -47,6 +47,10 @@ namespace TBF.Screens
{
InitializeComponent();
#if !(ORACLE_DB || MUNICH)
previousResultsButton.Visible = false;
#endif
Bridge.ProcedureSelectedHandler += delegate(object sender, ProcedureSelectedEventArgs args)
{
if (InvokeRequired)
+6 -7
View File
@@ -39,7 +39,7 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;MUNICH</DefineConstants>
<DefineConstants>TRACE;DEBUG;TORINO50</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
@@ -49,7 +49,7 @@
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;MUNICH</DefineConstants>
<DefineConstants>TRACE;TORINO50</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<PlatformTarget>x86</PlatformTarget>
@@ -58,7 +58,7 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;MUNICH</DefineConstants>
<DefineConstants>TRACE;DEBUG;TORINO50</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x86</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
@@ -67,7 +67,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
<OutputPath>bin\x86\Release\</OutputPath>
<DefineConstants>TRACE;MUNICH</DefineConstants>
<DefineConstants>TRACE;TORINO50</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x86</PlatformTarget>
@@ -98,7 +98,7 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="ControlComponent3Munich">
<HintPath>..\packages\ControlBoard\Munich\ControlComponent3Munich.dll</HintPath>
<HintPath>..\packages\ControlBoard\Torino50\ControlComponent3U.dll</HintPath>
</Reference>
<Reference Include="FluentNHibernate">
<HintPath>..\packages\FluentNHibernate.2.0.3.0\lib\net40\FluentNHibernate.dll</HintPath>
@@ -425,7 +425,6 @@
<Compile Include="BenchControl\Elde\PressureMeterInternal\PressureMeterFactory.cs" />
<Compile Include="BenchControl\Elde\PressureMeterInternal\ReadPressureOp.cs" />
<Compile Include="BenchControl\Elde\ExecuteCommandOp.cs" />
<Compile Include="BenchControl\Elde\SetValvesOp.cs" />
<Compile Include="BenchControl\Elde\TempMeterInternal\ReadTempOp.cs" />
<Compile Include="BenchControl\Elde\TempMeterInternal\TempMeter.cs" />
<Compile Include="BenchControl\Elde\TempMeterInternal\TempMeterCfg.cs" />
@@ -508,7 +507,6 @@
<Compile Include="BenchControl\MettlerToledo\Standard\SetUnitsOp.cs" />
<Compile Include="BenchControl\MettlerToledo\Standard\TaringOp.cs" />
<Compile Include="BenchControl\MettlerToledo\TankDraining.cs" />
<Compile Include="BenchControl\MettlerToledo\WaitTankEmptyOp.cs" />
<Compile Include="BenchControl\Modbus\Easytherm\Factory.cs" />
<Compile Include="BenchControl\Modbus\Easytherm\Easytherm.cs" />
<Compile Include="BenchControl\Modbus\Easytherm\EasythermCfg.cs" />
@@ -1343,6 +1341,7 @@
<Compile Include="BenchControl\Elde\RegulValve\RegulValveCfg.cs" />
<Compile Include="BenchControl\Elde\RegulValve\RegulValveFactory.cs" />
<Compile Include="BenchControl\Elde\RegulValve\SetFlowOp.cs" />
<Compile Include="BenchControl\Elde\Valve\SetValvesOp.cs" />
<Compile Include="BenchControl\Elde\TempMeter\TempMeter.cs" />
<Compile Include="BenchControl\Elde\TempMeter\TempMeterCfg.cs" />
<Compile Include="BenchControl\Elde\TempMeter\TempMeterFactory.cs" />
+257 -257
View File
@@ -31,263 +31,263 @@ namespace TBF.UiControls
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BenchControlPanel));
this.stopBtn = new System.Windows.Forms.Button();
this.startTestBtn = new System.Windows.Forms.Button();
this.startCycleBtn = new System.Windows.Forms.Button();
this.purgeBeginBtn = new System.Windows.Forms.Button();
this.purgeEndBtn = new System.Windows.Forms.Button();
this.breakBtn = new System.Windows.Forms.Button();
this.resetResultsBtn = new System.Windows.Forms.Button();
this.cameraTestBtn = new System.Windows.Forms.Button();
this.emptyTank1Btn = new System.Windows.Forms.Button();
this.sensitivityTestBtn = new System.Windows.Forms.Button();
this.emptyTank2Btn = new System.Windows.Forms.Button();
this.testGroupBox = new System.Windows.Forms.GroupBox();
this.startQ3Btn = new System.Windows.Forms.Button();
this.startQ2Btn = new System.Windows.Forms.Button();
this.startQ1Btn = new System.Windows.Forms.Button();
this.testComboBox = new System.Windows.Forms.ComboBox();
this.purgeGroupBox = new System.Windows.Forms.GroupBox();
this.emptyGroupBox = new System.Windows.Forms.GroupBox();
this.emptyTank3Btn = new System.Windows.Forms.Button();
this.otherGroupBox = new System.Windows.Forms.GroupBox();
this.nextButton = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.acceptResultsBtn = new System.Windows.Forms.Button();
this.testGroupBox.SuspendLayout();
this.purgeGroupBox.SuspendLayout();
this.emptyGroupBox.SuspendLayout();
this.otherGroupBox.SuspendLayout();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// stopBtn
//
resources.ApplyResources(this.stopBtn, "stopBtn");
this.stopBtn.BackColor = System.Drawing.Color.Tomato;
this.stopBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.stopBtn.Name = "stopBtn";
this.stopBtn.UseVisualStyleBackColor = false;
this.stopBtn.Click += new System.EventHandler(this.stopBtn_Click);
//
// startTestBtn
//
resources.ApplyResources(this.startTestBtn, "startTestBtn");
this.startTestBtn.BackColor = System.Drawing.Color.DarkSeaGreen;
this.startTestBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.startTestBtn.Name = "startTestBtn";
this.startTestBtn.UseVisualStyleBackColor = false;
this.startTestBtn.Click += new System.EventHandler(this.startTestBtn_Click);
//
// startCycleBtn
//
resources.ApplyResources(this.startCycleBtn, "startCycleBtn");
this.startCycleBtn.BackColor = System.Drawing.Color.LightSeaGreen;
this.startCycleBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.startCycleBtn.Name = "startCycleBtn";
this.startCycleBtn.UseVisualStyleBackColor = false;
this.startCycleBtn.Click += new System.EventHandler(this.startCycleBtn_Click);
//
// purgeBeginBtn
//
resources.ApplyResources(this.purgeBeginBtn, "purgeBeginBtn");
this.purgeBeginBtn.BackColor = System.Drawing.Color.LightSteelBlue;
this.purgeBeginBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.purgeBeginBtn.Name = "purgeBeginBtn";
this.purgeBeginBtn.UseVisualStyleBackColor = false;
this.purgeBeginBtn.Click += new System.EventHandler(this.purgeBeginBtn_Click);
//
// purgeEndBtn
//
resources.ApplyResources(this.purgeEndBtn, "purgeEndBtn");
this.purgeEndBtn.BackColor = System.Drawing.Color.LightSteelBlue;
this.purgeEndBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.purgeEndBtn.Name = "purgeEndBtn";
this.purgeEndBtn.UseVisualStyleBackColor = false;
this.purgeEndBtn.Click += new System.EventHandler(this.purgeEndBtn_Click);
//
// breakBtn
//
resources.ApplyResources(this.breakBtn, "breakBtn");
this.breakBtn.BackColor = System.Drawing.Color.DarkGray;
this.breakBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.breakBtn.Name = "breakBtn";
this.breakBtn.UseVisualStyleBackColor = false;
this.breakBtn.Click += new System.EventHandler(this.breakBtn_Click);
//
// resetResultsBtn
//
resources.ApplyResources(this.resetResultsBtn, "resetResultsBtn");
this.resetResultsBtn.BackColor = System.Drawing.Color.Tomato;
this.resetResultsBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.resetResultsBtn.Name = "resetResultsBtn";
this.resetResultsBtn.UseVisualStyleBackColor = false;
this.resetResultsBtn.Click += new System.EventHandler(this.resetResultsBtn_Click);
//
// cameraTestBtn
//
resources.ApplyResources(this.cameraTestBtn, "cameraTestBtn");
this.cameraTestBtn.BackColor = System.Drawing.Color.DarkGray;
this.cameraTestBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.cameraTestBtn.Name = "cameraTestBtn";
this.cameraTestBtn.UseVisualStyleBackColor = false;
this.cameraTestBtn.Click += new System.EventHandler(this.cameraTestBtn_Click);
//
// emptyTank1Btn
//
resources.ApplyResources(this.emptyTank1Btn, "emptyTank1Btn");
this.emptyTank1Btn.BackColor = System.Drawing.Color.LightSteelBlue;
this.emptyTank1Btn.ImageKey = global::TBF.Resources.Strings.Camera;
this.emptyTank1Btn.Name = "emptyTank1Btn";
this.emptyTank1Btn.UseVisualStyleBackColor = false;
this.emptyTank1Btn.Click += new System.EventHandler(this.emptyTank1Btn_Click);
//
// sensitivityTestBtn
//
resources.ApplyResources(this.sensitivityTestBtn, "sensitivityTestBtn");
this.sensitivityTestBtn.BackColor = System.Drawing.Color.DarkGray;
this.sensitivityTestBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.sensitivityTestBtn.Name = "sensitivityTestBtn";
this.sensitivityTestBtn.UseVisualStyleBackColor = false;
this.sensitivityTestBtn.Click += new System.EventHandler(this.sensitivityTestBtn_Click);
//
// emptyTank2Btn
//
resources.ApplyResources(this.emptyTank2Btn, "emptyTank2Btn");
this.emptyTank2Btn.BackColor = System.Drawing.Color.LightSteelBlue;
this.emptyTank2Btn.ImageKey = global::TBF.Resources.Strings.Camera;
this.emptyTank2Btn.Name = "emptyTank2Btn";
this.emptyTank2Btn.UseVisualStyleBackColor = false;
this.emptyTank2Btn.Click += new System.EventHandler(this.emptyTank2Btn_Click);
//
// testGroupBox
//
resources.ApplyResources(this.testGroupBox, "testGroupBox");
this.testGroupBox.Controls.Add(this.startQ3Btn);
this.testGroupBox.Controls.Add(this.startQ2Btn);
this.testGroupBox.Controls.Add(this.startQ1Btn);
this.testGroupBox.Controls.Add(this.testComboBox);
this.testGroupBox.Controls.Add(this.startTestBtn);
this.testGroupBox.Controls.Add(this.startCycleBtn);
this.testGroupBox.Controls.Add(this.stopBtn);
this.testGroupBox.Name = "testGroupBox";
this.testGroupBox.TabStop = false;
//
// startQ3Btn
//
resources.ApplyResources(this.startQ3Btn, "startQ3Btn");
this.startQ3Btn.BackColor = System.Drawing.Color.DarkSeaGreen;
this.startQ3Btn.ImageKey = global::TBF.Resources.Strings.Camera;
this.startQ3Btn.Name = "startQ3Btn";
this.startQ3Btn.UseVisualStyleBackColor = false;
this.startQ3Btn.Click += new System.EventHandler(this.startQ3Btn_Click);
//
// startQ2Btn
//
resources.ApplyResources(this.startQ2Btn, "startQ2Btn");
this.startQ2Btn.BackColor = System.Drawing.Color.DarkSeaGreen;
this.startQ2Btn.ImageKey = global::TBF.Resources.Strings.Camera;
this.startQ2Btn.Name = "startQ2Btn";
this.startQ2Btn.UseVisualStyleBackColor = false;
this.startQ2Btn.Click += new System.EventHandler(this.startQ2Btn_Click);
//
// startQ1Btn
//
resources.ApplyResources(this.startQ1Btn, "startQ1Btn");
this.startQ1Btn.BackColor = System.Drawing.Color.DarkSeaGreen;
this.startQ1Btn.ImageKey = global::TBF.Resources.Strings.Camera;
this.startQ1Btn.Name = "startQ1Btn";
this.startQ1Btn.UseVisualStyleBackColor = false;
this.startQ1Btn.Click += new System.EventHandler(this.startQ1Btn_Click);
//
// testComboBox
//
resources.ApplyResources(this.testComboBox, "testComboBox");
this.testComboBox.FormattingEnabled = true;
this.testComboBox.Name = "testComboBox";
this.testComboBox.SelectedIndexChanged += new System.EventHandler(this.testComboBox_SelectedIndexChanged);
//
// purgeGroupBox
//
resources.ApplyResources(this.purgeGroupBox, "purgeGroupBox");
this.purgeGroupBox.BackColor = System.Drawing.SystemColors.Control;
this.purgeGroupBox.Controls.Add(this.purgeEndBtn);
this.purgeGroupBox.Controls.Add(this.purgeBeginBtn);
this.purgeGroupBox.Name = "purgeGroupBox";
this.purgeGroupBox.TabStop = false;
//
// emptyGroupBox
//
resources.ApplyResources(this.emptyGroupBox, "emptyGroupBox");
this.emptyGroupBox.Controls.Add(this.emptyTank3Btn);
this.emptyGroupBox.Controls.Add(this.emptyTank1Btn);
this.emptyGroupBox.Controls.Add(this.emptyTank2Btn);
this.emptyGroupBox.Name = "emptyGroupBox";
this.emptyGroupBox.TabStop = false;
//
// emptyTank3Btn
//
resources.ApplyResources(this.emptyTank3Btn, "emptyTank3Btn");
this.emptyTank3Btn.BackColor = System.Drawing.Color.LightSteelBlue;
this.emptyTank3Btn.ImageKey = global::TBF.Resources.Strings.Camera;
this.emptyTank3Btn.Name = "emptyTank3Btn";
this.emptyTank3Btn.UseVisualStyleBackColor = false;
this.emptyTank3Btn.Click += new System.EventHandler(this.emptyTank3Btn_Click);
//
// otherGroupBox
//
resources.ApplyResources(this.otherGroupBox, "otherGroupBox");
this.otherGroupBox.Controls.Add(this.sensitivityTestBtn);
this.otherGroupBox.Controls.Add(this.nextButton);
this.otherGroupBox.Controls.Add(this.cameraTestBtn);
this.otherGroupBox.Controls.Add(this.breakBtn);
this.otherGroupBox.Name = "otherGroupBox";
this.otherGroupBox.TabStop = false;
//
// nextButton
//
resources.ApplyResources(this.nextButton, "nextButton");
this.nextButton.ImageKey = global::TBF.Resources.Strings.Camera;
this.nextButton.Name = "nextButton";
this.nextButton.UseVisualStyleBackColor = true;
this.nextButton.Click += new System.EventHandler(this.nextButton_Click);
//
// groupBox1
//
resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.Controls.Add(this.acceptResultsBtn);
this.groupBox1.Controls.Add(this.resetResultsBtn);
this.groupBox1.Name = "groupBox1";
this.groupBox1.TabStop = false;
//
// acceptResultsBtn
//
resources.ApplyResources(this.acceptResultsBtn, "acceptResultsBtn");
this.acceptResultsBtn.BackColor = System.Drawing.Color.ForestGreen;
this.acceptResultsBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.acceptResultsBtn.Name = "acceptResultsBtn";
this.acceptResultsBtn.UseVisualStyleBackColor = false;
this.acceptResultsBtn.Click += new System.EventHandler(this.acceptResultsBtn_Click);
//
// BenchControlPanel
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.Control;
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.otherGroupBox);
this.Controls.Add(this.emptyGroupBox);
this.Controls.Add(this.purgeGroupBox);
this.Controls.Add(this.testGroupBox);
this.Name = "BenchControlPanel";
this.Load += new System.EventHandler(this.BenchControlPanel_Load);
this.testGroupBox.ResumeLayout(false);
this.purgeGroupBox.ResumeLayout(false);
this.emptyGroupBox.ResumeLayout(false);
this.otherGroupBox.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
this.ResumeLayout(false);
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BenchControlPanel));
this.stopBtn = new System.Windows.Forms.Button();
this.startTestBtn = new System.Windows.Forms.Button();
this.startCycleBtn = new System.Windows.Forms.Button();
this.purgeBeginBtn = new System.Windows.Forms.Button();
this.purgeEndBtn = new System.Windows.Forms.Button();
this.breakBtn = new System.Windows.Forms.Button();
this.resetResultsBtn = new System.Windows.Forms.Button();
this.cameraTestBtn = new System.Windows.Forms.Button();
this.emptyTank1Btn = new System.Windows.Forms.Button();
this.sensitivityTestBtn = new System.Windows.Forms.Button();
this.emptyTank2Btn = new System.Windows.Forms.Button();
this.testGroupBox = new System.Windows.Forms.GroupBox();
this.startQ3Btn = new System.Windows.Forms.Button();
this.startQ2Btn = new System.Windows.Forms.Button();
this.startQ1Btn = new System.Windows.Forms.Button();
this.testComboBox = new System.Windows.Forms.ComboBox();
this.purgeGroupBox = new System.Windows.Forms.GroupBox();
this.emptyGroupBox = new System.Windows.Forms.GroupBox();
this.emptyTank3Btn = new System.Windows.Forms.Button();
this.otherGroupBox = new System.Windows.Forms.GroupBox();
this.nextButton = new System.Windows.Forms.Button();
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.acceptResultsBtn = new System.Windows.Forms.Button();
this.testGroupBox.SuspendLayout();
this.purgeGroupBox.SuspendLayout();
this.emptyGroupBox.SuspendLayout();
this.otherGroupBox.SuspendLayout();
this.groupBox1.SuspendLayout();
this.SuspendLayout();
//
// stopBtn
//
resources.ApplyResources(this.stopBtn, "stopBtn");
this.stopBtn.BackColor = System.Drawing.Color.Tomato;
this.stopBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.stopBtn.Name = "stopBtn";
this.stopBtn.UseVisualStyleBackColor = false;
this.stopBtn.Click += new System.EventHandler(this.stopBtn_Click);
//
// startTestBtn
//
resources.ApplyResources(this.startTestBtn, "startTestBtn");
this.startTestBtn.BackColor = System.Drawing.Color.DarkSeaGreen;
this.startTestBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.startTestBtn.Name = "startTestBtn";
this.startTestBtn.UseVisualStyleBackColor = false;
this.startTestBtn.Click += new System.EventHandler(this.startTestBtn_Click);
//
// startCycleBtn
//
resources.ApplyResources(this.startCycleBtn, "startCycleBtn");
this.startCycleBtn.BackColor = System.Drawing.Color.LightSeaGreen;
this.startCycleBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.startCycleBtn.Name = "startCycleBtn";
this.startCycleBtn.UseVisualStyleBackColor = false;
this.startCycleBtn.Click += new System.EventHandler(this.startCycleBtn_Click);
//
// purgeBeginBtn
//
resources.ApplyResources(this.purgeBeginBtn, "purgeBeginBtn");
this.purgeBeginBtn.BackColor = System.Drawing.Color.LightSteelBlue;
this.purgeBeginBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.purgeBeginBtn.Name = "purgeBeginBtn";
this.purgeBeginBtn.UseVisualStyleBackColor = false;
this.purgeBeginBtn.Click += new System.EventHandler(this.purgeBeginBtn_Click);
//
// purgeEndBtn
//
resources.ApplyResources(this.purgeEndBtn, "purgeEndBtn");
this.purgeEndBtn.BackColor = System.Drawing.Color.LightSteelBlue;
this.purgeEndBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.purgeEndBtn.Name = "purgeEndBtn";
this.purgeEndBtn.UseVisualStyleBackColor = false;
this.purgeEndBtn.Click += new System.EventHandler(this.purgeEndBtn_Click);
//
// breakBtn
//
resources.ApplyResources(this.breakBtn, "breakBtn");
this.breakBtn.BackColor = System.Drawing.Color.DarkGray;
this.breakBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.breakBtn.Name = "breakBtn";
this.breakBtn.UseVisualStyleBackColor = false;
this.breakBtn.Click += new System.EventHandler(this.breakBtn_Click);
//
// resetResultsBtn
//
resources.ApplyResources(this.resetResultsBtn, "resetResultsBtn");
this.resetResultsBtn.BackColor = System.Drawing.Color.Tomato;
this.resetResultsBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.resetResultsBtn.Name = "resetResultsBtn";
this.resetResultsBtn.UseVisualStyleBackColor = false;
this.resetResultsBtn.Click += new System.EventHandler(this.resetResultsBtn_Click);
//
// cameraTestBtn
//
resources.ApplyResources(this.cameraTestBtn, "cameraTestBtn");
this.cameraTestBtn.BackColor = System.Drawing.Color.DarkGray;
this.cameraTestBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.cameraTestBtn.Name = "cameraTestBtn";
this.cameraTestBtn.UseVisualStyleBackColor = false;
this.cameraTestBtn.Click += new System.EventHandler(this.cameraTestBtn_Click);
//
// emptyTank1Btn
//
resources.ApplyResources(this.emptyTank1Btn, "emptyTank1Btn");
this.emptyTank1Btn.BackColor = System.Drawing.Color.LightSteelBlue;
this.emptyTank1Btn.ImageKey = global::TBF.Resources.Strings.Camera;
this.emptyTank1Btn.Name = "emptyTank1Btn";
this.emptyTank1Btn.UseVisualStyleBackColor = false;
this.emptyTank1Btn.Click += new System.EventHandler(this.emptyTank1Btn_Click);
//
// sensitivityTestBtn
//
resources.ApplyResources(this.sensitivityTestBtn, "sensitivityTestBtn");
this.sensitivityTestBtn.BackColor = System.Drawing.Color.DarkGray;
this.sensitivityTestBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.sensitivityTestBtn.Name = "sensitivityTestBtn";
this.sensitivityTestBtn.UseVisualStyleBackColor = false;
this.sensitivityTestBtn.Click += new System.EventHandler(this.sensitivityTestBtn_Click);
//
// emptyTank2Btn
//
resources.ApplyResources(this.emptyTank2Btn, "emptyTank2Btn");
this.emptyTank2Btn.BackColor = System.Drawing.Color.LightSteelBlue;
this.emptyTank2Btn.ImageKey = global::TBF.Resources.Strings.Camera;
this.emptyTank2Btn.Name = "emptyTank2Btn";
this.emptyTank2Btn.UseVisualStyleBackColor = false;
this.emptyTank2Btn.Click += new System.EventHandler(this.emptyTank2Btn_Click);
//
// testGroupBox
//
resources.ApplyResources(this.testGroupBox, "testGroupBox");
this.testGroupBox.Controls.Add(this.startQ3Btn);
this.testGroupBox.Controls.Add(this.startQ2Btn);
this.testGroupBox.Controls.Add(this.startQ1Btn);
this.testGroupBox.Controls.Add(this.testComboBox);
this.testGroupBox.Controls.Add(this.startTestBtn);
this.testGroupBox.Controls.Add(this.startCycleBtn);
this.testGroupBox.Controls.Add(this.stopBtn);
this.testGroupBox.Name = "testGroupBox";
this.testGroupBox.TabStop = false;
//
// startQ3Btn
//
resources.ApplyResources(this.startQ3Btn, "startQ3Btn");
this.startQ3Btn.BackColor = System.Drawing.Color.DarkSeaGreen;
this.startQ3Btn.ImageKey = global::TBF.Resources.Strings.Camera;
this.startQ3Btn.Name = "startQ3Btn";
this.startQ3Btn.UseVisualStyleBackColor = false;
this.startQ3Btn.Click += new System.EventHandler(this.startQ3Btn_Click);
//
// startQ2Btn
//
resources.ApplyResources(this.startQ2Btn, "startQ2Btn");
this.startQ2Btn.BackColor = System.Drawing.Color.DarkSeaGreen;
this.startQ2Btn.ImageKey = global::TBF.Resources.Strings.Camera;
this.startQ2Btn.Name = "startQ2Btn";
this.startQ2Btn.UseVisualStyleBackColor = false;
this.startQ2Btn.Click += new System.EventHandler(this.startQ2Btn_Click);
//
// startQ1Btn
//
resources.ApplyResources(this.startQ1Btn, "startQ1Btn");
this.startQ1Btn.BackColor = System.Drawing.Color.DarkSeaGreen;
this.startQ1Btn.ImageKey = global::TBF.Resources.Strings.Camera;
this.startQ1Btn.Name = "startQ1Btn";
this.startQ1Btn.UseVisualStyleBackColor = false;
this.startQ1Btn.Click += new System.EventHandler(this.startQ1Btn_Click);
//
// testComboBox
//
resources.ApplyResources(this.testComboBox, "testComboBox");
this.testComboBox.FormattingEnabled = true;
this.testComboBox.Name = "testComboBox";
this.testComboBox.SelectedIndexChanged += new System.EventHandler(this.testComboBox_SelectedIndexChanged);
//
// purgeGroupBox
//
resources.ApplyResources(this.purgeGroupBox, "purgeGroupBox");
this.purgeGroupBox.BackColor = System.Drawing.SystemColors.Control;
this.purgeGroupBox.Controls.Add(this.purgeEndBtn);
this.purgeGroupBox.Controls.Add(this.purgeBeginBtn);
this.purgeGroupBox.Name = "purgeGroupBox";
this.purgeGroupBox.TabStop = false;
//
// emptyGroupBox
//
resources.ApplyResources(this.emptyGroupBox, "emptyGroupBox");
this.emptyGroupBox.Controls.Add(this.emptyTank3Btn);
this.emptyGroupBox.Controls.Add(this.emptyTank1Btn);
this.emptyGroupBox.Controls.Add(this.emptyTank2Btn);
this.emptyGroupBox.Name = "emptyGroupBox";
this.emptyGroupBox.TabStop = false;
//
// emptyTank3Btn
//
resources.ApplyResources(this.emptyTank3Btn, "emptyTank3Btn");
this.emptyTank3Btn.BackColor = System.Drawing.Color.LightSteelBlue;
this.emptyTank3Btn.ImageKey = global::TBF.Resources.Strings.Camera;
this.emptyTank3Btn.Name = "emptyTank3Btn";
this.emptyTank3Btn.UseVisualStyleBackColor = false;
this.emptyTank3Btn.Click += new System.EventHandler(this.emptyTank3Btn_Click);
//
// otherGroupBox
//
resources.ApplyResources(this.otherGroupBox, "otherGroupBox");
this.otherGroupBox.Controls.Add(this.sensitivityTestBtn);
this.otherGroupBox.Controls.Add(this.nextButton);
this.otherGroupBox.Controls.Add(this.cameraTestBtn);
this.otherGroupBox.Controls.Add(this.breakBtn);
this.otherGroupBox.Name = "otherGroupBox";
this.otherGroupBox.TabStop = false;
//
// nextButton
//
resources.ApplyResources(this.nextButton, "nextButton");
this.nextButton.ImageKey = global::TBF.Resources.Strings.Camera;
this.nextButton.Name = "nextButton";
this.nextButton.UseVisualStyleBackColor = true;
this.nextButton.Click += new System.EventHandler(this.nextButton_Click);
//
// groupBox1
//
resources.ApplyResources(this.groupBox1, "groupBox1");
this.groupBox1.Controls.Add(this.acceptResultsBtn);
this.groupBox1.Controls.Add(this.resetResultsBtn);
this.groupBox1.Name = "groupBox1";
this.groupBox1.TabStop = false;
//
// acceptResultsBtn
//
resources.ApplyResources(this.acceptResultsBtn, "acceptResultsBtn");
this.acceptResultsBtn.BackColor = System.Drawing.Color.ForestGreen;
this.acceptResultsBtn.ImageKey = global::TBF.Resources.Strings.Camera;
this.acceptResultsBtn.Name = "acceptResultsBtn";
this.acceptResultsBtn.UseVisualStyleBackColor = false;
this.acceptResultsBtn.Click += new System.EventHandler(this.acceptResultsBtn_Click);
//
// BenchControlPanel
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.Control;
this.Controls.Add(this.groupBox1);
this.Controls.Add(this.otherGroupBox);
this.Controls.Add(this.emptyGroupBox);
this.Controls.Add(this.purgeGroupBox);
this.Controls.Add(this.testGroupBox);
this.Name = "BenchControlPanel";
this.Load += new System.EventHandler(this.BenchControlPanel_Load);
this.testGroupBox.ResumeLayout(false);
this.purgeGroupBox.ResumeLayout(false);
this.emptyGroupBox.ResumeLayout(false);
this.otherGroupBox.ResumeLayout(false);
this.groupBox1.ResumeLayout(false);
this.ResumeLayout(false);
}
@@ -193,6 +193,12 @@
<data name="emptyTank2Btn.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
<data name="testGroupBox.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 3</value>
</data>
<data name="testGroupBox.Text" xml:space="preserve">
<value>Prüfpunkt</value>
</data>
<data name="startQ3Btn.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 14.25pt</value>
</data>
@@ -220,12 +226,6 @@
<data name="startQ1Btn.Text" xml:space="preserve">
<value>1</value>
</data>
<data name="testGroupBox.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 3</value>
</data>
<data name="testGroupBox.Text" xml:space="preserve">
<value>Prüfpunkt</value>
</data>
<data name="purgeGroupBox.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 252</value>
</data>
@@ -247,11 +247,9 @@
<data name="otherGroupBox.Text" xml:space="preserve">
<value>Zubehör</value>
</data>
<data name="acceptResultsBtn.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 10pt</value>
</data>
<data name="acceptResultsBtn.Text" xml:space="preserve">
<value>bestätigen</value>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="otherGroupBox.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 536</value>
@@ -259,6 +257,12 @@
<data name="groupBox1.Text" xml:space="preserve">
<value>Ergebnisse</value>
</data>
<data name="acceptResultsBtn.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 10pt</value>
</data>
<data name="acceptResultsBtn.Text" xml:space="preserve">
<value>bestätigen</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>235, 1000</value>
</data>
@@ -121,18 +121,18 @@
<data name="cameraTestBtn.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
<data name="&gt;&gt;sensitivityTestBtn.Parent" xml:space="preserve">
<value>otherGroupBox</value>
</data>
<data name="startTestBtn.Text" xml:space="preserve">
<value>Start Test</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="purgeBeginBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="&gt;&gt;emptyTank1Btn.Parent" xml:space="preserve">
<value>emptyGroupBox</value>
<data name="&gt;&gt;emptyTank1Btn.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="startCycleBtn.Font" type="System.Drawing.Font, System.Drawing">
@@ -156,17 +156,14 @@
<data name="purgeEndBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>106, 23</value>
</data>
<data name="startCycleBtn.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</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="purgeGroupBox.Text" xml:space="preserve">
<value>Purge</value>
</data>
<data name="emptyTank2Btn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
<data name="&gt;&gt;startQ1Btn.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="stopBtn.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
@@ -177,11 +174,14 @@
<data name="groupBox1.Text" xml:space="preserve">
<value>Results</value>
</data>
<data name="startQ1Btn.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 117</value>
<data name="cameraTestBtn.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="&gt;&gt;cameraTestBtn.Name" xml:space="preserve">
<value>cameraTestBtn</value>
<data name="&gt;&gt;startQ1Btn.Parent" xml:space="preserve">
<value>testGroupBox</value>
</data>
<data name="&gt;&gt;emptyTank1Btn.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="stopBtn.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 15.75pt</value>
@@ -192,17 +192,17 @@
<data name="acceptResultsBtn.Size" type="System.Drawing.Size, System.Drawing">
<value>92, 42</value>
</data>
<data name="&gt;&gt;startCycleBtn.Name" xml:space="preserve">
<value>startCycleBtn</value>
<data name="emptyGroupBox.TabIndex" type="System.Int32, mscorlib">
<value>19</value>
</data>
<data name="testComboBox.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 15.75pt</value>
</data>
<data name="&gt;&gt;purgeBeginBtn.Parent" xml:space="preserve">
<value>purgeGroupBox</value>
<data name="otherGroupBox.Text" xml:space="preserve">
<value>Auxiliary</value>
</data>
<data name="&gt;&gt;startCycleBtn.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="testComboBox.Size" type="System.Drawing.Size, System.Drawing">
<value>190, 33</value>
</data>
<data name="cameraTestBtn.Text" xml:space="preserve">
<value>Camera test</value>
@@ -222,8 +222,8 @@
<data name="&gt;&gt;sensitivityTestBtn.Name" xml:space="preserve">
<value>sensitivityTestBtn</value>
</data>
<data name="emptyGroupBox.Size" type="System.Drawing.Size, System.Drawing">
<value>207, 68</value>
<data name="nextButton.Size" type="System.Drawing.Size, System.Drawing">
<value>91, 25</value>
</data>
<data name="purgeEndBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@@ -237,15 +237,9 @@
<data name="purgeGroupBox.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 253</value>
</data>
<data name="&gt;&gt;startQ1Btn.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="emptyGroupBox.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 12pt</value>
</data>
<data name="emptyTank1Btn.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 35</value>
</data>
<data name="&gt;&gt;emptyTank3Btn.Name" xml:space="preserve">
<value>emptyTank3Btn</value>
</data>
@@ -258,12 +252,15 @@
<data name="startTestBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 67</value>
</data>
<data name="acceptResultsBtn.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 15.75pt</value>
</data>
<data name="&gt;&gt;otherGroupBox.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;purgeGroupBox.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="emptyTank1Btn.Text" xml:space="preserve">
<value>W1</value>
</data>
<data name="startQ1Btn.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 45</value>
</data>
@@ -279,6 +276,9 @@
<data name="emptyGroupBox.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 327</value>
</data>
<data name="&gt;&gt;startCycleBtn.Name" xml:space="preserve">
<value>startCycleBtn</value>
</data>
<data name="&gt;&gt;emptyGroupBox.Name" xml:space="preserve">
<value>emptyGroupBox</value>
</data>
@@ -312,11 +312,14 @@
<data name="emptyTank2Btn.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 15.75pt</value>
</data>
<data name="startCycleBtn.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="purgeBeginBtn.Text" xml:space="preserve">
<value>Begin</value>
</data>
<data name="emptyTank1Btn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
<data name="&gt;&gt;emptyTank3Btn.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="acceptResultsBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>106, 20</value>
@@ -327,8 +330,8 @@
<data name="&gt;&gt;purgeEndBtn.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="otherGroupBox.Text" xml:space="preserve">
<value>Auxiliary</value>
<data name="startQ3Btn.Text" xml:space="preserve">
<value>Q3</value>
</data>
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
<value>22</value>
@@ -339,9 +342,6 @@
<data name="&gt;&gt;purgeGroupBox.Name" xml:space="preserve">
<value>purgeGroupBox</value>
</data>
<data name="emptyTank3Btn.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="nextButton.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
</data>
@@ -354,8 +354,8 @@
<data name="startCycleBtn.Text" xml:space="preserve">
<value>Start Cycle</value>
</data>
<data name="acceptResultsBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
<data name="emptyTank2Btn.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 35</value>
</data>
<data name="&gt;&gt;resetResultsBtn.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@@ -363,12 +363,15 @@
<data name="&gt;&gt;purgeEndBtn.Name" xml:space="preserve">
<value>purgeEndBtn</value>
</data>
<data name="startQ3Btn.Text" xml:space="preserve">
<value>Q3</value>
<data name="otherGroupBox.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 12pt</value>
</data>
<data name="&gt;&gt;nextButton.Name" xml:space="preserve">
<value>nextButton</value>
</data>
<data name="resetResultsBtn.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
</data>
<data name="&gt;&gt;emptyTank2Btn.ZOrder" xml:space="preserve">
<value>2</value>
</data>
@@ -384,17 +387,14 @@
<data name="startCycleBtn.Size" type="System.Drawing.Size, System.Drawing">
<value>92, 70</value>
</data>
<data name="sensitivityTestBtn.Text" xml:space="preserve">
<value>Sensi- tivity</value>
</data>
<data name="emptyGroupBox.TabIndex" type="System.Int32, mscorlib">
<value>19</value>
<data name="otherGroupBox.TabIndex" type="System.Int32, mscorlib">
<value>20</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>BenchControlPanel</value>
</data>
<data name="&gt;&gt;emptyTank1Btn.ZOrder" xml:space="preserve">
<value>1</value>
<data name="purgeGroupBox.Text" xml:space="preserve">
<value>Purge</value>
</data>
<data name="&gt;&gt;testComboBox.Type" xml:space="preserve">
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@@ -411,8 +411,8 @@
<data name="sensitivityTestBtn.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="&gt;&gt;acceptResultsBtn.ZOrder" xml:space="preserve">
<value>0</value>
<data name="&gt;&gt;emptyGroupBox.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="purgeEndBtn.Size" type="System.Drawing.Size, System.Drawing">
<value>92, 35</value>
@@ -432,8 +432,8 @@
<data name="startCycleBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="emptyTank2Btn.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 35</value>
<data name="&gt;&gt;stopBtn.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, 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>
@@ -444,23 +444,23 @@
<data name="&gt;&gt;acceptResultsBtn.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;purgeBeginBtn.Parent" xml:space="preserve">
<value>purgeGroupBox</value>
</data>
<data name="emptyGroupBox.Text" xml:space="preserve">
<value>Empty</value>
</data>
<data name="startQ2Btn.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 15.75pt</value>
<data name="&gt;&gt;breakBtn.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;startQ2Btn.Parent" xml:space="preserve">
<value>testGroupBox</value>
</data>
<data name="testGroupBox.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 3</value>
<data name="acceptResultsBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="&gt;&gt;startQ1Btn.Name" xml:space="preserve">
<value>startQ1Btn</value>
</data>
<data name="emptyTank1Btn.Text" xml:space="preserve">
<value>W1</value>
<data name="&gt;&gt;acceptResultsBtn.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="emptyTank1Btn.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
@@ -468,15 +468,15 @@
<data name="emptyTank3Btn.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 15.75pt</value>
</data>
<data name="&gt;&gt;stopBtn.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="acceptResultsBtn.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 15.75pt</value>
</data>
<data name="startQ1Btn.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;purgeGroupBox.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="otherGroupBox.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 12pt</value>
</data>
<data name="&gt;&gt;purgeEndBtn.Parent" xml:space="preserve">
<value>purgeGroupBox</value>
</data>
@@ -534,8 +534,8 @@
<data name="nextButton.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="resetResultsBtn.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
<data name="emptyTank3Btn.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="startQ3Btn.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
@@ -543,8 +543,8 @@
<data name="&gt;&gt;testComboBox.Name" xml:space="preserve">
<value>testComboBox</value>
</data>
<data name="&gt;&gt;startQ1Btn.Parent" xml:space="preserve">
<value>testGroupBox</value>
<data name="emptyTank1Btn.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 35</value>
</data>
<data name="breakBtn.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 12pt</value>
@@ -555,20 +555,17 @@
<data name="startTestBtn.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;emptyTank3Btn.ZOrder" xml:space="preserve">
<value>0</value>
<data name="startQ2Btn.Text" xml:space="preserve">
<value>Q2</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>224, 736</value>
</data>
<data name="&gt;&gt;breakBtn.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;purgeBeginBtn.Name" xml:space="preserve">
<value>purgeBeginBtn</value>
</data>
<data name="breakBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
<data name="emptyGroupBox.Size" type="System.Drawing.Size, System.Drawing">
<value>207, 68</value>
</data>
<data name="&gt;&gt;acceptResultsBtn.Name" xml:space="preserve">
<value>acceptResultsBtn</value>
@@ -582,26 +579,23 @@
<data name="acceptResultsBtn.Text" xml:space="preserve">
<value>Accept</value>
</data>
<data name="breakBtn.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
<data name="&gt;&gt;emptyTank1Btn.Parent" xml:space="preserve">
<value>emptyGroupBox</value>
</data>
<data name="&gt;&gt;startQ2Btn.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="testComboBox.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 25</value>
</data>
<data name="cameraTestBtn.Visible" type="System.Boolean, mscorlib">
<value>False</value>
<data name="&gt;&gt;startQ2Btn.Parent" xml:space="preserve">
<value>testGroupBox</value>
</data>
<data name="emptyTank3Btn.Text" xml:space="preserve">
<value>W3</value>
</data>
<data name="testGroupBox.Size" type="System.Drawing.Size, System.Drawing">
<value>207, 246</value>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="startQ3Btn.Location" type="System.Drawing.Point, System.Drawing">
<value>138, 117</value>
@@ -609,8 +603,8 @@
<data name="resetResultsBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="testGroupBox.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 12pt</value>
<data name="emptyTank1Btn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="purgeBeginBtn.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
@@ -618,21 +612,18 @@
<data name="&gt;&gt;sensitivityTestBtn.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="startQ1Btn.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
<data name="startQ1Btn.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 117</value>
</data>
<data name="stopBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
<data name="startQ2Btn.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 15.75pt</value>
</data>
<data name="startQ2Btn.Location" type="System.Drawing.Point, System.Drawing">
<value>73, 117</value>
<data name="stopBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>106, 168</value>
</data>
<data name="&gt;&gt;breakBtn.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>207, 68</value>
</data>
<data name="stopBtn.Text" xml:space="preserve">
<value>Stop</value>
</data>
@@ -648,17 +639,14 @@
<data name="breakBtn.Text" xml:space="preserve">
<value>Break</value>
</data>
<data name="stopBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>106, 168</value>
</data>
<data name="emptyTank2Btn.Location" type="System.Drawing.Point, System.Drawing">
<value>73, 26</value>
</data>
<data name="testComboBox.Size" type="System.Drawing.Size, System.Drawing">
<value>190, 33</value>
<data name="emptyTank2Btn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="cameraTestBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>106, 26</value>
<data name="breakBtn.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
</data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>9, 18</value>
@@ -678,6 +666,9 @@
<data name="sensitivityTestBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 77</value>
</data>
<data name="purgeBeginBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 23</value>
</data>
<data name="&gt;&gt;startCycleBtn.ZOrder" xml:space="preserve">
<value>5</value>
</data>
@@ -717,6 +708,9 @@
<data name="otherGroupBox.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 401</value>
</data>
<data name="startQ2Btn.Location" type="System.Drawing.Point, System.Drawing">
<value>73, 117</value>
</data>
<data name="&gt;&gt;emptyTank3Btn.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
@@ -735,42 +729,42 @@
<data name="&gt;&gt;testGroupBox.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="nextButton.Size" type="System.Drawing.Size, System.Drawing">
<value>91, 25</value>
<data name="groupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>207, 68</value>
</data>
<data name="sensitivityTestBtn.Size" type="System.Drawing.Size, System.Drawing">
<value>92, 45</value>
<data name="&gt;&gt;startCycleBtn.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;purgeGroupBox.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="&gt;&gt;cameraTestBtn.Name" xml:space="preserve">
<value>cameraTestBtn</value>
</data>
<data name="breakBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 26</value>
<data name="testGroupBox.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 3</value>
</data>
<data name="&gt;&gt;resetResultsBtn.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;sensitivityTestBtn.Parent" xml:space="preserve">
<value>otherGroupBox</value>
<data name="testGroupBox.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 12pt</value>
</data>
<data name="&gt;&gt;startQ2Btn.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;emptyGroupBox.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="sensitivityTestBtn.Size" type="System.Drawing.Size, System.Drawing">
<value>92, 45</value>
</data>
<data name="breakBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 26</value>
</data>
<data name="resetResultsBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 20</value>
</data>
<data name="startQ2Btn.Text" xml:space="preserve">
<value>Q2</value>
<data name="sensitivityTestBtn.Text" xml:space="preserve">
<value>Sensi- tivity</value>
</data>
<data name="breakBtn.Size" type="System.Drawing.Size, System.Drawing">
<value>92, 45</value>
</data>
<data name="otherGroupBox.TabIndex" type="System.Int32, mscorlib">
<value>20</value>
</data>
<data name="&gt;&gt;resetResultsBtn.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
@@ -789,11 +783,17 @@
<data name="startQ3Btn.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 15.75pt</value>
</data>
<data name="breakBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="cameraTestBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>106, 26</value>
</data>
<data name="sensitivityTestBtn.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 12pt</value>
</data>
<data name="&gt;&gt;emptyTank1Btn.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="stopBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="purgeEndBtn.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
@@ -801,12 +801,15 @@
<data name="stopBtn.Size" type="System.Drawing.Size, System.Drawing">
<value>92, 70</value>
</data>
<data name="purgeBeginBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 23</value>
<data name="otherGroupBox.Size" type="System.Drawing.Size, System.Drawing">
<value>207, 128</value>
</data>
<data name="emptyTank2Btn.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="testGroupBox.Size" type="System.Drawing.Size, System.Drawing">
<value>207, 246</value>
</data>
<data name="groupBox1.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
@@ -816,13 +819,7 @@
<data name="startQ2Btn.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 45</value>
</data>
<data name="otherGroupBox.Size" type="System.Drawing.Size, System.Drawing">
<value>207, 128</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="$this.Language" type="System.Globalization.CultureInfo, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>de</value>
</metadata>
</root>