diff --git a/TestBenchFramework/BenchControl/Dummy/Balance/Component.cs b/TestBenchFramework/BenchControl/Dummy/Balance/Component.cs
index c1e594b18..ac0a65886 100644
--- a/TestBenchFramework/BenchControl/Dummy/Balance/Component.cs
+++ b/TestBenchFramework/BenchControl/Dummy/Balance/Component.cs
@@ -55,6 +55,11 @@ namespace TBF.BenchControl.Dummy.Balance
return this;
}
+ public IOperation GetSerNumOp(ref string serialNumber)
+ {
+ return null;
+ }
+
/// Start this operation
public void Start()
{
diff --git a/TestBenchFramework/BenchControl/GenericDevices/IScale.cs b/TestBenchFramework/BenchControl/GenericDevices/IScale.cs
index 9deeb01b0..18d2f1a6f 100644
--- a/TestBenchFramework/BenchControl/GenericDevices/IScale.cs
+++ b/TestBenchFramework/BenchControl/GenericDevices/IScale.cs
@@ -79,5 +79,12 @@ namespace TBF.BenchControl.GenericDevices
/// Method: false = slow (precise), true = fast (immediate)
/// ReadMassAverageOp instance reference casted to IOperaton
IOperation ReadStableMassOp(ref DoubleBox mass, int readingsCount, double maxSpread, Config.Entities.MassMethod method);
- }
+
+ ///
+ /// Events: Done, Error
+ ///
+ /// Reference to the serialNumber
+ /// GetBalanceSerNumOp instance reference casted to IOperaton
+ IOperation GetSerNumOp(ref string serialNumber);
+ }
}
diff --git a/TestBenchFramework/BenchControl/GenericDevices/IScale2.cs b/TestBenchFramework/BenchControl/GenericDevices/IScale2.cs
deleted file mode 100644
index 5937a7629..000000000
--- a/TestBenchFramework/BenchControl/GenericDevices/IScale2.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-///
-/// Copyright (c) 2013-2015 Sensus Metering Systems
-///
-using TBF.BenchControl.Generic;
-
-namespace TBF.BenchControl.GenericDevices
-{
- public interface IScale2 : IScale, IComponent
- {
- ///
- /// Events: Done, Error
- ///
- /// Reference to the serialNumber
- /// GetBalanceSNOp instance reference casted to IOperaton
- IOperation GetBalanceSNOp(ref string serialNumber);
- }
-}
diff --git a/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceDev.cs b/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceDev.cs
index f30cb932d..f21f1c845 100644
--- a/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceDev.cs
+++ b/TestBenchFramework/BenchControl/MettlerToledo/Multi/BalanceDev.cs
@@ -315,5 +315,15 @@ namespace TBF.BenchControl.MettlerToledo.Multi
{
return new ReadStableMassOp(this, ref mass, readingsCount, maxSpread, method);
}
- }
+
+ ///
+ /// Events: BalanceDone, Error
+ ///
+ /// Reference to the serialNumber
+ /// GetBalanceSNOp instance reference casted to IOperaton
+ public IOperation GetSerNumOp(ref string serialNumber)
+ {
+ return null;
+ }
+ }
}
diff --git a/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceDev.cs b/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceDev.cs
index 73e88f344..f25468091 100644
--- a/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceDev.cs
+++ b/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceDev.cs
@@ -491,5 +491,15 @@ namespace TBF.BenchControl.MettlerToledo.Standard
{
return new ReadStableMassOp(this, ref mass, readingsCount, maxSpread, method);
}
+
+ ///
+ /// Events: BalanceDone, Error
+ ///
+ /// Reference to the serialNumber
+ /// GetBalanceSNOp instance reference casted to IOperaton
+ public virtual IOperation GetSerNumOp(ref string serialNumber)
+ {
+ return null;
+ }
}
}
diff --git a/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceNewDev.cs b/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceNewDev.cs
index c9e002b5b..88f89ebfc 100644
--- a/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceNewDev.cs
+++ b/TestBenchFramework/BenchControl/MettlerToledo/Standard/BalanceNewDev.cs
@@ -1,12 +1,8 @@
///
/// Copyright (c) 2013-2017 Sensus Metering Systems
-/// Author: Milan Hanajik
///
using System;
-using System.Collections.Generic;
using System.Globalization;
-using System.Text;
-using System.IO.Ports;
using log4net;
using Config.Entities;
using TBF.BenchControl.Generic;
@@ -19,7 +15,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
///
/// Implemented and tested on 15.10.2013 by Milan Hanajik
///
- public class BalanceNewDev : BalanceDev, IDevice, GenericDevices.IScale2
+ public class BalanceNewDev : BalanceDev, IDevice, GenericDevices.IScale
{
///
/// Info: StartMassMeasurement() and "Balnce response = .., Mass = ..."
@@ -55,7 +51,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
return;
}
- log.InfoFormat("{0} - GetSerialNumber()", Name);
+ log.WarnFormat("{0} - GetSerialNumber()", Name);
msrmntState = MsrmntState.Busy;
stringBuilder.Clear();
@@ -123,7 +119,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
{
serialNumber = fields[2].Substring(1, fields[2].Length - 2);
msrmntState = MsrmntState.Valid;
- log.InfoFormat("{0} - Balance response = {1}, s/n = {1}", Name,
+ log.WarnFormat("{0} - Balance response = {1}, s/n = {1}", Name,
received.Replace("\r", "").Replace("\n", ""), serialNumber);
}
else
@@ -140,7 +136,7 @@ namespace TBF.BenchControl.MettlerToledo.Standard
mass = 0;
Masses[balanceNr] = mass;
msrmntState = MsrmntState.Valid;
- log.InfoFormat("{0} - Balance response = {1}", Name,
+ log.WarnFormat("{0} - Balance response = {1}", Name,
received.Replace("\r", "").Replace("\n", ""));
}
else
@@ -203,14 +199,14 @@ namespace TBF.BenchControl.MettlerToledo.Standard
if (fields[3].Equals("g")) mass /= 1000.0f;
if (fields[3].Equals("t")) mass *= 1000.0f;
msrmntState = MsrmntState.Valid;
- log.InfoFormat("{0} - Balance response = {1}, Mass = {2}", Name,
+ log.WarnFormat("{0} - Balance response = {1}, Mass = {2}", Name,
received.Replace("\r", "").Replace("\n", ""), mass);
}
else if (fields.Length >= 2 && fields[1].Equals("I"))
{
mass = mass = balanceCfg.Capacity;
msrmntState = MsrmntState.Overload;
- log.InfoFormat("{0} - Balance response = {1}, Overload", Name,
+ log.WarnFormat("{0} - Balance response = {1}, Overload", Name,
received.Replace("\r", "").Replace("\n", ""), mass);
}
else
@@ -256,9 +252,9 @@ namespace TBF.BenchControl.MettlerToledo.Standard
///
/// Reference to the serialNumber
/// GetBalanceSNOp instance reference casted to IOperaton
- public IOperation GetBalanceSNOp(ref string serialNumber)
+ public override IOperation GetSerNumOp(ref string serialNumber)
{
- return new GetBalanceSNOp(this, ref serialNumber);
+ return new GetSerNumOp(this, ref serialNumber);
}
///
diff --git a/TestBenchFramework/BenchControl/MettlerToledo/Standard/GetBalanceSNOp.cs b/TestBenchFramework/BenchControl/MettlerToledo/Standard/GetBalanceSNOp.cs
deleted file mode 100644
index 2c263e3df..000000000
--- a/TestBenchFramework/BenchControl/MettlerToledo/Standard/GetBalanceSNOp.cs
+++ /dev/null
@@ -1,63 +0,0 @@
-///
-/// Copyright (c) 2013-2015 Sensus Metering Systems
-/// Author: Milan Hanajik
-///
-using System;
-using log4net;
-
-namespace TBF.BenchControl.MettlerToledo.Standard
-{
- public class GetBalanceSNOp : IOperation
- {
- private static readonly ILog log = LogManager.GetLogger(typeof(GetBalanceSNOp));
- public override string ToString() { return string.Format("GetBalanceSNOp(.,.)"); }
-
- /// Set by the constructor
- BalanceNewDev balanceDev;
- string serialNumber;
-
- ///
- /// Events: BalanceDone, Error
- ///
- /// Balance device instance
- /// Reference to the serialNumber
- public GetBalanceSNOp(BalanceNewDev balanceDev, ref string serialNumber)
- {
- if (balanceDev == null) throw new ArgumentNullException("balanceDev");
- this.balanceDev = balanceDev;
-
- this.serialNumber = serialNumber;
-
- log.Debug(this.ToString());
- }
-
- /// Start this operation
- public void Start()
- {
- log.DebugFormat("{0} - Start()", balanceDev.Name);
- balanceDev.GetSerialNumber();
- }
-
- /// Run this operation
- ///
- /// Event.None
- /// Event.BalanceDone
- ///
- public Event Run()
- {
- if (balanceDev.MsrmntState == MsrmntState.Valid)
- {
- serialNumber = balanceDev.SerialNumber;
- return Event.BalanceDone; /// S/N read successful
- }
- if (balanceDev.MsrmntState == MsrmntState.Failed) return Event.Error; /// S/N read failed
- return Event.None; /// No result yet
- }
-
- /// Stop this operation
- public void Stop()
- {
- log.DebugFormat("{0} - Stop()", balanceDev.Name);
- }
- }
-}
diff --git a/TestBenchFramework/BenchControl/MettlerToledo/Standard/GetSerNumOp.cs b/TestBenchFramework/BenchControl/MettlerToledo/Standard/GetSerNumOp.cs
new file mode 100644
index 000000000..542cf5b82
--- /dev/null
+++ b/TestBenchFramework/BenchControl/MettlerToledo/Standard/GetSerNumOp.cs
@@ -0,0 +1,62 @@
+///
+/// Copyright (c) 2013-2015 Sensus Metering Systems
+///
+using System;
+using log4net;
+
+namespace TBF.BenchControl.MettlerToledo.Standard
+{
+ public class GetSerNumOp : IOperation
+ {
+ private static readonly ILog log = LogManager.GetLogger(typeof(GetSerNumOp));
+ public override string ToString() { return string.Format("GetSerNumOp(.,.)"); }
+
+ /// Set by the constructor
+ BalanceNewDev scale;
+ string serialNumber;
+
+ ///
+ /// Events: BalanceDone, Error
+ ///
+ /// Balance device instance
+ /// Reference to the serialNumber
+ public GetSerNumOp(BalanceNewDev scale, ref string serialNumber)
+ {
+ if (scale == null) throw new ArgumentNullException("balanceDev");
+ this.scale = scale;
+
+ this.serialNumber = serialNumber;
+
+ log.Debug(this.ToString());
+ }
+
+ /// Start this operation
+ public void Start()
+ {
+ log.DebugFormat("{0} - Start()", scale.Name);
+ scale.GetSerialNumber();
+ }
+
+ /// Run this operation
+ ///
+ /// Event.None
+ /// Event.BalanceDone
+ ///
+ public Event Run()
+ {
+ if (scale.MsrmntState == MsrmntState.Valid)
+ {
+ serialNumber = scale.SerialNumber;
+ return Event.BalanceDone; /// S/N read successful
+ }
+ if (scale.MsrmntState == MsrmntState.Failed) return Event.Error; /// S/N read failed
+ return Event.None; /// No result yet
+ }
+
+ /// Stop this operation
+ public void Stop()
+ {
+ log.DebugFormat("{0} - Stop()", scale.Name);
+ }
+ }
+}
diff --git a/TestBenchFramework/BenchControl/Sequences/MainSeq.cs b/TestBenchFramework/BenchControl/Sequences/MainSeq.cs
index 22c47c877..3ad48c106 100644
--- a/TestBenchFramework/BenchControl/Sequences/MainSeq.cs
+++ b/TestBenchFramework/BenchControl/Sequences/MainSeq.cs
@@ -124,6 +124,27 @@ namespace TBF.BenchControl.Sequences
}
while (e.Contains(Event.ValvesBusy));
+ //--------------------------------------------------------------------------------------------
+ State getSNs = State.Create("MainSeq : Reading serial numbers of all scales").AddOperation(checkUiOp);
+ string serNum1 = string.Empty;
+ string serNum2 = string.Empty;
+ string serNum3 = string.Empty;
+ if (StateMachine.Scale1 != null) getSNs.AddOperation(StateMachine.Scale1.GetSerNumOp(ref serNum1));
+ if (StateMachine.Scale2 != null) getSNs.AddOperation(StateMachine.Scale2.GetSerNumOp(ref serNum2));
+ if (StateMachine.Scale3 != null) getSNs.AddOperation(StateMachine.Scale3.GetSerNumOp(ref serNum3));
+ getSNs.EnterState();
+ do
+ {
+ e = StateMachine.WaitRunDevsRunOps();
+ if (e.Contains(Event.Error)) goto error;
+ if (e.Contains(Event.UiCmdStop)) goto stop;
+ }
+ while (e.Contains(Event.Busy));
+
+ if (!string.IsNullOrEmpty(serNum1)) log.WarnFormat("Scale {0} : s/n = {1}", StateMachine.Scale1.Name, serNum1);
+ if (!string.IsNullOrEmpty(serNum2)) log.WarnFormat("Scale {0} : s/n = {1}", StateMachine.Scale2.Name, serNum2);
+ if (!string.IsNullOrEmpty(serNum3)) log.WarnFormat("Scale {0} : s/n = {1}", StateMachine.Scale3.Name, serNum3);
+
//--------------------------------------------------------------------------------------------
IntBox remainingTime = new IntBox();
State startNew = State.Create("MainSeq : Draining tanks")
@@ -190,11 +211,15 @@ namespace TBF.BenchControl.Sequences
while (e.Contains(Event.ValvesBusy));
//--------------------------------------------------------------------------------------------
- State taraAll = State.Create("MainSeq : Reset all balances").AddOperation(checkUiOp);
- DoubleBox tara = new DoubleBox(0);
- if (StateMachine.Scale1 != null) taraAll.AddOperation(StateMachine.Scale1.TaringOp(ref tara));
- if (StateMachine.Scale2 != null) taraAll.AddOperation(StateMachine.Scale2.TaringOp(ref tara));
- if (StateMachine.Scale3 != null) taraAll.AddOperation(StateMachine.Scale3.TaringOp(ref tara));
+ Bridge.OnActivity(this, Strings.Resetting_scales);
+ //--------------------------------------------------------------------------------------------
+ State taraAll = State.Create("MainSeq : Resetting scales").AddOperation(checkUiOp);
+ DoubleBox tara1 = new DoubleBox(0);
+ DoubleBox tara2 = new DoubleBox(0);
+ DoubleBox tara3 = new DoubleBox(0);
+ if (StateMachine.Scale1 != null) taraAll.AddOperation(StateMachine.Scale1.TaringOp(ref tara1));
+ if (StateMachine.Scale2 != null) taraAll.AddOperation(StateMachine.Scale2.TaringOp(ref tara2));
+ if (StateMachine.Scale3 != null) taraAll.AddOperation(StateMachine.Scale3.TaringOp(ref tara3));
taraAll.EnterState();
do
{
diff --git a/TestBenchFramework/Properties/AssemblyInfo.cs b/TestBenchFramework/Properties/AssemblyInfo.cs
index 379e068d0..d8bb64b5b 100644
--- a/TestBenchFramework/Properties/AssemblyInfo.cs
+++ b/TestBenchFramework/Properties/AssemblyInfo.cs
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
-[assembly: AssemblyVersion("2.14.587.1")]
-[assembly: AssemblyFileVersion("2.14.587.1")]
+[assembly: AssemblyVersion("2.14.588.1")]
+[assembly: AssemblyFileVersion("2.14.588.1")]
diff --git a/TestBenchFramework/Resources/Strings.Designer.cs b/TestBenchFramework/Resources/Strings.Designer.cs
index 7349a9d17..cbd0b8213 100644
--- a/TestBenchFramework/Resources/Strings.Designer.cs
+++ b/TestBenchFramework/Resources/Strings.Designer.cs
@@ -3471,6 +3471,15 @@ namespace TBF.Resources {
}
}
+ ///
+ /// Looks up a localized string similar to Resetting scales.
+ ///
+ internal static string Resetting_scales {
+ get {
+ return ResourceManager.GetString("Resetting_scales", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized string similar to Resistance.
///
diff --git a/TestBenchFramework/Resources/Strings.resx b/TestBenchFramework/Resources/Strings.resx
index 2fc319133..f74ad28a0 100644
--- a/TestBenchFramework/Resources/Strings.resx
+++ b/TestBenchFramework/Resources/Strings.resx
@@ -1783,4 +1783,7 @@
Temp. lim. lo [°C]
+
+ Resetting scales
+
\ No newline at end of file
diff --git a/TestBenchFramework/TBF.csproj b/TestBenchFramework/TBF.csproj
index 91b50ca52..6b917f44b 100644
--- a/TestBenchFramework/TBF.csproj
+++ b/TestBenchFramework/TBF.csproj
@@ -518,7 +518,7 @@
-
+
@@ -1363,7 +1363,6 @@
-