iPerlSpecial: protocol changes, Results.Entities.WaterMeterData: Qn + Q3 -> Q3_Qn, ver.2.6.276

This commit is contained in:
Milan Hanajik 2016-05-01 10:04:05 +02:00
parent f746c9cd8f
commit 7b878be87d
18 changed files with 137 additions and 111 deletions

View File

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.5.276.0")]
[assembly: AssemblyFileVersion("2.5.276.0")]
[assembly: AssemblyVersion("2.6.276.0")]
[assembly: AssemblyFileVersion("2.6.276.0")]

View File

@ -25,6 +25,8 @@ namespace Config
mBar, /// 1 mbar = 1 hPa = 100 Pa
Bar, /// 1 Bar = 1000 mbar = 100000 Pa
inHg, /// 1 inHg = 33.864 hPa
Pct, /// 1 %
Promile, /// 1 promile = 0.1 %
Count
}
@ -61,6 +63,10 @@ namespace Config
case Unit.Bar: return 0.001 * v; /// 1 Bar = 1000 mbar = 100000 Pa
case Unit.inHg: return 0.02953 * v; /// 1 inHg = 33.864 hPa
/// Error: internal representation in %
case Unit.Pct: return v; /// 1 %
case Unit.Promile: return 10 * v; /// 1 promile = 0.1 %
default: return v;
}
}
@ -96,6 +102,10 @@ namespace Config
case Unit.Bar: return 1000 * v; /// 1 Bar = 1000 mbar = 100000 Pa
case Unit.inHg: return 33.864 * v; /// 1 inHg = 33.864 hPa
/// Error: internal representation in %
case Unit.Pct: return v; /// 1 %
case Unit.Promile: return 0.1 * v; /// 1 promile = 0.1 %
default: return v;
}
}

View File

@ -45,8 +45,7 @@ namespace Results.Entities
public virtual string MetrologicalClass() { return WaterMeterData.MetrologicalClass; }
public virtual string ApprovalInfo() { return WaterMeterData.ApprovalInfo; }
public virtual double Q4_Qmax() { return WaterMeterData.Q4_Qmax; }
public virtual double Qn() { return WaterMeterData.Qn; }
public virtual double Q3() { return WaterMeterData.Q3; }
public virtual double Q3_Qn() { return WaterMeterData.Q3_Qn; }
public virtual double Q2_Qt() { return WaterMeterData.Q2_Qt; }
public virtual double Q1_Qmin() { return WaterMeterData.Q1_Qmin; }
public virtual bool Compound() { return WaterMeterData.Compound; }

View File

@ -15,8 +15,7 @@ namespace Results.Entities
public virtual string MetrologicalClass { get; set; }
public virtual string ApprovalInfo { get; set; }
public virtual double Q4_Qmax { get; set; } /// [m3/h]
public virtual double Qn { get; set; } /// [m3/h]
public virtual double Q3 { get; set; } /// [m3/h]
public virtual double Q3_Qn { get; set; } /// [m3/h]
public virtual double Q2_Qt { get; set; } /// [m3/h]
public virtual double Q1_Qmin { get; set; } /// [m3/h]
public virtual bool Compound { get; set; }
@ -42,9 +41,8 @@ namespace Results.Entities
if (!MetrologicalClass.Equals(wmd.MetrologicalClass)) return false;
if (!ApprovalInfo.Equals(wmd.ApprovalInfo)) return false;
if (Q4_Qmax != wmd.Q4_Qmax) return false;
if (Qn != wmd.Qn) return false;
if (Q3 != wmd.Q3) return false;
if (Q2_Qt != wmd.Q2_Qt) return false;
if (Q3_Qn != wmd.Q3_Qn) return false;
if (Q2_Qt != wmd.Q2_Qt) return false;
if (Q1_Qmin != wmd.Q1_Qmin) return false;
if (Compound != wmd.Compound) return false;
#if IPERLST || IPERLST_SPECIAL

View File

@ -122,11 +122,11 @@ namespace Results
AllItems.Add(new ItemSpec("Metrological class", "M.Class", x => x.WaterMeterData().MetrologicalClass, (x, y, z) => z.WaterMeterData().MetrologicalClass));
AllItems.Add(new ItemSpec("Approval info", "Approval", x => x.WaterMeterData().ApprovalInfo, (x, y, z) => z.WaterMeterData().ApprovalInfo));
AllItems.Add(new ItemSpec("Q4", "Q4", x => x.WaterMeterData().Q4_Qmax.ToString(), (x, y, z) => z.WaterMeterData().Q4_Qmax.ToString()));
AllItems.Add(new ItemSpec("Q3", "Q3", x => x.WaterMeterData().Q3.ToString(), (x, y, z) => z.WaterMeterData().Q3.ToString()));
AllItems.Add(new ItemSpec("Q3", "Q3", x => x.WaterMeterData().Q3_Qn.ToString(), (x, y, z) => z.WaterMeterData().Q3_Qn.ToString()));
AllItems.Add(new ItemSpec("Q2", "Q2", x => x.WaterMeterData().Q2_Qt.ToString(), (x, y, z) => z.WaterMeterData().Q2_Qt.ToString()));
AllItems.Add(new ItemSpec("Q1", "Q1", x => x.WaterMeterData().Q1_Qmin.ToString(), (x, y, z) => z.WaterMeterData().Q1_Qmin.ToString()));
AllItems.Add(new ItemSpec("Qmax", "Qmax", x => x.WaterMeterData().Q4_Qmax.ToString(), (x, y, z) => z.WaterMeterData().Q4_Qmax.ToString()));
AllItems.Add(new ItemSpec("Qn", "Qn", x => x.WaterMeterData().Q3.ToString(), (x, y, z) => z.WaterMeterData().Q3.ToString()));
AllItems.Add(new ItemSpec("Qn", "Qn", x => x.WaterMeterData().Q3_Qn.ToString(), (x, y, z) => z.WaterMeterData().Q3_Qn.ToString()));
AllItems.Add(new ItemSpec("Qt", "Qt", x => x.WaterMeterData().Q2_Qt.ToString(), (x, y, z) => z.WaterMeterData().Q2_Qt.ToString()));
AllItems.Add(new ItemSpec("Qmin", "Qmin", x => x.WaterMeterData().Q1_Qmin.ToString(), (x, y, z) => z.WaterMeterData().Q1_Qmin.ToString()));

View File

@ -16,8 +16,7 @@ namespace Results.Mappings
Map(x => x.MetrologicalClass);
Map(x => x.ApprovalInfo);
Map(x => x.Q4_Qmax);
Map(x => x.Qn);
Map(x => x.Q3);
Map(x => x.Q3_Qn);
Map(x => x.Q2_Qt);
Map(x => x.Q1_Qmin);
Map(x => x.Compound);

View File

@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.5.276.0")]
[assembly: AssemblyFileVersion("2.5.276.0")]
[assembly: AssemblyVersion("2.6.276.0")]
[assembly: AssemblyFileVersion("2.6.276.0")]

View File

@ -95,91 +95,85 @@ namespace Results
AllItems.Add(new WMeterRsltItemSpec(0, "String", (w, t, u, f, p) => f));
/// Common
AllItems.Add(new WMeterRsltItemSpec(1, "Test name", (w, t, u, f, p) => w.GetTestRslt(t).Name()));
AllItems.Add(new WMeterRsltItemSpec(1, "Test name", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : w.GetTestRslt(t).Name()));
AllItems.Add(new WMeterRsltItemSpec(2, "Procedure name", (w, t, u, f, p) => w.ProcedureName()));
AllItems.Add(new WMeterRsltItemSpec(3, "Batch number", (w, t, u, f, p) => w.BatchNr().ToString()));
AllItems.Add(new WMeterRsltItemSpec(4, "Test method", (w, t, u, f, p) => w.GetTestRslt(t).Method()));
AllItems.Add(new WMeterRsltItemSpec(5, "Density", (w, t, u, f, p) => w.GetTestRslt(t).DensityOut.ToString(string.IsNullOrEmpty(p) ? "F1" : p))); /// [kg/m3]
AllItems.Add(new WMeterRsltItemSpec(4, "Test method", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : w.GetTestRslt(t).Method()));
AllItems.Add(new WMeterRsltItemSpec(5, "Density", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : w.GetTestRslt(t).DensityOut.ToString(string.IsNullOrEmpty(p) ? "F1" : p))); /// [kg/m3]
/// Target values
AllItems.Add(new WMeterRsltItemSpec(6, "Q from", (w, t, u, f, p) => w.GetTestRslt(t).Qfrom().ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(7, "Q to", (w, t, u, f, p) => w.GetTestRslt(t).Qto().ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(8, "Test volume", (w, t, u, f, p) => Config.Units.ConvertTo(u, w.GetTestRslt(t).TargetVolume()).ToString(string.IsNullOrEmpty(p) ? "F1" : p)));
AllItems.Add(new WMeterRsltItemSpec(9, "Error limit Lo", (w, t, u, f, p) => w.GetTestRslt(t).ErrLimLo().ToString(string.IsNullOrEmpty(p) ? "F1" : p)));
AllItems.Add(new WMeterRsltItemSpec(10, "Error limit Hi", (w, t, u, f, p) => w.GetTestRslt(t).ErrLimHi().ToString(string.IsNullOrEmpty(p) ? "F1" : p)));
AllItems.Add(new WMeterRsltItemSpec(11, "Uncertainty", (w, t, u, f, p) => w.GetTestRslt(t).Uncertainty().ToString(string.IsNullOrEmpty(p) ? "F2" : p)));
AllItems.Add(new WMeterRsltItemSpec(6, "Q from", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : w.GetTestRslt(t).Qfrom().ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(7, "Q to", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : w.GetTestRslt(t).Qto().ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(8, "Test volume", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetTestRslt(t).TargetVolume()).ToString(string.IsNullOrEmpty(p) ? "F1" : p)));
AllItems.Add(new WMeterRsltItemSpec(9, "Error limit Lo", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetTestRslt(t).ErrLimLo()).ToString(string.IsNullOrEmpty(p) ? "F1" : p)));
AllItems.Add(new WMeterRsltItemSpec(10, "Error limit Hi", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetTestRslt(t).ErrLimHi()).ToString(string.IsNullOrEmpty(p) ? "F1" : p)));
AllItems.Add(new WMeterRsltItemSpec(11, "Uncertainty", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : w.GetTestRslt(t).Uncertainty().ToString(string.IsNullOrEmpty(p) ? "F2" : p)));
/// Test results
AllItems.Add(new WMeterRsltItemSpec(12, "Test start time", (w, t, u, f, p) => w.GetTestRslt(t).StartTime.ToShortTimeString()));
AllItems.Add(new WMeterRsltItemSpec(13, "Test end time", (w, t, u, f, p) => w.GetTestRslt(t).EndTime.ToShortTimeString()));
AllItems.Add(new WMeterRsltItemSpec(14, "Test time", (w, t, u, f, p) => w.GetTestRslt(t).TestTime.ToString(string.IsNullOrEmpty(p) ? "F2" : p)));
AllItems.Add(new WMeterRsltItemSpec(15, "Flow", (w, t, u, f, p) => Utils.DoubleToStr(Config.Units.ConvertTo(u, w.GetTestRslt(t).FlowVolume), 4)));
AllItems.Add(new WMeterRsltItemSpec(16, "T in", (w, t, u, f, p) => Config.Units.ConvertTo(u, w.GetTestRslt(t).TempInAvrg).ToString(string.IsNullOrEmpty(p) ? "F2" : p)));
AllItems.Add(new WMeterRsltItemSpec(17, "T out", (w, t, u, f, p) => Config.Units.ConvertTo(u, w.GetTestRslt(t).TempOutAvrg).ToString(string.IsNullOrEmpty(p) ? "F2" : p)));
AllItems.Add(new WMeterRsltItemSpec(18, "T div", (w, t, u, f, p) => Config.Units.ConvertTo(u, w.GetTestRslt(t).TempDivAvrg).ToString(string.IsNullOrEmpty(p) ? "F2" : p)));
AllItems.Add(new WMeterRsltItemSpec(19, "P up", (w, t, u, f, p) => Config.Units.ConvertTo(u, w.GetTestRslt(t).PressUpAvrg).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(20, "P up start", (w, t, u, f, p) => Config.Units.ConvertTo(u, w.GetTestRslt(t).PressUpStart).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(21, "P up end", (w, t, u, f, p) => Config.Units.ConvertTo(u, w.GetTestRslt(t).PressUpEnd).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(22, "P down", (w, t, u, f, p) => Config.Units.ConvertTo(u, w.GetTestRslt(t).PressDownAvrg).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(23, "P down start", (w, t, u, f, p) => Config.Units.ConvertTo(u, w.GetTestRslt(t).PressDownStart).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(24, "P down end", (w, t, u, f, p) => Config.Units.ConvertTo(u, w.GetTestRslt(t).PressDownEnd).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(25, "Reference error", (w, t, u, f, p) => w.GetTestRslt(t).ErrorMaster.ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(26, "Ambient temperature", (w, t, u, f, p) => Config.Units.ConvertTo(u, w.GetTestRslt(t).AmbientTempAve).ToString(string.IsNullOrEmpty(p) ? "F1" : p)));
AllItems.Add(new WMeterRsltItemSpec(27, "Ambient pressure", (w, t, u, f, p) => Config.Units.ConvertTo(u, w.GetTestRslt(t).AmbientPressAve).ToString(string.IsNullOrEmpty(p) ? "F0" : p)));
AllItems.Add(new WMeterRsltItemSpec(28, "Ambient humidity", (w, t, u, f, p) => Config.Units.ConvertTo(u, w.GetTestRslt(t).AmbientHumiAve).ToString(string.IsNullOrEmpty(p) ? "F1" : p)));
AllItems.Add(new WMeterRsltItemSpec(12, "Test start time", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : w.GetTestRslt(t).StartTime.ToShortTimeString()));
AllItems.Add(new WMeterRsltItemSpec(13, "Test end time", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : w.GetTestRslt(t).EndTime.ToShortTimeString()));
AllItems.Add(new WMeterRsltItemSpec(14, "Test time", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : w.GetTestRslt(t).TestTime.ToString(string.IsNullOrEmpty(p) ? "F2" : p)));
AllItems.Add(new WMeterRsltItemSpec(15, "Flow", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Utils.DoubleToStr(Config.Units.ConvertTo(u, w.GetTestRslt(t).FlowVolume), 4)));
AllItems.Add(new WMeterRsltItemSpec(16, "T in", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetTestRslt(t).TempInAvrg).ToString(string.IsNullOrEmpty(p) ? "F2" : p)));
AllItems.Add(new WMeterRsltItemSpec(17, "T out", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetTestRslt(t).TempOutAvrg).ToString(string.IsNullOrEmpty(p) ? "F2" : p)));
AllItems.Add(new WMeterRsltItemSpec(18, "T div", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetTestRslt(t).TempDivAvrg).ToString(string.IsNullOrEmpty(p) ? "F2" : p)));
AllItems.Add(new WMeterRsltItemSpec(19, "P up", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetTestRslt(t).PressUpAvrg).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(20, "P up start", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetTestRslt(t).PressUpStart).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(21, "P up end", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetTestRslt(t).PressUpEnd).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(22, "P down", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetTestRslt(t).PressDownAvrg).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(23, "P down start", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetTestRslt(t).PressDownStart).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(24, "P down end", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetTestRslt(t).PressDownEnd).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(25, "Reference error", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetTestRslt(t).ErrorMaster).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(26, "Ambient temperature", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetTestRslt(t).AmbientTempAve).ToString(string.IsNullOrEmpty(p) ? "F1" : p)));
AllItems.Add(new WMeterRsltItemSpec(27, "Ambient pressure", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetTestRslt(t).AmbientPressAve).ToString(string.IsNullOrEmpty(p) ? "F0" : p)));
AllItems.Add(new WMeterRsltItemSpec(28, "Ambient humidity", (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetTestRslt(t).AmbientHumiAve).ToString(string.IsNullOrEmpty(p) ? "F1" : p)));
/// Single and combined meter results
AllItems.Add(new WMeterRsltItemSpec(29, "Volume", (w, t, u, f, p) => Config.Units.ConvertTo(u, w.GetMeterTestRslt(t).VolumeMeter).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(30, "Reference volume", (w, t, u, f, p) => Config.Units.ConvertTo(u, w.GetMeterTestRslt(t).VolumeRef).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(31, "Error", (w, t, u, f, p) => w.GetMeterTestRslt(t).Error.ToString(string.IsNullOrEmpty(p) ? "F2" : p)));
AllItems.Add(new WMeterRsltItemSpec(32, "Passed", (w, t, u, f, p) => w.GetMeterTestRslt(t).PassedColorStr()));
AllItems.Add(new WMeterRsltItemSpec(29, "Volume", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetMeterTestRslt(t).VolumeMeter).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(30, "Reference volume", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetMeterTestRslt(t).VolumeRef).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
AllItems.Add(new WMeterRsltItemSpec(31, "Error", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetMeterTestRslt(t).Error).ToString(string.IsNullOrEmpty(p) ? "F2" : p)));
AllItems.Add(new WMeterRsltItemSpec(32, "Passed", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : w.GetMeterTestRslt(t).PassedColorStr()));
/// Water meter info
AllItems.Add(new WMeterRsltItemSpec(33, "Watermeter type", (w, t, u, f, p) => w.WaterMeterData.ProductName));
AllItems.Add(new WMeterRsltItemSpec(34, "Producer", (w, t, u, f, p) => w.WaterMeterData.Producer));
AllItems.Add(new WMeterRsltItemSpec(35, "Metrological class", (w, t, u, f, p) => w.WaterMeterData.MetrologicalClass));
AllItems.Add(new WMeterRsltItemSpec(36, "Approval info", (w, t, u, f, p) => w.WaterMeterData.ApprovalInfo));
AllItems.Add(new WMeterRsltItemSpec(37, "Q4", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q4_Qmax).ToString()
AllItems.Add(new WMeterRsltItemSpec(37, "Q4_Qmax", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q4_Qmax).ToString()
: Config.Units.ConvertTo(u, w.WaterMeterData.Q4_Qmax).ToString(p)));
AllItems.Add(new WMeterRsltItemSpec(38, "Q3", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q3).ToString()
: Config.Units.ConvertTo(u, w.WaterMeterData.Q3).ToString(p)));
AllItems.Add(new WMeterRsltItemSpec(39, "Q2", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q2_Qt).ToString()
AllItems.Add(new WMeterRsltItemSpec(38, "Q3_Qn", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q3_Qn).ToString()
: Config.Units.ConvertTo(u, w.WaterMeterData.Q3_Qn).ToString(p)));
AllItems.Add(new WMeterRsltItemSpec(39, "Q2_Qt", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q2_Qt).ToString()
: Config.Units.ConvertTo(u, w.WaterMeterData.Q2_Qt).ToString(p)));
AllItems.Add(new WMeterRsltItemSpec(40, "Q1", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q1_Qmin).ToString()
: Config.Units.ConvertTo(u, w.WaterMeterData.Q1_Qmin).ToString(p)));
AllItems.Add(new WMeterRsltItemSpec(41, "Qmax", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q4_Qmax).ToString()
: Config.Units.ConvertTo(u, w.WaterMeterData.Q4_Qmax).ToString(p)));
AllItems.Add(new WMeterRsltItemSpec(42, "Qn", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q3).ToString()
: Config.Units.ConvertTo(u, w.WaterMeterData.Q3).ToString(p)));
AllItems.Add(new WMeterRsltItemSpec(43, "Qt", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q2_Qt).ToString()
: Config.Units.ConvertTo(u, w.WaterMeterData.Q2_Qt).ToString(p)));
AllItems.Add(new WMeterRsltItemSpec(44, "Qmin", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q1_Qmin).ToString()
AllItems.Add(new WMeterRsltItemSpec(40, "Q1_Qmin", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? Config.Units.ConvertTo(u, w.WaterMeterData.Q1_Qmin).ToString()
: Config.Units.ConvertTo(u, w.WaterMeterData.Q1_Qmin).ToString(p)));
/// Water meters results
AllItems.Add(new WMeterRsltItemSpec(45, "Serial Nr", (w, t, u, f, p) => w.SerialNr));
AllItems.Add(new WMeterRsltItemSpec(46, "Purchase order", (w, t, u, f, p) => w.PurchaseOrder));
AllItems.Add(new WMeterRsltItemSpec(47, "Year of production", (w, t, u, f, p) => w.YearOfProduction.ToString()));
AllItems.Add(new WMeterRsltItemSpec(48, "WM Position", (w, t, u, f, p) => w.WMPosition.ToString()));
AllItems.Add(new WMeterRsltItemSpec(41, "Serial Nr", (w, t, u, f, p) => w.SerialNr));
AllItems.Add(new WMeterRsltItemSpec(42, "Purchase order", (w, t, u, f, p) => w.PurchaseOrder));
AllItems.Add(new WMeterRsltItemSpec(43, "Year of production", (w, t, u, f, p) => w.YearOfProduction.ToString()));
AllItems.Add(new WMeterRsltItemSpec(44, "WM Position", (w, t, u, f, p) => w.WMPosition.ToString()));
/// Water meters results (single)
AllItems.Add(new WMeterRsltItemSpec(49, "End state", (w, t, u, f, p) => w.EndState));
AllItems.Add(new WMeterRsltItemSpec(50, "Pulses", (w, t, u, f, p) => w.GetMeterTestRslt(t).PulsesMeter.ToString()));
AllItems.Add(new WMeterRsltItemSpec(51, "Pulses/liter", (w, t, u, f, p) => string.IsNullOrEmpty(p) ? w.GetMeterTestRslt(t).PulsesPerLiter.ToString()
: w.GetMeterTestRslt(t).PulsesPerLiter.ToString(p)));
AllItems.Add(new WMeterRsltItemSpec(52, "Reference pulses", (w, t, u, f, p) => w.GetMeterTestRslt(t).PulsesMaster.ToString()));
AllItems.Add(new WMeterRsltItemSpec(45, "End state", (w, t, u, f, p) => w.EndState));
AllItems.Add(new WMeterRsltItemSpec(46, "Pulses", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : w.GetMeterTestRslt(t).PulsesMeter.ToString()));
AllItems.Add(new WMeterRsltItemSpec(47, "Pulses/liter", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : (string.IsNullOrEmpty(p) ? w.GetMeterTestRslt(t).PulsesPerLiter.ToString()
: w.GetMeterTestRslt(t).PulsesPerLiter.ToString(p))));
AllItems.Add(new WMeterRsltItemSpec(48, "Reference pulses", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : w.GetMeterTestRslt(t).PulsesMaster.ToString()));
/// Batch info
AllItems.Add(new WMeterRsltItemSpec(53, "Batch number", (w, t, u, f, p) => w.Batch.BatchNr.ToString()));
AllItems.Add(new WMeterRsltItemSpec(54, "Test bench ID", (w, t, u, f, p) => w.Batch.TestBenchId.ToString()));
AllItems.Add(new WMeterRsltItemSpec(55, "Program version", (w, t, u, f, p) => w.Batch.ProgramVersion));
AllItems.Add(new WMeterRsltItemSpec(56, "User name", (w, t, u, f, p) => w.Batch.UserName));
AllItems.Add(new WMeterRsltItemSpec(57, "User nr.", (w, t, u, f, p) => w.Batch.UserNumber.ToString()));
AllItems.Add(new WMeterRsltItemSpec(58, "Procedure name", (w, t, u, f, p) => w.Batch.ProcedureName));
AllItems.Add(new WMeterRsltItemSpec(59, "Watermeters", (w, t, u, f, p) => w.Batch.WatermetersStr));
AllItems.Add(new WMeterRsltItemSpec(60, "Protocol title", (w, t, u, f, p) => w.Batch.ProtocolTitle));
AllItems.Add(new WMeterRsltItemSpec(61, "Batch start time", (w, t, u, f, p) => w.Batch.StartTime.ToShortTimeString()));
AllItems.Add(new WMeterRsltItemSpec(62, "Batch end time", (w, t, u, f, p) => w.Batch.EndTime.ToShortTimeString()));
AllItems.Add(new WMeterRsltItemSpec(49, "Batch number", (w, t, u, f, p) => w.Batch.BatchNr.ToString()));
AllItems.Add(new WMeterRsltItemSpec(50, "Test bench ID", (w, t, u, f, p) => w.Batch.TestBenchId.ToString()));
AllItems.Add(new WMeterRsltItemSpec(51, "Program version", (w, t, u, f, p) => w.Batch.ProgramVersion));
AllItems.Add(new WMeterRsltItemSpec(52, "User name", (w, t, u, f, p) => w.Batch.UserName));
AllItems.Add(new WMeterRsltItemSpec(53, "User nr.", (w, t, u, f, p) => w.Batch.UserNumber.ToString()));
AllItems.Add(new WMeterRsltItemSpec(54, "Procedure name", (w, t, u, f, p) => w.Batch.ProcedureName));
AllItems.Add(new WMeterRsltItemSpec(55, "Watermeters", (w, t, u, f, p) => w.Batch.WatermetersStr));
AllItems.Add(new WMeterRsltItemSpec(56, "Protocol title", (w, t, u, f, p) => w.Batch.ProtocolTitle));
AllItems.Add(new WMeterRsltItemSpec(57, "Batch start time", (w, t, u, f, p) => w.Batch.StartTime.ToShortTimeString()));
AllItems.Add(new WMeterRsltItemSpec(58, "Batch end time", (w, t, u, f, p) => w.Batch.EndTime.ToShortTimeString()));
AllItems.Add(new WMeterRsltItemSpec(59, "Batch start date", (w, t, u, f, p) => w.Batch.StartTime.ToShortDateString()));
AllItems.Add(new WMeterRsltItemSpec(60, "Batch end date", (w, t, u, f, p) => w.Batch.EndTime.ToShortDateString()));
}
/// <summary>

View File

@ -483,7 +483,7 @@ namespace TBF.BenchControl.DB.SensusOracle
logger.WriteLine(string.Format("Typ={0}", batch.ProcedureName)); /// iP 020 Q3_4 R160 A XXXX
logger.WriteLine(string.Format("MetroKlasse={0}", wmData.MetrologicalClass));
logger.WriteLine(string.Format("Zulassungszeichen={0}", wmData.ApprovalInfo));
logger.WriteLine(string.Format("Qn={0}", wmData.Qn.ToString("F1", Program.AltCulture)));
logger.WriteLine(string.Format("Qn={0}", wmData.Q3_Qn.ToString("F1", Program.AltCulture)));
logger.WriteLine(string.Format("Impulsrate={0}", q3.PulsesPerLiter.ToString(Program.AltCulture))); /// 50,000
logger.WriteLine(string.Format("WZid={0}", wmData.WMTypeId));
logger.WriteLine(string.Format("RevWzTyp={0}", wmData.WMTypeRev));

View File

@ -10,8 +10,10 @@ namespace TBF.BenchControl.GenericDevices
void ClearData();
string Producer { get; }
float Qn { get; }
string ApprovalInfo { get; }
float Q3_Qn { get; }
float Q2_Qt { get; }
float Q1_Qmin { get; }
string ApprovalInfo { get; }
string MetrologicalClass { get; }
string SerialNr { get; set; }
string EndState { get; set; }

View File

@ -73,7 +73,7 @@ namespace TBF.BenchControl.Output.FileWriters.Basic
unitsCB.Items.Add("---"); /// Use "---" instead of "None"
for (Config.Unit u = (Config.Unit)1; u < Config.Unit.Count; u++)
{
unitsCB.Items.Add(u.ToString().Replace('p','/'));
unitsCB.Items.Add(u.ToString().Replace("Pct", "%").Replace('p', '/'));
}
ComboBox alignmentCB = new ComboBox();
@ -126,7 +126,7 @@ namespace TBF.BenchControl.Output.FileWriters.Basic
if (editors[e.SubItem].Text == "---") { item.Units = 0; return; };
for (Config.Unit u = (Config.Unit)1; u < Config.Unit.Count; u++)
{
if (u.ToString().Replace('p', '/').Equals(editors[e.SubItem].Text))
if (u.ToString().Replace("Pct", "%").Replace('p', '/').Equals(editors[e.SubItem].Text))
{
item.Units = u;
return; /// OK
@ -190,7 +190,7 @@ namespace TBF.BenchControl.Output.FileWriters.Basic
lvi.Tag = item;
lvi.SubItems.Add(item.Header); /// Header
lvi.SubItems.Add(item.TestID); /// TestID
lvi.SubItems.Add((item.Units == Config.Unit.None) ? "---" : item.Units.ToString().Replace('p', '/')); /// Units
lvi.SubItems.Add((item.Units == Config.Unit.None) ? "---" : item.Units.ToString().Replace("Pct", "%").Replace('p', '/')); /// Units
lvi.SubItems.Add(item.Format); /// Format
lvi.SubItems.Add(item.Precision); /// Precision
lvi.SubItems.Add(item.Width.ToString()); /// Width
@ -268,5 +268,10 @@ namespace TBF.BenchControl.Output.FileWriters.Basic
DialogResult = DialogResult.OK;
Close();
}
private void ResultsConfigDlg_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = true;
}
}
}

View File

@ -155,6 +155,7 @@ namespace TBF.BenchControl.Output.FileWriters.Basic
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "ResultsConfig";
this.Load += new System.EventHandler(this.ResultsConfig_Load);
this.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.ResultsConfigDlg_KeyPress);
this.ResumeLayout(false);
this.PerformLayout();

View File

@ -164,11 +164,11 @@ namespace TBF.BenchControl.ResultsPrinters.Munich
lineNr++;
PrintAt(e, Tab1, lineNr * SpacingOne, "Qn :");
PrintAt(e, Tab2, lineNr * SpacingOne, wm.Qn().ToString());
PrintAt(e, Tab2, lineNr * SpacingOne, wm.Q3_Qn().ToString());
if (compound)
{
PrintAt(e, Tab3, lineNr * SpacingOne, "Qn :");
PrintAt(e, Tab4, lineNr * SpacingOne, wm.Qn().ToString()); /// TODO !!!!!
PrintAt(e, Tab4, lineNr * SpacingOne, wm.Q3_Qn().ToString()); /// TODO !!!!!
}
lineNr++;

View File

@ -263,8 +263,10 @@ namespace TBF.BenchControl.Sequences
Producer = WaterMeters[i].Producer,
MetrologicalClass = WaterMeters[i].MetrologicalClass,
ApprovalInfo = WaterMeters[i].ApprovalInfo,
Qn = WaterMeters[i].Qn,
Compound = compound,
Q3_Qn = WaterMeters[i].Q3_Qn,
Q2_Qt = WaterMeters[i].Q2_Qt,
Q1_Qmin = WaterMeters[i].Q1_Qmin,
Compound = compound,
};
#if IPERLST || IPERLST_SPECIAL
BenchControl.WaterMeters.iPerl.WaterMeter iPerl = WaterMeters[i] as BenchControl.WaterMeters.iPerl.WaterMeter;

View File

@ -25,13 +25,13 @@ namespace TBF.BenchControl.WaterMeters.WaterMeter
public string Producer { get { return waterMeterCfg.ProcParams.Producer; } }
/// <summary>Nominal water flow in [m3/h]</summary>
public float Qn { get { return waterMeterCfg. ProcParams.Qn; } }
public float Q3_Qn { get { return waterMeterCfg. ProcParams.Qn; } }
/// <summary>Nominal water flow in [m3/h]</summary>
public float Qt { get { return waterMeterCfg.ProcParams.Qt; } }
public float Q2_Qt { get { return waterMeterCfg.ProcParams.Qt; } }
/// <summary>Nominal water flow in [m3/h]</summary>
public float Qmin { get { return waterMeterCfg.ProcParams.Qmin; } }
public float Q1_Qmin { get { return waterMeterCfg.ProcParams.Qmin; } }
/// <summary>Metrological class</summary>
public string MetrologicalClass { get { return waterMeterCfg.ProcParams.MetrologicalClass; } }

View File

@ -14,9 +14,11 @@ namespace TBF.BenchControl.WaterMeters.iPerl
{
public class ProcParams : ProcedureParamsBase, IParamsProvider, IProcedureParams
{
public float PulsesPerLtr; /// Target low limit of the flow increase or decrease
public float PulsesPerLtr; /// Target low limit of the flow increase or decrease
public string Producer; /// Hersteller
public float Qn;
public float Qn; /// [m3/h]
public float Q2; /// [m3/h]
public float Q1; /// [m3/h]
public string ApprovalInfo; /// Zulassungszeichen
public string MetrologicalClass; /// Metr. Klasse
public int WMType_ID; /// Required for Oracle DB: ID_WZTyp in table VT_PRUEFPUNKT_SOLL_SD
@ -27,7 +29,9 @@ namespace TBF.BenchControl.WaterMeters.iPerl
PulsesPerLtr = 1.0f;
Producer = "";
Qn = 2.5f;
ApprovalInfo = "";
Q2 = 0.005f;
Q1 = 0.003125f;
ApprovalInfo = "";
MetrologicalClass = "A";
WMType_ID = 2; /// Value for iPerl DN15
WMType_Rev = 1; /// Value for iPerl DN15
@ -37,7 +41,9 @@ namespace TBF.BenchControl.WaterMeters.iPerl
{
Strings.PulsesPerLtr,
Strings.Producer,
Strings.Qn,
"Q3",
"Q2",
"Q1",
Strings.Approval_info,
Strings.Metrological_class,
"WMType ID",
@ -53,10 +59,12 @@ namespace TBF.BenchControl.WaterMeters.iPerl
case 0: return PulsesPerLtr.ToString();
case 1: return Producer;
case 2: return Qn.ToString();
case 3: return ApprovalInfo;
case 4: return MetrologicalClass;
case 5: return WMType_ID.ToString();
case 6: return WMType_Rev.ToString();
case 3: return Q2.ToString();
case 4: return Q1.ToString();
case 5: return ApprovalInfo;
case 6: return MetrologicalClass;
case 7: return WMType_ID.ToString();
case 8: return WMType_Rev.ToString();
default: return string.Empty;
}
}
@ -68,10 +76,12 @@ namespace TBF.BenchControl.WaterMeters.iPerl
case 0: PulsesPerLtr = Utils.ParseUFloat(strValue); return;
case 1: Producer = strValue; return;
case 2: Qn = Utils.ParseUFloat(strValue); return;
case 3: ApprovalInfo = strValue; return;
case 4: MetrologicalClass = strValue; return;
case 5: WMType_ID = int.Parse(strValue); return;
case 6: WMType_Rev = int.Parse(strValue); return;
case 3: Q2 = Utils.ParseUFloat(strValue); return;
case 4: Q1 = Utils.ParseUFloat(strValue); return;
case 5: ApprovalInfo = strValue; return;
case 6: MetrologicalClass = strValue; return;
case 7: WMType_ID = int.Parse(strValue); return;
case 8: WMType_Rev = int.Parse(strValue); return;
default: return;
}
}
@ -88,14 +98,16 @@ namespace TBF.BenchControl.WaterMeters.iPerl
if (Utils.TryParseUFloat(strValue, out dummy)) return true;
break;
case 2:
if (Utils.TryParseUFloat(strValue, out dummy)) return true;
case 3:
case 4:
if (Utils.TryParseUFloat(strValue, out dummy)) return true;
break;
case 1:
case 3:
case 4:
case 5:
case 6:
return true;
case 5:
case 6:
case 7:
case 8:
if (int.TryParse(strValue, out iDummy)) return true;
break;
default:
@ -112,7 +124,9 @@ namespace TBF.BenchControl.WaterMeters.iPerl
prms.PulsesPerLtr = this.PulsesPerLtr;
prms.Producer = this.Producer;
prms.Qn = this.Qn;
prms.ApprovalInfo = this.ApprovalInfo;
prms.Q2 = this.Q2;
prms.Q1 = this.Q1;
prms.ApprovalInfo = this.ApprovalInfo;
prms.MetrologicalClass = this.MetrologicalClass;
prms.WMType_ID = this.WMType_ID;
prms.WMType_Rev = this.WMType_Rev;

View File

@ -38,7 +38,9 @@ namespace TBF.BenchControl.WaterMeters.iPerl
public string Producer { get { return iPerlCfg.ProcParams.Producer; } }
/// <summary>Nominal water flow in [m3/h]</summary>
public float Qn { get { return iPerlCfg.ProcParams.Qn; } }
public float Q3_Qn { get { return iPerlCfg.ProcParams.Qn; } }
public float Q2_Qt { get { return iPerlCfg.ProcParams.Q2; } }
public float Q1_Qmin { get { return iPerlCfg.ProcParams.Q1; } }
/// <summary>WaterMeter approval information or signature</summary>
public string ApprovalInfo { get { return iPerlCfg.ProcParams.ApprovalInfo; } }

View File

@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("2.5.276.1")]
[assembly: AssemblyFileVersion("2.5.276.1")]
[assembly: AssemblyVersion("2.6.276.1")]
[assembly: AssemblyFileVersion("2.6.276.1")]