(1) SUEZ cycle: InitOrReadQ2Correction, (Conditional)UpdateQ2Corrections, (2) Flow dir. detection fixed, (3) etc., ver. 2.18.1182
This commit is contained in:
parent
e356934ede
commit
b235f9ae20
@ -141,12 +141,12 @@ namespace TBF.BenchControl.Output.FileWriters.IperlLogger
|
||||
WriteLogsToDisk(logger, batch);
|
||||
logger.Flush();
|
||||
logger.Close();
|
||||
log.WarnFormat("{0} : Batch {1} written OK", Name, batch.BatchNr);
|
||||
log.WarnFormat("{0} : Batch #{1} written OK", Name, batch.BatchNr);
|
||||
}
|
||||
catch
|
||||
catch (Exception exc)
|
||||
{
|
||||
anyError = true;
|
||||
log.WarnFormat("{0} : Failed to write batch {1}", Name, batch.BatchNr);
|
||||
log.WarnFormat("{0} : Failed to write batch #{1}: {2}", Name, batch.BatchNr, exc.Message);
|
||||
}
|
||||
}
|
||||
|
||||
@ -223,248 +223,242 @@ namespace TBF.BenchControl.Output.FileWriters.IperlLogger
|
||||
}
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
logger.WriteLine("[Wasserzähler-Daten]");
|
||||
logger.WriteLine(string.Format("PruefPunkte={0}", (maxPruefungsNr > 15) ? 20 : ((maxPruefungsNr > 10) ? 15 : ((maxPruefungsNr > 5) ? 10 : 5))));
|
||||
logger.WriteLine(string.Format("Typ={0}", batch.ProcedureName)); /// iP 020 Q3_4 R160 A XXXX
|
||||
logger.WriteLine(string.Format("MetroKlasse={0}", wmData.MetrologicalClass));
|
||||
logger.WriteLine(string.Format("Zulassungszeichen={0}", wmData.ApprovalInfo));
|
||||
logger.WriteLine(string.Format("Qn={0}", wmData.Q3_Qn.ToString("F1", Program.AltCulture)));
|
||||
logger.WriteLine(string.Format("Impulsrate=1"));
|
||||
logger.WriteLine(string.Format("WZid={0}", wmData.WMTypeId));
|
||||
logger.WriteLine(string.Format("RevWzTyp={0}", wm0.WMTypeRevision));
|
||||
logger.WriteLine(string.Format("RevPruefstandWzTyp=2"));
|
||||
logger.WriteLine("[Wasserzähler-Daten]");
|
||||
logger.WriteLine(string.Format("PruefPunkte={0}", (maxPruefungsNr > 15) ? 20 : ((maxPruefungsNr > 10) ? 15 : ((maxPruefungsNr > 5) ? 10 : 5))));
|
||||
logger.WriteLine(string.Format("Typ={0}", batch.ProcedureName)); /// iP 020 Q3_4 R160 A XXXX
|
||||
logger.WriteLine(string.Format("MetroKlasse={0}", wmData.MetrologicalClass));
|
||||
logger.WriteLine(string.Format("Zulassungszeichen={0}", wmData.ApprovalInfo));
|
||||
logger.WriteLine(string.Format("Qn={0}", wmData.Q3_Qn.ToString("F1", Program.AltCulture)));
|
||||
logger.WriteLine(string.Format("Impulsrate=1"));
|
||||
logger.WriteLine(string.Format("WZid={0}", wmData.WMTypeId));
|
||||
logger.WriteLine(string.Format("RevWzTyp={0}", wm0.WMTypeRevision));
|
||||
logger.WriteLine(string.Format("RevPruefstandWzTyp=2"));
|
||||
|
||||
for (int j = 0; j < testInfos.Length; j++)
|
||||
for (int j = 0; j < testInfos.Length; j++)
|
||||
{
|
||||
if (testInfos[j].PruefungsNrLog != 0)
|
||||
{
|
||||
if (testInfos[j].PruefungsNrLog != 0)
|
||||
{
|
||||
string fId = testInfos[j].PruefungsNrLog.ToString("D2");
|
||||
string qBz = testInfos[j].QBezeichnungLog;
|
||||
Results.Entities.MeterTestRslt wm0r = wm0trs[j];
|
||||
bool pb_100_110 = (testInfos[j].Range == Range.R100_110);
|
||||
string fId = testInfos[j].PruefungsNrLog.ToString("D2");
|
||||
string qBz = testInfos[j].QBezeichnungLog;
|
||||
Results.Entities.MeterTestRslt wm0r = wm0trs[j];
|
||||
bool pb_100_110 = (testInfos[j].Range == Range.R100_110);
|
||||
|
||||
if (wm0r != null)
|
||||
if (wm0r != null)
|
||||
{
|
||||
/// An existing test
|
||||
logger.WriteLine(string.Format("Durchfluss{0}={1}", fId, Units.ConvertTo(Unit.lph, (wm0r.Qfrom() + wm0r.Qto()) / 2).ToString("F1", Program.AltCulture)));
|
||||
logger.WriteLine(string.Format("Prüfzeit{0}={1}", fId, wm0r.TargetTime().ToString("F0")));
|
||||
logger.WriteLine(string.Format("Prüfbereich100_110{0}={1}", fId, (pb_100_110 ? 1 : 0)));
|
||||
logger.WriteLine(string.Format("PrüfbereichMin{0}={1}", fId, (pb_100_110 ? 100 : 90)));
|
||||
logger.WriteLine(string.Format("PrüfbereichMax{0}={1}", fId, (pb_100_110 ? 110 : 100)));
|
||||
logger.WriteLine(string.Format("QBezeichnung{0}={1}", fId, qBz));
|
||||
if (testInfos[j].PruefungsNrLog > 0)
|
||||
{
|
||||
/// An existing test
|
||||
logger.WriteLine(string.Format("Durchfluss{0}={1}", fId, Units.ConvertTo(Unit.lph, (wm0r.Qfrom() + wm0r.Qto()) / 2).ToString("F1", Program.AltCulture)));
|
||||
logger.WriteLine(string.Format("Prüfzeit{0}={1}", fId, wm0r.TargetTime().ToString("F0")));
|
||||
logger.WriteLine(string.Format("Prüfbereich100_110{0}={1}", fId, (pb_100_110 ? 1 : 0)));
|
||||
logger.WriteLine(string.Format("PrüfbereichMin{0}={1}", fId, (pb_100_110 ? 100 : 90)));
|
||||
logger.WriteLine(string.Format("PrüfbereichMax{0}={1}", fId, (pb_100_110 ? 110 : 100)));
|
||||
logger.WriteLine(string.Format("QBezeichnung{0}={1}", fId, qBz));
|
||||
if (testInfos[j].PruefungsNrLog > 0)
|
||||
{
|
||||
/// Test is not an adjustment
|
||||
logger.WriteLine(string.Format("PosFehlergrenze{0}={1}", fId, (wm0r.ErrLimHi() - wm0r.Uncertainty()).ToString("F1", Program.AltCulture)));
|
||||
logger.WriteLine(string.Format("NegFehlergrenze{0}={1}", fId, (wm0r.ErrLimLo() + wm0r.Uncertainty()).ToString("F1", Program.AltCulture)));
|
||||
logger.WriteLine(string.Format("PosFehlergrenzeWarm{0}=0,0", fId));
|
||||
logger.WriteLine(string.Format("NegFehlergrenzeWarm{0}=0,0", fId));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.WriteLine(string.Format("Durchfluss{0}=0,0", fId));
|
||||
logger.WriteLine(string.Format("Prüfzeit{0}=0", fId));
|
||||
logger.WriteLine(string.Format("Prüfbereich100_110{0}=0", fId));
|
||||
logger.WriteLine(string.Format("PrüfbereichMin{0}=0", fId));
|
||||
logger.WriteLine(string.Format("PrüfbereichMax{0}=0", fId));
|
||||
logger.WriteLine(string.Format("QBezeichnung{0}=", fId));
|
||||
/// Test is not an adjustment
|
||||
logger.WriteLine(string.Format("PosFehlergrenze{0}={1}", fId, (wm0r.ErrLimHi() - wm0r.Uncertainty()).ToString("F1", Program.AltCulture)));
|
||||
logger.WriteLine(string.Format("NegFehlergrenze{0}={1}", fId, (wm0r.ErrLimLo() + wm0r.Uncertainty()).ToString("F1", Program.AltCulture)));
|
||||
logger.WriteLine(string.Format("PosFehlergrenzeWarm{0}=0,0", fId));
|
||||
logger.WriteLine(string.Format("NegFehlergrenzeWarm{0}=0,0", fId));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
logger.WriteLine(string.Format("GetriebeImpulse=2,000")); /// 2,000
|
||||
logger.WriteLine(string.Format("OptikAufsetzen=0")); /// 0
|
||||
logger.WriteLine(string.Format("Warm_Kalt=0")); /// 0
|
||||
logger.WriteLine(string.Format("Füllzeit=0")); /// 0
|
||||
logger.WriteLine(string.Format("EvakVorneZeit=0")); /// 0
|
||||
logger.WriteLine(string.Format("EvakHintenZeit={0}", 0)); /// 90
|
||||
logger.WriteLine(string.Format("Spüllzeit={0}", 0)); /// 60
|
||||
logger.WriteLine(string.Format("Spüldurchfluss={0}", 0)); /// 5000,0
|
||||
logger.WriteLine(string.Format("Abpresszeit={0}", 0)); /// 60
|
||||
logger.WriteLine(string.Format("Abpressdruck={0}", 0)); /// 0,0
|
||||
logger.WriteLine(string.Format("Entwässerzeit={0}", 0)); /// 10
|
||||
logger.WriteLine(string.Format("DinA4_Format={0}", 0)); /// 0
|
||||
logger.WriteLine(string.Format("Netzwerk_Format={0}", 0)); /// 0
|
||||
logger.WriteLine(string.Format("Zählernr_Format={0}", 0)); /// 1
|
||||
logger.WriteLine(string.Format("WZ_Gruppe=24")); /// 24 - iPerl
|
||||
logger.WriteLine(string.Format("MittelwertTiefe={0}", 0)); /// 1
|
||||
logger.WriteLine(string.Format("EndKriterium={0}", 0)); /// 0
|
||||
logger.WriteLine(string.Format("Justieren={0}", 1)); /// 1
|
||||
logger.WriteLine(string.Format("Bemerkung=")); ///
|
||||
logger.WriteLine(string.Format("Gesamtprüfzeit={0}", totalTestTime.ToString("F0")));
|
||||
logger.WriteLine(string.Format("Gegenprüfung={0}", 0)); /// 0
|
||||
logger.WriteLine(string.Format("Geändert_von={0}", 6)); /// 4459
|
||||
logger.WriteLine(string.Format("Geändert_am={0:dd.MM.yyyy HH:mm:ss}", DateTime.Now)); /// 29.05.2015 13:46:17
|
||||
|
||||
for (int i = 0; i < batch.WaterMeters.Count; i++)
|
||||
{
|
||||
Results.Entities.WaterMeter wMtr = batch.WaterMeters[i];
|
||||
|
||||
if ((wMtr != null) && (wMtr.ErrorFlags & ((int)ErrorFlagMask.E25 | (int)ErrorFlagMask.E26 | (int)ErrorFlagMask.E27 | (int)ErrorFlagMask.E28)) == 0)
|
||||
else
|
||||
{
|
||||
bool testRsltIsMissing = false;
|
||||
Results.Entities.MeterTestRslt[] wmtrs = new Results.Entities.MeterTestRslt[testInfos.Length];
|
||||
logger.WriteLine(string.Format("Durchfluss{0}=0,0", fId));
|
||||
logger.WriteLine(string.Format("Prüfzeit{0}=0", fId));
|
||||
logger.WriteLine(string.Format("Prüfbereich100_110{0}=0", fId));
|
||||
logger.WriteLine(string.Format("PrüfbereichMin{0}=0", fId));
|
||||
logger.WriteLine(string.Format("PrüfbereichMax{0}=0", fId));
|
||||
logger.WriteLine(string.Format("QBezeichnung{0}=", fId));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
logger.WriteLine(string.Format("GetriebeImpulse=2,000")); /// 2,000
|
||||
logger.WriteLine(string.Format("OptikAufsetzen=0")); /// 0
|
||||
logger.WriteLine(string.Format("Warm_Kalt=0")); /// 0
|
||||
logger.WriteLine(string.Format("Füllzeit=0")); /// 0
|
||||
logger.WriteLine(string.Format("EvakVorneZeit=0")); /// 0
|
||||
logger.WriteLine(string.Format("EvakHintenZeit={0}", 0)); /// 90
|
||||
logger.WriteLine(string.Format("Spüllzeit={0}", 0)); /// 60
|
||||
logger.WriteLine(string.Format("Spüldurchfluss={0}", 0)); /// 5000,0
|
||||
logger.WriteLine(string.Format("Abpresszeit={0}", 0)); /// 60
|
||||
logger.WriteLine(string.Format("Abpressdruck={0}", 0)); /// 0,0
|
||||
logger.WriteLine(string.Format("Entwässerzeit={0}", 0)); /// 10
|
||||
logger.WriteLine(string.Format("DinA4_Format={0}", 0)); /// 0
|
||||
logger.WriteLine(string.Format("Netzwerk_Format={0}", 0)); /// 0
|
||||
logger.WriteLine(string.Format("Zählernr_Format={0}", 0)); /// 1
|
||||
logger.WriteLine(string.Format("WZ_Gruppe=24")); /// 24 - iPerl
|
||||
logger.WriteLine(string.Format("MittelwertTiefe={0}", 0)); /// 1
|
||||
logger.WriteLine(string.Format("EndKriterium={0}", 0)); /// 0
|
||||
logger.WriteLine(string.Format("Justieren={0}", 1)); /// 1
|
||||
logger.WriteLine(string.Format("Bemerkung=")); ///
|
||||
logger.WriteLine(string.Format("Gesamtprüfzeit={0}", totalTestTime.ToString("F0")));
|
||||
logger.WriteLine(string.Format("Gegenprüfung={0}", 0)); /// 0
|
||||
logger.WriteLine(string.Format("Geändert_von={0}", 6)); /// 4459
|
||||
logger.WriteLine(string.Format("Geändert_am={0:dd.MM.yyyy HH:mm:ss}", DateTime.Now)); /// 29.05.2015 13:46:17
|
||||
|
||||
for (int i = 0; i < batch.WaterMeters.Count; i++)
|
||||
{
|
||||
Results.Entities.WaterMeter wMtr = batch.WaterMeters[i];
|
||||
|
||||
if ((wMtr == null) || (wMtr.ErrorFlags & ((int)ErrorFlagMask.E25 | (int)ErrorFlagMask.E26 | (int)ErrorFlagMask.E27 | (int)ErrorFlagMask.E28)) != 0)
|
||||
{
|
||||
logger.WriteLine();
|
||||
logger.WriteLine(string.Format("[Zählerdaten_{0}]", wMtr.WMPosition));
|
||||
logger.WriteLine("geprüft=0");
|
||||
}
|
||||
else
|
||||
{
|
||||
bool testRsltIsMissing = false;
|
||||
Results.Entities.MeterTestRslt[] wmtrs = new Results.Entities.MeterTestRslt[testInfos.Length];
|
||||
for (int j = 0; j < testInfos.Length; j++)
|
||||
{
|
||||
if (testInfos[j].PruefungsNrLog != 0)
|
||||
{
|
||||
wmtrs[j] = wMtr.GetMeterTestRslt(testInfos[j].TestName);
|
||||
if (wmtrs[j] == null) testRsltIsMissing = true; /// Missing test result for one of specified tests
|
||||
}
|
||||
}
|
||||
|
||||
logger.WriteLine();
|
||||
logger.WriteLine(string.Format("[Zählerdaten_{0}]", wMtr.WMPosition));
|
||||
|
||||
if (testRsltIsMissing)
|
||||
{
|
||||
logger.WriteLine("geprüft=0");
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.WriteLine("geprüft=1");
|
||||
logger.WriteLine(string.Format("Zählernummer="));
|
||||
logger.WriteLine(string.Format("FertigsNr={0}", wMtr.SerialNr));
|
||||
logger.WriteLine(string.Format("bestanden={0}", wMtr.Passed ? 1 : 0)); /// 1
|
||||
logger.WriteLine(string.Format("Prüfflag={0}", wMtr.HydrPruefung)); /// 96
|
||||
logger.WriteLine(string.Format("FestWertWZ=0")); /// 0
|
||||
logger.WriteLine(string.Format("Dicht={0}", 1)); /// 1
|
||||
logger.WriteLine(string.Format("PrüfIndex={0}", wMtr.Pruefindex)); /// 7301
|
||||
logger.WriteLine(string.Format("GeprüftIndex=1")); /// 1
|
||||
|
||||
for (int j = 0; j < testInfos.Length; j++)
|
||||
{
|
||||
if (testInfos[j].PruefungsNrLog != 0)
|
||||
{
|
||||
wmtrs[j] = wMtr.GetMeterTestRslt(testInfos[j].TestName);
|
||||
if (wmtrs[j] == null) testRsltIsMissing = true; /// Missing test result for one of specified tests
|
||||
}
|
||||
}
|
||||
Results.Entities.MeterTestRslt mtr = wmtrs[j];
|
||||
string flID = testInfos[j].PruefungsNrLog.ToString("D2");
|
||||
|
||||
logger.WriteLine();
|
||||
logger.WriteLine(string.Format("[Zählerdaten_{0}]", wMtr.WMPosition));
|
||||
|
||||
if (testRsltIsMissing)
|
||||
{
|
||||
logger.WriteLine("geprüft=0");
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.WriteLine("geprüft=1");
|
||||
logger.WriteLine(string.Format("Zählernummer="));
|
||||
logger.WriteLine(string.Format("FertigsNr={0}", wMtr.SerialNr));
|
||||
logger.WriteLine(string.Format("bestanden={0}", wMtr.Passed ? 1 : 0)); /// 1
|
||||
logger.WriteLine(string.Format("Prüfflag={0}", wMtr.HydrPruefung)); /// 96
|
||||
logger.WriteLine(string.Format("FestWertWZ=0")); /// 0
|
||||
logger.WriteLine(string.Format("Dicht={0}", 1)); /// 1
|
||||
logger.WriteLine(string.Format("PrüfIndex={0}", wMtr.Pruefindex)); /// 7301
|
||||
logger.WriteLine(string.Format("GeprüftIndex=1")); /// 1
|
||||
|
||||
for (int j = 0; j < testInfos.Length; j++)
|
||||
{
|
||||
if (testInfos[j].PruefungsNrLog != 0)
|
||||
if (mtr != null)
|
||||
{
|
||||
Results.Entities.MeterTestRslt mtr = wmtrs[j];
|
||||
string flID = testInfos[j].PruefungsNrLog.ToString("D2");
|
||||
|
||||
if (mtr != null)
|
||||
{
|
||||
logger.WriteLine(string.Format("Q{0}bestanden={1}", flID, 1));
|
||||
logger.WriteLine(string.Format("Durchfluss{0}={1}", flID, Utils.DoubleToStr(Units.ConvertTo(Unit.lph, mtr.FlowVolume()), 5, true)));
|
||||
logger.WriteLine(string.Format("Fehler{0}={1}", flID, mtr.Error.ToString(Program.AltCulture)));
|
||||
logger.WriteLine(string.Format("ZeitImpulse{0}={1}", flID, mtr.TestTime.ToString(Program.AltCulture)));
|
||||
logger.WriteLine(string.Format("Impulse{0}={1}", flID, 0));
|
||||
logger.WriteLine(string.Format("Volumen{0}={1}", flID, mtr.VolumeMeter.ToString(Program.AltCulture)));
|
||||
logger.WriteLine(string.Format("KorrFehler{0}={1}", flID, ((testInfos[j].TestName == "Q2") && mtr.WaterMeter.Q2CorrectionDone) ? mtr.WaterMeter.Q2ErrWOCorrection.ToString(Program.AltCulture)
|
||||
: mtr.Error.ToString(Program.AltCulture)));
|
||||
logger.WriteLine(string.Format("KorrDurchfluss{0}={1}", flID, 0));
|
||||
logger.WriteLine(string.Format("Q{0}KorrBestanden={1}", flID, 0));
|
||||
logger.WriteLine(string.Format("Anfangsstand{0}={1}", flID, 0)); /// TODO
|
||||
logger.WriteLine(string.Format("Endstand{0}={1}", flID, 0)); /// TODO
|
||||
logger.WriteLine(string.Format("QMittelwert{0}={1}", flID, Utils.DoubleToStr(Units.ConvertTo(Unit.lph, mtr.FlowVolume()), 5, true)));
|
||||
logger.WriteLine(string.Format("QStandardAbweichung{0}={1}", flID, 0));
|
||||
logger.WriteLine(string.Format("ImpedanzMittelwert{0}={1}", flID, "0,00000"));
|
||||
logger.WriteLine(string.Format("AusfallGrund{0}={1}", flID, 0));
|
||||
}
|
||||
logger.WriteLine(string.Format("Q{0}bestanden={1}", flID, 1));
|
||||
logger.WriteLine(string.Format("Durchfluss{0}={1}", flID, Utils.DoubleToStr(Units.ConvertTo(Unit.lph, mtr.FlowVolume()), 5, true)));
|
||||
logger.WriteLine(string.Format("Fehler{0}={1}", flID, mtr.Error.ToString(Program.AltCulture)));
|
||||
logger.WriteLine(string.Format("ZeitImpulse{0}={1}", flID, mtr.TestTime.ToString(Program.AltCulture)));
|
||||
logger.WriteLine(string.Format("Impulse{0}={1}", flID, 0));
|
||||
logger.WriteLine(string.Format("Volumen{0}={1}", flID, mtr.VolumeMeter.ToString(Program.AltCulture)));
|
||||
logger.WriteLine(string.Format("KorrFehler{0}={1}", flID, ((testInfos[j].TestName == "Q2") && mtr.WaterMeter.Q2CorrectionDone) ? mtr.WaterMeter.Q2ErrWOCorrection.ToString(Program.AltCulture)
|
||||
: mtr.Error.ToString(Program.AltCulture)));
|
||||
logger.WriteLine(string.Format("KorrDurchfluss{0}={1}", flID, 0));
|
||||
logger.WriteLine(string.Format("Q{0}KorrBestanden={1}", flID, 0));
|
||||
logger.WriteLine(string.Format("Anfangsstand{0}={1}", flID, 0)); /// TODO
|
||||
logger.WriteLine(string.Format("Endstand{0}={1}", flID, 0)); /// TODO
|
||||
logger.WriteLine(string.Format("QMittelwert{0}={1}", flID, Utils.DoubleToStr(Units.ConvertTo(Unit.lph, mtr.FlowVolume()), 5, true)));
|
||||
logger.WriteLine(string.Format("QStandardAbweichung{0}={1}", flID, 0));
|
||||
logger.WriteLine(string.Format("ImpedanzMittelwert{0}={1}", flID, "0,00000"));
|
||||
logger.WriteLine(string.Format("AusfallGrund{0}={1}", flID, 0));
|
||||
}
|
||||
}
|
||||
|
||||
logger.WriteLine(string.Format("AusfallGrundGesamt={0}", 0));
|
||||
logger.WriteLine(string.Format("AuftragNum={0}", wMtr.PurchaseOrder));
|
||||
logger.WriteLine(string.Format("MaterialNum={0}", 38140500));
|
||||
logger.WriteLine(string.Format("Prefix={0}", "8SEN01"));
|
||||
logger.WriteLine(string.Format("Suffix="));
|
||||
logger.WriteLine(string.Format("Palette={0}", 0));
|
||||
logger.WriteLine(string.Format("Umkarton={0}", 0));
|
||||
logger.WriteLine(string.Format("ZNr_komplett="));
|
||||
logger.WriteLine(string.Format("OptikBewertung=0,00000"));
|
||||
logger.WriteLine(string.Format("IdProduziert={0}", 0));
|
||||
logger.WriteLine(string.Format("Calibration_alt={0}", wMtr.OrigCalibFactor));
|
||||
logger.WriteLine(string.Format("Calibration={0}", wMtr.CalibFactor));
|
||||
logger.WriteLine(string.Format("Firmware={0}", wMtr.FWVersion)); /// 5.066
|
||||
logger.WriteLine(string.Format("FlexFlowFehler={0}", 0)); /// 0
|
||||
logger.WriteLine(string.Format("FlexFlowAuftrag={0}", 0)); /// 4248189
|
||||
logger.WriteLine(string.Format("JustierWert=0,2")); /// 0,2
|
||||
logger.WriteLine(string.Format("Corrected2Hz={0}", wMtr.Hz2CorrectionDone ? 1 : 0));
|
||||
logger.WriteLine(string.Format("Q2Corrected={0}", wMtr.Q2CorrectionDone ? 1 : 0));
|
||||
logger.WriteLine(string.Format("Q2CorrectionRight={0}", wMtr.Q2CorrLR));
|
||||
logger.WriteLine(string.Format("Q2CorrectionLeft={0}", wMtr.Q2CorrRL));
|
||||
logger.WriteLine(string.Format("Q2CorrectionFlowRight={0}", wMtr.Q2CorrFlowRight));
|
||||
logger.WriteLine(string.Format("FlowDirectionRight={0}", wMtr.Q2CorrFlowRight));
|
||||
logger.WriteLine(string.Format("Position={0}", wMtr.WMPosition));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
logger.WriteLine();
|
||||
logger.WriteLine("[Prüfdaten]");
|
||||
///
|
||||
logger.WriteLine(string.Format("Startzeit={0}", batch.StartTime.ToString("HH:mm:ss")));
|
||||
logger.WriteLine(string.Format("Endezeit={0}", batch.EndTime.ToString("HH:mm:ss")));
|
||||
logger.WriteLine(string.Format("Datum={0}", batch.StartTime.ToString("dd.MM.yyyy")));
|
||||
logger.WriteLine(string.Format("GesamtDauer={0}", batch.EndTime.Subtract(batch.StartTime).TotalSeconds));
|
||||
logger.WriteLine(string.Format("Dichtprüfung={0}", 0)); /// 1
|
||||
|
||||
|
||||
foreach (var cti in testInfos)
|
||||
{
|
||||
if (cti.PruefungsNrLog != 0)
|
||||
{
|
||||
string pNrStr = cti.PruefungsNrLog.ToString("D2");
|
||||
Results.Entities.TestRslt tr = wm0.GetTestRslt(cti.TestName);
|
||||
|
||||
if (tr != null)
|
||||
{
|
||||
logger.WriteLine(string.Format("Q{0}_geprüft=1", pNrStr));
|
||||
WriteOneToDisk(logger, pNrStr, tr);
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.WriteLine(string.Format("Q{0}_geprüft=0", pNrStr));
|
||||
}
|
||||
}
|
||||
|
||||
logger.WriteLine(string.Format("AusfallGrundGesamt={0}", 0));
|
||||
logger.WriteLine(string.Format("AuftragNum={0}", wMtr.PurchaseOrder));
|
||||
logger.WriteLine(string.Format("MaterialNum={0}", 38140500));
|
||||
logger.WriteLine(string.Format("Prefix={0}", "8SEN01"));
|
||||
logger.WriteLine(string.Format("Suffix="));
|
||||
logger.WriteLine(string.Format("Palette={0}", 0));
|
||||
logger.WriteLine(string.Format("Umkarton={0}", 0));
|
||||
logger.WriteLine(string.Format("ZNr_komplett="));
|
||||
logger.WriteLine(string.Format("OptikBewertung=0,00000"));
|
||||
logger.WriteLine(string.Format("IdProduziert={0}", 0));
|
||||
logger.WriteLine(string.Format("Calibration_alt={0}", wMtr.OrigCalibFactor));
|
||||
logger.WriteLine(string.Format("Calibration={0}", wMtr.CalibFactor));
|
||||
logger.WriteLine(string.Format("Firmware={0}", wMtr.FWVersion)); /// 5.066
|
||||
logger.WriteLine(string.Format("FlexFlowFehler={0}", 0)); /// 0
|
||||
logger.WriteLine(string.Format("FlexFlowAuftrag={0}", 0)); /// 4248189
|
||||
logger.WriteLine(string.Format("JustierWert=0,2")); /// 0,2
|
||||
logger.WriteLine(string.Format("Corrected2Hz={0}", wMtr.Hz2CorrectionDone ? 1 : 0));
|
||||
logger.WriteLine(string.Format("Q2Corrected={0}", wMtr.Q2CorrectionDone ? 1 : 0));
|
||||
logger.WriteLine(string.Format("Q2CorrectionRight={0}", wMtr.Q2CorrLR));
|
||||
logger.WriteLine(string.Format("Q2CorrectionLeft={0}", wMtr.Q2CorrRL));
|
||||
logger.WriteLine(string.Format("Q2CorrectionFlowRight={0}", wMtr.Q2CorrFlowRight));
|
||||
logger.WriteLine(string.Format("FlowDirectionRight={0}", wMtr.Q2CorrFlowRight));
|
||||
logger.WriteLine(string.Format("Position={0}", wMtr.WMPosition));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
logger.WriteLine(string.Format("FüllenDruck={0}", 0)); /// 0,00
|
||||
logger.WriteLine(string.Format("EvakVorneDruck={0}", 0)); /// 0,00
|
||||
logger.WriteLine(string.Format("EvakHintenDruck={0}", 0)); /// -1,00
|
||||
logger.WriteLine(string.Format("Spüldurchfluss={0}", 0)); /// 4722,00
|
||||
logger.WriteLine(string.Format("AbpressDruck={0}", 0)); /// 20,13
|
||||
logger.WriteLine(string.Format("AbpressDruckVorne={0}", 0)); /// 20,16
|
||||
logger.WriteLine(string.Format("AbpressDruckBeginn={0}", 0)); /// 0,00
|
||||
logger.WriteLine(string.Format("EntwässernDruck={0}", 0)); /// -1,00
|
||||
logger.WriteLine(string.Format("ZaehlwerktestAnfang={0}", 0)); /// 0,00000
|
||||
logger.WriteLine(string.Format("ZaehlwerktestEnde={0}", 0)); /// 0,00000
|
||||
logger.WriteLine(string.Format("ZaehlwerktestImpulse={0}", 0)); /// 0
|
||||
logger.WriteLine(string.Format("MeldungZaehler={0}", 0)); /// 0
|
||||
logger.WriteLine();
|
||||
logger.WriteLine("[Prüfdaten]");
|
||||
///
|
||||
logger.WriteLine(string.Format("Startzeit={0}", batch.StartTime.ToString("HH:mm:ss")));
|
||||
logger.WriteLine(string.Format("Endezeit={0}", batch.EndTime.ToString("HH:mm:ss")));
|
||||
logger.WriteLine(string.Format("Datum={0}", batch.StartTime.ToString("dd.MM.yyyy")));
|
||||
logger.WriteLine(string.Format("GesamtDauer={0}", batch.EndTime.Subtract(batch.StartTime).TotalSeconds));
|
||||
logger.WriteLine(string.Format("Dichtprüfung={0}", 0)); /// 1
|
||||
|
||||
|
||||
logger.WriteLine();
|
||||
logger.WriteLine("[allgemein]");
|
||||
///
|
||||
logger.WriteLine(string.Format("Prüfer={0}", batch.UserName));
|
||||
logger.WriteLine(string.Format("PrüferID={0}", batch.UserNumber));
|
||||
logger.WriteLine(string.Format("AuftragKompakt={0}", 0)); /// 4248189
|
||||
logger.WriteLine(string.Format("VariantenCode={0}", "IP")); /// IPRO04CMECAZDKAMMXB1AA2011201101AEUAA1XX314NM1XXXLX
|
||||
logger.WriteLine(string.Format("SollStückzahl={0}", 3)); /// 1000
|
||||
logger.WriteLine(string.Format("IstStückzahl={0}", 3)); /// 61
|
||||
logger.WriteLine(string.Format("Bemerkung=§")); /// §
|
||||
logger.WriteLine(string.Format("BetriebsArt={0}", 3)); /// C
|
||||
logger.WriteLine(string.Format("BuchstabenVorEtikett=8SEN01")); /// 8SEN01
|
||||
logger.WriteLine(string.Format("BuchstabenNachEtikett=")); ///
|
||||
logger.WriteLine(string.Format("StehenderStartStop={0}", 0)); /// 0
|
||||
logger.WriteLine(string.Format("ID_WzPruefreihe={0}", batch.BatchNr)); /// 2583
|
||||
logger.WriteLine(string.Format("ID_Pruefstand={0}", 18000 + batch.TestBenchId)); /// 18004
|
||||
logger.WriteLine(string.Format("DichteKorrektur=0,00000")); /// 0,00000
|
||||
logger.WriteLine(string.Format("LuftauftriebsKorrekturfaktor=1,00000")); /// 1,00100
|
||||
logger.WriteLine(string.Format("ProgrammVersion={0}", Program.Version));
|
||||
logger.WriteLine(string.Format("LetzteAenderung={0}", Program.BuildDateTime.ToShortDateString()));
|
||||
logger.WriteLine(string.Format("QuarzTakt={0}", 0)); /// 1953,125
|
||||
|
||||
/// Close the file
|
||||
logger.Close();
|
||||
logger = null;
|
||||
}
|
||||
catch (Exception exc)
|
||||
foreach (var cti in testInfos)
|
||||
{
|
||||
log.ErrorFormat("Results not saved to disk: {0}", exc.Message);
|
||||
return Retv.Error;
|
||||
if (cti.PruefungsNrLog != 0)
|
||||
{
|
||||
string pNrStr = cti.PruefungsNrLog.ToString("D2");
|
||||
Results.Entities.TestRslt tr = wm0.GetTestRslt(cti.TestName);
|
||||
|
||||
if (tr != null)
|
||||
{
|
||||
logger.WriteLine(string.Format("Q{0}_geprüft=1", pNrStr));
|
||||
WriteOneToDisk(logger, pNrStr, tr);
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.WriteLine(string.Format("Q{0}_geprüft=0", pNrStr));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
logger.WriteLine(string.Format("FüllenDruck={0}", 0)); /// 0,00
|
||||
logger.WriteLine(string.Format("EvakVorneDruck={0}", 0)); /// 0,00
|
||||
logger.WriteLine(string.Format("EvakHintenDruck={0}", 0)); /// -1,00
|
||||
logger.WriteLine(string.Format("Spüldurchfluss={0}", 0)); /// 4722,00
|
||||
logger.WriteLine(string.Format("AbpressDruck={0}", 0)); /// 20,13
|
||||
logger.WriteLine(string.Format("AbpressDruckVorne={0}", 0)); /// 20,16
|
||||
logger.WriteLine(string.Format("AbpressDruckBeginn={0}", 0)); /// 0,00
|
||||
logger.WriteLine(string.Format("EntwässernDruck={0}", 0)); /// -1,00
|
||||
logger.WriteLine(string.Format("ZaehlwerktestAnfang={0}", 0)); /// 0,00000
|
||||
logger.WriteLine(string.Format("ZaehlwerktestEnde={0}", 0)); /// 0,00000
|
||||
logger.WriteLine(string.Format("ZaehlwerktestImpulse={0}", 0)); /// 0
|
||||
logger.WriteLine(string.Format("MeldungZaehler={0}", 0)); /// 0
|
||||
|
||||
|
||||
logger.WriteLine();
|
||||
logger.WriteLine("[allgemein]");
|
||||
///
|
||||
logger.WriteLine(string.Format("Prüfer={0}", batch.UserName));
|
||||
logger.WriteLine(string.Format("PrüferID={0}", batch.UserNumber));
|
||||
logger.WriteLine(string.Format("AuftragKompakt={0}", 0)); /// 4248189
|
||||
logger.WriteLine(string.Format("VariantenCode={0}", "IP")); /// IPRO04CMECAZDKAMMXB1AA2011201101AEUAA1XX314NM1XXXLX
|
||||
logger.WriteLine(string.Format("SollStückzahl={0}", 3)); /// 1000
|
||||
logger.WriteLine(string.Format("IstStückzahl={0}", 3)); /// 61
|
||||
logger.WriteLine(string.Format("Bemerkung=§")); /// §
|
||||
logger.WriteLine(string.Format("BetriebsArt={0}", 3)); /// C
|
||||
logger.WriteLine(string.Format("BuchstabenVorEtikett=8SEN01")); /// 8SEN01
|
||||
logger.WriteLine(string.Format("BuchstabenNachEtikett=")); ///
|
||||
logger.WriteLine(string.Format("StehenderStartStop={0}", 0)); /// 0
|
||||
logger.WriteLine(string.Format("ID_WzPruefreihe={0}", batch.BatchNr)); /// 2583
|
||||
logger.WriteLine(string.Format("ID_Pruefstand={0}", 18000 + batch.TestBenchId)); /// 18004
|
||||
logger.WriteLine(string.Format("DichteKorrektur=0,00000")); /// 0,00000
|
||||
logger.WriteLine(string.Format("LuftauftriebsKorrekturfaktor=1,00000")); /// 1,00100
|
||||
logger.WriteLine(string.Format("ProgrammVersion={0}", Program.Version));
|
||||
logger.WriteLine(string.Format("LetzteAenderung={0}", Program.BuildDateTime.ToShortDateString()));
|
||||
logger.WriteLine(string.Format("QuarzTakt={0}", 0)); /// 1953,125
|
||||
#endif
|
||||
return Retv.OK; /// OK
|
||||
}
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2015-2018 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2015-2019 Sensus Slovensko a.s.
|
||||
///
|
||||
//#define VERIFY_ACTIVE_MODE
|
||||
//#define VERIFY_Q2_CORR_RESET
|
||||
@ -37,7 +37,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
CmdTest, /// B = 11
|
||||
Verify, /// C = 12
|
||||
WrongIPerlType, /// D = 13
|
||||
CalibFactorOoRange, /// E = 14
|
||||
OutOfRange, /// E = 14
|
||||
MissingTest, /// F = 15
|
||||
RFPowerRecordMissing, /// 10H = 16
|
||||
HeadDisabledByUser, /// 11H = 17
|
||||
@ -264,11 +264,14 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
public const string NormalizeCalibrationV4FactorsStr = "Normalize calibration_V4";
|
||||
public const string ReadQ2CorrectionStr = "Read Q2 corrections";
|
||||
public const string ResetQ2CorrectionStr = "Reset Q2 correction";
|
||||
public const string WriteQ2CorrectionStr = "Write Q2 correction";
|
||||
public const string WriteQ2CorrectionAltStr = "Write Q2 correction Alt";
|
||||
public const string WriteQ2CorrectionGreeceStr = "Write Q2 correction Greece";
|
||||
public const string WriteQ2CorrectionRLStr = "Write Q2 correction R-L";
|
||||
public const string WriteQ2CorrectionLRStr = "Write Q2 correction L-R";
|
||||
public const string InitOrReadQ2CorrectionStr = "Init or read Q2 corrections";
|
||||
public const string WriteQ2CorrectionStr = "Write Q2 correction"; /// No arguments
|
||||
public const string WriteQ2CorrectionAltStr = "Write Q2 correction Alt"; /// No arguments
|
||||
public const string WriteQ2CorrectionGreeceStr = "Write Q2 correction Greece"; /// Arguments: test_name
|
||||
public const string WriteQ2CorrectionRLStr = "Write Q2 correction R-L"; /// Arguments: test_name
|
||||
public const string WriteQ2CorrectionLRStr = "Write Q2 correction L-R"; /// Arguments: test_name
|
||||
public const string UpdateQ2CorrectionsStr = "Update Q2 corrections"; /// Arguments: R-L_test_name L-R_test_name
|
||||
public const string ConditnlUpdateQ2CorrectionsStr = "Conditional update of Q2 corrections"; /// Arguments: R-L_test_name L-R_test_name
|
||||
public const string Reset2HzCorrectionStr = "Reset 2Hz correction";
|
||||
public const string Write2HzCorrectionStr = "Write 2Hz correction";
|
||||
|
||||
@ -350,20 +353,8 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
/// </summary>
|
||||
/// <param name="waterMetersCount">Number of text boxes for serial numbers</param>
|
||||
public iPerlCommunicationForm(TestMethodCfg cfg, Test test, iPerlCommunicationParams testParams)
|
||||
: this()
|
||||
: this(cfg, new List<Test> { test }, new List<iPerlCommunicationParams> { testParams })
|
||||
{
|
||||
checkBoxesEditMode = false;
|
||||
|
||||
iPerlCommunicationForm.cfg = cfg;
|
||||
iPerlCommunicationForm.tests = new List<Test>();
|
||||
iPerlCommunicationForm.tests.Add(test);
|
||||
iPerlCommunicationForm.multiTestParams = new List<iPerlCommunicationParams>();
|
||||
iPerlCommunicationForm.multiTestParams.Add(testParams);
|
||||
|
||||
ProcessData.RegisterReaders = StateMachine.GetMetersPath(test).RegisterReaders;
|
||||
activityLabel.Text = testParams.Activity;
|
||||
|
||||
ConstructorCommon();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -592,6 +583,14 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
{
|
||||
Text = Strings.Water_Meter_States;
|
||||
saveButton.Text = Strings.Save;
|
||||
|
||||
sampleLabel1.Text = Strings.Direction_and_pulses_are_OK;
|
||||
sampleLabel2.Text = Strings.There_are_no_opto_pulses;
|
||||
sampleLabel3.Text = Strings.Direction_is_NOK;
|
||||
|
||||
samplePictureBox1.BackColor = OptoAndDirOKColor;
|
||||
samplePictureBox2.BackColor = OptoNokColor;
|
||||
samplePictureBox3.BackColor = DirNokColor;
|
||||
}
|
||||
|
||||
|
||||
@ -709,18 +708,18 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
|
||||
for (int i = 0; i < multiTestParams.Count; i++ )
|
||||
{
|
||||
iPerlCommunicationParams testParams = multiTestParams[i];
|
||||
Test currentTest = tests[i];
|
||||
iPerlCommunicationParams currentTestParams = multiTestParams[i];
|
||||
string currentActivity = currentTestParams.Activity; /// Current activity
|
||||
|
||||
TBF.UiBridge.TestProgressEventArgs.SetEstimatedTimes(new int[] { 0, 0, 10, 0, 140, 0, 0, 0 });
|
||||
TBF.UiBridge.Bridge.OnTestProgress(null, new TBF.UiBridge.TestProgressEventArgs(tests[i], Config.Entities.Progress.JustStarted));
|
||||
|
||||
string activity = testParams.Activity; /// Current activity
|
||||
|
||||
|
||||
if (threadID == 0)
|
||||
{
|
||||
rfidDataLogger.InfoFormat(""); /// Makes the log more readable when there is a lot of data
|
||||
rfidDataLogger.WarnFormat("Activity = {0}", activity);
|
||||
rfidDataLogger.WarnFormat("Activity = {0}", currentActivity);
|
||||
rfidDataLogger.InfoFormat(""); /// Makes the log more readable when there is a lot of data
|
||||
}
|
||||
|
||||
@ -758,25 +757,30 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
///
|
||||
/// RFID communication activity call
|
||||
///
|
||||
if (ihead.Disabled || !ckbState[wmNr0]) error = CommErr.HeadDisabledByUser;
|
||||
else if (activity.ToLower().Contains(ReadConfigurationStr.ToLower())) error = ReadConfiguration(threadID, ihead, wm, ref resultStr);
|
||||
else if (activity.ToLower().Contains(SetTestModeStr.ToLower())) error = SetTestMode(threadID, ihead, wm, ref resultStr);
|
||||
else if (activity.ToLower().Equals(SetActiveModeStr.ToLower())) error = SetActiveMode(threadID, ihead, wm, ref resultStr);
|
||||
else if (activity.ToLower().Equals(ReadCalibrationStr.ToLower())) error = ReadCalibration(threadID, ihead, wm, ref resultStr);
|
||||
else if (activity.ToLower().Equals(ReadCalibrationV4Str.ToLower())) error = ReadCalibrationV4(threadID, ihead, wm, ref resultStr);
|
||||
else if (activity.ToLower().Contains(WriteCalibrationFactorStr.ToLower())) error = WriteCalibrationFactor(threadID, ihead, wm, ref resultStr);
|
||||
else if (activity.ToLower().Contains(WriteCalibrationV4FactorsStr.ToLower())) error = WriteCalibrationV4Factors(threadID, ihead, wm, ref resultStr);
|
||||
else if (activity.ToLower().Equals(NormalizeCalibrationFactorStr.ToLower())) error = NormalizeCalibrationFactor(threadID, ihead, wm, ref resultStr);
|
||||
else if (activity.ToLower().Equals(NormalizeCalibrationV4FactorsStr.ToLower())) error = NormalizeCalibrationV4Factors(threadID, ihead, wm, ref resultStr);
|
||||
else if (activity.ToLower().Equals(ResetQ2CorrectionStr.ToLower())) error = ResetQ2Correction(threadID, ihead, wm, ref resultStr);
|
||||
else if (activity.ToLower().Equals(WriteQ2CorrectionStr.ToLower())) error = WriteQ2Correction(threadID, ihead, wm, ref resultStr, Q2CorrType.Standard, null, false);
|
||||
else if (activity.ToLower().Equals(WriteQ2CorrectionAltStr.ToLower())) error = WriteQ2Correction(threadID, ihead, wm, ref resultStr, Q2CorrType.Dewa, null, false);
|
||||
else if (activity.ToLower().Contains(WriteQ2CorrectionGreeceStr.ToLower())) error = WriteQ2Correction(threadID, ihead, wm, ref resultStr, Q2CorrType.Greece, activity.Substring(WriteQ2CorrectionGreeceStr.Length).Trim(), true);
|
||||
else if (activity.ToLower().Contains(WriteQ2CorrectionRLStr.ToLower())) error = WriteQ2Correction(threadID, ihead, wm, ref resultStr, Q2CorrType.RL, activity.Substring(WriteQ2CorrectionRLStr.Length).Trim(), true);
|
||||
else if (activity.ToLower().Contains(WriteQ2CorrectionLRStr.ToLower())) error = WriteQ2Correction(threadID, ihead, wm, ref resultStr, Q2CorrType.LR, activity.Substring(WriteQ2CorrectionLRStr.Length).Trim(), true);
|
||||
else if (activity.ToLower().Equals(ReadQ2CorrectionStr.ToLower())) error = ReadQ2Correction(threadID, ihead, wm, ref resultStr);
|
||||
else if (activity.ToLower().Equals(Reset2HzCorrectionStr.ToLower())) error = Reset2HzCorrection(threadID, ihead, wm, ref resultStr);
|
||||
else if (activity.ToLower().Equals(Write2HzCorrectionStr.ToLower())) error = Write2HzCorrection(threadID, ihead, wm, ref resultStr);
|
||||
if (ihead.Disabled || !ckbState[wmNr0]) error = CommErr.HeadDisabledByUser;
|
||||
#if IPERL
|
||||
else if (currentActivity.ToLower().Contains(ReadConfigurationStr.ToLower())) error = ReadConfiguration(threadID, ihead, wm, ref resultStr);
|
||||
else if (currentActivity.ToLower().Contains(SetTestModeStr.ToLower())) error = SetTestMode(threadID, ihead, wm, ref resultStr);
|
||||
else if (currentActivity.ToLower().Equals(SetActiveModeStr.ToLower())) error = SetActiveMode(threadID, ihead, wm, ref resultStr);
|
||||
else if (currentActivity.ToLower().Equals(ReadCalibrationStr.ToLower())) error = ReadCalibration(threadID, ihead, wm, ref resultStr);
|
||||
else if (currentActivity.ToLower().Equals(ReadCalibrationV4Str.ToLower())) error = ReadCalibrationV4(threadID, ihead, wm, ref resultStr);
|
||||
else if (currentActivity.ToLower().Contains(WriteCalibrationFactorStr.ToLower())) error = WriteCalibrationFactor(threadID, ihead, wm, ref resultStr);
|
||||
else if (currentActivity.ToLower().Contains(WriteCalibrationV4FactorsStr.ToLower())) error = WriteCalibrationV4Factors(threadID, ihead, wm, ref resultStr);
|
||||
else if (currentActivity.ToLower().Equals(NormalizeCalibrationFactorStr.ToLower())) error = NormalizeCalibrationFactor(threadID, ihead, wm, ref resultStr);
|
||||
else if (currentActivity.ToLower().Equals(NormalizeCalibrationV4FactorsStr.ToLower())) error = NormalizeCalibrationV4Factors(threadID, ihead, wm, ref resultStr);
|
||||
else if (currentActivity.ToLower().Equals(ReadQ2CorrectionStr.ToLower())) error = ReadQ2Correction(threadID, ihead, wm, ref resultStr);
|
||||
else if (currentActivity.ToLower().Equals(ResetQ2CorrectionStr.ToLower())) error = ResetQ2Correction(threadID, ihead, wm, ref resultStr);
|
||||
else if (currentActivity.ToLower().Equals(InitOrReadQ2CorrectionStr.ToLower())) error = InitOrReadQ2Correction(threadID, ihead, wm, ref resultStr);
|
||||
else if (currentActivity.ToLower().Equals(WriteQ2CorrectionStr.ToLower())) error = WriteQ2Correction(threadID, ihead, wm, currentTest, ref resultStr, Q2CorrType.Standard, null, false);
|
||||
else if (currentActivity.ToLower().Equals(WriteQ2CorrectionAltStr.ToLower())) error = WriteQ2Correction(threadID, ihead, wm, currentTest, ref resultStr, Q2CorrType.Dewa, null, false);
|
||||
else if (currentActivity.ToLower().Contains(WriteQ2CorrectionGreeceStr.ToLower())) error = WriteQ2Correction(threadID, ihead, wm, currentTest, ref resultStr, Q2CorrType.Greece, currentActivity.Substring(WriteQ2CorrectionGreeceStr.Length).Trim(), true);
|
||||
else if (currentActivity.ToLower().Contains(WriteQ2CorrectionRLStr.ToLower())) error = WriteQ2Correction(threadID, ihead, wm, currentTest, ref resultStr, Q2CorrType.RL, currentActivity.Substring(WriteQ2CorrectionRLStr.Length).Trim(), true);
|
||||
else if (currentActivity.ToLower().Contains(WriteQ2CorrectionLRStr.ToLower())) error = WriteQ2Correction(threadID, ihead, wm, currentTest, ref resultStr, Q2CorrType.LR, currentActivity.Substring(WriteQ2CorrectionLRStr.Length).Trim(), true);
|
||||
else if (currentActivity.ToLower().Contains(UpdateQ2CorrectionsStr.ToLower())) error = WriteQ2Correction(threadID, ihead, wm, currentTest, ref resultStr, Q2CorrType.Update, currentActivity.Substring(UpdateQ2CorrectionsStr.Length).Trim(), true);
|
||||
else if (currentActivity.ToLower().Contains(ConditnlUpdateQ2CorrectionsStr.ToLower())) error = WriteQ2Correction(threadID, ihead, wm, currentTest, ref resultStr, Q2CorrType.ConditionalUpdate, currentActivity.Substring(ConditnlUpdateQ2CorrectionsStr.Length).Trim(), true);
|
||||
else if (currentActivity.ToLower().Equals(Reset2HzCorrectionStr.ToLower())) error = Reset2HzCorrection(threadID, ihead, wm, ref resultStr);
|
||||
else if (currentActivity.ToLower().Equals(Write2HzCorrectionStr.ToLower())) error = Write2HzCorrection(threadID, ihead, wm, ref resultStr);
|
||||
#endif
|
||||
else
|
||||
{
|
||||
error = CommErr.None;
|
||||
@ -810,7 +814,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
wm.ResultCode |= (((int)error << 16) | ((int)tests[i].ItemNr << 20));
|
||||
}
|
||||
|
||||
string failureCauseLocal = string.Format(Strings.failed_0_1_exclamation, activity, error);
|
||||
string failureCauseLocal = string.Format(Strings.failed_0_1_exclamation, currentActivity, error);
|
||||
OnCommCompleted(null, new CommCompletedEventArgs(threadID, wmNr0, ihead, wm, failureCauseLocal, error));
|
||||
rfidDataLogger.ErrorFormat("Group={0}, Board={1}, {2}", currentGroup, ihead.MuxBoardNrOrGroup14, failureCauseLocal);
|
||||
ihead.CommFailed = true;
|
||||
@ -1228,7 +1232,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
newCalibFactor = ihead.CalculateNewCalibFactor(ihead.LastTestResult, ihead.CalibFactor, ihead.FactorLimitLo, ihead.FactorLimitHi);
|
||||
}
|
||||
|
||||
if (newCalibFactor == 0) return CommErr.CalibFactorOoRange;
|
||||
if (newCalibFactor == 0) return CommErr.OutOfRange;
|
||||
|
||||
///
|
||||
/// Start communication with iPerl
|
||||
@ -1396,7 +1400,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
return CommErr.WrongArguments;
|
||||
}
|
||||
|
||||
if (newCalibFactor == 0 || newCalibFactorLNA == 0) return CommErr.CalibFactorOoRange;
|
||||
if (newCalibFactor == 0 || newCalibFactorLNA == 0) return CommErr.OutOfRange;
|
||||
|
||||
///
|
||||
/// Start communication with iPerl
|
||||
@ -1488,6 +1492,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
return avgTestRslt;
|
||||
}
|
||||
|
||||
#if IPERL
|
||||
|
||||
/// <summary>
|
||||
/// Normalize calibration factor in case ti is close to value 8000.
|
||||
@ -1665,13 +1670,14 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
resultStr = "Q2 corrections successfully read";
|
||||
ihead.Q2CorrLR = (int)((SByte)rdData[0]);
|
||||
ihead.Q2CorrRL = (int)((SByte)rdData[1]);
|
||||
#if IPERL
|
||||
ihead.Q2CorrectionDone = (ihead.Q2CorrRL != 0) || (ihead.Q2CorrLR != 0);
|
||||
|
||||
if (wm != null)
|
||||
{
|
||||
wm.Q2CorrLR = ihead.Q2CorrLR;
|
||||
wm.Q2CorrRL = ihead.Q2CorrRL;
|
||||
wm.Q2CorrectionDone = ihead.Q2CorrectionDone;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
ClosePort(threadId, ihead); /// Close RFID port
|
||||
@ -1688,6 +1694,18 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
/// <param name="resultStr">String passed to caller</param>
|
||||
/// <returns>true on success</returns>
|
||||
static CommErr ResetQ2Correction(int threadId, IperlHead ihead, Results.Entities.WaterMeter wm, ref string resultStr)
|
||||
{
|
||||
return SetQ2Correction(threadId, ihead, wm, ref resultStr, 0, 0);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Reset both Q2 correction factors in the memory to 0.
|
||||
/// Read them back to verify factors were written correctly.
|
||||
/// </summary>
|
||||
/// <param name="ihead">Water meter object</param>
|
||||
/// <param name="resultStr">String passed to caller</param>
|
||||
/// <returns>true on success</returns>
|
||||
static CommErr SetQ2Correction(int threadId, IperlHead ihead, Results.Entities.WaterMeter wm, ref string resultStr, int factorLR, int factorRL)
|
||||
{
|
||||
if (ihead.CommFailed) return CommErr.CommFailed;
|
||||
|
||||
@ -1696,13 +1714,24 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
CommErr error = CommErr.Write;
|
||||
|
||||
/// Write zero Q2 correction
|
||||
byte[] wrData = new byte[2] { 0, 0 };
|
||||
byte[] wrData = new byte[2] { (byte)factorLR, (byte)factorRL };
|
||||
///
|
||||
for (int j = 0; j < cfg.MaxCommRetries; j++)
|
||||
{
|
||||
if (0 == WriteRequestPort(threadId, ihead, MessageID.MetrologyMemory, Q2CorrFactorsAddr, wrData.Length, wrData, cfg.CommTimeout))
|
||||
{
|
||||
error = CommErr.None;
|
||||
ihead.Q2CorrRL = factorRL;
|
||||
ihead.Q2CorrLR = factorLR;
|
||||
ihead.Q2CorrectionDone = (factorRL != 0) || (factorLR != 0);
|
||||
|
||||
if (wm != null)
|
||||
{
|
||||
wm.Q2CorrRL = ihead.Q2CorrRL;
|
||||
wm.Q2CorrLR = ihead.Q2CorrLR;
|
||||
wm.Q2CorrectionDone = ihead.Q2CorrectionDone;
|
||||
}
|
||||
|
||||
error = CommErr.None;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1744,6 +1773,21 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
}
|
||||
|
||||
|
||||
static CommErr InitOrReadQ2Correction(int threadId, IperlHead ihead, Results.Entities.WaterMeter wm, ref string resultStr)
|
||||
{
|
||||
if (ihead.CommFailed) return CommErr.CommFailed;
|
||||
|
||||
if (wm.Pruefindex == 1)
|
||||
{
|
||||
return SetQ2Correction(threadId, ihead, wm, ref resultStr, ihead.InitQ2CorrLR, ihead.InitQ2CorrRL);
|
||||
}
|
||||
else
|
||||
{
|
||||
return ReadQ2Correction(threadId, ihead, wm, ref resultStr);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Reset 2Hz correction factor in the memory to 0.
|
||||
/// </summary>
|
||||
@ -1810,42 +1854,56 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
/// <summary>
|
||||
/// Write the calculated Q2 correction factors to the memory.
|
||||
/// Read them back to verify factors were written correctly.
|
||||
///
|
||||
/// Write Q2 correction
|
||||
/// Write Q2 correction Alt
|
||||
/// Write Q2 correction [Greece | R-L | L-R] testname
|
||||
/// Update Q2 corrections
|
||||
/// Conditional update of Q2 corrections
|
||||
/// </summary>
|
||||
/// <param name="ihead">Water meter object</param>
|
||||
/// <param name="resultStr">String passed to caller</param>
|
||||
/// <returns>true on success</returns>
|
||||
static CommErr WriteQ2Correction(int threadId, IperlHead ihead, Results.Entities.WaterMeter wm, ref string resultStr, Q2CorrType q2CorrType, string q2TestName, bool updateQ2adjByCalibFactor)
|
||||
static CommErr WriteQ2Correction(int threadId, IperlHead ihead, Results.Entities.WaterMeter wm, Test test, ref string resultStr,
|
||||
Q2CorrType q2CorrType, string restOfLine, bool updateQ2adjByCalibFactor)
|
||||
{
|
||||
//if (ihead == null || ihead.CommFailed) return CommErr.CommFailed;
|
||||
if ((q2CorrType == Q2CorrType.ConditionalUpdate) && wm.PassedFromTests())
|
||||
{
|
||||
resultStr = string.Format("No Q2 correction update (iPerl is OK)");
|
||||
return CommErr.None; /// No Q2 correction when doing conditional update and WM passed
|
||||
}
|
||||
|
||||
Results.Entities.MeterTestRslt q2adjResult;
|
||||
Results.Entities.TestData q2adjTestData;
|
||||
///
|
||||
if (string.IsNullOrEmpty(q2TestName))
|
||||
if ((wm == null) || (ihead == null) || ihead.CommFailed) return CommErr.CommFailed;
|
||||
|
||||
Results.Entities.MeterTestRslt q2adjResult; /// The only test or the 1st test (the test in R-L direction)
|
||||
Results.Entities.TestData q2adjTestData;
|
||||
|
||||
Results.Entities.MeterTestRslt q2adjResult2 = null; /// 2nd test name for a test in L-R direction
|
||||
Results.Entities.TestData q2adjTestData2 = null;
|
||||
|
||||
string[] args = new string[0];
|
||||
if (!string.IsNullOrEmpty(restOfLine))
|
||||
{
|
||||
args = restOfLine.Split(new char[] { ' ' });
|
||||
}
|
||||
|
||||
if (args.Length == 0)
|
||||
{
|
||||
/// In case of no test name argument, ihead.LastTestResult is used (if it exists)
|
||||
if (ihead.LastTestResult != null && ihead.LastTestResult.TestDone)
|
||||
{
|
||||
q2adjResult = ihead.LastTestResult;
|
||||
q2adjTestData = q2adjResult.TestRslt.TestData;
|
||||
}
|
||||
else
|
||||
{
|
||||
return CommErr.MissingTest;
|
||||
}
|
||||
if ((ihead.LastTestResult == null) || !ihead.LastTestResult.TestDone) return CommErr.MissingTest;
|
||||
q2adjResult = ihead.LastTestResult;
|
||||
q2adjTestData = q2adjResult.TestRslt.TestData;
|
||||
}
|
||||
else
|
||||
else // if (args.Length >= 1)
|
||||
{
|
||||
/// Get test data is test name
|
||||
q2adjTestData = wm.GetTestData(q2TestName);
|
||||
if (q2adjTestData == null)
|
||||
{
|
||||
return CommErr.MissingTest;
|
||||
}
|
||||
else if (q2adjTestData.Repeats == 1)
|
||||
/// Get test data from (the 1st) test name
|
||||
q2adjTestData = wm.GetTestData(args[0]);
|
||||
if (q2adjTestData == null) return CommErr.MissingTest;
|
||||
|
||||
if (q2adjTestData.Repeats == 1)
|
||||
{
|
||||
/// Find a test result if Repets == 1
|
||||
q2adjResult = wm.GetMeterTestRslt(q2TestName);
|
||||
q2adjResult = wm.GetMeterTestRslt(args[0]);
|
||||
if (q2adjResult == null || !q2adjResult.TestDone) return CommErr.MissingTest;
|
||||
}
|
||||
else
|
||||
@ -1854,41 +1912,137 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
q2adjResult = new Results.Entities.MeterTestRslt();
|
||||
for (int i = 1; i <= q2adjTestData.Repeats; i++)
|
||||
{
|
||||
Results.Entities.MeterTestRslt oneMTR = wm.GetMeterTestRslt(string.Format("{0} ({1}/{2})", q2TestName, i, q2adjTestData.Repeats));
|
||||
Results.Entities.MeterTestRslt oneMTR = wm.GetMeterTestRslt(string.Format("{0} ({1}/{2})", args[0], i, q2adjTestData.Repeats));
|
||||
if (oneMTR == null || !oneMTR.TestDone) return CommErr.MissingTest;
|
||||
|
||||
q2adjResult.VolumeMeter += oneMTR.VolumeMeter;
|
||||
q2adjResult.VolumeRef += oneMTR.VolumeRef;
|
||||
}
|
||||
#if IPERL
|
||||
if (updateQ2adjByCalibFactor)
|
||||
|
||||
if (updateQ2adjByCalibFactor)
|
||||
{
|
||||
if (wm.OrigCalibFactor == 0) return CommErr.CalibFactorOoRange;
|
||||
if (wm.OrigCalibFactor == 0) return CommErr.OutOfRange;
|
||||
q2adjResult.VolumeMeter *= ((double)wm.CalibFactor / (double)wm.OrigCalibFactor);
|
||||
}
|
||||
#endif
|
||||
|
||||
q2adjResult.Error = Config.Formulas.ErrorFromVolumes(q2adjResult.VolumeMeter, q2adjResult.VolumeRef);
|
||||
}
|
||||
}
|
||||
///
|
||||
if (q2adjResult == null) return CommErr.CommFailed; /// This should never happen
|
||||
|
||||
ihead.Q2ErrWOCorrection = q2adjResult.Error;
|
||||
ihead.Q2CorrectionDone = false;
|
||||
ihead.Q2CorrRL = 0;
|
||||
|
||||
double q2Correction = 0;
|
||||
Byte q2CorrRL = 0;
|
||||
Byte q2CorrLR = 0;
|
||||
|
||||
///
|
||||
/// Calculate Q2 correction form an error measured at Q2 (q2adjResult.Error)
|
||||
///
|
||||
if (!ihead.CalculateQ2CorrectionFactor(q2adjResult, q2adjTestData, out q2Correction))
|
||||
if (args.Length >= 2)
|
||||
{
|
||||
return CommErr.None; /// Q2 error is too large, water meter failed anyhow
|
||||
/// Get the 2nd test data from the 2nd test name
|
||||
q2adjTestData2 = wm.GetTestData(args[1]);
|
||||
if (q2adjTestData2 == null) return CommErr.MissingTest;
|
||||
|
||||
if (q2adjTestData2.Repeats == 1)
|
||||
{
|
||||
/// Find a test result if Repets == 1
|
||||
q2adjResult2 = wm.GetMeterTestRslt(args[1]);
|
||||
if (q2adjResult2 == null || !q2adjResult2.TestDone) return CommErr.MissingTest;
|
||||
}
|
||||
else
|
||||
{
|
||||
/// Calculate a summarized test result if Repeats > 1
|
||||
q2adjResult2 = new Results.Entities.MeterTestRslt();
|
||||
for (int i = 1; i <= q2adjTestData2.Repeats; i++)
|
||||
{
|
||||
Results.Entities.MeterTestRslt oneMTR = wm.GetMeterTestRslt(string.Format("{0} ({1}/{2})", args[1], i, q2adjTestData2.Repeats));
|
||||
if (oneMTR == null || !oneMTR.TestDone) return CommErr.MissingTest;
|
||||
|
||||
q2adjResult2.VolumeMeter += oneMTR.VolumeMeter;
|
||||
q2adjResult2.VolumeRef += oneMTR.VolumeRef;
|
||||
}
|
||||
|
||||
if (updateQ2adjByCalibFactor)
|
||||
{
|
||||
if (wm.OrigCalibFactor == 0) return CommErr.OutOfRange;
|
||||
q2adjResult2.VolumeMeter *= ((double)wm.CalibFactor / (double)wm.OrigCalibFactor);
|
||||
}
|
||||
|
||||
q2adjResult2.Error = Config.Formulas.ErrorFromVolumes(q2adjResult2.VolumeMeter, q2adjResult2.VolumeRef);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (q2adjResult == null) return CommErr.MissingTest; /// This should never happen
|
||||
if ((q2CorrType == Q2CorrType.Update || q2CorrType == Q2CorrType.ConditionalUpdate) && (q2adjResult2 == null))
|
||||
{
|
||||
return CommErr.MissingTest; /// This should never happen, 2 test names required as activity arguments
|
||||
}
|
||||
|
||||
///
|
||||
/// Calculate Q2 correction factor(s) from an error measured at Q2
|
||||
///
|
||||
double q2Correction = 0;
|
||||
double q2Correction2 = 0; /// L-R direction
|
||||
///
|
||||
if ((q2CorrType == Q2CorrType.Update) || (q2CorrType == Q2CorrType.ConditionalUpdate))
|
||||
{
|
||||
double errLimitLo = test.ErrLimLo + test.Uncertainty;
|
||||
double errLimitHi = test.ErrLimHi - test.Uncertainty;
|
||||
|
||||
if (errLimitLo <= q2adjResult.Error && q2adjResult.Error <= errLimitHi &&
|
||||
errLimitLo <= q2adjResult2.Error && q2adjResult2.Error <= errLimitHi)
|
||||
{
|
||||
/// Calculate updated Q2 correction factors
|
||||
q2Correction = ihead.CalculateQ2CorrectionFactor(q2adjResult, q2adjTestData.Qfrom, wm.Q2CorrRL);
|
||||
q2Correction2 = ihead.CalculateQ2CorrectionFactor(q2adjResult2, q2adjTestData2.Qfrom, wm.Q2CorrLR);
|
||||
}
|
||||
else
|
||||
{
|
||||
/// At least one of Q2 errors is out of range for the Q2 correction
|
||||
/// Q2 error is out of range for the Q2 correction
|
||||
log.WarnFormat("OoR => no Q2 correction: Pos={0}, PCB#={1}, ***Q2_RL err={2}%***, ***Q2_LR err={3}%***, CalTarget={4}%, [Lo={5}%, Hi={6}%]",
|
||||
ihead.Name,
|
||||
ihead.SerialNr,
|
||||
q2adjResult.Error.ToString("F2"),
|
||||
q2adjResult2.Error.ToString("F2"),
|
||||
ihead.CalibTarget.ToString("F1"),
|
||||
errLimitLo.ToString("F1"),
|
||||
errLimitHi.ToString("F1"));
|
||||
|
||||
ihead.Q2CorrectionDone = false;
|
||||
ihead.Q2CorrRL = wm.Q2CorrRL;
|
||||
ihead.Q2CorrLR = wm.Q2CorrLR;
|
||||
resultStr = string.Format("Q2 error is out of range => no Q2 correction");
|
||||
return CommErr.OutOfRange;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
double errLimitLo = q2adjTestData.ErrLimLo + q2adjTestData.Uncertainty;
|
||||
double errLimitHi = q2adjTestData.ErrLimHi - q2adjTestData.Uncertainty;
|
||||
|
||||
if ((errLimitLo <= q2adjResult.Error) && (q2adjResult.Error <= errLimitHi))
|
||||
{
|
||||
/// Calculate Q2 correction factor (assuming it was 0 when doing a test)
|
||||
ihead.Q2ErrWOCorrection = q2adjResult.Error;
|
||||
q2Correction = ihead.CalculateQ2CorrectionFactor(q2adjResult, q2adjTestData.Qfrom);
|
||||
}
|
||||
else
|
||||
{
|
||||
/// Q2 error is out of range for the Q2 correction
|
||||
log.WarnFormat("OoR => no Q2 correction: Pos={0}, PCB#={1}, ***Q2adj err={2}%***, CalTarget={3}%, [Lo={4}%, Hi={5}%]",
|
||||
ihead.Name,
|
||||
ihead.SerialNr,
|
||||
q2adjResult.Error.ToString("F2"),
|
||||
ihead.CalibTarget.ToString("F1"),
|
||||
errLimitLo.ToString("F1"),
|
||||
errLimitHi.ToString("F1"));
|
||||
|
||||
ihead.Q2ErrWOCorrection = q2adjResult.Error;
|
||||
ihead.Q2CorrectionDone = false;
|
||||
ihead.Q2CorrRL = 0;
|
||||
resultStr = string.Format("Q2 error is out of range => no Q2 correction");
|
||||
return CommErr.OutOfRange;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Byte q2CorrRL = 0;
|
||||
Byte q2CorrLR = 0;
|
||||
///
|
||||
if (q2CorrType == Q2CorrType.Standard)
|
||||
{
|
||||
///
|
||||
@ -1950,6 +2104,11 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
|
||||
q2CorrLR = (byte)((int)Math.Round(q2Correction) & 0x000000FF);
|
||||
}
|
||||
else if ((q2CorrType == Q2CorrType.Update) || (q2CorrType == Q2CorrType.ConditionalUpdate))
|
||||
{
|
||||
q2CorrRL = (byte)((int)Math.Round(q2Correction) & 0x000000FF);
|
||||
q2CorrLR = (byte)((int)Math.Round(q2Correction2) & 0x000000FF);
|
||||
}
|
||||
|
||||
if (OpenPort(threadId, ihead) != 0) return CommErr.OpenPort; /// Open RFID port
|
||||
|
||||
@ -1957,7 +2116,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
|
||||
if (q2CorrType == Q2CorrType.RL)
|
||||
{
|
||||
/// Write R->L Q2 correction factor only
|
||||
///
|
||||
/// Write R-L Q2 correction factor only
|
||||
///
|
||||
byte[] wrData = new byte[1] { q2CorrRL };
|
||||
for (int j = 0; j < cfg.MaxCommRetries; j++)
|
||||
{
|
||||
@ -1970,7 +2131,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
}
|
||||
else if (q2CorrType == Q2CorrType.LR)
|
||||
{
|
||||
/// Write L->R Q2 correction factor only
|
||||
///
|
||||
/// Write L-R Q2 correction factor only
|
||||
///
|
||||
byte[] wrData = new byte[1] { q2CorrLR };
|
||||
for (int j = 0; j < cfg.MaxCommRetries; j++)
|
||||
{
|
||||
@ -1983,7 +2146,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
}
|
||||
else
|
||||
{
|
||||
///
|
||||
/// Write both Q2 correction factors
|
||||
///
|
||||
byte[] wrData = new byte[2] { q2CorrLR, q2CorrRL };
|
||||
for (int j = 0; j < cfg.MaxCommRetries; j++)
|
||||
{
|
||||
@ -2013,20 +2178,12 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
error = CommErr.None;
|
||||
resultStr = string.Format("Q2 factors: R-flow={0}, L-flow={1}", (SByte)q2CorrRFlow, (SByte)q2CorrLFlow);
|
||||
rfidDataLogger.Warn(ihead.Name + ": " + resultStr);
|
||||
ihead.Q2CorrectionDone = true;
|
||||
ihead.Q2Correction = q2Correction;
|
||||
if (q2CorrType != Q2CorrType.LR) ihead.Q2CorrRFlow = (int)(sbyte)q2CorrRFlow;
|
||||
if (q2CorrType != Q2CorrType.RL) ihead.Q2CorrLFlow = (int)(sbyte)q2CorrLFlow;
|
||||
#if IPERL
|
||||
if (wm != null)
|
||||
{
|
||||
wm.Q2ErrWOCorrection = ihead.Q2ErrorWOCorrection;
|
||||
wm.Q2CorrectionDone = ihead.Q2CorrectionDone;
|
||||
wm.Q2Correction = ihead.Q2Correction;
|
||||
if (q2CorrType != Q2CorrType.LR) wm.Q2CorrRFlow = ihead.Q2CorrRFlow;
|
||||
if (q2CorrType != Q2CorrType.RL) wm.Q2CorrLFlow = ihead.Q2CorrLFlow;
|
||||
}
|
||||
#endif
|
||||
|
||||
wm.Q2ErrWOCorrection = ihead.Q2ErrorWOCorrection;
|
||||
wm.Q2CorrectionDone = ihead.Q2CorrectionDone = true;
|
||||
wm.Q2Correction = ihead.Q2Correction = q2Correction;
|
||||
if (q2CorrType != Q2CorrType.LR) wm.Q2CorrRFlow = ihead.Q2CorrRFlow = (int)(sbyte)q2CorrRFlow;
|
||||
if (q2CorrType != Q2CorrType.RL) wm.Q2CorrLFlow = ihead.Q2CorrLFlow = (int)(sbyte)q2CorrLFlow;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -2053,8 +2210,8 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
ihead.Q2Correction = q2Correction;
|
||||
if (q2CorrType != Q2CorrType.LR) ihead.Q2CorrRL = (int)(sbyte)q2CorrRL;
|
||||
if (q2CorrType != Q2CorrType.RL) ihead.Q2CorrLR = (int)(sbyte)q2CorrLR;
|
||||
#if IPERL
|
||||
if (wm != null)
|
||||
|
||||
if (wm != null)
|
||||
{
|
||||
wm.Q2ErrWOCorrection = ihead.Q2ErrWOCorrection;
|
||||
wm.Q2CorrectionDone = ihead.Q2CorrectionDone;
|
||||
@ -2062,7 +2219,6 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
if (q2CorrType != Q2CorrType.LR) wm.Q2CorrRL = ihead.Q2CorrRL;
|
||||
if (q2CorrType != Q2CorrType.RL) wm.Q2CorrLR = ihead.Q2CorrLR;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2107,14 +2263,14 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
error = CommErr.None;
|
||||
ihead.Hz2Correction = hz2CorrectionFactor;
|
||||
ihead.Hz2CorrectionDone = true;
|
||||
#if IPERL
|
||||
if (wm != null)
|
||||
|
||||
if (wm != null)
|
||||
{
|
||||
wm.Hz2CorrectionDone = ihead.Hz2CorrectionDone;
|
||||
wm.Hz2Correction = ihead.Hz2Correction;
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2137,15 +2293,15 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
resultStr = string.Format("2Hz factor = {0}", (SByte)hz2CorrectionByte);
|
||||
rfidDataLogger.Warn(ihead.Name + ": " + resultStr);
|
||||
ihead.Hz2CorrectionFactor = hz2CorrectionFactor;
|
||||
#if IPERL
|
||||
if (wm != null)
|
||||
|
||||
if (wm != null)
|
||||
{
|
||||
wm.Diff2Hz8Hz = ihead.Diff2Hz8Hz;
|
||||
wm.Hz2CorrectionDone = ihead.Hz2CorrectionDone;
|
||||
wm.Hz2Correction = ihead.Hz2CorrectionFactor;
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -2156,14 +2312,13 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
rfidDataLogger.Warn(ihead.Name + ": " + resultStr);
|
||||
ihead.Hz2CorrectionDone = true;
|
||||
ihead.Hz2Correction = hz2CorrectionFactor;
|
||||
#if IPERL
|
||||
|
||||
if (wm != null)
|
||||
{
|
||||
wm.Diff2Hz8Hz = ihead.Diff2Hz8Hz;
|
||||
wm.Hz2CorrectionDone = ihead.Hz2CorrectionDone;
|
||||
wm.Hz2Correction = ihead.Hz2Correction;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -2171,7 +2326,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
|
||||
return error;
|
||||
}
|
||||
|
||||
#endif /// IPERL
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
|
||||
@ -227,6 +227,12 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
this.checkBoxImage47 = new TBF.BenchControl.TestMethods.iPerlCommunication.CheckBoxImage();
|
||||
this.checkBoxImage48 = new TBF.BenchControl.TestMethods.iPerlCommunication.CheckBoxImage();
|
||||
this.saveButton = new System.Windows.Forms.Button();
|
||||
this.samplePictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.samplePictureBox2 = new System.Windows.Forms.PictureBox();
|
||||
this.samplePictureBox3 = new System.Windows.Forms.PictureBox();
|
||||
this.sampleLabel1 = new System.Windows.Forms.Label();
|
||||
this.sampleLabel2 = new System.Windows.Forms.Label();
|
||||
this.sampleLabel3 = new System.Windows.Forms.Label();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox48)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox47)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox46)).BeginInit();
|
||||
@ -323,6 +329,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
((System.ComponentModel.ISupportInitialize)(this.checkBoxImage46)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.checkBoxImage47)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.checkBoxImage48)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.samplePictureBox1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.samplePictureBox2)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.samplePictureBox3)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// wmTextBox2
|
||||
@ -1289,7 +1298,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
//
|
||||
this.activityLabel.AutoSize = true;
|
||||
this.activityLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 27.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.activityLabel.Location = new System.Drawing.Point(31, 22);
|
||||
this.activityLabel.Location = new System.Drawing.Point(189, 22);
|
||||
this.activityLabel.Name = "activityLabel";
|
||||
this.activityLabel.Size = new System.Drawing.Size(225, 42);
|
||||
this.activityLabel.TabIndex = 95;
|
||||
@ -2315,12 +2324,69 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
this.saveButton.Visible = false;
|
||||
this.saveButton.Click += new System.EventHandler(this.saveButton_Click);
|
||||
//
|
||||
// samplePictureBox1
|
||||
//
|
||||
this.samplePictureBox1.Location = new System.Drawing.Point(7, 7);
|
||||
this.samplePictureBox1.Name = "samplePictureBox1";
|
||||
this.samplePictureBox1.Size = new System.Drawing.Size(23, 23);
|
||||
this.samplePictureBox1.TabIndex = 193;
|
||||
this.samplePictureBox1.TabStop = false;
|
||||
//
|
||||
// samplePictureBox2
|
||||
//
|
||||
this.samplePictureBox2.Location = new System.Drawing.Point(7, 32);
|
||||
this.samplePictureBox2.Name = "samplePictureBox2";
|
||||
this.samplePictureBox2.Size = new System.Drawing.Size(23, 23);
|
||||
this.samplePictureBox2.TabIndex = 194;
|
||||
this.samplePictureBox2.TabStop = false;
|
||||
//
|
||||
// samplePictureBox3
|
||||
//
|
||||
this.samplePictureBox3.Location = new System.Drawing.Point(7, 57);
|
||||
this.samplePictureBox3.Name = "samplePictureBox3";
|
||||
this.samplePictureBox3.Size = new System.Drawing.Size(23, 23);
|
||||
this.samplePictureBox3.TabIndex = 195;
|
||||
this.samplePictureBox3.TabStop = false;
|
||||
//
|
||||
// sampleLabel1
|
||||
//
|
||||
this.sampleLabel1.AutoSize = true;
|
||||
this.sampleLabel1.Location = new System.Drawing.Point(36, 12);
|
||||
this.sampleLabel1.Name = "sampleLabel1";
|
||||
this.sampleLabel1.Size = new System.Drawing.Size(139, 13);
|
||||
this.sampleLabel1.TabIndex = 196;
|
||||
this.sampleLabel1.Text = "Direction and pulses are OK";
|
||||
//
|
||||
// sampleLabel2
|
||||
//
|
||||
this.sampleLabel2.AutoSize = true;
|
||||
this.sampleLabel2.Location = new System.Drawing.Point(36, 37);
|
||||
this.sampleLabel2.Name = "sampleLabel2";
|
||||
this.sampleLabel2.Size = new System.Drawing.Size(125, 13);
|
||||
this.sampleLabel2.TabIndex = 197;
|
||||
this.sampleLabel2.Text = "There are no opto pulses";
|
||||
//
|
||||
// sampleLabel3
|
||||
//
|
||||
this.sampleLabel3.AutoSize = true;
|
||||
this.sampleLabel3.Location = new System.Drawing.Point(36, 62);
|
||||
this.sampleLabel3.Name = "sampleLabel3";
|
||||
this.sampleLabel3.Size = new System.Drawing.Size(85, 13);
|
||||
this.sampleLabel3.TabIndex = 198;
|
||||
this.sampleLabel3.Text = "Direction is NOK";
|
||||
//
|
||||
// iPerlCommunicationForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.Color.DarkGray;
|
||||
this.ClientSize = new System.Drawing.Size(1161, 795);
|
||||
this.Controls.Add(this.sampleLabel3);
|
||||
this.Controls.Add(this.sampleLabel2);
|
||||
this.Controls.Add(this.sampleLabel1);
|
||||
this.Controls.Add(this.samplePictureBox3);
|
||||
this.Controls.Add(this.samplePictureBox2);
|
||||
this.Controls.Add(this.samplePictureBox1);
|
||||
this.Controls.Add(this.saveButton);
|
||||
this.Controls.Add(this.checkBoxImage48);
|
||||
this.Controls.Add(this.checkBoxImage47);
|
||||
@ -2620,6 +2686,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
((System.ComponentModel.ISupportInitialize)(this.checkBoxImage46)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.checkBoxImage47)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.checkBoxImage48)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.samplePictureBox1)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.samplePictureBox2)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.samplePictureBox3)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
@ -2821,6 +2890,12 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
private CheckBoxImage checkBoxImage47;
|
||||
private CheckBoxImage checkBoxImage48;
|
||||
private System.Windows.Forms.Button saveButton;
|
||||
private System.Windows.Forms.PictureBox samplePictureBox1;
|
||||
private System.Windows.Forms.PictureBox samplePictureBox2;
|
||||
private System.Windows.Forms.PictureBox samplePictureBox3;
|
||||
private System.Windows.Forms.Label sampleLabel1;
|
||||
private System.Windows.Forms.Label sampleLabel2;
|
||||
private System.Windows.Forms.Label sampleLabel3;
|
||||
|
||||
}
|
||||
}
|
||||
@ -121,7 +121,7 @@
|
||||
<data name="checkBoxImage1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -194,7 +194,7 @@
|
||||
<data name="checkBoxImage2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -267,7 +267,7 @@
|
||||
<data name="checkBoxImage3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -340,7 +340,7 @@
|
||||
<data name="checkBoxImage4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -413,7 +413,7 @@
|
||||
<data name="checkBoxImage5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -486,7 +486,7 @@
|
||||
<data name="checkBoxImage6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -559,7 +559,7 @@
|
||||
<data name="checkBoxImage7.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -632,7 +632,7 @@
|
||||
<data name="checkBoxImage8.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -705,7 +705,7 @@
|
||||
<data name="checkBoxImage9.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -778,7 +778,7 @@
|
||||
<data name="checkBoxImage10.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -851,7 +851,7 @@
|
||||
<data name="checkBoxImage11.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -924,7 +924,7 @@
|
||||
<data name="checkBoxImage12.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -997,7 +997,7 @@
|
||||
<data name="checkBoxImage13.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -1070,7 +1070,7 @@
|
||||
<data name="checkBoxImage14.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -1143,7 +1143,7 @@
|
||||
<data name="checkBoxImage15.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -1216,7 +1216,7 @@
|
||||
<data name="checkBoxImage16.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -1289,7 +1289,7 @@
|
||||
<data name="checkBoxImage17.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -1362,7 +1362,7 @@
|
||||
<data name="checkBoxImage18.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -1435,7 +1435,7 @@
|
||||
<data name="checkBoxImage19.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -1508,7 +1508,7 @@
|
||||
<data name="checkBoxImage20.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -1581,7 +1581,7 @@
|
||||
<data name="checkBoxImage21.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -1654,7 +1654,7 @@
|
||||
<data name="checkBoxImage22.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -1727,7 +1727,7 @@
|
||||
<data name="checkBoxImage23.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -1800,7 +1800,7 @@
|
||||
<data name="checkBoxImage24.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -1873,7 +1873,7 @@
|
||||
<data name="checkBoxImage25.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -1946,7 +1946,7 @@
|
||||
<data name="checkBoxImage26.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -2019,7 +2019,7 @@
|
||||
<data name="checkBoxImage27.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -2092,7 +2092,7 @@
|
||||
<data name="checkBoxImage28.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -2165,7 +2165,7 @@
|
||||
<data name="checkBoxImage29.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -2238,7 +2238,7 @@
|
||||
<data name="checkBoxImage30.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -2311,7 +2311,7 @@
|
||||
<data name="checkBoxImage31.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -2384,7 +2384,7 @@
|
||||
<data name="checkBoxImage32.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -2457,7 +2457,7 @@
|
||||
<data name="checkBoxImage33.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -2530,7 +2530,7 @@
|
||||
<data name="checkBoxImage34.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -2603,7 +2603,7 @@
|
||||
<data name="checkBoxImage35.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -2676,7 +2676,7 @@
|
||||
<data name="checkBoxImage36.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -2749,7 +2749,7 @@
|
||||
<data name="checkBoxImage37.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -2822,7 +2822,7 @@
|
||||
<data name="checkBoxImage38.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -2895,7 +2895,7 @@
|
||||
<data name="checkBoxImage39.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -2968,7 +2968,7 @@
|
||||
<data name="checkBoxImage40.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -3041,7 +3041,7 @@
|
||||
<data name="checkBoxImage41.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -3114,7 +3114,7 @@
|
||||
<data name="checkBoxImage42.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -3187,7 +3187,7 @@
|
||||
<data name="checkBoxImage43.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -3260,7 +3260,7 @@
|
||||
<data name="checkBoxImage44.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -3333,7 +3333,7 @@
|
||||
<data name="checkBoxImage45.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -3406,7 +3406,7 @@
|
||||
<data name="checkBoxImage46.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -3479,7 +3479,7 @@
|
||||
<data name="checkBoxImage47.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
@ -3552,7 +3552,7 @@
|
||||
<data name="checkBoxImage48.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAADAAAAAeCAYAAABqpJ3BAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADr8AAA6/ATgFUyQAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAA+KSURBVFhHdVh3lFz1ed04DSODAHVtU9ldrcqqCySKgTjH
|
||||
Nn/4nJycJM7JMSfEWNjGAVMMOAScABamGhxABRkJISFpVxISQkjbe2+zu1N2eu+97czO7Oze3O/JS0LT
|
||||
OVe/N++9mf3uV+73/X5FtbW1+DqEw2FEYlEFsVjsM0TjXBNxJFJJJNMpJJNciXQyhQwxlUgiN5VBNpNG
|
||||
NptFejqLVC6L+EwWsZkcIoUcEphFHAWkZguYnpvDHPhP/ivwv+kZYCoHZPKYS+WQjya/0j7B1xIQ4/1B
|
||||
|
||||
@ -53,6 +53,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
retVal.Add(iPerlCommunicationForm.NormalizeCalibrationV4FactorsStr);
|
||||
retVal.Add(iPerlCommunicationForm.ReadQ2CorrectionStr);
|
||||
retVal.Add(iPerlCommunicationForm.ResetQ2CorrectionStr);
|
||||
retVal.Add(iPerlCommunicationForm.InitOrReadQ2CorrectionStr);
|
||||
retVal.Add(iPerlCommunicationForm.WriteCalibrationFactorStr);
|
||||
retVal.Add(iPerlCommunicationForm.WriteCalibrationV4FactorsStr);
|
||||
retVal.Add(iPerlCommunicationForm.WriteQ2CorrectionStr);
|
||||
@ -60,6 +61,8 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
retVal.Add(iPerlCommunicationForm.WriteQ2CorrectionGreeceStr);
|
||||
retVal.Add(iPerlCommunicationForm.WriteQ2CorrectionRLStr);
|
||||
retVal.Add(iPerlCommunicationForm.WriteQ2CorrectionLRStr);
|
||||
retVal.Add(iPerlCommunicationForm.UpdateQ2CorrectionsStr);
|
||||
retVal.Add(iPerlCommunicationForm.ConditnlUpdateQ2CorrectionsStr);
|
||||
retVal.Add("Q2 corrected from Q2adj");
|
||||
retVal.Add("Q2 correction check Q2bc Q2ac");
|
||||
retVal.Add(iPerlCommunicationForm.SetActiveModeStr);
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2017-2018 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2017-2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@ -8,14 +8,16 @@ using System.Text;
|
||||
|
||||
namespace TBF.BenchControl.TestMethods.iPerlCommunication
|
||||
{
|
||||
public enum Q2CorrType
|
||||
{
|
||||
public enum Q2CorrType
|
||||
{
|
||||
None,
|
||||
Standard,
|
||||
Dewa,
|
||||
Greece,
|
||||
Standard,
|
||||
Dewa,
|
||||
Greece,
|
||||
RL,
|
||||
LR,
|
||||
Count
|
||||
}
|
||||
Update,
|
||||
ConditionalUpdate,
|
||||
Count,
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,13 +1,16 @@
|
||||
///
|
||||
/// Copyright (c) 2018 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2018-2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using log4net;
|
||||
using Config.Entities;
|
||||
|
||||
namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
|
||||
{
|
||||
public class FlowDirectionDetection
|
||||
{
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(IperlHead));
|
||||
|
||||
const int FIFO_SIZE = 64; /// 8 sec. @ 8Hz
|
||||
const double MAX_OPTO_DROPOUT = 4.5; /// sec.
|
||||
|
||||
@ -109,31 +112,37 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
|
||||
/// Verify whether the flow direction is correct
|
||||
/// </summary>
|
||||
/// <returns>OptoHeadState.OptoAndDirOK, OptoHeadState.OptoNok or OptoHeadState.DirNok</returns>
|
||||
public OptoHeadState CheckFlowDirection(Counting counting)
|
||||
public OptoHeadState CheckFlowDirection(Counting counting, string iPerlHeadName)
|
||||
{
|
||||
if (!AreFifoDataValid()) return OptoHeadState.OptoNok;
|
||||
|
||||
decimal numer = N * sumXY - sumX * sumY;
|
||||
decimal denom = N * sumXX - sumX * sumX;
|
||||
|
||||
if (denom == 0) return OptoHeadState.DirNok;
|
||||
|
||||
/// Calculate the slope of the regressed line, determine min. and max.
|
||||
double slope = (double)(numer / denom);
|
||||
if (slope > maxSlope) maxSlope = slope;
|
||||
if (slope < minSlope) minSlope = slope;
|
||||
|
||||
if ((counting == Counting.Positive) && (maxSlope > -2 * minSlope))
|
||||
try
|
||||
{
|
||||
return OptoHeadState.OptoAndDirOK;
|
||||
decimal numer = N * sumXY - sumX * sumY;
|
||||
decimal denom = N * sumXX - sumX * sumX;
|
||||
|
||||
if (denom == 0) return OptoHeadState.DirNok;
|
||||
|
||||
/// Calculate the slope of the regressed line, determine min. and max.
|
||||
double slope = (double)(numer / denom);
|
||||
if (slope > maxSlope) maxSlope = slope;
|
||||
if (slope < minSlope) minSlope = slope;
|
||||
|
||||
if ( counting == Counting.Arbitrary ||
|
||||
(counting == Counting.Positive && maxSlope > Math.Abs(2 * minSlope)) ||
|
||||
(counting == Counting.Negative && minSlope < -Math.Abs(2 * maxSlope)))
|
||||
{
|
||||
return OptoHeadState.OptoAndDirOK;
|
||||
}
|
||||
else
|
||||
{
|
||||
return OptoHeadState.DirNok;
|
||||
}
|
||||
}
|
||||
else if ((counting == Counting.Negative) && (minSlope < -2 * maxSlope))
|
||||
catch (Exception)
|
||||
{
|
||||
return OptoHeadState.OptoAndDirOK;
|
||||
}
|
||||
else
|
||||
{
|
||||
return OptoHeadState.DirNok;
|
||||
log.ErrorFormat("{0} : CheckFlowDirection() failed", iPerlHeadName);
|
||||
return OptoHeadState.DirNok; /// ???
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -39,9 +39,10 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
|
||||
public ushort FactorLimitLo { get { return (ushort)iperlHeadCfg.ProcParams.FactorLimitLo; } }
|
||||
public ushort FactorLimitHi { get { return (ushort)iperlHeadCfg.ProcParams.FactorLimitHi; } }
|
||||
public Counting InitFlowDir { get { return (iperlHeadCfg != null && iperlHeadCfg.ProcParams != null) ? iperlHeadCfg.ProcParams.Counting : Counting.Arbitrary; } }
|
||||
#if ORACLE_DB
|
||||
public int WMType_ID { get { return iperlHeadCfg.ProcParams.WMType_ID; } } /// Required by Oracle DB
|
||||
#endif
|
||||
public int WMType_ID { get { return iperlHeadCfg.ProcParams.WMType_ID; } } /// Required by Oracle DB
|
||||
public int InitQ2CorrLR { get { return iperlHeadCfg.ProcParams.InitQ2CorrLR; } } /// Used by InitOrReadQ2Corrections activity
|
||||
public int InitQ2CorrRL { get { return iperlHeadCfg.ProcParams.InitQ2CorrRL; } } /// Required by Oracle DB
|
||||
|
||||
|
||||
/// Properties set by the Begin and the End form
|
||||
public string SerialNr
|
||||
@ -231,35 +232,15 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
|
||||
|
||||
/// <summary>
|
||||
/// Q2 correction factor calculated from the last test (Q2).
|
||||
/// This factors should be used only for R800 meters.
|
||||
/// This factor should be used only for R800 meters.
|
||||
/// </summary>
|
||||
/// <param name="q2TestResult">Test result from which to calculate the factor</param>
|
||||
/// <param name="q2CorrectionFactor">The calculated Q2 correction factor</param>
|
||||
/// <returns>true = OK, false = failed</returns>
|
||||
public bool CalculateQ2CorrectionFactor(Results.Entities.MeterTestRslt q2adjResult, Results.Entities.TestData q2adjTestData, out double q2CorrectionFactor)
|
||||
/// <param name="q2TestResult">A test result from which to calculate the factor</param>
|
||||
/// <param name="nominalFlow">Nominal flow in m3/h</param>
|
||||
/// <param name="currentFactor">0 or the current Q2 correction factor when updating the factor</param>
|
||||
/// <returns>Calculated Q2 correction factor</returns>
|
||||
public double CalculateQ2CorrectionFactor(Results.Entities.MeterTestRslt q2adjResult, double nominalFlow, int currentFactor = 0)
|
||||
{
|
||||
q2CorrectionFactor = 0;
|
||||
|
||||
if (q2adjResult == null) return false; /// Q2 test result is missing ==> water meter failed
|
||||
|
||||
double errLimitLo = q2adjTestData.ErrLimLo + q2adjTestData.Uncertainty;
|
||||
double errLimitHi = q2adjTestData.ErrLimHi - q2adjTestData.Uncertainty;
|
||||
if ((q2adjResult.Error < errLimitLo) || (q2adjResult.Error > errLimitHi))
|
||||
{
|
||||
log.WarnFormat("Q2 correction: Pos={0}, PCB#={1}, ***Q2adjError={2}%***, CalTarget={3}%, ***corrFactor={4}***, [Lo={5}%, Hi={6}%]",
|
||||
Name,
|
||||
SerialNr,
|
||||
q2adjResult.Error.ToString("F2"),
|
||||
CalibTarget.ToString("F1"),
|
||||
q2CorrectionFactor.ToString("F1"),
|
||||
errLimitLo.ToString("F1"),
|
||||
errLimitHi.ToString("F1"));
|
||||
return false; /// Q2 error too large ==> water meter failed
|
||||
}
|
||||
|
||||
//double nominalTestFlowLph = 500.0 * (q2adjTestData.Qfrom + q2adjTestData.Qto); /// in lph => 500.0 * ...
|
||||
double nominalTestFlowLph = 1000.0 * q2adjTestData.Qfrom; /// in lph => 1000.0 * ...
|
||||
|
||||
double nominalTestFlowLph = Config.Units.ConvertTo(Config.Unit.lph, nominalFlow);
|
||||
double volumeRefShiftedToTarget = q2adjResult.VolumeRef * (1.0f + CalibTarget / 100.0f);
|
||||
double q2adjErrorShiftedToTarget = Config.Formulas.ErrorFromVolumes(q2adjResult.VolumeMeter, volumeRefShiftedToTarget);
|
||||
|
||||
@ -270,17 +251,16 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
|
||||
double F = D / (nominalTestFlowLph * 10.0); /// Error corrected with 8 Raw Units per minute [%]
|
||||
double G = F / B; /// Error corrected with 1 Raw Unit per minute [%]
|
||||
|
||||
q2CorrectionFactor = (-1) * (q2adjErrorShiftedToTarget / G) * (volumeRefShiftedToTarget / q2adjResult.VolumeMeter);
|
||||
double q2CorrectionFactor = (double)currentFactor - (q2adjErrorShiftedToTarget / G) * (volumeRefShiftedToTarget / q2adjResult.VolumeMeter);
|
||||
|
||||
log.WarnFormat("Q2 correction: Pos={0}, PCB#={1}, Q2adjError={2}%, CalTarget={3}%, corrFactor={4}, [Lo={5}%, Hi={6}%]",
|
||||
Name,
|
||||
SerialNr,
|
||||
q2adjResult.Error.ToString("F2"),
|
||||
CalibTarget.ToString("F1"),
|
||||
q2CorrectionFactor.ToString("F1"),
|
||||
errLimitLo.ToString("F1"),
|
||||
errLimitHi.ToString("F1"));
|
||||
return true;
|
||||
log.WarnFormat("CalculateQ2CorrectionFactor() : Pos={0}, PCB#={1}, Error={2}%, CalTarget={3}%, Q2CorrFactor={4}",
|
||||
Name,
|
||||
SerialNr,
|
||||
q2adjResult.Error.ToString("F2"),
|
||||
CalibTarget.ToString("F1"),
|
||||
q2CorrectionFactor.ToString("F1"));
|
||||
|
||||
return q2CorrectionFactor;
|
||||
}
|
||||
|
||||
|
||||
@ -461,7 +441,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
|
||||
///
|
||||
public OptoHeadState CheckFlowDirection()
|
||||
{
|
||||
return (flowDirectionDetection != null) ? flowDirectionDetection.CheckFlowDirection(currentFlowDir) : OptoHeadState.DirNok;
|
||||
return (flowDirectionDetection != null) ? flowDirectionDetection.CheckFlowDirection(currentFlowDir, Name) : OptoHeadState.DirNok;
|
||||
}
|
||||
///
|
||||
public void ChangeFlowDirection()
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2015-2018 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2015-2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.IO;
|
||||
@ -20,9 +20,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
|
||||
public int FactorLimitLo; /// Lower limit for the calibration factor
|
||||
public int FactorLimitHi; /// Upper limit for the calibration factor
|
||||
public Counting Counting; /// Initial iPerl counting (Artbitrary, Positive or Negative)
|
||||
#if ORACLE_DB
|
||||
public int WMType_ID; /// Required for Oracle DB: ID_WZTyp in table VT_PRUEFPUNKT_SOLL_SD
|
||||
#endif
|
||||
public int InitQ2CorrLR;
|
||||
public int InitQ2CorrRL;
|
||||
|
||||
|
||||
public override void InitializeAll()
|
||||
@ -32,9 +32,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
|
||||
FactorLimitLo = 1000;
|
||||
FactorLimitHi = 8000;
|
||||
Counting = Counting.Arbitrary;
|
||||
#if ORACLE_DB
|
||||
WMType_ID = 2; /// Value for iPerl DN15
|
||||
#endif
|
||||
InitQ2CorrLR = 0;
|
||||
InitQ2CorrRL = 0;
|
||||
}
|
||||
|
||||
string[] paramNames = new string[]
|
||||
@ -44,9 +44,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
|
||||
"Calib. factor Lo",
|
||||
"Calib. factor Hi",
|
||||
"Counting",
|
||||
#if ORACLE_DB
|
||||
"WM type ID",
|
||||
#endif
|
||||
"Init. Q2 corr. LR",
|
||||
"Init. Q2 corr. RL",
|
||||
};
|
||||
public override string ParamName(int i) { return paramNames[i]; }
|
||||
public override int ParamsCount() { return paramNames.Length; }
|
||||
@ -77,10 +77,10 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
|
||||
case 2: return FactorLimitLo.ToString();
|
||||
case 3: return FactorLimitHi.ToString();
|
||||
case 4: return Counting.ToString();
|
||||
#if ORACLE_DB
|
||||
case 5: return WMType_ID.ToString();
|
||||
#endif
|
||||
default: return string.Empty;
|
||||
case 6: return InitQ2CorrLR.ToString();
|
||||
case 7: return InitQ2CorrRL.ToString();
|
||||
default: return string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
@ -103,9 +103,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
|
||||
if (c.ToString().Equals(strValue)) { Counting = c; return CfgUpdateFlags.None; }
|
||||
}
|
||||
break;
|
||||
#if ORACLE_DB
|
||||
case 5: WMType_ID = int.Parse(strValue); return CfgUpdateFlags.None;
|
||||
#endif
|
||||
case 6: InitQ2CorrLR = int.Parse(strValue); return CfgUpdateFlags.None;
|
||||
case 7: InitQ2CorrRL = int.Parse(strValue); return CfgUpdateFlags.None;
|
||||
default: return CfgUpdateFlags.None;
|
||||
}
|
||||
|
||||
@ -134,11 +134,13 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
|
||||
case 4:
|
||||
for (Counting c = 0; c < Counting.Count; c++) if (c.ToString().Equals(strValue)) return true;
|
||||
break;
|
||||
#if ORACLE_DB
|
||||
case 5: /// WMType_ID
|
||||
if (int.TryParse(strValue, out iDummy)) return true;
|
||||
break;
|
||||
#endif
|
||||
case 6: /// InitQ2CorrLR
|
||||
case 7: /// InitQ2CorrRL
|
||||
if (int.TryParse(strValue, out iDummy) || (iDummy < -127) || (iDummy > 127)) return true;
|
||||
break;
|
||||
default:
|
||||
message = "Invalid index";
|
||||
return false;
|
||||
@ -155,10 +157,10 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication.iPerlHead
|
||||
prms.FactorLimitLo = this.FactorLimitLo;
|
||||
prms.FactorLimitHi = this.FactorLimitHi;
|
||||
prms.Counting = this.Counting;
|
||||
#if ORACLE_DB
|
||||
prms.WMType_ID = this.WMType_ID;
|
||||
#endif
|
||||
}
|
||||
prms.InitQ2CorrLR = this.InitQ2CorrLR;
|
||||
prms.InitQ2CorrRL = this.InitQ2CorrRL;
|
||||
}
|
||||
|
||||
public IParamsProvider Clone()
|
||||
{
|
||||
|
||||
@ -65,7 +65,7 @@ namespace TBF
|
||||
public int MainWndTop;
|
||||
public int MainWndWidth;
|
||||
public int MainWndHeight;
|
||||
public bool ManiWndMaximized;
|
||||
public bool MainWndMaximized;
|
||||
|
||||
/// Components
|
||||
public int ComponentsDlgLeft;
|
||||
|
||||
@ -188,7 +188,7 @@ namespace TBF
|
||||
Localize();
|
||||
|
||||
TBF.LocalSettings ls = Program.LocalSettings;
|
||||
WindowState = (ls.ManiWndMaximized ? FormWindowState.Maximized : FormWindowState.Normal);
|
||||
WindowState = (ls.MainWndMaximized ? FormWindowState.Maximized : FormWindowState.Normal);
|
||||
//if (WindowState != FormWindowState.Normal)
|
||||
//{
|
||||
// RestoreBounds = new Rectangle((ls.MainWndLeft != 0) ? ls.MainWndLeft : 75,
|
||||
@ -648,7 +648,7 @@ namespace TBF
|
||||
ls.RightPaneHorizSplitterDistance = rightHorizSplitContainer.SplitterDistance;
|
||||
ls.TopPaneVerticalSplitterDistance = topVerticalSplitContainer.SplitterDistance;
|
||||
|
||||
ls.ManiWndMaximized = (WindowState == FormWindowState.Maximized);
|
||||
ls.MainWndMaximized = (WindowState == FormWindowState.Maximized);
|
||||
if (WindowState == FormWindowState.Normal)
|
||||
{
|
||||
ls.MainWndLeft = Location.X;
|
||||
|
||||
@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
[assembly: AssemblyVersion("2.18.1176.0")]
|
||||
[assembly: AssemblyFileVersion("2.18.1176.0")]
|
||||
[assembly: AssemblyVersion("2.18.1182.0")]
|
||||
[assembly: AssemblyFileVersion("2.18.1182.0")]
|
||||
|
||||
27
TBF/Resources/Strings.Designer.cs
generated
27
TBF/Resources/Strings.Designer.cs
generated
@ -1176,6 +1176,24 @@ namespace TBF.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Direction and pulses are OK.
|
||||
/// </summary>
|
||||
internal static string Direction_and_pulses_are_OK {
|
||||
get {
|
||||
return ResourceManager.GetString("Direction_and_pulses_are_OK", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Direction is NOK.
|
||||
/// </summary>
|
||||
internal static string Direction_is_NOK {
|
||||
get {
|
||||
return ResourceManager.GetString("Direction_is_NOK", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Diverter.
|
||||
/// </summary>
|
||||
@ -5103,6 +5121,15 @@ namespace TBF.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to There are no opto pulses.
|
||||
/// </summary>
|
||||
internal static string There_are_no_opto_pulses {
|
||||
get {
|
||||
return ResourceManager.GetString("There_are_no_opto_pulses", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to T stop - mass msrmt. [s].
|
||||
/// </summary>
|
||||
|
||||
@ -1422,4 +1422,13 @@
|
||||
<data name="Ref_pulses_count" xml:space="preserve">
|
||||
<value>Počet imp. etalonu</value>
|
||||
</data>
|
||||
<data name="Direction_and_pulses_are_OK" xml:space="preserve">
|
||||
<value>Smer aj opto-impulzy sú OK</value>
|
||||
</data>
|
||||
<data name="Direction_is_NOK" xml:space="preserve">
|
||||
<value>Zlý smer otočenia iPerlu</value>
|
||||
</data>
|
||||
<data name="There_are_no_opto_pulses" xml:space="preserve">
|
||||
<value>Chýbajú opto-impulzy</value>
|
||||
</data>
|
||||
</root>
|
||||
@ -1969,4 +1969,13 @@
|
||||
<data name="Ref_pulses_count" xml:space="preserve">
|
||||
<value>Ref. pulses count</value>
|
||||
</data>
|
||||
<data name="Direction_and_pulses_are_OK" xml:space="preserve">
|
||||
<value>Direction and pulses are OK</value>
|
||||
</data>
|
||||
<data name="Direction_is_NOK" xml:space="preserve">
|
||||
<value>Direction is NOK</value>
|
||||
</data>
|
||||
<data name="There_are_no_opto_pulses" xml:space="preserve">
|
||||
<value>There are no opto pulses</value>
|
||||
</data>
|
||||
</root>
|
||||
Loading…
Reference in New Issue
Block a user