(1) Dummy.Flowmeter displays flow measured by a scale, (2) OoR values are orange.
This commit is contained in:
@@ -1,15 +1,16 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
/// Copyright (c) 2017-2021 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using log4net;
|
||||
using SchematicDrawing;
|
||||
using TBF.Boxes;
|
||||
using TBF.Rig.Sequences;
|
||||
|
||||
namespace TBF.Rig.Dummy.FlowMeter
|
||||
{
|
||||
public class FlowMeter : ComponentBase, GenericDevices.IFlowMeter, IDrawingItCmpnt
|
||||
public class FlowMeter : ComponentBase, GenericDevices.IFlowMeter, IDrawingItCmpntWithMeasuredVal
|
||||
{
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(FlowMeter));
|
||||
public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); }
|
||||
@@ -27,9 +28,16 @@ namespace TBF.Rig.Dummy.FlowMeter
|
||||
|
||||
public int Idx1 { get { return 1; } }
|
||||
|
||||
public bool MsrmntAvailable { get { return true; } }
|
||||
public double MeasuredVal { get { return 1.234; } }
|
||||
public string AltString { get { return "dummy"; } }
|
||||
public bool MsrmntAvailable { get { return ProcessData.Devices != null && ProcessData.Devices.FlowMeter == this && ReadFlow() > 0; } }
|
||||
public string AltString { get { return string.Empty; } }
|
||||
public double MeasuredVal
|
||||
{
|
||||
get { return (ProcessData.Devices != null && ProcessData.Devices.FlowMeter == this) ? ReadFlow() : 0; }
|
||||
set { }
|
||||
}
|
||||
|
||||
public double MsrdValLimLo { get { return flowMeterCfg.MsrdValLimLo; } set { flowMeterCfg.MsrdValLimLo = value; } }
|
||||
public double MsrdValLimHi { get { return flowMeterCfg.MsrdValLimHi; } set { flowMeterCfg.MsrdValLimHi = value; } }
|
||||
|
||||
|
||||
public FlowMeter() { }
|
||||
@@ -44,8 +52,8 @@ namespace TBF.Rig.Dummy.FlowMeter
|
||||
public override void Initialize() { }
|
||||
|
||||
|
||||
public double ReadFlow() { return 1.23; }
|
||||
public double ReadFrequency() { return 1.23 * 2000.0 / (double)NominalFlow; }
|
||||
public double ReadFlow() { return ProcessData.FlowFromMassIncrease; }
|
||||
public double ReadFrequency() { return ProcessData.FlowFromMassIncrease * 2000.0 / (double)NominalFlow; }
|
||||
|
||||
/// <summary>
|
||||
/// Events: FlowDone, Error
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
/// Copyright (c) 2017-2021 Sensus Slovensko a.s.
|
||||
///
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
@@ -8,7 +8,7 @@ using TBF.Rig.Generic;
|
||||
|
||||
namespace TBF.Rig.Dummy.FlowMeter
|
||||
{
|
||||
public class FlowMeterCfg : ComponentCfgBase, IComponentCfg, IDrawingItem
|
||||
public class FlowMeterCfg : ComponentCfgBase, IComponentCfg, IDrawingItemWithMeasuredVal
|
||||
{
|
||||
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(FlowMeterCfg) })[0];
|
||||
public override XmlSerializer GetSerializer() { return Serializer; }
|
||||
@@ -30,8 +30,21 @@ namespace TBF.Rig.Dummy.FlowMeter
|
||||
public int LblY { get; set; }
|
||||
public Orient LblOrient { get; set; }
|
||||
|
||||
public int MsrdX { get; set; }
|
||||
public int MsrdY { get; set; }
|
||||
public Orient MsrdOrient { get; set; }
|
||||
public string MsrdFormat { get; set; }
|
||||
public Config.Unit MsrdUnit { get; set; }
|
||||
|
||||
[XmlIgnore]
|
||||
public IList<GNode> GNodes { get; set; }
|
||||
[XmlIgnore]
|
||||
public double MsrdValLimLo { get { return msrdValLimLo; } set { msrdValLimLo = value; } }
|
||||
[XmlIgnore]
|
||||
public double MsrdValLimHi { get { return msrdValLimHi; } set { msrdValLimHi = value; } }
|
||||
|
||||
double msrdValLimLo;
|
||||
double msrdValLimHi;
|
||||
|
||||
/// Private parameterless constructor invoked by all other (public) constructors
|
||||
FlowMeterCfg()
|
||||
@@ -44,14 +57,14 @@ namespace TBF.Rig.Dummy.FlowMeter
|
||||
{
|
||||
Shape = Shape.FlowM;
|
||||
Sz = Sz.M;
|
||||
MsrdFormat = "{0:F4}";
|
||||
MsrdUnit = Config.Unit.m3ph;
|
||||
|
||||
Name = name;
|
||||
Factory = factory;
|
||||
NominalFlow = 1.0f;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public string ToString(int i)
|
||||
{
|
||||
return string.Format("{0} {1}[{2},{3}] NominalFlow={4}", Name, Shape, X, Y, NominalFlow);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
/// Copyright (c) 2017-2021 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using log4net;
|
||||
@@ -41,7 +41,8 @@ namespace TBF.Rig.Dummy.FlowMeter
|
||||
/// <summary>Start this operation</summary>
|
||||
public void Start()
|
||||
{
|
||||
}
|
||||
if (flowBox != null) flowBox.Val = flowMeter.ReadFlow();
|
||||
}
|
||||
|
||||
/// <summary>Run this operation</summary>
|
||||
/// <returns>
|
||||
@@ -54,8 +55,6 @@ namespace TBF.Rig.Dummy.FlowMeter
|
||||
}
|
||||
|
||||
/// <summary>Stop this operation</summary>
|
||||
public void Stop()
|
||||
{
|
||||
}
|
||||
public void Stop() { }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user