From e3bb64ef0f8b8cddbe523f15fbccb9dc6889689e Mon Sep 17 00:00:00 2001 From: Milan Hanajik Date: Fri, 29 Apr 2022 13:50:48 +0200 Subject: [PATCH] Scale display bug fix when units are g, Parallel flowmeter initialization, ReadFlow() fix and logging, ver. 3.1.1898 --- SchematicDrawing/SchematicDrawingCtrl.cs | 3 +- TBF/Properties/AssemblyInfo.cs | 4 +-- TBF/Rig/Uni/FlowMeter/FlowMeterCfg.cs | 2 +- TBF/Rig/Uni/FlowMetersInParallel/FlowMeter.cs | 32 ++++++++++--------- .../Uni/FlowMetersInParallel/FlowMeterCfg.cs | 2 +- 5 files changed, 23 insertions(+), 20 deletions(-) diff --git a/SchematicDrawing/SchematicDrawingCtrl.cs b/SchematicDrawing/SchematicDrawingCtrl.cs index d907e15fb..f21cf4f59 100644 --- a/SchematicDrawing/SchematicDrawingCtrl.cs +++ b/SchematicDrawing/SchematicDrawingCtrl.cs @@ -663,7 +663,8 @@ namespace SchematicDrawing if (dshape.Shape == Shape.Scale) { Rectangle r = dshape.GetRotatedFlippedImageRectangle(item); - int level = (int)Math.Round((r.Height - 2) * Math.Max(0, Math.Min(msrdVal, itm.MsrdValLimHi)) / itm.MsrdValLimHi); + int level = (int)Math.Round((r.Height - 2) + * Math.Max(0, Math.Min(measuredValues[msrdValIx], itm.MsrdValLimHi)) / itm.MsrdValLimHi); e.Graphics.FillRectangle(brushWater, r.X + 2, r.Y + r.Height - 2 - level, r.Width - 4, level); } diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs index 04fdb60b0..ddabd33ea 100644 --- a/TBF/Properties/AssemblyInfo.cs +++ b/TBF/Properties/AssemblyInfo.cs @@ -29,5 +29,5 @@ using System.Runtime.InteropServices; // Build Number // Revision // -[assembly: AssemblyVersion("3.1.1896.0")] -[assembly: AssemblyFileVersion("3.1.1896.0")] +[assembly: AssemblyVersion("3.1.1898.0")] +[assembly: AssemblyFileVersion("3.1.1898.0")] diff --git a/TBF/Rig/Uni/FlowMeter/FlowMeterCfg.cs b/TBF/Rig/Uni/FlowMeter/FlowMeterCfg.cs index 6f9671715..6f7b0c28c 100644 --- a/TBF/Rig/Uni/FlowMeter/FlowMeterCfg.cs +++ b/TBF/Rig/Uni/FlowMeter/FlowMeterCfg.cs @@ -292,7 +292,7 @@ namespace TBF.Rig.Uni.FlowMeter NominalFlow = 1; NominalFreq = 2000; - MsrdFormat = "{0:F3} m2/h"; + MsrdFormat = "{0:F3} m3/h"; MsrdUnit = Unit.m3ph; MsrdValLimLo = 0; MsrdValLimHi = NominalFlow; diff --git a/TBF/Rig/Uni/FlowMetersInParallel/FlowMeter.cs b/TBF/Rig/Uni/FlowMetersInParallel/FlowMeter.cs index b3ac10eaa..00f8bd8f9 100644 --- a/TBF/Rig/Uni/FlowMetersInParallel/FlowMeter.cs +++ b/TBF/Rig/Uni/FlowMetersInParallel/FlowMeter.cs @@ -1,5 +1,5 @@ /// -/// Copyright (c) 2021 Sensus Slovensko a.s. +/// Copyright (c) 2021-2022 Sensus Slovensko a.s. /// using System; using System.Collections.Generic; @@ -17,10 +17,11 @@ namespace TBF.Rig.Uni.FlowMetersInParallel public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); } readonly FlowMeterCfg flowMeterCfg; - readonly UniCB uniCB; - readonly IFlowMeter flowMeter1; - readonly IFlowMeter flowMeter2; - readonly IFlowMeter flowMeter3; + + UniCB uniCB; + IFlowMeter flowMeter1; + IFlowMeter flowMeter2; + IFlowMeter flowMeter3; double nominalFlow; double nominalFreq; double ltrPerPulse; @@ -122,19 +123,17 @@ namespace TBF.Rig.Uni.FlowMetersInParallel : base(cfg) { flowMeterCfg = cfg as FlowMeterCfg; - - uniCB = TbfComponents.FindComponent(cfg.ParentName, components) as UniCB; - if (uniCB == null) throw new Exception("Cannot find " + Name + " parent"); - - if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter1)) flowMeter1 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter1, components) as IFlowMeter; - if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter2)) flowMeter2 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter2, components) as IFlowMeter; - if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter3)) flowMeter3 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter3, components) as IFlowMeter; - - log.Warn(this.ToString()); } public override void Initialize() { + uniCB = TbfComponents.FindComponent(flowMeterCfg.ParentName) as UniCB; + if (uniCB == null) throw new Exception("Cannot find " + Name + " parent"); + + if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter1)) flowMeter1 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter1) as IFlowMeter; + if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter2)) flowMeter2 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter2) as IFlowMeter; + if (!string.IsNullOrEmpty(flowMeterCfg.Flowmeter3)) flowMeter3 = TbfComponents.FindComponent(flowMeterCfg.Flowmeter3) as IFlowMeter; + nominalFlow = 0; flowMetersCount = 0; flowMetersBitfield = 0; @@ -168,11 +167,14 @@ namespace TBF.Rig.Uni.FlowMetersInParallel refFreq = new double[4]; refPulses = new int[4]; + + log.FatalFormat("{0} initialized: {1} nom.flow={2} m3/h nom.freq={3} Hz bitfield=0x{4:X2}", + Name, this, nominalFlow, nominalFreq, flowMetersBitfield); } public double ReadFlow() { - return nominalFlow * ReadFrequency() / (3.6 * nominalFreq); + return ReadFrequency() * nominalFlow / nominalFreq; } public double ReadFrequency() diff --git a/TBF/Rig/Uni/FlowMetersInParallel/FlowMeterCfg.cs b/TBF/Rig/Uni/FlowMetersInParallel/FlowMeterCfg.cs index 5462933d7..b87146b2c 100644 --- a/TBF/Rig/Uni/FlowMetersInParallel/FlowMeterCfg.cs +++ b/TBF/Rig/Uni/FlowMetersInParallel/FlowMeterCfg.cs @@ -83,7 +83,7 @@ namespace TBF.Rig.Uni.FlowMetersInParallel Flowmeter1 = "I11"; Flowmeter2 = "I12"; Flowmeter3 = string.Empty; - MsrdFormat = "{0:F3} m2/h"; + MsrdFormat = "{0:F3} m3/h"; MsrdUnit = Unit.m3ph; }