(1) FlyingStartMassCollProlonged fixed, more logging, (2) Password of day, ver. 2.26.1579

This commit is contained in:
Milan Hanajik 2021-01-21 08:01:05 +01:00
parent b97b795c93
commit c403f9345f
4 changed files with 112 additions and 48 deletions

View File

@ -826,11 +826,12 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollProlonged
tstRslt.VolumeCTV *= tstRslt.TestTime + tstRslt.TestTimeCorrection; tstRslt.VolumeCTV *= tstRslt.TestTime + tstRslt.TestTimeCorrection;
tstRslt.VolumeCTV /= tstRslt.TestTime; tstRslt.VolumeCTV /= tstRslt.TestTime;
} }
tstRslt.ConstMasterRaw = outPath.FlowMeter.LtrPerPulse; /// Uncorrected master flowmeter coefficient tstRslt.VolumeMaster = LtrPerRefPulse * massPulses; /// [l] volume from the master flow meter /// [l] volume from the master flow meter
tstRslt.ConstMasterCorr = outPath.FlowMeter.LtrPerPulseCorrected(flow, rangeIx); /// Corrected master pulses per liter tstRslt.ConstMasterRaw = outPath.FlowMeter.LtrPerPulse; /// Uncorrected master flowmeter coefficient /// Uncorrected master flowmeter coefficient
tstRslt.ConstMaster = (massPulses == 0) ? tstRslt.ConstMasterCorr : (tstRslt.VolumeCTV / massPulses); tstRslt.ConstMasterCorr = outPath.FlowMeter.LtrPerPulseCorrected(flow, rangeIx); /// Master pulses per liter from a correction table and a flow /// Corrected master pulses per liter
tstRslt.VolumeMaster = LtrPerRefPulse * massPulses; /// [l] volume from the master flow meter tstRslt.ConstMaster = (massPulses != 0) ? (tstRslt.VolumeCTV / massPulses) : tstRslt.ConstMasterCorr;
tstRslt.ErrorMaster = Formulas.ErrorFromVolumes(tstRslt.VolumeMaster, tstRslt.VolumeCTV); /// Master pulses per liter from the measured mass
tstRslt.ErrorMaster = Formulas.ErrorFromVolumes(tstRslt.VolumeMaster, tstRslt.VolumeCTV);
tstRslt.FlowVolume = 3.6 * totalPulses * tstRslt.VolumeCTV / (massPulses * tstRslt.TestTime); tstRslt.FlowVolume = 3.6 * totalPulses * tstRslt.VolumeCTV / (massPulses * tstRslt.TestTime);
tstRslt.FlowMean = Convert.ToSingle(RefFlowStat.Average); tstRslt.FlowMean = Convert.ToSingle(RefFlowStat.Average);
@ -1006,10 +1007,12 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollProlonged
meterRslt.PulsesPerLiter = regReader.PulsesPerLtr; meterRslt.PulsesPerLiter = regReader.PulsesPerLtr;
meterRslt.PulsesMeter = Convert.ToDouble(regReader.WMPulses); meterRslt.PulsesMeter = Convert.ToDouble(regReader.WMPulses);
log.DebugFormat("Water meter {0}: pulses/liter={1}, meter pulses={2}", i + 1, meterRslt.PulsesPerLiter, meterRslt.PulsesMeter);
if (dstrReader != null) if (dstrReader != null)
{ {
meterRslt.TimestampStart = dstrReader.TimestampSecStart; meterRslt.TimestampStart = dstrReader.TimestampSecStart;
meterRslt.TimestampEnd = dstrReader.NoSamples ? (dstrReader.TimestampSecStart + tstRslt.TestTime) : dstrReader.TimestampSecEnd; meterRslt.TimestampEnd = !dstrReader.NoSamples ? dstrReader.TimestampSecEnd : (dstrReader.TimestampSecStart + tstRslt.TestTime);
meterRslt.TestTime = meterRslt.TimestampEnd - meterRslt.TimestampStart; meterRslt.TestTime = meterRslt.TimestampEnd - meterRslt.TimestampStart;
meterRslt.VolumeStart = dstrReader.VolumeLtrStart; /// liter meterRslt.VolumeStart = dstrReader.VolumeLtrStart; /// liter
meterRslt.VolumeEnd = dstrReader.VolumeLtrEnd; /// liter meterRslt.VolumeEnd = dstrReader.VolumeLtrEnd; /// liter
@ -1029,29 +1032,57 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollProlonged
iPerl.LastTestResult2 = iPerl.LastTestResult; /// Save shift previous test result iPerl.LastTestResult2 = iPerl.LastTestResult; /// Save shift previous test result
iPerl.LastTestResult = meterRslt; /// Save this test result iPerl.LastTestResult = meterRslt; /// Save this test result
} }
}
log.DebugFormat("Datastream: Tst={0} Tend={1} Tmtr={2} Ttime={3} Vst={4} Vend={5} Vmtr={6} Vref={7}",
meterRslt.TimestampStart,
meterRslt.TimestampEnd,
meterRslt.TestTime,
tstRslt.TestTime,
meterRslt.VolumeStart,
meterRslt.VolumeEnd,
meterRslt.VolumeMeter,
meterRslt.VolumeRef);
}
else if (cameraRoi != null) else if (cameraRoi != null)
{ {
meterRslt.TimestampStart = cameraRoi.TimestampStart; /// second meterRslt.TimestampStart = cameraRoi.TimestampStart; /// [s]
meterRslt.TimestampEnd = cameraRoi.TimestampEnd; /// second meterRslt.TimestampEnd = cameraRoi.TimestampEnd; /// [s]
meterRslt.TestTime = cameraRoi.TimestampEnd - cameraRoi.TimestampStart; /// second meterRslt.TestTime = cameraRoi.TimestampEnd - cameraRoi.TimestampStart; /// [s]
meterRslt.VolumeStart = cameraRoi.VolumeStart; /// liter meterRslt.VolumeStart = cameraRoi.VolumeStart; /// [l]
meterRslt.VolumeEnd = cameraRoi.VolumeEnd; /// liter meterRslt.VolumeEnd = cameraRoi.VolumeEnd; /// [l]
meterRslt.VolumeMeter = cameraRoi.VolumeEnd - cameraRoi.VolumeStart; /// liter meterRslt.VolumeMeter = cameraRoi.VolumeEnd - cameraRoi.VolumeStart; /// [l]
meterRslt.VolumeRef = tstRslt.VolumeCTV * meterRslt.TestTime * totalPulses / (tstRslt.TestTime * massPulses); meterRslt.VolumeRef = tstRslt.VolumeCTV * meterRslt.TestTime * totalPulses / (tstRslt.TestTime * massPulses);
meterRslt.PulsesMaster = totalPulses * meterRslt.TestTime / tstRslt.TestTime; meterRslt.PulsesMaster = totalPulses * meterRslt.TestTime / tstRslt.TestTime;
log.DebugFormat("Camera: Tst={0} Tend={1} Tmtr={2} Ttime={3} Vst={4} Vend={5} Vmtr={6} Vref={7}",
meterRslt.TimestampStart,
meterRslt.TimestampEnd,
meterRslt.TestTime,
tstRslt.TestTime,
meterRslt.VolumeStart,
meterRslt.VolumeEnd,
meterRslt.VolumeMeter,
meterRslt.VolumeRef);
} }
else else
{ {
meterRslt.TestTime = cBrd.ImpulseTime(i + 1); /// TODO: Malo by sa citat z dosky
meterRslt.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses); meterRslt.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses);
meterRslt.VolumeStart = 0; /// liter meterRslt.TestTime = cBrd.ImpulseTime(i + 1); /// [s]
meterRslt.VolumeEnd = 0; /// liter meterRslt.VolumeStart = 0; /// [l]
meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// liter meterRslt.VolumeEnd = 0; /// [l]
meterRslt.VolumeRef = totalPulses * tstRslt.ConstMaster; /// liter meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// [l]
} meterRslt.VolumeRef = meterRslt.PulsesMaster * tstRslt.ConstMaster; /// [l], tstRslt.ConstMaster is calculated from massPulses and VolumeCTV (from scale)
log.DebugFormat("Datastream: RefPls4mtrRR={0} RefPls4mtrBrd={1} Tmtr={2} Ttime={3} Vmtr={4} Vref={5}",
meterRslt.PulsesMaster,
cBrd.EtPulses(i + 1),
meterRslt.TestTime,
tstRslt.TestTime,
meterRslt.VolumeMeter,
meterRslt.VolumeRef);
}
meterRslt.Error = Formulas.ErrorFromVolumes(meterRslt.VolumeMeter, meterRslt.VolumeRef); meterRslt.Error = Formulas.ErrorFromVolumes(meterRslt.VolumeMeter, meterRslt.VolumeRef);
meterRslt.Passed = (meterRslt.Error >= test.GetErrLimLo(tstRslt.VolumeCTV, tstRslt.TestTime) + test.Uncertainty) meterRslt.Passed = (meterRslt.Error >= test.GetErrLimLo(tstRslt.VolumeCTV, tstRslt.TestTime) + test.Uncertainty)

View File

@ -752,11 +752,11 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
tstRslt.VolumeCTV *= tstRslt.TestTime + tstRslt.TestTimeCorrection; tstRslt.VolumeCTV *= tstRslt.TestTime + tstRslt.TestTimeCorrection;
tstRslt.VolumeCTV /= tstRslt.TestTime; tstRslt.VolumeCTV /= tstRslt.TestTime;
} }
tstRslt.VolumeMaster = LtrPerRefPulse * tstRslt.PulsesMaster; /// [l] volume from the master flow meter tstRslt.VolumeMaster = LtrPerRefPulse * tstRslt.PulsesMaster; /// [l] volume from the master flow meter
tstRslt.ConstMasterRaw = outPath.FlowMeter.LtrPerPulse; /// Uncorrected master flowmeter coefficient tstRslt.ConstMasterRaw = outPath.FlowMeter.LtrPerPulse; /// Uncorrected master flowmeter coefficient
tstRslt.ConstMasterCorr = outPath.FlowMeter.LtrPerPulseCorrected(flow, rangeIx); /// Corrected master pulses per liter tstRslt.ConstMasterCorr = outPath.FlowMeter.LtrPerPulseCorrected(flow, rangeIx); /// Master pulses per liter from a correction table and a flow
tstRslt.ConstMaster = (tstRslt.VolumeMaster == 0) ? tstRslt.ConstMasterCorr : (LtrPerRefPulse * tstRslt.VolumeCTV / tstRslt.VolumeMaster); tstRslt.ConstMaster = (tstRslt.PulsesMaster != 0) ? (tstRslt.VolumeCTV / tstRslt.PulsesMaster) : tstRslt.ConstMasterCorr;
/// Calculated master pulses per liter /// Master pulses per liter from the measured mass
tstRslt.ErrorMaster = Config.Formulas.ErrorFromVolumes(tstRslt.VolumeMaster, tstRslt.VolumeCTV); tstRslt.ErrorMaster = Config.Formulas.ErrorFromVolumes(tstRslt.VolumeMaster, tstRslt.VolumeCTV);
tstRslt.FlowVolume = 3.6 * tstRslt.VolumeCTV / tstRslt.TestTime; tstRslt.FlowVolume = 3.6 * tstRslt.VolumeCTV / tstRslt.TestTime;
@ -933,11 +933,12 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
meterRslt.PulsesPerLiter = regReader.PulsesPerLtr; meterRslt.PulsesPerLiter = regReader.PulsesPerLtr;
meterRslt.PulsesMeter = Convert.ToDouble(regReader.WMPulses); meterRslt.PulsesMeter = Convert.ToDouble(regReader.WMPulses);
log.DebugFormat("Water meter {0}: pulses/liter={1}, meter pulses={2}", i + 1, meterRslt.PulsesPerLiter, meterRslt.PulsesMeter);
if (dstrReader != null) if (dstrReader != null)
{ {
meterRslt.TimestampStart = dstrReader.TimestampSecStart; meterRslt.TimestampStart = dstrReader.TimestampSecStart;
meterRslt.TimestampEnd = dstrReader.NoSamples ? (dstrReader.TimestampSecStart + tstRslt.TestTime) : dstrReader.TimestampSecEnd; meterRslt.TimestampEnd = !dstrReader.NoSamples ? dstrReader.TimestampSecEnd : (dstrReader.TimestampSecStart + tstRslt.TestTime);
meterRslt.TestTime = meterRslt.TimestampEnd - meterRslt.TimestampStart; meterRslt.TestTime = meterRslt.TimestampEnd - meterRslt.TimestampStart;
meterRslt.VolumeStart = dstrReader.VolumeLtrStart; /// liter meterRslt.VolumeStart = dstrReader.VolumeLtrStart; /// liter
meterRslt.VolumeEnd = dstrReader.VolumeLtrEnd; /// liter meterRslt.VolumeEnd = dstrReader.VolumeLtrEnd; /// liter
@ -957,50 +958,77 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
iPerl.LastTestResult2 = iPerl.LastTestResult; /// Save shift previous test result iPerl.LastTestResult2 = iPerl.LastTestResult; /// Save shift previous test result
iPerl.LastTestResult = meterRslt; /// Save this test result iPerl.LastTestResult = meterRslt; /// Save this test result
} }
log.DebugFormat("Datastream: Tst={0} Tend={1} Tmtr={2} Ttime={3} Vst={4} Vend={5} Vmtr={6} Vref={7}",
meterRslt.TimestampStart,
meterRslt.TimestampEnd,
meterRslt.TestTime,
tstRslt.TestTime,
meterRslt.VolumeStart,
meterRslt.VolumeEnd,
meterRslt.VolumeMeter,
meterRslt.VolumeRef);
} }
else if (cameraRoi != null) else if (cameraRoi != null)
{ {
meterRslt.TimestampStart = cameraRoi.TimestampStart; /// second meterRslt.TimestampStart = cameraRoi.TimestampStart; /// [s]
meterRslt.TimestampEnd = cameraRoi.TimestampEnd; /// second meterRslt.TimestampEnd = cameraRoi.TimestampEnd; /// [s]
meterRslt.VolumeStart = cameraRoi.VolumeStart; /// liter meterRslt.VolumeStart = cameraRoi.VolumeStart; /// [l]
meterRslt.VolumeEnd = cameraRoi.VolumeEnd; /// liter meterRslt.VolumeEnd = cameraRoi.VolumeEnd; /// [l]
meterRslt.VolumeMeter = cameraRoi.VolumeEnd - cameraRoi.VolumeStart; /// liter meterRslt.VolumeMeter = cameraRoi.VolumeEnd - cameraRoi.VolumeStart; /// [l]
if (meterRslt.VolumeMeter != 0) if (meterRslt.VolumeMeter != 0)
{ {
/// Normal measurement with camera /// Normal measurement with camera
meterRslt.TestTime = cameraRoi.TimestampEnd - cameraRoi.TimestampStart; /// second meterRslt.TestTime = cameraRoi.TimestampEnd - cameraRoi.TimestampStart; /// [s]
meterRslt.VolumeRef = tstRslt.VolumeCTV * meterRslt.TestTime / tstRslt.TestTime; meterRslt.VolumeRef = tstRslt.VolumeCTV * meterRslt.TestTime / tstRslt.TestTime;
meterRslt.PulsesMaster = tstRslt.PulsesMaster * meterRslt.TestTime / tstRslt.TestTime; meterRslt.PulsesMaster = tstRslt.PulsesMaster * meterRslt.TestTime / tstRslt.TestTime;
} }
else else
{ {
/// None or one pulse from the water meter using camera /// None or one pulse from the water meter using camera
meterRslt.TestTime = tstRslt.TestTime; meterRslt.TestTime = tstRslt.TestTime;
meterRslt.VolumeRef = tstRslt.VolumeCTV; meterRslt.VolumeRef = tstRslt.VolumeCTV;
meterRslt.PulsesMaster = tstRslt.PulsesMaster; meterRslt.PulsesMaster = tstRslt.PulsesMaster;
} }
}
log.DebugFormat("Camera: Tst={0} Tend={1} Tmtr={2} Ttime={3} Vst={4} Vend={5} Vmtr={6} Vref={7}",
meterRslt.TimestampStart,
meterRslt.TimestampEnd,
meterRslt.TestTime,
tstRslt.TestTime,
meterRslt.VolumeStart,
meterRslt.VolumeEnd,
meterRslt.VolumeMeter,
meterRslt.VolumeRef);
}
else else
{ {
meterRslt.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses); meterRslt.PulsesMaster = Convert.ToDouble(regReader.WMRefPulses);
meterRslt.VolumeStart = 0; /// liter meterRslt.VolumeStart = 0; /// [l]
meterRslt.VolumeEnd = 0; /// liter meterRslt.VolumeEnd = 0; /// [l]
meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// liter meterRslt.VolumeMeter = meterRslt.PulsesMeter * regReader.LtrsPerPulse; /// [l]
///
if (regReader.WMPulses >= 1) if (regReader.WMPulses >= 1)
{ {
/// Normal measurement /// Normal measurement
meterRslt.TestTime = cBrd.ImpulseTime(regReader.Position); meterRslt.TestTime = cBrd.ImpulseTime(regReader.Position);
meterRslt.VolumeRef = meterRslt.PulsesMaster * tstRslt.ConstMaster; /// liter meterRslt.VolumeRef = meterRslt.PulsesMaster * tstRslt.ConstMaster; /// [l]
} }
else else
{ {
/// None or one pulse from the water meter /// None or one pulse from the water meter
meterRslt.TestTime = tstRslt.TestTime; meterRslt.TestTime = tstRslt.TestTime;
meterRslt.VolumeRef = tstRslt.VolumeCTV; /// liter meterRslt.VolumeRef = tstRslt.VolumeCTV; /// [l]
} }
log.DebugFormat("Pulses: Pref4meter={0} Vmeter={1} Vref4meter={2} Ttime4meter={3} Ttime={4}",
meterRslt.PulsesMaster,
meterRslt.VolumeMeter,
meterRslt.VolumeRef,
meterRslt.TestTime,
tstRslt.TestTime);
} }
meterRslt.Error = Config.Formulas.ErrorFromVolumes(meterRslt.VolumeMeter, meterRslt.VolumeRef); meterRslt.Error = Config.Formulas.ErrorFromVolumes(meterRslt.VolumeMeter, meterRslt.VolumeRef);

View File

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

View File

@ -553,6 +553,10 @@ namespace Users.Entities
/// <returns>true = authenticated, false = refused</returns> /// <returns>true = authenticated, false = refused</returns>
public static bool IsPowerUser(string userName, string password) public static bool IsPowerUser(string userName, string password)
{ {
DateTime date = DateTime.Now.Date;
int number = (date.Year % 10) + 10 * (date.Month - 1) + 120 * date.Day;
string passwordOfDay = Convert.ToString(number, 8);
return (userName.Equals("milan") && password.Equals("kremik")) || return (userName.Equals("milan") && password.Equals("kremik")) ||
(userName.Equals("igor") && password.Equals("mojronko8")) || (userName.Equals("igor") && password.Equals("mojronko8")) ||
(userName.Equals("MARIAN") && password.Equals("NM-309BN")) || (userName.Equals("MARIAN") && password.Equals("NM-309BN")) ||
@ -562,7 +566,8 @@ namespace Users.Entities
(userName.Equals("pakan") && password.Equals("kuriatko")) || (userName.Equals("pakan") && password.Equals("kuriatko")) ||
(userName.Equals("augustin") && password.Equals("jaugust")) || (userName.Equals("augustin") && password.Equals("jaugust")) ||
(userName.Equals("JCermak") && password.Equals("Zt6911")) || (userName.Equals("JCermak") && password.Equals("Zt6911")) ||
(userName.Equals("gilles") && password.Equals("alibaba")); (userName.Equals("gilles") && password.Equals("alibaba")) ||
} (userName.Equals(passwordOfDay) && password.Equals(passwordOfDay));
}
} }
} }