diff --git a/DeviceTest/DeviceTestDlg.cs b/DeviceTest/DeviceTestDlg.cs
index 8ed370351..bfabc37c0 100644
--- a/DeviceTest/DeviceTestDlg.cs
+++ b/DeviceTest/DeviceTestDlg.cs
@@ -663,8 +663,7 @@ namespace DeviceTest
else if (tbfComponent1forOp is TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter)
{
operation1 = (tbfComponent1forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadLevelOp(ref dblBox1);
- operation2 = (tbfComponent1forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadVolumeOp(ref dblBox2);
- operation3 = (tbfComponent1forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadTempOp(ref dblBox3);
+ operation2 = (tbfComponent1forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadTempOp(ref dblBox3);
}
else if (tbfComponent1forOp is TBF.BenchControl.Modbus.TankSelector.TankSelector)
{
@@ -696,8 +695,7 @@ namespace DeviceTest
else if (tbfComponent2forOp is TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter)
{
operation21 = (tbfComponent2forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadLevelOp(ref dblBox1);
- operation22 = (tbfComponent2forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadVolumeOp(ref dblBox2);
- operation23 = (tbfComponent2forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadTempOp(ref dblBox3);
+ operation22 = (tbfComponent2forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadTempOp(ref dblBox3);
}
else if (tbfComponent2forOp is TBF.BenchControl.Modbus.TankSelector.TankSelector)
{
@@ -729,8 +727,7 @@ namespace DeviceTest
else if (tbfComponent3forOp is TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter)
{
operation31 = (tbfComponent3forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadLevelOp(ref dblBox1);
- operation32 = (tbfComponent3forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadVolumeOp(ref dblBox2);
- operation33 = (tbfComponent3forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadTempOp(ref dblBox3);
+ operation32 = (tbfComponent3forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadTempOp(ref dblBox3);
}
else if (tbfComponent3forOp is TBF.BenchControl.Modbus.TankSelector.TankSelector)
{
diff --git a/TBF/BenchControl/Modbus/UltrasoundLevelMeter/LevelMeter.cs b/TBF/BenchControl/Modbus/UltrasoundLevelMeter/LevelMeter.cs
index 49ef3bfb6..b8c488948 100644
--- a/TBF/BenchControl/Modbus/UltrasoundLevelMeter/LevelMeter.cs
+++ b/TBF/BenchControl/Modbus/UltrasoundLevelMeter/LevelMeter.cs
@@ -11,7 +11,7 @@ using System.Diagnostics;
namespace TBF.BenchControl.Modbus.UltrasoundLevelMeter
{
- public class LevelMeter : ComponentBase, GenericDevices.ILevelMeter, GenericDevices.IVolumeMeter, GenericDevices.ITempMeter, IDevice
+ public class LevelMeter : ComponentBase, GenericDevices.ILevelMeter, GenericDevices.ITempMeter, IDevice
{
private static readonly ILog log = LogManager.GetLogger(typeof(LevelMeter));
public override string ToString() { return string.Format("LevelMeter({0})", Cfg.ToString(1)); }
@@ -28,7 +28,6 @@ namespace TBF.BenchControl.Modbus.UltrasoundLevelMeter
double distance; /// [mm]
double level; /// [mm]
double percentage; /// [%]
- double volume; /// [l]
double temperature; /// [°C]
ushort state;
@@ -64,7 +63,6 @@ namespace TBF.BenchControl.Modbus.UltrasoundLevelMeter
distance = 200.0;
level = 0;
percentage = 0;
- volume = 0;
temperature = 20.0;
state = 0;
@@ -80,15 +78,11 @@ namespace TBF.BenchControl.Modbus.UltrasoundLevelMeter
public double ReadLevel() { return level; } /// Returns water level in mm
- public double ReadVolume() { return volume; } /// Returns volume in l
public double ReadTemperature() { return temperature; } /// Returns temperature in °C
public IOperation ReadLevelOp(ref DoubleBox level) { return new ReadLevelOp(this, ref level); }
public IOperation ReadStableLevelOp(ref DoubleBox level, double sdev) { return new ReadStableLevelOp(this, ref level, sdev); }
public IOperation ManualReadLevelOp(ref DoubleBox level) { return null; }
- public IOperation ReadVolumeOp(ref DoubleBox volume) { return new ReadVolumeOp(this, ref volume); }
- public IOperation ReadStableVolumeOp(ref DoubleBox volume, double sdev) { return new ReadStableVolumeOp(this, ref volume, sdev); }
- public IOperation ManualReadVolumeOp(ref DoubleBox volume) { return null; }
public IOperation ReadTempOp(ref DoubleBox temperature) { return new ReadTempOp(this, ref temperature); }
public IOperation ReadTempOp(ref DoubleBox temperature, Event eventDone) { return new ReadTempOp(this, ref temperature, eventDone); }
@@ -109,15 +103,23 @@ namespace TBF.BenchControl.Modbus.UltrasoundLevelMeter
if (telegram.Length == 15 && telegram[1] == 3 && telegram[2] == 10)
{
- distance = (double)(256 * telegram[3] + telegram[4]);
- level = (double)(256 * telegram[5] + telegram[6]);
- percentage = (double)(256 * telegram[7] + telegram[8]);
- temperature = (double)256 * telegram[9] + telegram[10];
- state = (ushort)(256 * telegram[11] + telegram[12]);
- volume = 0; /// TODO
+ double _distance = (double)(256 * telegram[3] + telegram[4]); /// [mm]
+ double _level = (double)(256 * telegram[5] + telegram[6]); /// [mm]
+ double _percentage = (double)(256 * telegram[7] + telegram[8]); /// [%]
+ double _temperature = (double)(256 * telegram[9] + telegram[10]); /// [°C]
+ ushort _state = (ushort)(256 * telegram[11] + telegram[12]);
+
+ string line = string.Format("dist={0} mm level={1} mm, %={2} %, temp={3} °C, state={4}",
+ _distance, _level, _percentage, _temperature, _state);
+ if (_distance > 0)
+ {
+ distance = _distance;
+ level = _level;
+ percentage = _percentage;
+ temperature = _temperature;
+ state = _state;
+ }
- string line = string.Format("dist={0} mm level={1} mm, %={2} %, temp={3} °C, volume={4} l, state={5}",
- distance, level, percentage, temperature, volume, state);
log.Debug(line);
Debug.WriteLine(line);
}
diff --git a/TBF/BenchControl/Modbus/UltrasoundLevelMeter/ReadStableVolumeOp.cs b/TBF/BenchControl/Modbus/UltrasoundLevelMeter/ReadStableVolumeOp.cs
deleted file mode 100644
index 30c0c4835..000000000
--- a/TBF/BenchControl/Modbus/UltrasoundLevelMeter/ReadStableVolumeOp.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-///
-/// Copyright (c) 2018 Sensus Slovensko a.s.
-///
-using System;
-using log4net;
-using TBF.Boxes;
-
-namespace TBF.BenchControl.Modbus.UltrasoundLevelMeter
-{
- public class ReadStableVolumeOp : IOperation
- {
- private static readonly ILog log = LogManager.GetLogger(typeof(ReadVolumeOp));
- public override string ToString() { return string.Format("ReadVolumeOp(.,.)"); }
-
- /// Set by the constructor
- readonly LevelMeter levelMeter;
- readonly DoubleBox volume;
- readonly double sdev;
-
- ///
- /// Events: VolumeDone or Error
- ///
- /// Water volume meter reference
- /// Reference to the measured volume variable, value is in l
- /// Event to be returned by Run() when completed OK
- public ReadStableVolumeOp(LevelMeter levelMeter, ref DoubleBox volume, double sdev)
- {
- if (levelMeter == null) throw new ArgumentNullException("levelMeter");
- this.levelMeter = levelMeter;
- this.volume = volume;
- this.sdev = sdev;
-
- log.Debug(this.ToString());
- }
-
-
- /// Start this operation
- public void Start()
- {
- volume.Val = levelMeter.ReadVolume();
- }
-
- /// Run this operation
- ///
- /// Event.VolumeDone
- ///
- public Event Run()
- {
- volume.Val = levelMeter.ReadVolume();
- return Event.VolumeDone;
- }
-
- /// Stop this operation
- public void Stop()
- {
- }
- }
-}
diff --git a/TBF/BenchControl/Modbus/UltrasoundLevelMeter/ReadVolumeOp.cs b/TBF/BenchControl/Modbus/UltrasoundLevelMeter/ReadVolumeOp.cs
deleted file mode 100644
index 616bddc8e..000000000
--- a/TBF/BenchControl/Modbus/UltrasoundLevelMeter/ReadVolumeOp.cs
+++ /dev/null
@@ -1,58 +0,0 @@
-///
-/// Copyright (c) 2018 Sensus Slovensko a.s.
-///
-using System;
-using log4net;
-using TBF.Boxes;
-
-namespace TBF.BenchControl.Modbus.UltrasoundLevelMeter
-{
- public class ReadVolumeOp : IOperation
- {
- private static readonly ILog log = LogManager.GetLogger(typeof(ReadVolumeOp));
- public override string ToString() { return string.Format("ReadVolumeOp(.,.)"); }
-
- /// Set by the constructor
- readonly LevelMeter levelMeter;
-
- /// Measured value
- DoubleBox volume;
-
- ///
- /// Events: VolumeDone or Error
- ///
- /// Water volume meter reference
- /// Reference to the measured volume variable, value is in l
- /// Event to be returned by Run() when completed OK
- public ReadVolumeOp(LevelMeter levelMeter, ref DoubleBox volume)
- {
- if (levelMeter == null) throw new ArgumentNullException("levelMeter");
- this.levelMeter = levelMeter;
- this.volume = volume;
-
- log.Debug(this.ToString());
- }
-
-
- /// Start this operation
- public void Start()
- {
- volume.Val = levelMeter.ReadVolume();
- }
-
- /// Run this operation
- ///
- /// Event.VolumeDone
- ///
- public Event Run()
- {
- volume.Val = levelMeter.ReadVolume();
- return Event.VolumeDone;
- }
-
- /// Stop this operation
- public void Stop()
- {
- }
- }
-}
diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs
index fbf46e208..03cdeaa4a 100644
--- a/TBF/Properties/AssemblyInfo.cs
+++ b/TBF/Properties/AssemblyInfo.cs
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
-[assembly: AssemblyVersion("2.18.1077.0")]
-[assembly: AssemblyFileVersion("2.18.1077.0")]
+[assembly: AssemblyVersion("2.18.1078.0")]
+[assembly: AssemblyFileVersion("2.18.1078.0")]
diff --git a/TBF/TBF.csproj b/TBF/TBF.csproj
index b543ec705..956b3943a 100644
--- a/TBF/TBF.csproj
+++ b/TBF/TBF.csproj
@@ -669,9 +669,7 @@
-
-