iPERL : Q_WZ, KorrErrQ in VT_PRUEFREIHE_IST_PD, see email Joachim 12.1.2021, mtr.LastError not mapped to DB anymore, ver. 2.26.1697

This commit is contained in:
Milan Hanajik 2021-07-08 13:37:43 +02:00
parent a7e2947de7
commit 4d77926a9e
9 changed files with 42 additions and 23 deletions

View File

@ -27,8 +27,7 @@ namespace Results.Entities
public virtual double Error { get; set; } /// [%]
public virtual long ErrorIndicators { get; set; } /// Not mapped to DB !!!, bit24=E25, bit25=E26, bit26=E27, bit27=E28 (error flags)
public virtual long InfoIndicators { get; set; } /// Not mapped to DB !!!, bit24=E25, bit25=E26, bit26=E27, bit27=E28 (info flags)
public virtual double KorrErrQ { get; set; } /// [%] not mapped to results DB, saved to Oracle DB
public virtual bool TestDone { get; set; } /// true = test was completed
public virtual bool TestDone { get; set; } /// true = test was completed
public virtual bool Passed { get; set; } /// true = test passed, water meter is OK
#if IPERL
public virtual string ExtraDataPath { get; set; } /// Relative path to a file with opto-data/raw-data
@ -43,6 +42,7 @@ namespace Results.Entities
public virtual float X9 { get; set; }
#endif
#if ORACLE_DB
public virtual double ErrorBC { get; set; } /// [%] error before correction, saved to Oracle to table VT_PRUEFREIHE_IST_PD as KorrErrQ
public virtual double LastError { get; set; } /// [%] Previous test error at this Q in case Pruefindex > 1
#endif
@ -149,7 +149,6 @@ namespace Results.Entities
Error = oriMTR.Error;
ErrorIndicators = oriMTR.ErrorIndicators;
InfoIndicators = oriMTR.InfoIndicators;
KorrErrQ = oriMTR.KorrErrQ;
TestDone = oriMTR.TestDone;
Passed = oriMTR.Passed;
#if IPERL
@ -165,6 +164,7 @@ namespace Results.Entities
X9 = oriMTR.X9;
#endif
#if ORACLE_DB
ErrorBC = oriMTR.ErrorBC;
LastError = oriMTR.LastError;
#endif
}
@ -188,7 +188,6 @@ namespace Results.Entities
Error = src.Error;
ErrorIndicators = src.ErrorIndicators;
InfoIndicators = src.InfoIndicators;
KorrErrQ = src.KorrErrQ;
TestDone = src.TestDone;
Passed = src.Passed;
#if IPERL
@ -204,6 +203,7 @@ namespace Results.Entities
X9 = src.X9;
#endif
#if ORACLE_DB
ErrorBC = src.ErrorBC;
LastError = src.LastError;
#endif
}
@ -231,7 +231,6 @@ namespace Results.Entities
writer.Write(Error);
writer.Write(ErrorIndicators);
writer.Write(InfoIndicators);
writer.Write(KorrErrQ);
writer.Write(TestDone);
writer.Write(Passed);
#if IPERL
@ -247,6 +246,7 @@ namespace Results.Entities
writer.Write(X9);
#endif
#if ORACLE_DB
writer.Write(ErrorBC);
writer.Write(LastError);
#endif
writer.Write((TestRslt != null && TestRslt.Name() != null) ? TestRslt.Name() : string.Empty);
@ -271,7 +271,6 @@ namespace Results.Entities
Error = reader.ReadDouble();
ErrorIndicators = reader.ReadInt64();
InfoIndicators = reader.ReadInt64();
KorrErrQ = reader.ReadDouble();
TestDone = reader.ReadBoolean();
Passed = reader.ReadBoolean();
#if IPERL
@ -287,6 +286,7 @@ namespace Results.Entities
X9 = reader.ReadSingle();
#endif
#if ORACLE_DB
ErrorBC = reader.ReadDouble();
LastError = reader.ReadDouble();
#endif
TestRslt = null;

View File

@ -24,7 +24,7 @@ namespace Results.Mappings
Map(x => x.TimestampEnd);
Map(x => x.TestTime);
Map(x => x.Error);
Map(x => x.TestDone);
Map(x => x.TestDone);
Map(x => x.Passed);
#if IPERL
Map(x => x.ExtraDataPath);
@ -39,7 +39,7 @@ namespace Results.Mappings
Map(x => x.X9);
#endif
#if ORACLE_DB
Map(x => x.LastError);
Map(x => x.ErrorBC).Column("LastError");
#endif
References(x => x.WaterMeter);
References(x => x.TestRslt);

View File

@ -1395,7 +1395,7 @@ namespace TBF.BenchControl.Output.DB.SensusOracle
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Int32, Value = 0 }); /// :11 niz
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Max(-99999.999, Math.Min(mtr.VolumeStart, 99999.999)) }); /// :12 anfangzstand
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Max(-99999.999, Math.Min(mtr.VolumeEnd, 99999.999)) }); /// :13 endzstand
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Min(100.0, Math.Max(-100.0, mtr.KorrErrQ)) }); /// :14 korrerrq
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Min(100.0, Math.Max(-100.0, mtr.ErrorBC)) }); /// :14 korrerrq
cmd.Parameters.Add(new OracleParameter { OracleDbType = OracleDbType.Double, Value = Math.Min(100000, mtr.TestTime) }); /// :15 tiz
int retv = cmd.ExecuteNonQuery();

View File

@ -392,13 +392,15 @@ namespace TBF.BenchControl.Output.FileWriters.IperlLogger
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, (mtr.TestData().Method != null) && mtr.TestData().Method.Contains("iPerlCommunication") && ((mtr.WaterMeter.Q2CorrRL != 0) || (mtr.WaterMeter.Q2CorrLR != 0))
? mtr.WaterMeter.Q2ErrWOCorrection.ToString(Program.AltCulture)
: mtr.Error.ToString(Program.AltCulture)));
#if ORACLE_DB
logger.WriteLine(string.Format("KorrFehler{0}={1}", flID, mtr.ErrorBC.ToString(Program.AltCulture)));
#else
logger.WriteLine(string.Format("KorrFehler{0}={1}", flID, mtr.Error.ToString(Program.AltCulture)));
#endif
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("Q{0}KorrBestanden={1}", flID, mtr.Passed ? 1 : 0));
logger.WriteLine(string.Format("Anfangsstand{0}={1}", flID, mtr.VolumeStart).ToString(Program.AltCulture));
logger.WriteLine(string.Format("Endstand{0}={1}", flID, mtr.VolumeEnd).ToString(Program.AltCulture));
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"));
@ -410,9 +412,14 @@ namespace TBF.BenchControl.Output.FileWriters.IperlLogger
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));
#if ORACLE_DB
logger.WriteLine(string.Format("Prefix={0}", wMtr.Prefix));
logger.WriteLine(string.Format("Suffix={0}", wMtr.Suffix));
#else
logger.WriteLine(string.Format("Prefix={0}", "8SEN"));
logger.WriteLine(string.Format("Suffix="));
#endif
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"));

View File

@ -685,6 +685,9 @@ namespace TBF.BenchControl.TestMethods.FlyingStart
&& (tstRslt.ErrorFlags == 0);
meterRslt.TestDone = true;
tstRslt.TestDone = true;
#if ORACLE_DB
meterRslt.ErrorBC = meterRslt.Error;
#endif
}
}
}

View File

@ -1100,7 +1100,10 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollProlonged
&& (tstRslt.ErrorFlags == 0);
meterRslt.TestDone = true;
tstRslt.TestDone = true;
}
#if ORACLE_DB
meterRslt.ErrorBC = meterRslt.Error;
#endif
}
}
}

View File

@ -1047,7 +1047,10 @@ namespace TBF.BenchControl.TestMethods.FlyingStartMassCollection
&& (tstRslt.ErrorFlags == 0);
meterRslt.TestDone = true;
tstRslt.TestDone = true;
}
#if ORACLE_DB
meterRslt.ErrorBC = meterRslt.Error;
#endif
}
}
}

View File

@ -560,6 +560,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
if (meterRslt != null && oriMeterRslt != null)
{
#if ORACLE_DB
meterRslt.ErrorBC = oriMeterRslt.Error;
#endif
meterRslt.PulsesMeter = oriMeterRslt.PulsesMeter;
meterRslt.PulsesMaster = oriMeterRslt.PulsesMaster;
meterRslt.PulsesPerLiter = oriMeterRslt.PulsesPerLiter;
@ -584,7 +587,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
meterRslt.VolumeStart = 0;
meterRslt.VolumeEnd = 0;
meterRslt.Error = targetError - 0.1 * (oriMeterRslt.Error - targetError);
meterRslt.VolumeMeter = (100.0 + meterRslt.Error / 100.0) * oriMeterRslt.VolumeRef;
meterRslt.VolumeMeter = oriMeterRslt.VolumeRef * (100.0 + meterRslt.Error) / 100.0;
meterRslt.Passed = true;
meterRslt.TestDone = true;
tstRslt.TestDone = true;

View File

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