Heat meters support for measurement with pulses, change in ResultsDB.MeterTestRslt, ver. 2.10.352
This commit is contained in:
+10
-1
@@ -12,40 +12,49 @@ namespace Config
|
|||||||
public const int WMsCount = 3;
|
public const int WMsCount = 3;
|
||||||
public const int LineSize = 1;
|
public const int LineSize = 1;
|
||||||
public const int CompoundWMsCount = 1;
|
public const int CompoundWMsCount = 1;
|
||||||
|
public const int HeatMetersCount = 0;
|
||||||
#elif DN100 || BADGER_VELKA_TRAT
|
#elif DN100 || BADGER_VELKA_TRAT
|
||||||
public const int WMsCount = 3;
|
public const int WMsCount = 3;
|
||||||
public const int LineSize = 3;
|
public const int LineSize = 3;
|
||||||
public const int CompoundWMsCount = 1;
|
public const int CompoundWMsCount = 1;
|
||||||
|
public const int HeatMetersCount = 0;
|
||||||
#elif FUZHOU300 || FUZHOU150 || PT200IL || PUCHONG_PT200 || GENESIS
|
#elif FUZHOU300 || FUZHOU150 || PT200IL || PUCHONG_PT200 || GENESIS
|
||||||
public const int WMsCount = 6;
|
public const int WMsCount = 6;
|
||||||
public const int LineSize = 6;
|
public const int LineSize = 6;
|
||||||
public const int CompoundWMsCount = 3;
|
public const int CompoundWMsCount = 3;
|
||||||
|
public const int HeatMetersCount = 0;
|
||||||
#elif TORINO50 || BADGER_MALA_TRAT
|
#elif TORINO50 || BADGER_MALA_TRAT
|
||||||
public const int WMsCount = 6;
|
public const int WMsCount = 6;
|
||||||
public const int LineSize = 6;
|
public const int LineSize = 6;
|
||||||
public const int CompoundWMsCount = 1;
|
public const int CompoundWMsCount = 1;
|
||||||
|
public const int HeatMetersCount = 0;
|
||||||
#elif TORUN_PT50_2015 || CEVAK_PT40_272 || MURES_PT40 || FUZHOU_40
|
#elif TORUN_PT50_2015 || CEVAK_PT40_272 || MURES_PT40 || FUZHOU_40
|
||||||
public const int WMsCount = 20;
|
public const int WMsCount = 20;
|
||||||
public const int LineSize = 10;
|
public const int LineSize = 10;
|
||||||
public const int CompoundWMsCount = 1;
|
public const int CompoundWMsCount = 1;
|
||||||
|
public const int HeatMetersCount = 0;
|
||||||
#elif IPERLST
|
#elif IPERLST
|
||||||
public const int WMsCount = 40;
|
public const int WMsCount = 40;
|
||||||
public const int LineSize = 20;
|
public const int LineSize = 20;
|
||||||
public const int CompoundWMsCount = 1;
|
public const int CompoundWMsCount = 1;
|
||||||
|
public const int HeatMetersCount = 0;
|
||||||
#elif IPERLST_SPECIAL
|
#elif IPERLST_SPECIAL
|
||||||
public const int WMsCount = 6;
|
public const int WMsCount = 6;
|
||||||
public const int LineSize = 6;
|
public const int LineSize = 6;
|
||||||
public const int CompoundWMsCount = 1;
|
public const int CompoundWMsCount = 1;
|
||||||
|
public const int HeatMetersCount = 0;
|
||||||
#elif SLM_50
|
#elif SLM_50
|
||||||
public const int WMsCount = 12;
|
public const int WMsCount = 12;
|
||||||
public const int LineSize = 12;
|
public const int LineSize = 12;
|
||||||
public const int CompoundWMsCount = 1;
|
public const int CompoundWMsCount = 1;
|
||||||
|
public const int HeatMetersCount = 6;
|
||||||
#elif SLM_END
|
#elif SLM_END
|
||||||
public const int WMsCount = 12;
|
public const int WMsCount = 12;
|
||||||
public const int LineSize = 6;
|
public const int LineSize = 6;
|
||||||
public const int CompoundWMsCount = 1;
|
public const int CompoundWMsCount = 1;
|
||||||
|
public const int HeatMetersCount = 0;
|
||||||
#endif
|
#endif
|
||||||
public static int MaxPartNr()
|
public static int MaxPartNr()
|
||||||
{
|
{
|
||||||
return Math.Max(WMsCount / LineSize, CompoundWMsCount);
|
return Math.Max(WMsCount / LineSize, CompoundWMsCount);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,6 +76,8 @@ namespace Config.Entities
|
|||||||
CompoundMain,
|
CompoundMain,
|
||||||
CompoundAux,
|
CompoundAux,
|
||||||
Compound,
|
Compound,
|
||||||
|
HeatMeterVolume,
|
||||||
|
HeatMeterEnergy,
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum Medium
|
public enum Medium
|
||||||
|
|||||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("2.10.351.0")]
|
[assembly: AssemblyVersion("2.10.352.0")]
|
||||||
[assembly: AssemblyFileVersion("2.10.351.0")]
|
[assembly: AssemblyFileVersion("2.10.352.0")]
|
||||||
|
|||||||
+16
-11
@@ -91,22 +91,27 @@ namespace Results
|
|||||||
|
|
||||||
if (t.Part != 0 && waterMeterParts[i] != 0 && t.Part != waterMeterParts[i]) continue;
|
if (t.Part != 0 && waterMeterParts[i] != 0 && t.Part != waterMeterParts[i]) continue;
|
||||||
|
|
||||||
|
///
|
||||||
/// Create empty watermeter test results and add them to the list and to dictionaries
|
/// Create empty watermeter test results and add them to the list and to dictionaries
|
||||||
if (!d.Batch.Compound)
|
///
|
||||||
|
IList<MeterTestRslt> wmtrs = d.WaterMeters[i].MeterTestRslts;
|
||||||
|
if (d.Batch.Compound)
|
||||||
{
|
{
|
||||||
MeterTestRslt mtr = new MeterTestRslt(d.WaterMeters[i], tr, Config.Entities.CompoundMeterId.Single);
|
/// Compound water meter
|
||||||
d.WaterMeters[i].MeterTestRslts.Add(mtr);
|
wmtrs.Add(new MeterTestRslt(d.WaterMeters[i], tr, Config.Entities.CompoundMeterId.CompoundMain));
|
||||||
|
wmtrs.Add(new MeterTestRslt(d.WaterMeters[i], tr, Config.Entities.CompoundMeterId.CompoundAux));
|
||||||
|
wmtrs.Add(new MeterTestRslt(d.WaterMeters[i], tr, Config.Entities.CompoundMeterId.Compound));
|
||||||
|
}
|
||||||
|
else if (d.Batch.HeatMeter)
|
||||||
|
{
|
||||||
|
/// Heat meter
|
||||||
|
wmtrs.Add(new MeterTestRslt(d.WaterMeters[i], tr, Config.Entities.CompoundMeterId.HeatMeterVolume));
|
||||||
|
wmtrs.Add(new MeterTestRslt(d.WaterMeters[i], tr, Config.Entities.CompoundMeterId.HeatMeterEnergy));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
MeterTestRslt mainMTR = new MeterTestRslt(d.WaterMeters[i], tr, Config.Entities.CompoundMeterId.CompoundMain);
|
/// Water meter
|
||||||
d.WaterMeters[i].MeterTestRslts.Add(mainMTR);
|
wmtrs.Add(new MeterTestRslt(d.WaterMeters[i], tr, Config.Entities.CompoundMeterId.Single));
|
||||||
|
|
||||||
MeterTestRslt auxMTR = new MeterTestRslt(d.WaterMeters[i], tr, Config.Entities.CompoundMeterId.CompoundAux);
|
|
||||||
d.WaterMeters[i].MeterTestRslts.Add(auxMTR);
|
|
||||||
|
|
||||||
MeterTestRslt cmpdMTR = new MeterTestRslt(d.WaterMeters[i], tr, Config.Entities.CompoundMeterId.Compound);
|
|
||||||
d.WaterMeters[i].MeterTestRslts.Add(cmpdMTR);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,9 +31,7 @@ namespace Results.Entities
|
|||||||
public virtual IList<WaterMeter> WaterMeters { get; set; }
|
public virtual IList<WaterMeter> WaterMeters { get; set; }
|
||||||
public virtual IList<TestRslt> TestRslts { get; set; }
|
public virtual IList<TestRslt> TestRslts { get; set; }
|
||||||
public virtual bool Compound { get; set; } /// Not mapped to DB now
|
public virtual bool Compound { get; set; } /// Not mapped to DB now
|
||||||
#if HEAT_METERS_SUPPORT
|
public virtual bool HeatMeter { get; set; } /// Not mapped to DB now
|
||||||
public virtual bool HeatMeter { get; set; } /// Not mapped to DB now
|
|
||||||
#endif
|
|
||||||
|
|
||||||
public Batch()
|
public Batch()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -9,24 +9,18 @@ namespace Results.Entities
|
|||||||
{
|
{
|
||||||
public virtual int Id { get; protected set; }
|
public virtual int Id { get; protected set; }
|
||||||
|
|
||||||
public virtual byte CompoundMeterId { get; set; } /// 0=single, 1=compound/main, 2=compound/aux., 3=compound/overal
|
public virtual byte CompoundMeterId { get; set; } /// 0=single, 1=compound/main, 2=compound/aux., 3=compound/overal, 4=heat meter volume, 5=heat meter energy
|
||||||
public virtual double PulsesMeter { get; set; } /// # of water meter pulses
|
public virtual double PulsesMeter { get; set; } /// # of water meter or heat meter pulses
|
||||||
public virtual double PulsesMaster { get; set; } /// # of reference flowmeter pulses (gated by this water meter pulses)
|
public virtual double PulsesMaster { get; set; } /// # of reference flowmeter pulses (gated by this water meter pulses)
|
||||||
public virtual double PulsesPerLiter { get; set; } /// # of water meter pulses per one liter
|
public virtual double PulsesPerLiter { get; set; } /// [l ^ -1], in case of heat meters (CompoundMeterId==5) pulses per kWh in [kWh ^ -1]
|
||||||
public virtual double VolumeStart { get; set; } /// [l]
|
public virtual double VolumeStart { get; set; } /// Volume or energy (CompoundMeterId==5) on test start in [l] or [J]
|
||||||
public virtual double VolumeEnd { get; set; } /// [l]
|
public virtual double VolumeEnd { get; set; } /// Volume or energy (CompoundMeterId==5) on test end in [l] or [J]
|
||||||
public virtual double VolumeMeter { get; set; } /// [l]
|
public virtual double VolumeMeter { get; set; } /// Measured volume or energy (CompoundMeterId==5) in [l] or [J]
|
||||||
public virtual double VolumeRef { get; set; } /// [l]
|
public virtual double VolumeRef { get; set; } /// Reference volume or energy (CompoundMeterId==5) in [l] or [J]
|
||||||
public virtual double TimestampStart { get; set; } /// [s]
|
public virtual double TimestampStart { get; set; } /// [s]
|
||||||
public virtual double TimestampEnd { get; set; } /// [s]
|
public virtual double TimestampEnd { get; set; } /// [s]
|
||||||
public virtual double TestTime { get; set; } /// [s]
|
public virtual double TestTime { get; set; } /// [s]
|
||||||
///
|
|
||||||
/// Heat meter
|
|
||||||
public virtual double EnergyStart { get; set; } /// [J]
|
|
||||||
public virtual double EnergyEnd { get; set; } /// [J]
|
|
||||||
public virtual double Energy { get; set; } /// [J]
|
|
||||||
public virtual double RefEnergy { get; set; } /// [J]
|
|
||||||
|
|
||||||
/// Main result
|
/// Main result
|
||||||
public virtual double Error { get; set; } /// [%]
|
public virtual double Error { get; set; } /// [%]
|
||||||
public virtual bool TestDone { get; set; } /// true = test was completed
|
public virtual bool TestDone { get; set; } /// true = test was completed
|
||||||
|
|||||||
@@ -47,9 +47,8 @@ namespace Results.Entities
|
|||||||
public virtual string Text5 { get; set; }
|
public virtual string Text5 { get; set; }
|
||||||
|
|
||||||
public virtual bool Compound { get; set; }
|
public virtual bool Compound { get; set; }
|
||||||
#if HEAT_METER_SUPPORT
|
|
||||||
public virtual bool HeatMeter { get; set; }
|
public virtual bool HeatMeter { get; set; }
|
||||||
#endif
|
|
||||||
#if IPERLST || IPERLST_SPECIAL
|
#if IPERLST || IPERLST_SPECIAL
|
||||||
public virtual int WMTypeId { get; set; }
|
public virtual int WMTypeId { get; set; }
|
||||||
public virtual int WMTypeRev { get; set; }
|
public virtual int WMTypeRev { get; set; }
|
||||||
@@ -102,6 +101,7 @@ namespace Results.Entities
|
|||||||
if (Text5 != wmd.Text5) return false;
|
if (Text5 != wmd.Text5) return false;
|
||||||
|
|
||||||
if (Compound != wmd.Compound) return false;
|
if (Compound != wmd.Compound) return false;
|
||||||
|
if (HeatMeter != wmd.HeatMeter) return false;
|
||||||
|
|
||||||
#if IPERLST || IPERLST_SPECIAL
|
#if IPERLST || IPERLST_SPECIAL
|
||||||
if (WMTypeId != wmd.WMTypeId) return false;
|
if (WMTypeId != wmd.WMTypeId) return false;
|
||||||
|
|||||||
+2
-2
@@ -166,8 +166,8 @@ namespace Results
|
|||||||
AllItems.Add(new ItemSpec("Batch end time", Strings.End, x => x.Batch().EndTime.ToShortTimeString(), (x, y, z) => x.Batch().EndTime.ToShortTimeString()));
|
AllItems.Add(new ItemSpec("Batch end time", Strings.End, x => x.Batch().EndTime.ToShortTimeString(), (x, y, z) => x.Batch().EndTime.ToShortTimeString()));
|
||||||
|
|
||||||
/// Heat meters results
|
/// Heat meters results
|
||||||
AllItems.Add(new ItemSpec("Energy", Strings.Energy, x => x.Energy.ToString(), null));
|
AllItems.Add(new ItemSpec("Energy", Strings.Energy, null, (x,y,z) => z.VolumeMeter.ToString()));
|
||||||
AllItems.Add(new ItemSpec("Reference energy", Strings.Energy_ref, x => x.RefEnergy.ToString(), null));
|
AllItems.Add(new ItemSpec("Reference energy", Strings.Energy_ref, null, (x,y,z) => z.VolumeRef.ToString()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemSpec GetItem(string name)
|
public static ItemSpec GetItem(string name)
|
||||||
|
|||||||
@@ -25,12 +25,6 @@ namespace Results.Mappings
|
|||||||
Map(x => x.Error);
|
Map(x => x.Error);
|
||||||
Map(x => x.TestDone);
|
Map(x => x.TestDone);
|
||||||
Map(x => x.Passed);
|
Map(x => x.Passed);
|
||||||
#if HEAT_METERS_SUPPORT
|
|
||||||
Map(x => x.EnergyStart);
|
|
||||||
Map(x => x.EnergyEnd);
|
|
||||||
Map(x => x.Energy);
|
|
||||||
Map(x => x.RefEnergy);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
References(x => x.WaterMeter);
|
References(x => x.WaterMeter);
|
||||||
References(x => x.TestRslt);
|
References(x => x.TestRslt);
|
||||||
|
|||||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("2.10.351.0")]
|
[assembly: AssemblyVersion("2.10.352.0")]
|
||||||
[assembly: AssemblyFileVersion("2.10.351.0")]
|
[assembly: AssemblyFileVersion("2.10.352.0")]
|
||||||
|
|||||||
@@ -136,8 +136,8 @@ namespace Results
|
|||||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Volume, Strings.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(ItemID.Volume, Strings.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(ItemID.Reference_volume, Strings.VolRef + "()", (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(ItemID.Reference_volume, Strings.VolRef + "()", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetMeterTestRslt(t).VolumeRef).ToString(string.IsNullOrEmpty(p) ? "F3" : p)));
|
||||||
#if HEAT_METERS_SUPPORT
|
#if HEAT_METERS_SUPPORT
|
||||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Energy, Strings.Energy + "()", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetMeterTestRslt(t).Energy).ToString(string.IsNullOrEmpty(p) ? "F1" : p)));
|
AllItems.Add(new WMeterRsltItemSpec(ItemID.Energy, Strings.Energy + "()", (w, t, u, f, p) => (w.GetMeterTestRslt(t, Config.Entities.CompoundMeterId.HeatMeterEnergy) == null) ? "" : Config.Units.ConvertTo(u, w.GetMeterTestRslt(t, Config.Entities.CompoundMeterId.HeatMeterEnergy).VolumeMeter).ToString(string.IsNullOrEmpty(p) ? "F1" : p)));
|
||||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Reference_energy, Strings.Energy_ref + "()", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : Config.Units.ConvertTo(u, w.GetMeterTestRslt(t).RefEnergy).ToString(string.IsNullOrEmpty(p) ? "F1" : p)));
|
AllItems.Add(new WMeterRsltItemSpec(ItemID.Reference_energy, Strings.Energy_ref + "()", (w, t, u, f, p) => (w.GetMeterTestRslt(t, Config.Entities.CompoundMeterId.HeatMeterEnergy) == null) ? "" : Config.Units.ConvertTo(u, w.GetMeterTestRslt(t, Config.Entities.CompoundMeterId.HeatMeterEnergy).VolumeRef).ToString(string.IsNullOrEmpty(p) ? "F1" : p)));
|
||||||
#endif
|
#endif
|
||||||
#if IPERLST || IPERLST_SPECIAL
|
#if IPERLST || IPERLST_SPECIAL
|
||||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Error, Strings.Error + "()", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "0" : Config.Units.ConvertTo(u, w.GetMeterTestRslt(t).Error).ToString(string.IsNullOrEmpty(p) ? "F2" : p)));
|
AllItems.Add(new WMeterRsltItemSpec(ItemID.Error, Strings.Error + "()", (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "0" : Config.Units.ConvertTo(u, w.GetMeterTestRslt(t).Error).ToString(string.IsNullOrEmpty(p) ? "F2" : p)));
|
||||||
|
|||||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("2.10.351.0")]
|
[assembly: AssemblyVersion("2.10.352.0")]
|
||||||
[assembly: AssemblyFileVersion("2.10.351.0")]
|
[assembly: AssemblyFileVersion("2.10.352.0")]
|
||||||
|
|||||||
+2
-2
@@ -6,7 +6,7 @@ using TBF.BenchControl.Generic;
|
|||||||
|
|
||||||
namespace TBF.BenchControl.Elde.RegisterReader
|
namespace TBF.BenchControl.Elde.RegisterReader
|
||||||
{
|
{
|
||||||
public class RegisterReaderFactory : IComponentFactory
|
public class Factory : IComponentFactory
|
||||||
{
|
{
|
||||||
public string ClassName { get { return "RegisterReader"; } }
|
public string ClassName { get { return "RegisterReader"; } }
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ namespace TBF.BenchControl.Elde.RegisterReader
|
|||||||
|
|
||||||
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new RegisterReader(cfg, components); }
|
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new RegisterReader(cfg, components); }
|
||||||
|
|
||||||
public IComponentCfg DefaultConfig() { return new RegisterReaderCfg(this); }
|
public IComponentCfg DefaultConfig() { return new RegisterReaderCfg("Sick", this); }
|
||||||
|
|
||||||
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
|
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
|
||||||
{
|
{
|
||||||
@@ -13,7 +13,7 @@ namespace TBF.BenchControl.Elde.RegisterReader
|
|||||||
{
|
{
|
||||||
public class RRProcedureParams : ProcedureParamsBase, IParamsProvider, IProcedureParams
|
public class RRProcedureParams : ProcedureParamsBase, IParamsProvider, IProcedureParams
|
||||||
{
|
{
|
||||||
public float PulsesPerLtr; /// Target low limit of the flow increase or decrease
|
public float PulsesPerLtr; /// [l^-1]
|
||||||
|
|
||||||
public override void InitializeAll()
|
public override void InitializeAll()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -33,16 +33,16 @@ namespace TBF.BenchControl.Elde.RegisterReader
|
|||||||
/// Private parameterless constructor invoked by all other (public) constructors
|
/// Private parameterless constructor invoked by all other (public) constructors
|
||||||
RegisterReaderCfg()
|
RegisterReaderCfg()
|
||||||
{
|
{
|
||||||
Name = "Sick";
|
|
||||||
ParentName = "CB";
|
|
||||||
Position = 1;
|
|
||||||
ProcParams = new RRProcedureParams();
|
ProcParams = new RRProcedureParams();
|
||||||
}
|
}
|
||||||
|
|
||||||
public RegisterReaderCfg(IComponentFactory factory)
|
public RegisterReaderCfg(string name, IComponentFactory factory)
|
||||||
: this()
|
: this()
|
||||||
{
|
{
|
||||||
this.Factory = factory;
|
Name = name;
|
||||||
|
Factory = factory;
|
||||||
|
ParentName = "CB";
|
||||||
|
Position = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string ToString(int i)
|
public string ToString(int i)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
///
|
///
|
||||||
/// Copyright (c) 2013-2015 Sensus Metering Systems
|
/// Copyright (c) 2013-2016 Sensus Metering Systems
|
||||||
///
|
///
|
||||||
using TBF.BenchControl.Generic;
|
using TBF.BenchControl.Generic;
|
||||||
using TBF.Boxes;
|
using TBF.Boxes;
|
||||||
@@ -8,8 +8,8 @@ namespace TBF.BenchControl.GenericDevices
|
|||||||
{
|
{
|
||||||
public interface IRegisterReader : IComponent
|
public interface IRegisterReader : IComponent
|
||||||
{
|
{
|
||||||
double PulsesPerLtr { get; } /// Entered by users in configuration
|
double PulsesPerLtr { get; } /// [l^-1] ... water meter or volume measurement part of a heat meter
|
||||||
double LtrsPerPulse { get; } /// To calculate the volume from WMPulses
|
double LtrsPerPulse { get; } /// [l]
|
||||||
|
|
||||||
int WMPulses { get; } /// Counted pulses of the water meter
|
int WMPulses { get; } /// Counted pulses of the water meter
|
||||||
double WMVolume { get; } /// Counted volume of the water metter
|
double WMVolume { get; } /// Counted volume of the water metter
|
||||||
|
|||||||
@@ -249,7 +249,8 @@ namespace TBF.BenchControl.Sequences
|
|||||||
foreach (var wm in WaterMeters) wm.ClearData(); /// Clean water meter data
|
foreach (var wm in WaterMeters) wm.ClearData(); /// Clean water meter data
|
||||||
|
|
||||||
bool compound = (StateMachine.Procedure.MetersKind == MetersKind.Combined);
|
bool compound = (StateMachine.Procedure.MetersKind == MetersKind.Combined);
|
||||||
int waterMetersCount = Math.Min(WaterMeters.Count, compound ? Config.Data.CompoundWMsCount : Config.Data.WMsCount);
|
bool heatMeters = (StateMachine.Procedure.MetersKind == MetersKind.HeatMeter);
|
||||||
|
int waterMetersCount = Math.Min(WaterMeters.Count, heatMeters ? Config.Data.HeatMetersCount : (compound ? Config.Data.CompoundWMsCount : Config.Data.WMsCount));
|
||||||
///
|
///
|
||||||
Results.Entities.WaterMeterData[] waterMeterData = new Results.Entities.WaterMeterData[waterMetersCount];
|
Results.Entities.WaterMeterData[] waterMeterData = new Results.Entities.WaterMeterData[waterMetersCount];
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ namespace TBF.BenchControl
|
|||||||
Factories.Add(new Elde.PumpTandem.PumpFactory());
|
Factories.Add(new Elde.PumpTandem.PumpFactory());
|
||||||
Factories.Add(new Modbus.QuidoRS.Factory()); /// QuidoRS
|
Factories.Add(new Modbus.QuidoRS.Factory()); /// QuidoRS
|
||||||
Factories.Add(new TestMethods.ReferenceFlowmeterCalibration.TestMethodFactory());
|
Factories.Add(new TestMethods.ReferenceFlowmeterCalibration.TestMethodFactory());
|
||||||
Factories.Add(new Elde.RegisterReader.RegisterReaderFactory());
|
Factories.Add(new Elde.RegisterReader.Factory());
|
||||||
Factories.Add(new Elde.RegulValve.RegulValveFactory());
|
Factories.Add(new Elde.RegulValve.RegulValveFactory());
|
||||||
Factories.Add(new Elde.RegulValveTandem.RegulValveTandemFactory());
|
Factories.Add(new Elde.RegulValveTandem.RegulValveTandemFactory());
|
||||||
Factories.Add(new ResultsPrinters.Cevak.PrinterFactory());
|
Factories.Add(new ResultsPrinters.Cevak.PrinterFactory());
|
||||||
|
|||||||
+38
-24
@@ -740,38 +740,52 @@ namespace TBF.BenchControl.TestMethods.FixedStartMassCollection
|
|||||||
///
|
///
|
||||||
/// Heat meters
|
/// Heat meters
|
||||||
///
|
///
|
||||||
tstRslt.RefEnergy = Energy.Sum * tstRslt.VolumeCTV / VolumeForEnergy.Sum; /// [J]=[J]*[l]/[l]
|
tstRslt.RefEnergy = Energy.Sum * tstRslt.VolumeCTV / VolumeForEnergy.Sum; /// [J] = [J] * [l] / [l]
|
||||||
|
|
||||||
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
|
for (int i = 0; i < BatchRslts.WMPositionsCount; i++)
|
||||||
{
|
{
|
||||||
if (test.Part != 0 && test.Part != Utils.PartNr(i + 1, BatchRslts.Batch.Compound)) continue;
|
if (test.Part != 0 && test.Part != Utils.PartNr(i + 1, BatchRslts.Batch.Compound)) continue;
|
||||||
|
|
||||||
Results.Entities.MeterTestRslt meterRslt = BatchRslts.GetMeterTestRslt(testName, i, Config.Entities.CompoundMeterId.Single);
|
Results.Entities.MeterTestRslt volumeRslt = BatchRslts.GetMeterTestRslt(testName, i, Config.Entities.CompoundMeterId.HeatMeterVolume);
|
||||||
BenchControl.Elde.FixedStartRegisterReader.RegisterReader regReader =
|
Results.Entities.MeterTestRslt energyRslt = BatchRslts.GetMeterTestRslt(testName, i, Config.Entities.CompoundMeterId.HeatMeterEnergy);
|
||||||
sensPath.RegisterReaders[i] as BenchControl.Elde.FixedStartRegisterReader.RegisterReader;
|
|
||||||
|
|
||||||
if (meterRslt != null && regReader != null)
|
BenchControl.Elde.FixedStartRegisterReader.RegisterReader volumeRegReader =
|
||||||
|
(sensPath.RegisterReaders.Length > 2 * i) ? sensPath.RegisterReaders[2 * i] as BenchControl.Elde.FixedStartRegisterReader.RegisterReader : null;
|
||||||
|
|
||||||
|
BenchControl.Elde.FixedStartRegisterReader.RegisterReader energyRegReader =
|
||||||
|
(sensPath.RegisterReaders.Length > 2 * i + 1) ? sensPath.RegisterReaders[2 * i + 1] as BenchControl.Elde.FixedStartRegisterReader.RegisterReader : null;
|
||||||
|
|
||||||
|
if (volumeRslt != null && volumeRegReader != null)
|
||||||
{
|
{
|
||||||
meterRslt.PulsesPerLiter = 1.0f;
|
volumeRslt.PulsesPerLiter = 1.0f;
|
||||||
meterRslt.VolumeStart = regReader.BeginWMState;
|
volumeRslt.VolumeStart = volumeRegReader.BeginWMState;
|
||||||
meterRslt.VolumeEnd = regReader.EndWMState;
|
volumeRslt.VolumeEnd = volumeRegReader.EndWMState;
|
||||||
meterRslt.VolumeMeter = meterRslt.VolumeEnd - meterRslt.VolumeStart;
|
volumeRslt.VolumeMeter = volumeRslt.VolumeEnd - volumeRslt.VolumeStart;
|
||||||
meterRslt.VolumeRef = tstRslt.VolumeCTV; /// liter
|
volumeRslt.VolumeRef = tstRslt.VolumeCTV;
|
||||||
meterRslt.PulsesMeter = meterRslt.VolumeMeter;
|
volumeRslt.PulsesMeter = volumeRslt.VolumeMeter;
|
||||||
meterRslt.PulsesMaster = tstRslt.PulsesMaster;
|
volumeRslt.PulsesMaster = tstRslt.PulsesMaster; /// <----------------- ???
|
||||||
meterRslt.TestTime = tstRslt.TestTime;
|
volumeRslt.TestTime = tstRslt.TestTime;
|
||||||
if (dataEntryCmpnt is GenericDevices.IHasHeatMtrStatesForm)
|
|
||||||
{
|
|
||||||
meterRslt.EnergyStart = (dataEntryCmpnt as GenericDevices.IHasHeatMtrStatesForm).EnergyStartState(i);
|
|
||||||
meterRslt.EnergyEnd = (dataEntryCmpnt as GenericDevices.IHasHeatMtrStatesForm).EnergyEndState(i);
|
|
||||||
meterRslt.Energy = meterRslt.EnergyEnd - meterRslt.EnergyStart;
|
|
||||||
}
|
|
||||||
meterRslt.RefEnergy = tstRslt.RefEnergy;
|
|
||||||
|
|
||||||
meterRslt.Error = Formulas.ErrorFromVolumes(meterRslt.Energy, meterRslt.RefEnergy);
|
volumeRslt.Error = Formulas.ErrorFromVolumes(volumeRslt.VolumeMeter, volumeRslt.VolumeRef);
|
||||||
meterRslt.Passed = (meterRslt.Error >= test.ErrLimLo + test.Uncertainty)
|
volumeRslt.Passed = (volumeRslt.Error >= test.ErrLimLo + test.Uncertainty)
|
||||||
&& (meterRslt.Error <= test.ErrLimHi - test.Uncertainty);
|
&& (volumeRslt.Error <= test.ErrLimHi - test.Uncertainty);
|
||||||
meterRslt.TestDone = true;
|
volumeRslt.TestDone = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (energyRslt != null && energyRegReader != null && dataEntryCmpnt is GenericDevices.IHasHeatMtrStatesForm)
|
||||||
|
{
|
||||||
|
volumeRslt.PulsesPerLiter = 1.0f;
|
||||||
|
energyRslt.VolumeStart = (dataEntryCmpnt as GenericDevices.IHasHeatMtrStatesForm).EnergyStartState(i);
|
||||||
|
energyRslt.VolumeEnd = (dataEntryCmpnt as GenericDevices.IHasHeatMtrStatesForm).EnergyEndState(i);
|
||||||
|
energyRslt.VolumeMeter = energyRslt.VolumeEnd - energyRslt.VolumeStart;
|
||||||
|
energyRslt.VolumeRef = tstRslt.RefEnergy;
|
||||||
|
energyRslt.PulsesMeter = energyRslt.VolumeMeter;
|
||||||
|
energyRslt.PulsesMaster = tstRslt.PulsesMaster; /// <----------------- ???
|
||||||
|
|
||||||
|
energyRslt.Error = Formulas.ErrorFromVolumes(energyRslt.VolumeMeter, energyRslt.VolumeRef);
|
||||||
|
energyRslt.Passed = (energyRslt.Error >= test.ErrLimLo + test.Uncertainty)
|
||||||
|
&& (energyRslt.Error <= test.ErrLimHi - test.Uncertainty);
|
||||||
|
energyRslt.TestDone = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -396,32 +396,47 @@ namespace TBF.BenchControl.TestMethods.FlyingStart
|
|||||||
{
|
{
|
||||||
if (test.Part != 0 && test.Part != Utils.PartNr(i + 1, BatchRslts.Batch.Compound)) continue;
|
if (test.Part != 0 && test.Part != Utils.PartNr(i + 1, BatchRslts.Batch.Compound)) continue;
|
||||||
|
|
||||||
Results.Entities.MeterTestRslt meterRslt = BatchRslts.GetMeterTestRslt(testName, i, Config.Entities.CompoundMeterId.Single);
|
Results.Entities.MeterTestRslt volumeRslt = BatchRslts.GetMeterTestRslt(testName, i, Config.Entities.CompoundMeterId.HeatMeterVolume);
|
||||||
GenericDevices.IRegisterReader regReader = sensPath.RegisterReaders[i];
|
Results.Entities.MeterTestRslt energyRslt = BatchRslts.GetMeterTestRslt(testName, i, Config.Entities.CompoundMeterId.HeatMeterEnergy);
|
||||||
|
|
||||||
if (meterRslt != null && regReader != null)
|
BenchControl.Elde.FixedStartRegisterReader.RegisterReader volumeRegReader =
|
||||||
|
(sensPath.RegisterReaders.Length > 2 * i) ? sensPath.RegisterReaders[2 * i] as BenchControl.Elde.FixedStartRegisterReader.RegisterReader : null;
|
||||||
|
|
||||||
|
BenchControl.Elde.FixedStartRegisterReader.RegisterReader energyRegReader =
|
||||||
|
(sensPath.RegisterReaders.Length > 2 * i + 1) ? sensPath.RegisterReaders[2 * i + 1] as BenchControl.Elde.FixedStartRegisterReader.RegisterReader : null;
|
||||||
|
|
||||||
|
if (volumeRslt != null && volumeRegReader != null)
|
||||||
{
|
{
|
||||||
meterRslt.PulsesPerLiter = regReader.PulsesPerLtr;
|
volumeRslt.PulsesPerLiter = volumeRegReader.PulsesPerLtr; /// [l ^ -1]
|
||||||
meterRslt.PulsesMeter = Convert.ToDouble(regReader.WMPulses);
|
volumeRslt.PulsesMeter = Convert.ToDouble(volumeRegReader.WMPulses);
|
||||||
meterRslt.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses);
|
volumeRslt.PulsesMaster = Convert.ToDouble(volumeRegReader.WMRefPulses);
|
||||||
|
volumeRslt.VolumeStart = 0;
|
||||||
|
volumeRslt.VolumeEnd = 0;
|
||||||
|
volumeRslt.VolumeMeter = volumeRslt.PulsesMeter * volumeRegReader.LtrsPerPulse; /// [l]
|
||||||
|
volumeRslt.VolumeRef = volumeRslt.PulsesMaster * tstRslt.ConstMaster; /// [l]
|
||||||
|
volumeRslt.TestTime = tstRslt.TestTime; /// [s]
|
||||||
|
|
||||||
meterRslt.TestTime = tstRslt.TestTime; /// TODO: Malo by sa citat z dosky
|
volumeRslt.Error = Formulas.ErrorFromVolumes(volumeRslt.VolumeMeter, volumeRslt.VolumeRef);
|
||||||
meterRslt.VolumeStart = 0; /// liter
|
volumeRslt.Passed = (volumeRslt.Error >= test.ErrLimLo + test.Uncertainty)
|
||||||
meterRslt.VolumeEnd = 0; /// liter
|
&& (volumeRslt.Error <= test.ErrLimHi - test.Uncertainty);
|
||||||
meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// liter
|
volumeRslt.TestDone = true;
|
||||||
meterRslt.VolumeRef = meterRslt.PulsesMaster * tstRslt.ConstMaster; /// liter
|
}
|
||||||
|
|
||||||
/// TODO: Rewrite the following 2 lines
|
if (energyRslt != null && energyRegReader != null)
|
||||||
meterRslt.EnergyStart = 0.0;
|
{
|
||||||
meterRslt.EnergyEnd = 1.0;
|
energyRslt.PulsesPerLiter = energyRegReader.PulsesPerLtr; /// [kWh ^ -1]
|
||||||
|
energyRslt.PulsesMeter = Convert.ToDouble(energyRegReader.WMPulses);
|
||||||
|
energyRslt.PulsesMaster = Convert.ToDouble(energyRegReader.WMRefPulses);
|
||||||
|
energyRslt.VolumeStart = 0;
|
||||||
|
energyRslt.VolumeEnd = 0;
|
||||||
|
energyRslt.VolumeMeter = energyRslt.PulsesMeter * Config.Units.ConvertFrom(Config.Unit.kWh, energyRegReader.LtrsPerPulse); /// [J]
|
||||||
|
energyRslt.VolumeRef = tstRslt.RefEnergy; /// [J]
|
||||||
|
energyRslt.TestTime = tstRslt.TestTime; /// [s]
|
||||||
|
|
||||||
meterRslt.Energy = meterRslt.EnergyEnd - meterRslt.EnergyStart;
|
energyRslt.Error = Formulas.ErrorFromVolumes(energyRslt.VolumeMeter, energyRslt.VolumeRef);
|
||||||
meterRslt.RefEnergy = tstRslt.RefEnergy;
|
energyRslt.Passed = (energyRslt.Error >= test.ErrLimLo + test.Uncertainty)
|
||||||
|
&& (energyRslt.Error <= test.ErrLimHi - test.Uncertainty);
|
||||||
meterRslt.Error = Formulas.ErrorFromVolumes(meterRslt.Energy, meterRslt.RefEnergy);
|
energyRslt.TestDone = true;
|
||||||
meterRslt.Passed = (meterRslt.Error >= test.ErrLimLo + test.Uncertainty)
|
|
||||||
&& (meterRslt.Error <= test.ErrLimHi - test.Uncertainty);
|
|
||||||
meterRslt.TestDone = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+36
-21
@@ -667,32 +667,47 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
|
|||||||
{
|
{
|
||||||
if (test.Part != 0 && test.Part != Utils.PartNr(i + 1, BatchRslts.Batch.Compound)) continue;
|
if (test.Part != 0 && test.Part != Utils.PartNr(i + 1, BatchRslts.Batch.Compound)) continue;
|
||||||
|
|
||||||
Results.Entities.MeterTestRslt meterRslt = BatchRslts.GetMeterTestRslt(testName, i, Config.Entities.CompoundMeterId.Single);
|
Results.Entities.MeterTestRslt volumeRslt = BatchRslts.GetMeterTestRslt(testName, i, Config.Entities.CompoundMeterId.HeatMeterVolume);
|
||||||
GenericDevices.IRegisterReader regReader = sensPath.RegisterReaders[i];
|
Results.Entities.MeterTestRslt energyRslt = BatchRslts.GetMeterTestRslt(testName, i, Config.Entities.CompoundMeterId.HeatMeterEnergy);
|
||||||
|
|
||||||
if (meterRslt != null && regReader != null)
|
BenchControl.Elde.FixedStartRegisterReader.RegisterReader volumeRegReader =
|
||||||
|
(sensPath.RegisterReaders.Length > 2 * i) ? sensPath.RegisterReaders[2 * i] as BenchControl.Elde.FixedStartRegisterReader.RegisterReader : null;
|
||||||
|
|
||||||
|
BenchControl.Elde.FixedStartRegisterReader.RegisterReader energyRegReader =
|
||||||
|
(sensPath.RegisterReaders.Length > 2 * i + 1) ? sensPath.RegisterReaders[2 * i + 1] as BenchControl.Elde.FixedStartRegisterReader.RegisterReader : null;
|
||||||
|
|
||||||
|
if (volumeRslt != null && volumeRegReader != null)
|
||||||
{
|
{
|
||||||
meterRslt.PulsesPerLiter = regReader.PulsesPerLtr;
|
volumeRslt.PulsesPerLiter = volumeRegReader.PulsesPerLtr; /// [l ^ -1]
|
||||||
meterRslt.PulsesMeter = Convert.ToDouble(regReader.WMPulses);
|
volumeRslt.PulsesMeter = Convert.ToDouble(volumeRegReader.WMPulses);
|
||||||
meterRslt.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses);
|
volumeRslt.PulsesMaster = Convert.ToDouble(volumeRegReader.WMRefPulses);
|
||||||
|
volumeRslt.VolumeStart = 0;
|
||||||
|
volumeRslt.VolumeEnd = 0;
|
||||||
|
volumeRslt.VolumeMeter = volumeRslt.PulsesMeter * volumeRegReader.LtrsPerPulse; /// [l]
|
||||||
|
volumeRslt.VolumeRef = volumeRslt.PulsesMaster * tstRslt.ConstMaster; /// [l]
|
||||||
|
volumeRslt.TestTime = tstRslt.TestTime; /// [s]
|
||||||
|
|
||||||
meterRslt.TestTime = tstRslt.TestTime; /// TODO: Malo by sa citat z dosky
|
volumeRslt.Error = Formulas.ErrorFromVolumes(volumeRslt.VolumeMeter, volumeRslt.VolumeRef);
|
||||||
meterRslt.VolumeStart = 0; /// liter
|
volumeRslt.Passed = (volumeRslt.Error >= test.ErrLimLo + test.Uncertainty)
|
||||||
meterRslt.VolumeEnd = 0; /// liter
|
&& (volumeRslt.Error <= test.ErrLimHi - test.Uncertainty);
|
||||||
meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// liter
|
volumeRslt.TestDone = true;
|
||||||
meterRslt.VolumeRef = meterRslt.PulsesMaster * tstRslt.ConstMaster; /// liter
|
}
|
||||||
|
|
||||||
/// TODO: Rewrite the following 2 lines
|
if (energyRslt != null && energyRegReader != null)
|
||||||
meterRslt.EnergyStart = 0.0;
|
{
|
||||||
meterRslt.EnergyEnd = 1.0;
|
energyRslt.PulsesPerLiter = energyRegReader.PulsesPerLtr; /// [kWh ^ -1]
|
||||||
|
energyRslt.PulsesMeter = Convert.ToDouble(energyRegReader.WMPulses);
|
||||||
|
energyRslt.PulsesMaster = Convert.ToDouble(energyRegReader.WMRefPulses);
|
||||||
|
energyRslt.VolumeStart = 0;
|
||||||
|
energyRslt.VolumeEnd = 0;
|
||||||
|
energyRslt.VolumeMeter = energyRslt.PulsesMeter * Config.Units.ConvertFrom(Config.Unit.kWh, energyRegReader.LtrsPerPulse); /// [J]
|
||||||
|
energyRslt.VolumeRef = tstRslt.RefEnergy; /// [J]
|
||||||
|
energyRslt.TestTime = tstRslt.TestTime; /// [s]
|
||||||
|
|
||||||
meterRslt.Energy = meterRslt.EnergyEnd - meterRslt.EnergyStart;
|
energyRslt.Error = Formulas.ErrorFromVolumes(energyRslt.VolumeMeter, energyRslt.VolumeRef);
|
||||||
meterRslt.RefEnergy = tstRslt.RefEnergy;
|
energyRslt.Passed = (energyRslt.Error >= test.ErrLimLo + test.Uncertainty)
|
||||||
|
&& (energyRslt.Error <= test.ErrLimHi - test.Uncertainty);
|
||||||
meterRslt.Error = Formulas.ErrorFromVolumes(meterRslt.Energy, meterRslt.RefEnergy);
|
energyRslt.TestDone = true;
|
||||||
meterRslt.Passed = (meterRslt.Error >= test.ErrLimLo + test.Uncertainty)
|
|
||||||
&& (meterRslt.Error <= test.ErrLimHi - test.Uncertainty);
|
|
||||||
meterRslt.TestDone = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
|||||||
// Build Number
|
// Build Number
|
||||||
// Revision
|
// Revision
|
||||||
//
|
//
|
||||||
[assembly: AssemblyVersion("2.10.351.1")]
|
[assembly: AssemblyVersion("2.10.352.1")]
|
||||||
[assembly: AssemblyFileVersion("2.10.351.1")]
|
[assembly: AssemblyFileVersion("2.10.352.1")]
|
||||||
|
|||||||
@@ -2751,6 +2751,15 @@ namespace TBF.Resources {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Pulses per kWh.
|
||||||
|
/// </summary>
|
||||||
|
internal static string PulsesPerKWh {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("PulsesPerKWh", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Pulses per liter.
|
/// Looks up a localized string similar to Pulses per liter.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -1585,4 +1585,7 @@
|
|||||||
<data name="Calibration_coefficients" xml:space="preserve">
|
<data name="Calibration_coefficients" xml:space="preserve">
|
||||||
<value>Calibration coefficients</value>
|
<value>Calibration coefficients</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="PulsesPerKWh" xml:space="preserve">
|
||||||
|
<value>Pulses per kWh</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
||||||
@@ -927,7 +927,7 @@
|
|||||||
<Compile Include="BenchControl\Elde\RegisterReader\RegisterReaderCfgCtrl.Designer.cs">
|
<Compile Include="BenchControl\Elde\RegisterReader\RegisterReaderCfgCtrl.Designer.cs">
|
||||||
<DependentUpon>RegisterReaderCfgCtrl.cs</DependentUpon>
|
<DependentUpon>RegisterReaderCfgCtrl.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="BenchControl\Elde\RegisterReader\RegisterReaderFactory.cs" />
|
<Compile Include="BenchControl\Elde\RegisterReader\Factory.cs" />
|
||||||
<Compile Include="BenchControl\Elde\RegulValve\RegulValveCfgCtrl.cs">
|
<Compile Include="BenchControl\Elde\RegulValve\RegulValveCfgCtrl.cs">
|
||||||
<SubType>UserControl</SubType>
|
<SubType>UserControl</SubType>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
|||||||
Reference in New Issue
Block a user