Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
74228c2b3d |
@@ -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>
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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")]
|
||||
|
||||
@@ -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>
|
||||
|
||||
+18
-18
@@ -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));
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
+7
-11
@@ -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)
|
||||
{
|
||||
|
||||
Generated
+1
-1
@@ -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();
|
||||
|
||||
@@ -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
@@ -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)
|
||||
|
||||
@@ -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
@@ -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=">>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=">>emptyTank1Btn.Parent" xml:space="preserve">
|
||||
<value>emptyGroupBox</value>
|
||||
<data name=">>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=">>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=">>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=">>cameraTestBtn.Name" xml:space="preserve">
|
||||
<value>cameraTestBtn</value>
|
||||
<data name=">>startQ1Btn.Parent" xml:space="preserve">
|
||||
<value>testGroupBox</value>
|
||||
</data>
|
||||
<data name=">>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=">>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=">>purgeBeginBtn.Parent" xml:space="preserve">
|
||||
<value>purgeGroupBox</value>
|
||||
<data name="otherGroupBox.Text" xml:space="preserve">
|
||||
<value>Auxiliary</value>
|
||||
</data>
|
||||
<data name=">>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=">>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=">>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=">>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=">>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=">>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=">>startCycleBtn.Name" xml:space="preserve">
|
||||
<value>startCycleBtn</value>
|
||||
</data>
|
||||
<data name=">>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=">>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=">>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=">>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=">>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=">>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=">>nextButton.Name" xml:space="preserve">
|
||||
<value>nextButton</value>
|
||||
</data>
|
||||
<data name="resetResultsBtn.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name=">>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=">>$this.Name" xml:space="preserve">
|
||||
<value>BenchControlPanel</value>
|
||||
</data>
|
||||
<data name=">>emptyTank1Btn.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<data name="purgeGroupBox.Text" xml:space="preserve">
|
||||
<value>Purge</value>
|
||||
</data>
|
||||
<data name=">>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=">>acceptResultsBtn.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
<data name=">>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=">>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=">>groupBox1.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
@@ -444,23 +444,23 @@
|
||||
<data name=">>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=">>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=">>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=">>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=">>startQ1Btn.Name" xml:space="preserve">
|
||||
<value>startQ1Btn</value>
|
||||
</data>
|
||||
<data name="emptyTank1Btn.Text" xml:space="preserve">
|
||||
<value>W1</value>
|
||||
<data name=">>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=">>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=">>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=">>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=">>testComboBox.Name" xml:space="preserve">
|
||||
<value>testComboBox</value>
|
||||
</data>
|
||||
<data name=">>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=">>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=">>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=">>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=">>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=">>emptyTank1Btn.Parent" xml:space="preserve">
|
||||
<value>emptyGroupBox</value>
|
||||
</data>
|
||||
<data name=">>startQ2Btn.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>$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=">>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=">>$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=">>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=">>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=">>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=">>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=">>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=">>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=">>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=">>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=">>resetResultsBtn.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>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=">>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=">>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=">>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=">>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>
|
||||
Reference in New Issue
Block a user