Drain valve removed from Output path, outPath.Scale.DrainValve used instead of outPath.DrainValve, wait for Event. BalanceDone before 2nd mass measurement in FlyingStartMassCollection, ver. 2.12.519

This commit is contained in:
Milan Hanajik
2017-03-29 09:22:39 +02:00
parent d420128b4b
commit 5f2da63339
11 changed files with 23 additions and 35 deletions
+4 -4
View File
@@ -11,16 +11,16 @@ namespace Config.Entities
public virtual int Id { get; protected set; } public virtual int Id { get; protected set; }
public virtual int ItemNr { get; set; } public virtual int ItemNr { get; set; }
public virtual string Name { get; set; } public virtual string Name { get; set; }
public virtual float Qfrom { get; set; } /// Water flow in [m3/h] public virtual float Qfrom { get; set; } /// Water flow in [m3/h]
public virtual float Qto { get; set; } /// Water flow in [m3/h] public virtual float Qto { get; set; } /// Water flow in [m3/h]
public virtual string RegulValve { get; set; } public virtual string RegulValve { get; set; }
public virtual string FlowMeter { get; set; } public virtual string FlowMeter { get; set; }
public virtual float PidCoef { get; set; } /// PID coefficient for the regulation path public virtual float PidCoef { get; set; } /// PID coefficient for the regulation path
public virtual string StartValve { get; set; } public virtual string StartValve { get; set; }
public virtual string Diverter { get; set; } public virtual string Diverter { get; set; }
public virtual string TempDiv { get; set; } public virtual string TempDiv { get; set; }
public virtual string Scale { get; set; } public virtual string Scale { get; set; }
public virtual string EmptyTankValve { get; set; } public virtual string EmptyTankValve { get; set; } /// Not used anywhere
/// Valves /// Valves
public virtual string ValvesOpen { get; set; } public virtual string ValvesOpen { get; set; }
@@ -19,7 +19,6 @@ namespace TBF.BenchControl
public IDiverter Diverter; public IDiverter Diverter;
public ITempMeter TempDiv; public ITempMeter TempDiv;
public IScale Scale; public IScale Scale;
public IValve DrainValve;
public IList<IValve> ValvesOpen; public IList<IValve> ValvesOpen;
public IList<IValve> ValvesClose; public IList<IValve> ValvesClose;
@@ -45,7 +44,6 @@ namespace TBF.BenchControl
Diverter = (IDiverter)TbfComponents.FindComponent(entity.Diverter, components); Diverter = (IDiverter)TbfComponents.FindComponent(entity.Diverter, components);
TempDiv = (ITempMeter)TbfComponents.FindComponent(entity.TempDiv, components); TempDiv = (ITempMeter)TbfComponents.FindComponent(entity.TempDiv, components);
Scale = (IScale)TbfComponents.FindComponent(entity.Scale, components); Scale = (IScale)TbfComponents.FindComponent(entity.Scale, components);
DrainValve = (IValve)TbfComponents.FindComponent(entity.EmptyTankValve, components);
string[] vOpen = entity.ValvesOpen.Split(new char[] { ';' }); string[] vOpen = entity.ValvesOpen.Split(new char[] { ';' });
ValvesOpen = new List<IValve>(); ValvesOpen = new List<IValve>();
@@ -164,7 +164,7 @@ namespace TBF.BenchControl.TestMethods.CombinedWithDetection
} }
// Empty the water tank // Empty the water tank
switch (DrainTheTank(outPath.DrainValve, outPath.Scale)) switch (DrainTheTank(outPath.Scale.DrainValve, outPath.Scale))
{ {
case Event.Error: goto error; case Event.Error: goto error;
case Event.UiCmdStop: goto stopTest; case Event.UiCmdStop: goto stopTest;
@@ -93,7 +93,7 @@ namespace TBF.BenchControl.TestMethods.FixedStartAdvanced
/// ///
/// Drain the water tank /// Drain the water tank
/// ///
switch (DrainTheTank(outPath.DrainValve, outPath.Scale)) switch (DrainTheTank(outPath.Scale.DrainValve, outPath.Scale))
{ {
case Event.Error: { retVal = Event.Error; goto stopTest; } case Event.Error: { retVal = Event.Error; goto stopTest; }
case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; } case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; }
@@ -119,7 +119,7 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
/// ///
/// Drain the water tank /// Drain the water tank
/// ///
switch (DrainTheTank(outPath.DrainValve, outPath.Scale, heatMetersPromptOp)) switch (DrainTheTank(outPath.Scale.DrainValve, outPath.Scale, heatMetersPromptOp))
{ {
case Event.Error: { retVal = Event.Error; goto stopTest; } case Event.Error: { retVal = Event.Error; goto stopTest; }
case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; } case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; }
@@ -133,7 +133,7 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
.AddOperation(outPath.Scale.ReadMassOp(ref Mass)) .AddOperation(outPath.Scale.ReadMassOp(ref Mass))
.AddOperation(heatMetersPromptOp) .AddOperation(heatMetersPromptOp)
.AddOperation(StateMachine.ControlBoard.UpdateTankWeightOp()) .AddOperation(StateMachine.ControlBoard.UpdateTankWeightOp())
.AddOperation(StateMachine.ControlBoard.SetValvesOp(null, outPath.DrainValve)) .AddOperation(StateMachine.ControlBoard.SetValvesOp(null, outPath.Scale.DrainValve))
.EnterState(); .EnterState();
do do
{ {
@@ -161,7 +161,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
if (drainTheTank) if (drainTheTank)
{ {
#if BERLIN #if BERLIN
switch (DrainTheTank(outPath.DrainValve, outPath.Scale)) switch (DrainTheTank(outPath.Scale.DrainValve, outPath.Scale))
{ {
case Event.Error: { retVal = Event.Error; goto stopTest; } case Event.Error: { retVal = Event.Error; goto stopTest; }
case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; } case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; }
@@ -171,7 +171,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
#else #else
State.Create("FlyingStartMassCollection : Opening the emptying valve") State.Create("FlyingStartMassCollection : Opening the emptying valve")
.AddOperation(checkUiOp) .AddOperation(checkUiOp)
.AddOperation(StateMachine.ControlBoard.SetValvesOp(outPath.DrainValve, null)) .AddOperation(StateMachine.ControlBoard.SetValvesOp(outPath.Scale.DrainValve, null))
.EnterState(); .EnterState();
do do
{ {
@@ -416,7 +416,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
extraOps.Add(heatMetersPath.TMeterRefCold1.ReadTempOp(ref TempRefLo1)); extraOps.Add(heatMetersPath.TMeterRefCold1.ReadTempOp(ref TempRefLo1));
extraOps.Add(heatMetersPath.TMeterRefCold2.ReadTempOp(ref TempRefLo2)); extraOps.Add(heatMetersPath.TMeterRefCold2.ReadTempOp(ref TempRefLo2));
} }
switch (DrainTheTank(outPath.DrainValve, outPath.Scale, extraOps)) switch (DrainTheTank(outPath.Scale.DrainValve, outPath.Scale, extraOps))
{ {
case Event.Error: { retVal = Event.Error; goto stopTest; } case Event.Error: { retVal = Event.Error; goto stopTest; }
case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; } case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; }
@@ -651,7 +651,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; } if (e.Contains(Event.Error)) { retVal = Event.Error; goto stopTest; }
if (TestAndLogUiCmdStop(test,e)) { retVal = Event.UiCmdStop; goto stopTest; } if (TestAndLogUiCmdStop(test,e)) { retVal = Event.UiCmdStop; goto stopTest; }
} }
while (!e.Contains(Event.TimerExpired)); while (!e.Contains(Event.TimerExpired) || !e.Contains(Event.BalanceDone));
if (heatMetersPath == null) if (heatMetersPath == null)
LogProcessHeader(processDataLogger, "End mass"); LogProcessHeader(processDataLogger, "End mass");
@@ -133,7 +133,7 @@ namespace TBF.BenchControl.TestMethods.ReferenceFlowmeterCalibration
/// ///
/// Empty the water tank /// Empty the water tank
/// ///
switch (DrainTheTank(outPath.DrainValve, outPath.Scale)) switch (DrainTheTank(outPath.Scale.DrainValve, outPath.Scale))
{ {
case Event.Error: { retVal = Event.Error; goto stopTest; } case Event.Error: { retVal = Event.Error; goto stopTest; }
case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; } case Event.UiCmdStop: { retVal = Event.UiCmdStop; goto stopTest; }
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number // Build Number
// Revision // Revision
// //
[assembly: AssemblyVersion("2.12.518.1")] [assembly: AssemblyVersion("2.12.519.1")]
[assembly: AssemblyFileVersion("2.12.518.1")] [assembly: AssemblyFileVersion("2.12.519.1")]
+1 -1
View File
@@ -376,7 +376,7 @@ namespace TBF.Resources {
} }
/// <summary> /// <summary>
/// Looks up a localized string similar to Balance. /// Looks up a localized string similar to Scale.
/// </summary> /// </summary>
internal static string Balance { internal static string Balance {
get { get {
+1 -1
View File
@@ -199,7 +199,7 @@
<value>Reg. valve</value> <value>Reg. valve</value>
</data> </data>
<data name="Balance" xml:space="preserve"> <data name="Balance" xml:space="preserve">
<value>Balance</value> <value>Scale</value>
</data> </data>
<data name="Sensor_" xml:space="preserve"> <data name="Sensor_" xml:space="preserve">
<value>Sensor </value> <value>Sensor </value>
@@ -1,9 +1,7 @@
/// ///
/// Copyright (c) 2013-2015 Sensus Metering Systems /// Copyright (c) 2013-2017 Sensus Metering Systems
/// ///
using System.Collections.Generic;
using System.Drawing; using System.Drawing;
using System.Globalization;
using System.Windows.Forms; using System.Windows.Forms;
using log4net; using log4net;
using Config.Entities; using Config.Entities;
@@ -32,7 +30,6 @@ namespace TBF.UiControls
Div, Div,
Tdiv, Tdiv,
Scale, Scale,
DrainValve,
FixedColumnsCount, FixedColumnsCount,
} }
readonly int fixedColumnsCount = (int)Column.FixedColumnsCount; readonly int fixedColumnsCount = (int)Column.FixedColumnsCount;
@@ -73,7 +70,6 @@ namespace TBF.UiControls
Columns.Add(Strings.Diverter, (ls.OutputColumnCount > 7) ? ls.OutputColumnWidths[7] : 60 * parent.Dpi / PathsDlg.Dpi100pct); Columns.Add(Strings.Diverter, (ls.OutputColumnCount > 7) ? ls.OutputColumnWidths[7] : 60 * parent.Dpi / PathsDlg.Dpi100pct);
Columns.Add(Strings.T_div, (ls.OutputColumnCount > 8) ? ls.OutputColumnWidths[8] : 70 * parent.Dpi / PathsDlg.Dpi100pct); Columns.Add(Strings.T_div, (ls.OutputColumnCount > 8) ? ls.OutputColumnWidths[8] : 70 * parent.Dpi / PathsDlg.Dpi100pct);
Columns.Add(Strings.Balance, (ls.OutputColumnCount > 9) ? ls.OutputColumnWidths[9] : 50 * parent.Dpi / PathsDlg.Dpi100pct); Columns.Add(Strings.Balance, (ls.OutputColumnCount > 9) ? ls.OutputColumnWidths[9] : 50 * parent.Dpi / PathsDlg.Dpi100pct);
Columns.Add(Strings.Emptying_valve, (ls.OutputColumnCount > 10)? ls.OutputColumnWidths[10]: 80 * parent.Dpi / PathsDlg.Dpi100pct);
int clmn = (int)Column.FixedColumnsCount; int clmn = (int)Column.FixedColumnsCount;
foreach (var vlv in parent.Valves) foreach (var vlv in parent.Valves)
{ {
@@ -89,27 +85,24 @@ namespace TBF.UiControls
ComboBox flowMeterComboBox = new ComboBox(); ComboBox flowMeterComboBox = new ComboBox();
ComboBox startValveComboBox = new ComboBox(); ComboBox startValveComboBox = new ComboBox();
ComboBox diverterComboBox = new ComboBox(); ComboBox diverterComboBox = new ComboBox();
ComboBox balanceComboBox = new ComboBox();
ComboBox tempMeterDivComboBox = new ComboBox(); ComboBox tempMeterDivComboBox = new ComboBox();
ComboBox emptyValveComboBox = new ComboBox(); ComboBox scaleComboBox = new ComboBox();
regulValveComboBox.Items.Add("---"); regulValveComboBox.Items.Add("---");
flowMeterComboBox.Items.Add("---"); flowMeterComboBox.Items.Add("---");
startValveComboBox.Items.Add("---"); startValveComboBox.Items.Add("---");
diverterComboBox.Items.Add("---"); diverterComboBox.Items.Add("---");
balanceComboBox.Items.Add("---"); tempMeterDivComboBox.Items.Add("---");
tempMeterDivComboBox.Items.Add("---"); scaleComboBox.Items.Add("---");
emptyValveComboBox.Items.Add("---");
foreach (var cmpnt in parent.TbfComponents) foreach (var cmpnt in parent.TbfComponents)
{ {
if (cmpnt is IRegulValve) regulValveComboBox.Items.Add(cmpnt.Cfg.Name); if (cmpnt is IRegulValve) regulValveComboBox.Items.Add(cmpnt.Cfg.Name);
if (cmpnt is IFlowMeter) flowMeterComboBox.Items.Add(cmpnt.Cfg.Name); if (cmpnt is IFlowMeter) flowMeterComboBox.Items.Add(cmpnt.Cfg.Name);
if (cmpnt is IDiverter) diverterComboBox.Items.Add(cmpnt.Cfg.Name); if (cmpnt is IDiverter) diverterComboBox.Items.Add(cmpnt.Cfg.Name);
if (cmpnt is IScale) balanceComboBox.Items.Add(cmpnt.Cfg.Name); if (cmpnt is IScale) scaleComboBox.Items.Add(cmpnt.Cfg.Name);
if (cmpnt is ITempMeter) tempMeterDivComboBox.Items.Add(cmpnt.Cfg.Name); if (cmpnt is ITempMeter) tempMeterDivComboBox.Items.Add(cmpnt.Cfg.Name);
if (cmpnt is IValve && (cmpnt as IValve).CoupledTo == null) if (cmpnt is IValve && (cmpnt as IValve).CoupledTo == null)
{ {
startValveComboBox.Items.Add(cmpnt.Cfg.Name); startValveComboBox.Items.Add(cmpnt.Cfg.Name);
emptyValveComboBox.Items.Add(cmpnt.Cfg.Name);
} }
} }
@@ -124,8 +117,7 @@ namespace TBF.UiControls
editors[(int)Column.StartValve] = startValveComboBox; editors[(int)Column.StartValve] = startValveComboBox;
editors[(int)Column.Div] = diverterComboBox; editors[(int)Column.Div] = diverterComboBox;
editors[(int)Column.Tdiv] = tempMeterDivComboBox; editors[(int)Column.Tdiv] = tempMeterDivComboBox;
editors[(int)Column.Scale] = balanceComboBox; editors[(int)Column.Scale] = scaleComboBox;
editors[(int)Column.DrainValve] = emptyValveComboBox;
/// Prepare valve combo-boxes (max. 64 valves) /// Prepare valve combo-boxes (max. 64 valves)
for (int i = 0; i < 64; i++) for (int i = 0; i < 64; i++)
{ {
@@ -208,7 +200,6 @@ namespace TBF.UiControls
lvi.SubItems.Add((path.Diverter != null) ? path.Diverter.Cfg.Name : "---"); lvi.SubItems.Add((path.Diverter != null) ? path.Diverter.Cfg.Name : "---");
lvi.SubItems.Add((path.TempDiv != null) ? path.TempDiv.Cfg.Name : "---"); lvi.SubItems.Add((path.TempDiv != null) ? path.TempDiv.Cfg.Name : "---");
lvi.SubItems.Add((path.Scale != null) ? path.Scale.Cfg.Name : "---"); lvi.SubItems.Add((path.Scale != null) ? path.Scale.Cfg.Name : "---");
lvi.SubItems.Add((path.DrainValve != null) ? path.DrainValve.Cfg.Name : "---");
foreach (var valve in parent.Valves) foreach (var valve in parent.Valves)
{ {
@@ -262,7 +253,6 @@ namespace TBF.UiControls
entity.Diverter = lvi.SubItems[(int)Column.Div].Text.Equals("---") ? null : lvi.SubItems[(int)Column.Div].Text; entity.Diverter = lvi.SubItems[(int)Column.Div].Text.Equals("---") ? null : lvi.SubItems[(int)Column.Div].Text;
entity.TempDiv = lvi.SubItems[(int)Column.Tdiv].Text.Equals("---") ? null : lvi.SubItems[(int)Column.Tdiv].Text; entity.TempDiv = lvi.SubItems[(int)Column.Tdiv].Text.Equals("---") ? null : lvi.SubItems[(int)Column.Tdiv].Text;
entity.Scale = lvi.SubItems[(int)Column.Scale].Text.Equals("---") ? null : lvi.SubItems[(int)Column.Scale].Text; entity.Scale = lvi.SubItems[(int)Column.Scale].Text.Equals("---") ? null : lvi.SubItems[(int)Column.Scale].Text;
entity.EmptyTankValve = lvi.SubItems[(int)Column.DrainValve].Text.Equals("---") ? null : lvi.SubItems[(int)Column.DrainValve].Text;
string valvesOpen = string.Empty; string valvesOpen = string.Empty;
string valvesClose = string.Empty; string valvesClose = string.Empty;