meterRslt.TestTime is read from board from cBrd.ImpulseTime(wmNr1)

This commit is contained in:
Milan Hanajik
2018-02-26 13:54:26 +01:00
parent 81951287c6
commit 29f79285a7
8 changed files with 29 additions and 20 deletions
+1
View File
@@ -53,6 +53,7 @@ namespace TBF.BenchControl.Elde
public UInt128 RRoute { get { return controlCom.RRoute; } } public UInt128 RRoute { get { return controlCom.RRoute; } }
public uint DivTime(int id) { return controlCom.DivTime(id); } public uint DivTime(int id) { return controlCom.DivTime(id); }
public float TTime { get { return controlCom.TTime; } } public float TTime { get { return controlCom.TTime; } }
public float ImpulseTime(int wmNr1) { return controlCom.ImpulseTime(wmNr1); }
public uint FmState { get { return controlCom.FmState; } } public uint FmState { get { return controlCom.FmState; } }
public uint BeginState(int wmNr0) { return controlCom.BeginState(wmNr0); } public uint BeginState(int wmNr0) { return controlCom.BeginState(wmNr0); }
public double ReferenceFlow { get { return controlCom.ReferenceFlow; } } public double ReferenceFlow { get { return controlCom.ReferenceFlow; } }
+4 -3
View File
@@ -21,9 +21,9 @@ namespace TBF.BenchControl.Elde
public float ReferenceFreq { get { return referenceFreq; } } public float ReferenceFreq { get { return referenceFreq; } }
int[] etPulses = new int[Config.Data.WMsCount + 1]; int[] etPulses = new int[Config.Data.WMsCount + 1];
public int EtPulses(int wmNr1and0) public int EtPulses(int wmNr1)
{ {
return etPulses[wmNr1and0]; return etPulses[wmNr1];
} }
public int EtPulsesK { get { return 1; } } public int EtPulsesK { get { return 1; } }
@@ -54,8 +54,9 @@ namespace TBF.BenchControl.Elde
public uint DivTime(int id) { return 0; } public uint DivTime(int id) { return 0; }
public void SetDivLimit(int divNo, uint limLoPct, uint limHiPct) { } public void SetDivLimit(int divNo, uint limLoPct, uint limHiPct) { }
float tTime = 0; float tTime = 1;
public float TTime { get { return tTime; } } public float TTime { get { return tTime; } }
public float ImpulseTime(int wmNr1) { return tTime; }
public uint FmState { get { return 0; } } public uint FmState { get { return 0; } }
public uint BeginState(int wmNr0) { return 0; } public uint BeginState(int wmNr0) { return 0; }
+8 -2
View File
@@ -31,13 +31,13 @@ namespace TBF.BenchControl.Elde
/// </summary> /// </summary>
public float ReferenceFreq { get { return 1000.0f * ctrlBrdComponent.referenceFreq[0]; } } /// In [Hz] 0..2500, nom.=2000 public float ReferenceFreq { get { return 1000.0f * ctrlBrdComponent.referenceFreq[0]; } } /// In [Hz] 0..2500, nom.=2000
#endif #endif
public int EtPulses(int wmNr0) { return (int)ctrlBrdComponent.etPulses[wmNr0]; } public int EtPulses(int wmNr1) { return (int)ctrlBrdComponent.etPulses[wmNr1]; }
#if FUZHOU300 || PT200IL || PUCHONG_PT200 || GENESIS || BERLIN || SLM_150 || PETERSBURG_50 || PETERSBURG_200 || KEMPNO_50 || BAHRAIN_50 || RUM_MOB || KRAKOW_50 #if FUZHOU300 || PT200IL || PUCHONG_PT200 || GENESIS || BERLIN || SLM_150 || PETERSBURG_50 || PETERSBURG_200 || KEMPNO_50 || BAHRAIN_50 || RUM_MOB || KRAKOW_50
public int EtPulsesK { get { return (int)ctrlBrdComponent.etPulsesK; } } public int EtPulsesK { get { return (int)ctrlBrdComponent.etPulsesK; } }
#else #else
public int EtPulsesK { get { return 1; } } public int EtPulsesK { get { return 1; } }
#endif #endif
public UInt16 WMeterPulses(int wmNr0) { return (UInt16)ctrlBrdComponent.wMeterPuls[wmNr0]; } public UInt16 WMeterPulses(int wmNr1) { return (UInt16)ctrlBrdComponent.wMeterPuls[wmNr1]; }
public int WMeterReference(int wmNr0) { return (int)ctrlBrdComponent.wMeterReference[wmNr0]; } public int WMeterReference(int wmNr0) { return (int)ctrlBrdComponent.wMeterReference[wmNr0]; }
public uint RegulValveDAC { get { return ctrlBrdComponent.StavDA; } } public uint RegulValveDAC { get { return ctrlBrdComponent.StavDA; } }
public float Pressure(int prsNr0) { return ctrlBrdComponent.pressure[prsNr0]; } public float Pressure(int prsNr0) { return ctrlBrdComponent.pressure[prsNr0]; }
@@ -62,6 +62,12 @@ namespace TBF.BenchControl.Elde
#endif #endif
public float TTime { get { return ctrlBrdComponent.Ttime; } } public float TTime { get { return ctrlBrdComponent.Ttime; } }
#if DN100 || MUNICH
public float ImpulseTime(int wmNr1) { return ctrlBrdComponent.Ttime; }
#else
public float ImpulseTime(int wmNr1) { return ctrlBrdComponent.ImpulseTime[wmNr1]; }
#endif
#if DN100 || MUNICH || FUZHOU150 #if DN100 || MUNICH || FUZHOU150
public uint FmState { get { return ctrlBrdComponent.fMState; } } public uint FmState { get { return ctrlBrdComponent.fMState; } }
#else //if everything newer #else //if everything newer
+3 -2
View File
@@ -10,9 +10,9 @@ namespace TBF.BenchControl.Elde
{ {
StatusP StatusP { get; } StatusP StatusP { get; }
float ReferenceFreq { get; } float ReferenceFreq { get; }
int EtPulses(int wmNr0); int EtPulses(int wmNr1);
int EtPulsesK { get; } int EtPulsesK { get; }
UInt16 WMeterPulses(int wmNr0); UInt16 WMeterPulses(int wmNr1);
int WMeterReference(int wmNr0); int WMeterReference(int wmNr0);
uint RegulValveDAC { get; } uint RegulValveDAC { get; }
float Pressure(int prsNr0); float Pressure(int prsNr0);
@@ -21,6 +21,7 @@ namespace TBF.BenchControl.Elde
UInt128 RRoute { get; } UInt128 RRoute { get; }
uint DivTime(int id); /// 50% id=0, 10% id=1, 90% id=2 uint DivTime(int id); /// 50% id=0, 10% id=1, 90% id=2
float TTime { get; } float TTime { get; }
float ImpulseTime(int WMNr1);
uint FmState { get; } uint FmState { get; }
uint BeginState(int wmNr0); uint BeginState(int wmNr0);
float ReferenceFlow { get; } float ReferenceFlow { get; }
@@ -413,7 +413,7 @@ namespace TBF.BenchControl.TestMethods.Adjustment
meterRslt.VolumeEnd = 0; /// liter meterRslt.VolumeEnd = 0; /// liter
meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// liter meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// liter
meterRslt.VolumeRef = meterRslt.PulsesMaster * tstRslt.ConstMaster; /// liter meterRslt.VolumeRef = meterRslt.PulsesMaster * tstRslt.ConstMaster; /// liter
meterRslt.TestTime = tstRslt.TestTime; meterRslt.TestTime = cBrd.ImpulseTime(i + 1);
meterRslt.Error = Formulas.ErrorFromVolumes(meterRslt.VolumeMeter, meterRslt.VolumeRef); meterRslt.Error = Formulas.ErrorFromVolumes(meterRslt.VolumeMeter, meterRslt.VolumeRef);
meterRslt.Passed = (meterRslt.Error >= test.GetErrLimLo(tstRslt.FlowMean) + test.Uncertainty) meterRslt.Passed = (meterRslt.Error >= test.GetErrLimLo(tstRslt.FlowMean) + test.Uncertainty)
&& (meterRslt.Error <= test.GetErrLimHi(tstRslt.FlowMean) - test.Uncertainty); && (meterRslt.Error <= test.GetErrLimHi(tstRslt.FlowMean) - test.Uncertainty);
@@ -956,7 +956,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartFirstRepetWithMassColl
volumeRslt.VolumeEnd = 0; volumeRslt.VolumeEnd = 0;
volumeRslt.VolumeMeter = volumeRslt.PulsesMeter * volumeRegReader.LtrsPerPulse; /// [l] volumeRslt.VolumeMeter = volumeRslt.PulsesMeter * volumeRegReader.LtrsPerPulse; /// [l]
volumeRslt.VolumeRef = volumeRslt.PulsesMaster * tstRslt.ConstMaster; /// [l] volumeRslt.VolumeRef = volumeRslt.PulsesMaster * tstRslt.ConstMaster; /// [l]
volumeRslt.TestTime = tstRslt.TestTime; /// [s] volumeRslt.TestTime = cBrd.ImpulseTime(i + 1); ; /// [s]
volumeRslt.Error = Formulas.ErrorFromVolumes(volumeRslt.VolumeMeter, volumeRslt.VolumeRef); volumeRslt.Error = Formulas.ErrorFromVolumes(volumeRslt.VolumeMeter, volumeRslt.VolumeRef);
volumeRslt.Passed = !heatMetersTestParams.EvaluateVolume || volumeRslt.Passed = !heatMetersTestParams.EvaluateVolume ||
@@ -976,7 +976,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartFirstRepetWithMassColl
energyRslt.VolumeEnd = 0; energyRslt.VolumeEnd = 0;
energyRslt.VolumeRef = tstRslt.RefEnergy * (energyRslt.PulsesMaster / tstRslt.PulsesMaster); /// [J] energyRslt.VolumeRef = tstRslt.RefEnergy * (energyRslt.PulsesMaster / tstRslt.PulsesMaster); /// [J]
energyRslt.VolumeMeter = energyRslt.PulsesMeter * Config.Units.ConvertFrom(Config.Unit.kWh, energyRegReader.LtrsPerPulse); /// [J] energyRslt.VolumeMeter = energyRslt.PulsesMeter * Config.Units.ConvertFrom(Config.Unit.kWh, energyRegReader.LtrsPerPulse); /// [J]
energyRslt.TestTime = tstRslt.TestTime; /// [s] energyRslt.TestTime = cBrd.ImpulseTime(i + 1); /// [s]
energyRslt.Error = Formulas.ErrorFromVolumes(energyRslt.VolumeMeter, energyRslt.VolumeRef); energyRslt.Error = Formulas.ErrorFromVolumes(energyRslt.VolumeMeter, energyRslt.VolumeRef);
energyRslt.Passed = (energyRslt.Error >= heatMetersTestParams.ErrorLimitLo) energyRslt.Passed = (energyRslt.Error >= heatMetersTestParams.ErrorLimitLo)
@@ -1047,7 +1047,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartFirstRepetWithMassColl
} }
else else
{ {
meterRslt.TestTime = tstRslt.TestTime; /// TODO: Malo by sa citat z dosky meterRslt.TestTime = cBrd.ImpulseTime(i + 1);
meterRslt.VolumeStart = 0; meterRslt.VolumeStart = 0;
meterRslt.VolumeEnd = 0; meterRslt.VolumeEnd = 0;
meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// liter meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// liter
@@ -852,7 +852,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollProlonged
meterRslt.PulsesMeter = (isAux == 0 && compoundTestParams.SupressTrills) ? 0 : Convert.ToDouble(regReader.WMPulses); meterRslt.PulsesMeter = (isAux == 0 && compoundTestParams.SupressTrills) ? 0 : Convert.ToDouble(regReader.WMPulses);
meterRslt.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses); meterRslt.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses);
meterRslt.TestTime = tstRslt.TestTime; meterRslt.TestTime = cBrd.ImpulseTime(2 * i + isAux + 1);
meterRslt.VolumeStart = 0; meterRslt.VolumeStart = 0;
meterRslt.VolumeEnd = 0; meterRslt.VolumeEnd = 0;
meterRslt.VolumeRef = tstRslt.VolumeCTV; meterRslt.VolumeRef = tstRslt.VolumeCTV;
@@ -925,7 +925,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollProlonged
volumeRslt.VolumeEnd = 0; volumeRslt.VolumeEnd = 0;
volumeRslt.VolumeMeter = volumeRslt.PulsesMeter * volumeRegReader.LtrsPerPulse; /// [l] volumeRslt.VolumeMeter = volumeRslt.PulsesMeter * volumeRegReader.LtrsPerPulse; /// [l]
volumeRslt.VolumeRef = volumeRslt.PulsesMaster * tstRslt.ConstMaster; /// [l] volumeRslt.VolumeRef = volumeRslt.PulsesMaster * tstRslt.ConstMaster; /// [l]
volumeRslt.TestTime = tstRslt.TestTime; /// [s] volumeRslt.TestTime = cBrd.ImpulseTime(i + 1); /// [s]
volumeRslt.Error = Formulas.ErrorFromVolumes(volumeRslt.VolumeMeter, volumeRslt.VolumeRef); volumeRslt.Error = Formulas.ErrorFromVolumes(volumeRslt.VolumeMeter, volumeRslt.VolumeRef);
volumeRslt.Passed = !heatMetersTestParams.EvaluateVolume || volumeRslt.Passed = !heatMetersTestParams.EvaluateVolume ||
@@ -945,7 +945,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollProlonged
energyRslt.VolumeEnd = 0; energyRslt.VolumeEnd = 0;
energyRslt.VolumeRef = tstRslt.RefEnergy * (energyRslt.PulsesMaster / tstRslt.PulsesMaster); /// [J] energyRslt.VolumeRef = tstRslt.RefEnergy * (energyRslt.PulsesMaster / tstRslt.PulsesMaster); /// [J]
energyRslt.VolumeMeter = energyRslt.PulsesMeter * Config.Units.ConvertFrom(Config.Unit.kWh, energyRegReader.LtrsPerPulse); /// [J] energyRslt.VolumeMeter = energyRslt.PulsesMeter * Config.Units.ConvertFrom(Config.Unit.kWh, energyRegReader.LtrsPerPulse); /// [J]
energyRslt.TestTime = tstRslt.TestTime; /// [s] energyRslt.TestTime = cBrd.ImpulseTime(i + 1); /// [s]
energyRslt.Error = Formulas.ErrorFromVolumes(energyRslt.VolumeMeter, energyRslt.VolumeRef); energyRslt.Error = Formulas.ErrorFromVolumes(energyRslt.VolumeMeter, energyRslt.VolumeRef);
energyRslt.Passed = (energyRslt.Error >= heatMetersTestParams.ErrorLimitLo) energyRslt.Passed = (energyRslt.Error >= heatMetersTestParams.ErrorLimitLo)
@@ -1017,11 +1017,11 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollProlonged
} }
else else
{ {
meterRslt.TestTime = tstRslt.TestTime; /// TODO: Malo by sa citat z dosky meterRslt.TestTime = cBrd.ImpulseTime(i + 1); /// TODO: Malo by sa citat z dosky
meterRslt.VolumeStart = 0; /// liter meterRslt.VolumeStart = 0; /// liter
meterRslt.VolumeEnd = 0; /// liter meterRslt.VolumeEnd = 0; /// liter
meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// liter meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// liter
meterRslt.VolumeRef = meterRslt.PulsesMaster * tstRslt.ConstMaster; /// liter meterRslt.VolumeRef = meterRslt.PulsesMaster * tstRslt.ConstMaster; /// liter
} }
meterRslt.Error = Formulas.ErrorFromVolumes(meterRslt.VolumeMeter, meterRslt.VolumeRef); meterRslt.Error = Formulas.ErrorFromVolumes(meterRslt.VolumeMeter, meterRslt.VolumeRef);
@@ -899,7 +899,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
meterRslt.PulsesMeter = (isAux == 0 && compoundTestParams.SupressTrills) ? 0 : Convert.ToDouble(regReader.WMPulses); meterRslt.PulsesMeter = (isAux == 0 && compoundTestParams.SupressTrills) ? 0 : Convert.ToDouble(regReader.WMPulses);
meterRslt.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses); meterRslt.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses);
meterRslt.TestTime = tstRslt.TestTime; meterRslt.TestTime = cBrd.ImpulseTime(2 * i + isAux + 1);
meterRslt.VolumeStart = 0; meterRslt.VolumeStart = 0;
meterRslt.VolumeEnd = 0; meterRslt.VolumeEnd = 0;
meterRslt.VolumeRef = tstRslt.VolumeCTV; meterRslt.VolumeRef = tstRslt.VolumeCTV;
@@ -972,7 +972,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
volumeRslt.VolumeEnd = 0; volumeRslt.VolumeEnd = 0;
volumeRslt.VolumeMeter = volumeRslt.PulsesMeter * volumeRegReader.LtrsPerPulse; /// [l] volumeRslt.VolumeMeter = volumeRslt.PulsesMeter * volumeRegReader.LtrsPerPulse; /// [l]
volumeRslt.VolumeRef = volumeRslt.PulsesMaster * tstRslt.ConstMaster; /// [l] volumeRslt.VolumeRef = volumeRslt.PulsesMaster * tstRslt.ConstMaster; /// [l]
volumeRslt.TestTime = tstRslt.TestTime; /// [s] volumeRslt.TestTime = cBrd.ImpulseTime(i + 1); /// [s]
volumeRslt.Error = Formulas.ErrorFromVolumes(volumeRslt.VolumeMeter, volumeRslt.VolumeRef); volumeRslt.Error = Formulas.ErrorFromVolumes(volumeRslt.VolumeMeter, volumeRslt.VolumeRef);
volumeRslt.Passed = !heatMetersTestParams.EvaluateVolume || volumeRslt.Passed = !heatMetersTestParams.EvaluateVolume ||
@@ -992,7 +992,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
energyRslt.VolumeEnd = 0; energyRslt.VolumeEnd = 0;
energyRslt.VolumeRef = tstRslt.RefEnergy * (energyRslt.PulsesMaster / tstRslt.PulsesMaster); /// [J] energyRslt.VolumeRef = tstRslt.RefEnergy * (energyRslt.PulsesMaster / tstRslt.PulsesMaster); /// [J]
energyRslt.VolumeMeter = energyRslt.PulsesMeter * Config.Units.ConvertFrom(Config.Unit.kWh, energyRegReader.LtrsPerPulse); /// [J] energyRslt.VolumeMeter = energyRslt.PulsesMeter * Config.Units.ConvertFrom(Config.Unit.kWh, energyRegReader.LtrsPerPulse); /// [J]
energyRslt.TestTime = tstRslt.TestTime; /// [s] energyRslt.TestTime = cBrd.ImpulseTime(i + 1); /// [s]
energyRslt.Error = Formulas.ErrorFromVolumes(energyRslt.VolumeMeter, energyRslt.VolumeRef); energyRslt.Error = Formulas.ErrorFromVolumes(energyRslt.VolumeMeter, energyRslt.VolumeRef);
energyRslt.Passed = (energyRslt.Error >= heatMetersTestParams.ErrorLimitLo) energyRslt.Passed = (energyRslt.Error >= heatMetersTestParams.ErrorLimitLo)
@@ -1064,7 +1064,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
} }
else else
{ {
meterRslt.TestTime = tstRslt.TestTime; // or cBrd.TTime; /// TODO: Malo by byt pre kazdy vodomer zvlast meterRslt.TestTime = cBrd.ImpulseTime(i + 1);
meterRslt.VolumeStart = 0; /// liter meterRslt.VolumeStart = 0; /// liter
meterRslt.VolumeEnd = 0; /// liter meterRslt.VolumeEnd = 0; /// liter
meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// liter meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// liter