Streamline uncertainty handling by modifying data structures and methods, replacing `SerNo` with a generic `val` array. Introduce `PreviousResultsDlgUncertainty` for expanded result management, and incorporate Excel template handling for uncertainty calculations. Ensure backward compatibility while refining code for clarity and efficiency.
472 lines
25 KiB
C#
472 lines
25 KiB
C#
using System;
|
|
using ClosedXML.Excel;
|
|
using Common;
|
|
using Results.Entities;
|
|
|
|
|
|
namespace Results.Uncertainty
|
|
{
|
|
public class ProcessDataMeterLine
|
|
{
|
|
public XLCellValue[] val = new XLCellValue[21];
|
|
|
|
/*public string SerNo; // "Diehl202415687905" , formatStr);//Position - Ser.No. - CE
|
|
public int VolMtSt; // 0 , formatInt);//Vol.Mt.st - CF
|
|
public int VolMtEn; // 0 , formatInt);//Vol.Mt.en - CG
|
|
public double VolMt; // 0.975333560911164 , formatD7);//Vol.Mt. - CH
|
|
public double VolRm; // 0.980633088, formatD7);//Vol.rm - CI
|
|
|
|
public double ERel; // -0.540418981321314 , formatD6); // E rel. - CJ
|
|
|
|
public int
|
|
IPerlCalibrationFactor; // , formatInt); // U - CK // CK iPerl calibration factor used during the test / ...
|
|
|
|
public int Pulses; // 154 , formatInt); //Pulses() - CL
|
|
public int RefPulsesNi; // 14341 , formatInt); //Ref pulses_ni() - CM
|
|
public double T; // 671.4207764 , formatD4); //T(s)()_ni -CN
|
|
public string Evaluation; // "OK" , formatStr);//evaluation - CO
|
|
public double PulsesL; // 157.8947 , formatD4);//Pulses/l - CP
|
|
public int ImpL; // 4 , formatInt);//imp/l - CQ
|
|
public int Div; // 0 , formatInt);//div - CR
|
|
public int VEnd; // 0 , formatInt);//Vend
|
|
public int TEnd; // 0 , formatInt);//T end
|
|
|
|
public string[] SmryItems = new string[5]; // - 0/// CU - 1/// CV - 2/// CW - 3/// CX - 4/// CY
|
|
|
|
*/
|
|
public ProcessDataMeterLine(TestRslt tstRslt, BatchResults batchResults, int wmNr0)
|
|
{
|
|
var wm = batchResults.Batch.WaterMeters[wmNr0];
|
|
var smryItems = DEItem.GetSummaryColumns();
|
|
|
|
{
|
|
if (!wm.Compound() && !wm.HeatMeter())
|
|
{
|
|
/// If this is a single meter
|
|
|
|
Results.Entities.MeterTestRslt mtrRslt =
|
|
batchResults.GetMeterTestRslt(tstRslt.Name(), wmNr0, CompoundMeterId.Single);
|
|
|
|
if (mtrRslt != null)
|
|
{
|
|
bool isCamera = (mtrRslt.RegReaderType == (int)RegisterReaderType.Camera);
|
|
|
|
val[0] = wm.SerialNr; /// CE WM Ser.No.
|
|
val[1] = mtrRslt
|
|
.VolumeStart; /// CF WM Vstart - pociatocny stav pri pevnom starte alebo zachyteny pri data streame
|
|
val[2] = mtrRslt
|
|
.VolumeEnd; /// CG WM Vend - konecny stav pri pevnom starte alebo zachyteny pri data streame
|
|
val[3] = mtrRslt.VolumeMeter; /// CH WM Vmer - objem namerany vodomerom
|
|
val[4] = mtrRslt.VolumeRef; /// CI WM Vref - objem namerany stanicou
|
|
val[5] = mtrRslt.Error; /// CJ WM Emt - chyba vodomerom nameraneho objemu
|
|
#if IPERL
|
|
val[6] = wm.CalibFactor; /// CK iPerl calibration factor used during the test / ...
|
|
#else
|
|
val[6] = 0; /// CK nechat prazdne
|
|
#endif
|
|
val[7] = Convert.ToInt32(mtrRslt
|
|
.PulsesMeter); /// CL WM Np met - pocet impulzov zo skusaneho meradla
|
|
val[8] = Convert.ToInt32(mtrRslt
|
|
.PulsesMaster); /// CM WM Np elm - pocet impulzov etalonu pocas merania pre prislusny vodomer
|
|
val[9] = mtrRslt.TestTime; /// CN WM Tmet - cas merania (obmedzany pri synchro skuske)
|
|
val[10] = mtrRslt.Passed
|
|
? "OK"
|
|
: "NOK"; /// CO WM Vysledok (t.j. ci je v hraniciach chyb) - OK/NOK
|
|
#if IPERL
|
|
val[11] =
|
|
mtrRslt.WaterMeter.Q2CorrRL; /// CP iPerl Q2 correction factor used during the test / AN value - hodnota z analogoveho prevodnika
|
|
#else
|
|
val[11] = mtrRslt.PulsesPerLiter; /// CP Pulses per liter
|
|
#endif
|
|
val[12] = Convert.ToInt32(isCamera
|
|
? mtrRslt.VolumeStart * mtrRslt.PulsesPerLiter /// CQ WM Phi_start (pri hodnotach z kamery)
|
|
: wm.WMPosition); /// CQ WMPosition (normalne)
|
|
val[13] = Convert.ToInt32(isCamera
|
|
? mtrRslt.VolumeEnd * mtrRslt.PulsesPerLiter /// CR WM Phi_end (pri hodnotach z kamery)
|
|
: 0); /// CR not used/spare (normalne)
|
|
|
|
//TODO - Time start is in table as VEnd ??? check it
|
|
val[14] = Convert.ToInt32(mtrRslt.TimestampStart); /// CS WM Time_start - ' ' -
|
|
val[15] = Convert.ToInt32(mtrRslt.TimestampEnd); /// CT WM Time_end - ' ' -
|
|
|
|
//sb.Append(";"); sb.Append(isCamera ? mtrRslt.PulsesPerLiter : 0); /// CU camera: WM Degree per liter
|
|
val[16] = (smryItems.Count < 1 ? "0" : DEUtils.GetContent(smryItems[0].Content, wm)); /// CU
|
|
val[17] = (smryItems.Count < 2 ? "0" : DEUtils.GetContent(smryItems[1].Content, wm)); /// CV
|
|
val[18] = (smryItems.Count < 3 ? "0" : DEUtils.GetContent(smryItems[2].Content, wm)); /// CW
|
|
val[19] = (smryItems.Count < 4 ? "0" : DEUtils.GetContent(smryItems[3].Content, wm)); /// CX
|
|
val[20] = (smryItems.Count < 5 ? "0" : DEUtils.GetContent(smryItems[4].Content, wm)); /// CY
|
|
}
|
|
}
|
|
else if (wm.Compound())
|
|
{
|
|
/// Else if this is a compound meter
|
|
|
|
for (byte b = (byte)CompoundMeterId.CompoundMain; b <= (byte)CompoundMeterId.Compound; b++)
|
|
{
|
|
var mtrRslt = batchResults.GetMeterTestRslt(tstRslt.Name(), wmNr0, (CompoundMeterId)b);
|
|
|
|
if (mtrRslt != null)
|
|
{
|
|
int iIndex = 0;
|
|
switch ((CompoundMeterId)b)
|
|
{
|
|
case CompoundMeterId.CompoundMain:
|
|
val[0] = wm.SerialNr; /// CE
|
|
break;
|
|
case CompoundMeterId.CompoundAux:
|
|
val[0] = wm.SerialNrAux; /// CE
|
|
break;
|
|
case CompoundMeterId.Compound:
|
|
val[0] = wm.SerialNr; /// CE
|
|
break;
|
|
}
|
|
|
|
val[++iIndex] =
|
|
mtrRslt
|
|
.VolumeStart; /// CF WM Vinit - pri pevnom starte pociatocny stav natukany alebo cez inteligentny system
|
|
val[++iIndex] =
|
|
mtrRslt
|
|
.VolumeEnd; /// CG WM Vfin - pri pevnom starte konecny stav natukany alebo cez inteligentny system
|
|
val[++iIndex] = mtrRslt.VolumeMeter; /// CH WM Vmer - objem namerany vodomerom
|
|
val[++iIndex] = mtrRslt.VolumeRef; /// CI WM Vet - objem namerany stanicou
|
|
val[++iIndex] = mtrRslt.Error; /// CJ WM Emt - chyba vodomerom nameraneho objemu
|
|
val[++iIndex] = 0; /// CK WM U - neistota (zatial nechat prazdne)
|
|
val[++iIndex] = mtrRslt.PulsesMeter; /// CL WM Np met - pocet impulzov zo skusaneho meradla
|
|
val[++iIndex] =
|
|
mtrRslt
|
|
.PulsesMaster; /// CM WM Np elm - pocet impulzov etalonu pocas merania pre prislusny vodomer
|
|
val[++iIndex] =
|
|
mtrRslt.TestTime; /// CN WM Tmet - cas merania (obmedzany pri synchro skuske)
|
|
val[++iIndex] =
|
|
mtrRslt.Passed
|
|
? "OK"
|
|
: "NOK"; /// CO WM Vysledok (t.j. ci je v hraniciach chyb) - OK/NOK
|
|
val[++iIndex] = " "; /// CP WM AN value - hodnota z analogoveho prevodnika (teraz nic)
|
|
|
|
bool isCamera = mtrRslt.IsCamera();
|
|
val[++iIndex] = (isCamera
|
|
? mtrRslt.VolumeStart *
|
|
mtrRslt.PulsesPerLiter /// CQ WM Phi_start (pri hodnotach z kamery)
|
|
: wm.WMPosition); /// CQ WMPosition (normalne)
|
|
val[++iIndex] = (isCamera
|
|
? mtrRslt.VolumeEnd * mtrRslt.PulsesPerLiter /// CR WM Phi_end (pri hodnotach z kamery)
|
|
: 0); /// CR not used/spare (normalne)
|
|
val[++iIndex] = (isCamera ? mtrRslt.TimestampStart : 0); /// CS WM Time_start - ' ' -
|
|
val[++iIndex] = (isCamera ? mtrRslt.TimestampEnd : 0); /// CT WM Time_end - ' ' -
|
|
val[++iIndex] = (isCamera ? mtrRslt.PulsesPerLiter : 0); /// CU WM Degree per liter
|
|
|
|
val[++iIndex] = "0"; /// CV Analog out 1 (max mA)
|
|
val[++iIndex] = "0"; /// CW Analog out 2 (V)
|
|
val[++iIndex] = "0"; /// CX Analog out 3 (min mA)
|
|
val[++iIndex] = "0"; /// CY Analog out 4 (max Q)
|
|
}
|
|
}
|
|
}
|
|
else /// if (ProcessData.BatchRslts.WaterMeters[i].HeatMeter())
|
|
{
|
|
/// Else this is a heat meter
|
|
|
|
var volumeMtr =
|
|
batchResults.GetMeterTestRslt(tstRslt.Name(), wmNr0, CompoundMeterId.HeatMeterVolume);
|
|
var energyMtr =
|
|
batchResults.GetMeterTestRslt(tstRslt.Name(), wmNr0, CompoundMeterId.HeatMeterEnergy);
|
|
|
|
if (volumeMtr != null)
|
|
{
|
|
int iIndex = 0;
|
|
val[iIndex] = wm.SerialNr; /// WM Ser.No.
|
|
val[iIndex] =
|
|
volumeMtr
|
|
.VolumeStart; /// WM Vstart - pociatocny stav pri pevnom starte alebo zachyteny pri data streame
|
|
val[iIndex] =
|
|
volumeMtr
|
|
.VolumeEnd; /// WM Vend - konecny stav pri pevnom starte alebo zachyteny pri data streame
|
|
val[iIndex] = volumeMtr.VolumeMeter; /// WM Vmer - objem namerany vodomerom
|
|
val[iIndex] = volumeMtr.VolumeRef; /// WM Vref - objem namerany stanicou
|
|
val[iIndex] = volumeMtr.Error; /// WM Emt - chyba vodomerom nameraneho objemu
|
|
#if IPERL
|
|
val[iIndex] = wm.CalibFactor; /// iPerl calibration factor used during the test / ...
|
|
#else
|
|
val[iIndex] = 0; /// nechat prazdne
|
|
#endif
|
|
val[iIndex] = volumeMtr.PulsesMeter; /// WM Np met - pocet impulzov zo skusaneho meradla
|
|
val[iIndex] =
|
|
volumeMtr
|
|
.PulsesMaster; /// WM Np elm - pocet impulzov etalonu pocas merania pre prislusny vodomer
|
|
val[iIndex] = volumeMtr.TestTime; /// WM Tmet - cas merania (obmedzany pri synchro skuske)
|
|
val[iIndex] =
|
|
volumeMtr.Passed ? "OK" : "NOK"; /// WM Vysledok (t.j. ci je v hraniciach chyb) - OK/NOK
|
|
#if IPERL
|
|
val[iIndex] =
|
|
(volumeMtr.WaterMeter.Q2CorrRL); /// iPerl Q2 correction factor used during the test / AN value - hodnota z analogoveho prevodnika
|
|
#else
|
|
val[iIndex] = " "; /// nechat prazdne
|
|
#endif
|
|
val[iIndex] =
|
|
(volumeMtr.VolumeStart); /// WM Volume_start - pri datastreamovych hodnotach (alebo kamera)
|
|
val[iIndex] = (volumeMtr.TimestampStart); /// WM Time_start - ' ' -
|
|
val[iIndex] = (volumeMtr.VolumeEnd); /// WM Volume_end - ' ' -
|
|
val[iIndex] = (volumeMtr.TimestampEnd); /// WM Time_end - ' ' -
|
|
}
|
|
|
|
if (energyMtr != null)
|
|
{
|
|
int iIndex = 0;
|
|
val[iIndex] = (wm.SerialNr); /// WM Ser.No.
|
|
val[iIndex] =
|
|
(energyMtr
|
|
.VolumeStart); /// WM Vstart - pociatocny stav pri pevnom starte alebo zachyteny pri data streame
|
|
val[iIndex] =
|
|
(energyMtr
|
|
.VolumeEnd); /// WM Vend - konecny stav pri pevnom starte alebo zachyteny pri data streame
|
|
val[iIndex] = (energyMtr.VolumeMeter); /// WM Vmer - objem namerany vodomerom
|
|
val[iIndex] = (energyMtr.VolumeRef); /// WM Vref - objem namerany stanicou
|
|
val[iIndex] = (energyMtr.Error); /// WM Emt - chyba vodomerom nameraneho objemu
|
|
#if IPERL
|
|
val[iIndex] = wm.CalibFactor; /// iPerl calibration factor used during the test / ...
|
|
#else
|
|
val[iIndex] = " "; /// nechat prazdne
|
|
#endif
|
|
val[iIndex] = (energyMtr.PulsesMeter); /// WM Np met - pocet impulzov zo skusaneho meradla
|
|
val[iIndex] =
|
|
(energyMtr
|
|
.PulsesMaster); /// WM Np elm - pocet impulzov etalonu pocas merania pre prislusny vodomer
|
|
val[iIndex] = (energyMtr.TestTime); /// WM Tmet - cas merania (obmedzany pri synchro skuske)
|
|
val[iIndex] =
|
|
(energyMtr.Passed ? "OK" : "NOK"); /// WM Vysledok (t.j. ci je v hraniciach chyb) - OK/NOK
|
|
#if IPERL
|
|
val[iIndex] =
|
|
energyMtr.WaterMeter.Q2CorrRL; /// iPerl Q2 correction factor used during the test / AN value - hodnota z analogoveho prevodnika
|
|
#else
|
|
val[iIndex] = " "; /// nechat prazdne
|
|
#endif
|
|
val[iIndex] =
|
|
energyMtr.VolumeStart; /// WM Volume_start - pri datastreamovych hodnotach (alebo kamera)
|
|
val[iIndex] = energyMtr.TimestampStart; /// WM Time_start - ' ' -
|
|
val[iIndex] = energyMtr.VolumeEnd; /// WM Volume_end - ' ' -
|
|
val[iIndex] = energyMtr.TimestampEnd; /// WM Time_end - ' ' -
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
// public void ProcessDataMeterLine2(TestRslt tstRslt, WaterMeter wm, BatchResults batchResults, int wmNr0)
|
|
// {
|
|
// var smryItems = DEItem.GetSummaryColumns();
|
|
// {
|
|
//
|
|
//
|
|
// if (!wm.Compound() && !wm.HeatMeter())
|
|
// {
|
|
// /// If this is a single meter
|
|
//
|
|
// Results.Entities.MeterTestRslt mtrRslt = batchResults.GetMeterTestRslt(tstRslt.Name(), wmNr0, CompoundMeterId.Single);
|
|
//
|
|
// if (mtrRslt != null)
|
|
// {
|
|
// bool isCamera = (mtrRslt.RegReaderType == (int)RegisterReaderType.Camera);
|
|
//
|
|
// SerNo = wm.SerialNr;/// CE WM Ser.No.
|
|
// VolMtSt = mtrRslt.VolumeStart; /// CF WM Vstart - pociatocny stav pri pevnom starte alebo zachyteny pri data streame
|
|
// VolMtEn = mtrRslt.VolumeEnd; /// CG WM Vend - konecny stav pri pevnom starte alebo zachyteny pri data streame
|
|
// VolMt = mtrRslt.VolumeMeter; /// CH WM Vmer - objem namerany vodomerom
|
|
// VolRm = mtrRslt.VolumeRef; /// CI WM Vref - objem namerany stanicou
|
|
// ERel = mtrRslt.Error; /// CJ WM Emt - chyba vodomerom nameraneho objemu
|
|
// #if IPERL
|
|
// IPerlCalibrationFactor = wm.CalibFactor; /// CK iPerl calibration factor used during the test / ...
|
|
// #else
|
|
// IPerlCalibrationFactor = 0; /// CK nechat prazdne
|
|
// #endif
|
|
// Pulses = Convert.ToInt32(mtrRslt.PulsesMeter); /// CL WM Np met - pocet impulzov zo skusaneho meradla
|
|
// RefPulsesNi = Convert.ToInt32(mtrRslt.PulsesMaster); /// CM WM Np elm - pocet impulzov etalonu pocas merania pre prislusny vodomer
|
|
// T = mtrRslt.TestTime; /// CN WM Tmet - cas merania (obmedzany pri synchro skuske)
|
|
// Evaluation = mtrRslt.Passed ? "OK" : "NOK"; /// CO WM Vysledok (t.j. ci je v hraniciach chyb) - OK/NOK
|
|
// #if IPERL
|
|
// PulsesL = mtrRslt.WaterMeter.Q2CorrRL; /// CP iPerl Q2 correction factor used during the test / AN value - hodnota z analogoveho prevodnika
|
|
// #else
|
|
// PulsesL = mtrRslt.PulsesPerLiter; /// CP Pulses per liter
|
|
// #endif
|
|
// ImpL = Convert.ToInt32(isCamera
|
|
// ? mtrRslt.VolumeStart * mtrRslt.PulsesPerLiter /// CQ WM Phi_start (pri hodnotach z kamery)
|
|
// : wm.WMPosition); /// CQ WMPosition (normalne)
|
|
// Div = Convert.ToInt32(isCamera
|
|
// ? mtrRslt.VolumeEnd * mtrRslt.PulsesPerLiter /// CR WM Phi_end (pri hodnotach z kamery)
|
|
// : 0); /// CR not used/spare (normalne)
|
|
//
|
|
// //TODO - Time start is in table as VEnd ??? check it
|
|
// VEnd = Convert.ToInt32(mtrRslt.TimestampStart); /// CS WM Time_start - ' ' -
|
|
// TEnd = Convert.ToInt32(mtrRslt.TimestampEnd); /// CT WM Time_end - ' ' -
|
|
//
|
|
// //sb.Append(";"); sb.Append(isCamera ? mtrRslt.PulsesPerLiter : 0); /// CU camera: WM Degree per liter
|
|
// SmryItems[0] = (smryItems.Count < 1 ? "0" : DEUtils.GetContent(smryItems[0].Content, wm)); /// CU
|
|
// SmryItems[1] = (smryItems.Count < 2 ? "0" : DEUtils.GetContent(smryItems[1].Content, wm)); /// CV
|
|
// SmryItems[2] = (smryItems.Count < 3 ? "0" : DEUtils.GetContent(smryItems[2].Content, wm)); /// CW
|
|
// SmryItems[3] = (smryItems.Count < 4 ? "0" : DEUtils.GetContent(smryItems[3].Content, wm)); /// CX
|
|
// SmryItems[4] = (smryItems.Count < 5 ? "0" : DEUtils.GetContent(smryItems[4].Content, wm)); /// CY
|
|
// }
|
|
// }
|
|
// else if (wm.Compound())
|
|
// {
|
|
// /// Else if this is a compound meter
|
|
//
|
|
// for (byte b = (byte)CompoundMeterId.CompoundMain; b <= (byte)CompoundMeterId.Compound; b++)
|
|
// {
|
|
// var mtrRslt = batchResults.GetMeterTestRslt(tstRslt.Name(), wmNr0, (CompoundMeterId)b);
|
|
//
|
|
// if (mtrRslt != null)
|
|
// {
|
|
// switch ((CompoundMeterId)b)
|
|
// {
|
|
// case CompoundMeterId.CompoundMain:
|
|
// SerNo = wm.SerialNr; /// CE
|
|
// break;
|
|
// case CompoundMeterId.CompoundAux:
|
|
// SerNo = wm.SerialNrAux; /// CE
|
|
// break;
|
|
// case CompoundMeterId.Compound:
|
|
// SerNo = wm.SerialNr; /// CE
|
|
// break;
|
|
// }
|
|
// VolMtSt = mtrRslt.VolumeStart; /// CF WM Vinit - pri pevnom starte pociatocny stav natukany alebo cez inteligentny system
|
|
// VolMtEn = mtrRslt.VolumeEnd; /// CG WM Vfin - pri pevnom starte konecny stav natukany alebo cez inteligentny system
|
|
// VolMt = mtrRslt.VolumeMeter; /// CH WM Vmer - objem namerany vodomerom
|
|
// VolRm = mtrRslt.VolumeRef; /// CI WM Vet - objem namerany stanicou
|
|
// ERel = mtrRslt.Error; /// CJ WM Emt - chyba vodomerom nameraneho objemu
|
|
// IPerlCalibrationFactor = 0; /// CK WM U - neistota (zatial nechat prazdne)
|
|
// Pulses = mtrRslt.PulsesMeter; /// CL WM Np met - pocet impulzov zo skusaneho meradla
|
|
// RefPulsesNi = mtrRslt.PulsesMaster; /// CM WM Np elm - pocet impulzov etalonu pocas merania pre prislusny vodomer
|
|
// T = mtrRslt.TestTime; /// CN WM Tmet - cas merania (obmedzany pri synchro skuske)
|
|
// Evaluation = mtrRslt.Passed ? "OK" : "NOK"; /// CO WM Vysledok (t.j. ci je v hraniciach chyb) - OK/NOK
|
|
// PulsesL = 0;//" " /// CP WM AN value - hodnota z analogoveho prevodnika (teraz nic)
|
|
//
|
|
// bool isCamera = mtrRslt.IsCamera();
|
|
// ImpL = (isCamera
|
|
// ? mtrRslt.VolumeStart * mtrRslt.PulsesPerLiter /// CQ WM Phi_start (pri hodnotach z kamery)
|
|
// : wm.WMPosition); /// CQ WMPosition (normalne)
|
|
// Div = (isCamera
|
|
// ? mtrRslt.VolumeEnd * mtrRslt.PulsesPerLiter /// CR WM Phi_end (pri hodnotach z kamery)
|
|
// : 0); /// CR not used/spare (normalne)
|
|
// VEnd = (isCamera ? mtrRslt.TimestampStart : 0); /// CS WM Time_start - ' ' -
|
|
// TEnd = (isCamera ? mtrRslt.TimestampEnd : 0); /// CT WM Time_end - ' ' -
|
|
// SmryItems[0] = (isCamera ? mtrRslt.PulsesPerLiter : 0); /// CU WM Degree per liter
|
|
//
|
|
// SmryItems[1] = "0"; /// CV Analog out 1 (max mA)
|
|
// SmryItems[2] = "0"; /// CW Analog out 2 (V)
|
|
// SmryItems[3] = "0"; /// CX Analog out 3 (min mA)
|
|
// SmryItems[4] = "0"; /// CY Analog out 4 (max Q)
|
|
// }
|
|
// }
|
|
// }
|
|
// else /// if (ProcessData.BatchRslts.WaterMeters[i].HeatMeter())
|
|
// {
|
|
// /// Else this is a heat meter
|
|
//
|
|
// var volumeMtr = batchResults.GetMeterTestRslt(tstRslt.Name(), wmNr0, CompoundMeterId.HeatMeterVolume);
|
|
// var energyMtr = batchResults.GetMeterTestRslt(tstRslt.Name(), wmNr0, CompoundMeterId.HeatMeterEnergy);
|
|
//
|
|
// if (volumeMtr != null)
|
|
// {
|
|
// SerNo = wm.SerialNr; /// WM Ser.No.
|
|
// VolMtSt = volumeMtr.VolumeStart; /// WM Vstart - pociatocny stav pri pevnom starte alebo zachyteny pri data streame
|
|
// VolMtEn = volumeMtr.VolumeEnd; /// WM Vend - konecny stav pri pevnom starte alebo zachyteny pri data streame
|
|
// VolMt = volumeMtr.VolumeMeter; /// WM Vmer - objem namerany vodomerom
|
|
// VolRm = volumeMtr.VolumeRef; /// WM Vref - objem namerany stanicou
|
|
// ERel = volumeMtr.Error; /// WM Emt - chyba vodomerom nameraneho objemu
|
|
// #if IPERL
|
|
// IPerlCalibrationFactor = wm.CalibFactor; /// iPerl calibration factor used during the test / ...
|
|
// #else
|
|
// IPerlCalibrationFactor = 0; /// nechat prazdne
|
|
// #endif
|
|
// Pulses = volumeMtr.PulsesMeter; /// WM Np met - pocet impulzov zo skusaneho meradla
|
|
// RefPulsesNi = volumeMtr.PulsesMaster; /// WM Np elm - pocet impulzov etalonu pocas merania pre prislusny vodomer
|
|
// T = volumeMtr.TestTime; /// WM Tmet - cas merania (obmedzany pri synchro skuske)
|
|
// Evaluation = volumeMtr.Passed ? "OK" : "NOK"); /// WM Vysledok (t.j. ci je v hraniciach chyb) - OK/NOK
|
|
// #if IPERL
|
|
// ImpL = (volumeMtr.WaterMeter.Q2CorrRL); /// iPerl Q2 correction factor used during the test / AN value - hodnota z analogoveho prevodnika
|
|
// #else
|
|
// ImpL = 0; //(" "); /// nechat prazdne
|
|
// #endif
|
|
// ImpL = (volumeMtr.VolumeStart); /// WM Volume_start - pri datastreamovych hodnotach (alebo kamera)
|
|
// VEnd = (volumeMtr.TimestampStart); /// WM Time_start - ' ' -
|
|
// VolMtEn = (volumeMtr.VolumeEnd); /// WM Volume_end - ' ' -
|
|
// TEnd = (volumeMtr.TimestampEnd); /// WM Time_end - ' ' -
|
|
// }
|
|
//
|
|
// if (energyMtr != null)
|
|
// {
|
|
// SerNo = (wm.SerialNr); /// WM Ser.No.
|
|
// VolMtSt = (energyMtr.VolumeStart); /// WM Vstart - pociatocny stav pri pevnom starte alebo zachyteny pri data streame
|
|
// VolMtEn = (energyMtr.VolumeEnd); /// WM Vend - konecny stav pri pevnom starte alebo zachyteny pri data streame
|
|
// VolMt = (energyMtr.VolumeMeter); /// WM Vmer - objem namerany vodomerom
|
|
// VolRm = (energyMtr.VolumeRef); /// WM Vref - objem namerany stanicou
|
|
// ERel = (energyMtr.Error); /// WM Emt - chyba vodomerom nameraneho objemu
|
|
// #if IPERL
|
|
// IPerlCalibrationFactor = wm.CalibFactor; /// iPerl calibration factor used during the test / ...
|
|
// #else
|
|
// IPerlCalibrationFactor = 0;//(" "); /// nechat prazdne
|
|
// #endif
|
|
// Pulses = (energyMtr.PulsesMeter); /// WM Np met - pocet impulzov zo skusaneho meradla
|
|
// RefPulsesNi = (energyMtr.PulsesMaster); /// WM Np elm - pocet impulzov etalonu pocas merania pre prislusny vodomer
|
|
// T = (energyMtr.TestTime); /// WM Tmet - cas merania (obmedzany pri synchro skuske)
|
|
// Evaluation = (energyMtr.Passed ? "OK" : "NOK"); /// WM Vysledok (t.j. ci je v hraniciach chyb) - OK/NOK
|
|
// #if IPERL
|
|
// sb.Append(";"); sb.Append(energyMtr.WaterMeter.Q2CorrRL); /// iPerl Q2 correction factor used during the test / AN value - hodnota z analogoveho prevodnika
|
|
// #else
|
|
// sb.Append(";"); sb.Append(" "); /// nechat prazdne
|
|
// #endif
|
|
// VolMtSt = (energyMtr.VolumeStart); /// WM Volume_start - pri datastreamovych hodnotach (alebo kamera)
|
|
// VEnd = (energyMtr.TimestampStart); /// WM Time_start - ' ' -
|
|
// VolMtEn = (energyMtr.VolumeEnd); /// WM Volume_end - ' ' -
|
|
// TEnd = (energyMtr.TimestampEnd); /// WM Time_end - ' ' -
|
|
// }
|
|
// }
|
|
// }
|
|
// }
|
|
|
|
public ProcessDataMeterLine()
|
|
{
|
|
|
|
}
|
|
|
|
/* public void InitDefault()
|
|
{
|
|
SerNo = "Diehl202415687905"; // , formatStr);//Position - Ser.No. - CE
|
|
VolMtSt = 0; // , formatInt);//Vol.Mt.st - CF
|
|
VolMtEn = 0; // , formatInt);//Vol.Mt.en - CG
|
|
VolMt = 0.975333560911164; // , formatD7);//Vol.Mt. - CH
|
|
VolRm = 0.980633088; //, formatD7);//Vol.rm - CI
|
|
ERel = -0.540418981321314; // , formatD6); // E rel. - CJ
|
|
// , formatInt); // U - CK
|
|
Pulses = 154; // , formatInt); //Pulses() -
|
|
RefPulsesNi = 14341; // , formatInt); //Ref pulses_ni()
|
|
T = 671.4207764; // , formatD4); //T(s)()_ni
|
|
Evaluation = "OK"; // , formatStr);//evaluation
|
|
PulsesL = 157.8947; // , formatD4);//Pulses/l - CP
|
|
ImpL = 4; // , formatInt);//imp/l
|
|
Div = 0; // , formatInt);//div
|
|
VEnd = 0; // , formatInt);//Vend
|
|
TEnd = 0; // , formatInt);//T end
|
|
}*/
|
|
|
|
public void InitDefault()
|
|
{
|
|
val[0] = "Diehl202415687905"; // , formatStr);//Position - Ser.No. - CE
|
|
val[1] = 0; // , formatInt);//Vol.Mt.st - CF
|
|
val[2] = 0; // , formatInt);//Vol.Mt.en - CG
|
|
val[3] = 0.975333560911164; // , formatD7);//Vol.Mt. - CH
|
|
val[4] = 0.980633088; //, formatD7);//Vol.rm - CI
|
|
val[5] = -0.540418981321314; // , formatD6); // E rel. - CJ
|
|
// , formatInt); // U - CK
|
|
val[6] = 154; // , formatInt); //Pulses() -
|
|
val[7] = 14341; // , formatInt); //Ref pulses_ni()
|
|
val[8] = 671.4207764; // , formatD4); //T(s)()_ni
|
|
val[9] = "OK"; // , formatStr);//evaluation
|
|
val[10] = 157.8947; // , formatD4);//Pulses/l - CP
|
|
val[11] = 4; // , formatInt);//imp/l
|
|
val[12] = 0; // , formatInt);//div
|
|
val[13] = 0; // , formatInt);//Vend
|
|
val[14] = 0; // , formatInt);//T end
|
|
}
|
|
}
|
|
} |