diff --git a/TestBenchFramework/BenchControl/Sequences/MainSeq.cs b/TestBenchFramework/BenchControl/Sequences/MainSeq.cs
index 5d2449b17..c531e7af9 100644
--- a/TestBenchFramework/BenchControl/Sequences/MainSeq.cs
+++ b/TestBenchFramework/BenchControl/Sequences/MainSeq.cs
@@ -296,6 +296,13 @@ namespace TBF.BenchControl.Sequences
{
StateMachine.LoadTestParams(test);
+ if (BenchInfo != null && sensPath.RegisterReaders != null)
+ {
+ foreach (var rr in sensPath.RegisterReaders)
+ if (rr is WaterMeters.iPerl.WaterMeter)
+ (rr as WaterMeters.iPerl.WaterMeter).BenchName = BenchInfo.TestBenchId;
+ }
+
e = testMethodSequence.Execute(test);
if (e.Contains(Event.ConfigurationError)) goto select_cycle_or_test;
@@ -345,7 +352,14 @@ namespace TBF.BenchControl.Sequences
if (testMethodSequence != null && testMethodSequence.CanTest(StateMachine.Procedure.MetersKind))
{
StateMachine.LoadTestParams(test);
-
+
+ if (BenchInfo != null && sensPath.RegisterReaders != null)
+ {
+ foreach (var rr in sensPath.RegisterReaders)
+ if (rr is WaterMeters.iPerl.WaterMeter)
+ (rr as WaterMeters.iPerl.WaterMeter).BenchName = BenchInfo.TestBenchId;
+ }
+
e = testMethodSequence.Execute(test);
if (e.Contains(Event.Error)) goto error;
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/FlyingStartCollectionMethodSeq.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/FlyingStartCollectionMethodSeq.cs
index 3fb7c5c7f..821fa8145 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/FlyingStartCollectionMethodSeq.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/FlyingStartCollectionMethodSeq.cs
@@ -255,14 +255,10 @@ namespace TBF.BenchControl.TestMethods.FlyingStartCollectionMethod
while (!e.Contains(Event.MeasurementStarted));
- /// Reset iPerl volume measurement
- //foreach (var rr in sensPath.RegisterReaders)
- //{
- // if (rr is WaterMeters.iPerl.WaterMeter)
- // {
- // (rr as WaterMeters.iPerl.WaterMeter).Reset();
- // }
- //}
+ foreach (var rr in sensPath.RegisterReaders)
+ {
+ if (rr is WaterMeters.iPerl.WaterMeter) (rr as WaterMeters.iPerl.WaterMeter).TestName = test.Name;
+ }
/// Measurement loop - preparation
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/TestMethodCfg.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/TestMethodCfg.cs
index 821be38dd..66926bbc1 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/TestMethodCfg.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/TestMethodCfg.cs
@@ -30,6 +30,7 @@ namespace TBF.BenchControl.TestMethods.FlyingStartCollectionMethod
{
Name = "FlyingStartCollection";
ParentName = string.Empty;
+ TestParams = new TestParams();
}
public TestMethodCfg(IComponentFactory factory)
diff --git a/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/TestParams.cs b/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/TestParams.cs
index 090a347b1..c7d887dea 100644
--- a/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/TestParams.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/FlyingStartCollectionMethod/TestParams.cs
@@ -82,7 +82,8 @@ namespace TBF.BenchControl.TestMethods.FlyingStartCollectionMethod
test = dbEntity.Test;
Evaluate = tmp.Evaluate;
- }
+ Publish = tmp.Publish;
+ }
catch
{
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/TestMethodCfg.cs b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/TestMethodCfg.cs
index 2de8aaf99..247d59205 100644
--- a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/TestMethodCfg.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/TestMethodCfg.cs
@@ -54,7 +54,8 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
public string ToString(int i)
{
- return string.Format("Name={0}", Name);
+ return string.Format("Name={0}, Board#1=COM{1}, Board#2=COM{2}, Board#3=COM{3}, Board#4=COM{4}",
+ Name, RfidPortNrBoard1, RfidPortNrBoard2, RfidPortNrBoard3, RfidPortNrBoard4);
}
}
}
diff --git a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationForm.cs b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationForm.cs
index 64347fd4f..07fd4d2ba 100644
--- a/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationForm.cs
+++ b/TestBenchFramework/BenchControl/TestMethods/iPerlCommunication/iPerlCommunicationForm.cs
@@ -490,9 +490,12 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
{
int threadId = (threadData as Boxes.IntBox).Val;
- rfidDataLogger.InfoFormat(""); /// Makes the log more readable when there is a lot of data
- rfidDataLogger.WarnFormat("Activity = {0}", activity);
- rfidDataLogger.InfoFormat(""); /// Makes the log more readable when there is a lot of data
+ if (threadId == 0)
+ {
+ rfidDataLogger.InfoFormat(""); /// Makes the log more readable when there is a lot of data
+ rfidDataLogger.WarnFormat("Activity = {0}", activity);
+ rfidDataLogger.InfoFormat(""); /// Makes the log more readable when there is a lot of data
+ }
for (int group = 1; group <= lastGroup; group++)
{
@@ -560,8 +563,6 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
/// true on success
static CommErr ReadConfiguration(WaterMeters.iPerl.WaterMeter wm, ref string resultStr)
{
- int boardNr = wm.MuxBoardNr - 51;
-
///
/// The activity is "Read configuration" (this enables the watermeter, resets error flag)
/// or "Read configuration if enabled" (this keeps th error flag).
@@ -581,7 +582,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
byte[] config = null;
for (int j = 0; j < MaxCommRetries; j++)
{
- if (0 == ReadRequestPort(boardNr, MessageID.Configuration, 0, ConfigStruct.Length, out config, CommTimeout))
+ if (0 == ReadRequestPort(wm.MuxBoardNr, MessageID.Configuration, 0, ConfigStruct.Length, out config, CommTimeout))
{
error = CommErr.None;
wm.ConfigStruct = ConfigStruct.FromByteArray(config);
@@ -590,7 +591,7 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
}
}
- ClosePort(boardNr); /// Close RFID port
+ ClosePort(wm.MuxBoardNr); /// Close RFID port
return error;
}
@@ -932,8 +933,9 @@ namespace TBF.BenchControl.TestMethods.iPerlCommunication
(rdData != null) && (rdData.Length == 2) && (rdData[0] == q2CorrRFlow) && (rdData[1] == q2CorrRFlow))
{
error = CommErr.None;
- resultStr = string.Format("Q2 correction factors set: RightFlow = {0}, LeftFlow = {1}",
- q2CorrRFlow, q2CorrRFlow);
+ resultStr = string.Format("Group={0}, Board={1}, Q2 correction factors set: RightFlow = {2}, LeftFlow = {3}",
+ wm.Group, wm.MuxBoardNr, q2CorrRFlow, q2CorrRFlow);
+ rfidDataLogger.Warn(resultStr);
break;
}
}
diff --git a/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeter.cs b/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeter.cs
index 8b8407cfb..996a44b31 100644
--- a/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeter.cs
+++ b/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeter.cs
@@ -130,6 +130,8 @@ namespace TBF.BenchControl.WaterMeters.iPerl
/// Q2 correction factor
public double Q2CorrectionFactor()
{
+ if (Math.Abs(LastTestResult.VolumeErrorPct) <= 0.5f) return 0; /// No Q2 correction if error < +/-0.5 %
+
double A = 16.0 / ScalingFactor(); /// Raw units per ml: DN15=16, DN20=8, DN25=4, DN32=2, DN40=1
const double B = 8.0; /// Raw units per minute, 8
const double C = B * 60.0; /// Raw units per hour, 480
@@ -140,6 +142,11 @@ namespace TBF.BenchControl.WaterMeters.iPerl
return (-1) * (LastTestResult.VolumeErrorPct / G) * (LastTestResult.VolumeRef / LastTestResult.VolumeMeter);
}
+ /// Name set by the test, to be used as a part og the opto-data log file name
+ public string TestName;
+
+ /// Name set by the test, to be used as a part og the opto-data log file name
+ public string BenchName;
///
/// Volume of water from the opto telegram
@@ -331,8 +338,12 @@ namespace TBF.BenchControl.WaterMeters.iPerl
{
/// Reset opto data
optoDataCount = 0;
- optoDataLogFileName = (ConfigStruct != null) ? ConfigStruct.PCBNumber2String() : "Unknown PCBNumber";
- optoDataLogFileName += "_" + Name + "_" + Utils.ToMyString(DateTime.Now);
+ optoDataLogFileName = string.Format("{0}_{1}_{2}_{3}_{4}",
+ (ConfigStruct != null) ? ConfigStruct.PCBNumber2String() : "UnknownPcbNr",
+ Utils.ToMyString(DateTime.Now),
+ BenchName,
+ Name,
+ (TestName != null ? TestName : string.Empty));
sampleNr = 0;
diff --git a/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeterCfg.cs b/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeterCfg.cs
index a5272dc99..be29dfd11 100644
--- a/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeterCfg.cs
+++ b/TestBenchFramework/BenchControl/WaterMeters/iPerl/WaterMeterCfg.cs
@@ -52,7 +52,7 @@ namespace TBF.BenchControl.WaterMeters.iPerl
public string ToString(int i)
{
- return string.Format("Name={0}, Type={1}, Opto=COM{2}, RFID=COM{3}, Group={4}",
+ return string.Format("Name={0}, Type={1}, Opto=COM{2}, MuxBoard#={3}, Group={4}",
Name,
MeterType,
OptoComPortNr,